Defvarred some variables to nil, solely to avoid compilation warnings.
Use "Author's Update Number:" instead of "Version:".
(bookmark-history): new var.
(bookmark-completing-read): use `bookmark-history'.
(bookmark-historicize-string): new macro.
Use this everywhere `bookmark-completing-read' is used, because
`completing-read' won't get a chance to add to `bookmark-history' if
we were invoked via a menu.
(bookmark-rename): use `bookmark-history' when reading the new name.
No need for the strange C-o binding anymore.
(bookmark-insert-buffer-name): Use bookmark-buffer-name.
Replaces bookmark-insert-current-file-name.
(bookmark-make-cell): Use set-text-properties,
not format, to clear text properties.
Changed format of bookmark-alist and therefore of bookmark files.
Have version stamps in bookmark files.
Automatically upgrade old bookmark files to new format.
Changed name of default bookmark file to ".emacs.bmk".
Replaced "Bookmark-menu" with "bookmark-bmenu". The
capitalization signified nothing; "bmenu" means "buffer-menu"
-- that is, bmenu code is for the dired-like of bookmarks that
appears when `list-bookmarks' is run, and the "bookmark-menu"
prefix is for the menu-bar.
Internally, use an alist instead of hardcoded list-positions
for storing bookmark information.
Applied <johng@media.mit.edu>'s patches for annotation support:
(bookmark-send-annotation, bookmark-read-annotation-mode)
(bookmark-edit-annotation-mode, bookmark-default-annotation-text)
(bookmark-read-annotation-text-func, bookmark-read-annotation)
(bookmark-send-edited-annotation, bookmark-edit-annotation):
New functions.
(bookmark-get-bookmark, bookmark-get-bookmark-record)
(bookmark-name-from-full-record, bookmark-set-name)
(bookmark-get-annotation, bookmark-set-annotation)
(bookmark-get-info-node, bookmark-set-info-node)
(bookmark-get-filename, bookmark-set-filename)
(bookmark-get-position, bookmark-set-position)
(bookmark-get-front-context-string, bookmark-set-front-context-string)
(bookmark-get-rear-context-string, bookmark-set-rear-context-string):
New subroutines.
(bookmark-file-format-version, bookmark-end-of-version-stamp-marker):
New variables.
(bookmark-grok-file-format-version, bookmark-maybe-upgrade-file-format)
(bookmark-upgrade-version-0-alist, bookmark-upgrade-file-format-from-0)
(bookmark-insert-file-format-version-stamp): New functions.
(bookmark-maybe-load-default-file):
Renamed from bookmark-try-default-file'.
(bookmark-old-default-file): New variable.
(bookmark-default-file): Renamed from `bookmark-file'.
New initial value, ".emacs.bmk".
(bookmark-make-cell): Use backquote.
Produce with the new format (Format Version 1).
Use `format' to strip text-properties.
(bookmark-write-file): Use `pp' instead of `princ'.
Call `bookmark-insert-file-format-version-stamp'.
(bookmark-all-names, bookmark-menu-popup-paned-bookmark-menu)
(bookmark-menu-build-paned-menu, bookmark-menu-popup-paned-menu)
(bookmark-insert-location): New functions.
(bookmark-completing-read): New function. Everyone who called
`completing-read' in the interactive spec now calls this.
(bookmark-load-hook): New hook.
(bookmark-make-menu-alist): Function deleted.
(bookmark-popup-menu-and-apply-function): replaces
`bookmark-make-menu-with-function'.
(bookmark-load): Use `bookmark-alist-from-buffer'.
Call `bookmark-maybe-upgrade-file-format'.
(bookmark-set): If Info mode, record Info-current-node.
Use `bookmark-bmenu-surreptitiously-rebuild-list'.
(bookmark-buffer-file-name): Handle Info files.
(bookmark-buffer-name): If Info mode, return Info-current-node.
(bookmark-jump-noselect): For info node, use Info-goto-node.
Use the helper functions, don't mess with the raw
alist (except in completion, which we'll take care of later).
Don't count on `bookmark-search-size' being correct; use the
length of `forward-str' and `behind-str' instead.
(bookmark-relocate): Use the helper functions; don't mess
with the raw alist except in completion.
(bookmark-rename): C-o in minibuffer now inserts old name.
(bookmark-delete): New arg BATCH.
(bookmark-bmenu-execute-deletions): Was `bookmark-bmenu-execute'.
Just call bookmark-delete with the BATCH arg.
Set the modification count and maybe save when done.
Save point intuitively.
(bookmark-insert-current-file-name): Just use `file-name-nondirectory'.
(bookmark-location): Made non-interactive.
(bookmark-bmenu-list): Replaces `list-bookmarks'.
Delete arg ANNOTATION. Use mapcar to simplify.
If not interactive-p, then use `set-buffer' instead of
`switch-to-buffer'.
(bookmark-kill-line): New function, used instead of kill-line.
(bookmark-search-size): Init to 16 instead of 500.
Got rid of ###autoload to put a bookmark menu on the menu-bar. Now it
will appear on the File menu, fourth item down. menu-bar.el will be
modified to do this.
(bookmark-load, bookmark-write-file): made enable-local-eval be nil
when loading a bookmark file, since bookmark context strings can
contain eval forms from the files in which the bookmarks are set, and
we don't want them evalled when .emacs-bkmrks is found!
upped version to 2.4.1 after doing this.
(bookmark-version-control): New variable.
(bookmark-jump): bookmark-jump now gives a
default value if no bookmark is entered manually.
(bookmark-set): Default to bookmark-current-bookmark or
buffer-name the way bookmark-jump does.
(ctl-x-map): Check if C-x r is a prefix before using it as one.
Include string "Bookmarks" in defining
[menu-bar bookmark] in global-map in the menu-bar code.
(menu-bar-bookmark-map): Supply t as 4th arg of autoload.
(bookmark-jump-noselect): New subroutine taken from
bookmark-jump. Support compressed files.
(bookmark-jump): Call bookmark-jump-noselect.
Offer to relocate if necessary, but change default dir to that of
the old bookmark in read-file-name.
(bookmark-set, bookmark-rename, bookmark-delete,
bookmark-write-file, bookmark-load, Bookmark-menu-show-filenames,
Bookmark-menu-hide-filenames, Bookmark-menu-bookmark,
Bookmark-menu-save, Bookmark-menu-load): Fixed the save-excursion
bugs by wrapping things in save-window-excursion as well.
(bookmark-make-menu-bar-alist): Added sorting.
(bookmark-map): Added new keybindings.
(bookmark-try-default-file): Set bookmarks-already-loaded to t after the load.
(list-bookmarks): Added bookmark menu stuff.
(Bookmark-menu-*): New functions.