diff options
| author | Stefan Monnier | 2008-03-11 17:44:39 +0000 |
|---|---|---|
| committer | Stefan Monnier | 2008-03-11 17:44:39 +0000 |
| commit | ed10603b3579a825adee13f2edecf35cfc269eee (patch) | |
| tree | 6bd77d8a55e3cb39d5fffcc426cb4f2012334ee9 | |
| parent | 3bb1c6275611babb49bcb10381e111805c0773ab (diff) | |
| download | emacs-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/ChangeLog | 11 | ||||
| -rw-r--r-- | lisp/menu-bar.el | 105 |
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 @@ | |||
| 1 | 2008-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 | |||
| 1 | 2008-03-11 Juanma Barranquero <lekktu@gmail.com> | 8 | 2008-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 @@ | |||
| 1018 | 2008-02-28 Kenichi Handa <handa@ni.aist.go.jp> | 1025 | 2008-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 | ||
| 1025 | 2008-02-27 Kim F. Storm <storm@cua.dk> | 1032 | 2008-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 |