[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
You can write the contents of a buffer, or part of a buffer, directly
to a file on disk using the append-to-file
and
write-region
functions. Don't use these functions to write to
files that are being visited; that could cause confusion in the
mechanisms for visiting.
nil
.
An error is signaled if filename specifies a nonwritable file, or a nonexistent file in a directory where files cannot be created.
If start is a string, then write-region
writes or appends
that string, rather than text from the buffer. end is ignored in
this case.
If append is non-nil
, then the specified text is appended
to the existing file contents (if any). Starting in Emacs 21, if
append is an integer, then write-region
seeks to that byte
offset from the start of the file and writes the data from there.
If mustbenew is non-nil
, then write-region
asks
for confirmation if filename names an existing file.
Starting in Emacs 21, if mustbenew is the symbol excl
,
then write-region
does not ask for confirmation, but instead
it signals an error file-already-exists
if the file already
exists.
The test for an existing file, when mustbenew is excl
, uses
a special system feature. At least for files on a local disk, there is
no chance that some other program could create a file of the same name
before Emacs does, without Emacs's noticing.
If visit is t
, then Emacs establishes an association
between the buffer and the file: the buffer is then visiting that file.
It also sets the last file modification time for the current buffer to
filename's modtime, and marks the buffer as not modified. This
feature is used by save-buffer
, but you probably should not use
it yourself.
If visit is a string, it specifies the file name to visit. This
way, you can write the data to one file (filename) while recording
the buffer as visiting another file (visit). The argument
visit is used in the echo area message and also for file locking;
visit is stored in buffer-file-name
. This feature is used
to implement file-precious-flag
; don't use it yourself unless you
really know what you're doing.
The optional argument lockname, if non-nil
, specifies the
file name to use for purposes of locking and unlocking, overriding
filename and visit for that purpose.
The function write-region
converts the data which it writes to
the appropriate file formats specified by buffer-file-format
.
See section 25.12 File Format Conversion. It also calls the functions in the list
write-region-annotate-functions
; see 32.19.7 Saving Text Properties in Files.
Normally, write-region
displays the message `Wrote
filename' in the echo area. If visit is neither t
nor nil
nor a string, then this message is inhibited. This
feature is useful for programs that use files for internal purposes,
files that the user does not need to know about.
with-temp-file
macro evaluates the body forms with a
temporary buffer as the current buffer; then, at the end, it writes the
buffer contents into file file. It kills the temporary buffer
when finished, restoring the buffer that was current before the
with-temp-file
form. Then it returns the value of the last form
in body.
The current buffer is restored even in case of an abnormal exit via
throw
or error (see section 10.5 Nonlocal Exits).
See also with-temp-buffer
in 27.2 The Current Buffer.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |