emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/mouse.el,v


From: Sam Steingold
Subject: [Emacs-diffs] Changes to emacs/lisp/mouse.el,v
Date: Mon, 06 Aug 2007 17:19:28 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Sam Steingold <sds>     07/08/06 17:19:27

Index: mouse.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/mouse.el,v
retrieving revision 1.319
retrieving revision 1.320
diff -u -b -r1.319 -r1.320
--- mouse.el    26 Jul 2007 05:26:29 -0000      1.319
+++ mouse.el    6 Aug 2007 17:19:25 -0000       1.320
@@ -1814,27 +1814,23 @@
   (mouse-minibuffer-check event)
   (let ((buffers (buffer-list))  alist menu split-by-major-mode sum-of-squares)
     ;; Make an alist of elements that look like (MENU-ITEM . BUFFER).
-    (let ((tail buffers))
-      (while tail
+    (dolist (buf buffers)
        ;; Divide all buffers into buckets for various major modes.
        ;; Each bucket looks like (MODE NAMESTRING BUFFERS...).
-       (with-current-buffer (car tail)
+      (with-current-buffer buf
          (let* ((adjusted-major-mode major-mode) elt)
-           (let ((tail mouse-buffer-menu-mode-groups))
-             (while tail
-               (if (string-match (car (car tail)) mode-name)
-                   (setq adjusted-major-mode (cdr (car tail))))
-               (setq tail (cdr tail))))
+          (dolist (group mouse-buffer-menu-mode-groups)
+            (when (string-match (car group) (format-mode-line mode-name))
+              (setq adjusted-major-mode (cdr group))))
            (setq elt (assoc adjusted-major-mode split-by-major-mode))
-           (if (null elt)
+          (unless elt
                (setq elt (list adjusted-major-mode
                                (if (stringp adjusted-major-mode)
                                    adjusted-major-mode
                                  mode-name))
                      split-by-major-mode (cons elt split-by-major-mode)))
-           (or (memq (car tail) (cdr (cdr elt)))
-               (setcdr (cdr elt) (cons (car tail) (cdr (cdr elt)))))))
-       (setq tail (cdr tail))))
+          (or (memq buf (cdr (cdr elt)))
+              (setcdr (cdr elt) (cons buf (cdr (cdr elt))))))))
     ;; Compute the sum of squares of sizes of the major-mode buckets.
     (let ((tail split-by-major-mode))
       (setq sum-of-squares 0)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]