aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2001-08-28 06:35:00 +0000
committerEli Zaretskii2001-08-28 06:35:00 +0000
commit4b4ea1dce736d58c0c671847bdb278668e8e393a (patch)
tree8cbef5c6ac72f617ecef469a563763aaae1eaa73
parent35cd943848ba657a6c9cf1252033c9a292fef6ad (diff)
downloademacs-4b4ea1dce736d58c0c671847bdb278668e8e393a.tar.gz
emacs-4b4ea1dce736d58c0c671847bdb278668e8e393a.zip
(mouse-buffer-menu): If the buffer menu is split by
major modes, don't create panes for modes for which mouse-buffer-menu-alist returns an empty alist.
-rw-r--r--lisp/ChangeLog8
-rw-r--r--lisp/mouse.el31
2 files changed, 24 insertions, 15 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index e7b3c1be56f..20bb5312662 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,4 +1,10 @@
12001-08-27 Thien-Thi Nguyen <ttn@gnu.org> 12001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2
3 * mouse.el (mouse-buffer-menu): If the buffer menu is split by
4 major modes, don't create panes for modes for which
5 mouse-buffer-menu-alist returns an empty alist.
6
72001-08-28 Thien-Thi Nguyen <ttn@gnu.org>
2 8
3 * progmodes/hideshow.el: Update first-line description. 9 * progmodes/hideshow.el: Update first-line description.
4 Sync comments w/ maintainer version 5.31. 10 Sync comments w/ maintainer version 5.31.
diff --git a/lisp/mouse.el b/lisp/mouse.el
index 410ad59b02d..93a374f3ff1 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -1571,26 +1571,29 @@ and selects that window."
1571 (while (and split-by-major-mode 1571 (while (and split-by-major-mode
1572 (and (> (length (car split-by-major-mode)) 3) 1572 (and (> (length (car split-by-major-mode)) 3)
1573 (> (* buffers-left 10) (length buffers)))) 1573 (> (* buffers-left 10) (length buffers))))
1574 (setq subdivided-menus 1574 (let ((this-mode-list (mouse-buffer-menu-alist
1575 (cons (cons 1575 (cdr (cdr (car split-by-major-mode))))))
1576 (nth 1 (car split-by-major-mode)) 1576 (and this-mode-list
1577 (mouse-buffer-menu-alist 1577 (setq subdivided-menus
1578 (cdr (cdr (car split-by-major-mode))))) 1578 (cons (cons
1579 subdivided-menus)) 1579 (nth 1 (car split-by-major-mode))
1580 this-mode-list)
1581 subdivided-menus))))
1580 (setq buffers-left 1582 (setq buffers-left
1581 (- buffers-left (length (cdr (car split-by-major-mode))))) 1583 (- buffers-left (length (cdr (car split-by-major-mode)))))
1582 (setq split-by-major-mode (cdr split-by-major-mode))) 1584 (setq split-by-major-mode (cdr split-by-major-mode)))
1583 ;; If any major modes are left over, 1585 ;; If any major modes are left over,
1584 ;; make a single submenu for them. 1586 ;; make a single submenu for them.
1585 (if split-by-major-mode 1587 (if split-by-major-mode
1586 (setq subdivided-menus 1588 (let ((others-list
1587 (cons (cons 1589 (mouse-buffer-menu-alist
1588 "Others" 1590 ;; we don't need split-by-major-mode any more,
1589 (mouse-buffer-menu-alist 1591 ;; so we can ditch it with nconc.
1590 ;; we don't need split-by-major-mode any 1592 (apply 'nconc (mapcar 'cddr split-by-major-mode)))))
1591 ;; more, so we can ditch it with nconc. 1593 (and others-list
1592 (apply 'nconc (mapcar 'cddr split-by-major-mode)))) 1594 (setq subdivided-menus
1593 subdivided-menus))) 1595 (cons (cons "Others" others-list)
1596 subdivided-menus)))))
1594 (setq menu (cons "Buffer Menu" (nreverse subdivided-menus)))) 1597 (setq menu (cons "Buffer Menu" (nreverse subdivided-menus))))
1595 (progn 1598 (progn
1596 (setq alist (mouse-buffer-menu-alist buffers)) 1599 (setq alist (mouse-buffer-menu-alist buffers))