2001-07-16 12:23:00 +00:00
|
|
|
|
;;; bookmark.el --- set bookmarks, maybe annotate them, jump to them later
|
1993-08-10 20:35:31 +00:00
|
|
|
|
|
2013-01-01 09:11:05 +00:00
|
|
|
|
;; Copyright (C) 1993-1997, 2001-2013 Free Software Foundation, Inc.
|
1993-08-10 20:35:31 +00:00
|
|
|
|
|
1996-01-05 21:57:54 +00:00
|
|
|
|
;; Author: Karl Fogel <kfogel@red-bean.com>
|
|
|
|
|
;; Maintainer: Karl Fogel <kfogel@red-bean.com>
|
1993-08-10 20:35:31 +00:00
|
|
|
|
;; Created: July, 1993
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
;; Keywords: bookmarks, placeholders, annotations
|
1993-08-10 20:35:31 +00:00
|
|
|
|
|
|
|
|
|
;; This file is part of GNU Emacs.
|
|
|
|
|
|
2008-05-06 08:06:51 +00:00
|
|
|
|
;; GNU Emacs is free software: you can redistribute it and/or modify
|
1993-08-10 20:35:31 +00:00
|
|
|
|
;; it under the terms of the GNU General Public License as published by
|
2008-05-06 08:06:51 +00:00
|
|
|
|
;; the Free Software Foundation, either version 3 of the License, or
|
|
|
|
|
;; (at your option) any later version.
|
1993-08-10 20:35:31 +00:00
|
|
|
|
|
|
|
|
|
;; GNU Emacs is distributed in the hope that it will be useful,
|
|
|
|
|
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
;; GNU General Public License for more details.
|
|
|
|
|
|
|
|
|
|
;; You should have received a copy of the GNU General Public License
|
2008-05-06 08:06:51 +00:00
|
|
|
|
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
|
1996-01-14 07:34:30 +00:00
|
|
|
|
|
|
|
|
|
;;; Commentary:
|
|
|
|
|
|
|
|
|
|
;; This package is for setting "bookmarks" in files. A bookmark
|
|
|
|
|
;; associates a string with a location in a certain file. Thus, you
|
|
|
|
|
;; can navigate your way to that location by providing the string.
|
|
|
|
|
;; See the "User Variables" section for customizations.
|
1993-08-10 20:35:31 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
2001-07-16 12:23:00 +00:00
|
|
|
|
;;; Code:
|
1993-08-10 20:35:31 +00:00
|
|
|
|
|
1996-01-14 07:34:30 +00:00
|
|
|
|
(require 'pp)
|
Reduce use of (require 'cl).
* admin/bzrmerge.el: Use cl-lib.
* leim/quail/hangul.el: Don't require CL.
* leim/quail/ipa.el: Use cl-lib.
* vc/smerge-mode.el, vc/pcvs.el, vc/pcvs-util.el, vc/pcvs-info.el:
* vc/diff-mode.el, vc/cvs-status.el, uniquify.el, scroll-bar.el:
* register.el, progmodes/sh-script.el, net/gnutls.el, net/dbus.el:
* msb.el, mpc.el, minibuffer.el, international/ucs-normalize.el:
* international/quail.el, info-xref.el, imenu.el, image-mode.el:
* font-lock.el, filesets.el, edmacro.el, doc-view.el, bookmark.el:
* battery.el, avoid.el, abbrev.el: Use cl-lib.
* vc/pcvs-parse.el, vc/pcvs-defs.el, vc/log-view.el, vc/log-edit.el:
* vc/diff.el, simple.el, pcomplete.el, lpr.el, comint.el, loadhist.el:
* jit-lock.el, international/iso-ascii.el, info.el, frame.el, bs.el:
* emulation/crisp.el, electric.el, dired.el, cus-dep.el, composite.el:
* calculator.el, autorevert.el, apropos.el: Don't require CL.
* emacs-bytecomp.el (byte-recompile-directory, display-call-tree)
(byte-compile-unfold-bcf, byte-compile-check-variable):
* emacs-byte-opt.el (byte-compile-trueconstp)
(byte-compile-nilconstp):
* emacs-autoload.el (make-autoload): Use pcase.
* face-remap.el (text-scale-adjust): Simplify pcase patterns.
2012-07-10 11:51:54 +00:00
|
|
|
|
(eval-when-compile (require 'cl-lib))
|
1996-01-14 07:34:30 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
;;; Misc comments:
|
1993-08-10 20:35:31 +00:00
|
|
|
|
;;
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
;; If variable bookmark-use-annotations is non-nil, an annotation is
|
2001-01-12 22:49:40 +00:00
|
|
|
|
;; queried for when setting a bookmark.
|
1993-08-13 00:59:51 +00:00
|
|
|
|
;;
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
;; The bookmark list is sorted lexically by default, but you can turn
|
|
|
|
|
;; this off by setting bookmark-sort-flag to nil. If it is nil, then
|
|
|
|
|
;; the list will be presented in the order it is recorded
|
|
|
|
|
;; (chronologically), which is actually fairly useful as well.
|
1993-08-10 20:35:31 +00:00
|
|
|
|
|
1995-06-18 22:46:02 +00:00
|
|
|
|
;;; User Variables
|
|
|
|
|
|
1997-04-12 03:18:33 +00:00
|
|
|
|
(defgroup bookmark nil
|
1997-04-12 03:22:41 +00:00
|
|
|
|
"Setting, annotation and jumping to bookmarks."
|
1997-04-12 03:18:33 +00:00
|
|
|
|
:group 'matching)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defcustom bookmark-use-annotations nil
|
2008-03-09 21:01:54 +00:00
|
|
|
|
"If non-nil, saving a bookmark queries for an annotation in a buffer."
|
1997-04-12 03:18:33 +00:00
|
|
|
|
:type 'boolean
|
|
|
|
|
:group 'bookmark)
|
1995-06-18 22:46:02 +00:00
|
|
|
|
|
|
|
|
|
|
1997-04-12 03:18:33 +00:00
|
|
|
|
(defcustom bookmark-save-flag t
|
2008-03-09 21:01:54 +00:00
|
|
|
|
"Controls when Emacs saves bookmarks to a file.
|
1997-04-12 03:22:41 +00:00
|
|
|
|
--> nil means never save bookmarks, except when `bookmark-save' is
|
2010-01-02 01:05:44 +00:00
|
|
|
|
explicitly called (\\[bookmark-save]).
|
1995-06-18 22:46:02 +00:00
|
|
|
|
--> t means save bookmarks when Emacs is killed.
|
1996-01-04 23:28:24 +00:00
|
|
|
|
--> Otherwise, it should be a number that is the frequency with which
|
2010-01-02 01:05:44 +00:00
|
|
|
|
the bookmark list is saved (i.e.: the number of times which
|
2012-02-28 08:17:21 +00:00
|
|
|
|
Emacs's bookmark list may be modified before it is automatically
|
2010-01-02 01:05:44 +00:00
|
|
|
|
saved.). If it is a number, Emacs will also automatically save
|
1995-06-18 22:46:02 +00:00
|
|
|
|
bookmarks when it is killed.
|
|
|
|
|
|
|
|
|
|
Therefore, the way to get it to save every time you make or delete a
|
2010-01-02 01:05:44 +00:00
|
|
|
|
bookmark is to set this variable to 1 (or 0, which produces the same
|
|
|
|
|
behavior.)
|
1995-06-18 22:46:02 +00:00
|
|
|
|
|
|
|
|
|
To specify the file in which to save them, modify the variable
|
1997-04-12 03:22:41 +00:00
|
|
|
|
`bookmark-default-file', which is `~/.emacs.bmk' by default."
|
1998-06-24 08:48:57 +00:00
|
|
|
|
:type '(choice (const nil) integer (other t))
|
1997-04-12 03:18:33 +00:00
|
|
|
|
:group 'bookmark)
|
1995-06-18 22:46:02 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defconst bookmark-old-default-file "~/.emacs-bkmrks"
|
2008-12-03 05:48:14 +00:00
|
|
|
|
"The `.emacs.bmk' file used to be called this name.")
|
1995-06-18 22:46:02 +00:00
|
|
|
|
|
|
|
|
|
|
2011-11-27 04:43:11 +00:00
|
|
|
|
;; defvared to avoid a compilation warning:
|
1995-06-18 22:46:02 +00:00
|
|
|
|
(defvar bookmark-file nil
|
|
|
|
|
"Old name for `bookmark-default-file'.")
|
|
|
|
|
|
1997-04-12 03:18:33 +00:00
|
|
|
|
(defcustom bookmark-default-file
|
1995-06-18 22:46:02 +00:00
|
|
|
|
(if bookmark-file
|
|
|
|
|
;; In case user set `bookmark-file' in her .emacs:
|
|
|
|
|
bookmark-file
|
2010-04-12 16:09:47 +00:00
|
|
|
|
(locate-user-emacs-file "bookmarks" ".emacs.bmk"))
|
2008-03-09 21:01:54 +00:00
|
|
|
|
"File in which to save bookmarks by default."
|
1997-04-12 03:18:33 +00:00
|
|
|
|
:type 'file
|
|
|
|
|
:group 'bookmark)
|
1995-06-18 22:46:02 +00:00
|
|
|
|
|
|
|
|
|
|
1997-04-12 03:18:33 +00:00
|
|
|
|
(defcustom bookmark-version-control 'nospecial
|
2008-03-09 21:01:54 +00:00
|
|
|
|
"Whether or not to make numbered backups of the bookmark file.
|
2012-10-01 03:32:06 +00:00
|
|
|
|
It can have four values: t, nil, `never', or `nospecial'.
|
1995-06-18 22:46:02 +00:00
|
|
|
|
The first three have the same meaning that they do for the
|
2012-10-01 03:32:06 +00:00
|
|
|
|
variable `version-control'; the value `nospecial' (the default) means
|
|
|
|
|
just use the value of `version-control'."
|
|
|
|
|
:type '(choice (const :tag "If existing" nil)
|
|
|
|
|
(const :tag "Never" never)
|
2012-10-01 04:15:48 +00:00
|
|
|
|
(const :tag "Use value of option `version-control'" nospecial)
|
|
|
|
|
(other :tag "Always" t))
|
1997-04-12 03:18:33 +00:00
|
|
|
|
:group 'bookmark)
|
1995-06-18 22:46:02 +00:00
|
|
|
|
|
|
|
|
|
|
1997-04-12 03:18:33 +00:00
|
|
|
|
(defcustom bookmark-completion-ignore-case t
|
2008-03-09 21:01:54 +00:00
|
|
|
|
"Non-nil means bookmark functions ignore case in completion."
|
1997-04-12 03:18:33 +00:00
|
|
|
|
:type 'boolean
|
|
|
|
|
:group 'bookmark)
|
1995-06-18 22:46:02 +00:00
|
|
|
|
|
|
|
|
|
|
1997-04-12 03:18:33 +00:00
|
|
|
|
(defcustom bookmark-sort-flag t
|
2008-03-09 21:01:54 +00:00
|
|
|
|
"Non-nil means that bookmarks will be displayed sorted by bookmark name.
|
1997-04-12 03:22:41 +00:00
|
|
|
|
Otherwise they will be displayed in LIFO order (that is, most
|
1997-04-12 03:18:33 +00:00
|
|
|
|
recently set ones come first, oldest ones come last)."
|
|
|
|
|
:type 'boolean
|
|
|
|
|
:group 'bookmark)
|
1995-06-18 22:46:02 +00:00
|
|
|
|
|
|
|
|
|
|
1997-04-12 03:18:33 +00:00
|
|
|
|
(defcustom bookmark-automatically-show-annotations t
|
2008-03-09 21:01:54 +00:00
|
|
|
|
"Non-nil means show annotations when jumping to a bookmark."
|
1997-04-12 03:18:33 +00:00
|
|
|
|
:type 'boolean
|
|
|
|
|
:group 'bookmark)
|
1995-06-18 22:46:02 +00:00
|
|
|
|
|
2013-03-07 22:33:22 +00:00
|
|
|
|
(defcustom bookmark-bmenu-use-header-line t
|
|
|
|
|
"Non-nil means to use an immovable header line, as opposed to inline
|
|
|
|
|
text at the top of the buffer."
|
|
|
|
|
:type 'boolean
|
|
|
|
|
:group 'bookmark)
|
1995-06-18 22:46:02 +00:00
|
|
|
|
|
2013-03-07 22:33:22 +00:00
|
|
|
|
(defconst bookmark-bmenu-inline-header-height 2
|
|
|
|
|
"Number of lines used for the *Bookmark List* header
|
|
|
|
|
\(only significant when `bookmark-bmenu-use-header-line' is nil\).")
|
2010-01-02 04:36:17 +00:00
|
|
|
|
|
2010-01-02 19:14:13 +00:00
|
|
|
|
(defconst bookmark-bmenu-marks-width 2
|
|
|
|
|
"Number of columns (chars) used for the *Bookmark List* marks column,
|
|
|
|
|
including the annotations column.")
|
2010-01-02 04:36:17 +00:00
|
|
|
|
|
1997-04-12 03:18:33 +00:00
|
|
|
|
(defcustom bookmark-bmenu-file-column 30
|
2008-03-09 21:01:54 +00:00
|
|
|
|
"Column at which to display filenames in a buffer listing bookmarks.
|
1997-04-12 03:18:33 +00:00
|
|
|
|
You can toggle whether files are shown with \\<bookmark-bmenu-mode-map>\\[bookmark-bmenu-toggle-filenames]."
|
|
|
|
|
:type 'integer
|
|
|
|
|
:group 'bookmark)
|
1995-06-18 22:46:02 +00:00
|
|
|
|
|
|
|
|
|
|
1997-04-12 03:18:33 +00:00
|
|
|
|
(defcustom bookmark-bmenu-toggle-filenames t
|
2008-03-09 21:01:54 +00:00
|
|
|
|
"Non-nil means show filenames when listing bookmarks.
|
2012-09-17 05:41:04 +00:00
|
|
|
|
A non-nil value may result in truncated bookmark names."
|
1997-04-12 03:18:33 +00:00
|
|
|
|
:type 'boolean
|
|
|
|
|
:group 'bookmark)
|
1995-06-18 22:46:02 +00:00
|
|
|
|
|
2013-03-07 22:35:47 +00:00
|
|
|
|
(defface bookmark-menu-bookmark
|
|
|
|
|
'((t (:weight bold)))
|
|
|
|
|
"Face used to highlight bookmark names in bookmark menu buffers."
|
|
|
|
|
:group 'bookmark)
|
1995-06-18 22:46:02 +00:00
|
|
|
|
|
1997-04-12 03:18:33 +00:00
|
|
|
|
(defcustom bookmark-menu-length 70
|
2008-03-09 21:01:54 +00:00
|
|
|
|
"Maximum length of a bookmark name displayed on a popup menu."
|
1997-04-12 03:18:33 +00:00
|
|
|
|
:type 'integer
|
2002-11-18 00:15:37 +00:00
|
|
|
|
:group 'bookmark)
|
1995-06-18 22:46:02 +00:00
|
|
|
|
|
2009-11-21 04:43:10 +00:00
|
|
|
|
;; FIXME: Is it really worth a customization option?
|
2009-11-20 15:47:26 +00:00
|
|
|
|
(defcustom bookmark-search-delay 0.2
|
2009-11-21 04:43:10 +00:00
|
|
|
|
"Time before `bookmark-bmenu-search' updates the display."
|
2009-11-20 15:47:26 +00:00
|
|
|
|
:group 'bookmark
|
|
|
|
|
:type 'integer)
|
|
|
|
|
|
2005-10-19 09:45:43 +00:00
|
|
|
|
(defface bookmark-menu-heading
|
|
|
|
|
'((t (:inherit font-lock-type-face)))
|
|
|
|
|
"Face used to highlight the heading in bookmark menu buffers."
|
|
|
|
|
:group 'bookmark
|
|
|
|
|
:version "22.1")
|
|
|
|
|
|
|
|
|
|
|
1995-06-18 22:46:02 +00:00
|
|
|
|
;;; No user-serviceable parts beyond this point.
|
1993-08-10 20:35:31 +00:00
|
|
|
|
|
|
|
|
|
;; Added for lucid emacs compatibility, db
|
|
|
|
|
(or (fboundp 'defalias) (fset 'defalias 'fset))
|
|
|
|
|
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
;; suggested for lucid compatibility by david hughes:
|
1995-06-18 22:46:02 +00:00
|
|
|
|
(or (fboundp 'frame-height) (defalias 'frame-height 'screen-height))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
;;; Keymap stuff:
|
1993-08-10 20:35:31 +00:00
|
|
|
|
|
1997-07-10 06:43:19 +00:00
|
|
|
|
;; Set up these bindings dumping time *only*;
|
|
|
|
|
;; if the user alters them, don't override the user when loading bookmark.el.
|
|
|
|
|
|
2008-06-30 19:37:44 +00:00
|
|
|
|
;;;###autoload (define-key ctl-x-r-map "b" 'bookmark-jump)
|
|
|
|
|
;;;###autoload (define-key ctl-x-r-map "m" 'bookmark-set)
|
|
|
|
|
;;;###autoload (define-key ctl-x-r-map "l" 'bookmark-bmenu-list)
|
2007-07-15 01:34:15 +00:00
|
|
|
|
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
;;;###autoload
|
2008-03-07 05:00:18 +00:00
|
|
|
|
(defvar bookmark-map
|
|
|
|
|
(let ((map (make-sparse-keymap)))
|
|
|
|
|
;; Read the help on all of these functions for details...
|
|
|
|
|
(define-key map "x" 'bookmark-set)
|
|
|
|
|
(define-key map "m" 'bookmark-set) ;"m"ark
|
|
|
|
|
(define-key map "j" 'bookmark-jump)
|
|
|
|
|
(define-key map "g" 'bookmark-jump) ;"g"o
|
|
|
|
|
(define-key map "o" 'bookmark-jump-other-window)
|
|
|
|
|
(define-key map "i" 'bookmark-insert)
|
|
|
|
|
(define-key map "e" 'edit-bookmarks)
|
|
|
|
|
(define-key map "f" 'bookmark-insert-location) ;"f"ind
|
|
|
|
|
(define-key map "r" 'bookmark-rename)
|
|
|
|
|
(define-key map "d" 'bookmark-delete)
|
|
|
|
|
(define-key map "l" 'bookmark-load)
|
|
|
|
|
(define-key map "w" 'bookmark-write)
|
|
|
|
|
(define-key map "s" 'bookmark-save)
|
|
|
|
|
map)
|
1993-08-14 19:49:27 +00:00
|
|
|
|
"Keymap containing bindings to bookmark functions.
|
|
|
|
|
It is not bound to any key by default: to bind it
|
|
|
|
|
so that you have a bookmark prefix, just use `global-set-key' and bind a
|
|
|
|
|
key of your choice to `bookmark-map'. All interactive bookmark
|
1993-08-10 20:35:31 +00:00
|
|
|
|
functions have a binding in this keymap.")
|
|
|
|
|
|
2008-03-07 05:00:18 +00:00
|
|
|
|
;;;###autoload (fset 'bookmark-map bookmark-map)
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;;; Core variables and data structures:
|
1993-08-14 19:52:32 +00:00
|
|
|
|
(defvar bookmark-alist ()
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
"Association list of bookmarks and their records.
|
2009-10-25 02:07:45 +00:00
|
|
|
|
Bookmark functions update the value automatically.
|
|
|
|
|
You probably do NOT want to change the value yourself.
|
1995-06-18 22:46:02 +00:00
|
|
|
|
|
2009-10-25 02:07:45 +00:00
|
|
|
|
The value is an alist with entries of the form
|
1995-06-18 22:46:02 +00:00
|
|
|
|
|
2009-10-25 02:07:45 +00:00
|
|
|
|
(BOOKMARK-NAME . PARAM-ALIST)
|
1995-06-18 22:46:02 +00:00
|
|
|
|
|
2009-10-25 02:07:45 +00:00
|
|
|
|
or the deprecated form (BOOKMARK-NAME PARAM-ALIST).
|
1995-06-18 22:46:02 +00:00
|
|
|
|
|
2009-10-25 02:07:45 +00:00
|
|
|
|
BOOKMARK-NAME is the name you gave to the bookmark when creating it.
|
1995-06-18 22:46:02 +00:00
|
|
|
|
|
2009-10-25 02:07:45 +00:00
|
|
|
|
PARAM-ALIST is an alist of bookmark information. The order of the
|
|
|
|
|
entries in PARAM-ALIST is not important. The possible entries are
|
|
|
|
|
described below. An entry with a key but null value means the entry
|
|
|
|
|
is not used.
|
2008-06-25 16:51:33 +00:00
|
|
|
|
|
2009-10-25 02:07:45 +00:00
|
|
|
|
(filename . FILENAME)
|
2008-06-25 16:51:33 +00:00
|
|
|
|
(position . POS)
|
2009-10-25 02:07:45 +00:00
|
|
|
|
(front-context-string . STR-AFTER-POS)
|
|
|
|
|
(rear-context-string . STR-BEFORE-POS)
|
|
|
|
|
(handler . HANDLER)
|
|
|
|
|
(annotation . ANNOTATION)
|
|
|
|
|
|
|
|
|
|
FILENAME names the bookmarked file.
|
|
|
|
|
POS is the bookmarked buffer position (position in the file).
|
|
|
|
|
STR-AFTER-POS is buffer text that immediately follows POS.
|
|
|
|
|
STR-BEFORE-POS is buffer text that immediately precedes POS.
|
|
|
|
|
ANNOTATION is a string that describes the bookmark.
|
|
|
|
|
See options `bookmark-use-annotations' and
|
|
|
|
|
`bookmark-automatically-show-annotations'.
|
|
|
|
|
HANDLER is a function that provides the bookmark-jump behavior for a
|
|
|
|
|
specific kind of bookmark. This is the case for Info bookmarks,
|
|
|
|
|
for instance. HANDLER must accept a bookmark as argument.")
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
2009-10-10 21:48:22 +00:00
|
|
|
|
(defvar bookmarks-already-loaded nil
|
2010-01-02 01:05:44 +00:00
|
|
|
|
"Non-nil if and only if bookmarks have been loaded from `bookmark-default-file'.")
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
1993-08-10 20:35:31 +00:00
|
|
|
|
;; more stuff added by db.
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
2001-01-12 22:49:40 +00:00
|
|
|
|
(defvar bookmark-current-bookmark nil
|
1993-08-14 19:49:27 +00:00
|
|
|
|
"Name of bookmark most recently used in the current file.
|
|
|
|
|
It is buffer local, used to make moving a bookmark forward
|
1993-08-14 11:04:06 +00:00
|
|
|
|
through a file easier.")
|
1993-08-10 20:35:31 +00:00
|
|
|
|
|
|
|
|
|
(make-variable-buffer-local 'bookmark-current-bookmark)
|
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
1993-08-10 20:35:31 +00:00
|
|
|
|
(defvar bookmark-alist-modification-count 0
|
1993-08-14 19:49:27 +00:00
|
|
|
|
"Number of modifications to bookmark list since it was last saved.")
|
1993-08-10 20:35:31 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
(defvar bookmark-search-size 16
|
1993-08-14 19:49:27 +00:00
|
|
|
|
"Length of the context strings recorded on either side of a bookmark.")
|
1993-08-10 20:35:31 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
2009-10-10 21:48:22 +00:00
|
|
|
|
(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
|
2012-08-08 08:48:57 +00:00
|
|
|
|
the source buffer for that information; see `bookmark-yank-word'
|
|
|
|
|
for example.")
|
2009-10-10 21:48:22 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defvar bookmark-yank-point 0
|
|
|
|
|
"The next point from which to pull source text for `bookmark-yank-word'.
|
2010-01-02 01:05:44 +00:00
|
|
|
|
This point is in `bookmark-current-buffer'.")
|
2009-10-10 21:48:22 +00:00
|
|
|
|
|
1993-08-10 20:35:31 +00:00
|
|
|
|
|
2009-11-20 15:47:26 +00:00
|
|
|
|
(defvar bookmark-quit-flag nil
|
|
|
|
|
"Non nil make `bookmark-bmenu-search' quit immediately.")
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
2010-01-02 18:52:32 +00:00
|
|
|
|
;; Helper functions and macros.
|
|
|
|
|
|
|
|
|
|
(defmacro with-buffer-modified-unmodified (&rest body)
|
|
|
|
|
"Run BODY while preserving the buffer's `buffer-modified-p' state."
|
|
|
|
|
(let ((was-modified (make-symbol "was-modified")))
|
|
|
|
|
`(let ((,was-modified (buffer-modified-p)))
|
|
|
|
|
(unwind-protect
|
|
|
|
|
(progn ,@body)
|
|
|
|
|
(set-buffer-modified-p ,was-modified)))))
|
|
|
|
|
|
|
|
|
|
;; Only functions below, in this page and the next one (file formats),
|
|
|
|
|
;; need to know anything about the format of bookmark-alist entries.
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
;; Everyone else should go through them.
|
|
|
|
|
|
2010-12-12 16:53:24 +00:00
|
|
|
|
(defun bookmark-name-from-full-record (bookmark-record)
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
"Return the name of BOOKMARK-RECORD. BOOKMARK-RECORD is, e.g.,
|
|
|
|
|
one element from `bookmark-alist'."
|
|
|
|
|
(car bookmark-record))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defun bookmark-all-names ()
|
|
|
|
|
"Return a list of all current bookmark names."
|
|
|
|
|
(bookmark-maybe-load-default-file)
|
2010-12-12 16:53:24 +00:00
|
|
|
|
(mapcar 'bookmark-name-from-full-record bookmark-alist))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark-get-bookmark (bookmark-name-or-record &optional noerror)
|
|
|
|
|
"Return the bookmark record corresponding to BOOKMARK-NAME-OR-RECORD.
|
|
|
|
|
If BOOKMARK-NAME-OR-RECORD is a string, look for the corresponding
|
|
|
|
|
bookmark record in `bookmark-alist'; return it if found, otherwise
|
|
|
|
|
error. Else if BOOKMARK-NAME-OR-RECORD is already a bookmark record,
|
|
|
|
|
just return it."
|
2008-06-25 16:51:33 +00:00
|
|
|
|
(cond
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
((consp bookmark-name-or-record) bookmark-name-or-record)
|
|
|
|
|
((stringp bookmark-name-or-record)
|
|
|
|
|
(or (assoc-string bookmark-name-or-record bookmark-alist
|
|
|
|
|
bookmark-completion-ignore-case)
|
|
|
|
|
(unless noerror (error "Invalid bookmark %s"
|
|
|
|
|
bookmark-name-or-record))))))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defun bookmark-get-bookmark-record (bookmark-name-or-record)
|
|
|
|
|
"Return the record portion of the entry for BOOKMARK-NAME-OR-RECORD in
|
|
|
|
|
`bookmark-alist' (that is, all information but the name)."
|
|
|
|
|
(let ((alist (cdr (bookmark-get-bookmark bookmark-name-or-record))))
|
2008-06-25 16:51:33 +00:00
|
|
|
|
;; The bookmark objects can either look like (NAME ALIST) or
|
|
|
|
|
;; (NAME . ALIST), so we have to distinguish the two here.
|
|
|
|
|
(if (and (null (cdr alist)) (consp (caar alist)))
|
|
|
|
|
(car alist) alist)))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark-set-name (bookmark-name-or-record newname)
|
|
|
|
|
"Set BOOKMARK-NAME-OR-RECORD's name to NEWNAME."
|
|
|
|
|
(setcar (bookmark-get-bookmark bookmark-name-or-record) newname))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark-prop-get (bookmark-name-or-record prop)
|
|
|
|
|
"Return the property PROP of BOOKMARK-NAME-OR-RECORD, or nil if none."
|
|
|
|
|
(cdr (assq prop (bookmark-get-bookmark-record bookmark-name-or-record))))
|
2008-03-08 22:07:23 +00:00
|
|
|
|
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark-prop-set (bookmark-name-or-record prop val)
|
|
|
|
|
"Set the property PROP of BOOKMARK-NAME-OR-RECORD to VAL."
|
|
|
|
|
(let ((cell (assq
|
|
|
|
|
prop (bookmark-get-bookmark-record bookmark-name-or-record))))
|
2008-03-08 22:07:23 +00:00
|
|
|
|
(if cell
|
|
|
|
|
(setcdr cell val)
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(nconc (bookmark-get-bookmark-record bookmark-name-or-record)
|
2008-03-08 22:07:23 +00:00
|
|
|
|
(list (cons prop val))))))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark-get-annotation (bookmark-name-or-record)
|
|
|
|
|
"Return the annotation of BOOKMARK-NAME-OR-RECORD, or nil if none."
|
|
|
|
|
(bookmark-prop-get bookmark-name-or-record 'annotation))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark-set-annotation (bookmark-name-or-record ann)
|
|
|
|
|
"Set the annotation of BOOKMARK-NAME-OR-RECORD to ANN."
|
|
|
|
|
(bookmark-prop-set bookmark-name-or-record 'annotation ann))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark-get-filename (bookmark-name-or-record)
|
|
|
|
|
"Return the full filename of BOOKMARK-NAME-OR-RECORD, or nil if none."
|
|
|
|
|
(bookmark-prop-get bookmark-name-or-record 'filename))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark-set-filename (bookmark-name-or-record filename)
|
|
|
|
|
"Set the full filename of BOOKMARK-NAME-OR-RECORD to FILENAME."
|
|
|
|
|
(bookmark-prop-set bookmark-name-or-record 'filename filename))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark-get-position (bookmark-name-or-record)
|
|
|
|
|
"Return the position (i.e.: point) of BOOKMARK-NAME-OR-RECORD, or nil if none."
|
|
|
|
|
(bookmark-prop-get bookmark-name-or-record 'position))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark-set-position (bookmark-name-or-record position)
|
|
|
|
|
"Set the position (i.e.: point) of BOOKMARK-NAME-OR-RECORD to POSITION."
|
|
|
|
|
(bookmark-prop-set bookmark-name-or-record 'position position))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark-get-front-context-string (bookmark-name-or-record)
|
|
|
|
|
"Return the front-context-string of BOOKMARK-NAME-OR-RECORD, or nil if none."
|
|
|
|
|
(bookmark-prop-get bookmark-name-or-record 'front-context-string))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark-set-front-context-string (bookmark-name-or-record string)
|
|
|
|
|
"Set the front-context-string of BOOKMARK-NAME-OR-RECORD to STRING."
|
|
|
|
|
(bookmark-prop-set bookmark-name-or-record 'front-context-string string))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark-get-rear-context-string (bookmark-name-or-record)
|
|
|
|
|
"Return the rear-context-string of BOOKMARK-NAME-OR-RECORD, or nil if none."
|
|
|
|
|
(bookmark-prop-get bookmark-name-or-record 'rear-context-string))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark-set-rear-context-string (bookmark-name-or-record string)
|
|
|
|
|
"Set the rear-context-string of BOOKMARK-NAME-OR-RECORD to STRING."
|
|
|
|
|
(bookmark-prop-set bookmark-name-or-record 'rear-context-string string))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark-get-handler (bookmark-name-or-record)
|
|
|
|
|
"Return the handler function for BOOKMARK-NAME-OR-RECORD, or nil if none."
|
|
|
|
|
(bookmark-prop-get bookmark-name-or-record 'handler))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
1995-03-13 22:50:35 +00:00
|
|
|
|
(defvar bookmark-history nil
|
|
|
|
|
"The history list for bookmark functions.")
|
|
|
|
|
|
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(defun bookmark-completing-read (prompt &optional default)
|
|
|
|
|
"Prompting with PROMPT, read a bookmark name in completion.
|
|
|
|
|
PROMPT will get a \": \" stuck on the end no matter what, so you
|
|
|
|
|
probably don't want to include one yourself.
|
|
|
|
|
Optional second arg DEFAULT is a string to return if the user enters
|
|
|
|
|
the empty string."
|
|
|
|
|
(bookmark-maybe-load-default-file) ; paranoia
|
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Return a string, instead of a list of one string.
(bookmark-edit-annotation): Remove unused vars.
(bookmark-jump, bookmark-relocate, bookmark-insert-location)
(bookmark-rename, bookmark-insert, bookmark-delete): Adjust calls
to bookmark-completing-read.
(bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames)
(bookmark-bmenu-mark, bookmark-bmenu-select, bookmark-bmenu-unmark)
(bookmark-bmenu-delete, bookmark-bmenu-list): Use inhibit-read-only
and erase-buffer.
(bookmark-menu-delete, bookmark-menu-rename, bookmark-menu-locate)
(bookmark-menu-jump, bookmark-menu-insert)
(bookmark-popup-menu-and-apply-function)
(bookmark-menu-popup-paned-bookmark-menu): Remove.
(bookmark-menu-build-paned-menu): Remove by folding it into
bookmark-menu-popup-paned-menu.
(menu-bar-bookmark-map): Move the define-key statements here.
Use the "non-menu" commands since they now pop up a menu if needed.
(bookmark-exit-hook-internal): Simplify.
2003-08-11 17:30:47 +00:00
|
|
|
|
(if (listp last-nonmenu-event)
|
2009-11-08 23:01:45 +00:00
|
|
|
|
(bookmark-menu-popup-paned-menu t prompt
|
|
|
|
|
(if bookmark-sort-flag
|
|
|
|
|
(sort (bookmark-all-names)
|
|
|
|
|
'string-lessp)
|
|
|
|
|
(bookmark-all-names)))
|
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Return a string, instead of a list of one string.
(bookmark-edit-annotation): Remove unused vars.
(bookmark-jump, bookmark-relocate, bookmark-insert-location)
(bookmark-rename, bookmark-insert, bookmark-delete): Adjust calls
to bookmark-completing-read.
(bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames)
(bookmark-bmenu-mark, bookmark-bmenu-select, bookmark-bmenu-unmark)
(bookmark-bmenu-delete, bookmark-bmenu-list): Use inhibit-read-only
and erase-buffer.
(bookmark-menu-delete, bookmark-menu-rename, bookmark-menu-locate)
(bookmark-menu-jump, bookmark-menu-insert)
(bookmark-popup-menu-and-apply-function)
(bookmark-menu-popup-paned-bookmark-menu): Remove.
(bookmark-menu-build-paned-menu): Remove by folding it into
bookmark-menu-popup-paned-menu.
(menu-bar-bookmark-map): Move the define-key statements here.
Use the "non-menu" commands since they now pop up a menu if needed.
(bookmark-exit-hook-internal): Simplify.
2003-08-11 17:30:47 +00:00
|
|
|
|
(let* ((completion-ignore-case bookmark-completion-ignore-case)
|
|
|
|
|
(default default)
|
2009-10-28 03:09:11 +00:00
|
|
|
|
(prompt (concat prompt (if default
|
|
|
|
|
(format " (%s): " default)
|
|
|
|
|
": ")))
|
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Return a string, instead of a list of one string.
(bookmark-edit-annotation): Remove unused vars.
(bookmark-jump, bookmark-relocate, bookmark-insert-location)
(bookmark-rename, bookmark-insert, bookmark-delete): Adjust calls
to bookmark-completing-read.
(bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames)
(bookmark-bmenu-mark, bookmark-bmenu-select, bookmark-bmenu-unmark)
(bookmark-bmenu-delete, bookmark-bmenu-list): Use inhibit-read-only
and erase-buffer.
(bookmark-menu-delete, bookmark-menu-rename, bookmark-menu-locate)
(bookmark-menu-jump, bookmark-menu-insert)
(bookmark-popup-menu-and-apply-function)
(bookmark-menu-popup-paned-bookmark-menu): Remove.
(bookmark-menu-build-paned-menu): Remove by folding it into
bookmark-menu-popup-paned-menu.
(menu-bar-bookmark-map): Move the define-key statements here.
Use the "non-menu" commands since they now pop up a menu if needed.
(bookmark-exit-hook-internal): Simplify.
2003-08-11 17:30:47 +00:00
|
|
|
|
(str
|
|
|
|
|
(completing-read prompt
|
2012-10-26 17:20:54 +00:00
|
|
|
|
(lambda (string pred action)
|
|
|
|
|
(if (eq action 'metadata)
|
|
|
|
|
'(metadata (category . bookmark))
|
|
|
|
|
(complete-with-action
|
|
|
|
|
action bookmark-alist string pred)))
|
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Return a string, instead of a list of one string.
(bookmark-edit-annotation): Remove unused vars.
(bookmark-jump, bookmark-relocate, bookmark-insert-location)
(bookmark-rename, bookmark-insert, bookmark-delete): Adjust calls
to bookmark-completing-read.
(bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames)
(bookmark-bmenu-mark, bookmark-bmenu-select, bookmark-bmenu-unmark)
(bookmark-bmenu-delete, bookmark-bmenu-list): Use inhibit-read-only
and erase-buffer.
(bookmark-menu-delete, bookmark-menu-rename, bookmark-menu-locate)
(bookmark-menu-jump, bookmark-menu-insert)
(bookmark-popup-menu-and-apply-function)
(bookmark-menu-popup-paned-bookmark-menu): Remove.
(bookmark-menu-build-paned-menu): Remove by folding it into
bookmark-menu-popup-paned-menu.
(menu-bar-bookmark-map): Move the define-key statements here.
Use the "non-menu" commands since they now pop up a menu if needed.
(bookmark-exit-hook-internal): Simplify.
2003-08-11 17:30:47 +00:00
|
|
|
|
nil
|
|
|
|
|
0
|
|
|
|
|
nil
|
|
|
|
|
'bookmark-history)))
|
|
|
|
|
(if (string-equal "" str) default str))))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
|
1995-03-13 22:50:35 +00:00
|
|
|
|
(defmacro bookmark-maybe-historicize-string (string)
|
|
|
|
|
"Put STRING into the bookmark prompt history, if caller non-interactive.
|
|
|
|
|
We need this because sometimes bookmark functions are invoked from
|
|
|
|
|
menus, so `completing-read' never gets a chance to set `bookmark-history'."
|
2001-01-12 22:49:40 +00:00
|
|
|
|
`(or
|
2009-10-02 03:48:36 +00:00
|
|
|
|
(called-interactively-p 'interactive)
|
2001-01-12 22:49:40 +00:00
|
|
|
|
(setq bookmark-history (cons ,string bookmark-history))))
|
1995-03-13 22:50:35 +00:00
|
|
|
|
|
2008-06-25 16:51:33 +00:00
|
|
|
|
(defvar bookmark-make-record-function 'bookmark-make-record-default
|
2008-03-07 05:44:37 +00:00
|
|
|
|
"A function that should be called to create a bookmark record.
|
|
|
|
|
Modes may set this variable buffer-locally to enable bookmarking of
|
|
|
|
|
locations that should be treated specially, such as Info nodes,
|
|
|
|
|
news posts, images, pdf documents, etc.
|
2007-12-26 08:53:06 +00:00
|
|
|
|
|
2008-03-09 03:05:34 +00:00
|
|
|
|
The function will be called with no arguments.
|
2008-06-25 16:51:33 +00:00
|
|
|
|
It should signal a user error if it is unable to construct a record for
|
|
|
|
|
the current location.
|
2008-03-09 21:35:01 +00:00
|
|
|
|
|
|
|
|
|
The returned record should be a cons cell of the form (NAME . ALIST)
|
|
|
|
|
where ALIST is as described in `bookmark-alist' and may typically contain
|
2009-10-04 23:48:33 +00:00
|
|
|
|
a special cons (handler . HANDLER-FUNC) which specifies the handler function
|
|
|
|
|
that should be used instead of `bookmark-default-handler' to open this
|
|
|
|
|
bookmark. See the documentation for `bookmark-alist' for more.
|
2008-03-09 21:35:01 +00:00
|
|
|
|
|
|
|
|
|
NAME is a suggested name for the constructed bookmark. It can be nil
|
2008-06-25 16:51:33 +00:00
|
|
|
|
in which case a default heuristic will be used. The function can also
|
|
|
|
|
equivalently just return ALIST without NAME.")
|
2008-03-09 21:35:01 +00:00
|
|
|
|
|
|
|
|
|
(defun bookmark-make-record ()
|
|
|
|
|
"Return a new bookmark record (NAME . ALIST) for the current location."
|
|
|
|
|
(let ((record (funcall bookmark-make-record-function)))
|
2012-08-08 08:48:57 +00:00
|
|
|
|
;; Set up defaults.
|
|
|
|
|
(bookmark-prop-set
|
|
|
|
|
record 'defaults
|
|
|
|
|
(delq nil (delete-dups (append (bookmark-prop-get record 'defaults)
|
|
|
|
|
(list bookmark-current-bookmark
|
|
|
|
|
(bookmark-buffer-name))))))
|
2008-03-09 21:35:01 +00:00
|
|
|
|
;; Set up default name.
|
|
|
|
|
(if (stringp (car record))
|
|
|
|
|
;; The function already provided a default name.
|
|
|
|
|
record
|
|
|
|
|
(if (car record) (push nil record))
|
|
|
|
|
(setcar record (or bookmark-current-bookmark (bookmark-buffer-name)))
|
|
|
|
|
record)))
|
|
|
|
|
|
|
|
|
|
(defun bookmark-store (name alist no-overwrite)
|
|
|
|
|
"Store the bookmark NAME with data ALIST.
|
|
|
|
|
If NO-OVERWRITE is non-nil and another bookmark of the same name already
|
|
|
|
|
exists in `bookmark-alist', record the new bookmark without throwing away the
|
|
|
|
|
old one."
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(bookmark-maybe-load-default-file)
|
1995-07-17 23:19:51 +00:00
|
|
|
|
(let ((stripped-name (copy-sequence name)))
|
2007-09-22 03:11:04 +00:00
|
|
|
|
(or (featurep 'xemacs)
|
1995-12-30 19:52:40 +00:00
|
|
|
|
;; XEmacs's `set-text-properties' doesn't work on
|
|
|
|
|
;; free-standing strings, apparently.
|
|
|
|
|
(set-text-properties 0 (length stripped-name) nil stripped-name))
|
2008-11-21 19:29:16 +00:00
|
|
|
|
(if (and (not no-overwrite)
|
|
|
|
|
(bookmark-get-bookmark stripped-name 'noerror))
|
1996-01-04 23:28:24 +00:00
|
|
|
|
;; already existing bookmark under that name and
|
1995-07-17 23:19:51 +00:00
|
|
|
|
;; no prefix arg means just overwrite old bookmark
|
2008-06-25 16:51:33 +00:00
|
|
|
|
;; Use the new (NAME . ALIST) format.
|
|
|
|
|
(setcdr (bookmark-get-bookmark stripped-name) alist)
|
2001-01-12 22:49:40 +00:00
|
|
|
|
|
1995-07-17 23:19:51 +00:00
|
|
|
|
;; otherwise just cons it onto the front (either the bookmark
|
|
|
|
|
;; doesn't exist already, or there is no prefix arg. In either
|
|
|
|
|
;; case, we want the new bookmark consed onto the alist...)
|
2001-01-12 22:49:40 +00:00
|
|
|
|
|
2008-06-25 16:51:33 +00:00
|
|
|
|
(push (cons stripped-name alist) bookmark-alist))
|
2001-01-12 22:49:40 +00:00
|
|
|
|
|
1995-07-17 23:19:51 +00:00
|
|
|
|
;; Added by db
|
|
|
|
|
(setq bookmark-current-bookmark stripped-name)
|
|
|
|
|
(setq bookmark-alist-modification-count
|
|
|
|
|
(1+ bookmark-alist-modification-count))
|
|
|
|
|
(if (bookmark-time-to-save-p)
|
2008-03-09 21:35:01 +00:00
|
|
|
|
(bookmark-save))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
2008-03-09 21:35:01 +00:00
|
|
|
|
(setq bookmark-current-bookmark stripped-name)
|
|
|
|
|
(bookmark-bmenu-surreptitiously-rebuild-list)))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
2010-07-14 15:57:54 +00:00
|
|
|
|
(defun bookmark-make-record-default (&optional no-file no-context posn)
|
2008-03-09 03:05:34 +00:00
|
|
|
|
"Return the record describing the location of a new bookmark.
|
2010-07-14 15:57:54 +00:00
|
|
|
|
Point should be at the buffer in which the bookmark is being set,
|
|
|
|
|
and normally should be at the position where the bookmark is desired,
|
|
|
|
|
but see the optional arguments for other possibilities.
|
|
|
|
|
|
|
|
|
|
If NO-FILE is non-nil, then only return the subset of the
|
|
|
|
|
record that pertains to the location within the buffer, leaving off
|
|
|
|
|
the part that records the filename.
|
|
|
|
|
|
|
|
|
|
If NO-CONTEXT is non-nil, do not include the front- and rear-context
|
|
|
|
|
strings in the record -- the position is enough.
|
|
|
|
|
|
|
|
|
|
If POSN is non-nil, record POSN as the point instead of `(point)'."
|
|
|
|
|
`(,@(unless no-file `((filename . ,(bookmark-buffer-file-name))))
|
|
|
|
|
,@(unless no-context `((front-context-string
|
|
|
|
|
. ,(if (>= (- (point-max) (point))
|
|
|
|
|
bookmark-search-size)
|
|
|
|
|
(buffer-substring-no-properties
|
|
|
|
|
(point)
|
|
|
|
|
(+ (point) bookmark-search-size))
|
|
|
|
|
nil))))
|
|
|
|
|
,@(unless no-context `((rear-context-string
|
|
|
|
|
. ,(if (>= (- (point) (point-min))
|
|
|
|
|
bookmark-search-size)
|
|
|
|
|
(buffer-substring-no-properties
|
|
|
|
|
(point)
|
|
|
|
|
(- (point) bookmark-search-size))
|
|
|
|
|
nil))))
|
|
|
|
|
(position . ,(or posn (point)))))
|
2001-01-12 22:49:40 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
;;; File format stuff
|
|
|
|
|
|
2009-10-25 02:07:45 +00:00
|
|
|
|
;; *IMPORTANT NOTICE* If you are thinking about modifying (redefining)
|
|
|
|
|
;; the bookmark file format -- please don't. The current format
|
|
|
|
|
;; should be extensible enough. If you feel the need to change it,
|
|
|
|
|
;; please discuss it with other Emacs developers first.
|
|
|
|
|
;;
|
|
|
|
|
;; The format of `bookmark-alist' has changed twice in its lifetime.
|
|
|
|
|
;; This comment describes the three formats, FIRST, SECOND, and
|
|
|
|
|
;; CURRENT.
|
|
|
|
|
;;
|
|
|
|
|
;; The FIRST format was used prior to Emacs 20:
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
;;
|
2009-10-25 02:07:45 +00:00
|
|
|
|
;; ((BOOKMARK-NAME (FILENAME
|
2008-04-05 18:01:52 +00:00
|
|
|
|
;; STRING-IN-FRONT
|
|
|
|
|
;; STRING-BEHIND
|
|
|
|
|
;; POINT))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
;; ...)
|
|
|
|
|
;;
|
2009-10-25 02:07:45 +00:00
|
|
|
|
;; The SECOND format was introduced in Emacs 20:
|
|
|
|
|
;;
|
|
|
|
|
;; ((BOOKMARK-NAME ((filename . FILENAME)
|
|
|
|
|
;; (position . POS)
|
|
|
|
|
;; (front-context-string . STR-AFTER-POS)
|
|
|
|
|
;; (rear-context-string . STR-BEFORE-POS)
|
|
|
|
|
;; (annotation . ANNOTATION)
|
|
|
|
|
;; (whatever . VALUE)
|
|
|
|
|
;; ...
|
|
|
|
|
;; ))
|
|
|
|
|
;; ...)
|
|
|
|
|
;;
|
|
|
|
|
;; The CURRENT format was introduced in Emacs 22:
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
;;
|
2008-04-05 18:01:52 +00:00
|
|
|
|
;; ((BOOKMARK-NAME (filename . FILENAME)
|
2009-10-25 02:07:45 +00:00
|
|
|
|
;; (position . POS)
|
|
|
|
|
;; (front-context-string . STR-AFTER-POS)
|
|
|
|
|
;; (rear-context-string . STR-BEFORE-POS)
|
2008-04-05 18:01:52 +00:00
|
|
|
|
;; (annotation . ANNOTATION)
|
|
|
|
|
;; (whatever . VALUE)
|
|
|
|
|
;; ...
|
2009-10-25 02:07:45 +00:00
|
|
|
|
;; )
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
;; ...)
|
|
|
|
|
;;
|
2009-10-25 02:07:45 +00:00
|
|
|
|
;; Both FIRST and SECOND have the same level of nesting: the cadr of a
|
|
|
|
|
;; bookmark record is a list of entry information. FIRST and SECOND
|
|
|
|
|
;; differ in the form of the record information: FIRST uses a list of
|
|
|
|
|
;; atoms, and SECOND uses an alist. In the FIRST format, the order of
|
|
|
|
|
;; the list elements matters. In the SECOND format, the order of the
|
|
|
|
|
;; alist elements is unimportant. The SECOND format facilitates the
|
|
|
|
|
;; addition of new kinds of elements, to support new kinds of
|
|
|
|
|
;; bookmarks or code evolution.
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
;;
|
2009-10-25 02:07:45 +00:00
|
|
|
|
;; The CURRENT format removes a level of nesting wrt FIRST and SECOND,
|
|
|
|
|
;; saving one cons cell per bookmark: the cadr of a bookmark record is
|
|
|
|
|
;; no longer a cons. Why that change was made remains a mystery --
|
|
|
|
|
;; just be aware of it. (Be aware too that this explanatory comment
|
|
|
|
|
;; was incorrect in Emacs 22 and Emacs 23.1.)
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
;;
|
2009-10-25 02:07:45 +00:00
|
|
|
|
;; To deal with the change from FIRST format to SECOND, conversion
|
|
|
|
|
;; code was added, and it is still in use. See
|
|
|
|
|
;; `bookmark-maybe-upgrade-file-format'.
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
;;
|
2009-10-25 02:07:45 +00:00
|
|
|
|
;; No conversion from SECOND to CURRENT is done. Instead, the code
|
|
|
|
|
;; handles both formats OK. It must continue to do so.
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
;;
|
2009-10-25 02:07:45 +00:00
|
|
|
|
;; See the doc string of `bookmark-alist' for information about the
|
|
|
|
|
;; elements that define a bookmark (e.g. `filename').
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defconst bookmark-file-format-version 1
|
|
|
|
|
"The current version of the format used by bookmark files.
|
|
|
|
|
You should never need to change this.")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defconst bookmark-end-of-version-stamp-marker
|
|
|
|
|
"-*- End Of Bookmark File Format Version Stamp -*-\n"
|
|
|
|
|
"This string marks the end of the version stamp in a bookmark file.")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defun bookmark-alist-from-buffer ()
|
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
(bookmark-save): Improve argument/docstring consistency.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-alist-from-buffer, bookmark-upgrade-file-format-from-0,
bookmark-grok-file-format-version, bookmark-maybe-upgrade-file-format,
bookmark-kill-line, bookmark-read-annotation-mode,
bookmark-insert-current-bookmark, bookmark-jump, bookmark-exit-hook):
Fix typos in docstrings.
(bookmark-exit-hooks): Define as obsolete alias.
(bookmark-exit-hook-internal): Run `bookmark-exit-hook',
not `bookmark-exit-hooks'. Fix docstring.
(bookmark-bmenu-select): "?\ " -> "?\s".
2005-07-26 13:56:01 +00:00
|
|
|
|
"Return a `bookmark-alist' (in any format) from the current buffer.
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
The buffer must of course contain bookmark format information.
|
|
|
|
|
Does not care from where in the buffer it is called, and does not
|
|
|
|
|
affect point."
|
|
|
|
|
(save-excursion
|
|
|
|
|
(goto-char (point-min))
|
|
|
|
|
(if (search-forward bookmark-end-of-version-stamp-marker nil t)
|
|
|
|
|
(read (current-buffer))
|
|
|
|
|
;; Else we're dealing with format version 0
|
|
|
|
|
(if (search-forward "(" nil t)
|
|
|
|
|
(progn
|
|
|
|
|
(forward-char -1)
|
|
|
|
|
(read (current-buffer)))
|
|
|
|
|
;; Else no hope of getting information here.
|
1996-01-25 06:02:21 +00:00
|
|
|
|
(error "Not bookmark format")))))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defun bookmark-upgrade-version-0-alist (old-list)
|
1995-06-18 22:46:02 +00:00
|
|
|
|
"Upgrade a version 0 alist OLD-LIST to the current version."
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(mapcar
|
|
|
|
|
(lambda (bookmark)
|
|
|
|
|
(let* ((name (car bookmark))
|
|
|
|
|
(record (car (cdr bookmark)))
|
|
|
|
|
(filename (nth 0 record))
|
|
|
|
|
(front-str (nth 1 record))
|
|
|
|
|
(rear-str (nth 2 record))
|
|
|
|
|
(position (nth 3 record))
|
|
|
|
|
(ann (nth 4 record)))
|
|
|
|
|
(list
|
|
|
|
|
name
|
2001-11-27 15:52:52 +00:00
|
|
|
|
`((filename . ,filename)
|
|
|
|
|
(front-context-string . ,(or front-str ""))
|
|
|
|
|
(rear-context-string . ,(or rear-str ""))
|
|
|
|
|
(position . ,position)
|
|
|
|
|
(annotation . ,ann)))))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
old-list))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defun bookmark-upgrade-file-format-from-0 ()
|
|
|
|
|
"Upgrade a bookmark file of format 0 (the original format) to format 1.
|
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
(bookmark-save): Improve argument/docstring consistency.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-alist-from-buffer, bookmark-upgrade-file-format-from-0,
bookmark-grok-file-format-version, bookmark-maybe-upgrade-file-format,
bookmark-kill-line, bookmark-read-annotation-mode,
bookmark-insert-current-bookmark, bookmark-jump, bookmark-exit-hook):
Fix typos in docstrings.
(bookmark-exit-hooks): Define as obsolete alias.
(bookmark-exit-hook-internal): Run `bookmark-exit-hook',
not `bookmark-exit-hooks'. Fix docstring.
(bookmark-bmenu-select): "?\ " -> "?\s".
2005-07-26 13:56:01 +00:00
|
|
|
|
This expects to be called from `point-min' in a bookmark file."
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(message "Upgrading bookmark format from 0 to %d..."
|
|
|
|
|
bookmark-file-format-version)
|
|
|
|
|
(let* ((old-list (bookmark-alist-from-buffer))
|
|
|
|
|
(new-list (bookmark-upgrade-version-0-alist old-list)))
|
|
|
|
|
(delete-region (point-min) (point-max))
|
|
|
|
|
(bookmark-insert-file-format-version-stamp)
|
|
|
|
|
(pp new-list (current-buffer))
|
|
|
|
|
(save-buffer))
|
|
|
|
|
(goto-char (point-min))
|
1996-01-05 21:57:54 +00:00
|
|
|
|
(message "Upgrading bookmark format from 0 to %d...done"
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
bookmark-file-format-version)
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defun bookmark-grok-file-format-version ()
|
|
|
|
|
"Return an integer which is the file-format version of this bookmark file.
|
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
(bookmark-save): Improve argument/docstring consistency.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-alist-from-buffer, bookmark-upgrade-file-format-from-0,
bookmark-grok-file-format-version, bookmark-maybe-upgrade-file-format,
bookmark-kill-line, bookmark-read-annotation-mode,
bookmark-insert-current-bookmark, bookmark-jump, bookmark-exit-hook):
Fix typos in docstrings.
(bookmark-exit-hooks): Define as obsolete alias.
(bookmark-exit-hook-internal): Run `bookmark-exit-hook',
not `bookmark-exit-hooks'. Fix docstring.
(bookmark-bmenu-select): "?\ " -> "?\s".
2005-07-26 13:56:01 +00:00
|
|
|
|
This expects to be called from `point-min' in a bookmark file."
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(if (looking-at "^;;;;")
|
|
|
|
|
(save-excursion
|
|
|
|
|
(save-match-data
|
|
|
|
|
(re-search-forward "[0-9]")
|
|
|
|
|
(forward-char -1)
|
|
|
|
|
(read (current-buffer))))
|
|
|
|
|
;; Else this is format version 0, the original one, which didn't
|
|
|
|
|
;; even have version stamps.
|
|
|
|
|
0))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defun bookmark-maybe-upgrade-file-format ()
|
|
|
|
|
"Check the file-format version of this bookmark file.
|
|
|
|
|
If the version is not up-to-date, upgrade it automatically.
|
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
(bookmark-save): Improve argument/docstring consistency.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-alist-from-buffer, bookmark-upgrade-file-format-from-0,
bookmark-grok-file-format-version, bookmark-maybe-upgrade-file-format,
bookmark-kill-line, bookmark-read-annotation-mode,
bookmark-insert-current-bookmark, bookmark-jump, bookmark-exit-hook):
Fix typos in docstrings.
(bookmark-exit-hooks): Define as obsolete alias.
(bookmark-exit-hook-internal): Run `bookmark-exit-hook',
not `bookmark-exit-hooks'. Fix docstring.
(bookmark-bmenu-select): "?\ " -> "?\s".
2005-07-26 13:56:01 +00:00
|
|
|
|
This expects to be called from `point-min' in a bookmark file."
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(let ((version (bookmark-grok-file-format-version)))
|
|
|
|
|
(cond
|
|
|
|
|
((= version bookmark-file-format-version)
|
|
|
|
|
) ; home free -- version is current
|
|
|
|
|
((= version 0)
|
|
|
|
|
(bookmark-upgrade-file-format-from-0))
|
|
|
|
|
(t
|
1996-01-25 06:02:21 +00:00
|
|
|
|
(error "Bookmark file format version strangeness")))))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defun bookmark-insert-file-format-version-stamp ()
|
1996-05-09 17:34:55 +00:00
|
|
|
|
"Insert text indicating current version of bookmark file format."
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(insert
|
|
|
|
|
(format ";;;; Emacs Bookmark Format Version %d ;;;;\n"
|
|
|
|
|
bookmark-file-format-version))
|
|
|
|
|
(insert ";;; This format is meant to be slightly human-readable;\n"
|
|
|
|
|
";;; nevertheless, you probably don't want to edit it.\n"
|
|
|
|
|
";;; "
|
|
|
|
|
bookmark-end-of-version-stamp-marker))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;;; end file-format stuff
|
|
|
|
|
|
2005-11-12 20:46:10 +00:00
|
|
|
|
|
|
|
|
|
;;; Generic helpers.
|
|
|
|
|
|
|
|
|
|
(defun bookmark-maybe-message (fmt &rest args)
|
|
|
|
|
"Apply `message' to FMT and ARGS, but only if the display is fast enough."
|
|
|
|
|
(if (>= baud-rate 9600)
|
|
|
|
|
(apply 'message fmt args)))
|
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
;;; Core code:
|
|
|
|
|
|
2008-03-09 21:01:54 +00:00
|
|
|
|
(defvar bookmark-minibuffer-read-name-map
|
|
|
|
|
(let ((map (make-sparse-keymap)))
|
|
|
|
|
(set-keymap-parent map minibuffer-local-map)
|
|
|
|
|
(define-key map "\C-w" 'bookmark-yank-word)
|
|
|
|
|
map))
|
|
|
|
|
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
;;;###autoload
|
* bookmark.el
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-set-name, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation, 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,
bookmark-location, bookmark-jump, bookmark-jump-other-window,
bookmark-handle-bookmark, bookmark-relocate, bookmark-insert-location,
bookmark-rename, bookmark-insert, bookmark-delete, bookmark-time-to-save-p,
bookmark-edit-annotation-mode, bookmark-edit-annotation): Improve doc
strings to say whether bookmark can be a string or a record or both,
and make other consistency and clarity fixes.
(bookmark-get-handler, bookmark--jump-via, bookmark-write-file,
bookmark-default-annotation-text, bookmark-yank-word,
bookmark-maybe-load-default-file, bookmark-maybe-sort-alist,
bookmark-import-new-list, bookmark-maybe-rename,
bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames,
bookmark-bmenu-bookmark): Give these doc strings.
(bookmark-bmenu-check-position): Give this a doc string, but also
add a FIXME comment about how the function may be pointless.
(bookmark-default-handler): Rework doc string and change a parameter
name, to clarify that this takes a bookmark record not a bookmark name.
(bookmark-set): Change a parameter name to indicate its meaning,
and improve the doc string a bit.
(Bug#4188)
2009-10-05 01:35:34 +00:00
|
|
|
|
(defun bookmark-set (&optional name no-overwrite)
|
2009-10-05 01:47:00 +00:00
|
|
|
|
"Set a bookmark named NAME at the current location.
|
* bookmark.el
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-set-name, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation, 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,
bookmark-location, bookmark-jump, bookmark-jump-other-window,
bookmark-handle-bookmark, bookmark-relocate, bookmark-insert-location,
bookmark-rename, bookmark-insert, bookmark-delete, bookmark-time-to-save-p,
bookmark-edit-annotation-mode, bookmark-edit-annotation): Improve doc
strings to say whether bookmark can be a string or a record or both,
and make other consistency and clarity fixes.
(bookmark-get-handler, bookmark--jump-via, bookmark-write-file,
bookmark-default-annotation-text, bookmark-yank-word,
bookmark-maybe-load-default-file, bookmark-maybe-sort-alist,
bookmark-import-new-list, bookmark-maybe-rename,
bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames,
bookmark-bmenu-bookmark): Give these doc strings.
(bookmark-bmenu-check-position): Give this a doc string, but also
add a FIXME comment about how the function may be pointless.
(bookmark-default-handler): Rework doc string and change a parameter
name, to clarify that this takes a bookmark record not a bookmark name.
(bookmark-set): Change a parameter name to indicate its meaning,
and improve the doc string a bit.
(Bug#4188)
2009-10-05 01:35:34 +00:00
|
|
|
|
If name is nil, then prompt the user.
|
|
|
|
|
|
2009-10-25 02:07:45 +00:00
|
|
|
|
With a prefix arg (non-nil NO-OVERWRITE), do not overwrite any
|
|
|
|
|
existing bookmark that has the same name as NAME, but instead push the
|
|
|
|
|
new bookmark onto the bookmark alist. The most recently set bookmark
|
|
|
|
|
with name NAME is thus the one in effect at any given time, but the
|
|
|
|
|
others are still there, should the user decide to delete the most
|
|
|
|
|
recent one.
|
1993-08-10 20:35:31 +00:00
|
|
|
|
|
|
|
|
|
To yank words from the text of the buffer and use them as part of the
|
1993-08-14 19:49:27 +00:00
|
|
|
|
bookmark name, type C-w while setting a bookmark. Successive C-w's
|
1993-08-10 20:35:31 +00:00
|
|
|
|
yank successive words.
|
|
|
|
|
|
2009-10-25 02:07:45 +00:00
|
|
|
|
Typing C-u inserts (at the bookmark name prompt) the name of the last
|
|
|
|
|
bookmark used in the document where the new bookmark is being set;
|
|
|
|
|
this helps you use a single bookmark name to track progress through a
|
|
|
|
|
large document. If there is no prior bookmark for this document, then
|
|
|
|
|
C-u inserts an appropriate name based on the buffer or file.
|
1993-08-10 20:35:31 +00:00
|
|
|
|
|
2010-01-02 01:05:44 +00:00
|
|
|
|
Use \\[bookmark-delete] to remove bookmarks (you give it a name and
|
2009-10-25 02:07:45 +00:00
|
|
|
|
it removes only the first instance of a bookmark with that name from
|
2010-01-02 01:05:44 +00:00
|
|
|
|
the list of bookmarks.)"
|
1995-06-18 22:46:02 +00:00
|
|
|
|
(interactive (list nil current-prefix-arg))
|
2010-07-14 16:41:40 +00:00
|
|
|
|
(unwind-protect
|
|
|
|
|
(let* ((record (bookmark-make-record))
|
2012-08-08 08:48:57 +00:00
|
|
|
|
;; `defaults' is a transient element of the
|
|
|
|
|
;; extensible format described above in the section
|
|
|
|
|
;; `File format stuff'. Bookmark record functions
|
|
|
|
|
;; can use it to specify a list of default values
|
|
|
|
|
;; accessible via M-n while reading a bookmark name.
|
|
|
|
|
(defaults (bookmark-prop-get record 'defaults))
|
|
|
|
|
(default (if (consp defaults) (car defaults) defaults)))
|
|
|
|
|
|
|
|
|
|
(if defaults
|
|
|
|
|
;; Don't store default values in the record.
|
|
|
|
|
(setq record (assq-delete-all 'defaults record))
|
|
|
|
|
;; When no defaults in the record, use its first element.
|
|
|
|
|
(setq defaults (car record) default defaults))
|
2010-07-14 16:41:40 +00:00
|
|
|
|
|
|
|
|
|
(bookmark-maybe-load-default-file)
|
|
|
|
|
;; Don't set `bookmark-yank-point' and `bookmark-current-buffer'
|
|
|
|
|
;; if they have been already set in another buffer. (e.g gnus-art).
|
|
|
|
|
(unless (and bookmark-yank-point
|
|
|
|
|
bookmark-current-buffer)
|
|
|
|
|
(setq bookmark-yank-point (point))
|
|
|
|
|
(setq bookmark-current-buffer (current-buffer)))
|
|
|
|
|
|
|
|
|
|
(let ((str
|
|
|
|
|
(or name
|
|
|
|
|
(read-from-minibuffer
|
|
|
|
|
(format "Set bookmark (%s): " default)
|
|
|
|
|
nil
|
|
|
|
|
bookmark-minibuffer-read-name-map
|
2012-08-08 08:48:57 +00:00
|
|
|
|
nil nil defaults))))
|
2010-07-14 16:41:40 +00:00
|
|
|
|
(and (string-equal str "") (setq str default))
|
|
|
|
|
(bookmark-store str (cdr record) no-overwrite)
|
|
|
|
|
|
|
|
|
|
;; Ask for an annotation buffer for this bookmark
|
|
|
|
|
(when bookmark-use-annotations
|
|
|
|
|
(bookmark-edit-annotation str))))
|
|
|
|
|
(setq bookmark-yank-point nil)
|
|
|
|
|
(setq bookmark-current-buffer nil)))
|
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
(defun bookmark-kill-line (&optional newline-too)
|
|
|
|
|
"Kill from point to end of line.
|
|
|
|
|
If optional arg NEWLINE-TOO is non-nil, delete the newline too.
|
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
(bookmark-save): Improve argument/docstring consistency.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-alist-from-buffer, bookmark-upgrade-file-format-from-0,
bookmark-grok-file-format-version, bookmark-maybe-upgrade-file-format,
bookmark-kill-line, bookmark-read-annotation-mode,
bookmark-insert-current-bookmark, bookmark-jump, bookmark-exit-hook):
Fix typos in docstrings.
(bookmark-exit-hooks): Define as obsolete alias.
(bookmark-exit-hook-internal): Run `bookmark-exit-hook',
not `bookmark-exit-hooks'. Fix docstring.
(bookmark-bmenu-select): "?\ " -> "?\s".
2005-07-26 13:56:01 +00:00
|
|
|
|
Does not affect the kill ring."
|
Use line-end-position rather than end-of-line, etc.
* textmodes/texnfo-upd.el (texinfo-start-menu-description)
(texinfo-update-menu-region-beginning, texinfo-menu-first-node)
(texinfo-delete-existing-pointers, texinfo-find-pointer)
(texinfo-clean-up-node-line, texinfo-insert-node-lines)
(texinfo-multiple-files-update):
* textmodes/table.el (table--probe-cell-left-up)
(table--probe-cell-right-bottom):
* textmodes/picture.el (picture-tab-search):
* textmodes/page-ext.el (pages-copy-header-and-position)
(pages-directory-for-addresses):
* progmodes/vera-mode.el (vera-get-offset):
* progmodes/simula.el (simula-calculate-indent):
* progmodes/python.el (python-pdbtrack-overlay-arrow):
* progmodes/prolog.el (end-of-prolog-clause):
* progmodes/perl-mode.el (perl-calculate-indent, perl-indent-exp):
* progmodes/icon.el (indent-icon-exp):
* progmodes/etags.el (tag-re-match-p):
* progmodes/ebrowse.el (ebrowse-show-file-name-at-point):
* progmodes/ebnf2ps.el (ebnf-begin-file):
* progmodes/dcl-mode.el (dcl-back-to-indentation-1)
(dcl-save-local-variable):
* play/life.el (life-setup):
* play/gametree.el (gametree-looking-at-ply):
* nxml/nxml-maint.el (nxml-insert-target-repertoire-glyph-set):
* mail/sendmail.el (mail-mode-auto-fill):
* emacs-lisp/lisp-mode.el (calculate-lisp-indent):
* emacs-lisp/edebug.el (edebug-overlay-arrow):
* emacs-lisp/checkdoc.el (checkdoc-this-string-valid):
* woman.el (woman-parse-numeric-value, woman2-TH, woman2-SH)
(woman-tab-to-tab-stop, WoMan-warn-ignored):
* type-break.el (type-break-file-keystroke-count):
* term.el (term-replace-by-expanded-history-before-point)
(term-skip-prompt, term-extract-string):
* speedbar.el (speedbar-edit-line, speedbar-expand-line)
(speedbar-contract-line, speedbar-toggle-line-expansion)
(speedbar-parse-c-or-c++tag, speedbar-parse-tex-string)
(speedbar-buffer-revert-buffer, speedbar-highlight-one-tag-line):
* sort.el (sort-skip-fields):
* skeleton.el (skeleton-internal-list):
* simple.el (line-move-finish, line-move-to-column):
* shell.el (shell-forward-command):
* misc.el (copy-from-above-command):
* makesum.el (double-column):
* ebuff-menu.el (electric-buffer-update-highlight):
* dired.el (dired-move-to-end-of-filename):
* dframe.el (dframe-popup-kludge):
* bookmark.el (bookmark-kill-line, bookmark-bmenu-show-filenames):
* arc-mode.el (archive-get-lineno):
Use line-end-position and line-beginning-position.
* net/ange-ftp.el, progmodes/hideif.el, reposition.el:
Same, but only in comments.
2010-11-06 20:23:42 +00:00
|
|
|
|
(let ((eol (line-end-position)))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(delete-region (point) eol)
|
|
|
|
|
(if (and newline-too (looking-at "\n"))
|
|
|
|
|
(delete-char 1))))
|
|
|
|
|
|
|
|
|
|
|
1995-03-13 22:50:35 +00:00
|
|
|
|
;; Defvars to avoid compilation warnings:
|
2008-03-09 21:16:26 +00:00
|
|
|
|
(defvar bookmark-annotation-name nil
|
|
|
|
|
"Variable holding the name of the bookmark.
|
|
|
|
|
This is used in `bookmark-edit-annotation' to record the bookmark
|
|
|
|
|
whose annotation is being edited.")
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark-default-annotation-text (bookmark-name)
|
|
|
|
|
"Return default annotation text for BOOKMARK-NAME.
|
* bookmark.el
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-set-name, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation, 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,
bookmark-location, bookmark-jump, bookmark-jump-other-window,
bookmark-handle-bookmark, bookmark-relocate, bookmark-insert-location,
bookmark-rename, bookmark-insert, bookmark-delete, bookmark-time-to-save-p,
bookmark-edit-annotation-mode, bookmark-edit-annotation): Improve doc
strings to say whether bookmark can be a string or a record or both,
and make other consistency and clarity fixes.
(bookmark-get-handler, bookmark--jump-via, bookmark-write-file,
bookmark-default-annotation-text, bookmark-yank-word,
bookmark-maybe-load-default-file, bookmark-maybe-sort-alist,
bookmark-import-new-list, bookmark-maybe-rename,
bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames,
bookmark-bmenu-bookmark): Give these doc strings.
(bookmark-bmenu-check-position): Give this a doc string, but also
add a FIXME comment about how the function may be pointless.
(bookmark-default-handler): Rework doc string and change a parameter
name, to clarify that this takes a bookmark record not a bookmark name.
(bookmark-set): Change a parameter name to indicate its meaning,
and improve the doc string a bit.
(Bug#4188)
2009-10-05 01:35:34 +00:00
|
|
|
|
The default annotation text is simply some text explaining how to use
|
|
|
|
|
annotations."
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(concat "# Type the annotation for bookmark '" bookmark-name "' here.\n"
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
"# All lines which start with a '#' will be deleted.\n"
|
|
|
|
|
"# Type C-c C-c when done.\n#\n"
|
|
|
|
|
"# Author: " (user-full-name) " <" (user-login-name) "@"
|
|
|
|
|
(system-name) ">\n"
|
|
|
|
|
"# Date: " (current-time-string) "\n"))
|
|
|
|
|
|
|
|
|
|
|
2012-05-13 03:05:06 +00:00
|
|
|
|
(define-obsolete-variable-alias 'bookmark-read-annotation-text-func
|
|
|
|
|
'bookmark-edit-annotation-text-func "23.1")
|
2008-03-09 21:16:26 +00:00
|
|
|
|
(defvar bookmark-edit-annotation-text-func 'bookmark-default-annotation-text
|
1996-05-09 17:34:55 +00:00
|
|
|
|
"Function to return default text to use for a bookmark annotation.
|
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
(bookmark-save): Improve argument/docstring consistency.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-alist-from-buffer, bookmark-upgrade-file-format-from-0,
bookmark-grok-file-format-version, bookmark-maybe-upgrade-file-format,
bookmark-kill-line, bookmark-read-annotation-mode,
bookmark-insert-current-bookmark, bookmark-jump, bookmark-exit-hook):
Fix typos in docstrings.
(bookmark-exit-hooks): Define as obsolete alias.
(bookmark-exit-hook-internal): Run `bookmark-exit-hook',
not `bookmark-exit-hooks'. Fix docstring.
(bookmark-bmenu-select): "?\ " -> "?\s".
2005-07-26 13:56:01 +00:00
|
|
|
|
It takes one argument, the name of the bookmark, as a string.")
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
2008-03-09 21:16:26 +00:00
|
|
|
|
(defvar bookmark-edit-annotation-mode-map
|
|
|
|
|
(let ((map (make-sparse-keymap)))
|
|
|
|
|
(set-keymap-parent map text-mode-map)
|
|
|
|
|
(define-key map "\C-c\C-c" 'bookmark-send-edited-annotation)
|
|
|
|
|
map)
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
"Keymap for editing an annotation of a bookmark.")
|
|
|
|
|
|
|
|
|
|
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark-edit-annotation-mode (bookmark-name-or-record)
|
|
|
|
|
"Mode for editing the annotation of bookmark BOOKMARK-NAME-OR-RECORD.
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
When you have finished composing, type \\[bookmark-send-annotation].
|
|
|
|
|
|
2007-12-26 08:53:06 +00:00
|
|
|
|
\\{bookmark-edit-annotation-mode-map}"
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(interactive)
|
|
|
|
|
(kill-all-local-variables)
|
|
|
|
|
(make-local-variable 'bookmark-annotation-name)
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(setq bookmark-annotation-name bookmark-name-or-record)
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(use-local-map bookmark-edit-annotation-mode-map)
|
2004-04-15 23:13:16 +00:00
|
|
|
|
(setq major-mode 'bookmark-edit-annotation-mode
|
|
|
|
|
mode-name "Edit Bookmark Annotation")
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(insert (funcall bookmark-edit-annotation-text-func bookmark-name-or-record))
|
|
|
|
|
(let ((annotation (bookmark-get-annotation bookmark-name-or-record)))
|
(bookmark-load): Use `bookmark-import-new-list' to
load the new list carefully, renaming bookmarks as necessary.
In docstring, mention new renaming behavior.
Optional arg OVERWRITE replaces inaccurately-named REVERT.
If file loaded was bookmark-default-file, then set
bookmarks-already-loaded to t.
(bookmark-import-new-list): New func.
(bookmark-maybe-rename): New func, helper to above.
(bookmark-set-name): Accept bookmark as either string (behaves
same as before) or list (treat it as a bookmark record).
(bookmark-set, bookmark-maybe-load-default-file)
(bookmark-jump-noselect, bookmark-rename)
(bookmark-show-annotation): Discard pointless `progn's.
(bookmark-bmenu-mark, bookmark-bmenu-unmark)
(bookmark-bmenu-backup-unmark, bookmark-bmenu-delete-backwards):
Renormalize position after all else is done.
(bookmark-edit-annotation-mode, bookmark-bmenu-list)
(bookmark-show-annotation, bookmark-show-all-annotations):
Use `x' instead of `(not (eq x nil))'.
(bookmark-yank-word): Inner save-excursion changed to progn.
(bookmark-send-annotation, bookmark-send-edited-annotation)
(bookmark-insert): Use buffer-string instead of buffer-substring.
(bookmark-make-cell): Make sure annotation and info-node strings
contain no text properties.
(bookmark-relocate): Remember to rebuild bmenu buffer after a
bookmark has been relocated.
(bookmark-bmenu-check-position): Return a meaningful value --
callers have apparently been assuming this anyway.
(bookmark-build-xemacs-menu): Unused function deleted.
(bookmark-version): Removed this variable; the Emacs version suffices.
1997-08-22 19:14:10 +00:00
|
|
|
|
(if (and annotation (not (string-equal annotation "")))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(insert annotation)))
|
2005-05-26 12:28:39 +00:00
|
|
|
|
(run-mode-hooks 'text-mode-hook))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defun bookmark-send-edited-annotation ()
|
2004-04-15 23:13:16 +00:00
|
|
|
|
"Use buffer contents as annotation for a bookmark.
|
|
|
|
|
Lines beginning with `#' are ignored."
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(interactive)
|
|
|
|
|
(if (not (eq major-mode 'bookmark-edit-annotation-mode))
|
1996-01-25 06:02:21 +00:00
|
|
|
|
(error "Not in bookmark-edit-annotation-mode"))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(goto-char (point-min))
|
|
|
|
|
(while (< (point) (point-max))
|
|
|
|
|
(if (looking-at "^#")
|
|
|
|
|
(bookmark-kill-line t)
|
|
|
|
|
(forward-line 1)))
|
2008-03-09 21:01:54 +00:00
|
|
|
|
;; Take no chances with text properties.
|
|
|
|
|
(let ((annotation (buffer-substring-no-properties (point-min) (point-max)))
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(bookmark-name bookmark-annotation-name))
|
|
|
|
|
(bookmark-set-annotation bookmark-name annotation)
|
2010-01-02 18:52:32 +00:00
|
|
|
|
(setq bookmark-alist-modification-count
|
|
|
|
|
(1+ bookmark-alist-modification-count))
|
2009-10-10 21:48:22 +00:00
|
|
|
|
(bookmark-bmenu-surreptitiously-rebuild-list))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(kill-buffer (current-buffer)))
|
|
|
|
|
|
|
|
|
|
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark-edit-annotation (bookmark-name-or-record)
|
|
|
|
|
"Pop up a buffer for editing bookmark BOOKMARK-NAME-OR-RECORD's annotation."
|
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Return a string, instead of a list of one string.
(bookmark-edit-annotation): Remove unused vars.
(bookmark-jump, bookmark-relocate, bookmark-insert-location)
(bookmark-rename, bookmark-insert, bookmark-delete): Adjust calls
to bookmark-completing-read.
(bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames)
(bookmark-bmenu-mark, bookmark-bmenu-select, bookmark-bmenu-unmark)
(bookmark-bmenu-delete, bookmark-bmenu-list): Use inhibit-read-only
and erase-buffer.
(bookmark-menu-delete, bookmark-menu-rename, bookmark-menu-locate)
(bookmark-menu-jump, bookmark-menu-insert)
(bookmark-popup-menu-and-apply-function)
(bookmark-menu-popup-paned-bookmark-menu): Remove.
(bookmark-menu-build-paned-menu): Remove by folding it into
bookmark-menu-popup-paned-menu.
(menu-bar-bookmark-map): Move the define-key statements here.
Use the "non-menu" commands since they now pop up a menu if needed.
(bookmark-exit-hook-internal): Simplify.
2003-08-11 17:30:47 +00:00
|
|
|
|
(pop-to-buffer (generate-new-buffer-name "*Bookmark Annotation Compose*"))
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(bookmark-edit-annotation-mode bookmark-name-or-record))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
1993-08-10 20:35:31 +00:00
|
|
|
|
|
1995-03-11 20:17:37 +00:00
|
|
|
|
(defun bookmark-buffer-name ()
|
2009-10-25 02:07:45 +00:00
|
|
|
|
"Return the name of the current buffer in a form usable as a bookmark name.
|
|
|
|
|
If the buffer is associated with a file or directory, use that name."
|
1995-03-11 20:17:37 +00:00
|
|
|
|
(cond
|
|
|
|
|
;; Or are we a file?
|
|
|
|
|
(buffer-file-name (file-name-nondirectory buffer-file-name))
|
|
|
|
|
;; Or are we a directory?
|
|
|
|
|
((and (boundp 'dired-directory) dired-directory)
|
|
|
|
|
(let* ((dirname (if (stringp dired-directory)
|
|
|
|
|
dired-directory
|
|
|
|
|
(car dired-directory)))
|
|
|
|
|
(idx (1- (length dirname))))
|
|
|
|
|
;; Strip the trailing slash.
|
|
|
|
|
(if (= ?/ (aref dirname idx))
|
|
|
|
|
(file-name-nondirectory (substring dirname 0 idx))
|
|
|
|
|
;; Else return the current-buffer
|
|
|
|
|
(buffer-name (current-buffer)))))
|
|
|
|
|
;; If all else fails, use the buffer's name.
|
|
|
|
|
(t
|
|
|
|
|
(buffer-name (current-buffer)))))
|
|
|
|
|
|
|
|
|
|
|
1993-08-10 20:35:31 +00:00
|
|
|
|
(defun bookmark-yank-word ()
|
2009-10-10 21:54:13 +00:00
|
|
|
|
"Get the next word from buffer `bookmark-current-buffer' and append
|
|
|
|
|
it to the name of the bookmark currently being set, advancing
|
2010-01-02 01:05:44 +00:00
|
|
|
|
`bookmark-yank-point' by one word."
|
1993-08-10 20:35:31 +00:00
|
|
|
|
(interactive)
|
2008-06-25 16:51:33 +00:00
|
|
|
|
(let ((string (with-current-buffer bookmark-current-buffer
|
|
|
|
|
(goto-char bookmark-yank-point)
|
|
|
|
|
(buffer-substring-no-properties
|
|
|
|
|
(point)
|
|
|
|
|
(progn
|
|
|
|
|
(forward-word 1)
|
|
|
|
|
(setq bookmark-yank-point (point)))))))
|
1993-08-10 20:35:31 +00:00
|
|
|
|
(insert string)))
|
|
|
|
|
|
|
|
|
|
(defun bookmark-buffer-file-name ()
|
2008-03-13 01:57:05 +00:00
|
|
|
|
"Return the current buffer's file in a way useful for bookmarks."
|
2008-11-21 19:07:21 +00:00
|
|
|
|
;; Abbreviate the path, both so it's shorter and so it's more
|
|
|
|
|
;; portable. E.g., the user's home dir might be a different
|
|
|
|
|
;; path on different machines, but "~/" will still reach it.
|
2008-12-03 05:48:14 +00:00
|
|
|
|
(abbreviate-file-name
|
2008-11-21 19:07:21 +00:00
|
|
|
|
(cond
|
|
|
|
|
(buffer-file-name buffer-file-name)
|
|
|
|
|
((and (boundp 'dired-directory) dired-directory)
|
|
|
|
|
(if (stringp dired-directory)
|
|
|
|
|
dired-directory
|
|
|
|
|
(car dired-directory)))
|
|
|
|
|
(t (error "Buffer not visiting a file or directory")))))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defun bookmark-maybe-load-default-file ()
|
* bookmark.el
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-set-name, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation, 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,
bookmark-location, bookmark-jump, bookmark-jump-other-window,
bookmark-handle-bookmark, bookmark-relocate, bookmark-insert-location,
bookmark-rename, bookmark-insert, bookmark-delete, bookmark-time-to-save-p,
bookmark-edit-annotation-mode, bookmark-edit-annotation): Improve doc
strings to say whether bookmark can be a string or a record or both,
and make other consistency and clarity fixes.
(bookmark-get-handler, bookmark--jump-via, bookmark-write-file,
bookmark-default-annotation-text, bookmark-yank-word,
bookmark-maybe-load-default-file, bookmark-maybe-sort-alist,
bookmark-import-new-list, bookmark-maybe-rename,
bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames,
bookmark-bmenu-bookmark): Give these doc strings.
(bookmark-bmenu-check-position): Give this a doc string, but also
add a FIXME comment about how the function may be pointless.
(bookmark-default-handler): Rework doc string and change a parameter
name, to clarify that this takes a bookmark record not a bookmark name.
(bookmark-set): Change a parameter name to indicate its meaning,
and improve the doc string a bit.
(Bug#4188)
2009-10-05 01:35:34 +00:00
|
|
|
|
"If bookmarks have not been loaded from the default place, load them."
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
(and (not bookmarks-already-loaded)
|
|
|
|
|
(null bookmark-alist)
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(prog2
|
|
|
|
|
(and
|
|
|
|
|
;; Possibly the old bookmark file, "~/.emacs-bkmrks", needs
|
|
|
|
|
;; to be renamed.
|
2010-02-18 18:52:36 +00:00
|
|
|
|
(file-exists-p bookmark-old-default-file)
|
|
|
|
|
(not (file-exists-p bookmark-default-file))
|
|
|
|
|
(rename-file bookmark-old-default-file
|
|
|
|
|
bookmark-default-file))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
;; return t so the `and' will continue...
|
|
|
|
|
t)
|
2001-01-12 22:49:40 +00:00
|
|
|
|
|
2010-02-18 18:52:36 +00:00
|
|
|
|
(file-readable-p bookmark-default-file)
|
(bookmark-load): Use `bookmark-import-new-list' to
load the new list carefully, renaming bookmarks as necessary.
In docstring, mention new renaming behavior.
Optional arg OVERWRITE replaces inaccurately-named REVERT.
If file loaded was bookmark-default-file, then set
bookmarks-already-loaded to t.
(bookmark-import-new-list): New func.
(bookmark-maybe-rename): New func, helper to above.
(bookmark-set-name): Accept bookmark as either string (behaves
same as before) or list (treat it as a bookmark record).
(bookmark-set, bookmark-maybe-load-default-file)
(bookmark-jump-noselect, bookmark-rename)
(bookmark-show-annotation): Discard pointless `progn's.
(bookmark-bmenu-mark, bookmark-bmenu-unmark)
(bookmark-bmenu-backup-unmark, bookmark-bmenu-delete-backwards):
Renormalize position after all else is done.
(bookmark-edit-annotation-mode, bookmark-bmenu-list)
(bookmark-show-annotation, bookmark-show-all-annotations):
Use `x' instead of `(not (eq x nil))'.
(bookmark-yank-word): Inner save-excursion changed to progn.
(bookmark-send-annotation, bookmark-send-edited-annotation)
(bookmark-insert): Use buffer-string instead of buffer-substring.
(bookmark-make-cell): Make sure annotation and info-node strings
contain no text properties.
(bookmark-relocate): Remember to rebuild bmenu buffer after a
bookmark has been relocated.
(bookmark-bmenu-check-position): Return a meaningful value --
callers have apparently been assuming this anyway.
(bookmark-build-xemacs-menu): Unused function deleted.
(bookmark-version): Removed this variable; the Emacs version suffices.
1997-08-22 19:14:10 +00:00
|
|
|
|
(bookmark-load bookmark-default-file t t)
|
|
|
|
|
(setq bookmarks-already-loaded t)))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
(defun bookmark-maybe-sort-alist ()
|
* bookmark.el
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-set-name, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation, 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,
bookmark-location, bookmark-jump, bookmark-jump-other-window,
bookmark-handle-bookmark, bookmark-relocate, bookmark-insert-location,
bookmark-rename, bookmark-insert, bookmark-delete, bookmark-time-to-save-p,
bookmark-edit-annotation-mode, bookmark-edit-annotation): Improve doc
strings to say whether bookmark can be a string or a record or both,
and make other consistency and clarity fixes.
(bookmark-get-handler, bookmark--jump-via, bookmark-write-file,
bookmark-default-annotation-text, bookmark-yank-word,
bookmark-maybe-load-default-file, bookmark-maybe-sort-alist,
bookmark-import-new-list, bookmark-maybe-rename,
bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames,
bookmark-bmenu-bookmark): Give these doc strings.
(bookmark-bmenu-check-position): Give this a doc string, but also
add a FIXME comment about how the function may be pointless.
(bookmark-default-handler): Rework doc string and change a parameter
name, to clarify that this takes a bookmark record not a bookmark name.
(bookmark-set): Change a parameter name to indicate its meaning,
and improve the doc string a bit.
(Bug#4188)
2009-10-05 01:35:34 +00:00
|
|
|
|
"Return `bookmark-alist' for display.
|
|
|
|
|
If `bookmark-sort-flag' is non-nil, then return a sorted copy of the alist."
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
(if bookmark-sort-flag
|
2007-07-16 16:59:58 +00:00
|
|
|
|
(sort (copy-alist bookmark-alist)
|
|
|
|
|
(function
|
|
|
|
|
(lambda (x y) (string-lessp (car x) (car y)))))
|
|
|
|
|
bookmark-alist))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
2005-08-24 10:18:29 +00:00
|
|
|
|
(defvar bookmark-after-jump-hook nil
|
|
|
|
|
"Hook run after `bookmark-jump' jumps to a bookmark.
|
|
|
|
|
Useful for example to unhide text in `outline-mode'.")
|
|
|
|
|
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark--jump-via (bookmark-name-or-record display-function)
|
|
|
|
|
"Handle BOOKMARK-NAME-OR-RECORD, then call DISPLAY-FUNCTION with
|
|
|
|
|
current buffer as argument.
|
* bookmark.el
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-set-name, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation, 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,
bookmark-location, bookmark-jump, bookmark-jump-other-window,
bookmark-handle-bookmark, bookmark-relocate, bookmark-insert-location,
bookmark-rename, bookmark-insert, bookmark-delete, bookmark-time-to-save-p,
bookmark-edit-annotation-mode, bookmark-edit-annotation): Improve doc
strings to say whether bookmark can be a string or a record or both,
and make other consistency and clarity fixes.
(bookmark-get-handler, bookmark--jump-via, bookmark-write-file,
bookmark-default-annotation-text, bookmark-yank-word,
bookmark-maybe-load-default-file, bookmark-maybe-sort-alist,
bookmark-import-new-list, bookmark-maybe-rename,
bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames,
bookmark-bmenu-bookmark): Give these doc strings.
(bookmark-bmenu-check-position): Give this a doc string, but also
add a FIXME comment about how the function may be pointless.
(bookmark-default-handler): Rework doc string and change a parameter
name, to clarify that this takes a bookmark record not a bookmark name.
(bookmark-set): Change a parameter name to indicate its meaning,
and improve the doc string a bit.
(Bug#4188)
2009-10-05 01:35:34 +00:00
|
|
|
|
|
|
|
|
|
After calling DISPLAY-FUNCTION, set window point to the point specified
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
by BOOKMARK-NAME-OR-RECORD, if necessary, run `bookmark-after-jump-hook',
|
|
|
|
|
and then show any annotations for this bookmark."
|
|
|
|
|
(bookmark-handle-bookmark bookmark-name-or-record)
|
2008-06-25 16:51:33 +00:00
|
|
|
|
(save-current-buffer
|
|
|
|
|
(funcall display-function (current-buffer)))
|
|
|
|
|
(let ((win (get-buffer-window (current-buffer) 0)))
|
|
|
|
|
(if win (set-window-point win (point))))
|
|
|
|
|
;; FIXME: we used to only run bookmark-after-jump-hook in
|
|
|
|
|
;; `bookmark-jump' itself, but in none of the other commands.
|
|
|
|
|
(run-hooks 'bookmark-after-jump-hook)
|
|
|
|
|
(if bookmark-automatically-show-annotations
|
|
|
|
|
;; if there is an annotation for this bookmark,
|
|
|
|
|
;; show it in a buffer.
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(bookmark-show-annotation bookmark-name-or-record)))
|
2008-11-21 10:32:39 +00:00
|
|
|
|
|
2008-06-25 16:51:33 +00:00
|
|
|
|
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
;;;###autoload
|
2009-10-09 05:54:57 +00:00
|
|
|
|
(defun bookmark-jump (bookmark &optional display-func)
|
2001-01-12 22:49:40 +00:00
|
|
|
|
"Jump to bookmark BOOKMARK (a point in some file).
|
1993-08-14 19:49:27 +00:00
|
|
|
|
You may have a problem using this function if the value of variable
|
|
|
|
|
`bookmark-alist' is nil. If that happens, you need to load in some
|
|
|
|
|
bookmarks. See help on function `bookmark-load' for more about
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
this.
|
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
If the file pointed to by BOOKMARK no longer exists, you will be asked
|
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
(bookmark-save): Improve argument/docstring consistency.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-alist-from-buffer, bookmark-upgrade-file-format-from-0,
bookmark-grok-file-format-version, bookmark-maybe-upgrade-file-format,
bookmark-kill-line, bookmark-read-annotation-mode,
bookmark-insert-current-bookmark, bookmark-jump, bookmark-exit-hook):
Fix typos in docstrings.
(bookmark-exit-hooks): Define as obsolete alias.
(bookmark-exit-hook-internal): Run `bookmark-exit-hook',
not `bookmark-exit-hooks'. Fix docstring.
(bookmark-bmenu-select): "?\ " -> "?\s".
2005-07-26 13:56:01 +00:00
|
|
|
|
if you wish to give the bookmark a new location, and `bookmark-jump'
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
will then jump to the new location, as well as recording it in place
|
* bookmark.el
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-set-name, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation, 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,
bookmark-location, bookmark-jump, bookmark-jump-other-window,
bookmark-handle-bookmark, bookmark-relocate, bookmark-insert-location,
bookmark-rename, bookmark-insert, bookmark-delete, bookmark-time-to-save-p,
bookmark-edit-annotation-mode, bookmark-edit-annotation): Improve doc
strings to say whether bookmark can be a string or a record or both,
and make other consistency and clarity fixes.
(bookmark-get-handler, bookmark--jump-via, bookmark-write-file,
bookmark-default-annotation-text, bookmark-yank-word,
bookmark-maybe-load-default-file, bookmark-maybe-sort-alist,
bookmark-import-new-list, bookmark-maybe-rename,
bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames,
bookmark-bmenu-bookmark): Give these doc strings.
(bookmark-bmenu-check-position): Give this a doc string, but also
add a FIXME comment about how the function may be pointless.
(bookmark-default-handler): Rework doc string and change a parameter
name, to clarify that this takes a bookmark record not a bookmark name.
(bookmark-set): Change a parameter name to indicate its meaning,
and improve the doc string a bit.
(Bug#4188)
2009-10-05 01:35:34 +00:00
|
|
|
|
of the old one in the permanent bookmark record.
|
|
|
|
|
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
BOOKMARK is usually a bookmark name (a string). It can also be a
|
|
|
|
|
bookmark record, but this is usually only done by programmatic callers.
|
2009-10-09 05:54:57 +00:00
|
|
|
|
|
|
|
|
|
If DISPLAY-FUNC is non-nil, it is a function to invoke to display the
|
2009-10-25 02:07:45 +00:00
|
|
|
|
bookmark. It defaults to `switch-to-buffer'. A typical value for
|
|
|
|
|
DISPLAY-FUNC would be `switch-to-buffer-other-window'."
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(interactive
|
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Return a string, instead of a list of one string.
(bookmark-edit-annotation): Remove unused vars.
(bookmark-jump, bookmark-relocate, bookmark-insert-location)
(bookmark-rename, bookmark-insert, bookmark-delete): Adjust calls
to bookmark-completing-read.
(bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames)
(bookmark-bmenu-mark, bookmark-bmenu-select, bookmark-bmenu-unmark)
(bookmark-bmenu-delete, bookmark-bmenu-list): Use inhibit-read-only
and erase-buffer.
(bookmark-menu-delete, bookmark-menu-rename, bookmark-menu-locate)
(bookmark-menu-jump, bookmark-menu-insert)
(bookmark-popup-menu-and-apply-function)
(bookmark-menu-popup-paned-bookmark-menu): Remove.
(bookmark-menu-build-paned-menu): Remove by folding it into
bookmark-menu-popup-paned-menu.
(menu-bar-bookmark-map): Move the define-key statements here.
Use the "non-menu" commands since they now pop up a menu if needed.
(bookmark-exit-hook-internal): Simplify.
2003-08-11 17:30:47 +00:00
|
|
|
|
(list (bookmark-completing-read "Jump to bookmark"
|
|
|
|
|
bookmark-current-bookmark)))
|
2004-12-27 16:41:59 +00:00
|
|
|
|
(unless bookmark
|
|
|
|
|
(error "No bookmark specified"))
|
1995-06-18 22:46:02 +00:00
|
|
|
|
(bookmark-maybe-historicize-string bookmark)
|
2009-10-09 05:54:57 +00:00
|
|
|
|
(bookmark--jump-via bookmark (or display-func 'switch-to-buffer)))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
2007-07-13 18:20:55 +00:00
|
|
|
|
;;;###autoload
|
|
|
|
|
(defun bookmark-jump-other-window (bookmark)
|
* bookmark.el
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-set-name, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation, 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,
bookmark-location, bookmark-jump, bookmark-jump-other-window,
bookmark-handle-bookmark, bookmark-relocate, bookmark-insert-location,
bookmark-rename, bookmark-insert, bookmark-delete, bookmark-time-to-save-p,
bookmark-edit-annotation-mode, bookmark-edit-annotation): Improve doc
strings to say whether bookmark can be a string or a record or both,
and make other consistency and clarity fixes.
(bookmark-get-handler, bookmark--jump-via, bookmark-write-file,
bookmark-default-annotation-text, bookmark-yank-word,
bookmark-maybe-load-default-file, bookmark-maybe-sort-alist,
bookmark-import-new-list, bookmark-maybe-rename,
bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames,
bookmark-bmenu-bookmark): Give these doc strings.
(bookmark-bmenu-check-position): Give this a doc string, but also
add a FIXME comment about how the function may be pointless.
(bookmark-default-handler): Rework doc string and change a parameter
name, to clarify that this takes a bookmark record not a bookmark name.
(bookmark-set): Change a parameter name to indicate its meaning,
and improve the doc string a bit.
(Bug#4188)
2009-10-05 01:35:34 +00:00
|
|
|
|
"Jump to BOOKMARK in another window. See `bookmark-jump' for more."
|
2007-07-13 18:20:55 +00:00
|
|
|
|
(interactive
|
2009-10-09 05:54:57 +00:00
|
|
|
|
(list (bookmark-completing-read "Jump to bookmark (in another window)"
|
|
|
|
|
bookmark-current-bookmark)))
|
|
|
|
|
(bookmark-jump bookmark 'switch-to-buffer-other-window))
|
2007-07-13 18:20:55 +00:00
|
|
|
|
|
|
|
|
|
|
2008-03-07 05:00:18 +00:00
|
|
|
|
(defun bookmark-jump-noselect (bookmark)
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
"Return the location pointed to by BOOKMARK (see `bookmark-jump').
|
2008-11-19 08:03:04 +00:00
|
|
|
|
The return value has the form (BUFFER . POINT).
|
|
|
|
|
|
|
|
|
|
Note: this function is deprecated and is present for Emacs 22
|
2008-11-21 10:32:39 +00:00
|
|
|
|
compatibility only."
|
Use declare forms, where possible, to mark obsolete functions.
* lisp/allout.el (allout-passphrase-hint-string): Likewise.
(allout-init): Use a declare form to mark obsolete.
* lisp/calendar/calendar.el (calendar-version):
* lisp/calendar/icalendar.el (icalendar-extract-ical-from-buffer)
(icalendar-convert-diary-to-ical):
* lisp/cus-edit.el (custom-mode):
* lisp/ansi-color.el (ansi-color-unfontify-region):
* lisp/international/latin1-disp.el (latin1-char-displayable-p):
* lisp/progmodes/cwarn.el (turn-on-cwarn-mode):
* lisp/progmodes/which-func.el (which-func-update-1): Use
define-obsolete-function-alias.
* lisp/bookmark.el (bookmark-jump-noselect): Use a declare form to mark
this function obsolete.
* lisp/calendar/cal-x.el (calendar-two-frame-setup)
(calendar-only-one-frame-setup, calendar-one-frame-setup):
* lisp/calendar/calendar.el (american-calendar, european-calendar)
(calendar-for-loop):
* lisp/comint.el (comint-dynamic-simple-complete)
(comint-dynamic-complete-as-filename, comint-unquote-filename):
* lisp/desktop.el (desktop-load-default):
* lisp/dired-x.el (dired-omit-here-always)
(dired-hack-local-variables, dired-default-directory):
* lisp/emacs-lisp/derived.el (derived-mode-class):
* lisp/emacs-lisp/timer.el (timer-set-time-with-usecs):
* lisp/emacs-lock.el (toggle-emacs-lock):
* lisp/epa.el (epa-display-verify-result):
* lisp/epg.el (epg-sign-keys, epg-start-sign-keys)
(epg-passphrase-callback-function):
* lisp/eshell/esh-util.el (eshell-for):
* lisp/eshell/eshell.el (eshell-remove-from-window-buffer-names)
(eshell-add-to-window-buffer-names):
* lisp/files.el (locate-file-completion):
* lisp/imenu.el (imenu-example--create-c-index)
(imenu-example--create-lisp-index)
(imenu-example--lisp-extract-index-name)
(imenu-example--name-and-position):
* lisp/international/mule-cmds.el (princ-list):
* lisp/international/mule-diag.el (decode-codepage-char):
* lisp/international/mule-util.el (detect-coding-with-priority):
* lisp/iswitchb.el (iswitchb-read-buffer):
* lisp/mail/mailalias.el (mail-complete):
* lisp/mail/sendmail.el (mail-sent-via):
* lisp/mouse.el (mouse-popup-menubar-stuff, mouse-popup-menubar)
(mouse-major-mode-menu):
* lisp/password-cache.el (password-read-and-add):
* lisp/pcomplete.el (pcomplete-parse-comint-arguments):
* lisp/progmodes/sh-script.el (sh-maybe-here-document):
* lisp/replace.el (query-replace-regexp-eval):
* lisp/savehist.el (savehist-load):
* lisp/simple.el (choose-completion-delete-max-match):
* lisp/term.el (term-dynamic-simple-complete):
* lisp/vc/ediff-init.el (ediff-check-version):
* lisp/vc/ediff-wind.el (ediff-choose-window-setup-function-automatically):
* lisp/vc/vc.el (vc-diff-switches-list):
* lisp/view.el (view-return-to-alist-update): Likewise.
* lisp/iswitchb.el (iswitchb-read-buffer): Move code of
iswitchb-define-mode-map here, and delete that obsolete function.
* lisp/subr.el (eval-next-after-load, makehash, insert-string)
(assoc-ignore-representation, assoc-ignore-case): Use declare to
mark obsolete.
(mode-line-inverse-video): Variable deleted.
* lisp/emacs-lisp/byte-run.el (make-obsolete): Doc fix; emphasize that
this applies to functions.
* lisp/erc/erc.el (erc-send-command): Use define-obsolete-function-alias.
* lisp/international/mule-util.el (string-to-sequence): Remove.
* lisp/net/newst-backend.el (newsticker-cache-filename):
* lisp/net/newst-treeview.el (newsticker-groups-filename): Fix
incorrect obsolescence declaration.
* lisp/net/snmp-mode.el (snmp-font-lock-keywords-3): Don't use obsolete
font-lock-reference-face.
* lisp/url/url-parse.el (url-recreate-url-attributes):
* lisp/url/url-util.el (url-generate-unique-filename): Use declare to mark
obsolete.
* src/xdisp.c (mode_line_inverse_video): Delete obsolete variable.
2012-09-25 04:13:02 +00:00
|
|
|
|
(declare (obsolete bookmark-handle-bookmark "23.1"))
|
2008-10-29 17:42:49 +00:00
|
|
|
|
(save-excursion
|
|
|
|
|
(bookmark-handle-bookmark bookmark)
|
|
|
|
|
(cons (current-buffer) (point))))
|
|
|
|
|
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark-handle-bookmark (bookmark-name-or-record)
|
|
|
|
|
"Call BOOKMARK-NAME-OR-RECORD's handler or `bookmark-default-handler'
|
|
|
|
|
if it has none. This changes current buffer and point and returns nil,
|
2011-02-01 21:22:21 +00:00
|
|
|
|
or signals a `file-error'.
|
* bookmark.el
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-set-name, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation, 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,
bookmark-location, bookmark-jump, bookmark-jump-other-window,
bookmark-handle-bookmark, bookmark-relocate, bookmark-insert-location,
bookmark-rename, bookmark-insert, bookmark-delete, bookmark-time-to-save-p,
bookmark-edit-annotation-mode, bookmark-edit-annotation): Improve doc
strings to say whether bookmark can be a string or a record or both,
and make other consistency and clarity fixes.
(bookmark-get-handler, bookmark--jump-via, bookmark-write-file,
bookmark-default-annotation-text, bookmark-yank-word,
bookmark-maybe-load-default-file, bookmark-maybe-sort-alist,
bookmark-import-new-list, bookmark-maybe-rename,
bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames,
bookmark-bmenu-bookmark): Give these doc strings.
(bookmark-bmenu-check-position): Give this a doc string, but also
add a FIXME comment about how the function may be pointless.
(bookmark-default-handler): Rework doc string and change a parameter
name, to clarify that this takes a bookmark record not a bookmark name.
(bookmark-set): Change a parameter name to indicate its meaning,
and improve the doc string a bit.
(Bug#4188)
2009-10-05 01:35:34 +00:00
|
|
|
|
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
If BOOKMARK-NAME-OR-RECORD has no file, this is a no-op. If
|
|
|
|
|
BOOKMARK-NAME-OR-RECORD has a file, but that file no longer exists,
|
|
|
|
|
then offer interactively to relocate BOOKMARK-NAME-OR-RECORD."
|
2008-06-25 16:51:33 +00:00
|
|
|
|
(condition-case err
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(funcall (or (bookmark-get-handler bookmark-name-or-record)
|
2008-06-25 16:51:33 +00:00
|
|
|
|
'bookmark-default-handler)
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(bookmark-get-bookmark bookmark-name-or-record))
|
2010-02-10 20:02:54 +00:00
|
|
|
|
(bookmark-error-no-filename ;file-error
|
2008-06-25 16:51:33 +00:00
|
|
|
|
;; We were unable to find the marked file, so ask if user wants to
|
|
|
|
|
;; relocate the bookmark, else remind them to consider deletion.
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(when (stringp bookmark-name-or-record)
|
|
|
|
|
;; `bookmark-name-or-record' can be either a bookmark name
|
|
|
|
|
;; (from `bookmark-alist') or a bookmark object. If it's an
|
|
|
|
|
;; object, we assume it's a bookmark used internally by some
|
|
|
|
|
;; other package.
|
|
|
|
|
(let ((file (bookmark-get-filename bookmark-name-or-record)))
|
2008-06-25 16:51:33 +00:00
|
|
|
|
(when file ;Don't know how to relocate if there's no `file'.
|
2009-10-05 04:19:04 +00:00
|
|
|
|
;; If file is not a dir, directory-file-name just returns file.
|
|
|
|
|
(let ((display-name (directory-file-name file)))
|
|
|
|
|
(ding)
|
|
|
|
|
;; Dialog boxes can accept a file target, but usually don't
|
|
|
|
|
;; know how to accept a directory target (at least, this
|
|
|
|
|
;; is true in Gnome on GNU/Linux, and Bug#4230 says it's
|
|
|
|
|
;; true on Windows as well). So we suppress file dialogs
|
|
|
|
|
;; when relocating.
|
|
|
|
|
(let ((use-dialog-box nil)
|
|
|
|
|
(use-file-dialog nil))
|
|
|
|
|
(if (y-or-n-p (concat display-name " nonexistent. Relocate \""
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
bookmark-name-or-record "\"? "))
|
2009-10-05 04:19:04 +00:00
|
|
|
|
(progn
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(bookmark-relocate bookmark-name-or-record)
|
2009-10-05 04:19:04 +00:00
|
|
|
|
;; Try again.
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(funcall (or (bookmark-get-handler bookmark-name-or-record)
|
2009-10-05 04:19:04 +00:00
|
|
|
|
'bookmark-default-handler)
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(bookmark-get-bookmark bookmark-name-or-record)))
|
2009-10-05 04:19:04 +00:00
|
|
|
|
(message
|
2010-01-02 01:05:44 +00:00
|
|
|
|
"Bookmark not relocated; consider removing it (%s)."
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
bookmark-name-or-record)
|
2009-10-05 04:19:04 +00:00
|
|
|
|
(signal (car err) (cdr err))))))))))
|
2008-06-25 16:51:33 +00:00
|
|
|
|
;; Added by db.
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(when (stringp bookmark-name-or-record)
|
|
|
|
|
(setq bookmark-current-bookmark bookmark-name-or-record))
|
2008-06-25 16:51:33 +00:00
|
|
|
|
nil)
|
|
|
|
|
|
2009-10-05 04:19:04 +00:00
|
|
|
|
(put 'bookmark-error-no-filename
|
|
|
|
|
'error-conditions
|
|
|
|
|
'(error bookmark-errors bookmark-error-no-filename))
|
|
|
|
|
(put 'bookmark-error-no-filename
|
|
|
|
|
'error-message
|
|
|
|
|
"Bookmark has no associated file (or directory)")
|
|
|
|
|
|
* bookmark.el
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-set-name, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation, 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,
bookmark-location, bookmark-jump, bookmark-jump-other-window,
bookmark-handle-bookmark, bookmark-relocate, bookmark-insert-location,
bookmark-rename, bookmark-insert, bookmark-delete, bookmark-time-to-save-p,
bookmark-edit-annotation-mode, bookmark-edit-annotation): Improve doc
strings to say whether bookmark can be a string or a record or both,
and make other consistency and clarity fixes.
(bookmark-get-handler, bookmark--jump-via, bookmark-write-file,
bookmark-default-annotation-text, bookmark-yank-word,
bookmark-maybe-load-default-file, bookmark-maybe-sort-alist,
bookmark-import-new-list, bookmark-maybe-rename,
bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames,
bookmark-bmenu-bookmark): Give these doc strings.
(bookmark-bmenu-check-position): Give this a doc string, but also
add a FIXME comment about how the function may be pointless.
(bookmark-default-handler): Rework doc string and change a parameter
name, to clarify that this takes a bookmark record not a bookmark name.
(bookmark-set): Change a parameter name to indicate its meaning,
and improve the doc string a bit.
(Bug#4188)
2009-10-05 01:35:34 +00:00
|
|
|
|
(defun bookmark-default-handler (bmk-record)
|
2008-06-25 16:51:33 +00:00
|
|
|
|
"Default handler to jump to a particular bookmark location.
|
* bookmark.el
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-set-name, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation, 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,
bookmark-location, bookmark-jump, bookmark-jump-other-window,
bookmark-handle-bookmark, bookmark-relocate, bookmark-insert-location,
bookmark-rename, bookmark-insert, bookmark-delete, bookmark-time-to-save-p,
bookmark-edit-annotation-mode, bookmark-edit-annotation): Improve doc
strings to say whether bookmark can be a string or a record or both,
and make other consistency and clarity fixes.
(bookmark-get-handler, bookmark--jump-via, bookmark-write-file,
bookmark-default-annotation-text, bookmark-yank-word,
bookmark-maybe-load-default-file, bookmark-maybe-sort-alist,
bookmark-import-new-list, bookmark-maybe-rename,
bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames,
bookmark-bmenu-bookmark): Give these doc strings.
(bookmark-bmenu-check-position): Give this a doc string, but also
add a FIXME comment about how the function may be pointless.
(bookmark-default-handler): Rework doc string and change a parameter
name, to clarify that this takes a bookmark record not a bookmark name.
(bookmark-set): Change a parameter name to indicate its meaning,
and improve the doc string a bit.
(Bug#4188)
2009-10-05 01:35:34 +00:00
|
|
|
|
BMK-RECORD is a bookmark record, not a bookmark name (i.e., not a string).
|
2008-06-25 16:51:33 +00:00
|
|
|
|
Changes current buffer and point and returns nil, or signals a `file-error'."
|
2009-10-05 04:19:04 +00:00
|
|
|
|
(let ((file (bookmark-get-filename bmk-record))
|
2010-02-10 20:02:54 +00:00
|
|
|
|
(buf (bookmark-prop-get bmk-record 'buffer))
|
2009-10-05 04:19:04 +00:00
|
|
|
|
(forward-str (bookmark-get-front-context-string bmk-record))
|
|
|
|
|
(behind-str (bookmark-get-rear-context-string bmk-record))
|
|
|
|
|
(place (bookmark-get-position bmk-record)))
|
2010-02-10 20:02:54 +00:00
|
|
|
|
(set-buffer
|
|
|
|
|
(cond
|
|
|
|
|
((and file (file-readable-p file) (not (buffer-live-p buf)))
|
|
|
|
|
(find-file-noselect file))
|
|
|
|
|
;; No file found. See if buffer BUF have been created.
|
|
|
|
|
((and buf (get-buffer buf)))
|
|
|
|
|
(t ;; If not, raise error.
|
|
|
|
|
(signal 'bookmark-error-no-filename (list 'stringp file)))))
|
|
|
|
|
(if place (goto-char place))
|
|
|
|
|
;; Go searching forward first. Then, if forward-str exists and
|
|
|
|
|
;; was found in the file, we can search backward for behind-str.
|
|
|
|
|
;; Rationale is that if text was inserted between the two in the
|
|
|
|
|
;; file, it's better to be put before it so you can read it,
|
|
|
|
|
;; rather than after and remain perhaps unaware of the changes.
|
|
|
|
|
(when (and forward-str (search-forward forward-str (point-max) t))
|
|
|
|
|
(goto-char (match-beginning 0)))
|
|
|
|
|
(when (and behind-str (search-backward behind-str (point-min) t))
|
|
|
|
|
(goto-char (match-end 0)))
|
2008-06-25 16:51:33 +00:00
|
|
|
|
nil))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
|
|
|
|
;;;###autoload
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark-relocate (bookmark-name)
|
|
|
|
|
"Relocate BOOKMARK-NAME to another file, reading file name with minibuffer.
|
* bookmark.el
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-set-name, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation, 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,
bookmark-location, bookmark-jump, bookmark-jump-other-window,
bookmark-handle-bookmark, bookmark-relocate, bookmark-insert-location,
bookmark-rename, bookmark-insert, bookmark-delete, bookmark-time-to-save-p,
bookmark-edit-annotation-mode, bookmark-edit-annotation): Improve doc
strings to say whether bookmark can be a string or a record or both,
and make other consistency and clarity fixes.
(bookmark-get-handler, bookmark--jump-via, bookmark-write-file,
bookmark-default-annotation-text, bookmark-yank-word,
bookmark-maybe-load-default-file, bookmark-maybe-sort-alist,
bookmark-import-new-list, bookmark-maybe-rename,
bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames,
bookmark-bmenu-bookmark): Give these doc strings.
(bookmark-bmenu-check-position): Give this a doc string, but also
add a FIXME comment about how the function may be pointless.
(bookmark-default-handler): Rework doc string and change a parameter
name, to clarify that this takes a bookmark record not a bookmark name.
(bookmark-set): Change a parameter name to indicate its meaning,
and improve the doc string a bit.
(Bug#4188)
2009-10-05 01:35:34 +00:00
|
|
|
|
|
1996-05-09 17:34:55 +00:00
|
|
|
|
This makes an already existing bookmark point to that file, instead of
|
|
|
|
|
the one it used to point at. Useful when a file has been renamed
|
|
|
|
|
after a bookmark was set in it."
|
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Return a string, instead of a list of one string.
(bookmark-edit-annotation): Remove unused vars.
(bookmark-jump, bookmark-relocate, bookmark-insert-location)
(bookmark-rename, bookmark-insert, bookmark-delete): Adjust calls
to bookmark-completing-read.
(bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames)
(bookmark-bmenu-mark, bookmark-bmenu-select, bookmark-bmenu-unmark)
(bookmark-bmenu-delete, bookmark-bmenu-list): Use inhibit-read-only
and erase-buffer.
(bookmark-menu-delete, bookmark-menu-rename, bookmark-menu-locate)
(bookmark-menu-jump, bookmark-menu-insert)
(bookmark-popup-menu-and-apply-function)
(bookmark-menu-popup-paned-bookmark-menu): Remove.
(bookmark-menu-build-paned-menu): Remove by folding it into
bookmark-menu-popup-paned-menu.
(menu-bar-bookmark-map): Move the define-key statements here.
Use the "non-menu" commands since they now pop up a menu if needed.
(bookmark-exit-hook-internal): Simplify.
2003-08-11 17:30:47 +00:00
|
|
|
|
(interactive (list (bookmark-completing-read "Bookmark to relocate")))
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(bookmark-maybe-historicize-string bookmark-name)
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(bookmark-maybe-load-default-file)
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(let* ((bmrk-filename (bookmark-get-filename bookmark-name))
|
2010-02-18 18:52:36 +00:00
|
|
|
|
(newloc (abbreviate-file-name
|
|
|
|
|
(expand-file-name
|
|
|
|
|
(read-file-name
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(format "Relocate %s to: " bookmark-name)
|
2010-02-18 18:52:36 +00:00
|
|
|
|
(file-name-directory bmrk-filename))))))
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(bookmark-set-filename bookmark-name newloc)
|
2008-06-25 16:51:33 +00:00
|
|
|
|
(setq bookmark-alist-modification-count
|
|
|
|
|
(1+ bookmark-alist-modification-count))
|
|
|
|
|
(if (bookmark-time-to-save-p)
|
|
|
|
|
(bookmark-save))
|
(bookmark-load): Use `bookmark-import-new-list' to
load the new list carefully, renaming bookmarks as necessary.
In docstring, mention new renaming behavior.
Optional arg OVERWRITE replaces inaccurately-named REVERT.
If file loaded was bookmark-default-file, then set
bookmarks-already-loaded to t.
(bookmark-import-new-list): New func.
(bookmark-maybe-rename): New func, helper to above.
(bookmark-set-name): Accept bookmark as either string (behaves
same as before) or list (treat it as a bookmark record).
(bookmark-set, bookmark-maybe-load-default-file)
(bookmark-jump-noselect, bookmark-rename)
(bookmark-show-annotation): Discard pointless `progn's.
(bookmark-bmenu-mark, bookmark-bmenu-unmark)
(bookmark-bmenu-backup-unmark, bookmark-bmenu-delete-backwards):
Renormalize position after all else is done.
(bookmark-edit-annotation-mode, bookmark-bmenu-list)
(bookmark-show-annotation, bookmark-show-all-annotations):
Use `x' instead of `(not (eq x nil))'.
(bookmark-yank-word): Inner save-excursion changed to progn.
(bookmark-send-annotation, bookmark-send-edited-annotation)
(bookmark-insert): Use buffer-string instead of buffer-substring.
(bookmark-make-cell): Make sure annotation and info-node strings
contain no text properties.
(bookmark-relocate): Remember to rebuild bmenu buffer after a
bookmark has been relocated.
(bookmark-bmenu-check-position): Return a meaningful value --
callers have apparently been assuming this anyway.
(bookmark-build-xemacs-menu): Unused function deleted.
(bookmark-version): Removed this variable; the Emacs version suffices.
1997-08-22 19:14:10 +00:00
|
|
|
|
(bookmark-bmenu-surreptitiously-rebuild-list)))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
|
|
|
|
;;;###autoload
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark-insert-location (bookmark-name &optional no-history)
|
|
|
|
|
"Insert the name of the file associated with BOOKMARK-NAME.
|
* bookmark.el
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-set-name, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation, 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,
bookmark-location, bookmark-jump, bookmark-jump-other-window,
bookmark-handle-bookmark, bookmark-relocate, bookmark-insert-location,
bookmark-rename, bookmark-insert, bookmark-delete, bookmark-time-to-save-p,
bookmark-edit-annotation-mode, bookmark-edit-annotation): Improve doc
strings to say whether bookmark can be a string or a record or both,
and make other consistency and clarity fixes.
(bookmark-get-handler, bookmark--jump-via, bookmark-write-file,
bookmark-default-annotation-text, bookmark-yank-word,
bookmark-maybe-load-default-file, bookmark-maybe-sort-alist,
bookmark-import-new-list, bookmark-maybe-rename,
bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames,
bookmark-bmenu-bookmark): Give these doc strings.
(bookmark-bmenu-check-position): Give this a doc string, but also
add a FIXME comment about how the function may be pointless.
(bookmark-default-handler): Rework doc string and change a parameter
name, to clarify that this takes a bookmark record not a bookmark name.
(bookmark-set): Change a parameter name to indicate its meaning,
and improve the doc string a bit.
(Bug#4188)
2009-10-05 01:35:34 +00:00
|
|
|
|
|
1995-03-13 22:50:35 +00:00
|
|
|
|
Optional second arg NO-HISTORY means don't record this in the
|
|
|
|
|
minibuffer history list `bookmark-history'."
|
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Return a string, instead of a list of one string.
(bookmark-edit-annotation): Remove unused vars.
(bookmark-jump, bookmark-relocate, bookmark-insert-location)
(bookmark-rename, bookmark-insert, bookmark-delete): Adjust calls
to bookmark-completing-read.
(bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames)
(bookmark-bmenu-mark, bookmark-bmenu-select, bookmark-bmenu-unmark)
(bookmark-bmenu-delete, bookmark-bmenu-list): Use inhibit-read-only
and erase-buffer.
(bookmark-menu-delete, bookmark-menu-rename, bookmark-menu-locate)
(bookmark-menu-jump, bookmark-menu-insert)
(bookmark-popup-menu-and-apply-function)
(bookmark-menu-popup-paned-bookmark-menu): Remove.
(bookmark-menu-build-paned-menu): Remove by folding it into
bookmark-menu-popup-paned-menu.
(menu-bar-bookmark-map): Move the define-key statements here.
Use the "non-menu" commands since they now pop up a menu if needed.
(bookmark-exit-hook-internal): Simplify.
2003-08-11 17:30:47 +00:00
|
|
|
|
(interactive (list (bookmark-completing-read "Insert bookmark location")))
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(or no-history (bookmark-maybe-historicize-string bookmark-name))
|
2013-03-07 22:35:47 +00:00
|
|
|
|
(insert (bookmark-location bookmark-name)))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
1996-05-08 19:16:51 +00:00
|
|
|
|
;;;###autoload
|
1996-05-08 02:22:12 +00:00
|
|
|
|
(defalias 'bookmark-locate 'bookmark-insert-location)
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark-location (bookmark-name-or-record)
|
|
|
|
|
"Return a description of the location of BOOKMARK-NAME-OR-RECORD."
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(bookmark-maybe-load-default-file)
|
2010-04-14 15:07:53 +00:00
|
|
|
|
;; We could call the `handler' and ask for it to construct a description
|
|
|
|
|
;; dynamically: it would open up several new possibilities, but it
|
|
|
|
|
;; would have the major disadvantage of forcing to load each and
|
|
|
|
|
;; every handler when the user calls bookmark-menu.
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(or (bookmark-prop-get bookmark-name-or-record 'location)
|
|
|
|
|
(bookmark-get-filename bookmark-name-or-record)
|
2010-04-14 15:07:53 +00:00
|
|
|
|
"-- Unknown location --"))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
|
|
|
|
;;;###autoload
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark-rename (old-name &optional new-name)
|
|
|
|
|
"Change the name of OLD-NAME bookmark to NEW-NAME name.
|
|
|
|
|
If called from keyboard, prompt for OLD-NAME and NEW-NAME.
|
|
|
|
|
If called from menubar, select OLD-NAME from a menu and prompt for NEW-NAME.
|
* bookmark.el
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-set-name, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation, 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,
bookmark-location, bookmark-jump, bookmark-jump-other-window,
bookmark-handle-bookmark, bookmark-relocate, bookmark-insert-location,
bookmark-rename, bookmark-insert, bookmark-delete, bookmark-time-to-save-p,
bookmark-edit-annotation-mode, bookmark-edit-annotation): Improve doc
strings to say whether bookmark can be a string or a record or both,
and make other consistency and clarity fixes.
(bookmark-get-handler, bookmark--jump-via, bookmark-write-file,
bookmark-default-annotation-text, bookmark-yank-word,
bookmark-maybe-load-default-file, bookmark-maybe-sort-alist,
bookmark-import-new-list, bookmark-maybe-rename,
bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames,
bookmark-bmenu-bookmark): Give these doc strings.
(bookmark-bmenu-check-position): Give this a doc string, but also
add a FIXME comment about how the function may be pointless.
(bookmark-default-handler): Rework doc string and change a parameter
name, to clarify that this takes a bookmark record not a bookmark name.
(bookmark-set): Change a parameter name to indicate its meaning,
and improve the doc string a bit.
(Bug#4188)
2009-10-05 01:35:34 +00:00
|
|
|
|
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
If called from Lisp, prompt for NEW-NAME if only OLD-NAME was passed
|
|
|
|
|
as an argument. If called with two strings, then no prompting is done.
|
|
|
|
|
You must pass at least OLD-NAME when calling from Lisp.
|
1993-08-14 19:49:27 +00:00
|
|
|
|
|
|
|
|
|
While you are entering the new name, consecutive C-w's insert
|
1996-01-04 23:28:24 +00:00
|
|
|
|
consecutive words from the text of the buffer into the new bookmark
|
1995-03-13 22:50:35 +00:00
|
|
|
|
name."
|
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Return a string, instead of a list of one string.
(bookmark-edit-annotation): Remove unused vars.
(bookmark-jump, bookmark-relocate, bookmark-insert-location)
(bookmark-rename, bookmark-insert, bookmark-delete): Adjust calls
to bookmark-completing-read.
(bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames)
(bookmark-bmenu-mark, bookmark-bmenu-select, bookmark-bmenu-unmark)
(bookmark-bmenu-delete, bookmark-bmenu-list): Use inhibit-read-only
and erase-buffer.
(bookmark-menu-delete, bookmark-menu-rename, bookmark-menu-locate)
(bookmark-menu-jump, bookmark-menu-insert)
(bookmark-popup-menu-and-apply-function)
(bookmark-menu-popup-paned-bookmark-menu): Remove.
(bookmark-menu-build-paned-menu): Remove by folding it into
bookmark-menu-popup-paned-menu.
(menu-bar-bookmark-map): Move the define-key statements here.
Use the "non-menu" commands since they now pop up a menu if needed.
(bookmark-exit-hook-internal): Simplify.
2003-08-11 17:30:47 +00:00
|
|
|
|
(interactive (list (bookmark-completing-read "Old bookmark name")))
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(bookmark-maybe-historicize-string old-name)
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(bookmark-maybe-load-default-file)
|
(bookmark-load): Use `bookmark-import-new-list' to
load the new list carefully, renaming bookmarks as necessary.
In docstring, mention new renaming behavior.
Optional arg OVERWRITE replaces inaccurately-named REVERT.
If file loaded was bookmark-default-file, then set
bookmarks-already-loaded to t.
(bookmark-import-new-list): New func.
(bookmark-maybe-rename): New func, helper to above.
(bookmark-set-name): Accept bookmark as either string (behaves
same as before) or list (treat it as a bookmark record).
(bookmark-set, bookmark-maybe-load-default-file)
(bookmark-jump-noselect, bookmark-rename)
(bookmark-show-annotation): Discard pointless `progn's.
(bookmark-bmenu-mark, bookmark-bmenu-unmark)
(bookmark-bmenu-backup-unmark, bookmark-bmenu-delete-backwards):
Renormalize position after all else is done.
(bookmark-edit-annotation-mode, bookmark-bmenu-list)
(bookmark-show-annotation, bookmark-show-all-annotations):
Use `x' instead of `(not (eq x nil))'.
(bookmark-yank-word): Inner save-excursion changed to progn.
(bookmark-send-annotation, bookmark-send-edited-annotation)
(bookmark-insert): Use buffer-string instead of buffer-substring.
(bookmark-make-cell): Make sure annotation and info-node strings
contain no text properties.
(bookmark-relocate): Remember to rebuild bmenu buffer after a
bookmark has been relocated.
(bookmark-bmenu-check-position): Return a meaningful value --
callers have apparently been assuming this anyway.
(bookmark-build-xemacs-menu): Unused function deleted.
(bookmark-version): Removed this variable; the Emacs version suffices.
1997-08-22 19:14:10 +00:00
|
|
|
|
|
|
|
|
|
(setq bookmark-yank-point (point))
|
|
|
|
|
(setq bookmark-current-buffer (current-buffer))
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(let ((final-new-name
|
|
|
|
|
(or new-name ; use second arg, if non-nil
|
(bookmark-load): Use `bookmark-import-new-list' to
load the new list carefully, renaming bookmarks as necessary.
In docstring, mention new renaming behavior.
Optional arg OVERWRITE replaces inaccurately-named REVERT.
If file loaded was bookmark-default-file, then set
bookmarks-already-loaded to t.
(bookmark-import-new-list): New func.
(bookmark-maybe-rename): New func, helper to above.
(bookmark-set-name): Accept bookmark as either string (behaves
same as before) or list (treat it as a bookmark record).
(bookmark-set, bookmark-maybe-load-default-file)
(bookmark-jump-noselect, bookmark-rename)
(bookmark-show-annotation): Discard pointless `progn's.
(bookmark-bmenu-mark, bookmark-bmenu-unmark)
(bookmark-bmenu-backup-unmark, bookmark-bmenu-delete-backwards):
Renormalize position after all else is done.
(bookmark-edit-annotation-mode, bookmark-bmenu-list)
(bookmark-show-annotation, bookmark-show-all-annotations):
Use `x' instead of `(not (eq x nil))'.
(bookmark-yank-word): Inner save-excursion changed to progn.
(bookmark-send-annotation, bookmark-send-edited-annotation)
(bookmark-insert): Use buffer-string instead of buffer-substring.
(bookmark-make-cell): Make sure annotation and info-node strings
contain no text properties.
(bookmark-relocate): Remember to rebuild bmenu buffer after a
bookmark has been relocated.
(bookmark-bmenu-check-position): Return a meaningful value --
callers have apparently been assuming this anyway.
(bookmark-build-xemacs-menu): Unused function deleted.
(bookmark-version): Removed this variable; the Emacs version suffices.
1997-08-22 19:14:10 +00:00
|
|
|
|
(read-from-minibuffer
|
|
|
|
|
"New name: "
|
|
|
|
|
nil
|
|
|
|
|
(let ((now-map (copy-keymap minibuffer-local-map)))
|
2010-01-02 01:05:44 +00:00
|
|
|
|
(define-key now-map "\C-w" 'bookmark-yank-word)
|
(bookmark-load): Use `bookmark-import-new-list' to
load the new list carefully, renaming bookmarks as necessary.
In docstring, mention new renaming behavior.
Optional arg OVERWRITE replaces inaccurately-named REVERT.
If file loaded was bookmark-default-file, then set
bookmarks-already-loaded to t.
(bookmark-import-new-list): New func.
(bookmark-maybe-rename): New func, helper to above.
(bookmark-set-name): Accept bookmark as either string (behaves
same as before) or list (treat it as a bookmark record).
(bookmark-set, bookmark-maybe-load-default-file)
(bookmark-jump-noselect, bookmark-rename)
(bookmark-show-annotation): Discard pointless `progn's.
(bookmark-bmenu-mark, bookmark-bmenu-unmark)
(bookmark-bmenu-backup-unmark, bookmark-bmenu-delete-backwards):
Renormalize position after all else is done.
(bookmark-edit-annotation-mode, bookmark-bmenu-list)
(bookmark-show-annotation, bookmark-show-all-annotations):
Use `x' instead of `(not (eq x nil))'.
(bookmark-yank-word): Inner save-excursion changed to progn.
(bookmark-send-annotation, bookmark-send-edited-annotation)
(bookmark-insert): Use buffer-string instead of buffer-substring.
(bookmark-make-cell): Make sure annotation and info-node strings
contain no text properties.
(bookmark-relocate): Remember to rebuild bmenu buffer after a
bookmark has been relocated.
(bookmark-bmenu-check-position): Return a meaningful value --
callers have apparently been assuming this anyway.
(bookmark-build-xemacs-menu): Unused function deleted.
(bookmark-version): Removed this variable; the Emacs version suffices.
1997-08-22 19:14:10 +00:00
|
|
|
|
now-map)
|
|
|
|
|
nil
|
|
|
|
|
'bookmark-history))))
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(bookmark-set-name old-name final-new-name)
|
|
|
|
|
(setq bookmark-current-bookmark final-new-name)
|
(bookmark-load): Use `bookmark-import-new-list' to
load the new list carefully, renaming bookmarks as necessary.
In docstring, mention new renaming behavior.
Optional arg OVERWRITE replaces inaccurately-named REVERT.
If file loaded was bookmark-default-file, then set
bookmarks-already-loaded to t.
(bookmark-import-new-list): New func.
(bookmark-maybe-rename): New func, helper to above.
(bookmark-set-name): Accept bookmark as either string (behaves
same as before) or list (treat it as a bookmark record).
(bookmark-set, bookmark-maybe-load-default-file)
(bookmark-jump-noselect, bookmark-rename)
(bookmark-show-annotation): Discard pointless `progn's.
(bookmark-bmenu-mark, bookmark-bmenu-unmark)
(bookmark-bmenu-backup-unmark, bookmark-bmenu-delete-backwards):
Renormalize position after all else is done.
(bookmark-edit-annotation-mode, bookmark-bmenu-list)
(bookmark-show-annotation, bookmark-show-all-annotations):
Use `x' instead of `(not (eq x nil))'.
(bookmark-yank-word): Inner save-excursion changed to progn.
(bookmark-send-annotation, bookmark-send-edited-annotation)
(bookmark-insert): Use buffer-string instead of buffer-substring.
(bookmark-make-cell): Make sure annotation and info-node strings
contain no text properties.
(bookmark-relocate): Remember to rebuild bmenu buffer after a
bookmark has been relocated.
(bookmark-bmenu-check-position): Return a meaningful value --
callers have apparently been assuming this anyway.
(bookmark-build-xemacs-menu): Unused function deleted.
(bookmark-version): Removed this variable; the Emacs version suffices.
1997-08-22 19:14:10 +00:00
|
|
|
|
(bookmark-bmenu-surreptitiously-rebuild-list)
|
|
|
|
|
(setq bookmark-alist-modification-count
|
|
|
|
|
(1+ bookmark-alist-modification-count))
|
|
|
|
|
(if (bookmark-time-to-save-p)
|
|
|
|
|
(bookmark-save))))
|
1993-08-10 20:35:31 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
;;;###autoload
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark-insert (bookmark-name)
|
|
|
|
|
"Insert the text of the file pointed to by bookmark BOOKMARK-NAME.
|
|
|
|
|
BOOKMARK-NAME is a bookmark name (a string), not a bookmark record.
|
* bookmark.el
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-set-name, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation, 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,
bookmark-location, bookmark-jump, bookmark-jump-other-window,
bookmark-handle-bookmark, bookmark-relocate, bookmark-insert-location,
bookmark-rename, bookmark-insert, bookmark-delete, bookmark-time-to-save-p,
bookmark-edit-annotation-mode, bookmark-edit-annotation): Improve doc
strings to say whether bookmark can be a string or a record or both,
and make other consistency and clarity fixes.
(bookmark-get-handler, bookmark--jump-via, bookmark-write-file,
bookmark-default-annotation-text, bookmark-yank-word,
bookmark-maybe-load-default-file, bookmark-maybe-sort-alist,
bookmark-import-new-list, bookmark-maybe-rename,
bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames,
bookmark-bmenu-bookmark): Give these doc strings.
(bookmark-bmenu-check-position): Give this a doc string, but also
add a FIXME comment about how the function may be pointless.
(bookmark-default-handler): Rework doc string and change a parameter
name, to clarify that this takes a bookmark record not a bookmark name.
(bookmark-set): Change a parameter name to indicate its meaning,
and improve the doc string a bit.
(Bug#4188)
2009-10-05 01:35:34 +00:00
|
|
|
|
|
1993-08-14 19:49:27 +00:00
|
|
|
|
You may have a problem using this function if the value of variable
|
|
|
|
|
`bookmark-alist' is nil. If that happens, you need to load in some
|
|
|
|
|
bookmarks. See help on function `bookmark-load' for more about
|
1993-08-14 11:04:06 +00:00
|
|
|
|
this."
|
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Return a string, instead of a list of one string.
(bookmark-edit-annotation): Remove unused vars.
(bookmark-jump, bookmark-relocate, bookmark-insert-location)
(bookmark-rename, bookmark-insert, bookmark-delete): Adjust calls
to bookmark-completing-read.
(bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames)
(bookmark-bmenu-mark, bookmark-bmenu-select, bookmark-bmenu-unmark)
(bookmark-bmenu-delete, bookmark-bmenu-list): Use inhibit-read-only
and erase-buffer.
(bookmark-menu-delete, bookmark-menu-rename, bookmark-menu-locate)
(bookmark-menu-jump, bookmark-menu-insert)
(bookmark-popup-menu-and-apply-function)
(bookmark-menu-popup-paned-bookmark-menu): Remove.
(bookmark-menu-build-paned-menu): Remove by folding it into
bookmark-menu-popup-paned-menu.
(menu-bar-bookmark-map): Move the define-key statements here.
Use the "non-menu" commands since they now pop up a menu if needed.
(bookmark-exit-hook-internal): Simplify.
2003-08-11 17:30:47 +00:00
|
|
|
|
(interactive (list (bookmark-completing-read "Insert bookmark contents")))
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(bookmark-maybe-historicize-string bookmark-name)
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(bookmark-maybe-load-default-file)
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
(let ((orig-point (point))
|
2007-12-26 08:53:06 +00:00
|
|
|
|
(str-to-insert
|
2008-06-25 16:51:33 +00:00
|
|
|
|
(save-current-buffer
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(bookmark-handle-bookmark bookmark-name)
|
2007-12-26 08:53:06 +00:00
|
|
|
|
(buffer-string))))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
(insert str-to-insert)
|
|
|
|
|
(push-mark)
|
|
|
|
|
(goto-char orig-point)))
|
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
;;;###autoload
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark-delete (bookmark-name &optional batch)
|
|
|
|
|
"Delete BOOKMARK-NAME from the bookmark list.
|
* bookmark.el
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-set-name, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation, 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,
bookmark-location, bookmark-jump, bookmark-jump-other-window,
bookmark-handle-bookmark, bookmark-relocate, bookmark-insert-location,
bookmark-rename, bookmark-insert, bookmark-delete, bookmark-time-to-save-p,
bookmark-edit-annotation-mode, bookmark-edit-annotation): Improve doc
strings to say whether bookmark can be a string or a record or both,
and make other consistency and clarity fixes.
(bookmark-get-handler, bookmark--jump-via, bookmark-write-file,
bookmark-default-annotation-text, bookmark-yank-word,
bookmark-maybe-load-default-file, bookmark-maybe-sort-alist,
bookmark-import-new-list, bookmark-maybe-rename,
bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames,
bookmark-bmenu-bookmark): Give these doc strings.
(bookmark-bmenu-check-position): Give this a doc string, but also
add a FIXME comment about how the function may be pointless.
(bookmark-default-handler): Rework doc string and change a parameter
name, to clarify that this takes a bookmark record not a bookmark name.
(bookmark-set): Change a parameter name to indicate its meaning,
and improve the doc string a bit.
(Bug#4188)
2009-10-05 01:35:34 +00:00
|
|
|
|
|
1993-08-14 19:49:27 +00:00
|
|
|
|
Removes only the first instance of a bookmark with that name. If
|
|
|
|
|
there are one or more other bookmarks with the same name, they will
|
2010-01-02 01:05:44 +00:00
|
|
|
|
not be deleted. Defaults to the \"current\" bookmark (that is, the
|
|
|
|
|
one most recently used in this file, if any).
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
Optional second arg BATCH means don't update the bookmark list buffer,
|
|
|
|
|
probably because we were called from there."
|
|
|
|
|
(interactive
|
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Return a string, instead of a list of one string.
(bookmark-edit-annotation): Remove unused vars.
(bookmark-jump, bookmark-relocate, bookmark-insert-location)
(bookmark-rename, bookmark-insert, bookmark-delete): Adjust calls
to bookmark-completing-read.
(bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames)
(bookmark-bmenu-mark, bookmark-bmenu-select, bookmark-bmenu-unmark)
(bookmark-bmenu-delete, bookmark-bmenu-list): Use inhibit-read-only
and erase-buffer.
(bookmark-menu-delete, bookmark-menu-rename, bookmark-menu-locate)
(bookmark-menu-jump, bookmark-menu-insert)
(bookmark-popup-menu-and-apply-function)
(bookmark-menu-popup-paned-bookmark-menu): Remove.
(bookmark-menu-build-paned-menu): Remove by folding it into
bookmark-menu-popup-paned-menu.
(menu-bar-bookmark-map): Move the define-key statements here.
Use the "non-menu" commands since they now pop up a menu if needed.
(bookmark-exit-hook-internal): Simplify.
2003-08-11 17:30:47 +00:00
|
|
|
|
(list (bookmark-completing-read "Delete bookmark"
|
|
|
|
|
bookmark-current-bookmark)))
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(bookmark-maybe-historicize-string bookmark-name)
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(bookmark-maybe-load-default-file)
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(let ((will-go (bookmark-get-bookmark bookmark-name 'noerror)))
|
1993-08-13 00:59:51 +00:00
|
|
|
|
(setq bookmark-alist (delq will-go bookmark-alist))
|
|
|
|
|
;; Added by db, nil bookmark-current-bookmark if the last
|
1996-01-04 23:28:24 +00:00
|
|
|
|
;; occurrence has been deleted
|
2008-11-21 19:29:16 +00:00
|
|
|
|
(or (bookmark-get-bookmark bookmark-current-bookmark 'noerror)
|
1993-08-13 00:59:51 +00:00
|
|
|
|
(setq bookmark-current-bookmark nil)))
|
2009-10-09 06:44:40 +00:00
|
|
|
|
(unless batch
|
|
|
|
|
(bookmark-bmenu-surreptitiously-rebuild-list))
|
|
|
|
|
(setq bookmark-alist-modification-count
|
|
|
|
|
(1+ bookmark-alist-modification-count))
|
|
|
|
|
(when (bookmark-time-to-save-p)
|
|
|
|
|
(bookmark-save)))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
1993-08-10 20:35:31 +00:00
|
|
|
|
|
* bookmark.el
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-set-name, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation, 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,
bookmark-location, bookmark-jump, bookmark-jump-other-window,
bookmark-handle-bookmark, bookmark-relocate, bookmark-insert-location,
bookmark-rename, bookmark-insert, bookmark-delete, bookmark-time-to-save-p,
bookmark-edit-annotation-mode, bookmark-edit-annotation): Improve doc
strings to say whether bookmark can be a string or a record or both,
and make other consistency and clarity fixes.
(bookmark-get-handler, bookmark--jump-via, bookmark-write-file,
bookmark-default-annotation-text, bookmark-yank-word,
bookmark-maybe-load-default-file, bookmark-maybe-sort-alist,
bookmark-import-new-list, bookmark-maybe-rename,
bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames,
bookmark-bmenu-bookmark): Give these doc strings.
(bookmark-bmenu-check-position): Give this a doc string, but also
add a FIXME comment about how the function may be pointless.
(bookmark-default-handler): Rework doc string and change a parameter
name, to clarify that this takes a bookmark record not a bookmark name.
(bookmark-set): Change a parameter name to indicate its meaning,
and improve the doc string a bit.
(Bug#4188)
2009-10-05 01:35:34 +00:00
|
|
|
|
(defun bookmark-time-to-save-p (&optional final-time)
|
|
|
|
|
"Return t if it is time to save bookmarks to disk, nil otherwise.
|
|
|
|
|
Optional argument FINAL-TIME means this is being called when Emacs
|
|
|
|
|
is being killed, so save even if `bookmark-save-flag' is a number and
|
|
|
|
|
is greater than `bookmark-alist-modification-count'."
|
|
|
|
|
;; By Gregory M. Saunders <saunders{_AT_}cis.ohio-state.edu>
|
|
|
|
|
(cond (final-time
|
1993-08-10 20:35:31 +00:00
|
|
|
|
(and (> bookmark-alist-modification-count 0)
|
|
|
|
|
bookmark-save-flag))
|
|
|
|
|
((numberp bookmark-save-flag)
|
|
|
|
|
(>= bookmark-alist-modification-count bookmark-save-flag))
|
|
|
|
|
(t
|
|
|
|
|
nil)))
|
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
;;;###autoload
|
1993-08-10 20:35:31 +00:00
|
|
|
|
(defun bookmark-write ()
|
1996-05-09 17:34:55 +00:00
|
|
|
|
"Write bookmarks to a file (reading the file name with the minibuffer).
|
|
|
|
|
Don't use this in Lisp programs; use `bookmark-save' instead."
|
1993-08-10 20:35:31 +00:00
|
|
|
|
(interactive)
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(bookmark-maybe-load-default-file)
|
1993-08-10 20:35:31 +00:00
|
|
|
|
(bookmark-save t))
|
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
;;;###autoload
|
2001-01-12 22:49:40 +00:00
|
|
|
|
(defun bookmark-save (&optional parg file)
|
1993-08-14 19:49:27 +00:00
|
|
|
|
"Save currently defined bookmarks.
|
|
|
|
|
Saves by default in the file defined by the variable
|
1995-06-18 22:46:02 +00:00
|
|
|
|
`bookmark-default-file'. With a prefix arg, save it in file FILE
|
2010-01-02 01:05:44 +00:00
|
|
|
|
\(second argument).
|
1993-08-10 20:35:31 +00:00
|
|
|
|
|
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
(bookmark-save): Improve argument/docstring consistency.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-alist-from-buffer, bookmark-upgrade-file-format-from-0,
bookmark-grok-file-format-version, bookmark-maybe-upgrade-file-format,
bookmark-kill-line, bookmark-read-annotation-mode,
bookmark-insert-current-bookmark, bookmark-jump, bookmark-exit-hook):
Fix typos in docstrings.
(bookmark-exit-hooks): Define as obsolete alias.
(bookmark-exit-hook-internal): Run `bookmark-exit-hook',
not `bookmark-exit-hooks'. Fix docstring.
(bookmark-bmenu-select): "?\ " -> "?\s".
2005-07-26 13:56:01 +00:00
|
|
|
|
If you are calling this from Lisp, the two arguments are PARG and
|
|
|
|
|
FILE, and if you just want it to write to the default file, then
|
1993-08-10 20:35:31 +00:00
|
|
|
|
pass no arguments. Or pass in nil and FILE, and it will save in FILE
|
|
|
|
|
instead. If you pass in one argument, and it is non-nil, then the
|
|
|
|
|
user will be interactively queried for a file to save in.
|
|
|
|
|
|
1993-08-13 00:59:51 +00:00
|
|
|
|
When you want to load in the bookmarks from a file, use
|
2010-01-02 01:05:44 +00:00
|
|
|
|
`bookmark-load', \\[bookmark-load]. That function will prompt you
|
1993-08-13 00:59:51 +00:00
|
|
|
|
for a file, defaulting to the file defined by variable
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
`bookmark-default-file'."
|
1993-08-10 20:35:31 +00:00
|
|
|
|
(interactive "P")
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(bookmark-maybe-load-default-file)
|
1993-08-10 20:35:31 +00:00
|
|
|
|
(cond
|
|
|
|
|
((and (null parg) (null file))
|
|
|
|
|
;;whether interactive or not, write to default file
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(bookmark-write-file bookmark-default-file))
|
1993-08-10 20:35:31 +00:00
|
|
|
|
((and (null parg) file)
|
|
|
|
|
;;whether interactive or not, write to given file
|
|
|
|
|
(bookmark-write-file file))
|
|
|
|
|
((and parg (not file))
|
|
|
|
|
;;have been called interactively w/ prefix arg
|
|
|
|
|
(let ((file (read-file-name "File to save bookmarks in: ")))
|
|
|
|
|
(bookmark-write-file file)))
|
|
|
|
|
(t ; someone called us with prefix-arg *and* a file, so just write to file
|
|
|
|
|
(bookmark-write-file file)))
|
|
|
|
|
;; signal that we have synced the bookmark file by setting this to
|
|
|
|
|
;; 0. If there was an error at any point before, it will not get
|
|
|
|
|
;; set, which is what we want.
|
|
|
|
|
(setq bookmark-alist-modification-count 0))
|
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
|
1993-08-10 20:35:31 +00:00
|
|
|
|
(defun bookmark-write-file (file)
|
* bookmark.el
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-set-name, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation, 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,
bookmark-location, bookmark-jump, bookmark-jump-other-window,
bookmark-handle-bookmark, bookmark-relocate, bookmark-insert-location,
bookmark-rename, bookmark-insert, bookmark-delete, bookmark-time-to-save-p,
bookmark-edit-annotation-mode, bookmark-edit-annotation): Improve doc
strings to say whether bookmark can be a string or a record or both,
and make other consistency and clarity fixes.
(bookmark-get-handler, bookmark--jump-via, bookmark-write-file,
bookmark-default-annotation-text, bookmark-yank-word,
bookmark-maybe-load-default-file, bookmark-maybe-sort-alist,
bookmark-import-new-list, bookmark-maybe-rename,
bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames,
bookmark-bmenu-bookmark): Give these doc strings.
(bookmark-bmenu-check-position): Give this a doc string, but also
add a FIXME comment about how the function may be pointless.
(bookmark-default-handler): Rework doc string and change a parameter
name, to clarify that this takes a bookmark record not a bookmark name.
(bookmark-set): Change a parameter name to indicate its meaning,
and improve the doc string a bit.
(Bug#4188)
2009-10-05 01:35:34 +00:00
|
|
|
|
"Write `bookmark-alist' to FILE."
|
2008-06-25 16:51:33 +00:00
|
|
|
|
(bookmark-maybe-message "Saving bookmarks to file %s..." file)
|
|
|
|
|
(with-current-buffer (get-buffer-create " *Bookmarks*")
|
|
|
|
|
(goto-char (point-min))
|
|
|
|
|
(delete-region (point-min) (point-max))
|
|
|
|
|
(let ((print-length nil)
|
2012-10-01 03:44:59 +00:00
|
|
|
|
(print-level nil)
|
|
|
|
|
;; See bug #12503 for why we bind `print-circle'. Users
|
|
|
|
|
;; can define their own bookmark types, which can result in
|
|
|
|
|
;; arbitrary Lisp objects being stored in bookmark records,
|
|
|
|
|
;; and some users create objects containing circularities.
|
|
|
|
|
(print-circle t))
|
2008-06-25 16:51:33 +00:00
|
|
|
|
(bookmark-insert-file-format-version-stamp)
|
2009-09-20 14:54:17 +00:00
|
|
|
|
(insert "(")
|
|
|
|
|
;; Rather than a single call to `pp' we make one per bookmark.
|
|
|
|
|
;; Apparently `pp' has a poor algorithmic complexity, so this
|
|
|
|
|
;; scales a lot better. bug#4485.
|
2010-01-02 01:05:44 +00:00
|
|
|
|
(dolist (i bookmark-alist) (pp i (current-buffer)))
|
2009-09-20 14:54:17 +00:00
|
|
|
|
(insert ")")
|
2008-06-25 16:51:33 +00:00
|
|
|
|
(let ((version-control
|
|
|
|
|
(cond
|
|
|
|
|
((null bookmark-version-control) nil)
|
|
|
|
|
((eq 'never bookmark-version-control) 'never)
|
|
|
|
|
((eq 'nospecial bookmark-version-control) version-control)
|
|
|
|
|
(t t))))
|
|
|
|
|
(condition-case nil
|
|
|
|
|
(write-region (point-min) (point-max) file)
|
|
|
|
|
(file-error (message "Can't write %s" file)))
|
|
|
|
|
(kill-buffer (current-buffer))
|
|
|
|
|
(bookmark-maybe-message
|
|
|
|
|
"Saving bookmarks to file %s...done" file)))))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
(bookmark-load): Use `bookmark-import-new-list' to
load the new list carefully, renaming bookmarks as necessary.
In docstring, mention new renaming behavior.
Optional arg OVERWRITE replaces inaccurately-named REVERT.
If file loaded was bookmark-default-file, then set
bookmarks-already-loaded to t.
(bookmark-import-new-list): New func.
(bookmark-maybe-rename): New func, helper to above.
(bookmark-set-name): Accept bookmark as either string (behaves
same as before) or list (treat it as a bookmark record).
(bookmark-set, bookmark-maybe-load-default-file)
(bookmark-jump-noselect, bookmark-rename)
(bookmark-show-annotation): Discard pointless `progn's.
(bookmark-bmenu-mark, bookmark-bmenu-unmark)
(bookmark-bmenu-backup-unmark, bookmark-bmenu-delete-backwards):
Renormalize position after all else is done.
(bookmark-edit-annotation-mode, bookmark-bmenu-list)
(bookmark-show-annotation, bookmark-show-all-annotations):
Use `x' instead of `(not (eq x nil))'.
(bookmark-yank-word): Inner save-excursion changed to progn.
(bookmark-send-annotation, bookmark-send-edited-annotation)
(bookmark-insert): Use buffer-string instead of buffer-substring.
(bookmark-make-cell): Make sure annotation and info-node strings
contain no text properties.
(bookmark-relocate): Remember to rebuild bmenu buffer after a
bookmark has been relocated.
(bookmark-bmenu-check-position): Return a meaningful value --
callers have apparently been assuming this anyway.
(bookmark-build-xemacs-menu): Unused function deleted.
(bookmark-version): Removed this variable; the Emacs version suffices.
1997-08-22 19:14:10 +00:00
|
|
|
|
(defun bookmark-import-new-list (new-list)
|
2009-10-25 02:07:45 +00:00
|
|
|
|
"Add NEW-LIST of bookmarks to `bookmark-alist'.
|
|
|
|
|
Rename new bookmarks as needed using suffix \"<N>\" (N=1,2,3...), when
|
|
|
|
|
they conflict with existing bookmark names."
|
2009-10-28 03:09:11 +00:00
|
|
|
|
(let ((names (bookmark-all-names)))
|
|
|
|
|
(dolist (full-record new-list)
|
|
|
|
|
(bookmark-maybe-rename full-record names)
|
|
|
|
|
(setq bookmark-alist (nconc bookmark-alist (list full-record)))
|
2010-12-12 16:53:24 +00:00
|
|
|
|
(push (bookmark-name-from-full-record full-record) names))))
|
(bookmark-load): Use `bookmark-import-new-list' to
load the new list carefully, renaming bookmarks as necessary.
In docstring, mention new renaming behavior.
Optional arg OVERWRITE replaces inaccurately-named REVERT.
If file loaded was bookmark-default-file, then set
bookmarks-already-loaded to t.
(bookmark-import-new-list): New func.
(bookmark-maybe-rename): New func, helper to above.
(bookmark-set-name): Accept bookmark as either string (behaves
same as before) or list (treat it as a bookmark record).
(bookmark-set, bookmark-maybe-load-default-file)
(bookmark-jump-noselect, bookmark-rename)
(bookmark-show-annotation): Discard pointless `progn's.
(bookmark-bmenu-mark, bookmark-bmenu-unmark)
(bookmark-bmenu-backup-unmark, bookmark-bmenu-delete-backwards):
Renormalize position after all else is done.
(bookmark-edit-annotation-mode, bookmark-bmenu-list)
(bookmark-show-annotation, bookmark-show-all-annotations):
Use `x' instead of `(not (eq x nil))'.
(bookmark-yank-word): Inner save-excursion changed to progn.
(bookmark-send-annotation, bookmark-send-edited-annotation)
(bookmark-insert): Use buffer-string instead of buffer-substring.
(bookmark-make-cell): Make sure annotation and info-node strings
contain no text properties.
(bookmark-relocate): Remember to rebuild bmenu buffer after a
bookmark has been relocated.
(bookmark-bmenu-check-position): Return a meaningful value --
callers have apparently been assuming this anyway.
(bookmark-build-xemacs-menu): Unused function deleted.
(bookmark-version): Removed this variable; the Emacs version suffices.
1997-08-22 19:14:10 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defun bookmark-maybe-rename (full-record names)
|
2009-10-25 02:07:45 +00:00
|
|
|
|
"Rename bookmark FULL-RECORD if its current name is already used.
|
|
|
|
|
This is a helper for `bookmark-import-new-list'."
|
2010-12-12 16:53:24 +00:00
|
|
|
|
(let ((found-name (bookmark-name-from-full-record full-record)))
|
(bookmark-load): Use `bookmark-import-new-list' to
load the new list carefully, renaming bookmarks as necessary.
In docstring, mention new renaming behavior.
Optional arg OVERWRITE replaces inaccurately-named REVERT.
If file loaded was bookmark-default-file, then set
bookmarks-already-loaded to t.
(bookmark-import-new-list): New func.
(bookmark-maybe-rename): New func, helper to above.
(bookmark-set-name): Accept bookmark as either string (behaves
same as before) or list (treat it as a bookmark record).
(bookmark-set, bookmark-maybe-load-default-file)
(bookmark-jump-noselect, bookmark-rename)
(bookmark-show-annotation): Discard pointless `progn's.
(bookmark-bmenu-mark, bookmark-bmenu-unmark)
(bookmark-bmenu-backup-unmark, bookmark-bmenu-delete-backwards):
Renormalize position after all else is done.
(bookmark-edit-annotation-mode, bookmark-bmenu-list)
(bookmark-show-annotation, bookmark-show-all-annotations):
Use `x' instead of `(not (eq x nil))'.
(bookmark-yank-word): Inner save-excursion changed to progn.
(bookmark-send-annotation, bookmark-send-edited-annotation)
(bookmark-insert): Use buffer-string instead of buffer-substring.
(bookmark-make-cell): Make sure annotation and info-node strings
contain no text properties.
(bookmark-relocate): Remember to rebuild bmenu buffer after a
bookmark has been relocated.
(bookmark-bmenu-check-position): Return a meaningful value --
callers have apparently been assuming this anyway.
(bookmark-build-xemacs-menu): Unused function deleted.
(bookmark-version): Removed this variable; the Emacs version suffices.
1997-08-22 19:14:10 +00:00
|
|
|
|
(if (member found-name names)
|
|
|
|
|
;; We've got a conflict, so generate a new name
|
|
|
|
|
(let ((count 2)
|
|
|
|
|
(new-name found-name))
|
|
|
|
|
(while (member new-name names)
|
|
|
|
|
(setq new-name (concat found-name (format "<%d>" count)))
|
|
|
|
|
(setq count (1+ count)))
|
|
|
|
|
(bookmark-set-name full-record new-name)))))
|
|
|
|
|
|
|
|
|
|
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
;;;###autoload
|
(bookmark-load): Use `bookmark-import-new-list' to
load the new list carefully, renaming bookmarks as necessary.
In docstring, mention new renaming behavior.
Optional arg OVERWRITE replaces inaccurately-named REVERT.
If file loaded was bookmark-default-file, then set
bookmarks-already-loaded to t.
(bookmark-import-new-list): New func.
(bookmark-maybe-rename): New func, helper to above.
(bookmark-set-name): Accept bookmark as either string (behaves
same as before) or list (treat it as a bookmark record).
(bookmark-set, bookmark-maybe-load-default-file)
(bookmark-jump-noselect, bookmark-rename)
(bookmark-show-annotation): Discard pointless `progn's.
(bookmark-bmenu-mark, bookmark-bmenu-unmark)
(bookmark-bmenu-backup-unmark, bookmark-bmenu-delete-backwards):
Renormalize position after all else is done.
(bookmark-edit-annotation-mode, bookmark-bmenu-list)
(bookmark-show-annotation, bookmark-show-all-annotations):
Use `x' instead of `(not (eq x nil))'.
(bookmark-yank-word): Inner save-excursion changed to progn.
(bookmark-send-annotation, bookmark-send-edited-annotation)
(bookmark-insert): Use buffer-string instead of buffer-substring.
(bookmark-make-cell): Make sure annotation and info-node strings
contain no text properties.
(bookmark-relocate): Remember to rebuild bmenu buffer after a
bookmark has been relocated.
(bookmark-bmenu-check-position): Return a meaningful value --
callers have apparently been assuming this anyway.
(bookmark-build-xemacs-menu): Unused function deleted.
(bookmark-version): Removed this variable; the Emacs version suffices.
1997-08-22 19:14:10 +00:00
|
|
|
|
(defun bookmark-load (file &optional overwrite no-msg)
|
1993-08-14 19:49:27 +00:00
|
|
|
|
"Load bookmarks from FILE (which must be in bookmark format).
|
|
|
|
|
Appends loaded bookmarks to the front of the list of bookmarks. If
|
(bookmark-load): Use `bookmark-import-new-list' to
load the new list carefully, renaming bookmarks as necessary.
In docstring, mention new renaming behavior.
Optional arg OVERWRITE replaces inaccurately-named REVERT.
If file loaded was bookmark-default-file, then set
bookmarks-already-loaded to t.
(bookmark-import-new-list): New func.
(bookmark-maybe-rename): New func, helper to above.
(bookmark-set-name): Accept bookmark as either string (behaves
same as before) or list (treat it as a bookmark record).
(bookmark-set, bookmark-maybe-load-default-file)
(bookmark-jump-noselect, bookmark-rename)
(bookmark-show-annotation): Discard pointless `progn's.
(bookmark-bmenu-mark, bookmark-bmenu-unmark)
(bookmark-bmenu-backup-unmark, bookmark-bmenu-delete-backwards):
Renormalize position after all else is done.
(bookmark-edit-annotation-mode, bookmark-bmenu-list)
(bookmark-show-annotation, bookmark-show-all-annotations):
Use `x' instead of `(not (eq x nil))'.
(bookmark-yank-word): Inner save-excursion changed to progn.
(bookmark-send-annotation, bookmark-send-edited-annotation)
(bookmark-insert): Use buffer-string instead of buffer-substring.
(bookmark-make-cell): Make sure annotation and info-node strings
contain no text properties.
(bookmark-relocate): Remember to rebuild bmenu buffer after a
bookmark has been relocated.
(bookmark-bmenu-check-position): Return a meaningful value --
callers have apparently been assuming this anyway.
(bookmark-build-xemacs-menu): Unused function deleted.
(bookmark-version): Removed this variable; the Emacs version suffices.
1997-08-22 19:14:10 +00:00
|
|
|
|
optional second argument OVERWRITE is non-nil, existing bookmarks are
|
1993-08-14 19:49:27 +00:00
|
|
|
|
destroyed. Optional third arg NO-MSG means don't display any messages
|
|
|
|
|
while loading.
|
1993-08-10 20:35:31 +00:00
|
|
|
|
|
|
|
|
|
If you load a file that doesn't contain a proper bookmark alist, you
|
1993-08-14 19:49:27 +00:00
|
|
|
|
will corrupt Emacs's bookmark list. Generally, you should only load
|
1993-08-10 20:35:31 +00:00
|
|
|
|
in files that were created with the bookmark functions in the first
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
place. Your own personal bookmark file, `~/.emacs.bmk', is
|
1993-08-14 11:04:06 +00:00
|
|
|
|
maintained automatically by Emacs; you shouldn't need to load it
|
(bookmark-load): Use `bookmark-import-new-list' to
load the new list carefully, renaming bookmarks as necessary.
In docstring, mention new renaming behavior.
Optional arg OVERWRITE replaces inaccurately-named REVERT.
If file loaded was bookmark-default-file, then set
bookmarks-already-loaded to t.
(bookmark-import-new-list): New func.
(bookmark-maybe-rename): New func, helper to above.
(bookmark-set-name): Accept bookmark as either string (behaves
same as before) or list (treat it as a bookmark record).
(bookmark-set, bookmark-maybe-load-default-file)
(bookmark-jump-noselect, bookmark-rename)
(bookmark-show-annotation): Discard pointless `progn's.
(bookmark-bmenu-mark, bookmark-bmenu-unmark)
(bookmark-bmenu-backup-unmark, bookmark-bmenu-delete-backwards):
Renormalize position after all else is done.
(bookmark-edit-annotation-mode, bookmark-bmenu-list)
(bookmark-show-annotation, bookmark-show-all-annotations):
Use `x' instead of `(not (eq x nil))'.
(bookmark-yank-word): Inner save-excursion changed to progn.
(bookmark-send-annotation, bookmark-send-edited-annotation)
(bookmark-insert): Use buffer-string instead of buffer-substring.
(bookmark-make-cell): Make sure annotation and info-node strings
contain no text properties.
(bookmark-relocate): Remember to rebuild bmenu buffer after a
bookmark has been relocated.
(bookmark-bmenu-check-position): Return a meaningful value --
callers have apparently been assuming this anyway.
(bookmark-build-xemacs-menu): Unused function deleted.
(bookmark-version): Removed this variable; the Emacs version suffices.
1997-08-22 19:14:10 +00:00
|
|
|
|
explicitly.
|
|
|
|
|
|
|
|
|
|
If you load a file containing bookmarks with the same names as
|
|
|
|
|
bookmarks already present in your Emacs, the new bookmarks will get
|
|
|
|
|
unique numeric suffixes \"<2>\", \"<3>\", ... following the same
|
|
|
|
|
method buffers use to resolve name collisions."
|
1993-08-10 20:35:31 +00:00
|
|
|
|
(interactive
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(list (read-file-name
|
|
|
|
|
(format "Load bookmarks from: (%s) "
|
2001-01-12 22:49:40 +00:00
|
|
|
|
bookmark-default-file)
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
;;Default might not be used often,
|
|
|
|
|
;;but there's no better default, and
|
|
|
|
|
;;I guess it's better than none at all.
|
|
|
|
|
"~/" bookmark-default-file 'confirm)))
|
2010-02-18 18:52:36 +00:00
|
|
|
|
(setq file (abbreviate-file-name (expand-file-name file)))
|
2008-06-25 16:51:33 +00:00
|
|
|
|
(if (not (file-readable-p file))
|
|
|
|
|
(error "Cannot read bookmark file %s" file)
|
|
|
|
|
(if (null no-msg)
|
|
|
|
|
(bookmark-maybe-message "Loading bookmarks from %s..." file))
|
|
|
|
|
(with-current-buffer (let ((enable-local-variables nil))
|
|
|
|
|
(find-file-noselect file))
|
|
|
|
|
(goto-char (point-min))
|
|
|
|
|
(bookmark-maybe-upgrade-file-format)
|
|
|
|
|
(let ((blist (bookmark-alist-from-buffer)))
|
|
|
|
|
(if (listp blist)
|
|
|
|
|
(progn
|
|
|
|
|
(if overwrite
|
|
|
|
|
(progn
|
|
|
|
|
(setq bookmark-alist blist)
|
|
|
|
|
(setq bookmark-alist-modification-count 0))
|
|
|
|
|
;; else
|
|
|
|
|
(bookmark-import-new-list blist)
|
|
|
|
|
(setq bookmark-alist-modification-count
|
|
|
|
|
(1+ bookmark-alist-modification-count)))
|
|
|
|
|
(if (string-equal
|
2010-02-18 18:52:36 +00:00
|
|
|
|
(abbreviate-file-name
|
|
|
|
|
(expand-file-name bookmark-default-file))
|
2008-06-25 16:51:33 +00:00
|
|
|
|
file)
|
|
|
|
|
(setq bookmarks-already-loaded t))
|
|
|
|
|
(bookmark-bmenu-surreptitiously-rebuild-list))
|
|
|
|
|
(error "Invalid bookmark list in %s" file)))
|
|
|
|
|
(kill-buffer (current-buffer)))
|
|
|
|
|
(if (null no-msg)
|
|
|
|
|
(bookmark-maybe-message "Loading bookmarks from %s...done" file))))
|
1993-08-10 20:35:31 +00:00
|
|
|
|
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
2008-06-25 16:51:33 +00:00
|
|
|
|
;;; Code supporting the dired-like bookmark menu.
|
|
|
|
|
;; Prefix is "bookmark-bmenu" for "buffer-menu":
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defvar bookmark-bmenu-hidden-bookmarks ())
|
|
|
|
|
|
|
|
|
|
|
Move keymap initialization into declaration.
* lisp/textmodes/enriched.el (enriched-mode-map):
* lisp/textmodes/bib-mode.el (bib-mode-map):
* lisp/term/lk201.el (lk201-function-map):
* lisp/tar-mode.el (tar-mode-map):
* lisp/replace.el (occur-mode-map):
* lisp/progmodes/idlwave.el (idlwave-rinfo-mouse-map, idlwave-rinfo-map):
* lisp/progmodes/idlw-help.el (idlwave-help-mode-map):
* lisp/progmodes/gdb-mi.el (gdb-memory-format-menu, gdb-memory-unit-menu):
* lisp/play/solitaire.el (solitaire-mode-map):
* lisp/play/snake.el (snake-mode-map, snake-null-map):
* lisp/play/pong.el (pong-mode-map):
* lisp/play/handwrite.el (menu-bar-handwrite-map):
* lisp/play/gametree.el (gametree-mode-map):
* lisp/net/rcirc.el (rcirc-mode-map, rcirc-browse-url-map
(rcirc-multiline-minor-mode-map, rcirc-track-minor-mode-map):
* lisp/net/newst-plainview.el (newsticker-menu, newsticker-mode-map)
(newsticker--url-keymap):
* lisp/net/net-utils.el (nslookup-mode-map, ftp-mode-map):
* lisp/menu-bar.el (menu-bar-file-menu, menu-bar-i-search-menu)
(menu-bar-search-menu, menu-bar-replace-menu, menu-bar-goto-menu)
(menu-bar-edit-menu, menu-bar-custom-menu)
(menu-bar-showhide-fringe-ind-menu, menu-bar-showhide-fringe-menu)
(menu-bar-showhide-scroll-bar-menu, menu-bar-showhide-menu)
(menu-bar-line-wrapping-menu, menu-bar-options-menu)
(menu-bar-games-menu, menu-bar-encryption-decryption-menu)
(menu-bar-tools-menu, menu-bar-describe-menu)
(menu-bar-search-documentation-menu, menu-bar-manuals-menu)
(menu-bar-help-menu):
* lisp/mail/rmailsum.el (rmail-summary-mode-map):
* lisp/kmacro.el (kmacro-step-edit-map):
* lisp/ibuffer.el (ibuffer-mode-groups-popup, ibuffer-mode-map)
(ibuffer-mode-operate-map):
* lisp/hi-lock.el (hi-lock-menu, hi-lock-map):
* lisp/emulation/vip.el (vip-mode-map):
* lisp/emacs-lisp/re-builder.el (reb-lisp-mode-map):
* lisp/bookmark.el (bookmark-bmenu-mode-map):
* lisp/help-mode.el (help-mode-map):
* lisp/erc/erc-list.el (erc-list-menu-mode-map):
* lisp/org/org-remember.el (org-remember-mode-map):
* lisp/org/org-src.el (org-src-mode-map): Move initialization into declaration.
2011-02-10 16:56:00 +00:00
|
|
|
|
(defvar bookmark-bmenu-mode-map
|
|
|
|
|
(let ((map (make-keymap)))
|
|
|
|
|
(set-keymap-parent map special-mode-map)
|
|
|
|
|
(define-key map "v" 'bookmark-bmenu-select)
|
|
|
|
|
(define-key map "w" 'bookmark-bmenu-locate)
|
|
|
|
|
(define-key map "2" 'bookmark-bmenu-2-window)
|
|
|
|
|
(define-key map "1" 'bookmark-bmenu-1-window)
|
|
|
|
|
(define-key map "j" 'bookmark-bmenu-this-window)
|
|
|
|
|
(define-key map "\C-c\C-c" 'bookmark-bmenu-this-window)
|
|
|
|
|
(define-key map "f" 'bookmark-bmenu-this-window)
|
|
|
|
|
(define-key map "\C-m" 'bookmark-bmenu-this-window)
|
|
|
|
|
(define-key map "o" 'bookmark-bmenu-other-window)
|
|
|
|
|
(define-key map "\C-o" 'bookmark-bmenu-switch-other-window)
|
|
|
|
|
(define-key map "s" 'bookmark-bmenu-save)
|
|
|
|
|
(define-key map "k" 'bookmark-bmenu-delete)
|
|
|
|
|
(define-key map "\C-d" 'bookmark-bmenu-delete-backwards)
|
|
|
|
|
(define-key map "x" 'bookmark-bmenu-execute-deletions)
|
|
|
|
|
(define-key map "d" 'bookmark-bmenu-delete)
|
|
|
|
|
(define-key map " " 'next-line)
|
|
|
|
|
(define-key map "n" 'next-line)
|
|
|
|
|
(define-key map "p" 'previous-line)
|
|
|
|
|
(define-key map "\177" 'bookmark-bmenu-backup-unmark)
|
|
|
|
|
(define-key map "u" 'bookmark-bmenu-unmark)
|
|
|
|
|
(define-key map "m" 'bookmark-bmenu-mark)
|
|
|
|
|
(define-key map "l" 'bookmark-bmenu-load)
|
|
|
|
|
(define-key map "r" 'bookmark-bmenu-rename)
|
|
|
|
|
(define-key map "R" 'bookmark-bmenu-relocate)
|
|
|
|
|
(define-key map "t" 'bookmark-bmenu-toggle-filenames)
|
|
|
|
|
(define-key map "a" 'bookmark-bmenu-show-annotation)
|
|
|
|
|
(define-key map "A" 'bookmark-bmenu-show-all-annotations)
|
|
|
|
|
(define-key map "e" 'bookmark-bmenu-edit-annotation)
|
2011-05-10 19:34:51 +00:00
|
|
|
|
(define-key map "/" 'bookmark-bmenu-search)
|
Move keymap initialization into declaration.
* lisp/textmodes/enriched.el (enriched-mode-map):
* lisp/textmodes/bib-mode.el (bib-mode-map):
* lisp/term/lk201.el (lk201-function-map):
* lisp/tar-mode.el (tar-mode-map):
* lisp/replace.el (occur-mode-map):
* lisp/progmodes/idlwave.el (idlwave-rinfo-mouse-map, idlwave-rinfo-map):
* lisp/progmodes/idlw-help.el (idlwave-help-mode-map):
* lisp/progmodes/gdb-mi.el (gdb-memory-format-menu, gdb-memory-unit-menu):
* lisp/play/solitaire.el (solitaire-mode-map):
* lisp/play/snake.el (snake-mode-map, snake-null-map):
* lisp/play/pong.el (pong-mode-map):
* lisp/play/handwrite.el (menu-bar-handwrite-map):
* lisp/play/gametree.el (gametree-mode-map):
* lisp/net/rcirc.el (rcirc-mode-map, rcirc-browse-url-map
(rcirc-multiline-minor-mode-map, rcirc-track-minor-mode-map):
* lisp/net/newst-plainview.el (newsticker-menu, newsticker-mode-map)
(newsticker--url-keymap):
* lisp/net/net-utils.el (nslookup-mode-map, ftp-mode-map):
* lisp/menu-bar.el (menu-bar-file-menu, menu-bar-i-search-menu)
(menu-bar-search-menu, menu-bar-replace-menu, menu-bar-goto-menu)
(menu-bar-edit-menu, menu-bar-custom-menu)
(menu-bar-showhide-fringe-ind-menu, menu-bar-showhide-fringe-menu)
(menu-bar-showhide-scroll-bar-menu, menu-bar-showhide-menu)
(menu-bar-line-wrapping-menu, menu-bar-options-menu)
(menu-bar-games-menu, menu-bar-encryption-decryption-menu)
(menu-bar-tools-menu, menu-bar-describe-menu)
(menu-bar-search-documentation-menu, menu-bar-manuals-menu)
(menu-bar-help-menu):
* lisp/mail/rmailsum.el (rmail-summary-mode-map):
* lisp/kmacro.el (kmacro-step-edit-map):
* lisp/ibuffer.el (ibuffer-mode-groups-popup, ibuffer-mode-map)
(ibuffer-mode-operate-map):
* lisp/hi-lock.el (hi-lock-menu, hi-lock-map):
* lisp/emulation/vip.el (vip-mode-map):
* lisp/emacs-lisp/re-builder.el (reb-lisp-mode-map):
* lisp/bookmark.el (bookmark-bmenu-mode-map):
* lisp/help-mode.el (help-mode-map):
* lisp/erc/erc-list.el (erc-list-menu-mode-map):
* lisp/org/org-remember.el (org-remember-mode-map):
* lisp/org/org-src.el (org-src-mode-map): Move initialization into declaration.
2011-02-10 16:56:00 +00:00
|
|
|
|
(define-key map [mouse-2] 'bookmark-bmenu-other-window-with-mouse)
|
|
|
|
|
map))
|
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
;; Bookmark Buffer Menu mode is suitable only for specially formatted
|
|
|
|
|
;; data.
|
|
|
|
|
(put 'bookmark-bmenu-mode 'mode-class 'special)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;; todo: need to display whether or not bookmark exists as a buffer in
|
2001-01-12 22:49:40 +00:00
|
|
|
|
;; flag column.
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
|
|
|
|
;; Format:
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
;; FLAGS BOOKMARK [ LOCATION ]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defun bookmark-bmenu-surreptitiously-rebuild-list ()
|
|
|
|
|
"Rebuild the Bookmark List if it exists.
|
|
|
|
|
Don't affect the buffer ring order."
|
|
|
|
|
(if (get-buffer "*Bookmark List*")
|
|
|
|
|
(save-excursion
|
2001-01-12 22:49:40 +00:00
|
|
|
|
(save-window-excursion
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(bookmark-bmenu-list)))))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;;;###autoload
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(defun bookmark-bmenu-list ()
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
"Display a list of existing bookmarks.
|
|
|
|
|
The list is displayed in a buffer named `*Bookmark List*'.
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
The leftmost column displays a D if the bookmark is flagged for
|
|
|
|
|
deletion, or > if it is flagged for displaying."
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
(interactive)
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(bookmark-maybe-load-default-file)
|
2009-10-25 18:09:57 +00:00
|
|
|
|
(let ((buf (get-buffer-create "*Bookmark List*")))
|
|
|
|
|
(if (called-interactively-p 'interactive)
|
2011-09-02 16:38:40 +00:00
|
|
|
|
(switch-to-buffer buf)
|
2009-10-25 18:09:57 +00:00
|
|
|
|
(set-buffer buf)))
|
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Return a string, instead of a list of one string.
(bookmark-edit-annotation): Remove unused vars.
(bookmark-jump, bookmark-relocate, bookmark-insert-location)
(bookmark-rename, bookmark-insert, bookmark-delete): Adjust calls
to bookmark-completing-read.
(bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames)
(bookmark-bmenu-mark, bookmark-bmenu-select, bookmark-bmenu-unmark)
(bookmark-bmenu-delete, bookmark-bmenu-list): Use inhibit-read-only
and erase-buffer.
(bookmark-menu-delete, bookmark-menu-rename, bookmark-menu-locate)
(bookmark-menu-jump, bookmark-menu-insert)
(bookmark-popup-menu-and-apply-function)
(bookmark-menu-popup-paned-bookmark-menu): Remove.
(bookmark-menu-build-paned-menu): Remove by folding it into
bookmark-menu-popup-paned-menu.
(menu-bar-bookmark-map): Move the define-key statements here.
Use the "non-menu" commands since they now pop up a menu if needed.
(bookmark-exit-hook-internal): Simplify.
2003-08-11 17:30:47 +00:00
|
|
|
|
(let ((inhibit-read-only t))
|
|
|
|
|
(erase-buffer)
|
2013-03-07 22:33:22 +00:00
|
|
|
|
(if (not bookmark-bmenu-use-header-line)
|
|
|
|
|
(insert "% Bookmark\n- --------\n"))
|
2005-10-19 09:45:43 +00:00
|
|
|
|
(add-text-properties (point-min) (point)
|
|
|
|
|
'(font-lock-face bookmark-menu-heading))
|
2009-10-28 03:09:11 +00:00
|
|
|
|
(dolist (full-record (bookmark-maybe-sort-alist))
|
2010-12-12 16:53:24 +00:00
|
|
|
|
(let ((name (bookmark-name-from-full-record full-record))
|
2009-11-21 06:43:45 +00:00
|
|
|
|
(annotation (bookmark-get-annotation full-record))
|
|
|
|
|
(start (point))
|
|
|
|
|
end)
|
|
|
|
|
;; if a bookmark has an annotation, prepend a "*"
|
|
|
|
|
;; in the list of bookmarks.
|
2009-10-28 03:09:11 +00:00
|
|
|
|
(insert (if (and annotation (not (string-equal annotation "")))
|
2009-11-21 06:43:45 +00:00
|
|
|
|
" *" " ")
|
|
|
|
|
name)
|
|
|
|
|
(setq end (point))
|
2010-01-02 19:14:13 +00:00
|
|
|
|
(put-text-property
|
|
|
|
|
(+ bookmark-bmenu-marks-width start) end 'bookmark-name-prop name)
|
2009-11-21 06:43:45 +00:00
|
|
|
|
(when (display-mouse-p)
|
|
|
|
|
(add-text-properties
|
2010-01-02 19:14:13 +00:00
|
|
|
|
(+ bookmark-bmenu-marks-width start) end
|
2013-03-07 22:35:47 +00:00
|
|
|
|
'(font-lock-face bookmark-menu-bookmark
|
|
|
|
|
mouse-face highlight
|
2009-11-21 06:43:45 +00:00
|
|
|
|
follow-link t
|
|
|
|
|
help-echo "mouse-2: go to this bookmark in other window")))
|
|
|
|
|
(insert "\n")))
|
2010-01-02 18:52:32 +00:00
|
|
|
|
(set-buffer-modified-p (not (= bookmark-alist-modification-count 0)))
|
2009-11-21 06:43:45 +00:00
|
|
|
|
(goto-char (point-min))
|
|
|
|
|
(bookmark-bmenu-mode)
|
2013-03-07 22:33:22 +00:00
|
|
|
|
(if bookmark-bmenu-use-header-line
|
|
|
|
|
(bookmark-bmenu-set-header)
|
|
|
|
|
(forward-line bookmark-bmenu-inline-header-height))
|
2013-04-04 01:59:09 +00:00
|
|
|
|
(when (and bookmark-alist bookmark-bmenu-toggle-filenames)
|
|
|
|
|
(bookmark-bmenu-toggle-filenames t))))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
;;;###autoload
|
|
|
|
|
(defalias 'list-bookmarks 'bookmark-bmenu-list)
|
|
|
|
|
;;;###autoload
|
|
|
|
|
(defalias 'edit-bookmarks 'bookmark-bmenu-list)
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
2013-03-07 22:33:22 +00:00
|
|
|
|
(defun bookmark-bmenu-set-header ()
|
|
|
|
|
"Sets the immutable header line."
|
|
|
|
|
(let ((header (concat "%% " "Bookmark")))
|
|
|
|
|
(when bookmark-bmenu-toggle-filenames
|
|
|
|
|
(setq header (concat header
|
|
|
|
|
(make-string (- bookmark-bmenu-file-column
|
|
|
|
|
(- (length header) 3)) ?\s)
|
|
|
|
|
"File")))
|
|
|
|
|
(let ((pos 0))
|
|
|
|
|
(while (string-match "[ \t\n]+" header pos)
|
|
|
|
|
(setq pos (match-end 0))
|
|
|
|
|
(put-text-property (match-beginning 0) pos 'display
|
|
|
|
|
(list 'space :align-to (- pos 1))
|
|
|
|
|
header)))
|
|
|
|
|
(put-text-property 0 2 'face 'fixed-pitch header)
|
|
|
|
|
(setq header (concat (propertize " " 'display '(space :align-to 0))
|
|
|
|
|
header))
|
|
|
|
|
;; Code derived from `buff-menu.el'.
|
|
|
|
|
(setq header-line-format header)))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
2011-02-01 21:22:21 +00:00
|
|
|
|
(define-derived-mode bookmark-bmenu-mode special-mode "Bookmark Menu"
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
"Major mode for editing a list of bookmarks.
|
|
|
|
|
Each line describes one of the bookmarks in Emacs.
|
|
|
|
|
Letters do not insert themselves; instead, they are commands.
|
1996-01-04 23:28:24 +00:00
|
|
|
|
Bookmark names preceded by a \"*\" have annotations.
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
\\<bookmark-bmenu-mode-map>
|
|
|
|
|
\\[bookmark-bmenu-mark] -- mark bookmark to be displayed.
|
|
|
|
|
\\[bookmark-bmenu-select] -- select bookmark of line point is on.
|
|
|
|
|
Also show bookmarks marked using m in other windows.
|
|
|
|
|
\\[bookmark-bmenu-toggle-filenames] -- toggle displaying of filenames (they may obscure long bookmark names).
|
|
|
|
|
\\[bookmark-bmenu-locate] -- display (in minibuffer) location of this bookmark.
|
|
|
|
|
\\[bookmark-bmenu-1-window] -- select this bookmark in full-frame window.
|
|
|
|
|
\\[bookmark-bmenu-2-window] -- select this bookmark in one window,
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
together with bookmark selected before this one in another window.
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
\\[bookmark-bmenu-this-window] -- select this bookmark in place of the bookmark menu buffer.
|
|
|
|
|
\\[bookmark-bmenu-other-window] -- select this bookmark in another window,
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
so the bookmark menu bookmark remains visible in its window.
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
\\[bookmark-bmenu-switch-other-window] -- switch the other window to this bookmark.
|
2010-01-02 01:05:44 +00:00
|
|
|
|
\\[bookmark-bmenu-rename] -- rename this bookmark (prompts for new name).
|
|
|
|
|
\\[bookmark-bmenu-relocate] -- relocate this bookmark's file (prompts for new file).
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
\\[bookmark-bmenu-delete] -- mark this bookmark to be deleted, and move down.
|
2001-01-12 22:49:40 +00:00
|
|
|
|
\\[bookmark-bmenu-delete-backwards] -- mark this bookmark to be deleted, and move up.
|
1996-01-05 21:57:54 +00:00
|
|
|
|
\\[bookmark-bmenu-execute-deletions] -- delete bookmarks marked with `\\[bookmark-bmenu-delete]'.
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
\\[bookmark-bmenu-save] -- save the current bookmark list in the default file.
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
With a prefix arg, prompts for a file to save in.
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
\\[bookmark-bmenu-load] -- load in a file of bookmarks (prompts for file.)
|
|
|
|
|
\\[bookmark-bmenu-unmark] -- remove all kinds of marks from current line.
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
With prefix argument, also move up one line.
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
\\[bookmark-bmenu-backup-unmark] -- back up a line and remove marks.
|
|
|
|
|
\\[bookmark-bmenu-show-annotation] -- show the annotation, if it exists, for the current bookmark
|
|
|
|
|
in another buffer.
|
|
|
|
|
\\[bookmark-bmenu-show-all-annotations] -- show the annotations of all bookmarks in another buffer.
|
|
|
|
|
\\[bookmark-bmenu-edit-annotation] -- edit the annotation for the current bookmark."
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
(setq truncate-lines t)
|
2011-02-01 21:22:21 +00:00
|
|
|
|
(setq buffer-read-only t))
|
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
1995-06-18 22:46:02 +00:00
|
|
|
|
(defun bookmark-bmenu-toggle-filenames (&optional show)
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
"Toggle whether filenames are shown in the bookmark list.
|
|
|
|
|
Optional argument SHOW means show them unconditionally."
|
|
|
|
|
(interactive)
|
|
|
|
|
(cond
|
1995-06-18 22:46:02 +00:00
|
|
|
|
(show
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(setq bookmark-bmenu-toggle-filenames nil)
|
|
|
|
|
(bookmark-bmenu-show-filenames)
|
|
|
|
|
(setq bookmark-bmenu-toggle-filenames t))
|
|
|
|
|
(bookmark-bmenu-toggle-filenames
|
|
|
|
|
(bookmark-bmenu-hide-filenames)
|
|
|
|
|
(setq bookmark-bmenu-toggle-filenames nil))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
(t
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(bookmark-bmenu-show-filenames)
|
2013-03-07 22:33:22 +00:00
|
|
|
|
(setq bookmark-bmenu-toggle-filenames t)))
|
|
|
|
|
(when bookmark-bmenu-use-header-line
|
|
|
|
|
(bookmark-bmenu-set-header)))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(defun bookmark-bmenu-show-filenames (&optional force)
|
* bookmark.el
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-set-name, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation, 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,
bookmark-location, bookmark-jump, bookmark-jump-other-window,
bookmark-handle-bookmark, bookmark-relocate, bookmark-insert-location,
bookmark-rename, bookmark-insert, bookmark-delete, bookmark-time-to-save-p,
bookmark-edit-annotation-mode, bookmark-edit-annotation): Improve doc
strings to say whether bookmark can be a string or a record or both,
and make other consistency and clarity fixes.
(bookmark-get-handler, bookmark--jump-via, bookmark-write-file,
bookmark-default-annotation-text, bookmark-yank-word,
bookmark-maybe-load-default-file, bookmark-maybe-sort-alist,
bookmark-import-new-list, bookmark-maybe-rename,
bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames,
bookmark-bmenu-bookmark): Give these doc strings.
(bookmark-bmenu-check-position): Give this a doc string, but also
add a FIXME comment about how the function may be pointless.
(bookmark-default-handler): Rework doc string and change a parameter
name, to clarify that this takes a bookmark record not a bookmark name.
(bookmark-set): Change a parameter name to indicate its meaning,
and improve the doc string a bit.
(Bug#4188)
2009-10-05 01:35:34 +00:00
|
|
|
|
"In an interactive bookmark list, show filenames along with bookmarks.
|
2009-10-25 02:07:45 +00:00
|
|
|
|
Non-nil FORCE forces a redisplay showing the filenames. FORCE is used
|
|
|
|
|
mainly for debugging, and should not be necessary in normal use."
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(if (and (not force) bookmark-bmenu-toggle-filenames)
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
nil ;already shown, so do nothing
|
2010-01-02 18:52:32 +00:00
|
|
|
|
(with-buffer-modified-unmodified
|
|
|
|
|
(save-excursion
|
|
|
|
|
(save-window-excursion
|
|
|
|
|
(goto-char (point-min))
|
2013-03-07 22:33:22 +00:00
|
|
|
|
(if (not bookmark-bmenu-use-header-line)
|
|
|
|
|
(forward-line bookmark-bmenu-inline-header-height))
|
2010-01-02 18:52:32 +00:00
|
|
|
|
(setq bookmark-bmenu-hidden-bookmarks ())
|
|
|
|
|
(let ((inhibit-read-only t))
|
|
|
|
|
(while (< (point) (point-max))
|
|
|
|
|
(let ((bmrk (bookmark-bmenu-bookmark)))
|
|
|
|
|
(push bmrk bookmark-bmenu-hidden-bookmarks)
|
Use line-end-position rather than end-of-line, etc.
* textmodes/texnfo-upd.el (texinfo-start-menu-description)
(texinfo-update-menu-region-beginning, texinfo-menu-first-node)
(texinfo-delete-existing-pointers, texinfo-find-pointer)
(texinfo-clean-up-node-line, texinfo-insert-node-lines)
(texinfo-multiple-files-update):
* textmodes/table.el (table--probe-cell-left-up)
(table--probe-cell-right-bottom):
* textmodes/picture.el (picture-tab-search):
* textmodes/page-ext.el (pages-copy-header-and-position)
(pages-directory-for-addresses):
* progmodes/vera-mode.el (vera-get-offset):
* progmodes/simula.el (simula-calculate-indent):
* progmodes/python.el (python-pdbtrack-overlay-arrow):
* progmodes/prolog.el (end-of-prolog-clause):
* progmodes/perl-mode.el (perl-calculate-indent, perl-indent-exp):
* progmodes/icon.el (indent-icon-exp):
* progmodes/etags.el (tag-re-match-p):
* progmodes/ebrowse.el (ebrowse-show-file-name-at-point):
* progmodes/ebnf2ps.el (ebnf-begin-file):
* progmodes/dcl-mode.el (dcl-back-to-indentation-1)
(dcl-save-local-variable):
* play/life.el (life-setup):
* play/gametree.el (gametree-looking-at-ply):
* nxml/nxml-maint.el (nxml-insert-target-repertoire-glyph-set):
* mail/sendmail.el (mail-mode-auto-fill):
* emacs-lisp/lisp-mode.el (calculate-lisp-indent):
* emacs-lisp/edebug.el (edebug-overlay-arrow):
* emacs-lisp/checkdoc.el (checkdoc-this-string-valid):
* woman.el (woman-parse-numeric-value, woman2-TH, woman2-SH)
(woman-tab-to-tab-stop, WoMan-warn-ignored):
* type-break.el (type-break-file-keystroke-count):
* term.el (term-replace-by-expanded-history-before-point)
(term-skip-prompt, term-extract-string):
* speedbar.el (speedbar-edit-line, speedbar-expand-line)
(speedbar-contract-line, speedbar-toggle-line-expansion)
(speedbar-parse-c-or-c++tag, speedbar-parse-tex-string)
(speedbar-buffer-revert-buffer, speedbar-highlight-one-tag-line):
* sort.el (sort-skip-fields):
* skeleton.el (skeleton-internal-list):
* simple.el (line-move-finish, line-move-to-column):
* shell.el (shell-forward-command):
* misc.el (copy-from-above-command):
* makesum.el (double-column):
* ebuff-menu.el (electric-buffer-update-highlight):
* dired.el (dired-move-to-end-of-filename):
* dframe.el (dframe-popup-kludge):
* bookmark.el (bookmark-kill-line, bookmark-bmenu-show-filenames):
* arc-mode.el (archive-get-lineno):
Use line-end-position and line-beginning-position.
* net/ange-ftp.el, progmodes/hideif.el, reposition.el:
Same, but only in comments.
2010-11-06 20:23:42 +00:00
|
|
|
|
(let ((start (line-end-position)))
|
2010-01-02 18:52:32 +00:00
|
|
|
|
(move-to-column bookmark-bmenu-file-column t)
|
|
|
|
|
;; Strip off `mouse-face' from the white spaces region.
|
|
|
|
|
(if (display-mouse-p)
|
|
|
|
|
(remove-text-properties start (point)
|
|
|
|
|
'(mouse-face nil help-echo nil))))
|
|
|
|
|
(delete-region (point) (progn (end-of-line) (point)))
|
|
|
|
|
(insert " ")
|
|
|
|
|
;; Pass the NO-HISTORY arg:
|
|
|
|
|
(bookmark-insert-location bmrk t)
|
|
|
|
|
(forward-line 1)))))))))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
(defun bookmark-bmenu-hide-filenames (&optional force)
|
* bookmark.el
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-set-name, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation, 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,
bookmark-location, bookmark-jump, bookmark-jump-other-window,
bookmark-handle-bookmark, bookmark-relocate, bookmark-insert-location,
bookmark-rename, bookmark-insert, bookmark-delete, bookmark-time-to-save-p,
bookmark-edit-annotation-mode, bookmark-edit-annotation): Improve doc
strings to say whether bookmark can be a string or a record or both,
and make other consistency and clarity fixes.
(bookmark-get-handler, bookmark--jump-via, bookmark-write-file,
bookmark-default-annotation-text, bookmark-yank-word,
bookmark-maybe-load-default-file, bookmark-maybe-sort-alist,
bookmark-import-new-list, bookmark-maybe-rename,
bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames,
bookmark-bmenu-bookmark): Give these doc strings.
(bookmark-bmenu-check-position): Give this a doc string, but also
add a FIXME comment about how the function may be pointless.
(bookmark-default-handler): Rework doc string and change a parameter
name, to clarify that this takes a bookmark record not a bookmark name.
(bookmark-set): Change a parameter name to indicate its meaning,
and improve the doc string a bit.
(Bug#4188)
2009-10-05 01:35:34 +00:00
|
|
|
|
"In an interactive bookmark list, hide the filenames of the bookmarks.
|
2009-10-25 02:07:45 +00:00
|
|
|
|
Non-nil FORCE forces a redisplay showing the filenames. FORCE is used
|
|
|
|
|
mainly for debugging, and should not be necessary in normal use."
|
2009-11-21 06:43:45 +00:00
|
|
|
|
(when (and (not force) bookmark-bmenu-toggle-filenames)
|
|
|
|
|
;; nothing to hide if above is nil
|
2010-01-02 18:52:32 +00:00
|
|
|
|
(with-buffer-modified-unmodified
|
|
|
|
|
(save-excursion
|
|
|
|
|
(goto-char (point-min))
|
2013-03-07 22:33:22 +00:00
|
|
|
|
(if (not bookmark-bmenu-use-header-line)
|
|
|
|
|
(forward-line bookmark-bmenu-inline-header-height))
|
2010-01-02 18:52:32 +00:00
|
|
|
|
(setq bookmark-bmenu-hidden-bookmarks
|
|
|
|
|
(nreverse bookmark-bmenu-hidden-bookmarks))
|
|
|
|
|
(let ((inhibit-read-only t))
|
|
|
|
|
(while bookmark-bmenu-hidden-bookmarks
|
2010-01-02 19:14:13 +00:00
|
|
|
|
(move-to-column bookmark-bmenu-marks-width t)
|
2010-01-02 18:52:32 +00:00
|
|
|
|
(bookmark-kill-line)
|
|
|
|
|
(let ((name (pop bookmark-bmenu-hidden-bookmarks))
|
|
|
|
|
(start (point)))
|
|
|
|
|
(insert name)
|
2010-01-02 19:14:13 +00:00
|
|
|
|
(put-text-property start (point) 'bookmark-name-prop name)
|
2010-01-02 18:52:32 +00:00
|
|
|
|
(if (display-mouse-p)
|
|
|
|
|
(add-text-properties
|
|
|
|
|
start (point)
|
2013-03-07 22:35:47 +00:00
|
|
|
|
'(font-lock-face bookmark-menu-bookmark
|
|
|
|
|
mouse-face highlight
|
|
|
|
|
follow-link t help-echo
|
2010-01-02 18:52:32 +00:00
|
|
|
|
"mouse-2: go to this bookmark in other window"))))
|
|
|
|
|
(forward-line 1)))))))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
2010-01-02 04:36:17 +00:00
|
|
|
|
(defun bookmark-bmenu-ensure-position ()
|
2009-10-25 02:07:45 +00:00
|
|
|
|
"If point is not on a bookmark line, move it to one.
|
2010-01-02 04:36:17 +00:00
|
|
|
|
If before the first bookmark line, move to the first; if after the
|
|
|
|
|
last full line, move to the last full line. The return value is undefined."
|
2013-03-07 22:33:22 +00:00
|
|
|
|
(cond ((and (not bookmark-bmenu-use-header-line)
|
|
|
|
|
(< (count-lines (point-min) (point))
|
|
|
|
|
bookmark-bmenu-inline-header-height))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
(goto-char (point-min))
|
2013-03-07 22:33:22 +00:00
|
|
|
|
(forward-line bookmark-bmenu-inline-header-height))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
((and (bolp) (eobp))
|
2010-01-02 04:36:17 +00:00
|
|
|
|
(beginning-of-line 0))))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
(defun bookmark-bmenu-bookmark ()
|
* bookmark.el
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-set-name, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation, 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,
bookmark-location, bookmark-jump, bookmark-jump-other-window,
bookmark-handle-bookmark, bookmark-relocate, bookmark-insert-location,
bookmark-rename, bookmark-insert, bookmark-delete, bookmark-time-to-save-p,
bookmark-edit-annotation-mode, bookmark-edit-annotation): Improve doc
strings to say whether bookmark can be a string or a record or both,
and make other consistency and clarity fixes.
(bookmark-get-handler, bookmark--jump-via, bookmark-write-file,
bookmark-default-annotation-text, bookmark-yank-word,
bookmark-maybe-load-default-file, bookmark-maybe-sort-alist,
bookmark-import-new-list, bookmark-maybe-rename,
bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames,
bookmark-bmenu-bookmark): Give these doc strings.
(bookmark-bmenu-check-position): Give this a doc string, but also
add a FIXME comment about how the function may be pointless.
(bookmark-default-handler): Rework doc string and change a parameter
name, to clarify that this takes a bookmark record not a bookmark name.
(bookmark-set): Change a parameter name to indicate its meaning,
and improve the doc string a bit.
(Bug#4188)
2009-10-05 01:35:34 +00:00
|
|
|
|
"Return the bookmark for this line in an interactive bookmark list buffer."
|
2010-01-02 04:36:17 +00:00
|
|
|
|
(bookmark-bmenu-ensure-position)
|
2010-01-02 05:00:55 +00:00
|
|
|
|
(save-excursion
|
|
|
|
|
(beginning-of-line)
|
|
|
|
|
(forward-char bookmark-bmenu-marks-width)
|
|
|
|
|
(get-text-property (point) 'bookmark-name-prop)))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(defun bookmark-show-annotation (bookmark-name-or-record)
|
|
|
|
|
"Display the annotation for BOOKMARK-NAME-OR-RECORD in a buffer,
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
if an annotation exists."
|
Adjust parameter names and doc strings to resolve confusion over
whether "bookmark" meant a bookmark name or a bookmark record.
Along the way, shorten one function's name for similar reasons.
(Issue #7548)
* lisp/bookmark.el
(bookmark-name-from-record):
New name for `bookmark-name-from-full-record'. All callers changed.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-default-annotation-text, bookmark-prop-get, bookmark-prop-set,
bookmark-get-annotation, bookmark-set-annotation,
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,
bookmark-get-handler, bookmark-edit-annotation, bookmark--jump-via,
bookmark-handle-bookmark, bookmark-location, bookmark-show-annotation):
Rename `bookmark' parameter to `bookmark-name-or-record', to
clearly show its role, and shorten or adjust doc strings accordingly.
(bookmark-set-name):
Same, and pass the parameter directly to `bookmark-get-bookmark'
instead of redundantly doing the callee's work.
(bookmark-default-annotation-text, bookmark-send-edited-annotation,
bookmark-relocate, bookmark-insert-location, bookmark-insert,
bookmark-delete):
Rename `bookmark' parameter to `bookmark-name', and in some cases
shorten doc string accordingly.
(bookmark-rename):
Change `old' and `new' parameters to `old-name'
and `new-name', and adjust an internal variable to avoid confusion.
(bookmark-jump, bookmark-jump-noselect):
Clarify `bookmark' parameter in doc string.
2010-12-08 08:09:27 +00:00
|
|
|
|
(let ((annotation (bookmark-get-annotation bookmark-name-or-record)))
|
2010-07-13 22:17:51 +00:00
|
|
|
|
(when (and annotation (not (string-equal annotation "")))
|
|
|
|
|
(save-excursion
|
|
|
|
|
(let ((old-buf (current-buffer)))
|
|
|
|
|
(pop-to-buffer (get-buffer-create "*Bookmark Annotation*") t)
|
|
|
|
|
(delete-region (point-min) (point-max))
|
|
|
|
|
(insert annotation)
|
|
|
|
|
(goto-char (point-min))
|
|
|
|
|
(switch-to-buffer-other-window old-buf))))))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defun bookmark-show-all-annotations ()
|
|
|
|
|
"Display the annotations for all bookmarks in a buffer."
|
2009-10-28 03:09:11 +00:00
|
|
|
|
(save-selected-window
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(pop-to-buffer (get-buffer-create "*Bookmark Annotation*") t)
|
|
|
|
|
(delete-region (point-min) (point-max))
|
2009-10-28 03:09:11 +00:00
|
|
|
|
(dolist (full-record bookmark-alist)
|
2010-12-12 16:53:24 +00:00
|
|
|
|
(let* ((name (bookmark-name-from-full-record full-record))
|
2009-10-28 03:09:11 +00:00
|
|
|
|
(ann (bookmark-get-annotation full-record)))
|
|
|
|
|
(insert (concat name ":\n"))
|
|
|
|
|
(if (and ann (not (string-equal ann "")))
|
|
|
|
|
;; insert the annotation, indented by 4 spaces.
|
|
|
|
|
(progn
|
|
|
|
|
(save-excursion (insert ann) (unless (bolp)
|
|
|
|
|
(insert "\n")))
|
|
|
|
|
(while (< (point) (point-max))
|
|
|
|
|
(beginning-of-line) ; paranoia
|
|
|
|
|
(insert " ")
|
|
|
|
|
(forward-line)
|
|
|
|
|
(end-of-line))))))
|
|
|
|
|
(goto-char (point-min))))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defun bookmark-bmenu-mark ()
|
1996-05-09 17:34:55 +00:00
|
|
|
|
"Mark bookmark on this line to be displayed by \\<bookmark-bmenu-mode-map>\\[bookmark-bmenu-select]."
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
(interactive)
|
|
|
|
|
(beginning-of-line)
|
2010-01-02 04:36:17 +00:00
|
|
|
|
(bookmark-bmenu-ensure-position)
|
2010-01-02 18:52:32 +00:00
|
|
|
|
(with-buffer-modified-unmodified
|
|
|
|
|
(let ((inhibit-read-only t))
|
|
|
|
|
(delete-char 1)
|
|
|
|
|
(insert ?>)
|
|
|
|
|
(forward-line 1)
|
|
|
|
|
(bookmark-bmenu-ensure-position))))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
(defun bookmark-bmenu-select ()
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
"Select this line's bookmark; also display bookmarks marked with `>'.
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
You can mark bookmarks with the \\<bookmark-bmenu-mode-map>\\[bookmark-bmenu-mark] command."
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
(interactive)
|
2010-01-02 04:36:17 +00:00
|
|
|
|
(let ((bmrk (bookmark-bmenu-bookmark))
|
|
|
|
|
(menu (current-buffer))
|
|
|
|
|
(others ())
|
|
|
|
|
tem)
|
|
|
|
|
(goto-char (point-min))
|
|
|
|
|
(while (re-search-forward "^>" nil t)
|
|
|
|
|
(setq tem (bookmark-bmenu-bookmark))
|
|
|
|
|
(let ((inhibit-read-only t))
|
|
|
|
|
(delete-char -1)
|
|
|
|
|
(insert ?\s))
|
|
|
|
|
(or (string-equal tem bmrk)
|
|
|
|
|
(member tem others)
|
|
|
|
|
(setq others (cons tem others))))
|
|
|
|
|
(setq others (nreverse others)
|
|
|
|
|
tem (/ (1- (frame-height)) (1+ (length others))))
|
|
|
|
|
(delete-other-windows)
|
|
|
|
|
(bookmark-jump bmrk)
|
|
|
|
|
(bury-buffer menu)
|
|
|
|
|
(if others
|
|
|
|
|
(while others
|
|
|
|
|
(split-window nil tem)
|
|
|
|
|
(other-window 1)
|
|
|
|
|
(bookmark-jump (car others))
|
|
|
|
|
(setq others (cdr others)))
|
|
|
|
|
(other-window 1))))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
2010-01-02 07:08:02 +00:00
|
|
|
|
(defun bookmark-bmenu-any-marks ()
|
|
|
|
|
"Return non-nil if any bookmarks are marked in the marks column."
|
|
|
|
|
(save-excursion
|
|
|
|
|
(goto-char (point-min))
|
|
|
|
|
(bookmark-bmenu-ensure-position)
|
|
|
|
|
(catch 'found-mark
|
|
|
|
|
(while (not (eobp))
|
|
|
|
|
(beginning-of-line)
|
|
|
|
|
(if (looking-at "^\\S-")
|
|
|
|
|
(throw 'found-mark t)
|
|
|
|
|
(forward-line 1)))
|
|
|
|
|
nil)))
|
|
|
|
|
|
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(defun bookmark-bmenu-save (parg)
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
"Save the current list into a bookmark file.
|
|
|
|
|
With a prefix arg, prompts for a file to save them in."
|
|
|
|
|
(interactive "P")
|
|
|
|
|
(save-excursion
|
|
|
|
|
(save-window-excursion
|
2010-01-02 18:57:02 +00:00
|
|
|
|
(bookmark-save parg)
|
|
|
|
|
(set-buffer-modified-p nil))))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
(defun bookmark-bmenu-load ()
|
|
|
|
|
"Load the bookmark file and rebuild the bookmark menu-buffer."
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
(interactive)
|
2010-01-02 04:36:17 +00:00
|
|
|
|
(bookmark-bmenu-ensure-position)
|
|
|
|
|
(save-excursion
|
|
|
|
|
(save-window-excursion
|
|
|
|
|
;; This will call `bookmark-bmenu-list'
|
|
|
|
|
(call-interactively 'bookmark-load))))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
(defun bookmark-bmenu-1-window ()
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
"Select this line's bookmark, alone, in full frame."
|
|
|
|
|
(interactive)
|
2010-01-02 04:36:17 +00:00
|
|
|
|
(bookmark-jump (bookmark-bmenu-bookmark))
|
|
|
|
|
(bury-buffer (other-buffer))
|
|
|
|
|
(delete-other-windows))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
(defun bookmark-bmenu-2-window ()
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
"Select this line's bookmark, with previous buffer in second window."
|
|
|
|
|
(interactive)
|
2010-01-02 04:36:17 +00:00
|
|
|
|
(let ((bmrk (bookmark-bmenu-bookmark))
|
|
|
|
|
(menu (current-buffer))
|
|
|
|
|
(pop-up-windows t))
|
|
|
|
|
(delete-other-windows)
|
2011-07-14 01:40:30 +00:00
|
|
|
|
(switch-to-buffer (other-buffer) nil t)
|
2010-07-04 19:57:02 +00:00
|
|
|
|
(bookmark--jump-via bmrk 'pop-to-buffer)
|
2010-01-02 04:36:17 +00:00
|
|
|
|
(bury-buffer menu)))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
(defun bookmark-bmenu-this-window ()
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
"Select this line's bookmark in this window."
|
|
|
|
|
(interactive)
|
2010-01-02 04:36:17 +00:00
|
|
|
|
(bookmark-jump (bookmark-bmenu-bookmark)))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
(defun bookmark-bmenu-other-window ()
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
"Select this line's bookmark in other window, leaving bookmark menu visible."
|
|
|
|
|
(interactive)
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(let ((bookmark (bookmark-bmenu-bookmark)))
|
2010-07-04 19:57:02 +00:00
|
|
|
|
(bookmark--jump-via bookmark 'switch-to-buffer-other-window)))
|
1995-03-15 14:47:09 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defun bookmark-bmenu-switch-other-window ()
|
|
|
|
|
"Make the other window select this line's bookmark.
|
|
|
|
|
The current window remains selected."
|
|
|
|
|
(interactive)
|
1998-05-26 18:27:47 +00:00
|
|
|
|
(let ((bookmark (bookmark-bmenu-bookmark))
|
2012-11-04 03:25:18 +00:00
|
|
|
|
(fun (lambda (b) (display-buffer b t))))
|
|
|
|
|
(bookmark--jump-via bookmark fun)))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
1997-03-30 21:38:43 +00:00
|
|
|
|
(defun bookmark-bmenu-other-window-with-mouse (event)
|
|
|
|
|
"Select bookmark at the mouse pointer in other window, leaving bookmark menu visible."
|
|
|
|
|
(interactive "e")
|
2008-06-25 16:51:33 +00:00
|
|
|
|
(with-current-buffer (window-buffer (posn-window (event-end event)))
|
1997-03-30 21:38:43 +00:00
|
|
|
|
(save-excursion
|
|
|
|
|
(goto-char (posn-point (event-end event)))
|
|
|
|
|
(bookmark-bmenu-other-window))))
|
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
(defun bookmark-bmenu-show-annotation ()
|
|
|
|
|
"Show the annotation for the current bookmark in another window."
|
|
|
|
|
(interactive)
|
|
|
|
|
(let ((bookmark (bookmark-bmenu-bookmark)))
|
2010-01-02 04:36:17 +00:00
|
|
|
|
(bookmark-show-annotation bookmark)))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
(defun bookmark-bmenu-show-all-annotations ()
|
|
|
|
|
"Show the annotation for all bookmarks in another window."
|
|
|
|
|
(interactive)
|
|
|
|
|
(bookmark-show-all-annotations))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defun bookmark-bmenu-edit-annotation ()
|
|
|
|
|
"Edit the annotation for the current bookmark in another window."
|
|
|
|
|
(interactive)
|
|
|
|
|
(let ((bookmark (bookmark-bmenu-bookmark)))
|
2010-01-02 04:36:17 +00:00
|
|
|
|
(bookmark-edit-annotation bookmark)))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defun bookmark-bmenu-unmark (&optional backup)
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
"Cancel all requested operations on bookmark on this line and move down.
|
1995-06-18 22:46:02 +00:00
|
|
|
|
Optional BACKUP means move up."
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
(interactive "P")
|
|
|
|
|
(beginning-of-line)
|
2010-01-02 04:36:17 +00:00
|
|
|
|
(bookmark-bmenu-ensure-position)
|
2010-01-02 18:52:32 +00:00
|
|
|
|
(with-buffer-modified-unmodified
|
|
|
|
|
(let ((inhibit-read-only t))
|
|
|
|
|
(delete-char 1)
|
|
|
|
|
;; any flags to reset according to circumstances? How about a
|
|
|
|
|
;; flag indicating whether this bookmark is being visited?
|
|
|
|
|
;; well, we don't have this now, so maybe later.
|
|
|
|
|
(insert " "))
|
|
|
|
|
(forward-line (if backup -1 1))
|
|
|
|
|
(bookmark-bmenu-ensure-position)))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
(defun bookmark-bmenu-backup-unmark ()
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
"Move up and cancel all requested operations on bookmark on line above."
|
|
|
|
|
(interactive)
|
|
|
|
|
(forward-line -1)
|
2010-01-02 04:36:17 +00:00
|
|
|
|
(bookmark-bmenu-ensure-position)
|
|
|
|
|
(bookmark-bmenu-unmark)
|
|
|
|
|
(forward-line -1)
|
|
|
|
|
(bookmark-bmenu-ensure-position))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
(defun bookmark-bmenu-delete ()
|
1996-05-09 17:34:55 +00:00
|
|
|
|
"Mark bookmark on this line to be deleted.
|
|
|
|
|
To carry out the deletions that you've marked, use \\<bookmark-bmenu-mode-map>\\[bookmark-bmenu-execute-deletions]."
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
(interactive)
|
|
|
|
|
(beginning-of-line)
|
2010-01-02 04:36:17 +00:00
|
|
|
|
(bookmark-bmenu-ensure-position)
|
2010-01-02 18:52:32 +00:00
|
|
|
|
(with-buffer-modified-unmodified
|
|
|
|
|
(let ((inhibit-read-only t))
|
|
|
|
|
(delete-char 1)
|
|
|
|
|
(insert ?D)
|
|
|
|
|
(forward-line 1)
|
|
|
|
|
(bookmark-bmenu-ensure-position))))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
(defun bookmark-bmenu-delete-backwards ()
|
1996-05-09 17:34:55 +00:00
|
|
|
|
"Mark bookmark on this line to be deleted, then move up one line.
|
|
|
|
|
To carry out the deletions that you've marked, use \\<bookmark-bmenu-mode-map>\\[bookmark-bmenu-execute-deletions]."
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
(interactive)
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(bookmark-bmenu-delete)
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
(forward-line -2)
|
2010-01-02 04:36:17 +00:00
|
|
|
|
(bookmark-bmenu-ensure-position)
|
|
|
|
|
(forward-line 1)
|
|
|
|
|
(bookmark-bmenu-ensure-position))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
(defun bookmark-bmenu-execute-deletions ()
|
2010-01-13 23:25:01 +00:00
|
|
|
|
"Delete bookmarks flagged `D'."
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
(interactive)
|
1996-01-05 21:57:54 +00:00
|
|
|
|
(message "Deleting bookmarks...")
|
2009-11-21 06:43:45 +00:00
|
|
|
|
(let ((o-point (point))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(o-str (save-excursion
|
|
|
|
|
(beginning-of-line)
|
2009-11-21 06:43:45 +00:00
|
|
|
|
(unless (looking-at "^D")
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(buffer-substring
|
|
|
|
|
(point)
|
|
|
|
|
(progn (end-of-line) (point))))))
|
|
|
|
|
(o-col (current-column)))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
(goto-char (point-min))
|
2013-04-04 01:59:09 +00:00
|
|
|
|
(unless bookmark-bmenu-use-header-line
|
|
|
|
|
(forward-line 1))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(while (re-search-forward "^D" (point-max) t)
|
|
|
|
|
(bookmark-delete (bookmark-bmenu-bookmark) t)) ; pass BATCH arg
|
|
|
|
|
(bookmark-bmenu-list)
|
|
|
|
|
(if o-str
|
|
|
|
|
(progn
|
|
|
|
|
(goto-char (point-min))
|
|
|
|
|
(search-forward o-str)
|
|
|
|
|
(beginning-of-line)
|
|
|
|
|
(forward-char o-col))
|
|
|
|
|
(goto-char o-point))
|
|
|
|
|
(beginning-of-line)
|
1996-01-05 21:57:54 +00:00
|
|
|
|
(message "Deleting bookmarks...done")
|
|
|
|
|
))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(defun bookmark-bmenu-rename ()
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
"Rename bookmark on current line. Prompts for a new name."
|
|
|
|
|
(interactive)
|
2010-01-02 04:36:17 +00:00
|
|
|
|
(let ((bmrk (bookmark-bmenu-bookmark))
|
|
|
|
|
(thispoint (point)))
|
|
|
|
|
(bookmark-rename bmrk)
|
|
|
|
|
(goto-char thispoint)))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
(defun bookmark-bmenu-locate ()
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
"Display location of this bookmark. Displays in the minibuffer."
|
|
|
|
|
(interactive)
|
2010-01-02 18:13:28 +00:00
|
|
|
|
(let ((bmrk (bookmark-bmenu-bookmark)))
|
|
|
|
|
(message "%s" (bookmark-location bmrk))))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
2004-06-13 01:59:21 +00:00
|
|
|
|
(defun bookmark-bmenu-relocate ()
|
|
|
|
|
"Change the file path of the bookmark on the current line,
|
|
|
|
|
prompting with completion for the new path."
|
|
|
|
|
(interactive)
|
2010-01-02 04:36:17 +00:00
|
|
|
|
(let ((bmrk (bookmark-bmenu-bookmark))
|
|
|
|
|
(thispoint (point)))
|
|
|
|
|
(bookmark-relocate bmrk)
|
|
|
|
|
(goto-char thispoint)))
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
|
2009-11-20 15:47:26 +00:00
|
|
|
|
;;; Bookmark-bmenu search
|
|
|
|
|
|
|
|
|
|
(defun bookmark-bmenu-filter-alist-by-regexp (regexp)
|
|
|
|
|
"Filter `bookmark-alist' with bookmarks matching REGEXP and rebuild list."
|
2009-11-21 04:43:10 +00:00
|
|
|
|
(let ((bookmark-alist
|
Reduce use of (require 'cl).
* admin/bzrmerge.el: Use cl-lib.
* leim/quail/hangul.el: Don't require CL.
* leim/quail/ipa.el: Use cl-lib.
* vc/smerge-mode.el, vc/pcvs.el, vc/pcvs-util.el, vc/pcvs-info.el:
* vc/diff-mode.el, vc/cvs-status.el, uniquify.el, scroll-bar.el:
* register.el, progmodes/sh-script.el, net/gnutls.el, net/dbus.el:
* msb.el, mpc.el, minibuffer.el, international/ucs-normalize.el:
* international/quail.el, info-xref.el, imenu.el, image-mode.el:
* font-lock.el, filesets.el, edmacro.el, doc-view.el, bookmark.el:
* battery.el, avoid.el, abbrev.el: Use cl-lib.
* vc/pcvs-parse.el, vc/pcvs-defs.el, vc/log-view.el, vc/log-edit.el:
* vc/diff.el, simple.el, pcomplete.el, lpr.el, comint.el, loadhist.el:
* jit-lock.el, international/iso-ascii.el, info.el, frame.el, bs.el:
* emulation/crisp.el, electric.el, dired.el, cus-dep.el, composite.el:
* calculator.el, autorevert.el, apropos.el: Don't require CL.
* emacs-bytecomp.el (byte-recompile-directory, display-call-tree)
(byte-compile-unfold-bcf, byte-compile-check-variable):
* emacs-byte-opt.el (byte-compile-trueconstp)
(byte-compile-nilconstp):
* emacs-autoload.el (make-autoload): Use pcase.
* face-remap.el (text-scale-adjust): Simplify pcase patterns.
2012-07-10 11:51:54 +00:00
|
|
|
|
(cl-loop for i in bookmark-alist
|
|
|
|
|
when (string-match regexp (car i)) collect i into new
|
|
|
|
|
finally return new)))
|
2009-11-20 15:47:26 +00:00
|
|
|
|
(bookmark-bmenu-list)))
|
|
|
|
|
|
2009-11-21 04:43:10 +00:00
|
|
|
|
|
2009-11-20 15:47:26 +00:00
|
|
|
|
;;;###autoload
|
|
|
|
|
(defun bookmark-bmenu-search ()
|
2009-11-21 04:43:10 +00:00
|
|
|
|
"Incremental search of bookmarks, hiding the non-matches as we go."
|
2009-11-20 15:47:26 +00:00
|
|
|
|
(interactive)
|
2009-11-21 04:43:10 +00:00
|
|
|
|
(let ((bmk (bookmark-bmenu-bookmark))
|
2012-10-02 02:47:12 +00:00
|
|
|
|
(timer nil))
|
2009-11-21 04:43:10 +00:00
|
|
|
|
(unwind-protect
|
2012-10-02 02:47:12 +00:00
|
|
|
|
(minibuffer-with-setup-hook
|
|
|
|
|
(lambda ()
|
|
|
|
|
(setq timer (run-with-idle-timer
|
|
|
|
|
bookmark-search-delay 'repeat
|
|
|
|
|
#'(lambda (buf)
|
|
|
|
|
(with-current-buffer buf
|
|
|
|
|
(bookmark-bmenu-filter-alist-by-regexp
|
|
|
|
|
(minibuffer-contents))))
|
|
|
|
|
(current-buffer))))
|
|
|
|
|
(read-string "Pattern: ")
|
|
|
|
|
(when timer (cancel-timer timer) (setq timer nil)))
|
|
|
|
|
(when timer ;; Signalled an error or a `quit'.
|
|
|
|
|
(cancel-timer timer)
|
|
|
|
|
(bookmark-bmenu-list)
|
|
|
|
|
(bookmark-bmenu-goto-bookmark bmk)))))
|
2010-01-02 01:05:44 +00:00
|
|
|
|
|
2009-11-20 15:47:26 +00:00
|
|
|
|
(defun bookmark-bmenu-goto-bookmark (name)
|
|
|
|
|
"Move point to bookmark with name NAME."
|
|
|
|
|
(goto-char (point-min))
|
|
|
|
|
(while (not (equal name (bookmark-bmenu-bookmark)))
|
|
|
|
|
(forward-line 1))
|
|
|
|
|
(forward-line 0))
|
2010-01-02 01:05:44 +00:00
|
|
|
|
|
2009-11-20 15:47:26 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
|
|
|
|
;;; Menu bar stuff. Prefix is "bookmark-menu".
|
1993-08-13 00:59:51 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(defun bookmark-menu-popup-paned-menu (event name entries)
|
|
|
|
|
"Pop up multi-paned menu at EVENT, return string chosen from ENTRIES.
|
|
|
|
|
That is, ENTRIES is a list of strings which appear as the choices
|
|
|
|
|
in the menu.
|
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Return a string, instead of a list of one string.
(bookmark-edit-annotation): Remove unused vars.
(bookmark-jump, bookmark-relocate, bookmark-insert-location)
(bookmark-rename, bookmark-insert, bookmark-delete): Adjust calls
to bookmark-completing-read.
(bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames)
(bookmark-bmenu-mark, bookmark-bmenu-select, bookmark-bmenu-unmark)
(bookmark-bmenu-delete, bookmark-bmenu-list): Use inhibit-read-only
and erase-buffer.
(bookmark-menu-delete, bookmark-menu-rename, bookmark-menu-locate)
(bookmark-menu-jump, bookmark-menu-insert)
(bookmark-popup-menu-and-apply-function)
(bookmark-menu-popup-paned-bookmark-menu): Remove.
(bookmark-menu-build-paned-menu): Remove by folding it into
bookmark-menu-popup-paned-menu.
(menu-bar-bookmark-map): Move the define-key statements here.
Use the "non-menu" commands since they now pop up a menu if needed.
(bookmark-exit-hook-internal): Simplify.
2003-08-11 17:30:47 +00:00
|
|
|
|
The number of panes depends on the number of entries.
|
|
|
|
|
The visible entries are truncated to `bookmark-menu-length', but the
|
|
|
|
|
strings returned are not."
|
|
|
|
|
(let ((f-height (/ (frame-height) 2))
|
|
|
|
|
(pane-list nil)
|
|
|
|
|
(iter 0))
|
|
|
|
|
(while entries
|
|
|
|
|
(let (lst
|
|
|
|
|
(count 0))
|
|
|
|
|
(while (and (< count f-height) entries)
|
|
|
|
|
(let ((str (car entries)))
|
|
|
|
|
(push (cons
|
|
|
|
|
(if (> (length str) bookmark-menu-length)
|
|
|
|
|
(substring str 0 bookmark-menu-length)
|
|
|
|
|
str)
|
|
|
|
|
str)
|
|
|
|
|
lst)
|
|
|
|
|
(setq entries (cdr entries))
|
|
|
|
|
(setq count (1+ count))))
|
|
|
|
|
(setq iter (1+ iter))
|
|
|
|
|
(push (cons
|
|
|
|
|
(format "-*- %s (%d) -*-" name iter)
|
|
|
|
|
(nreverse lst))
|
|
|
|
|
pane-list)))
|
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
(bookmark-save): Improve argument/docstring consistency.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-alist-from-buffer, bookmark-upgrade-file-format-from-0,
bookmark-grok-file-format-version, bookmark-maybe-upgrade-file-format,
bookmark-kill-line, bookmark-read-annotation-mode,
bookmark-insert-current-bookmark, bookmark-jump, bookmark-exit-hook):
Fix typos in docstrings.
(bookmark-exit-hooks): Define as obsolete alias.
(bookmark-exit-hook-internal): Run `bookmark-exit-hook',
not `bookmark-exit-hooks'. Fix docstring.
(bookmark-bmenu-select): "?\ " -> "?\s".
2005-07-26 13:56:01 +00:00
|
|
|
|
|
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Return a string, instead of a list of one string.
(bookmark-edit-annotation): Remove unused vars.
(bookmark-jump, bookmark-relocate, bookmark-insert-location)
(bookmark-rename, bookmark-insert, bookmark-delete): Adjust calls
to bookmark-completing-read.
(bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames)
(bookmark-bmenu-mark, bookmark-bmenu-select, bookmark-bmenu-unmark)
(bookmark-bmenu-delete, bookmark-bmenu-list): Use inhibit-read-only
and erase-buffer.
(bookmark-menu-delete, bookmark-menu-rename, bookmark-menu-locate)
(bookmark-menu-jump, bookmark-menu-insert)
(bookmark-popup-menu-and-apply-function)
(bookmark-menu-popup-paned-bookmark-menu): Remove.
(bookmark-menu-build-paned-menu): Remove by folding it into
bookmark-menu-popup-paned-menu.
(menu-bar-bookmark-map): Move the define-key statements here.
Use the "non-menu" commands since they now pop up a menu if needed.
(bookmark-exit-hook-internal): Simplify.
2003-08-11 17:30:47 +00:00
|
|
|
|
;; Popup the menu and return the string.
|
|
|
|
|
(x-popup-menu event (cons (concat "-*- " name " -*-")
|
|
|
|
|
(nreverse pane-list)))))
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
1993-08-10 20:35:31 +00:00
|
|
|
|
|
(bookmark-write): Add numbered backups for bookmark file.
(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.
1993-10-13 05:59:54 +00:00
|
|
|
|
;; Thanks to Roland McGrath for fixing menubar.el so that the
|
|
|
|
|
;; following works, and for explaining what to do to make it work.
|
1993-08-10 20:35:31 +00:00
|
|
|
|
|
1995-04-06 08:44:21 +00:00
|
|
|
|
;; We MUST autoload EACH form used to set up this variable's value, so
|
|
|
|
|
;; that the whole job is done in loaddefs.el.
|
1993-08-10 20:35:31 +00:00
|
|
|
|
|
1996-05-09 17:34:55 +00:00
|
|
|
|
;; Emacs menubar stuff.
|
1995-12-30 19:52:40 +00:00
|
|
|
|
|
1995-04-06 08:44:21 +00:00
|
|
|
|
;;;###autoload
|
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Return a string, instead of a list of one string.
(bookmark-edit-annotation): Remove unused vars.
(bookmark-jump, bookmark-relocate, bookmark-insert-location)
(bookmark-rename, bookmark-insert, bookmark-delete): Adjust calls
to bookmark-completing-read.
(bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames)
(bookmark-bmenu-mark, bookmark-bmenu-select, bookmark-bmenu-unmark)
(bookmark-bmenu-delete, bookmark-bmenu-list): Use inhibit-read-only
and erase-buffer.
(bookmark-menu-delete, bookmark-menu-rename, bookmark-menu-locate)
(bookmark-menu-jump, bookmark-menu-insert)
(bookmark-popup-menu-and-apply-function)
(bookmark-menu-popup-paned-bookmark-menu): Remove.
(bookmark-menu-build-paned-menu): Remove by folding it into
bookmark-menu-popup-paned-menu.
(menu-bar-bookmark-map): Move the define-key statements here.
Use the "non-menu" commands since they now pop up a menu if needed.
(bookmark-exit-hook-internal): Simplify.
2003-08-11 17:30:47 +00:00
|
|
|
|
(defvar menu-bar-bookmark-map
|
|
|
|
|
(let ((map (make-sparse-keymap "Bookmark functions")))
|
2012-06-27 21:15:13 +00:00
|
|
|
|
(bindings--define-key map [load]
|
|
|
|
|
'(menu-item "Load a Bookmark File..." bookmark-load
|
|
|
|
|
:help "Load bookmarks from a bookmark file)"))
|
|
|
|
|
(bindings--define-key map [write]
|
|
|
|
|
'(menu-item "Save Bookmarks As..." bookmark-write
|
|
|
|
|
:help "Write bookmarks to a file (reading the file name with the minibuffer)"))
|
|
|
|
|
(bindings--define-key map [save]
|
|
|
|
|
'(menu-item "Save Bookmarks" bookmark-save
|
|
|
|
|
:help "Save currently defined bookmarks"))
|
|
|
|
|
(bindings--define-key map [edit]
|
|
|
|
|
'(menu-item "Edit Bookmark List" bookmark-bmenu-list
|
|
|
|
|
:help "Display a list of existing bookmarks"))
|
|
|
|
|
(bindings--define-key map [delete]
|
|
|
|
|
'(menu-item "Delete Bookmark..." bookmark-delete
|
|
|
|
|
:help "Delete a bookmark from the bookmark list"))
|
|
|
|
|
(bindings--define-key map [rename]
|
|
|
|
|
'(menu-item "Rename Bookmark..." bookmark-rename
|
|
|
|
|
:help "Change the name of a bookmark"))
|
|
|
|
|
(bindings--define-key map [locate]
|
|
|
|
|
'(menu-item "Insert Location..." bookmark-locate
|
|
|
|
|
:help "Insert the name of the file associated with a bookmark"))
|
|
|
|
|
(bindings--define-key map [insert]
|
|
|
|
|
'(menu-item "Insert Contents..." bookmark-insert
|
|
|
|
|
:help "Insert the text of the file pointed to by a bookmark"))
|
|
|
|
|
(bindings--define-key map [set]
|
|
|
|
|
'(menu-item "Set Bookmark..." bookmark-set
|
|
|
|
|
:help "Set a bookmark named inside a file."))
|
|
|
|
|
(bindings--define-key map [jump]
|
|
|
|
|
'(menu-item "Jump to Bookmark..." bookmark-jump
|
|
|
|
|
:help "Jump to a bookmark (a point in some file)"))
|
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Return a string, instead of a list of one string.
(bookmark-edit-annotation): Remove unused vars.
(bookmark-jump, bookmark-relocate, bookmark-insert-location)
(bookmark-rename, bookmark-insert, bookmark-delete): Adjust calls
to bookmark-completing-read.
(bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames)
(bookmark-bmenu-mark, bookmark-bmenu-select, bookmark-bmenu-unmark)
(bookmark-bmenu-delete, bookmark-bmenu-list): Use inhibit-read-only
and erase-buffer.
(bookmark-menu-delete, bookmark-menu-rename, bookmark-menu-locate)
(bookmark-menu-jump, bookmark-menu-insert)
(bookmark-popup-menu-and-apply-function)
(bookmark-menu-popup-paned-bookmark-menu): Remove.
(bookmark-menu-build-paned-menu): Remove by folding it into
bookmark-menu-popup-paned-menu.
(menu-bar-bookmark-map): Move the define-key statements here.
Use the "non-menu" commands since they now pop up a menu if needed.
(bookmark-exit-hook-internal): Simplify.
2003-08-11 17:30:47 +00:00
|
|
|
|
map))
|
1995-12-30 19:52:40 +00:00
|
|
|
|
|
1995-04-06 08:44:21 +00:00
|
|
|
|
;;;###autoload
|
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Return a string, instead of a list of one string.
(bookmark-edit-annotation): Remove unused vars.
(bookmark-jump, bookmark-relocate, bookmark-insert-location)
(bookmark-rename, bookmark-insert, bookmark-delete): Adjust calls
to bookmark-completing-read.
(bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames)
(bookmark-bmenu-mark, bookmark-bmenu-select, bookmark-bmenu-unmark)
(bookmark-bmenu-delete, bookmark-bmenu-list): Use inhibit-read-only
and erase-buffer.
(bookmark-menu-delete, bookmark-menu-rename, bookmark-menu-locate)
(bookmark-menu-jump, bookmark-menu-insert)
(bookmark-popup-menu-and-apply-function)
(bookmark-menu-popup-paned-bookmark-menu): Remove.
(bookmark-menu-build-paned-menu): Remove by folding it into
bookmark-menu-popup-paned-menu.
(menu-bar-bookmark-map): Move the define-key statements here.
Use the "non-menu" commands since they now pop up a menu if needed.
(bookmark-exit-hook-internal): Simplify.
2003-08-11 17:30:47 +00:00
|
|
|
|
(defalias 'menu-bar-bookmark-map menu-bar-bookmark-map)
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
1995-12-30 19:52:40 +00:00
|
|
|
|
;; make bookmarks appear toward the right side of the menu.
|
|
|
|
|
(if (boundp 'menu-bar-final-items)
|
2001-01-12 22:49:40 +00:00
|
|
|
|
(if menu-bar-final-items
|
2009-10-28 03:09:11 +00:00
|
|
|
|
(push 'bookmark menu-bar-final-items))
|
1995-12-30 19:52:40 +00:00
|
|
|
|
(setq menu-bar-final-items '(bookmark)))
|
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
;;;; end bookmark menu stuff ;;;;
|
|
|
|
|
|
|
|
|
|
|
2008-06-25 16:51:33 +00:00
|
|
|
|
;; Load Hook
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(defvar bookmark-load-hook nil
|
2010-07-14 19:09:28 +00:00
|
|
|
|
"Hook run at the end of loading library `bookmark.el'.")
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
|
2008-06-25 16:51:33 +00:00
|
|
|
|
;; Exit Hook, called from kill-emacs-hook
|
2012-05-13 03:05:06 +00:00
|
|
|
|
(define-obsolete-variable-alias 'bookmark-exit-hooks
|
|
|
|
|
'bookmark-exit-hook "22.1")
|
2000-12-13 22:56:38 +00:00
|
|
|
|
(defvar bookmark-exit-hook nil
|
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
(bookmark-save): Improve argument/docstring consistency.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-alist-from-buffer, bookmark-upgrade-file-format-from-0,
bookmark-grok-file-format-version, bookmark-maybe-upgrade-file-format,
bookmark-kill-line, bookmark-read-annotation-mode,
bookmark-insert-current-bookmark, bookmark-jump, bookmark-exit-hook):
Fix typos in docstrings.
(bookmark-exit-hooks): Define as obsolete alias.
(bookmark-exit-hook-internal): Run `bookmark-exit-hook',
not `bookmark-exit-hooks'. Fix docstring.
(bookmark-bmenu-select): "?\ " -> "?\s".
2005-07-26 13:56:01 +00:00
|
|
|
|
"Hook run when Emacs exits.")
|
|
|
|
|
|
2000-12-13 22:56:38 +00:00
|
|
|
|
(defun bookmark-exit-hook-internal ()
|
|
|
|
|
"Save bookmark state, if necessary, at Emacs exit time.
|
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
(bookmark-save): Improve argument/docstring consistency.
(bookmark-get-bookmark, bookmark-get-bookmark-record,
bookmark-alist-from-buffer, bookmark-upgrade-file-format-from-0,
bookmark-grok-file-format-version, bookmark-maybe-upgrade-file-format,
bookmark-kill-line, bookmark-read-annotation-mode,
bookmark-insert-current-bookmark, bookmark-jump, bookmark-exit-hook):
Fix typos in docstrings.
(bookmark-exit-hooks): Define as obsolete alias.
(bookmark-exit-hook-internal): Run `bookmark-exit-hook',
not `bookmark-exit-hooks'. Fix docstring.
(bookmark-bmenu-select): "?\ " -> "?\s".
2005-07-26 13:56:01 +00:00
|
|
|
|
This also runs `bookmark-exit-hook'."
|
|
|
|
|
(run-hooks 'bookmark-exit-hook)
|
2013-04-04 01:59:09 +00:00
|
|
|
|
(and (bookmark-time-to-save-p t)
|
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Return a string, instead of a list of one string.
(bookmark-edit-annotation): Remove unused vars.
(bookmark-jump, bookmark-relocate, bookmark-insert-location)
(bookmark-rename, bookmark-insert, bookmark-delete): Adjust calls
to bookmark-completing-read.
(bookmark-bmenu-show-filenames, bookmark-bmenu-hide-filenames)
(bookmark-bmenu-mark, bookmark-bmenu-select, bookmark-bmenu-unmark)
(bookmark-bmenu-delete, bookmark-bmenu-list): Use inhibit-read-only
and erase-buffer.
(bookmark-menu-delete, bookmark-menu-rename, bookmark-menu-locate)
(bookmark-menu-jump, bookmark-menu-insert)
(bookmark-popup-menu-and-apply-function)
(bookmark-menu-popup-paned-bookmark-menu): Remove.
(bookmark-menu-build-paned-menu): Remove by folding it into
bookmark-menu-popup-paned-menu.
(menu-bar-bookmark-map): Move the define-key statements here.
Use the "non-menu" commands since they now pop up a menu if needed.
(bookmark-exit-hook-internal): Simplify.
2003-08-11 17:30:47 +00:00
|
|
|
|
(bookmark-save)))
|
2000-12-13 22:56:38 +00:00
|
|
|
|
|
2011-03-06 00:30:16 +00:00
|
|
|
|
(unless noninteractive
|
|
|
|
|
(add-hook 'kill-emacs-hook 'bookmark-exit-hook-internal))
|
2000-12-13 22:56:38 +00:00
|
|
|
|
|
2008-10-06 11:49:59 +00:00
|
|
|
|
(defun bookmark-unload-function ()
|
|
|
|
|
"Unload the Bookmark library."
|
|
|
|
|
(when bookmark-save-flag (bookmark-save))
|
|
|
|
|
;; continue standard unloading
|
|
|
|
|
nil)
|
|
|
|
|
|
2000-12-13 22:56:38 +00:00
|
|
|
|
|
Insure that all entry points call `bookmark-maybe-load-default-file'.
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.
1995-03-11 02:05:20 +00:00
|
|
|
|
(run-hooks 'bookmark-load-hook)
|
1993-08-10 20:35:31 +00:00
|
|
|
|
|
|
|
|
|
(provide 'bookmark)
|
2001-01-12 22:49:40 +00:00
|
|
|
|
|
1993-08-13 00:59:51 +00:00
|
|
|
|
;;; bookmark.el ends here
|