[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
Killing a buffer makes its name unknown to Emacs and makes the memory space it occupied available for other use.
The buffer object for the buffer that has been killed remains in existence
as long as anything refers to it, but it is specially marked so that you
cannot make it current or display it. Killed buffers retain their identity,
however; if you kill two distinct buffers, they remain distinct according to
eq
although both are dead.
If you kill a buffer that is current or displayed in a window, Emacs automatically selects or displays some other buffer instead. This means that killing a buffer can in general change the current buffer. Therefore, when you kill a buffer, you should also take the precautions associated with changing the current buffer (unless you happen to know that the buffer being killed isn't current). Voir la section The Current Buffer.
If you kill a buffer that is the base buffer of one or more indirect buffers, the indirect buffers are automatically killed as well.
The buffer-name
of a killed buffer is nil
. You can use this
feature to test whether a buffer has been killed:
(defun buffer-killed-p (buffer) "Return t if BUFFER is killed." (not (buffer-name buffer))) |
This function kills the buffer buffer-or-name, freeing all its memory
for other uses or to be returned to the operating system. If
buffer-or-name is nil
, it kills the current buffer.
Any processes that have this buffer as the process-buffer
are sent
the SIGHUP
signal, which normally causes them to terminate. (The
basic meaning of SIGHUP
is that a dialup line has been disconnected.)
Voir la section Sending Signals to Processes.
If the buffer is visiting a file and contains unsaved changes,
kill-buffer
asks the user to confirm before the buffer is killed. It
does this even if not called interactively. To prevent the request for
confirmation, clear the modified flag before calling kill-buffer
.
Voir la section Buffer Modification.
Killing a buffer that is already dead has no effect.
This function returns t
if it actually killed the buffer. It returns
nil
if the user refuses to confirm or if buffer-or-name was
already dead.
(kill-buffer "foo.unchanged") ⇒ t (kill-buffer "foo.changed") ---------- Buffer: Minibuffer ---------- Buffer foo.changed modified; kill anyway? (yes or no) yes ---------- Buffer: Minibuffer ---------- ⇒ t |
After confirming unsaved changes, kill-buffer
calls the functions in
the list kill-buffer-query-functions
, in order of appearance, with no
arguments. The buffer being killed is the current buffer when they are
called. The idea of this feature is that these functions will ask for
confirmation from the user. If any of them returns nil
,
kill-buffer
spares the buffer's life.
This is a normal hook run by kill-buffer
after asking all the
questions it is going to ask, just before actually killing the buffer. The
buffer to be killed is current when the hook functions run. Voir la section Hooks.
This variable is a permanent local, so its local binding is not cleared by
changing major modes.
This variable, if non-nil
in a particular buffer, tells
save-buffers-kill-emacs
and save-some-buffers
(if the second
optional argument to that function is t
) to offer to save that
buffer, just as they offer to save file-visiting buffers. Voir Definition of save-some-buffers. The variable buffer-offer-save
automatically
becomes buffer-local when set for any reason. Voir la section Buffer-Local Variables.
This variable, if non-nil
in a particular buffer, tells
save-buffers-kill-emacs
and save-some-buffers
to save this
buffer (if it's modified) without asking the user. The variable
automatically becomes buffer-local when set for any reason.
This function returns t
if object is a buffer which has not
been killed, nil
otherwise.
[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
Ce document a été généré par Eric Reinbold le 13 Octobre 2007 en utilisant texi2html 1.78.