]> git.eshelyaron.com Git - emacs.git/commitdiff
* bookmark.el (bookmark-bmenu-relocate): New function, as
authorKarl Fogel <kfogel@red-bean.com>
Sun, 13 Jun 2004 01:59:21 +0000 (01:59 +0000)
committerKarl Fogel <kfogel@red-bean.com>
Sun, 13 Jun 2004 01:59:21 +0000 (01:59 +0000)
  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.

lisp/ChangeLog
lisp/bookmark.el

index 6aaffb2c225b0cf30e4d1af3774404adaa4ceefd..17384998099526326680c87e0a95d3d84ae8d16b 100644 (file)
@@ -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
index 3ed66f229a87e9ae03c621aee15adb4fb8e905b0..b25c261c1e79eab71df950287a5a6fe1072bf322 100644 (file)
@@ -376,7 +376,11 @@ That is, all information but the name."
     (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 @@ method buffers use to resolve name collisions."
   (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 @@ Bookmark names preceded by a \"*\" have annotations.
   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 @@ To carry out the deletions that you've marked, use \\<bookmark-bmenu-mode-map>\\
       (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))))
 
 \f
 ;;; Menu bar stuff.  Prefix is "bookmark-menu".