whose calling discipline HANDLER-FUNC should of course match.")
-(defvar bookmarks-already-loaded nil)
+(defvar bookmarks-already-loaded nil
+ "Non-nil iff bookmarks have been loaded from `bookmark-default-file'.")
;; more stuff added by db.
"Length of the context strings recorded on either side of a bookmark.")
-(defvar bookmark-current-point 0)
-(defvar bookmark-yank-point 0)
-(defvar bookmark-current-buffer nil)
+(defvar bookmark-current-buffer nil
+ "The buffer in which a bookmark is currently being set or renamed.
+Functions that insert strings into the minibuffer use this to know
+the source buffer for that information; see `bookmark-yank-word' and
+`bookmark-insert-current-bookmark' for example.")
+
+
+(defvar bookmark-yank-point 0
+ "The next point from which to pull source text for `bookmark-yank-word'.
+This point is in `bookmark-curent-buffer'.")
+
-(defvar Info-suffix-list)
\f
;; Helper functions.
(bookmark-maybe-load-default-file)
- (setq bookmark-current-point (point))
(setq bookmark-yank-point (point))
(setq bookmark-current-buffer (current-buffer))
(bookmark-store str (cdr record) no-overwrite)
;; Ask for an annotation buffer for this bookmark
- (if bookmark-use-annotations
- (bookmark-edit-annotation str)
- (goto-char bookmark-current-point)))))
+ (when bookmark-use-annotations
+ (bookmark-edit-annotation str)))))
(defun bookmark-kill-line (&optional newline-too)
"Kill from point to end of line.
(let ((annotation (buffer-substring-no-properties (point-min) (point-max)))
(bookmark bookmark-annotation-name))
(bookmark-set-annotation bookmark annotation)
- (bookmark-bmenu-surreptitiously-rebuild-list)
- (goto-char bookmark-current-point))
+ (bookmark-bmenu-surreptitiously-rebuild-list))
(kill-buffer (current-buffer)))
(defun bookmark-insert-current-bookmark ()
- "Insert this buffer's value of `bookmark-current-bookmark'.
-Default to file name if it's nil."
+ "Insert into the bookmark name currently being set the value of
+`bookmark-current-bookmark' in `bookmark-current-buffer', defaulting
+to the buffer's file name if `bookmark-current-bookmark' is nil."
(interactive)
(let ((str
(with-current-buffer bookmark-current-buffer
(defun bookmark-yank-word ()
- "Get the next word from the buffer and append it to the name of the
-bookmark currently being set, advancing point by one word."
+ "Get the next word from buffer `bookmark-current-buffer' and append
+it to the name of the bookmark currently being set, advancing
+`bookmark-yank-point' by one word."
(interactive)
(let ((string (with-current-buffer bookmark-current-buffer
(goto-char bookmark-yank-point)
(bookmark-maybe-historicize-string old)
(bookmark-maybe-load-default-file)
- (setq bookmark-current-point (point))
(setq bookmark-yank-point (point))
(setq bookmark-current-buffer (current-buffer))
(let ((newname
(let ((bmrk (bookmark-bmenu-bookmark))
(thispoint (point)))
(bookmark-rename bmrk)
- (bookmark-bmenu-list)
(goto-char thispoint))))
;;;###autoload
(defvar menu-bar-bookmark-map
(let ((map (make-sparse-keymap "Bookmark functions")))
- (define-key map [load] '("Load a Bookmark File..." . bookmark-load))
- (define-key map [write] '("Save Bookmarks As..." . bookmark-write))
- (define-key map [save] '("Save Bookmarks" . bookmark-save))
- (define-key map [edit] '("Edit Bookmark List" . bookmark-bmenu-list))
- (define-key map [delete] '("Delete Bookmark..." . bookmark-delete))
- (define-key map [rename] '("Rename Bookmark..." . bookmark-rename))
- (define-key map [locate] '("Insert Location..." . bookmark-locate))
- (define-key map [insert] '("Insert Contents..." . bookmark-insert))
- (define-key map [set] '("Set Bookmark..." . bookmark-set))
- (define-key map [jump] '("Jump to Bookmark..." . bookmark-jump))
+ (define-key map [load]
+ `(menu-item ,(purecopy "Load a Bookmark File...") bookmark-load
+ :help ,(purecopy "Load bookmarks from a bookmark file)")))
+ (define-key map [write]
+ `(menu-item ,(purecopy "Save Bookmarks As...") bookmark-write
+ :help ,(purecopy "Write bookmarks to a file (reading the file name with the minibuffer)")))
+ (define-key map [save]
+ `(menu-item ,(purecopy "Save Bookmarks") bookmark-save
+ :help ,(purecopy "Save currently defined bookmarks")))
+ (define-key map [edit]
+ `(menu-item ,(purecopy "Edit Bookmark List") bookmark-bmenu-list
+ :help ,(purecopy "Display a list of existing bookmarks")))
+ (define-key map [delete]
+ `(menu-item ,(purecopy "Delete Bookmark...") bookmark-delete
+ :help ,(purecopy "Delete a bookmark from the bookmark list")))
+ (define-key map [rename]
+ `(menu-item ,(purecopy "Rename Bookmark...") bookmark-rename
+ :help ,(purecopy "Change the name of a bookmark")))
+ (define-key map [locate]
+ `(menu-item ,(purecopy "Insert Location...") bookmark-locate
+ :help ,(purecopy "Insert the name of the file associated with a bookmark")))
+ (define-key map [insert]
+ `(menu-item ,(purecopy "Insert Contents...") bookmark-insert
+ :help ,(purecopy "Insert the text of the file pointed to by a bookmark")))
+ (define-key map [set]
+ `(menu-item ,(purecopy "Set Bookmark...") bookmark-set
+ :help ,(purecopy "Set a bookmark named inside a file.")))
+ (define-key map [jump]
+ `(menu-item ,(purecopy "Jump to Bookmark...") bookmark-jump
+ :help ,(purecopy "Jump to a bookmark (a point in some file)")))
map))
;;;###autoload