GNU Info

Info Node: (elisp)Reading from Files

(elisp)Reading from Files


Next: Writing to Files Prev: Saving Buffers Up: Files
Enter node , (file) or (file)node

Reading from Files
==================

   You can copy a file from the disk and insert it into a buffer using
the `insert-file-contents' function.  Don't use the user-level command
`insert-file' in a Lisp program, as that sets the mark.

 - Function: insert-file-contents filename &optional visit beg end
          replace
     This function inserts the contents of file FILENAME into the
     current buffer after point.  It returns a list of the absolute
     file name and the length of the data inserted.  An error is
     signaled if FILENAME is not the name of a file that can be read.

     The function `insert-file-contents' checks the file contents
     against the defined file formats, and converts the file contents if
     appropriate.  Note: Format Conversion.  It also calls the
     functions in the list `after-insert-file-functions'; see Note:
     Saving Properties.  Normally, one of the functions in the
     `after-insert-file-functions' list determines the coding system
     (Note: Coding Systems) used for decoding the file's contents.

     If VISIT is non-`nil', this function additionally marks the buffer
     as unmodified and sets up various fields in the buffer so that it
     is visiting the file FILENAME: these include the buffer's visited
     file name and its last save file modtime.  This feature is used by
     `find-file-noselect' and you probably should not use it yourself.

     If BEG and END are non-`nil', they should be integers specifying
     the portion of the file to insert.  In this case, VISIT must be
     `nil'.  For example,

          (insert-file-contents filename nil 0 500)

     inserts the first 500 characters of a file.

     If the argument REPLACE is non-`nil', it means to replace the
     contents of the buffer (actually, just the accessible portion)
     with the contents of the file.  This is better than simply
     deleting the buffer contents and inserting the whole file, because
     (1) it preserves some marker positions and (2) it puts less data
     in the undo list.

     It is possible to read a special file (such as a FIFO or an I/O
     device) with `insert-file-contents', as long as REPLACE and VISIT
     are `nil'.

 - Function: insert-file-contents-literally filename &optional visit
          beg end replace
     This function works like `insert-file-contents' except that it does
     not do format decoding (Note: Format Conversion), does not do
     character code conversion (Note: Coding Systems), does not run
     `find-file-hooks', does not perform automatic uncompression, and so
     on.

   If you want to pass a file name to another process so that another
program can read the file, use the function `file-local-copy'; see
Note: Magic File Names.


automatically generated by info2www version 1.2.2.9