# HG changeset patch # User Karl Fogel # Date 1087091961 0 # Node ID 4e04e776fb5e1c2833dfd2744cdb4c21d0046fba # Parent 98d93acdeb6a4bdd273ff0c67d36d8295b25dfa7 * bookmark.el (bookmark-bmenu-relocate): New function, as suggested by David J. Biesack . (bookmark-bmenu-mode-map): Bind `bookmark-bmenu-relocate' to "R". (bookmark-bmenu-mode): Describe binding in doc string. (bookmark-set-filename): Save the bookmark list if it's time. diff -r 98d93acdeb6a -r 4e04e776fb5e lisp/ChangeLog --- a/lisp/ChangeLog Sun Jun 13 00:25:18 2004 +0000 +++ b/lisp/ChangeLog Sun Jun 13 01:59:21 2004 +0000 @@ -1,3 +1,11 @@ +2004-06-12 Karl Fogel + + * bookmark.el (bookmark-bmenu-relocate): New function, as + suggested by David J. Biesack . + (bookmark-bmenu-mode-map): Bind `bookmark-bmenu-relocate' to "R". + (bookmark-bmenu-mode): Describe binding in doc string. + (bookmark-set-filename): Save the bookmark list if it's time. + 2004-06-13 Kenichi Handa * international/utf-8.el (ccl-decode-mule-utf-8): Fix previous diff -r 98d93acdeb6a -r 4e04e776fb5e lisp/bookmark.el --- a/lisp/bookmark.el Sun Jun 13 00:25:18 2004 +0000 +++ b/lisp/bookmark.el Sun Jun 13 01:59:21 2004 +0000 @@ -376,7 +376,11 @@ (if cell (setcdr cell filename) (nconc (bookmark-get-bookmark-record bookmark) - (list (cons 'filename filename)))))) + (list (cons 'filename filename)))) + (setq bookmark-alist-modification-count + (1+ bookmark-alist-modification-count)) + (if (bookmark-time-to-save-p) + (bookmark-save)))) (defun bookmark-get-position (bookmark) @@ -1491,6 +1495,7 @@ (define-key bookmark-bmenu-mode-map "m" 'bookmark-bmenu-mark) (define-key bookmark-bmenu-mode-map "l" 'bookmark-bmenu-load) (define-key bookmark-bmenu-mode-map "r" 'bookmark-bmenu-rename) + (define-key bookmark-bmenu-mode-map "R" 'bookmark-bmenu-relocate) (define-key bookmark-bmenu-mode-map "t" 'bookmark-bmenu-toggle-filenames) (define-key bookmark-bmenu-mode-map "a" 'bookmark-bmenu-show-annotation) (define-key bookmark-bmenu-mode-map "A" 'bookmark-bmenu-show-all-annotations) @@ -1589,6 +1594,7 @@ so the bookmark menu bookmark remains visible in its window. \\[bookmark-bmenu-switch-other-window] -- switch the other window to this bookmark. \\[bookmark-bmenu-rename] -- rename this bookmark \(prompts for new name\). +\\[bookmark-bmenu-relocate] -- relocate this bookmark's file \(prompts for new file\). \\[bookmark-bmenu-delete] -- mark this bookmark to be deleted, and move down. \\[bookmark-bmenu-delete-backwards] -- mark this bookmark to be deleted, and move up. \\[bookmark-bmenu-execute-deletions] -- delete bookmarks marked with `\\[bookmark-bmenu-delete]'. @@ -2041,6 +2047,15 @@ (let ((bmrk (bookmark-bmenu-bookmark))) (message (bookmark-location bmrk))))) +(defun bookmark-bmenu-relocate () + "Change the file path of the bookmark on the current line, + prompting with completion for the new path." + (interactive) + (if (bookmark-bmenu-check-position) + (let ((bmrk (bookmark-bmenu-bookmark)) + (thispoint (point))) + (bookmark-relocate bmrk) + (goto-char thispoint)))) ;;; Menu bar stuff. Prefix is "bookmark-menu".