# HG changeset patch # User Richard M. Stallman # Date 820007031 0 # Node ID e79f2b570509068a8ea2677fb4cc6925c7c1be3a # Parent 4b5161e903c1711e32a32a321b877992b1ad99ef (mouse-menu-buffer-maxlen): New variable. (mouse-buffer-menu): Use it. diff -r 4b5161e903c1 -r e79f2b570509 lisp/mouse.el --- 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))