]> git.eshelyaron.com Git - emacs.git/commitdiff
(mouse-buffer-menu): If the buffer menu is split by
authorEli Zaretskii <eliz@gnu.org>
Tue, 28 Aug 2001 06:35:00 +0000 (06:35 +0000)
committerEli Zaretskii <eliz@gnu.org>
Tue, 28 Aug 2001 06:35:00 +0000 (06:35 +0000)
major modes, don't create panes for modes for which
mouse-buffer-menu-alist returns an empty alist.

lisp/ChangeLog
lisp/mouse.el

index e7b3c1be56fb8e78fb281ec7dd0e93474fac9726..20bb5312662bcc26e5bdb7cefbb263c5f45d219a 100644 (file)
@@ -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.
index 410ad59b02d39fceb8e50aefe7402356e37d8c1f..93a374f3ff1940f763eab4df9236b0d2b0bcb3ac 100644 (file)
@@ -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))