aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorStefan Monnier2009-10-28 03:09:11 +0000
committerStefan Monnier2009-10-28 03:09:11 +0000
commitb861e45ef6b53b5d3e609c47920e1c880571e96e (patch)
tree24b759544acadd33ba26876a91779db2d382e988 /lisp
parent8549241d7f40f68eca56fdc409516970efa4ef71 (diff)
downloademacs-b861e45ef6b53b5d3e609c47920e1c880571e96e.tar.gz
emacs-b861e45ef6b53b5d3e609c47920e1c880571e96e.zip
(bookmark-insert-location, bookmark-bmenu-list)
(bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames): Don't consider whether the display supports colors. (bookmark-import-new-list): Use dolist. (bookmark-bmenu-mode-map): Move initialization into declaration. (bookmark-bmenu-list): Use dolist, simplify. (bookmark-show-all-annotations): Use save-selected-window and dolist. (menu-bar-final-items): Use push.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog11
-rw-r--r--lisp/bookmark.el184
2 files changed, 94 insertions, 101 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 33a4f1b3a9c..76abefb31ff 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,14 @@
12009-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
4 (bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames):
5 Don't consider whether the display supports colors.
6 (bookmark-import-new-list): Use dolist.
7 (bookmark-bmenu-mode-map): Move initialization into declaration.
8 (bookmark-bmenu-list): Use dolist, simplify.
9 (bookmark-show-all-annotations): Use save-selected-window and dolist.
10 (menu-bar-final-items): Use push.
11
12009-10-28 Bernhard Herzog <bernhard.herzog@intevation.de> (tiny change) 122009-10-28 Bernhard Herzog <bernhard.herzog@intevation.de> (tiny change)
2 13
3 * vc-hg.el (vc-hg-state, vc-hg-working-revision): Use process-file so 14 * vc-hg.el (vc-hg-state, vc-hg-working-revision): Use process-file so
diff --git a/lisp/bookmark.el b/lisp/bookmark.el
index 370f9de9cfa..f1a4409cc85 100644
--- a/lisp/bookmark.el
+++ b/lisp/bookmark.el
@@ -462,9 +462,9 @@ the empty string."
462 (bookmark-menu-popup-paned-menu t prompt (bookmark-all-names)) 462 (bookmark-menu-popup-paned-menu t prompt (bookmark-all-names))
463 (let* ((completion-ignore-case bookmark-completion-ignore-case) 463 (let* ((completion-ignore-case bookmark-completion-ignore-case)
464 (default default) 464 (default default)
465 (prompt (if default 465 (prompt (concat prompt (if default
466 (concat prompt (format " (%s): " default)) 466 (format " (%s): " default)
467 (concat prompt ": "))) 467 ": ")))
468 (str 468 (str
469 (completing-read prompt 469 (completing-read prompt
470 bookmark-alist 470 bookmark-alist
@@ -1190,12 +1190,12 @@ minibuffer history list `bookmark-history'."
1190 (let ((start (point))) 1190 (let ((start (point)))
1191 (prog1 1191 (prog1
1192 (insert (bookmark-location bookmark)) ; *Return this line* 1192 (insert (bookmark-location bookmark)) ; *Return this line*
1193 (if (and (display-color-p) (display-mouse-p)) 1193 (if (display-mouse-p)
1194 (add-text-properties 1194 (add-text-properties
1195 start 1195 start
1196 (save-excursion (re-search-backward 1196 (save-excursion (re-search-backward
1197 "[^ \t]") 1197 "[^ \t]")
1198 (1+ (point))) 1198 (1+ (point)))
1199 '(mouse-face highlight 1199 '(mouse-face highlight
1200 follow-link t 1200 follow-link t
1201 help-echo "mouse-2: go to this bookmark in other window")))))) 1201 help-echo "mouse-2: go to this bookmark in other window"))))))
@@ -1398,14 +1398,11 @@ for a file, defaulting to the file defined by variable
1398 "Add NEW-LIST of bookmarks to `bookmark-alist'. 1398 "Add NEW-LIST of bookmarks to `bookmark-alist'.
1399Rename new bookmarks as needed using suffix \"<N>\" (N=1,2,3...), when 1399Rename new bookmarks as needed using suffix \"<N>\" (N=1,2,3...), when
1400they conflict with existing bookmark names." 1400they conflict with existing bookmark names."
1401 (let ((lst new-list) 1401 (let ((names (bookmark-all-names)))
1402 (names (bookmark-all-names))) 1402 (dolist (full-record new-list)
1403 (while lst 1403 (bookmark-maybe-rename full-record names)
1404 (let* ((full-record (car lst))) 1404 (setq bookmark-alist (nconc bookmark-alist (list full-record)))
1405 (bookmark-maybe-rename full-record names) 1405 (push (bookmark-name-from-full-record full-record) names))))
1406 (setq bookmark-alist (nconc bookmark-alist (list full-record)))
1407 (setq names (cons (bookmark-name-from-full-record full-record) names))
1408 (setq lst (cdr lst))))))
1409 1406
1410 1407
1411(defun bookmark-maybe-rename (full-record names) 1408(defun bookmark-maybe-rename (full-record names)
@@ -1491,48 +1488,41 @@ method buffers use to resolve name collisions."
1491(defvar bookmark-bmenu-hidden-bookmarks ()) 1488(defvar bookmark-bmenu-hidden-bookmarks ())
1492 1489
1493 1490
1494(defvar bookmark-bmenu-mode-map nil) 1491(defvar bookmark-bmenu-mode-map
1495 1492 (let ((map (make-keymap)))
1496 1493 (suppress-keymap map t)
1497(if bookmark-bmenu-mode-map 1494 (define-key map "q" 'quit-window)
1498 nil 1495 (define-key map "v" 'bookmark-bmenu-select)
1499 (setq bookmark-bmenu-mode-map (make-keymap)) 1496 (define-key map "w" 'bookmark-bmenu-locate)
1500 (suppress-keymap bookmark-bmenu-mode-map t) 1497 (define-key map "2" 'bookmark-bmenu-2-window)
1501 (define-key bookmark-bmenu-mode-map "q" 'quit-window) 1498 (define-key map "1" 'bookmark-bmenu-1-window)
1502 (define-key bookmark-bmenu-mode-map "v" 'bookmark-bmenu-select) 1499 (define-key map "j" 'bookmark-bmenu-this-window)
1503 (define-key bookmark-bmenu-mode-map "w" 'bookmark-bmenu-locate) 1500 (define-key map "\C-c\C-c" 'bookmark-bmenu-this-window)
1504 (define-key bookmark-bmenu-mode-map "2" 'bookmark-bmenu-2-window) 1501 (define-key map "f" 'bookmark-bmenu-this-window)
1505 (define-key bookmark-bmenu-mode-map "1" 'bookmark-bmenu-1-window) 1502 (define-key map "\C-m" 'bookmark-bmenu-this-window)
1506 (define-key bookmark-bmenu-mode-map "j" 'bookmark-bmenu-this-window) 1503 (define-key map "o" 'bookmark-bmenu-other-window)
1507 (define-key bookmark-bmenu-mode-map "\C-c\C-c" 'bookmark-bmenu-this-window) 1504 (define-key map "\C-o" 'bookmark-bmenu-switch-other-window)
1508 (define-key bookmark-bmenu-mode-map "f" 'bookmark-bmenu-this-window) 1505 (define-key map "s" 'bookmark-bmenu-save)
1509 (define-key bookmark-bmenu-mode-map "\C-m" 'bookmark-bmenu-this-window) 1506 (define-key map "k" 'bookmark-bmenu-delete)
1510 (define-key bookmark-bmenu-mode-map "o" 'bookmark-bmenu-other-window) 1507 (define-key map "\C-d" 'bookmark-bmenu-delete-backwards)
1511 (define-key bookmark-bmenu-mode-map "\C-o" 1508 (define-key map "x" 'bookmark-bmenu-execute-deletions)
1512 'bookmark-bmenu-switch-other-window) 1509 (define-key map "d" 'bookmark-bmenu-delete)
1513 (define-key bookmark-bmenu-mode-map "s" 'bookmark-bmenu-save) 1510 (define-key map " " 'next-line)
1514 (define-key bookmark-bmenu-mode-map "k" 'bookmark-bmenu-delete) 1511 (define-key map "n" 'next-line)
1515 (define-key bookmark-bmenu-mode-map "\C-d" 'bookmark-bmenu-delete-backwards) 1512 (define-key map "p" 'previous-line)
1516 (define-key bookmark-bmenu-mode-map "x" 'bookmark-bmenu-execute-deletions) 1513 (define-key map "\177" 'bookmark-bmenu-backup-unmark)
1517 (define-key bookmark-bmenu-mode-map "d" 'bookmark-bmenu-delete) 1514 (define-key map "?" 'describe-mode)
1518 (define-key bookmark-bmenu-mode-map " " 'next-line) 1515 (define-key map "u" 'bookmark-bmenu-unmark)
1519 (define-key bookmark-bmenu-mode-map "n" 'next-line) 1516 (define-key map "m" 'bookmark-bmenu-mark)
1520 (define-key bookmark-bmenu-mode-map "p" 'previous-line) 1517 (define-key map "l" 'bookmark-bmenu-load)
1521 (define-key bookmark-bmenu-mode-map "\177" 'bookmark-bmenu-backup-unmark) 1518 (define-key map "r" 'bookmark-bmenu-rename)
1522 (define-key bookmark-bmenu-mode-map "?" 'describe-mode) 1519 (define-key map "R" 'bookmark-bmenu-relocate)
1523 (define-key bookmark-bmenu-mode-map "u" 'bookmark-bmenu-unmark) 1520 (define-key map "t" 'bookmark-bmenu-toggle-filenames)
1524 (define-key bookmark-bmenu-mode-map "m" 'bookmark-bmenu-mark) 1521 (define-key map "a" 'bookmark-bmenu-show-annotation)
1525 (define-key bookmark-bmenu-mode-map "l" 'bookmark-bmenu-load) 1522 (define-key map "A" 'bookmark-bmenu-show-all-annotations)
1526 (define-key bookmark-bmenu-mode-map "r" 'bookmark-bmenu-rename) 1523 (define-key map "e" 'bookmark-bmenu-edit-annotation)
1527 (define-key bookmark-bmenu-mode-map "R" 'bookmark-bmenu-relocate) 1524 (define-key map [mouse-2] 'bookmark-bmenu-other-window-with-mouse)
1528 (define-key bookmark-bmenu-mode-map "t" 'bookmark-bmenu-toggle-filenames) 1525 map))
1529 (define-key bookmark-bmenu-mode-map "a" 'bookmark-bmenu-show-annotation)
1530 (define-key bookmark-bmenu-mode-map "A" 'bookmark-bmenu-show-all-annotations)
1531 (define-key bookmark-bmenu-mode-map "e" 'bookmark-bmenu-edit-annotation)
1532 (define-key bookmark-bmenu-mode-map [mouse-2]
1533 'bookmark-bmenu-other-window-with-mouse))
1534
1535
1536 1526
1537;; Bookmark Buffer Menu mode is suitable only for specially formatted 1527;; Bookmark Buffer Menu mode is suitable only for specially formatted
1538;; data. 1528;; data.
@@ -1574,29 +1564,25 @@ deletion, or > if it is flagged for displaying."
1574 (insert "% Bookmark\n- --------\n") 1564 (insert "% Bookmark\n- --------\n")
1575 (add-text-properties (point-min) (point) 1565 (add-text-properties (point-min) (point)
1576 '(font-lock-face bookmark-menu-heading)) 1566 '(font-lock-face bookmark-menu-heading))
1577 (mapc 1567 (dolist (full-record (bookmark-maybe-sort-alist))
1578 (lambda (full-record) 1568 ;; if a bookmark has an annotation, prepend a "*"
1579 ;; if a bookmark has an annotation, prepend a "*" 1569 ;; in the list of bookmarks.
1580 ;; in the list of bookmarks. 1570 (let ((annotation (bookmark-get-annotation full-record)))
1581 (let ((annotation (bookmark-get-annotation 1571 (insert (if (and annotation (not (string-equal annotation "")))
1582 (bookmark-name-from-full-record full-record)))) 1572 " *" " "))
1583 (if (and annotation (not (string-equal annotation ""))) 1573 (let ((start (point)))
1584 (insert " *") 1574 (insert (bookmark-name-from-full-record full-record))
1585 (insert " ")) 1575 (if (display-mouse-p)
1586 (let ((start (point))) 1576 (add-text-properties
1587 (insert (bookmark-name-from-full-record full-record)) 1577 start
1588 (if (and (display-color-p) (display-mouse-p)) 1578 (save-excursion (re-search-backward
1589 (add-text-properties 1579 "[^ \t]")
1590 start 1580 (1+ (point)))
1591 (save-excursion (re-search-backward 1581 '(mouse-face highlight
1592 "[^ \t]") 1582 follow-link t
1593 (1+ (point))) 1583 help-echo "mouse-2: go to this bookmark in other window")))
1594 '(mouse-face highlight 1584 (insert "\n")))))
1595 follow-link t 1585
1596 help-echo "mouse-2: go to this bookmark in other window")))
1597 (insert "\n")
1598 )))
1599 (bookmark-maybe-sort-alist)))
1600 (goto-char (point-min)) 1586 (goto-char (point-min))
1601 (forward-line 2) 1587 (forward-line 2)
1602 (bookmark-bmenu-mode) 1588 (bookmark-bmenu-mode)
@@ -1688,7 +1674,7 @@ mainly for debugging, and should not be necessary in normal use."
1688 (let ((start (save-excursion (end-of-line) (point)))) 1674 (let ((start (save-excursion (end-of-line) (point))))
1689 (move-to-column bookmark-bmenu-file-column t) 1675 (move-to-column bookmark-bmenu-file-column t)
1690 ;; Strip off `mouse-face' from the white spaces region. 1676 ;; Strip off `mouse-face' from the white spaces region.
1691 (if (and (display-color-p) (display-mouse-p)) 1677 (if (display-mouse-p)
1692 (remove-text-properties start (point) 1678 (remove-text-properties start (point)
1693 '(mouse-face nil help-echo nil)))) 1679 '(mouse-face nil help-echo nil))))
1694 (delete-region (point) (progn (end-of-line) (point))) 1680 (delete-region (point) (progn (end-of-line) (point)))
@@ -1722,7 +1708,7 @@ mainly for debugging, and should not be necessary in normal use."
1722 (bookmark-kill-line) 1708 (bookmark-kill-line)
1723 (let ((start (point))) 1709 (let ((start (point)))
1724 (insert (car bookmark-bmenu-hidden-bookmarks)) 1710 (insert (car bookmark-bmenu-hidden-bookmarks))
1725 (if (and (display-color-p) (display-mouse-p)) 1711 (if (display-mouse-p)
1726 (add-text-properties 1712 (add-text-properties
1727 start 1713 start
1728 (save-excursion (re-search-backward 1714 (save-excursion (re-search-backward
@@ -1801,27 +1787,24 @@ if an annotation exists."
1801 1787
1802(defun bookmark-show-all-annotations () 1788(defun bookmark-show-all-annotations ()
1803 "Display the annotations for all bookmarks in a buffer." 1789 "Display the annotations for all bookmarks in a buffer."
1804 (let ((old-buf (current-buffer))) 1790 (save-selected-window
1805 (pop-to-buffer (get-buffer-create "*Bookmark Annotation*") t) 1791 (pop-to-buffer (get-buffer-create "*Bookmark Annotation*") t)
1806 (delete-region (point-min) (point-max)) 1792 (delete-region (point-min) (point-max))
1807 (mapc 1793 (dolist (full-record bookmark-alist)
1808 (lambda (full-record) 1794 (let* ((name (bookmark-name-from-full-record full-record))
1809 (let* ((name (bookmark-name-from-full-record full-record)) 1795 (ann (bookmark-get-annotation full-record)))
1810 (ann (bookmark-get-annotation name))) 1796 (insert (concat name ":\n"))
1811 (insert (concat name ":\n")) 1797 (if (and ann (not (string-equal ann "")))
1812 (if (and ann (not (string-equal ann ""))) 1798 ;; insert the annotation, indented by 4 spaces.
1813 ;; insert the annotation, indented by 4 spaces. 1799 (progn
1814 (progn 1800 (save-excursion (insert ann) (unless (bolp)
1815 (save-excursion (insert ann) (unless (bolp) 1801 (insert "\n")))
1816 (insert "\n"))) 1802 (while (< (point) (point-max))
1817 (while (< (point) (point-max)) 1803 (beginning-of-line) ; paranoia
1818 (beginning-of-line) ; paranoia 1804 (insert " ")
1819 (insert " ") 1805 (forward-line)
1820 (forward-line) 1806 (end-of-line))))))
1821 (end-of-line)))))) 1807 (goto-char (point-min))))
1822 bookmark-alist)
1823 (goto-char (point-min))
1824 (pop-to-buffer old-buf)))
1825 1808
1826 1809
1827(defun bookmark-bmenu-mark () 1810(defun bookmark-bmenu-mark ()
@@ -2171,8 +2154,7 @@ strings returned are not."
2171;; make bookmarks appear toward the right side of the menu. 2154;; make bookmarks appear toward the right side of the menu.
2172(if (boundp 'menu-bar-final-items) 2155(if (boundp 'menu-bar-final-items)
2173 (if menu-bar-final-items 2156 (if menu-bar-final-items
2174 (setq menu-bar-final-items 2157 (push 'bookmark menu-bar-final-items))
2175 (cons 'bookmark menu-bar-final-items)))
2176 (setq menu-bar-final-items '(bookmark))) 2158 (setq menu-bar-final-items '(bookmark)))
2177 2159
2178;;;; end bookmark menu stuff ;;;; 2160;;;; end bookmark menu stuff ;;;;