[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [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.
This function appends the contents of the region delimited by start
and end in the current buffer to the end of file filename. If
that file does not exist, it is created. This function returns nil
.
An error is signaled if filename specifies a nonwritable file, or a nonexistent file in a directory where files cannot be created.
When called from Lisp, this function is completely equivalent to:
(write-region start end filename t) |
This function writes the region delimited by start and end in the current buffer into the file specified by filename.
If start is nil
, then the command writes the entire buffer
contents (not just the accessible portion) to the file and ignores
end.
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). If append is an integer,
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. 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
.
Voir la section File Format Conversion. It also calls the functions in the list
write-region-annotate-functions
; see 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.
The 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 (voir la section Nonlocal Exits).
See also with-temp-buffer
in The Current Buffer.
[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
Ce document a été généré par Eric Reinbold le 13 Octobre 2007 en utilisant texi2html 1.78.