aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2008-03-11 17:44:39 +0000
committerStefan Monnier2008-03-11 17:44:39 +0000
commited10603b3579a825adee13f2edecf35cfc269eee (patch)
tree6bd77d8a55e3cb39d5fffcc426cb4f2012334ee9
parent3bb1c6275611babb49bcb10381e111805c0773ab (diff)
downloademacs-ed10603b3579a825adee13f2edecf35cfc269eee.tar.gz
emacs-ed10603b3579a825adee13f2edecf35cfc269eee.zip
(menu-bar-update-buffers-maxbuf): Remove.
(menu-bar-select-buffer): Remove. (menu-bar-select-frame): Make non-interactive and take a frame arg. (menu-bar-update-buffers): Don't use buffer-names or frame names as events.
-rw-r--r--lisp/ChangeLog11
-rw-r--r--lisp/menu-bar.el105
2 files changed, 50 insertions, 66 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 9066b0dfb57..63e7efd6b7c 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,10 @@
12008-03-11 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * menu-bar.el (menu-bar-update-buffers-maxbuf): Remove.
4 (menu-bar-select-buffer): Remove.
5 (menu-bar-select-frame): Make non-interactive and take a frame arg.
6 (menu-bar-update-buffers): Don't use buffer-names or frame names as events.
7
12008-03-11 Juanma Barranquero <lekktu@gmail.com> 82008-03-11 Juanma Barranquero <lekktu@gmail.com>
2 9
3 * icomplete.el (icomplete-completions): Remove obsolete code. 10 * icomplete.el (icomplete-completions): Remove obsolete code.
@@ -1018,8 +1025,8 @@
10182008-02-28 Kenichi Handa <handa@ni.aist.go.jp> 10252008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
1019 1026
1020 * isearch.el (isearch-printing-char): Don't check 1027 * isearch.el (isearch-printing-char): Don't check
1021 keyboard-coding-system. Call 1028 keyboard-coding-system.
1022 isearch-process-search-multibyte-characters only when 1029 Call isearch-process-search-multibyte-characters only when
1023 current-input-method is non-nil. 1030 current-input-method is non-nil.
1024 1031
10252008-02-27 Kim F. Storm <storm@cua.dk> 10322008-02-27 Kim F. Storm <storm@cua.dk>
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index d4e7628914d..6ed2e4904f7 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -1537,23 +1537,10 @@ Buffers menu is regenerated."
1537 1537
1538(defvar list-buffers-directory nil) 1538(defvar list-buffers-directory nil)
1539 1539
1540(defvar menu-bar-update-buffers-maxbuf) 1540(defun menu-bar-select-frame (frame)
1541 1541 (make-frame-visible frame)
1542(defun menu-bar-select-buffer () 1542 (raise-frame frame)
1543 (interactive) 1543 (select-frame frame))
1544 (switch-to-buffer last-command-event))
1545
1546(defun menu-bar-select-frame ()
1547 (interactive)
1548 (let (frame)
1549 (dolist (f (frame-list))
1550 (when (equal last-command-event (frame-parameter f 'name))
1551 (setq frame f)))
1552 ;; FRAME can be nil when user specifies the selected frame.
1553 (setq frame (or frame (selected-frame)))
1554 (make-frame-visible frame)
1555 (raise-frame frame)
1556 (select-frame frame)))
1557 1544
1558(defun menu-bar-update-buffers-1 (elt) 1545(defun menu-bar-update-buffers-1 (elt)
1559 (let* ((buf (car elt)) 1546 (let* ((buf (car elt))
@@ -1597,60 +1584,50 @@ Buffers menu is regenerated."
1597 1584
1598 ;; Make the menu of buffers proper. 1585 ;; Make the menu of buffers proper.
1599 (setq buffers-menu 1586 (setq buffers-menu
1600 (let* ((buffer-list 1587 (let (alist)
1601 (mapcar 'list buffers))
1602 (menu-bar-update-buffers-maxbuf 0)
1603 alist)
1604 ;; Put into each element of buffer-list 1588 ;; Put into each element of buffer-list
1605 ;; the name for actual display, 1589 ;; the name for actual display,
1606 ;; perhaps truncated in the middle. 1590 ;; perhaps truncated in the middle.
1607 (dolist (buf buffer-list) 1591 (dolist (buf buffers)
1608 (let ((name (buffer-name (car buf)))) 1592 (let ((name (buffer-name buf)))
1609 (setcdr buf 1593 (unless (eq ?\s (aref name 0))
1610 (if (> (length name) 27) 1594 (push (menu-bar-update-buffers-1
1611 (concat (substring name 0 12) 1595 (cons buf
1612 "..." 1596 (if (> (length name) 27)
1613 (substring name -12)) 1597 (concat (substring name 0 12)
1614 name)))) 1598 "..."
1615 ;; Compute the maximum length of any name. 1599 (substring name -12))
1616 (dolist (buf buffer-list) 1600 name)))
1617 (unless (eq ?\s (aref (cdr buf) 0)) 1601 alist))))
1618 (setq menu-bar-update-buffers-maxbuf 1602 ;; Now make the actual list of items.
1619 (max menu-bar-update-buffers-maxbuf 1603 (let ((buffers-vec (make-vector (length alist) nil))
1620 (length (cdr buf)))))) 1604 (i (length alist)))
1621 ;; Set ALIST to an alist of the form 1605 (dolist (pair alist)
1622 ;; ITEM-STRING . BUFFER 1606 (setq i (1- i))
1623 (dolist (buf buffer-list) 1607 (aset buffers-vec i
1624 (unless (eq ?\s (aref (cdr buf) 0)) 1608 (nconc (list (car pair)
1625 (push (menu-bar-update-buffers-1 buf) alist)))
1626 ;; Now make the actual list of items, and add
1627 ;; some miscellaneous buffer commands to the end.
1628 (mapcar (lambda (pair)
1629 ;; This is somewhat risque, to use
1630 ;; the buffer name itself as the event
1631 ;; type to define, but it works.
1632 ;; It would not work to use the buffer
1633 ;; since a buffer as an event has its
1634 ;; own meaning.
1635 (nconc (list (buffer-name (cdr pair))
1636 (car pair)
1637 (cons nil nil)) 1609 (cons nil nil))
1638 'menu-bar-select-buffer)) 1610 `(lambda ()
1639 (nreverse alist)))) 1611 (interactive)
1612 (switch-to-buffer ,(cdr pair))))))
1613 (list buffers-vec))))
1640 1614
1641 ;; Make a Frames menu if we have more than one frame. 1615 ;; Make a Frames menu if we have more than one frame.
1642 (when (cdr frames) 1616 (when (cdr frames)
1643 (let ((frames-menu 1617 (let* ((frames-vec (make-vector (length frames) nil))
1644 (cons 'keymap 1618 (frames-menu
1645 (cons "Select Frame" 1619 (cons 'keymap
1646 (mapcar 1620 (list "Select Frame" frames-vec)))
1647 (lambda (frame) 1621 (i 0))
1648 (nconc 1622 (dolist (frame frames)
1649 (list (frame-parameter frame 'name) 1623 (aset frames-vec i
1650 (frame-parameter frame 'name) 1624 (nconc
1651 (cons nil nil)) 1625 (list
1652 'menu-bar-select-frame)) 1626 (frame-parameter frame 'name)
1653 frames))))) 1627 (cons nil nil))
1628 `(lambda ()
1629 (interactive) (menu-bar-select-frame ,frame))))
1630 (setq i (1+ i)))
1654 ;; Put it after the normal buffers 1631 ;; Put it after the normal buffers
1655 (setq buffers-menu 1632 (setq buffers-menu
1656 (nconc buffers-menu 1633 (nconc buffers-menu