From: Eli Zaretskii Date: Tue, 28 Aug 2001 06:35:00 +0000 (+0000) Subject: (mouse-buffer-menu): If the buffer menu is split by X-Git-Tag: emacs-pretest-21.0.105~57 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=4b4ea1dce736d58c0c671847bdb278668e8e393a;p=emacs.git (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. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e7b3c1be56f..20bb5312662 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,4 +1,10 @@ -2001-08-27 Thien-Thi Nguyen +2001-08-28 Eli Zaretskii + + * 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 * progmodes/hideshow.el: Update first-line description. 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." (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))