diff options
| author | Eli Zaretskii | 2001-08-28 06:35:00 +0000 |
|---|---|---|
| committer | Eli Zaretskii | 2001-08-28 06:35:00 +0000 |
| commit | 4b4ea1dce736d58c0c671847bdb278668e8e393a (patch) | |
| tree | 8cbef5c6ac72f617ecef469a563763aaae1eaa73 | |
| parent | 35cd943848ba657a6c9cf1252033c9a292fef6ad (diff) | |
| download | emacs-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/ChangeLog | 8 | ||||
| -rw-r--r-- | lisp/mouse.el | 31 |
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 @@ | |||
| 1 | 2001-08-27 Thien-Thi Nguyen <ttn@gnu.org> | 1 | 2001-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 | |||
| 7 | 2001-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)) |