(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.
This commit is contained in:
parent
35cd943848
commit
4b4ea1dce7
2 changed files with 24 additions and 15 deletions
|
@ -1,4 +1,10 @@
|
|||
2001-08-27 Thien-Thi Nguyen <ttn@gnu.org>
|
||||
2001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
|
||||
|
||||
* mouse.el (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.
|
||||
|
||||
2001-08-28 Thien-Thi Nguyen <ttn@gnu.org>
|
||||
|
||||
* progmodes/hideshow.el: Update first-line description.
|
||||
Sync comments w/ maintainer version 5.31.
|
||||
|
|
|
@ -1571,26 +1571,29 @@ and selects that window."
|
|||
(while (and split-by-major-mode
|
||||
(and (> (length (car split-by-major-mode)) 3)
|
||||
(> (* buffers-left 10) (length buffers))))
|
||||
(setq subdivided-menus
|
||||
(cons (cons
|
||||
(nth 1 (car split-by-major-mode))
|
||||
(mouse-buffer-menu-alist
|
||||
(cdr (cdr (car split-by-major-mode)))))
|
||||
subdivided-menus))
|
||||
(let ((this-mode-list (mouse-buffer-menu-alist
|
||||
(cdr (cdr (car split-by-major-mode))))))
|
||||
(and this-mode-list
|
||||
(setq subdivided-menus
|
||||
(cons (cons
|
||||
(nth 1 (car split-by-major-mode))
|
||||
this-mode-list)
|
||||
subdivided-menus))))
|
||||
(setq buffers-left
|
||||
(- buffers-left (length (cdr (car split-by-major-mode)))))
|
||||
(setq split-by-major-mode (cdr split-by-major-mode)))
|
||||
;; If any major modes are left over,
|
||||
;; make a single submenu for them.
|
||||
(if split-by-major-mode
|
||||
(setq subdivided-menus
|
||||
(cons (cons
|
||||
"Others"
|
||||
(mouse-buffer-menu-alist
|
||||
;; we don't need split-by-major-mode any
|
||||
;; more, so we can ditch it with nconc.
|
||||
(apply 'nconc (mapcar 'cddr split-by-major-mode))))
|
||||
subdivided-menus)))
|
||||
(let ((others-list
|
||||
(mouse-buffer-menu-alist
|
||||
;; we don't need split-by-major-mode any more,
|
||||
;; so we can ditch it with nconc.
|
||||
(apply 'nconc (mapcar 'cddr split-by-major-mode)))))
|
||||
(and others-list
|
||||
(setq subdivided-menus
|
||||
(cons (cons "Others" others-list)
|
||||
subdivided-menus)))))
|
||||
(setq menu (cons "Buffer Menu" (nreverse subdivided-menus))))
|
||||
(progn
|
||||
(setq alist (mouse-buffer-menu-alist buffers))
|
||||
|
|
Loading…
Add table
Reference in a new issue