changeset 56059:4e04e776fb5e

* bookmark.el (bookmark-bmenu-relocate): New function, as suggested by David J. Biesack <David.Biesack@sas.com>. (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.
author Karl Fogel <kfogel@red-bean.com>
date Sun, 13 Jun 2004 01:59:21 +0000
parents 98d93acdeb6a
children 7296de1b215f
files lisp/ChangeLog lisp/bookmark.el
diffstat 2 files changed, 24 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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  <kfogel@red-bean.com>
+
+	* bookmark.el (bookmark-bmenu-relocate): New function, as
+	suggested by David J. Biesack <David.Biesack@sas.com>.
+	(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  <handa@m17n.org>
 
 	* international/utf-8.el (ccl-decode-mule-utf-8): Fix previous
--- 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".