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.
function create-file-buffer filename
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 in The GNU Emacs Manual.
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.
⇒ #<buffer foo>
⇒ #<buffer foo<2>>
⇒ #<buffer foo<3>>
This function is used by
find-file-noselect. It uses
generate-new-buffer (see Creating Buffers).
function after-find-file \&optional error warn noauto after-find-file-from-revert-buffer nomodes
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 call
warn is non-
nil, then this function issues a warning if an auto-save file exists and is more recent than the visited file.
noauto is non-
nil, that says not to enable or disable Auto-Save mode. The mode remains enabled if it was enabled before.
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.
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-buffer in some cases.
The last thing
after-find-file does is call all the functions in the list