[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 2a954e8: * menu-bar.el (menu-bar-update-buffers): P
From: |
Artur Malabarba |
Subject: |
[Emacs-diffs] master 2a954e8: * menu-bar.el (menu-bar-update-buffers): Properly count buffers. |
Date: |
Sun, 22 Mar 2015 19:44:00 +0000 |
branch: master
commit 2a954e8aa6917572cbf9431f7b1a9ae19be18d7c
Author: Artur Malabarba <address@hidden>
Commit: Artur Malabarba <address@hidden>
* menu-bar.el (menu-bar-update-buffers): Properly count buffers.
---
lisp/ChangeLog | 5 +++++
lisp/menu-bar.el | 22 +++++++++++++---------
2 files changed, 18 insertions(+), 9 deletions(-)
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 2f9c430..52c6a72 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2015-03-22 Artur Malabarba <address@hidden>
+
+ * menu-bar.el (menu-bar-update-buffers): Count displayed buffers
+ for `buffers-menu-max-size', not total buffers.
+
2015-03-21 Titus von der Malsburg <address@hidden>
* window.el (window-font-width, window-font-height)
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 5fdb937..2ace316 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -1949,20 +1949,20 @@ It must accept a buffer as its only required argument.")
(let ((buffers (buffer-list))
(frames (frame-list))
buffers-menu)
- ;; If requested, list only the N most recently selected buffers.
- (if (and (integerp buffers-menu-max-size)
- (> buffers-menu-max-size 1))
- (if (> (length buffers) buffers-menu-max-size)
- (setcdr (nthcdr buffers-menu-max-size buffers) nil)))
;; Make the menu of buffers proper.
(setq buffers-menu
- (let (alist)
+ (let ((i 0)
+ (limit (if (and (integerp buffers-menu-max-size)
+ (> buffers-menu-max-size 1))
+ buffers-menu-max-size most-positive-fixnum))
+ alist)
;; Put into each element of buffer-list
;; the name for actual display,
;; perhaps truncated in the middle.
- (dolist (buf buffers)
- (let ((name (buffer-name buf)))
+ (while buffers
+ (let* ((buf (pop buffers))
+ (name (buffer-name buf)))
(unless (eq ?\s (aref name 0))
(push (menu-bar-update-buffers-1
(cons buf
@@ -1976,7 +1976,11 @@ It must accept a buffer as its only required argument.")
name (- (/
buffers-menu-buffer-name-length 2))))
name)
))
- alist))))
+ alist)
+ ;; If requested, list only the N most recently
+ ;; selected buffers.
+ (when (= limit (setq i (1+ i)))
+ (setq buffers nil)))))
(list (menu-bar-buffer-vector alist))))
;; Make a Frames menu if we have more than one frame.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 2a954e8: * menu-bar.el (menu-bar-update-buffers): Properly count buffers.,
Artur Malabarba <=