Mercurial > emacs
diff src/buffer.c @ 53350:89a24e997838
(Fother_buffer): Don't crash if BUF is nil
or if its name is nil.
(Fkill_buffer): Don't delete auto-save file
if it's the same as the visited file.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sun, 28 Dec 2003 22:16:57 +0000 |
parents | efa9d19d170e |
children | 4c14b3c50a31 b2b37c85b00a |
line wrap: on
line diff
--- a/src/buffer.c Sun Dec 28 19:54:24 2003 +0000 +++ b/src/buffer.c Sun Dec 28 22:16:57 2003 +0000 @@ -89,10 +89,6 @@ If a slot is -2, then there is no DEFVAR_PER_BUFFER for it, but there is a default value which is copied into each buffer. - If a slot in this structure is negative, then even though there may - be a DEFVAR_PER_BUFFER for the slot, there is no default value for it; - and the corresponding slot in buffer_defaults is not used. - If a slot in this structure corresponding to a DEFVAR_PER_BUFFER is zero, that is a bug */ @@ -1202,6 +1198,10 @@ buf = Fcdr (XCAR (tail)); if (EQ (buf, buffer)) continue; + if (NILP (buf)) + continue; + if (NILP (XBUFFER (buf)->name)) + continue; if (SREF (XBUFFER (buf)->name, 0) == ' ') continue; /* If the selected frame has a buffer_predicate, @@ -1429,7 +1429,8 @@ if (STRINGP (b->auto_save_file_name) && b->auto_save_modified != 0 && BUF_SAVE_MODIFF (b) < b->auto_save_modified - && BUF_SAVE_MODIFF (b) < BUF_MODIFF (b)) + && BUF_SAVE_MODIFF (b) < BUF_MODIFF (b) + && NILP (Fsymbol_value (intern ("auto-save-visited-file-name")))) { Lisp_Object tem; tem = Fsymbol_value (intern ("delete-auto-save-files"));