Previous: Visiting Functions, Up: Visiting Files
The find-file-noselect
function uses two important subroutines
which are sometimes useful in user Lisp code: create-file-buffer
and after-find-file
. This section explains how to use them.
This function creates a suitably named buffer for visiting filename, and returns it. It uses filename (sans directory) as the name if that name is free; otherwise, it appends a string such as ‘<2>’ to get an unused name. See also Creating Buffers. Note that the uniquify library affects the result of this function. See Uniquify.
Please note:
create-file-buffer
does not associate the new buffer with a file and does not select the buffer. It also does not use the default major mode.(create-file-buffer "foo") ⇒ #<buffer foo> (create-file-buffer "foo") ⇒ #<buffer foo<2>> (create-file-buffer "foo") ⇒ #<buffer foo<3>>This function is used by
find-file-noselect
. It usesgenerate-new-buffer
(see Creating Buffers).
This function sets the buffer major mode, and parses local variables (see Auto Major Mode). It is called by
find-file-noselect
and by the default revert function (see Reverting).If reading the file got an error because the file does not exist, but its directory does exist, the caller should pass a non-
nil
value for error. In that case,after-find-file
issues a warning: ‘(New file)’. For more serious errors, the caller should usually not callafter-find-file
.If warn is non-
nil
, then this function issues a warning if an auto-save file exists and is more recent than the visited file.If noauto is non-
nil
, that says not to enable or disable Auto-Save mode. The mode remains enabled if it was enabled before.If after-find-file-from-revert-buffer is non-
nil
, that means this call was fromrevert-buffer
. This has no direct effect, but some mode functions and hook functions check the value of this variable.If nomodes is non-
nil
, that means don't alter the buffer's major mode, don't process local variables specifications in the file, and don't runfind-file-hook
. This feature is used byrevert-buffer
in some cases.The last thing
after-find-file
does is call all the functions in the listfind-file-hook
.