emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/bindings.el


From: Richard M. Stallman
Subject: [Emacs-diffs] Changes to emacs/lisp/bindings.el
Date: Thu, 18 Jul 2002 10:58:53 -0400

Index: emacs/lisp/bindings.el
diff -c emacs/lisp/bindings.el:1.101 emacs/lisp/bindings.el:1.102
*** emacs/lisp/bindings.el:1.101        Sat Jul  6 05:42:31 2002
--- emacs/lisp/bindings.el      Thu Jul 18 10:58:53 2002
***************
*** 275,284 ****
  
  (defun last-buffer () "\
  Return the last non-hidden buffer in the buffer list."
!   (let ((list (reverse (buffer-list))))
!     (while (eq (aref (buffer-name (car list)) 0) ? )
!       (setq list (cdr list)))
!     (car list)))
  
  (defun unbury-buffer () "\
  Switch to the last buffer in the buffer list."
--- 275,300 ----
  
  (defun last-buffer () "\
  Return the last non-hidden buffer in the buffer list."
!   ;; This logic is more or less copied from bury-buffer,
!   ;; except that we reverse the buffer list.
!   (let ((fbl  (frame-parameter 'buffer-list))
!       (list (buffer-list))
!       (pred (frame-parameter nil 'buffer-predicate))
!       found notsogood)
!     ;; Merge the frame buffer list with the whole buffer list,
!     ;; and reverse it.
!     (dolist (buffer fbl)
!       (setq list (delq buffer list)))
!     (setq list (nreverse (append fbl list)))
!     (while (not found)
!       (unless (or (eq (aref (buffer-name (car list)) 0) ? )
!                 ;; If the selected frame has a buffer_predicate,
!                 ;; disregard buffers that don't fit the predicate.
!                 (and pred (not (funcall pred (car list)))))
!       (if (get-buffer-window (car list) 'visible)
!           (unless notsogood (setq notsogood (car list)))
!         (setq found (car list)))))
!     (or found notsogood)))
  
  (defun unbury-buffer () "\
  Switch to the last buffer in the buffer list."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]