From: Richard M. Stallman Date: Sat, 27 Apr 2002 23:16:18 +0000 (+0000) Subject: (next-buffer, prev-buffer): New commands. X-Git-Tag: ttn-vms-21-2-B4~15362 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=f54b0d85a84e185abefb4109266de21b4f050517;p=emacs.git (next-buffer, prev-buffer): New commands. Bind C-x left and C-x right to them. --- diff --git a/lisp/simple.el b/lisp/simple.el index 1b5e866645a..09acf9b86ff 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -41,6 +41,27 @@ "Highlight (un)matching of parens and expressions." :group 'matching) +(define-key global-map [?\C-x right] 'next-buffer) +(define-key global-map [?\C-x left] 'prev-buffer) +(defun next-buffer () + "Switch to the next buffer in cyclic order." + (interactive) + (let ((buffer (current-buffer))) + (switch-to-buffer (other-buffer buffer)) + (bury-buffer buffer))) + +(defun prev-buffer () + "Switch to the previous buffer in cyclic order." + (interactive) + (let ((list (nreverse (buffer-list))) + found) + (while (and (not found) list) + (let ((buffer (car list))) + (if (and (not (get-buffer-window buffer)) + (not (string-match "\\` " (buffer-name buffer)))) + (setq found buffer))) + (setq list (cdr list))) + (switch-to-buffer found))) (defun fundamental-mode () "Major mode not specialized for anything in particular. @@ -3974,7 +3995,7 @@ PREFIX is the string that represents this modifier in an event type symbol." (kp-decimal ?.) (kp-divide ?/) (kp-equal ?=))) - + ;;;; ;;;; forking a twin copy of a buffer. ;;;; @@ -4124,8 +4145,7 @@ the front of the list of recently selected ones." (clone-indirect-buffer nil t norecord))) (define-key ctl-x-4-map "c" 'clone-indirect-buffer-other-window) - - + ;;; Handling of Backspace and Delete keys. (defcustom normal-erase-is-backspace nil