summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2011-02-18 12:23:51 +0200
committerEli Zaretskii <eliz@gnu.org>2011-02-18 12:23:51 +0200
commite03b2fd40d5d4fda99e242c8ee9d9ca1c1d258ad (patch)
treed16435816f25c5b596d9ac75cf959ccda1335141 /doc
parent86ec878a6b04348c0931d10d630f07becd8d8c30 (diff)
downloademacs-e03b2fd40d5d4fda99e242c8ee9d9ca1c1d258ad.tar.gz
Document find-file-literally in the ELisp manual.
files.texi (Visiting Functions): Document find-file-literally, both the command and the variable.
Diffstat (limited to 'doc')
-rw-r--r--doc/lispref/ChangeLog3
-rw-r--r--doc/lispref/files.texi30
2 files changed, 33 insertions, 0 deletions
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 1d95eaf678c..8673ed51907 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,5 +1,8 @@
2011-02-18 Eli Zaretskii <eliz@gnu.org>
+ * files.texi (Visiting Functions): Document find-file-literally,
+ both the command and the variable.
+
* variables.texi (Creating Buffer-Local): Explain the meaning of
permanent local variables.
diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi
index 1f66da98347..fd9f3bb4648 100644
--- a/doc/lispref/files.texi
+++ b/doc/lispref/files.texi
@@ -114,6 +114,26 @@ When @code{find-file} is called interactively, it prompts for
@var{filename} in the minibuffer.
@end deffn
+@deffn Command find-file-literally filename
+This command visits @var{filename}, like @code{find-file} does, but it
+does not perform any format conversions (@pxref{Format Conversion}),
+character code conversions (@pxref{Coding Systems}), or end-of-line
+conversions (@pxref{Coding System Basics, End of line conversion}).
+The buffer visiting the file is made unibyte, and its major mode is
+Fundamental mode, regardless of the file name. File local variable
+specifications in the file (@pxref{File Local Variables}) are
+ignored, and automatic decompression and adding a newline at the end
+of the file due to @code{require-final-newline} (@pxref{Saving
+Buffers, require-final-newline}) are also disabled.
+
+Note that if Emacs already has a buffer visiting the same file
+non-literally, it will not visit the same file literally, but instead
+just switch to the existing buffer. If you want to be sure of
+accessing a file's contents literally, you should create a temporary
+buffer and then read the file contents into it using
+@code{insert-file-contents-literally} (@pxref{Reading from Files}).
+@end deffn
+
@defun find-file-noselect filename &optional nowarn rawfile wildcards
This function is the guts of all the file-visiting functions. It
returns a buffer visiting the file @var{filename}. You may make the
@@ -225,6 +245,16 @@ This is not a normal hook because the values of the functions are
used, and in many cases only some of the functions are called.
@end defvar
+@defvar find-file-literally
+This buffer-local variable, if set to a non-@code{nil} value, makes
+@code{save-buffer} behave as if the buffer were visiting its file
+literally, i.e. without conversions of any kind. The command
+@code{find-file-literally} sets this variable's local value, but other
+equivalent functions and commands can do that as well, e.g.@: to avoid
+automatic addition of a newline at the end of the file. This variable
+us permanent local, so it is unaffected by changes of major modes.
+@end defvar
+
@node Subroutines of Visiting
@comment node-name, next, previous, up
@subsection Subroutines of Visiting