find-file-noselect function uses two important subroutines
which are sometimes useful in user Lisp code:
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.
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 uses
generate-new-buffer(see Creating Buffers).
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 call
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 from
revert-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 run
find-file-hook. This feature is used by
revert-bufferin some cases.
The last thing
after-find-filedoes is call all the functions in the list