changeset 44906:fe8ce22fc4a1

(next-buffer, prev-buffer): New commands. Bind C-x left and C-x right to them.
author Richard M. Stallman <rms@gnu.org>
date Sat, 27 Apr 2002 23:16:18 +0000
parents c9d9be47bf80
children 5e84d4496348
files lisp/simple.el
diffstat 1 files changed, 23 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/simple.el	Sat Apr 27 22:34:06 2002 +0000
+++ b/lisp/simple.el	Sat Apr 27 23:16:18 2002 +0000
@@ -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 @@
    (kp-decimal ?.)
    (kp-divide ?/)
    (kp-equal ?=)))
-
+
 ;;;;
 ;;;; forking a twin copy of a buffer.
 ;;;;
@@ -4124,8 +4145,7 @@
     (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