changeset 13872:e79f2b570509

(mouse-menu-buffer-maxlen): New variable. (mouse-buffer-menu): Use it.
author Richard M. Stallman <rms@gnu.org>
date Tue, 26 Dec 1995 19:43:51 +0000
parents 4b5161e903c1
children 47fd98cc412a
files lisp/mouse.el
diffstat 1 files changed, 10 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/mouse.el	Tue Dec 26 19:11:18 1995 +0000
+++ b/lisp/mouse.el	Tue Dec 26 19:43:51 1995 +0000
@@ -1152,6 +1152,11 @@
 			    (overlay-start mouse-secondary-overlay)
 			    (overlay-end mouse-secondary-overlay)))))))
 
+(defvar mouse-menu-buffer-maxlen 20
+  "*Number of buffers in one pane (submenu) of the buffer menu.
+If we have lots of buffers, divide them into groups of
+`mouse-menu-buffer-maxlen' and make a pane (or submenu) for each one.")
+
 (defun mouse-buffer-menu (event)
   "Pop up a menu of buffers for selection with the mouse.
 This switches buffers in the window that you clicked on,
@@ -1198,15 +1203,16 @@
 	 (menu
 	  ;; If we have lots of buffers, divide them into groups of 20
 	  ;; and make a pane (or submenu) for each one.
-	  (if (> (length buffers) 30)
+	  (if (> (length buffers) (/ (* mouse-menu-buffer-maxlen 3) 2))
 	      (let ((buffers (reverse buffers)) sublists next
 		    (i 1))
 		(while buffers
-		  ;; Pull off the next 20 buffers
+		  ;; Pull off the next mouse-menu-buffer-maxlen buffers
 		  ;; and make them the next element of sublist.
-		  (setq next (nthcdr 20 buffers))
+		  (setq next (nthcdr mouse-menu-buffer-maxlen buffers))
 		  (if next
-		      (setcdr (nthcdr 19 buffers) nil))
+		      (setcdr (nthcdr (1- mouse-menu-buffer-maxlen) buffers)
+			      nil))
 		  (setq sublists (cons (cons (format "Buffers %d" i) buffers)
 				       sublists))
 		  (setq i (1+ i))