Mercurial > emacs
changeset 100803:0186716f4b63
(last-buffer): Don't set major mode of *scratch* if
that buffer exists already. Rewrite doc-string.
author | Martin Rudalics <rudalics@gmx.at> |
---|---|
date | Wed, 31 Dec 2008 15:44:25 +0000 |
parents | ded357c75f85 |
children | 007ec92e4924 |
files | lisp/ChangeLog lisp/simple.el |
diffstat | 2 files changed, 16 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Wed Dec 31 14:59:37 2008 +0000 +++ b/lisp/ChangeLog Wed Dec 31 15:44:25 2008 +0000 @@ -1,3 +1,8 @@ +2008-12-31 Martin Rudalics <rudalics@gmx.at> + + * simple.el (last-buffer): Don't set major mode of *scratch* if + that buffer exists already. Rewrite doc-string. + 2008-12-31 Andreas Schwab <schwab@suse.de> * tar-mode.el (tar-mode): Set write-contents-functions instead of
--- a/lisp/simple.el Wed Dec 31 14:59:37 2008 +0000 +++ b/lisp/simple.el Wed Dec 31 15:44:25 2008 +0000 @@ -78,19 +78,22 @@ (car list))) (defun last-buffer (&optional buffer visible-ok frame) - "Return the last non-hidden displayable buffer in the buffer list. -If BUFFER is non-nil, last-buffer will ignore that buffer. + "Return the last buffer in FRAME's buffer list. +If BUFFER is the last buffer, return the preceding buffer instead. Buffers not visible in windows are preferred to visible buffers, unless optional argument VISIBLE-OK is non-nil. -If the optional third argument FRAME is non-nil, use that frame's -buffer list instead of the selected frame's buffer list. -If no other buffer exists, the buffer `*scratch*' is returned." +Optional third argument FRAME nil or omitted means use the +selected frame's buffer list. +If no such buffer exists, return the buffer `*scratch*', creating +it if necessary." (setq frame (or frame (selected-frame))) (or (get-next-valid-buffer (nreverse (buffer-list frame)) buffer visible-ok frame) - (progn - (set-buffer-major-mode (get-buffer-create "*scratch*")) - (get-buffer "*scratch*")))) + (get-buffer "*scratch*") + (let ((scratch (get-buffer-create "*scratch*"))) + (set-buffer-major-mode scratch) + scratch))) + (defun next-buffer () "Switch to the next buffer in cyclic order." (interactive)