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-bufferdoes 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-noselectand 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-
nilvalue for error. In that case,after-find-fileissues 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-bufferin some cases.The last thing
after-find-filedoes is call all the functions in the listfind-file-hook.