Mercurial > emacs
changeset 107855:d9895f87d758
Add a new field `location' to bookmarks for non-file bookmarks.
* bookmark.el (bookmark-location): Use the new field, if present.
(bookmark-insert-location): Undo last change, not needed any more.
* man.el (Man-bookmark-make-record):
* woman.el (woman-bookmark-make-record):
* gnus-sum.el (gnus-summary-bookmark-make-record): Add `location' field.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Wed, 14 Apr 2010 11:07:53 -0400 |
parents | 6ebc01c309bf |
children | 662fbf539570 |
files | lisp/ChangeLog lisp/bookmark.el lisp/gnus/ChangeLog lisp/gnus/gnus-sum.el lisp/man.el lisp/woman.el |
diffstat | 6 files changed, 28 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Wed Apr 14 03:43:54 2010 +0300 +++ b/lisp/ChangeLog Wed Apr 14 11:07:53 2010 -0400 @@ -1,3 +1,11 @@ +2010-04-14 Stefan Monnier <monnier@iro.umontreal.ca> + + Add a new field `location' to bookmarks for non-file bookmarks. + * bookmark.el (bookmark-location): Use the new field, if present. + (bookmark-insert-location): Undo last change, not needed any more. + * man.el (Man-bookmark-make-record): + * woman.el (woman-bookmark-make-record): Add `location' field. + 2010-04-14 Juri Linkov <juri@jurta.org> * simple.el (scroll-error-top-bottom): New defcustom.
--- a/lisp/bookmark.el Wed Apr 14 03:43:54 2010 +0300 +++ b/lisp/bookmark.el Wed Apr 14 11:07:53 2010 -0400 @@ -1176,9 +1176,7 @@ (or no-history (bookmark-maybe-historicize-string bookmark)) (let ((start (point))) (prog1 - ;; FIXME: Each bookmark should come with a `location' method - ;; rather than just say "-- no file --". - (insert (or (bookmark-location bookmark) " -- no file --")) + (insert (bookmark-location bookmark)) (if (display-mouse-p) (add-text-properties start @@ -1193,10 +1191,16 @@ (defalias 'bookmark-locate 'bookmark-insert-location) (defun bookmark-location (bookmark) - "Return the name of the file associated with BOOKMARK, or nil if none. + "Return a description of the location of BOOKMARK. BOOKMARK may be a bookmark name (a string) or a bookmark record." (bookmark-maybe-load-default-file) - (bookmark-get-filename bookmark)) + ;; We could call the `handler' and ask for it to construct a description + ;; dynamically: it would open up several new possibilities, but it + ;; would have the major disadvantage of forcing to load each and + ;; every handler when the user calls bookmark-menu. + (or (bookmark-prop-get bookmark 'location) + (bookmark-get-filename bookmark) + "-- Unknown location --")) ;;;###autoload
--- a/lisp/gnus/ChangeLog Wed Apr 14 03:43:54 2010 +0300 +++ b/lisp/gnus/ChangeLog Wed Apr 14 11:07:53 2010 -0400 @@ -1,3 +1,7 @@ +2010-04-14 Stefan Monnier <monnier@iro.umontreal.ca> + + * gnus-sum.el (gnus-summary-bookmark-make-record): Add `location' field. + 2010-04-12 Stefan Monnier <monnier@iro.umontreal.ca> * gnus-sum.el: Add bookmark declarations to silence the compiler.
--- a/lisp/gnus/gnus-sum.el Wed Apr 14 03:43:54 2010 +0300 +++ b/lisp/gnus/gnus-sum.el Wed Apr 14 11:07:53 2010 -0400 @@ -12657,8 +12657,9 @@ (id (mail-header-id head))) `(,subject ,@(bookmark-make-record-default 'point-only) - (group . ,grp) (article . ,art) - (message-id . ,id) (handler . gnus-summary-bookmark-jump)))) + (location . ,(format "Gnus %s:%d:%s" grp art id)) + (group . ,grp) (article . ,art) + (message-id . ,id) (handler . gnus-summary-bookmark-jump)))) ;;;###autoload (defun gnus-summary-bookmark-jump (bookmark)
--- a/lisp/man.el Wed Apr 14 03:43:54 2010 +0300 +++ b/lisp/man.el Wed Apr 14 11:07:53 2010 -0400 @@ -1689,8 +1689,9 @@ "Make a bookmark entry for a Man buffer." `(,(Man-default-bookmark-title) ,@(bookmark-make-record-default 'point-only) - (man-args . ,Man-arguments) - (handler . Man-bookmark-jump))) + (location . ,(concat "man " Man-arguments)) + (man-args . ,Man-arguments) + (handler . Man-bookmark-jump))) ;;;###autoload (defun Man-bookmark-jump (bookmark)
--- a/lisp/woman.el Wed Apr 14 03:43:54 2010 +0300 +++ b/lisp/woman.el Wed Apr 14 11:07:53 2010 -0400 @@ -4533,6 +4533,7 @@ "Make a bookmark entry for a Woman buffer." `(,(Man-default-bookmark-title) ,@(bookmark-make-record-default 'point-only) + (location . ,(concat "woman " woman-last-file-name)) ;; Use the same form as man's bookmarks, as much as possible. (man-args . ,woman-last-file-name) (handler . woman-bookmark-jump)))