Mercurial > emacs
annotate lisp/bookmark.el @ 110982:2b3bece0553a
merge emacs-23
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Tue, 12 Oct 2010 21:41:18 +0900 |
parents | 81cfe104e929 |
children | 376148b31b5e |
rev | line source |
---|---|
38436
b174db545cfd
Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents:
38173
diff
changeset
|
1 ;;; bookmark.el --- set bookmarks, maybe annotate them, jump to them later |
4537 | 2 |
64762
41bb365f41c4
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
64634
diff
changeset
|
3 ;; Copyright (C) 1993, 1994, 1995, 1996, 1997, 2001, 2002, 2003, |
106815 | 4 ;; 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. |
4537 | 5 |
14039
831c5fda97f4
"cyclic.com" addresses changed to "red-bean.com".
Karl Fogel <kfogel@red-bean.com>
parents:
13969
diff
changeset
|
6 ;; Author: Karl Fogel <kfogel@red-bean.com> |
831c5fda97f4
"cyclic.com" addresses changed to "red-bean.com".
Karl Fogel <kfogel@red-bean.com>
parents:
13969
diff
changeset
|
7 ;; Maintainer: Karl Fogel <kfogel@red-bean.com> |
4537 | 8 ;; Created: July, 1993 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
9 ;; Keywords: bookmarks, placeholders, annotations |
4537 | 10 |
11 ;; This file is part of GNU Emacs. | |
12 | |
94678
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93705
diff
changeset
|
13 ;; GNU Emacs is free software: you can redistribute it and/or modify |
4537 | 14 ;; it under the terms of the GNU General Public License as published by |
94678
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93705
diff
changeset
|
15 ;; the Free Software Foundation, either version 3 of the License, or |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93705
diff
changeset
|
16 ;; (at your option) any later version. |
4537 | 17 |
18 ;; GNU Emacs is distributed in the hope that it will be useful, | |
19 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
20 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
21 ;; GNU General Public License for more details. | |
22 | |
23 ;; You should have received a copy of the GNU General Public License | |
94678
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93705
diff
changeset
|
24 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
14169 | 25 |
26 ;;; Commentary: | |
27 | |
28 ;; This package is for setting "bookmarks" in files. A bookmark | |
29 ;; associates a string with a location in a certain file. Thus, you | |
30 ;; can navigate your way to that location by providing the string. | |
31 ;; See the "User Variables" section for customizations. | |
4537 | 32 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
33 |
38436
b174db545cfd
Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents:
38173
diff
changeset
|
34 ;;; Code: |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
35 |
14169 | 36 (require 'pp) |
99774
b53beb0ef91c
(bookmark-get-bookmark): Add `noerror' arg.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
99773
diff
changeset
|
37 (eval-when-compile (require 'cl)) |
14169 | 38 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
39 ;;; Misc comments: |
4537 | 40 ;; |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
41 ;; If variable bookmark-use-annotations is non-nil, an annotation is |
35283 | 42 ;; queried for when setting a bookmark. |
4595 | 43 ;; |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
44 ;; The bookmark list is sorted lexically by default, but you can turn |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
45 ;; this off by setting bookmark-sort-flag to nil. If it is nil, then |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
46 ;; the list will be presented in the order it is recorded |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
47 ;; (chronologically), which is actually fairly useful as well. |
4537 | 48 |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
49 ;;; User Variables |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
50 |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
51 (defgroup bookmark nil |
17412
cd7152c1ca13
(bookmark, bookmark-use-annotations)
Richard M. Stallman <rms@gnu.org>
parents:
17411
diff
changeset
|
52 "Setting, annotation and jumping to bookmarks." |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
53 :group 'matching) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
54 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
55 |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
56 (defcustom bookmark-use-annotations nil |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
57 "If non-nil, saving a bookmark queries for an annotation in a buffer." |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
58 :type 'boolean |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
59 :group 'bookmark) |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
60 |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
61 |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
62 (defcustom bookmark-save-flag t |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
63 "Controls when Emacs saves bookmarks to a file. |
17412
cd7152c1ca13
(bookmark, bookmark-use-annotations)
Richard M. Stallman <rms@gnu.org>
parents:
17411
diff
changeset
|
64 --> nil means never save bookmarks, except when `bookmark-save' is |
106697
ac408704629c
lisp/*: Fix typos in docstrings and messages.
Juanma Barranquero <lekktu@gmail.com>
parents:
106210
diff
changeset
|
65 explicitly called (\\[bookmark-save]). |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
66 --> t means save bookmarks when Emacs is killed. |
13969
8fd836e88aec
(bookmark-save-flag, bookmark-read-annotation-text-func,
Karl Heuer <kwzh@gnu.org>
parents:
13895
diff
changeset
|
67 --> Otherwise, it should be a number that is the frequency with which |
106697
ac408704629c
lisp/*: Fix typos in docstrings and messages.
Juanma Barranquero <lekktu@gmail.com>
parents:
106210
diff
changeset
|
68 the bookmark list is saved (i.e.: the number of times which |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
69 Emacs' bookmark list may be modified before it is automatically |
106697
ac408704629c
lisp/*: Fix typos in docstrings and messages.
Juanma Barranquero <lekktu@gmail.com>
parents:
106210
diff
changeset
|
70 saved.). If it is a number, Emacs will also automatically save |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
71 bookmarks when it is killed. |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
72 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
73 Therefore, the way to get it to save every time you make or delete a |
106697
ac408704629c
lisp/*: Fix typos in docstrings and messages.
Juanma Barranquero <lekktu@gmail.com>
parents:
106210
diff
changeset
|
74 bookmark is to set this variable to 1 (or 0, which produces the same |
ac408704629c
lisp/*: Fix typos in docstrings and messages.
Juanma Barranquero <lekktu@gmail.com>
parents:
106210
diff
changeset
|
75 behavior.) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
76 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
77 To specify the file in which to save them, modify the variable |
17412
cd7152c1ca13
(bookmark, bookmark-use-annotations)
Richard M. Stallman <rms@gnu.org>
parents:
17411
diff
changeset
|
78 `bookmark-default-file', which is `~/.emacs.bmk' by default." |
22568
5682c77dce71
(bookmark-save-flag, bookmark-version-control): Use
Andreas Schwab <schwab@suse.de>
parents:
22251
diff
changeset
|
79 :type '(choice (const nil) integer (other t)) |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
80 :group 'bookmark) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
81 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
82 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
83 (defconst bookmark-old-default-file "~/.emacs-bkmrks" |
100171 | 84 "The `.emacs.bmk' file used to be called this name.") |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
85 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
86 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
87 ;; defvarred to avoid a compilation warning: |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
88 (defvar bookmark-file nil |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
89 "Old name for `bookmark-default-file'.") |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
90 |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
91 (defcustom bookmark-default-file |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
92 (if bookmark-file |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
93 ;; In case user set `bookmark-file' in her .emacs: |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
94 bookmark-file |
16036
a9ced5af8a15
(bookmark-default-file): Use convert-standard-filename.
Richard M. Stallman <rms@gnu.org>
parents:
15193
diff
changeset
|
95 (convert-standard-filename "~/.emacs.bmk")) |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
96 "File in which to save bookmarks by default." |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
97 :type 'file |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
98 :group 'bookmark) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
99 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
100 |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
101 (defcustom bookmark-version-control 'nospecial |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
102 "Whether or not to make numbered backups of the bookmark file. |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
103 It can have four values: t, nil, `never', and `nospecial'. |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
104 The first three have the same meaning that they do for the |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
105 variable `version-control', and the final value `nospecial' means just |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
106 use the value of `version-control'." |
22568
5682c77dce71
(bookmark-save-flag, bookmark-version-control): Use
Andreas Schwab <schwab@suse.de>
parents:
22251
diff
changeset
|
107 :type '(choice (const nil) (const never) (const nospecial) |
5682c77dce71
(bookmark-save-flag, bookmark-version-control): Use
Andreas Schwab <schwab@suse.de>
parents:
22251
diff
changeset
|
108 (other t)) |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
109 :group 'bookmark) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
110 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
111 |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
112 (defcustom bookmark-completion-ignore-case t |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
113 "Non-nil means bookmark functions ignore case in completion." |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
114 :type 'boolean |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
115 :group 'bookmark) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
116 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
117 |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
118 (defcustom bookmark-sort-flag t |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
119 "Non-nil means that bookmarks will be displayed sorted by bookmark name. |
17412
cd7152c1ca13
(bookmark, bookmark-use-annotations)
Richard M. Stallman <rms@gnu.org>
parents:
17411
diff
changeset
|
120 Otherwise they will be displayed in LIFO order (that is, most |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
121 recently set ones come first, oldest ones come last)." |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
122 :type 'boolean |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
123 :group 'bookmark) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
124 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
125 |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
126 (defcustom bookmark-automatically-show-annotations t |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
127 "Non-nil means show annotations when jumping to a bookmark." |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
128 :type 'boolean |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
129 :group 'bookmark) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
130 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
131 |
106700
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
132 (defconst bookmark-bmenu-header-height 2 |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
133 "Number of lines used for the *Bookmark List* header.") |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
134 |
106714
396a004a924b
* lisp/bookmark.el: Consistently put the text property on the bookmark name.
Karl Fogel <kfogel@red-bean.com>
parents:
106713
diff
changeset
|
135 (defconst bookmark-bmenu-marks-width 2 |
396a004a924b
* lisp/bookmark.el: Consistently put the text property on the bookmark name.
Karl Fogel <kfogel@red-bean.com>
parents:
106713
diff
changeset
|
136 "Number of columns (chars) used for the *Bookmark List* marks column, |
396a004a924b
* lisp/bookmark.el: Consistently put the text property on the bookmark name.
Karl Fogel <kfogel@red-bean.com>
parents:
106713
diff
changeset
|
137 including the annotations column.") |
106700
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
138 |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
139 (defcustom bookmark-bmenu-file-column 30 |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
140 "Column at which to display filenames in a buffer listing bookmarks. |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
141 You can toggle whether files are shown with \\<bookmark-bmenu-mode-map>\\[bookmark-bmenu-toggle-filenames]." |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
142 :type 'integer |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
143 :group 'bookmark) |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
144 |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
145 |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
146 (defcustom bookmark-bmenu-toggle-filenames t |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
147 "Non-nil means show filenames when listing bookmarks. |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
148 This may result in truncated bookmark names. To disable this, put the |
17412
cd7152c1ca13
(bookmark, bookmark-use-annotations)
Richard M. Stallman <rms@gnu.org>
parents:
17411
diff
changeset
|
149 following in your `.emacs' file: |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
150 |
106697
ac408704629c
lisp/*: Fix typos in docstrings and messages.
Juanma Barranquero <lekktu@gmail.com>
parents:
106210
diff
changeset
|
151 \(setq bookmark-bmenu-toggle-filenames nil)" |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
152 :type 'boolean |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
153 :group 'bookmark) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
154 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
155 |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
156 (defcustom bookmark-menu-length 70 |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
157 "Maximum length of a bookmark name displayed on a popup menu." |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
158 :type 'integer |
48393
68aa78bf3f63
(bookmark-menu-length): Fix typo in group name.
Markus Rost <rost@math.uni-bielefeld.de>
parents:
45793
diff
changeset
|
159 :group 'bookmark) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
160 |
106179
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
161 ;; FIXME: Is it really worth a customization option? |
106166
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
162 (defcustom bookmark-search-delay 0.2 |
106179
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
163 "Time before `bookmark-bmenu-search' updates the display." |
106166
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
164 :group 'bookmark |
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
165 :type 'integer) |
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
166 |
66201
54d9518d9113
(bookmark-menu-heading): New face.
Romain Francoise <romain@orebokech.com>
parents:
66192
diff
changeset
|
167 (defface bookmark-menu-heading |
54d9518d9113
(bookmark-menu-heading): New face.
Romain Francoise <romain@orebokech.com>
parents:
66192
diff
changeset
|
168 '((t (:inherit font-lock-type-face))) |
54d9518d9113
(bookmark-menu-heading): New face.
Romain Francoise <romain@orebokech.com>
parents:
66192
diff
changeset
|
169 "Face used to highlight the heading in bookmark menu buffers." |
54d9518d9113
(bookmark-menu-heading): New face.
Romain Francoise <romain@orebokech.com>
parents:
66192
diff
changeset
|
170 :group 'bookmark |
54d9518d9113
(bookmark-menu-heading): New face.
Romain Francoise <romain@orebokech.com>
parents:
66192
diff
changeset
|
171 :version "22.1") |
54d9518d9113
(bookmark-menu-heading): New face.
Romain Francoise <romain@orebokech.com>
parents:
66192
diff
changeset
|
172 |
54d9518d9113
(bookmark-menu-heading): New face.
Romain Francoise <romain@orebokech.com>
parents:
66192
diff
changeset
|
173 |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
174 ;;; No user-serviceable parts beyond this point. |
4537 | 175 |
176 ;; Added for lucid emacs compatibility, db | |
177 (or (fboundp 'defalias) (fset 'defalias 'fset)) | |
178 | |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
179 ;; suggested for lucid compatibility by david hughes: |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
180 (or (fboundp 'frame-height) (defalias 'frame-height 'screen-height)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
181 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
182 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
183 ;;; Keymap stuff: |
18709
a82b89790f9c
Make global bindings only via loaddefs.el.
Richard M. Stallman <rms@gnu.org>
parents:
17412
diff
changeset
|
184 |
a82b89790f9c
Make global bindings only via loaddefs.el.
Richard M. Stallman <rms@gnu.org>
parents:
17412
diff
changeset
|
185 ;; Set up these bindings dumping time *only*; |
a82b89790f9c
Make global bindings only via loaddefs.el.
Richard M. Stallman <rms@gnu.org>
parents:
17412
diff
changeset
|
186 ;; if the user alters them, don't override the user when loading bookmark.el. |
4537 | 187 |
96438
5efd78aaea5b
Rebind three global `C-x r' keys "b", "m", "l" to the new map
Juri Linkov <juri@jurta.org>
parents:
96280
diff
changeset
|
188 ;;;###autoload (define-key ctl-x-r-map "b" 'bookmark-jump) |
5efd78aaea5b
Rebind three global `C-x r' keys "b", "m", "l" to the new map
Juri Linkov <juri@jurta.org>
parents:
96280
diff
changeset
|
189 ;;;###autoload (define-key ctl-x-r-map "m" 'bookmark-set) |
5efd78aaea5b
Rebind three global `C-x r' keys "b", "m", "l" to the new map
Juri Linkov <juri@jurta.org>
parents:
96280
diff
changeset
|
190 ;;;###autoload (define-key ctl-x-r-map "l" 'bookmark-bmenu-list) |
4537 | 191 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
192 ;;;###autoload |
92550
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
193 (defvar bookmark-map |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
194 (let ((map (make-sparse-keymap))) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
195 ;; Read the help on all of these functions for details... |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
196 (define-key map "x" 'bookmark-set) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
197 (define-key map "m" 'bookmark-set) ;"m"ark |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
198 (define-key map "j" 'bookmark-jump) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
199 (define-key map "g" 'bookmark-jump) ;"g"o |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
200 (define-key map "o" 'bookmark-jump-other-window) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
201 (define-key map "i" 'bookmark-insert) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
202 (define-key map "e" 'edit-bookmarks) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
203 (define-key map "f" 'bookmark-insert-location) ;"f"ind |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
204 (define-key map "r" 'bookmark-rename) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
205 (define-key map "d" 'bookmark-delete) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
206 (define-key map "l" 'bookmark-load) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
207 (define-key map "w" 'bookmark-write) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
208 (define-key map "s" 'bookmark-save) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
209 map) |
4633 | 210 "Keymap containing bindings to bookmark functions. |
211 It is not bound to any key by default: to bind it | |
212 so that you have a bookmark prefix, just use `global-set-key' and bind a | |
213 key of your choice to `bookmark-map'. All interactive bookmark | |
4537 | 214 functions have a binding in this keymap.") |
215 | |
92550
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
216 ;;;###autoload (fset 'bookmark-map bookmark-map) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
217 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
218 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
219 ;;; Core variables and data structures: |
4634
cd8eef9ec0c4
(bookmark-alist): Move defvar before first use.
Richard M. Stallman <rms@gnu.org>
parents:
4633
diff
changeset
|
220 (defvar bookmark-alist () |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
221 "Association list of bookmarks and their records. |
105759
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
222 Bookmark functions update the value automatically. |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
223 You probably do NOT want to change the value yourself. |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
224 |
105759
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
225 The value is an alist with entries of the form |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
226 |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
227 (BOOKMARK-NAME . PARAM-ALIST) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
228 |
105759
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
229 or the deprecated form (BOOKMARK-NAME PARAM-ALIST). |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
230 |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
231 BOOKMARK-NAME is the name you gave to the bookmark when creating it. |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
232 |
105759
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
233 PARAM-ALIST is an alist of bookmark information. The order of the |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
234 entries in PARAM-ALIST is not important. The possible entries are |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
235 described below. An entry with a key but null value means the entry |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
236 is not used. |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
237 |
105759
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
238 (filename . FILENAME) |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
239 (position . POS) |
105759
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
240 (front-context-string . STR-AFTER-POS) |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
241 (rear-context-string . STR-BEFORE-POS) |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
242 (handler . HANDLER) |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
243 (annotation . ANNOTATION) |
105444
51af2a71a0d6
(bookmark-alist): Document the new `handler' element in the param alist.
Karl Fogel <kfogel@red-bean.com>
parents:
105372
diff
changeset
|
244 |
105759
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
245 FILENAME names the bookmarked file. |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
246 POS is the bookmarked buffer position (position in the file). |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
247 STR-AFTER-POS is buffer text that immediately follows POS. |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
248 STR-BEFORE-POS is buffer text that immediately precedes POS. |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
249 ANNOTATION is a string that describes the bookmark. |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
250 See options `bookmark-use-annotations' and |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
251 `bookmark-automatically-show-annotations'. |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
252 HANDLER is a function that provides the bookmark-jump behavior for a |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
253 specific kind of bookmark. This is the case for Info bookmarks, |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
254 for instance. HANDLER must accept a bookmark as argument.") |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
255 |
105540 | 256 (defvar bookmarks-already-loaded nil |
106697
ac408704629c
lisp/*: Fix typos in docstrings and messages.
Juanma Barranquero <lekktu@gmail.com>
parents:
106210
diff
changeset
|
257 "Non-nil if and only if bookmarks have been loaded from `bookmark-default-file'.") |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
258 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
259 |
4537 | 260 ;; more stuff added by db. |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
261 |
35283 | 262 (defvar bookmark-current-bookmark nil |
4633 | 263 "Name of bookmark most recently used in the current file. |
264 It is buffer local, used to make moving a bookmark forward | |
4631 | 265 through a file easier.") |
4537 | 266 |
267 (make-variable-buffer-local 'bookmark-current-bookmark) | |
268 | |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
269 |
4537 | 270 (defvar bookmark-alist-modification-count 0 |
4633 | 271 "Number of modifications to bookmark list since it was last saved.") |
4537 | 272 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
273 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
274 (defvar bookmark-search-size 16 |
4633 | 275 "Length of the context strings recorded on either side of a bookmark.") |
4537 | 276 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
277 |
105540 | 278 (defvar bookmark-current-buffer nil |
279 "The buffer in which a bookmark is currently being set or renamed. | |
280 Functions that insert strings into the minibuffer use this to know | |
281 the source buffer for that information; see `bookmark-yank-word' and | |
282 `bookmark-insert-current-bookmark' for example.") | |
4537 | 283 |
105540 | 284 |
285 (defvar bookmark-yank-point 0 | |
286 "The next point from which to pull source text for `bookmark-yank-word'. | |
106697
ac408704629c
lisp/*: Fix typos in docstrings and messages.
Juanma Barranquero <lekktu@gmail.com>
parents:
106210
diff
changeset
|
287 This point is in `bookmark-current-buffer'.") |
105540 | 288 |
289 | |
106166
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
290 (defvar bookmark-quit-flag nil |
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
291 "Non nil make `bookmark-bmenu-search' quit immediately.") |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
292 |
106710
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
293 ;; Helper functions and macros. |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
294 |
106710
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
295 (defmacro with-buffer-modified-unmodified (&rest body) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
296 "Run BODY while preserving the buffer's `buffer-modified-p' state." |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
297 (let ((was-modified (make-symbol "was-modified"))) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
298 `(let ((,was-modified (buffer-modified-p))) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
299 (unwind-protect |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
300 (progn ,@body) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
301 (set-buffer-modified-p ,was-modified))))) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
302 |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
303 ;; Only functions below, in this page and the next one (file formats), |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
304 ;; need to know anything about the format of bookmark-alist entries. |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
305 ;; Everyone else should go through them. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
306 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
307 (defun bookmark-name-from-full-record (full-record) |
106697
ac408704629c
lisp/*: Fix typos in docstrings and messages.
Juanma Barranquero <lekktu@gmail.com>
parents:
106210
diff
changeset
|
308 "Return name of FULL-RECORD (an alist element instead of a string)." |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
309 (car full-record)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
310 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
311 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
312 (defun bookmark-all-names () |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
313 "Return a list of all current bookmark names." |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
314 (bookmark-maybe-load-default-file) |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
315 (mapcar 'bookmark-name-from-full-record bookmark-alist)) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
316 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
317 |
99774
b53beb0ef91c
(bookmark-get-bookmark): Add `noerror' arg.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
99773
diff
changeset
|
318 (defun bookmark-get-bookmark (bookmark &optional noerror) |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
319 "Return the bookmark record corresponding to BOOKMARK. |
105445 | 320 If BOOKMARK is a string, look for the corresponding bookmark record in |
321 `bookmark-alist'; return it if found, otherwise error. Else if | |
322 BOOKMARK is already a bookmark record, just return it." | |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
323 (cond |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
324 ((consp bookmark) bookmark) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
325 ((stringp bookmark) |
99774
b53beb0ef91c
(bookmark-get-bookmark): Add `noerror' arg.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
99773
diff
changeset
|
326 (or (assoc-string bookmark bookmark-alist bookmark-completion-ignore-case) |
b53beb0ef91c
(bookmark-get-bookmark): Add `noerror' arg.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
99773
diff
changeset
|
327 (unless noerror (error "Invalid bookmark %s" bookmark)))))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
328 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
329 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
330 (defun bookmark-get-bookmark-record (bookmark) |
105445 | 331 "Return the record portion of the entry for BOOKMARK in |
332 `bookmark-alist' (that is, all information but the name). | |
333 BOOKMARK may be a bookmark name (a string) or a bookmark record." | |
99774
b53beb0ef91c
(bookmark-get-bookmark): Add `noerror' arg.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
99773
diff
changeset
|
334 (let ((alist (cdr (bookmark-get-bookmark bookmark)))) |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
335 ;; The bookmark objects can either look like (NAME ALIST) or |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
336 ;; (NAME . ALIST), so we have to distinguish the two here. |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
337 (if (and (null (cdr alist)) (consp (caar alist))) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
338 (car alist) alist))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
339 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
340 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
341 (defun bookmark-set-name (bookmark newname) |
105445 | 342 "Set BOOKMARK's name to NEWNAME. |
343 BOOKMARK may be a bookmark name (a string) or a bookmark record." | |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
344 (setcar |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
345 (if (stringp bookmark) (bookmark-get-bookmark bookmark) bookmark) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
346 newname)) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
347 |
92661
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
348 (defun bookmark-prop-get (bookmark prop) |
105445 | 349 "Return the property PROP of BOOKMARK, or nil if none. |
350 BOOKMARK may be a bookmark name (a string) or a bookmark record." | |
92661
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
351 (cdr (assq prop (bookmark-get-bookmark-record bookmark)))) |
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
352 |
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
353 (defun bookmark-prop-set (bookmark prop val) |
105445 | 354 "Set the property PROP of BOOKMARK to VAL. |
355 BOOKMARK may be a bookmark name (a string) or a bookmark record." | |
92661
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
356 (let ((cell (assq prop (bookmark-get-bookmark-record bookmark)))) |
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
357 (if cell |
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
358 (setcdr cell val) |
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
359 (nconc (bookmark-get-bookmark-record bookmark) |
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
360 (list (cons prop val)))))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
361 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
362 (defun bookmark-get-annotation (bookmark) |
105445 | 363 "Return the annotation of BOOKMARK, or nil if none. |
364 BOOKMARK may be a bookmark name (a string) or a bookmark record." | |
92661
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
365 (bookmark-prop-get bookmark 'annotation)) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
366 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
367 (defun bookmark-set-annotation (bookmark ann) |
105445 | 368 "Set the annotation of BOOKMARK to ANN. |
369 BOOKMARK may be a bookmark name (a string) or a bookmark record." | |
92661
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
370 (bookmark-prop-set bookmark 'annotation ann)) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
371 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
372 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
373 (defun bookmark-get-filename (bookmark) |
105445 | 374 "Return the full filename of BOOKMARK, or nil if none. |
375 BOOKMARK may be a bookmark name (a string) or a bookmark record." | |
92661
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
376 (bookmark-prop-get bookmark 'filename)) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
377 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
378 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
379 (defun bookmark-set-filename (bookmark filename) |
105445 | 380 "Set the full filename of BOOKMARK to FILENAME. |
381 BOOKMARK may be a bookmark name (a string) or a bookmark record." | |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
382 (bookmark-prop-set bookmark 'filename filename)) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
383 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
384 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
385 (defun bookmark-get-position (bookmark) |
106697
ac408704629c
lisp/*: Fix typos in docstrings and messages.
Juanma Barranquero <lekktu@gmail.com>
parents:
106210
diff
changeset
|
386 "Return the position (i.e.: point) of BOOKMARK, or nil if none. |
105445 | 387 BOOKMARK may be a bookmark name (a string) or a bookmark record." |
92661
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
388 (bookmark-prop-get bookmark 'position)) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
389 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
390 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
391 (defun bookmark-set-position (bookmark position) |
106697
ac408704629c
lisp/*: Fix typos in docstrings and messages.
Juanma Barranquero <lekktu@gmail.com>
parents:
106210
diff
changeset
|
392 "Set the position (i.e.: point) of BOOKMARK to POSITION. |
105445 | 393 BOOKMARK may be a bookmark name (a string) or a bookmark record." |
92661
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
394 (bookmark-prop-set bookmark 'position position)) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
395 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
396 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
397 (defun bookmark-get-front-context-string (bookmark) |
105445 | 398 "Return the front-context-string of BOOKMARK, or nil if none. |
399 BOOKMARK may be a bookmark name (a string) or a bookmark record." | |
92661
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
400 (bookmark-prop-get bookmark 'front-context-string)) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
401 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
402 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
403 (defun bookmark-set-front-context-string (bookmark string) |
105445 | 404 "Set the front-context-string of BOOKMARK to STRING. |
405 BOOKMARK may be a bookmark name (a string) or a bookmark record." | |
92661
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
406 (bookmark-prop-set bookmark 'front-context-string string)) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
407 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
408 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
409 (defun bookmark-get-rear-context-string (bookmark) |
105445 | 410 "Return the rear-context-string of BOOKMARK, or nil if none. |
411 BOOKMARK may be a bookmark name (a string) or a bookmark record." | |
92661
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
412 (bookmark-prop-get bookmark 'rear-context-string)) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
413 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
414 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
415 (defun bookmark-set-rear-context-string (bookmark string) |
105445 | 416 "Set the rear-context-string of BOOKMARK to STRING. |
417 BOOKMARK may be a bookmark name (a string) or a bookmark record." | |
92661
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
418 (bookmark-prop-set bookmark 'rear-context-string string)) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
419 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
420 |
87411
9ac481bc897b
2007-12-26 Tassilo Horn <tassilo@member.fsf.org>
Tassilo Horn <tassilo@member.fsf.org>
parents:
84858
diff
changeset
|
421 (defun bookmark-get-handler (bookmark) |
105445 | 422 "Return the handler function for BOOKMARK, or nil if none. |
423 BOOKMARK may be a bookmark name (a string) or a bookmark record." | |
92661
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
424 (bookmark-prop-get bookmark 'handler)) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
425 |
10994
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
426 (defvar bookmark-history nil |
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
427 "The history list for bookmark functions.") |
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
428 |
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
429 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
430 (defun bookmark-completing-read (prompt &optional default) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
431 "Prompting with PROMPT, read a bookmark name in completion. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
432 PROMPT will get a \": \" stuck on the end no matter what, so you |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
433 probably don't want to include one yourself. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
434 Optional second arg DEFAULT is a string to return if the user enters |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
435 the empty string." |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
436 (bookmark-maybe-load-default-file) ; paranoia |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
437 (if (listp last-nonmenu-event) |
105920
0a019b48e945
* bookmark.el (bookmark-completing-read): Sort bookmark names if
Chong Yidong <cyd@stupidchicken.com>
parents:
105787
diff
changeset
|
438 (bookmark-menu-popup-paned-menu t prompt |
0a019b48e945
* bookmark.el (bookmark-completing-read): Sort bookmark names if
Chong Yidong <cyd@stupidchicken.com>
parents:
105787
diff
changeset
|
439 (if bookmark-sort-flag |
0a019b48e945
* bookmark.el (bookmark-completing-read): Sort bookmark names if
Chong Yidong <cyd@stupidchicken.com>
parents:
105787
diff
changeset
|
440 (sort (bookmark-all-names) |
0a019b48e945
* bookmark.el (bookmark-completing-read): Sort bookmark names if
Chong Yidong <cyd@stupidchicken.com>
parents:
105787
diff
changeset
|
441 'string-lessp) |
0a019b48e945
* bookmark.el (bookmark-completing-read): Sort bookmark names if
Chong Yidong <cyd@stupidchicken.com>
parents:
105787
diff
changeset
|
442 (bookmark-all-names))) |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
443 (let* ((completion-ignore-case bookmark-completion-ignore-case) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
444 (default default) |
105787
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
445 (prompt (concat prompt (if default |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
446 (format " (%s): " default) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
447 ": "))) |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
448 (str |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
449 (completing-read prompt |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
450 bookmark-alist |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
451 nil |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
452 0 |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
453 nil |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
454 'bookmark-history))) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
455 (if (string-equal "" str) default str)))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
456 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
457 |
10994
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
458 (defmacro bookmark-maybe-historicize-string (string) |
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
459 "Put STRING into the bookmark prompt history, if caller non-interactive. |
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
460 We need this because sometimes bookmark functions are invoked from |
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
461 menus, so `completing-read' never gets a chance to set `bookmark-history'." |
35283 | 462 `(or |
105372
bd2966850aac
Use `called-interactively-p' instead of `interactive-p'.
Juanma Barranquero <lekktu@gmail.com>
parents:
105124
diff
changeset
|
463 (called-interactively-p 'interactive) |
35283 | 464 (setq bookmark-history (cons ,string bookmark-history)))) |
10994
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
465 |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
466 (defvar bookmark-make-record-function 'bookmark-make-record-default |
92556
5944be8c8211
Change a return type, for greater extensibility. See
Karl Fogel <kfogel@red-bean.com>
parents:
92550
diff
changeset
|
467 "A function that should be called to create a bookmark record. |
5944be8c8211
Change a return type, for greater extensibility. See
Karl Fogel <kfogel@red-bean.com>
parents:
92550
diff
changeset
|
468 Modes may set this variable buffer-locally to enable bookmarking of |
5944be8c8211
Change a return type, for greater extensibility. See
Karl Fogel <kfogel@red-bean.com>
parents:
92550
diff
changeset
|
469 locations that should be treated specially, such as Info nodes, |
5944be8c8211
Change a return type, for greater extensibility. See
Karl Fogel <kfogel@red-bean.com>
parents:
92550
diff
changeset
|
470 news posts, images, pdf documents, etc. |
87411
9ac481bc897b
2007-12-26 Tassilo Horn <tassilo@member.fsf.org>
Tassilo Horn <tassilo@member.fsf.org>
parents:
84858
diff
changeset
|
471 |
92674
ac3c6c3e119c
* bookmark.el (bookmark-make): Don't pass the `annotation' to the
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92661
diff
changeset
|
472 The function will be called with no arguments. |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
473 It should signal a user error if it is unable to construct a record for |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
474 the current location. |
92690
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
475 |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
476 The returned record should be a cons cell of the form (NAME . ALIST) |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
477 where ALIST is as described in `bookmark-alist' and may typically contain |
105444
51af2a71a0d6
(bookmark-alist): Document the new `handler' element in the param alist.
Karl Fogel <kfogel@red-bean.com>
parents:
105372
diff
changeset
|
478 a special cons (handler . HANDLER-FUNC) which specifies the handler function |
51af2a71a0d6
(bookmark-alist): Document the new `handler' element in the param alist.
Karl Fogel <kfogel@red-bean.com>
parents:
105372
diff
changeset
|
479 that should be used instead of `bookmark-default-handler' to open this |
51af2a71a0d6
(bookmark-alist): Document the new `handler' element in the param alist.
Karl Fogel <kfogel@red-bean.com>
parents:
105372
diff
changeset
|
480 bookmark. See the documentation for `bookmark-alist' for more. |
92690
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
481 |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
482 NAME is a suggested name for the constructed bookmark. It can be nil |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
483 in which case a default heuristic will be used. The function can also |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
484 equivalently just return ALIST without NAME.") |
10994
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
485 |
92690
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
486 (defun bookmark-make-record () |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
487 "Return a new bookmark record (NAME . ALIST) for the current location." |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
488 (let ((record (funcall bookmark-make-record-function))) |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
489 ;; Set up default name. |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
490 (if (stringp (car record)) |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
491 ;; The function already provided a default name. |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
492 record |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
493 (if (car record) (push nil record)) |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
494 (setcar record (or bookmark-current-bookmark (bookmark-buffer-name))) |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
495 record))) |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
496 |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
497 (defun bookmark-store (name alist no-overwrite) |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
498 "Store the bookmark NAME with data ALIST. |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
499 If NO-OVERWRITE is non-nil and another bookmark of the same name already |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
500 exists in `bookmark-alist', record the new bookmark without throwing away the |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
501 old one." |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
502 (bookmark-maybe-load-default-file) |
12569
1297698116a8
(bookmark-make): Strip text properties off name.
Karl Heuer <kwzh@gnu.org>
parents:
12310
diff
changeset
|
503 (let ((stripped-name (copy-sequence name))) |
84777
68033fec6867
(bookmark-xemacsp): Remove.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
82140
diff
changeset
|
504 (or (featurep 'xemacs) |
13895
0c12b3398d37
Removed all `bookmark-xemacsp' conditional code relating to menus. Do
Karl Fogel <kfogel@red-bean.com>
parents:
12880
diff
changeset
|
505 ;; XEmacs's `set-text-properties' doesn't work on |
0c12b3398d37
Removed all `bookmark-xemacsp' conditional code relating to menus. Do
Karl Fogel <kfogel@red-bean.com>
parents:
12880
diff
changeset
|
506 ;; free-standing strings, apparently. |
0c12b3398d37
Removed all `bookmark-xemacsp' conditional code relating to menus. Do
Karl Fogel <kfogel@red-bean.com>
parents:
12880
diff
changeset
|
507 (set-text-properties 0 (length stripped-name) nil stripped-name)) |
99774
b53beb0ef91c
(bookmark-get-bookmark): Add `noerror' arg.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
99773
diff
changeset
|
508 (if (and (not no-overwrite) |
b53beb0ef91c
(bookmark-get-bookmark): Add `noerror' arg.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
99773
diff
changeset
|
509 (bookmark-get-bookmark stripped-name 'noerror)) |
13969
8fd836e88aec
(bookmark-save-flag, bookmark-read-annotation-text-func,
Karl Heuer <kwzh@gnu.org>
parents:
13895
diff
changeset
|
510 ;; already existing bookmark under that name and |
12569
1297698116a8
(bookmark-make): Strip text properties off name.
Karl Heuer <kwzh@gnu.org>
parents:
12310
diff
changeset
|
511 ;; no prefix arg means just overwrite old bookmark |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
512 ;; Use the new (NAME . ALIST) format. |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
513 (setcdr (bookmark-get-bookmark stripped-name) alist) |
35283 | 514 |
12569
1297698116a8
(bookmark-make): Strip text properties off name.
Karl Heuer <kwzh@gnu.org>
parents:
12310
diff
changeset
|
515 ;; otherwise just cons it onto the front (either the bookmark |
1297698116a8
(bookmark-make): Strip text properties off name.
Karl Heuer <kwzh@gnu.org>
parents:
12310
diff
changeset
|
516 ;; doesn't exist already, or there is no prefix arg. In either |
1297698116a8
(bookmark-make): Strip text properties off name.
Karl Heuer <kwzh@gnu.org>
parents:
12310
diff
changeset
|
517 ;; case, we want the new bookmark consed onto the alist...) |
35283 | 518 |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
519 (push (cons stripped-name alist) bookmark-alist)) |
35283 | 520 |
12569
1297698116a8
(bookmark-make): Strip text properties off name.
Karl Heuer <kwzh@gnu.org>
parents:
12310
diff
changeset
|
521 ;; Added by db |
1297698116a8
(bookmark-make): Strip text properties off name.
Karl Heuer <kwzh@gnu.org>
parents:
12310
diff
changeset
|
522 (setq bookmark-current-bookmark stripped-name) |
1297698116a8
(bookmark-make): Strip text properties off name.
Karl Heuer <kwzh@gnu.org>
parents:
12310
diff
changeset
|
523 (setq bookmark-alist-modification-count |
1297698116a8
(bookmark-make): Strip text properties off name.
Karl Heuer <kwzh@gnu.org>
parents:
12310
diff
changeset
|
524 (1+ bookmark-alist-modification-count)) |
1297698116a8
(bookmark-make): Strip text properties off name.
Karl Heuer <kwzh@gnu.org>
parents:
12310
diff
changeset
|
525 (if (bookmark-time-to-save-p) |
92690
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
526 (bookmark-save)) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
527 |
92690
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
528 (setq bookmark-current-bookmark stripped-name) |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
529 (bookmark-bmenu-surreptitiously-rebuild-list))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
530 |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
531 (defun bookmark-make-record-default (&optional point-only) |
92674
ac3c6c3e119c
* bookmark.el (bookmark-make): Don't pass the `annotation' to the
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92661
diff
changeset
|
532 "Return the record describing the location of a new bookmark. |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
533 Must be at the correct position in the buffer in which the bookmark is |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
534 being set. |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
535 If POINT-ONLY is non-nil, then only return the subset of the |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
536 record that pertains to the location within the buffer." |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
537 `(,@(unless point-only `((filename . ,(bookmark-buffer-file-name)))) |
92674
ac3c6c3e119c
* bookmark.el (bookmark-make): Don't pass the `annotation' to the
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92661
diff
changeset
|
538 (front-context-string |
ac3c6c3e119c
* bookmark.el (bookmark-make): Don't pass the `annotation' to the
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92661
diff
changeset
|
539 . ,(if (>= (- (point-max) (point)) bookmark-search-size) |
ac3c6c3e119c
* bookmark.el (bookmark-make): Don't pass the `annotation' to the
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92661
diff
changeset
|
540 (buffer-substring-no-properties |
ac3c6c3e119c
* bookmark.el (bookmark-make): Don't pass the `annotation' to the
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92661
diff
changeset
|
541 (point) |
ac3c6c3e119c
* bookmark.el (bookmark-make): Don't pass the `annotation' to the
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92661
diff
changeset
|
542 (+ (point) bookmark-search-size)) |
ac3c6c3e119c
* bookmark.el (bookmark-make): Don't pass the `annotation' to the
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92661
diff
changeset
|
543 nil)) |
ac3c6c3e119c
* bookmark.el (bookmark-make): Don't pass the `annotation' to the
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92661
diff
changeset
|
544 (rear-context-string |
ac3c6c3e119c
* bookmark.el (bookmark-make): Don't pass the `annotation' to the
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92661
diff
changeset
|
545 . ,(if (>= (- (point) (point-min)) bookmark-search-size) |
ac3c6c3e119c
* bookmark.el (bookmark-make): Don't pass the `annotation' to the
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92661
diff
changeset
|
546 (buffer-substring-no-properties |
ac3c6c3e119c
* bookmark.el (bookmark-make): Don't pass the `annotation' to the
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92661
diff
changeset
|
547 (point) |
ac3c6c3e119c
* bookmark.el (bookmark-make): Don't pass the `annotation' to the
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92661
diff
changeset
|
548 (- (point) bookmark-search-size)) |
ac3c6c3e119c
* bookmark.el (bookmark-make): Don't pass the `annotation' to the
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92661
diff
changeset
|
549 nil)) |
ac3c6c3e119c
* bookmark.el (bookmark-make): Don't pass the `annotation' to the
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92661
diff
changeset
|
550 (position . ,(point)))) |
35283 | 551 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
552 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
553 ;;; File format stuff |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
554 |
105759
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
555 ;; *IMPORTANT NOTICE* If you are thinking about modifying (redefining) |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
556 ;; the bookmark file format -- please don't. The current format |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
557 ;; should be extensible enough. If you feel the need to change it, |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
558 ;; please discuss it with other Emacs developers first. |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
559 ;; |
105759
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
560 ;; The format of `bookmark-alist' has changed twice in its lifetime. |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
561 ;; This comment describes the three formats, FIRST, SECOND, and |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
562 ;; CURRENT. |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
563 ;; |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
564 ;; The FIRST format was used prior to Emacs 20: |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
565 ;; |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
566 ;; ((BOOKMARK-NAME (FILENAME |
93705
442e2ad714cd
Minor docstring a comment improvements.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92789
diff
changeset
|
567 ;; STRING-IN-FRONT |
442e2ad714cd
Minor docstring a comment improvements.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92789
diff
changeset
|
568 ;; STRING-BEHIND |
442e2ad714cd
Minor docstring a comment improvements.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92789
diff
changeset
|
569 ;; POINT)) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
570 ;; ...) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
571 ;; |
105759
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
572 ;; The SECOND format was introduced in Emacs 20: |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
573 ;; |
105759
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
574 ;; ((BOOKMARK-NAME ((filename . FILENAME) |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
575 ;; (position . POS) |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
576 ;; (front-context-string . STR-AFTER-POS) |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
577 ;; (rear-context-string . STR-BEFORE-POS) |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
578 ;; (annotation . ANNOTATION) |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
579 ;; (whatever . VALUE) |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
580 ;; ... |
93705
442e2ad714cd
Minor docstring a comment improvements.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92789
diff
changeset
|
581 ;; )) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
582 ;; ...) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
583 ;; |
105759
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
584 ;; The CURRENT format was introduced in Emacs 22: |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
585 ;; |
105759
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
586 ;; ((BOOKMARK-NAME (filename . FILENAME) |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
587 ;; (position . POS) |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
588 ;; (front-context-string . STR-AFTER-POS) |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
589 ;; (rear-context-string . STR-BEFORE-POS) |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
590 ;; (annotation . ANNOTATION) |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
591 ;; (whatever . VALUE) |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
592 ;; ... |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
593 ;; ) |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
594 ;; ...) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
595 ;; |
105759
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
596 ;; Both FIRST and SECOND have the same level of nesting: the cadr of a |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
597 ;; bookmark record is a list of entry information. FIRST and SECOND |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
598 ;; differ in the form of the record information: FIRST uses a list of |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
599 ;; atoms, and SECOND uses an alist. In the FIRST format, the order of |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
600 ;; the list elements matters. In the SECOND format, the order of the |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
601 ;; alist elements is unimportant. The SECOND format facilitates the |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
602 ;; addition of new kinds of elements, to support new kinds of |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
603 ;; bookmarks or code evolution. |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
604 ;; |
105759
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
605 ;; The CURRENT format removes a level of nesting wrt FIRST and SECOND, |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
606 ;; saving one cons cell per bookmark: the cadr of a bookmark record is |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
607 ;; no longer a cons. Why that change was made remains a mystery -- |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
608 ;; just be aware of it. (Be aware too that this explanatory comment |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
609 ;; was incorrect in Emacs 22 and Emacs 23.1.) |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
610 ;; |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
611 ;; To deal with the change from FIRST format to SECOND, conversion |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
612 ;; code was added, and it is still in use. See |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
613 ;; `bookmark-maybe-upgrade-file-format'. |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
614 ;; |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
615 ;; No conversion from SECOND to CURRENT is done. Instead, the code |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
616 ;; handles both formats OK. It must continue to do so. |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
617 ;; |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
618 ;; See the doc string of `bookmark-alist' for information about the |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
619 ;; elements that define a bookmark (e.g. `filename'). |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
620 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
621 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
622 (defconst bookmark-file-format-version 1 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
623 "The current version of the format used by bookmark files. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
624 You should never need to change this.") |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
625 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
626 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
627 (defconst bookmark-end-of-version-stamp-marker |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
628 "-*- End Of Bookmark File Format Version Stamp -*-\n" |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
629 "This string marks the end of the version stamp in a bookmark file.") |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
630 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
631 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
632 (defun bookmark-alist-from-buffer () |
64634
4045a1b1a5c9
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
633 "Return a `bookmark-alist' (in any format) from the current buffer. |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
634 The buffer must of course contain bookmark format information. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
635 Does not care from where in the buffer it is called, and does not |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
636 affect point." |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
637 (save-excursion |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
638 (goto-char (point-min)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
639 (if (search-forward bookmark-end-of-version-stamp-marker nil t) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
640 (read (current-buffer)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
641 ;; Else we're dealing with format version 0 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
642 (if (search-forward "(" nil t) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
643 (progn |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
644 (forward-char -1) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
645 (read (current-buffer))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
646 ;; Else no hope of getting information here. |
14354
f1035d934a7a
(bookmark-alist-from-buffer): Fix error text.
Karl Heuer <kwzh@gnu.org>
parents:
14339
diff
changeset
|
647 (error "Not bookmark format"))))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
648 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
649 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
650 (defun bookmark-upgrade-version-0-alist (old-list) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
651 "Upgrade a version 0 alist OLD-LIST to the current version." |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
652 (mapcar |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
653 (lambda (bookmark) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
654 (let* ((name (car bookmark)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
655 (record (car (cdr bookmark))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
656 (filename (nth 0 record)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
657 (front-str (nth 1 record)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
658 (rear-str (nth 2 record)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
659 (position (nth 3 record)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
660 (ann (nth 4 record))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
661 (list |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
662 name |
41608
45db352a0971
Converted backquote to the new style.
Sam Steingold <sds@gnu.org>
parents:
39122
diff
changeset
|
663 `((filename . ,filename) |
45db352a0971
Converted backquote to the new style.
Sam Steingold <sds@gnu.org>
parents:
39122
diff
changeset
|
664 (front-context-string . ,(or front-str "")) |
45db352a0971
Converted backquote to the new style.
Sam Steingold <sds@gnu.org>
parents:
39122
diff
changeset
|
665 (rear-context-string . ,(or rear-str "")) |
45db352a0971
Converted backquote to the new style.
Sam Steingold <sds@gnu.org>
parents:
39122
diff
changeset
|
666 (position . ,position) |
45db352a0971
Converted backquote to the new style.
Sam Steingold <sds@gnu.org>
parents:
39122
diff
changeset
|
667 (annotation . ,ann))))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
668 old-list)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
669 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
670 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
671 (defun bookmark-upgrade-file-format-from-0 () |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
672 "Upgrade a bookmark file of format 0 (the original format) to format 1. |
64634
4045a1b1a5c9
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
673 This expects to be called from `point-min' in a bookmark file." |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
674 (message "Upgrading bookmark format from 0 to %d..." |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
675 bookmark-file-format-version) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
676 (let* ((old-list (bookmark-alist-from-buffer)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
677 (new-list (bookmark-upgrade-version-0-alist old-list))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
678 (delete-region (point-min) (point-max)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
679 (bookmark-insert-file-format-version-stamp) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
680 (pp new-list (current-buffer)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
681 (save-buffer)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
682 (goto-char (point-min)) |
14039
831c5fda97f4
"cyclic.com" addresses changed to "red-bean.com".
Karl Fogel <kfogel@red-bean.com>
parents:
13969
diff
changeset
|
683 (message "Upgrading bookmark format from 0 to %d...done" |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
684 bookmark-file-format-version) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
685 ) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
686 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
687 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
688 (defun bookmark-grok-file-format-version () |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
689 "Return an integer which is the file-format version of this bookmark file. |
64634
4045a1b1a5c9
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
690 This expects to be called from `point-min' in a bookmark file." |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
691 (if (looking-at "^;;;;") |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
692 (save-excursion |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
693 (save-match-data |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
694 (re-search-forward "[0-9]") |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
695 (forward-char -1) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
696 (read (current-buffer)))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
697 ;; Else this is format version 0, the original one, which didn't |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
698 ;; even have version stamps. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
699 0)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
700 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
701 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
702 (defun bookmark-maybe-upgrade-file-format () |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
703 "Check the file-format version of this bookmark file. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
704 If the version is not up-to-date, upgrade it automatically. |
64634
4045a1b1a5c9
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
705 This expects to be called from `point-min' in a bookmark file." |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
706 (let ((version (bookmark-grok-file-format-version))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
707 (cond |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
708 ((= version bookmark-file-format-version) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
709 ) ; home free -- version is current |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
710 ((= version 0) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
711 (bookmark-upgrade-file-format-from-0)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
712 (t |
14354
f1035d934a7a
(bookmark-alist-from-buffer): Fix error text.
Karl Heuer <kwzh@gnu.org>
parents:
14339
diff
changeset
|
713 (error "Bookmark file format version strangeness"))))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
714 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
715 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
716 (defun bookmark-insert-file-format-version-stamp () |
15193
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
717 "Insert text indicating current version of bookmark file format." |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
718 (insert |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
719 (format ";;;; Emacs Bookmark Format Version %d ;;;;\n" |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
720 bookmark-file-format-version)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
721 (insert ";;; This format is meant to be slightly human-readable;\n" |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
722 ";;; nevertheless, you probably don't want to edit it.\n" |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
723 ";;; " |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
724 bookmark-end-of-version-stamp-marker)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
725 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
726 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
727 ;;; end file-format stuff |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
728 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
729 |
66835
96e7147004a8
* bookmark.el (bookmark-maybe-message): New function to reduce code
Karl Fogel <kfogel@red-bean.com>
parents:
66834
diff
changeset
|
730 ;;; Generic helpers. |
96e7147004a8
* bookmark.el (bookmark-maybe-message): New function to reduce code
Karl Fogel <kfogel@red-bean.com>
parents:
66834
diff
changeset
|
731 |
96e7147004a8
* bookmark.el (bookmark-maybe-message): New function to reduce code
Karl Fogel <kfogel@red-bean.com>
parents:
66834
diff
changeset
|
732 (defun bookmark-maybe-message (fmt &rest args) |
96e7147004a8
* bookmark.el (bookmark-maybe-message): New function to reduce code
Karl Fogel <kfogel@red-bean.com>
parents:
66834
diff
changeset
|
733 "Apply `message' to FMT and ARGS, but only if the display is fast enough." |
96e7147004a8
* bookmark.el (bookmark-maybe-message): New function to reduce code
Karl Fogel <kfogel@red-bean.com>
parents:
66834
diff
changeset
|
734 (if (>= baud-rate 9600) |
96e7147004a8
* bookmark.el (bookmark-maybe-message): New function to reduce code
Karl Fogel <kfogel@red-bean.com>
parents:
66834
diff
changeset
|
735 (apply 'message fmt args))) |
96e7147004a8
* bookmark.el (bookmark-maybe-message): New function to reduce code
Karl Fogel <kfogel@red-bean.com>
parents:
66834
diff
changeset
|
736 |
96e7147004a8
* bookmark.el (bookmark-maybe-message): New function to reduce code
Karl Fogel <kfogel@red-bean.com>
parents:
66834
diff
changeset
|
737 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
738 ;;; Core code: |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
739 |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
740 (defvar bookmark-minibuffer-read-name-map |
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
741 (let ((map (make-sparse-keymap))) |
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
742 (set-keymap-parent map minibuffer-local-map) |
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
743 (define-key map "\C-w" 'bookmark-yank-word) |
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
744 ;; This C-u binding might not be very useful any more now that we |
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
745 ;; provide access to the default via the standard M-n binding. |
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
746 ;; Maybe we should just remove it? --Stef-08 |
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
747 (define-key map "\C-u" 'bookmark-insert-current-bookmark) |
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
748 map)) |
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
749 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
750 ;;;###autoload |
105445 | 751 (defun bookmark-set (&optional name no-overwrite) |
105446
0532c364480a
* bookmark.el (bookmark-set, bookmark-buffer-name): Improve doc strings.
Karl Fogel <kfogel@red-bean.com>
parents:
105445
diff
changeset
|
752 "Set a bookmark named NAME at the current location. |
105445 | 753 If name is nil, then prompt the user. |
754 | |
105759
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
755 With a prefix arg (non-nil NO-OVERWRITE), do not overwrite any |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
756 existing bookmark that has the same name as NAME, but instead push the |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
757 new bookmark onto the bookmark alist. The most recently set bookmark |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
758 with name NAME is thus the one in effect at any given time, but the |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
759 others are still there, should the user decide to delete the most |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
760 recent one. |
4537 | 761 |
762 To yank words from the text of the buffer and use them as part of the | |
4633 | 763 bookmark name, type C-w while setting a bookmark. Successive C-w's |
4537 | 764 yank successive words. |
765 | |
105759
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
766 Typing C-u inserts (at the bookmark name prompt) the name of the last |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
767 bookmark used in the document where the new bookmark is being set; |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
768 this helps you use a single bookmark name to track progress through a |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
769 large document. If there is no prior bookmark for this document, then |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
770 C-u inserts an appropriate name based on the buffer or file. |
4537 | 771 |
106697
ac408704629c
lisp/*: Fix typos in docstrings and messages.
Juanma Barranquero <lekktu@gmail.com>
parents:
106210
diff
changeset
|
772 Use \\[bookmark-delete] to remove bookmarks (you give it a name and |
105759
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
773 it removes only the first instance of a bookmark with that name from |
106697
ac408704629c
lisp/*: Fix typos in docstrings and messages.
Juanma Barranquero <lekktu@gmail.com>
parents:
106210
diff
changeset
|
774 the list of bookmarks.)" |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
775 (interactive (list nil current-prefix-arg)) |
92690
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
776 (let* ((record (bookmark-make-record)) |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
777 (default (car record))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
778 |
92690
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
779 (bookmark-maybe-load-default-file) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
780 |
92690
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
781 (setq bookmark-yank-point (point)) |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
782 (setq bookmark-current-buffer (current-buffer)) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
783 |
92690
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
784 (let ((str |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
785 (or name |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
786 (read-from-minibuffer |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
787 (format "Set bookmark (%s): " default) |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
788 nil |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
789 bookmark-minibuffer-read-name-map |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
790 nil nil default)))) |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
791 (and (string-equal str "") (setq str default)) |
105445 | 792 (bookmark-store str (cdr record) no-overwrite) |
99766
f1062fe6487f
* bookmark.el (bookmark-jump-noselect): Add obsolescence declaration
Juanma Barranquero <lekktu@gmail.com>
parents:
99725
diff
changeset
|
793 |
92690
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
794 ;; Ask for an annotation buffer for this bookmark |
105540 | 795 (when bookmark-use-annotations |
796 (bookmark-edit-annotation str))))) | |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
797 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
798 (defun bookmark-kill-line (&optional newline-too) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
799 "Kill from point to end of line. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
800 If optional arg NEWLINE-TOO is non-nil, delete the newline too. |
64634
4045a1b1a5c9
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
801 Does not affect the kill ring." |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
802 (let ((eol (save-excursion (end-of-line) (point)))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
803 (delete-region (point) eol) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
804 (if (and newline-too (looking-at "\n")) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
805 (delete-char 1)))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
806 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
807 |
10994
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
808 ;; Defvars to avoid compilation warnings: |
92689
570c098b116d
(bookmark-set): Make the bookmark before reading annotations.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92688
diff
changeset
|
809 (defvar bookmark-annotation-name nil |
570c098b116d
(bookmark-set): Make the bookmark before reading annotations.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92688
diff
changeset
|
810 "Variable holding the name of the bookmark. |
570c098b116d
(bookmark-set): Make the bookmark before reading annotations.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92688
diff
changeset
|
811 This is used in `bookmark-edit-annotation' to record the bookmark |
570c098b116d
(bookmark-set): Make the bookmark before reading annotations.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92688
diff
changeset
|
812 whose annotation is being edited.") |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
813 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
814 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
815 (defun bookmark-default-annotation-text (bookmark) |
105445 | 816 "Return default annotation text for BOOKMARK (a string, not a record). |
817 The default annotation text is simply some text explaining how to use | |
818 annotations." | |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
819 (concat "# Type the annotation for bookmark '" bookmark "' here.\n" |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
820 "# All lines which start with a '#' will be deleted.\n" |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
821 "# Type C-c C-c when done.\n#\n" |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
822 "# Author: " (user-full-name) " <" (user-login-name) "@" |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
823 (system-name) ">\n" |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
824 "# Date: " (current-time-string) "\n")) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
825 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
826 |
92689
570c098b116d
(bookmark-set): Make the bookmark before reading annotations.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92688
diff
changeset
|
827 (defvar bookmark-edit-annotation-text-func 'bookmark-default-annotation-text |
15193
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
828 "Function to return default text to use for a bookmark annotation. |
64634
4045a1b1a5c9
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
829 It takes one argument, the name of the bookmark, as a string.") |
92689
570c098b116d
(bookmark-set): Make the bookmark before reading annotations.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92688
diff
changeset
|
830 (define-obsolete-variable-alias 'bookmark-read-annotation-text-func |
570c098b116d
(bookmark-set): Make the bookmark before reading annotations.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92688
diff
changeset
|
831 'bookmark-edit-annotation-text-func "23.1") |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
832 |
92689
570c098b116d
(bookmark-set): Make the bookmark before reading annotations.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92688
diff
changeset
|
833 (defvar bookmark-edit-annotation-mode-map |
570c098b116d
(bookmark-set): Make the bookmark before reading annotations.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92688
diff
changeset
|
834 (let ((map (make-sparse-keymap))) |
570c098b116d
(bookmark-set): Make the bookmark before reading annotations.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92688
diff
changeset
|
835 (set-keymap-parent map text-mode-map) |
570c098b116d
(bookmark-set): Make the bookmark before reading annotations.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92688
diff
changeset
|
836 (define-key map "\C-c\C-c" 'bookmark-send-edited-annotation) |
570c098b116d
(bookmark-set): Make the bookmark before reading annotations.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92688
diff
changeset
|
837 map) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
838 "Keymap for editing an annotation of a bookmark.") |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
839 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
840 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
841 (defun bookmark-edit-annotation-mode (bookmark) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
842 "Mode for editing the annotation of bookmark BOOKMARK. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
843 When you have finished composing, type \\[bookmark-send-annotation]. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
844 |
105445 | 845 BOOKMARK is a bookmark name (a string) or a bookmark record. |
846 | |
87411
9ac481bc897b
2007-12-26 Tassilo Horn <tassilo@member.fsf.org>
Tassilo Horn <tassilo@member.fsf.org>
parents:
84858
diff
changeset
|
847 \\{bookmark-edit-annotation-mode-map}" |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
848 (interactive) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
849 (kill-all-local-variables) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
850 (make-local-variable 'bookmark-annotation-name) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
851 (setq bookmark-annotation-name bookmark) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
852 (use-local-map bookmark-edit-annotation-mode-map) |
54906
dfa3317697a0
(bookmark-send-edited-annotation): Fix docstring.
Juanma Barranquero <lekktu@gmail.com>
parents:
53398
diff
changeset
|
853 (setq major-mode 'bookmark-edit-annotation-mode |
dfa3317697a0
(bookmark-send-edited-annotation): Fix docstring.
Juanma Barranquero <lekktu@gmail.com>
parents:
53398
diff
changeset
|
854 mode-name "Edit Bookmark Annotation") |
92689
570c098b116d
(bookmark-set): Make the bookmark before reading annotations.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92688
diff
changeset
|
855 (insert (funcall bookmark-edit-annotation-text-func bookmark)) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
856 (let ((annotation (bookmark-get-annotation bookmark))) |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
857 (if (and annotation (not (string-equal annotation ""))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
858 (insert annotation))) |
62718
d00be6e651cd
(bookmark-read-annotation-mode, bookmark-edit-annotation-mode)
Lute Kamstra <lute@gnu.org>
parents:
61454
diff
changeset
|
859 (run-mode-hooks 'text-mode-hook)) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
860 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
861 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
862 (defun bookmark-send-edited-annotation () |
54906
dfa3317697a0
(bookmark-send-edited-annotation): Fix docstring.
Juanma Barranquero <lekktu@gmail.com>
parents:
53398
diff
changeset
|
863 "Use buffer contents as annotation for a bookmark. |
dfa3317697a0
(bookmark-send-edited-annotation): Fix docstring.
Juanma Barranquero <lekktu@gmail.com>
parents:
53398
diff
changeset
|
864 Lines beginning with `#' are ignored." |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
865 (interactive) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
866 (if (not (eq major-mode 'bookmark-edit-annotation-mode)) |
14354
f1035d934a7a
(bookmark-alist-from-buffer): Fix error text.
Karl Heuer <kwzh@gnu.org>
parents:
14339
diff
changeset
|
867 (error "Not in bookmark-edit-annotation-mode")) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
868 (goto-char (point-min)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
869 (while (< (point) (point-max)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
870 (if (looking-at "^#") |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
871 (bookmark-kill-line t) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
872 (forward-line 1))) |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
873 ;; Take no chances with text properties. |
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
874 (let ((annotation (buffer-substring-no-properties (point-min) (point-max))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
875 (bookmark bookmark-annotation-name)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
876 (bookmark-set-annotation bookmark annotation) |
106710
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
877 (setq bookmark-alist-modification-count |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
878 (1+ bookmark-alist-modification-count)) |
105540 | 879 (bookmark-bmenu-surreptitiously-rebuild-list)) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
880 (kill-buffer (current-buffer))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
881 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
882 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
883 (defun bookmark-edit-annotation (bookmark) |
105445 | 884 "Pop up a buffer for editing bookmark BOOKMARK's annotation. |
885 BOOKMARK is a bookmark name (a string) or a bookmark record." | |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
886 (pop-to-buffer (generate-new-buffer-name "*Bookmark Annotation Compose*")) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
887 (bookmark-edit-annotation-mode bookmark)) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
888 |
4537 | 889 |
890 (defun bookmark-insert-current-bookmark () | |
105541 | 891 "Insert into the bookmark name currently being set the value of |
892 `bookmark-current-bookmark' in `bookmark-current-buffer', defaulting | |
893 to the buffer's file name if `bookmark-current-bookmark' is nil." | |
4537 | 894 (interactive) |
895 (let ((str | |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
896 (with-current-buffer bookmark-current-buffer |
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
897 (or bookmark-current-bookmark |
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
898 (bookmark-buffer-name))))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
899 (insert str))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
900 |
4537 | 901 |
10960
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
902 (defun bookmark-buffer-name () |
105759
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
903 "Return the name of the current buffer in a form usable as a bookmark name. |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
904 If the buffer is associated with a file or directory, use that name." |
10960
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
905 (cond |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
906 ;; Or are we a file? |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
907 (buffer-file-name (file-name-nondirectory buffer-file-name)) |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
908 ;; Or are we a directory? |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
909 ((and (boundp 'dired-directory) dired-directory) |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
910 (let* ((dirname (if (stringp dired-directory) |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
911 dired-directory |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
912 (car dired-directory))) |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
913 (idx (1- (length dirname)))) |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
914 ;; Strip the trailing slash. |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
915 (if (= ?/ (aref dirname idx)) |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
916 (file-name-nondirectory (substring dirname 0 idx)) |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
917 ;; Else return the current-buffer |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
918 (buffer-name (current-buffer))))) |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
919 ;; If all else fails, use the buffer's name. |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
920 (t |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
921 (buffer-name (current-buffer))))) |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
922 |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
923 |
4537 | 924 (defun bookmark-yank-word () |
105541 | 925 "Get the next word from buffer `bookmark-current-buffer' and append |
926 it to the name of the bookmark currently being set, advancing | |
106697
ac408704629c
lisp/*: Fix typos in docstrings and messages.
Juanma Barranquero <lekktu@gmail.com>
parents:
106210
diff
changeset
|
927 `bookmark-yank-point' by one word." |
4537 | 928 (interactive) |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
929 (let ((string (with-current-buffer bookmark-current-buffer |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
930 (goto-char bookmark-yank-point) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
931 (buffer-substring-no-properties |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
932 (point) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
933 (progn |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
934 (forward-word 1) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
935 (setq bookmark-yank-point (point))))))) |
4537 | 936 (insert string))) |
937 | |
938 (defun bookmark-buffer-file-name () | |
92789
61c661dac856
(Info-current-node): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92690
diff
changeset
|
939 "Return the current buffer's file in a way useful for bookmarks." |
99773
0bb446839781
(bookmark-buffer-file-name): Also abbreviate dired-dir.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
99766
diff
changeset
|
940 ;; Abbreviate the path, both so it's shorter and so it's more |
0bb446839781
(bookmark-buffer-file-name): Also abbreviate dired-dir.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
99766
diff
changeset
|
941 ;; portable. E.g., the user's home dir might be a different |
0bb446839781
(bookmark-buffer-file-name): Also abbreviate dired-dir.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
99766
diff
changeset
|
942 ;; path on different machines, but "~/" will still reach it. |
100171 | 943 (abbreviate-file-name |
99773
0bb446839781
(bookmark-buffer-file-name): Also abbreviate dired-dir.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
99766
diff
changeset
|
944 (cond |
0bb446839781
(bookmark-buffer-file-name): Also abbreviate dired-dir.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
99766
diff
changeset
|
945 (buffer-file-name buffer-file-name) |
0bb446839781
(bookmark-buffer-file-name): Also abbreviate dired-dir.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
99766
diff
changeset
|
946 ((and (boundp 'dired-directory) dired-directory) |
0bb446839781
(bookmark-buffer-file-name): Also abbreviate dired-dir.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
99766
diff
changeset
|
947 (if (stringp dired-directory) |
0bb446839781
(bookmark-buffer-file-name): Also abbreviate dired-dir.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
99766
diff
changeset
|
948 dired-directory |
0bb446839781
(bookmark-buffer-file-name): Also abbreviate dired-dir.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
99766
diff
changeset
|
949 (car dired-directory))) |
0bb446839781
(bookmark-buffer-file-name): Also abbreviate dired-dir.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
99766
diff
changeset
|
950 (t (error "Buffer not visiting a file or directory"))))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
951 |
4537 | 952 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
953 (defun bookmark-maybe-load-default-file () |
105445 | 954 "If bookmarks have not been loaded from the default place, load them." |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
955 (and (not bookmarks-already-loaded) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
956 (null bookmark-alist) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
957 (prog2 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
958 (and |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
959 ;; Possibly the old bookmark file, "~/.emacs-bkmrks", needs |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
960 ;; to be renamed. |
107192
3c9f81253d07
Use abbreviated file names in bookmarks (bug#5591).
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
107125
diff
changeset
|
961 (file-exists-p bookmark-old-default-file) |
3c9f81253d07
Use abbreviated file names in bookmarks (bug#5591).
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
107125
diff
changeset
|
962 (not (file-exists-p bookmark-default-file)) |
3c9f81253d07
Use abbreviated file names in bookmarks (bug#5591).
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
107125
diff
changeset
|
963 (rename-file bookmark-old-default-file |
3c9f81253d07
Use abbreviated file names in bookmarks (bug#5591).
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
107125
diff
changeset
|
964 bookmark-default-file)) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
965 ;; return t so the `and' will continue... |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
966 t) |
35283 | 967 |
107192
3c9f81253d07
Use abbreviated file names in bookmarks (bug#5591).
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
107125
diff
changeset
|
968 (file-readable-p bookmark-default-file) |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
969 (bookmark-load bookmark-default-file t t) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
970 (setq bookmarks-already-loaded t))) |
4631 | 971 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
972 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
973 (defun bookmark-maybe-sort-alist () |
105445 | 974 "Return `bookmark-alist' for display. |
975 If `bookmark-sort-flag' is non-nil, then return a sorted copy of the alist." | |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
976 (if bookmark-sort-flag |
78160
ba35decf8cc1
(bookmark-maybe-sort-alist): Don't modify bookmark-alist.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
78159
diff
changeset
|
977 (sort (copy-alist bookmark-alist) |
ba35decf8cc1
(bookmark-maybe-sort-alist): Don't modify bookmark-alist.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
78159
diff
changeset
|
978 (function |
ba35decf8cc1
(bookmark-maybe-sort-alist): Don't modify bookmark-alist.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
78159
diff
changeset
|
979 (lambda (x y) (string-lessp (car x) (car y))))) |
ba35decf8cc1
(bookmark-maybe-sort-alist): Don't modify bookmark-alist.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
78159
diff
changeset
|
980 bookmark-alist)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
981 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
982 |
65087
83940123c4b3
(bookmark-after-jump-hook): New hook.
Carsten Dominik <dominik@science.uva.nl>
parents:
64800
diff
changeset
|
983 (defvar bookmark-after-jump-hook nil |
83940123c4b3
(bookmark-after-jump-hook): New hook.
Carsten Dominik <dominik@science.uva.nl>
parents:
64800
diff
changeset
|
984 "Hook run after `bookmark-jump' jumps to a bookmark. |
83940123c4b3
(bookmark-after-jump-hook): New hook.
Carsten Dominik <dominik@science.uva.nl>
parents:
64800
diff
changeset
|
985 Useful for example to unhide text in `outline-mode'.") |
83940123c4b3
(bookmark-after-jump-hook): New hook.
Carsten Dominik <dominik@science.uva.nl>
parents:
64800
diff
changeset
|
986 |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
987 (defun bookmark--jump-via (bookmark display-function) |
105445 | 988 "Handle BOOKMARK, then call DISPLAY-FUNCTION with current buffer as argument. |
989 Bookmark may be a bookmark name (a string) or a bookmark record. | |
990 | |
991 After calling DISPLAY-FUNCTION, set window point to the point specified | |
992 by BOOKMARK, if necessary, run `bookmark-after-jump-hook', and then show | |
993 any annotations for this bookmark." | |
99224
e666721fb443
(bookmark-handle-bookmark): Rename from bookmark-jump-noselect.
Chong Yidong <cyd@stupidchicken.com>
parents:
98537
diff
changeset
|
994 (bookmark-handle-bookmark bookmark) |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
995 (save-current-buffer |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
996 (funcall display-function (current-buffer))) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
997 (let ((win (get-buffer-window (current-buffer) 0))) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
998 (if win (set-window-point win (point)))) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
999 ;; FIXME: we used to only run bookmark-after-jump-hook in |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1000 ;; `bookmark-jump' itself, but in none of the other commands. |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1001 (run-hooks 'bookmark-after-jump-hook) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1002 (if bookmark-automatically-show-annotations |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1003 ;; if there is an annotation for this bookmark, |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1004 ;; show it in a buffer. |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1005 (bookmark-show-annotation bookmark))) |
99766
f1062fe6487f
* bookmark.el (bookmark-jump-noselect): Add obsolescence declaration
Juanma Barranquero <lekktu@gmail.com>
parents:
99725
diff
changeset
|
1006 |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1007 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1008 ;;;###autoload |
105530
e5035c6df58d
* lisp/bookmark.el (bookmark-jump): Add new `display-func' parameter.
Karl Fogel <kfogel@red-bean.com>
parents:
105449
diff
changeset
|
1009 (defun bookmark-jump (bookmark &optional display-func) |
35283 | 1010 "Jump to bookmark BOOKMARK (a point in some file). |
4633 | 1011 You may have a problem using this function if the value of variable |
1012 `bookmark-alist' is nil. If that happens, you need to load in some | |
1013 bookmarks. See help on function `bookmark-load' for more about | |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1014 this. |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1015 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1016 If the file pointed to by BOOKMARK no longer exists, you will be asked |
64634
4045a1b1a5c9
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
1017 if you wish to give the bookmark a new location, and `bookmark-jump' |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1018 will then jump to the new location, as well as recording it in place |
105445 | 1019 of the old one in the permanent bookmark record. |
1020 | |
1021 BOOKMARK may be a bookmark name (a string) or a bookmark record, but | |
105530
e5035c6df58d
* lisp/bookmark.el (bookmark-jump): Add new `display-func' parameter.
Karl Fogel <kfogel@red-bean.com>
parents:
105449
diff
changeset
|
1022 the latter is usually only used by programmatic callers. |
e5035c6df58d
* lisp/bookmark.el (bookmark-jump): Add new `display-func' parameter.
Karl Fogel <kfogel@red-bean.com>
parents:
105449
diff
changeset
|
1023 |
e5035c6df58d
* lisp/bookmark.el (bookmark-jump): Add new `display-func' parameter.
Karl Fogel <kfogel@red-bean.com>
parents:
105449
diff
changeset
|
1024 If DISPLAY-FUNC is non-nil, it is a function to invoke to display the |
105759
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
1025 bookmark. It defaults to `switch-to-buffer'. A typical value for |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
1026 DISPLAY-FUNC would be `switch-to-buffer-other-window'." |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1027 (interactive |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
1028 (list (bookmark-completing-read "Jump to bookmark" |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
1029 bookmark-current-bookmark))) |
59133
55f8ffb8e523
(bookmark-jump): Nice error if BOOKMARK is nil.
Richard M. Stallman <rms@gnu.org>
parents:
56059
diff
changeset
|
1030 (unless bookmark |
55f8ffb8e523
(bookmark-jump): Nice error if BOOKMARK is nil.
Richard M. Stallman <rms@gnu.org>
parents:
56059
diff
changeset
|
1031 (error "No bookmark specified")) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1032 (bookmark-maybe-historicize-string bookmark) |
105530
e5035c6df58d
* lisp/bookmark.el (bookmark-jump): Add new `display-func' parameter.
Karl Fogel <kfogel@red-bean.com>
parents:
105449
diff
changeset
|
1033 (bookmark--jump-via bookmark (or display-func 'switch-to-buffer))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1034 |
4537 | 1035 |
81844
805e8454783b
* bookmark.el (bookmark-jump-other-window): New function.
Karl Fogel <kfogel@red-bean.com>
parents:
81843
diff
changeset
|
1036 ;;;###autoload |
805e8454783b
* bookmark.el (bookmark-jump-other-window): New function.
Karl Fogel <kfogel@red-bean.com>
parents:
81843
diff
changeset
|
1037 (defun bookmark-jump-other-window (bookmark) |
105445 | 1038 "Jump to BOOKMARK in another window. See `bookmark-jump' for more." |
81844
805e8454783b
* bookmark.el (bookmark-jump-other-window): New function.
Karl Fogel <kfogel@red-bean.com>
parents:
81843
diff
changeset
|
1039 (interactive |
105530
e5035c6df58d
* lisp/bookmark.el (bookmark-jump): Add new `display-func' parameter.
Karl Fogel <kfogel@red-bean.com>
parents:
105449
diff
changeset
|
1040 (list (bookmark-completing-read "Jump to bookmark (in another window)" |
e5035c6df58d
* lisp/bookmark.el (bookmark-jump): Add new `display-func' parameter.
Karl Fogel <kfogel@red-bean.com>
parents:
105449
diff
changeset
|
1041 bookmark-current-bookmark))) |
e5035c6df58d
* lisp/bookmark.el (bookmark-jump): Add new `display-func' parameter.
Karl Fogel <kfogel@red-bean.com>
parents:
105449
diff
changeset
|
1042 (bookmark-jump bookmark 'switch-to-buffer-other-window)) |
81844
805e8454783b
* bookmark.el (bookmark-jump-other-window): New function.
Karl Fogel <kfogel@red-bean.com>
parents:
81843
diff
changeset
|
1043 |
805e8454783b
* bookmark.el (bookmark-jump-other-window): New function.
Karl Fogel <kfogel@red-bean.com>
parents:
81843
diff
changeset
|
1044 |
92550
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1045 (defun bookmark-jump-noselect (bookmark) |
99224
e666721fb443
(bookmark-handle-bookmark): Rename from bookmark-jump-noselect.
Chong Yidong <cyd@stupidchicken.com>
parents:
98537
diff
changeset
|
1046 "Return the location pointed to by the bookmark BOOKMARK. |
99725
d067d683a1bc
(bookmark-jump-noselect): Move the deprecation notice into the doc
Karl Fogel <kfogel@red-bean.com>
parents:
99228
diff
changeset
|
1047 The return value has the form (BUFFER . POINT). |
d067d683a1bc
(bookmark-jump-noselect): Move the deprecation notice into the doc
Karl Fogel <kfogel@red-bean.com>
parents:
99228
diff
changeset
|
1048 |
105445 | 1049 BOOKMARK may be a bookmark name (a string) or a bookmark record. |
1050 | |
99725
d067d683a1bc
(bookmark-jump-noselect): Move the deprecation notice into the doc
Karl Fogel <kfogel@red-bean.com>
parents:
99228
diff
changeset
|
1051 Note: this function is deprecated and is present for Emacs 22 |
99766
f1062fe6487f
* bookmark.el (bookmark-jump-noselect): Add obsolescence declaration
Juanma Barranquero <lekktu@gmail.com>
parents:
99725
diff
changeset
|
1052 compatibility only." |
99224
e666721fb443
(bookmark-handle-bookmark): Rename from bookmark-jump-noselect.
Chong Yidong <cyd@stupidchicken.com>
parents:
98537
diff
changeset
|
1053 (save-excursion |
e666721fb443
(bookmark-handle-bookmark): Rename from bookmark-jump-noselect.
Chong Yidong <cyd@stupidchicken.com>
parents:
98537
diff
changeset
|
1054 (bookmark-handle-bookmark bookmark) |
e666721fb443
(bookmark-handle-bookmark): Rename from bookmark-jump-noselect.
Chong Yidong <cyd@stupidchicken.com>
parents:
98537
diff
changeset
|
1055 (cons (current-buffer) (point)))) |
e666721fb443
(bookmark-handle-bookmark): Rename from bookmark-jump-noselect.
Chong Yidong <cyd@stupidchicken.com>
parents:
98537
diff
changeset
|
1056 |
99766
f1062fe6487f
* bookmark.el (bookmark-jump-noselect): Add obsolescence declaration
Juanma Barranquero <lekktu@gmail.com>
parents:
99725
diff
changeset
|
1057 (make-obsolete 'bookmark-jump-noselect 'bookmark-handle-bookmark "23.1") |
f1062fe6487f
* bookmark.el (bookmark-jump-noselect): Add obsolescence declaration
Juanma Barranquero <lekktu@gmail.com>
parents:
99725
diff
changeset
|
1058 |
99224
e666721fb443
(bookmark-handle-bookmark): Rename from bookmark-jump-noselect.
Chong Yidong <cyd@stupidchicken.com>
parents:
98537
diff
changeset
|
1059 (defun bookmark-handle-bookmark (bookmark) |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1060 "Call BOOKMARK's handler or `bookmark-default-handler' if it has none. |
105449
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1061 BOOKMARK may be a bookmark name (a string) or a bookmark record. |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1062 |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1063 Changes current buffer and point and returns nil, or signals a `file-error'. |
105445 | 1064 |
105449
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1065 If BOOKMARK has no file, this is a no-op. If BOOKMARK has a file, but |
105759
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
1066 that file no longer exists, then offer interactively to relocate BOOKMARK." |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1067 (condition-case err |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1068 (funcall (or (bookmark-get-handler bookmark) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1069 'bookmark-default-handler) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1070 (bookmark-get-bookmark bookmark)) |
107125
063e00f61d0f
(bookmark-handle-bookmark): Catch the right error.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106821
diff
changeset
|
1071 (bookmark-error-no-filename ;file-error |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1072 ;; We were unable to find the marked file, so ask if user wants to |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1073 ;; relocate the bookmark, else remind them to consider deletion. |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1074 (when (stringp bookmark) |
105449
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1075 ;; `bookmark' can be either a bookmark name (from `bookmark-alist') |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1076 ;; or a bookmark object. If it's an object, we assume it's a |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1077 ;; bookmark used internally by some other package. |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1078 (let ((file (bookmark-get-filename bookmark))) |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1079 (when file ;Don't know how to relocate if there's no `file'. |
105449
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1080 ;; If file is not a dir, directory-file-name just returns file. |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1081 (let ((display-name (directory-file-name file))) |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1082 (ding) |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1083 ;; Dialog boxes can accept a file target, but usually don't |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1084 ;; know how to accept a directory target (at least, this |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1085 ;; is true in Gnome on GNU/Linux, and Bug#4230 says it's |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1086 ;; true on Windows as well). So we suppress file dialogs |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1087 ;; when relocating. |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1088 (let ((use-dialog-box nil) |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1089 (use-file-dialog nil)) |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1090 (if (y-or-n-p (concat display-name " nonexistent. Relocate \"" |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1091 bookmark "\"? ")) |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1092 (progn |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1093 (bookmark-relocate bookmark) |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1094 ;; Try again. |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1095 (funcall (or (bookmark-get-handler bookmark) |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1096 'bookmark-default-handler) |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1097 (bookmark-get-bookmark bookmark))) |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1098 (message |
106697
ac408704629c
lisp/*: Fix typos in docstrings and messages.
Juanma Barranquero <lekktu@gmail.com>
parents:
106210
diff
changeset
|
1099 "Bookmark not relocated; consider removing it (%s)." |
105449
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1100 bookmark) |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1101 (signal (car err) (cdr err)))))))))) |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1102 ;; Added by db. |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1103 (when (stringp bookmark) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1104 (setq bookmark-current-bookmark bookmark)) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1105 nil) |
28013
b8291d86b5fd
(bookmark-file-or-variation-thereof): New func, for
Gerd Moellmann <gerd@gnu.org>
parents:
26773
diff
changeset
|
1106 |
105449
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1107 (put 'bookmark-error-no-filename |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1108 'error-conditions |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1109 '(error bookmark-errors bookmark-error-no-filename)) |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1110 (put 'bookmark-error-no-filename |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1111 'error-message |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1112 "Bookmark has no associated file (or directory)") |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1113 |
105445 | 1114 (defun bookmark-default-handler (bmk-record) |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1115 "Default handler to jump to a particular bookmark location. |
105445 | 1116 BMK-RECORD is a bookmark record, not a bookmark name (i.e., not a string). |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1117 Changes current buffer and point and returns nil, or signals a `file-error'." |
105449
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1118 (let ((file (bookmark-get-filename bmk-record)) |
107125
063e00f61d0f
(bookmark-handle-bookmark): Catch the right error.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106821
diff
changeset
|
1119 (buf (bookmark-prop-get bmk-record 'buffer)) |
105449
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1120 (forward-str (bookmark-get-front-context-string bmk-record)) |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1121 (behind-str (bookmark-get-rear-context-string bmk-record)) |
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1122 (place (bookmark-get-position bmk-record))) |
107125
063e00f61d0f
(bookmark-handle-bookmark): Catch the right error.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106821
diff
changeset
|
1123 (set-buffer |
063e00f61d0f
(bookmark-handle-bookmark): Catch the right error.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106821
diff
changeset
|
1124 (cond |
063e00f61d0f
(bookmark-handle-bookmark): Catch the right error.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106821
diff
changeset
|
1125 ((and file (file-readable-p file) (not (buffer-live-p buf))) |
063e00f61d0f
(bookmark-handle-bookmark): Catch the right error.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106821
diff
changeset
|
1126 (find-file-noselect file)) |
063e00f61d0f
(bookmark-handle-bookmark): Catch the right error.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106821
diff
changeset
|
1127 ;; No file found. See if buffer BUF have been created. |
063e00f61d0f
(bookmark-handle-bookmark): Catch the right error.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106821
diff
changeset
|
1128 ((and buf (get-buffer buf))) |
063e00f61d0f
(bookmark-handle-bookmark): Catch the right error.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106821
diff
changeset
|
1129 (t ;; If not, raise error. |
063e00f61d0f
(bookmark-handle-bookmark): Catch the right error.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106821
diff
changeset
|
1130 (signal 'bookmark-error-no-filename (list 'stringp file))))) |
063e00f61d0f
(bookmark-handle-bookmark): Catch the right error.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106821
diff
changeset
|
1131 (if place (goto-char place)) |
063e00f61d0f
(bookmark-handle-bookmark): Catch the right error.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106821
diff
changeset
|
1132 ;; Go searching forward first. Then, if forward-str exists and |
063e00f61d0f
(bookmark-handle-bookmark): Catch the right error.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106821
diff
changeset
|
1133 ;; was found in the file, we can search backward for behind-str. |
063e00f61d0f
(bookmark-handle-bookmark): Catch the right error.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106821
diff
changeset
|
1134 ;; Rationale is that if text was inserted between the two in the |
063e00f61d0f
(bookmark-handle-bookmark): Catch the right error.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106821
diff
changeset
|
1135 ;; file, it's better to be put before it so you can read it, |
063e00f61d0f
(bookmark-handle-bookmark): Catch the right error.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106821
diff
changeset
|
1136 ;; rather than after and remain perhaps unaware of the changes. |
063e00f61d0f
(bookmark-handle-bookmark): Catch the right error.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106821
diff
changeset
|
1137 (when (and forward-str (search-forward forward-str (point-max) t)) |
063e00f61d0f
(bookmark-handle-bookmark): Catch the right error.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106821
diff
changeset
|
1138 (goto-char (match-beginning 0))) |
063e00f61d0f
(bookmark-handle-bookmark): Catch the right error.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106821
diff
changeset
|
1139 (when (and behind-str (search-backward behind-str (point-min) t)) |
063e00f61d0f
(bookmark-handle-bookmark): Catch the right error.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106821
diff
changeset
|
1140 (goto-char (match-end 0))) |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1141 nil)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1142 |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1143 ;;;###autoload |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1144 (defun bookmark-relocate (bookmark) |
15193
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
1145 "Relocate BOOKMARK to another file (reading file name with minibuffer). |
105445 | 1146 BOOKMARK is a bookmark name (a string), not a bookmark record. |
1147 | |
15193
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
1148 This makes an already existing bookmark point to that file, instead of |
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
1149 the one it used to point at. Useful when a file has been renamed |
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
1150 after a bookmark was set in it." |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
1151 (interactive (list (bookmark-completing-read "Bookmark to relocate"))) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1152 (bookmark-maybe-historicize-string bookmark) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1153 (bookmark-maybe-load-default-file) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1154 (let* ((bmrk-filename (bookmark-get-filename bookmark)) |
107192
3c9f81253d07
Use abbreviated file names in bookmarks (bug#5591).
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
107125
diff
changeset
|
1155 (newloc (abbreviate-file-name |
3c9f81253d07
Use abbreviated file names in bookmarks (bug#5591).
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
107125
diff
changeset
|
1156 (expand-file-name |
3c9f81253d07
Use abbreviated file names in bookmarks (bug#5591).
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
107125
diff
changeset
|
1157 (read-file-name |
3c9f81253d07
Use abbreviated file names in bookmarks (bug#5591).
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
107125
diff
changeset
|
1158 (format "Relocate %s to: " bookmark) |
3c9f81253d07
Use abbreviated file names in bookmarks (bug#5591).
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
107125
diff
changeset
|
1159 (file-name-directory bmrk-filename)))))) |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1160 (bookmark-set-filename bookmark newloc) |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1161 (setq bookmark-alist-modification-count |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1162 (1+ bookmark-alist-modification-count)) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1163 (if (bookmark-time-to-save-p) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1164 (bookmark-save)) |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1165 (bookmark-bmenu-surreptitiously-rebuild-list))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1166 |
4537 | 1167 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1168 ;;;###autoload |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1169 (defun bookmark-insert-location (bookmark &optional no-history) |
10994
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
1170 "Insert the name of the file associated with BOOKMARK. |
105445 | 1171 BOOKMARK is a bookmark name (a string), not a bookmark record. |
1172 | |
10994
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
1173 Optional second arg NO-HISTORY means don't record this in the |
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
1174 minibuffer history list `bookmark-history'." |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
1175 (interactive (list (bookmark-completing-read "Insert bookmark location"))) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1176 (or no-history (bookmark-maybe-historicize-string bookmark)) |
17265
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1177 (let ((start (point))) |
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1178 (prog1 |
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1179 (insert (bookmark-location bookmark)) ; *Return this line* |
105787
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1180 (if (display-mouse-p) |
66192
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1181 (add-text-properties |
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1182 start |
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1183 (save-excursion (re-search-backward |
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1184 "[^ \t]") |
105787
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1185 (1+ (point))) |
66192
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1186 '(mouse-face highlight |
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1187 follow-link t |
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1188 help-echo "mouse-2: go to this bookmark in other window")))))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1189 |
15189
dd74ff8dad0b
(bookmark-locate): ;;;###autoload this alias.
Karl Fogel <kfogel@red-bean.com>
parents:
15183
diff
changeset
|
1190 ;;;###autoload |
15183
9c770d2b753f
(bookmark-make): take optional arg `info-node', pass it on to
Karl Fogel <kfogel@red-bean.com>
parents:
14734
diff
changeset
|
1191 (defalias 'bookmark-locate 'bookmark-insert-location) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1192 |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1193 (defun bookmark-location (bookmark) |
105449
4d75e3e0f1ea
* bookmark.el (bookmark-handle-bookmark): If bookmark has no file,
Karl Fogel <kfogel@red-bean.com>
parents:
105448
diff
changeset
|
1194 "Return the name of the file associated with BOOKMARK, or nil if none. |
105445 | 1195 BOOKMARK may be a bookmark name (a string) or a bookmark record." |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1196 (bookmark-maybe-load-default-file) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1197 (bookmark-get-filename bookmark)) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1198 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1199 |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1200 ;;;###autoload |
4633 | 1201 (defun bookmark-rename (old &optional new) |
15193
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
1202 "Change the name of OLD bookmark to NEW name. |
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
1203 If called from keyboard, prompt for OLD and NEW. If called from |
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
1204 menubar, select OLD from a menu and prompt for NEW. |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1205 |
105445 | 1206 Both OLD and NEW are bookmark names (strings), never bookmark records. |
1207 | |
15193
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
1208 If called from Lisp, prompt for NEW if only OLD was passed as an |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1209 argument. If called with two strings, then no prompting is done. You |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1210 must pass at least OLD when calling from Lisp. |
4633 | 1211 |
1212 While you are entering the new name, consecutive C-w's insert | |
13969
8fd836e88aec
(bookmark-save-flag, bookmark-read-annotation-text-func,
Karl Heuer <kwzh@gnu.org>
parents:
13895
diff
changeset
|
1213 consecutive words from the text of the buffer into the new bookmark |
10994
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
1214 name." |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
1215 (interactive (list (bookmark-completing-read "Old bookmark name"))) |
10994
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
1216 (bookmark-maybe-historicize-string old) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1217 (bookmark-maybe-load-default-file) |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1218 |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1219 (setq bookmark-yank-point (point)) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1220 (setq bookmark-current-buffer (current-buffer)) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1221 (let ((newname |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1222 (or new ; use second arg, if non-nil |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1223 (read-from-minibuffer |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1224 "New name: " |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1225 nil |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1226 (let ((now-map (copy-keymap minibuffer-local-map))) |
106697
ac408704629c
lisp/*: Fix typos in docstrings and messages.
Juanma Barranquero <lekktu@gmail.com>
parents:
106210
diff
changeset
|
1227 (define-key now-map "\C-w" 'bookmark-yank-word) |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1228 now-map) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1229 nil |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1230 'bookmark-history)))) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1231 (bookmark-set-name old newname) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1232 (setq bookmark-current-bookmark newname) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1233 (bookmark-bmenu-surreptitiously-rebuild-list) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1234 (setq bookmark-alist-modification-count |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1235 (1+ bookmark-alist-modification-count)) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1236 (if (bookmark-time-to-save-p) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1237 (bookmark-save)))) |
4537 | 1238 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1239 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1240 ;;;###autoload |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1241 (defun bookmark-insert (bookmark) |
35283 | 1242 "Insert the text of the file pointed to by bookmark BOOKMARK. |
105445 | 1243 BOOKMARK is a bookmark name (a string), not a bookmark record. |
1244 | |
4633 | 1245 You may have a problem using this function if the value of variable |
1246 `bookmark-alist' is nil. If that happens, you need to load in some | |
1247 bookmarks. See help on function `bookmark-load' for more about | |
4631 | 1248 this." |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
1249 (interactive (list (bookmark-completing-read "Insert bookmark contents"))) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1250 (bookmark-maybe-historicize-string bookmark) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1251 (bookmark-maybe-load-default-file) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1252 (let ((orig-point (point)) |
87411
9ac481bc897b
2007-12-26 Tassilo Horn <tassilo@member.fsf.org>
Tassilo Horn <tassilo@member.fsf.org>
parents:
84858
diff
changeset
|
1253 (str-to-insert |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1254 (save-current-buffer |
99224
e666721fb443
(bookmark-handle-bookmark): Rename from bookmark-jump-noselect.
Chong Yidong <cyd@stupidchicken.com>
parents:
98537
diff
changeset
|
1255 (bookmark-handle-bookmark bookmark) |
87411
9ac481bc897b
2007-12-26 Tassilo Horn <tassilo@member.fsf.org>
Tassilo Horn <tassilo@member.fsf.org>
parents:
84858
diff
changeset
|
1256 (buffer-string)))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1257 (insert str-to-insert) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1258 (push-mark) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1259 (goto-char orig-point))) |
4537 | 1260 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1261 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1262 ;;;###autoload |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1263 (defun bookmark-delete (bookmark &optional batch) |
35283 | 1264 "Delete BOOKMARK from the bookmark list. |
105445 | 1265 BOOKMARK is a bookmark name (a string), not a bookmark record. |
1266 | |
4633 | 1267 Removes only the first instance of a bookmark with that name. If |
1268 there are one or more other bookmarks with the same name, they will | |
106697
ac408704629c
lisp/*: Fix typos in docstrings and messages.
Juanma Barranquero <lekktu@gmail.com>
parents:
106210
diff
changeset
|
1269 not be deleted. Defaults to the \"current\" bookmark (that is, the |
ac408704629c
lisp/*: Fix typos in docstrings and messages.
Juanma Barranquero <lekktu@gmail.com>
parents:
106210
diff
changeset
|
1270 one most recently used in this file, if any). |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1271 Optional second arg BATCH means don't update the bookmark list buffer, |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1272 probably because we were called from there." |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1273 (interactive |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
1274 (list (bookmark-completing-read "Delete bookmark" |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
1275 bookmark-current-bookmark))) |
10994
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
1276 (bookmark-maybe-historicize-string bookmark) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1277 (bookmark-maybe-load-default-file) |
99774
b53beb0ef91c
(bookmark-get-bookmark): Add `noerror' arg.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
99773
diff
changeset
|
1278 (let ((will-go (bookmark-get-bookmark bookmark 'noerror))) |
4595 | 1279 (setq bookmark-alist (delq will-go bookmark-alist)) |
1280 ;; Added by db, nil bookmark-current-bookmark if the last | |
13969
8fd836e88aec
(bookmark-save-flag, bookmark-read-annotation-text-func,
Karl Heuer <kwzh@gnu.org>
parents:
13895
diff
changeset
|
1281 ;; occurrence has been deleted |
99774
b53beb0ef91c
(bookmark-get-bookmark): Add `noerror' arg.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
99773
diff
changeset
|
1282 (or (bookmark-get-bookmark bookmark-current-bookmark 'noerror) |
4595 | 1283 (setq bookmark-current-bookmark nil))) |
105532
cb911fe6af8f
* lisp/bookmark.el (bookmark-delete): Don't let batch arg prevent saving.
Karl Fogel <kfogel@red-bean.com>
parents:
105530
diff
changeset
|
1284 (unless batch |
cb911fe6af8f
* lisp/bookmark.el (bookmark-delete): Don't let batch arg prevent saving.
Karl Fogel <kfogel@red-bean.com>
parents:
105530
diff
changeset
|
1285 (bookmark-bmenu-surreptitiously-rebuild-list)) |
cb911fe6af8f
* lisp/bookmark.el (bookmark-delete): Don't let batch arg prevent saving.
Karl Fogel <kfogel@red-bean.com>
parents:
105530
diff
changeset
|
1286 (setq bookmark-alist-modification-count |
cb911fe6af8f
* lisp/bookmark.el (bookmark-delete): Don't let batch arg prevent saving.
Karl Fogel <kfogel@red-bean.com>
parents:
105530
diff
changeset
|
1287 (1+ bookmark-alist-modification-count)) |
cb911fe6af8f
* lisp/bookmark.el (bookmark-delete): Don't let batch arg prevent saving.
Karl Fogel <kfogel@red-bean.com>
parents:
105530
diff
changeset
|
1288 (when (bookmark-time-to-save-p) |
cb911fe6af8f
* lisp/bookmark.el (bookmark-delete): Don't let batch arg prevent saving.
Karl Fogel <kfogel@red-bean.com>
parents:
105530
diff
changeset
|
1289 (bookmark-save))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1290 |
4537 | 1291 |
105445 | 1292 (defun bookmark-time-to-save-p (&optional final-time) |
1293 "Return t if it is time to save bookmarks to disk, nil otherwise. | |
1294 Optional argument FINAL-TIME means this is being called when Emacs | |
1295 is being killed, so save even if `bookmark-save-flag' is a number and | |
1296 is greater than `bookmark-alist-modification-count'." | |
1297 ;; By Gregory M. Saunders <saunders{_AT_}cis.ohio-state.edu> | |
1298 (cond (final-time | |
4537 | 1299 (and (> bookmark-alist-modification-count 0) |
1300 bookmark-save-flag)) | |
1301 ((numberp bookmark-save-flag) | |
1302 (>= bookmark-alist-modification-count bookmark-save-flag)) | |
1303 (t | |
1304 nil))) | |
1305 | |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1306 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1307 ;;;###autoload |
4537 | 1308 (defun bookmark-write () |
15193
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
1309 "Write bookmarks to a file (reading the file name with the minibuffer). |
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
1310 Don't use this in Lisp programs; use `bookmark-save' instead." |
4537 | 1311 (interactive) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1312 (bookmark-maybe-load-default-file) |
4537 | 1313 (bookmark-save t)) |
1314 | |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1315 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1316 ;;;###autoload |
35283 | 1317 (defun bookmark-save (&optional parg file) |
4633 | 1318 "Save currently defined bookmarks. |
1319 Saves by default in the file defined by the variable | |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1320 `bookmark-default-file'. With a prefix arg, save it in file FILE |
106697
ac408704629c
lisp/*: Fix typos in docstrings and messages.
Juanma Barranquero <lekktu@gmail.com>
parents:
106210
diff
changeset
|
1321 \(second argument). |
4537 | 1322 |
64634
4045a1b1a5c9
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
1323 If you are calling this from Lisp, the two arguments are PARG and |
4045a1b1a5c9
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
1324 FILE, and if you just want it to write to the default file, then |
4537 | 1325 pass no arguments. Or pass in nil and FILE, and it will save in FILE |
1326 instead. If you pass in one argument, and it is non-nil, then the | |
1327 user will be interactively queried for a file to save in. | |
1328 | |
4595 | 1329 When you want to load in the bookmarks from a file, use |
106697
ac408704629c
lisp/*: Fix typos in docstrings and messages.
Juanma Barranquero <lekktu@gmail.com>
parents:
106210
diff
changeset
|
1330 `bookmark-load', \\[bookmark-load]. That function will prompt you |
4595 | 1331 for a file, defaulting to the file defined by variable |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1332 `bookmark-default-file'." |
4537 | 1333 (interactive "P") |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1334 (bookmark-maybe-load-default-file) |
4537 | 1335 (cond |
1336 ((and (null parg) (null file)) | |
1337 ;;whether interactive or not, write to default file | |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1338 (bookmark-write-file bookmark-default-file)) |
4537 | 1339 ((and (null parg) file) |
1340 ;;whether interactive or not, write to given file | |
1341 (bookmark-write-file file)) | |
1342 ((and parg (not file)) | |
1343 ;;have been called interactively w/ prefix arg | |
1344 (let ((file (read-file-name "File to save bookmarks in: "))) | |
1345 (bookmark-write-file file))) | |
1346 (t ; someone called us with prefix-arg *and* a file, so just write to file | |
1347 (bookmark-write-file file))) | |
1348 ;; signal that we have synced the bookmark file by setting this to | |
1349 ;; 0. If there was an error at any point before, it will not get | |
1350 ;; set, which is what we want. | |
1351 (setq bookmark-alist-modification-count 0)) | |
1352 | |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1353 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1354 |
4537 | 1355 (defun bookmark-write-file (file) |
105445 | 1356 "Write `bookmark-alist' to FILE." |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1357 (bookmark-maybe-message "Saving bookmarks to file %s..." file) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1358 (with-current-buffer (get-buffer-create " *Bookmarks*") |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1359 (goto-char (point-min)) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1360 (delete-region (point-min) (point-max)) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1361 (let ((print-length nil) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1362 (print-level nil)) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1363 (bookmark-insert-file-format-version-stamp) |
105124
ff7266798210
(bookmark-write-file): Avoid calling `pp' with large
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
100908
diff
changeset
|
1364 (insert "(") |
ff7266798210
(bookmark-write-file): Avoid calling `pp' with large
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
100908
diff
changeset
|
1365 ;; Rather than a single call to `pp' we make one per bookmark. |
ff7266798210
(bookmark-write-file): Avoid calling `pp' with large
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
100908
diff
changeset
|
1366 ;; Apparently `pp' has a poor algorithmic complexity, so this |
ff7266798210
(bookmark-write-file): Avoid calling `pp' with large
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
100908
diff
changeset
|
1367 ;; scales a lot better. bug#4485. |
106697
ac408704629c
lisp/*: Fix typos in docstrings and messages.
Juanma Barranquero <lekktu@gmail.com>
parents:
106210
diff
changeset
|
1368 (dolist (i bookmark-alist) (pp i (current-buffer))) |
105124
ff7266798210
(bookmark-write-file): Avoid calling `pp' with large
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
100908
diff
changeset
|
1369 (insert ")") |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1370 (let ((version-control |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1371 (cond |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1372 ((null bookmark-version-control) nil) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1373 ((eq 'never bookmark-version-control) 'never) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1374 ((eq 'nospecial bookmark-version-control) version-control) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1375 (t t)))) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1376 (condition-case nil |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1377 (write-region (point-min) (point-max) file) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1378 (file-error (message "Can't write %s" file))) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1379 (kill-buffer (current-buffer)) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1380 (bookmark-maybe-message |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1381 "Saving bookmarks to file %s...done" file))))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1382 |
4537 | 1383 |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1384 (defun bookmark-import-new-list (new-list) |
105759
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
1385 "Add NEW-LIST of bookmarks to `bookmark-alist'. |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
1386 Rename new bookmarks as needed using suffix \"<N>\" (N=1,2,3...), when |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
1387 they conflict with existing bookmark names." |
105787
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1388 (let ((names (bookmark-all-names))) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1389 (dolist (full-record new-list) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1390 (bookmark-maybe-rename full-record names) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1391 (setq bookmark-alist (nconc bookmark-alist (list full-record))) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1392 (push (bookmark-name-from-full-record full-record) names)))) |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1393 |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1394 |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1395 (defun bookmark-maybe-rename (full-record names) |
105759
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
1396 "Rename bookmark FULL-RECORD if its current name is already used. |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
1397 This is a helper for `bookmark-import-new-list'." |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1398 (let ((found-name (bookmark-name-from-full-record full-record))) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1399 (if (member found-name names) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1400 ;; We've got a conflict, so generate a new name |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1401 (let ((count 2) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1402 (new-name found-name)) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1403 (while (member new-name names) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1404 (setq new-name (concat found-name (format "<%d>" count))) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1405 (setq count (1+ count))) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1406 (bookmark-set-name full-record new-name))))) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1407 |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1408 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1409 ;;;###autoload |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1410 (defun bookmark-load (file &optional overwrite no-msg) |
4633 | 1411 "Load bookmarks from FILE (which must be in bookmark format). |
1412 Appends loaded bookmarks to the front of the list of bookmarks. If | |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1413 optional second argument OVERWRITE is non-nil, existing bookmarks are |
4633 | 1414 destroyed. Optional third arg NO-MSG means don't display any messages |
1415 while loading. | |
4537 | 1416 |
1417 If you load a file that doesn't contain a proper bookmark alist, you | |
4633 | 1418 will corrupt Emacs's bookmark list. Generally, you should only load |
4537 | 1419 in files that were created with the bookmark functions in the first |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1420 place. Your own personal bookmark file, `~/.emacs.bmk', is |
4631 | 1421 maintained automatically by Emacs; you shouldn't need to load it |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1422 explicitly. |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1423 |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1424 If you load a file containing bookmarks with the same names as |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1425 bookmarks already present in your Emacs, the new bookmarks will get |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1426 unique numeric suffixes \"<2>\", \"<3>\", ... following the same |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1427 method buffers use to resolve name collisions." |
4537 | 1428 (interactive |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1429 (list (read-file-name |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1430 (format "Load bookmarks from: (%s) " |
35283 | 1431 bookmark-default-file) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1432 ;;Default might not be used often, |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1433 ;;but there's no better default, and |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1434 ;;I guess it's better than none at all. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1435 "~/" bookmark-default-file 'confirm))) |
107192
3c9f81253d07
Use abbreviated file names in bookmarks (bug#5591).
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
107125
diff
changeset
|
1436 (setq file (abbreviate-file-name (expand-file-name file))) |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1437 (if (not (file-readable-p file)) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1438 (error "Cannot read bookmark file %s" file) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1439 (if (null no-msg) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1440 (bookmark-maybe-message "Loading bookmarks from %s..." file)) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1441 (with-current-buffer (let ((enable-local-variables nil)) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1442 (find-file-noselect file)) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1443 (goto-char (point-min)) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1444 (bookmark-maybe-upgrade-file-format) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1445 (let ((blist (bookmark-alist-from-buffer))) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1446 (if (listp blist) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1447 (progn |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1448 (if overwrite |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1449 (progn |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1450 (setq bookmark-alist blist) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1451 (setq bookmark-alist-modification-count 0)) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1452 ;; else |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1453 (bookmark-import-new-list blist) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1454 (setq bookmark-alist-modification-count |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1455 (1+ bookmark-alist-modification-count))) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1456 (if (string-equal |
107192
3c9f81253d07
Use abbreviated file names in bookmarks (bug#5591).
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
107125
diff
changeset
|
1457 (abbreviate-file-name |
3c9f81253d07
Use abbreviated file names in bookmarks (bug#5591).
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
107125
diff
changeset
|
1458 (expand-file-name bookmark-default-file)) |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1459 file) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1460 (setq bookmarks-already-loaded t)) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1461 (bookmark-bmenu-surreptitiously-rebuild-list)) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1462 (error "Invalid bookmark list in %s" file))) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1463 (kill-buffer (current-buffer))) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1464 (if (null no-msg) |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1465 (bookmark-maybe-message "Loading bookmarks from %s...done" file)))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1466 |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1467 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1468 |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1469 ;;; Code supporting the dired-like bookmark menu. |
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1470 ;; Prefix is "bookmark-bmenu" for "buffer-menu": |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1471 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1472 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1473 (defvar bookmark-bmenu-hidden-bookmarks ()) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1474 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1475 |
105787
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1476 (defvar bookmark-bmenu-mode-map |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1477 (let ((map (make-keymap))) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1478 (suppress-keymap map t) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1479 (define-key map "q" 'quit-window) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1480 (define-key map "v" 'bookmark-bmenu-select) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1481 (define-key map "w" 'bookmark-bmenu-locate) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1482 (define-key map "2" 'bookmark-bmenu-2-window) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1483 (define-key map "1" 'bookmark-bmenu-1-window) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1484 (define-key map "j" 'bookmark-bmenu-this-window) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1485 (define-key map "\C-c\C-c" 'bookmark-bmenu-this-window) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1486 (define-key map "f" 'bookmark-bmenu-this-window) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1487 (define-key map "\C-m" 'bookmark-bmenu-this-window) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1488 (define-key map "o" 'bookmark-bmenu-other-window) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1489 (define-key map "\C-o" 'bookmark-bmenu-switch-other-window) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1490 (define-key map "s" 'bookmark-bmenu-save) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1491 (define-key map "k" 'bookmark-bmenu-delete) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1492 (define-key map "\C-d" 'bookmark-bmenu-delete-backwards) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1493 (define-key map "x" 'bookmark-bmenu-execute-deletions) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1494 (define-key map "d" 'bookmark-bmenu-delete) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1495 (define-key map " " 'next-line) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1496 (define-key map "n" 'next-line) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1497 (define-key map "p" 'previous-line) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1498 (define-key map "\177" 'bookmark-bmenu-backup-unmark) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1499 (define-key map "?" 'describe-mode) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1500 (define-key map "u" 'bookmark-bmenu-unmark) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1501 (define-key map "m" 'bookmark-bmenu-mark) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1502 (define-key map "l" 'bookmark-bmenu-load) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1503 (define-key map "r" 'bookmark-bmenu-rename) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1504 (define-key map "R" 'bookmark-bmenu-relocate) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1505 (define-key map "t" 'bookmark-bmenu-toggle-filenames) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1506 (define-key map "a" 'bookmark-bmenu-show-annotation) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1507 (define-key map "A" 'bookmark-bmenu-show-all-annotations) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1508 (define-key map "e" 'bookmark-bmenu-edit-annotation) |
106179
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
1509 ;; The original binding of M-g hides the M-g prefix map. |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
1510 ;; If someone has a better idea than M-g s, I'm open to suggestions. |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
1511 (define-key map [?\M-g ?s] 'bookmark-bmenu-search) |
105787
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1512 (define-key map [mouse-2] 'bookmark-bmenu-other-window-with-mouse) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1513 map)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1514 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1515 ;; Bookmark Buffer Menu mode is suitable only for specially formatted |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1516 ;; data. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1517 (put 'bookmark-bmenu-mode 'mode-class 'special) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1518 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1519 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1520 ;; todo: need to display whether or not bookmark exists as a buffer in |
35283 | 1521 ;; flag column. |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1522 |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1523 ;; Format: |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1524 ;; FLAGS BOOKMARK [ LOCATION ] |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1525 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1526 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1527 (defun bookmark-bmenu-surreptitiously-rebuild-list () |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1528 "Rebuild the Bookmark List if it exists. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1529 Don't affect the buffer ring order." |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1530 (if (get-buffer "*Bookmark List*") |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1531 (save-excursion |
35283 | 1532 (save-window-excursion |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1533 (bookmark-bmenu-list))))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1534 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1535 |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1536 ;;;###autoload |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1537 (defun bookmark-bmenu-list () |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1538 "Display a list of existing bookmarks. |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1539 The list is displayed in a buffer named `*Bookmark List*'. |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1540 The leftmost column displays a D if the bookmark is flagged for |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1541 deletion, or > if it is flagged for displaying." |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1542 (interactive) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1543 (bookmark-maybe-load-default-file) |
105761
2a4b89270020
(bookmark-bmenu-list): Don't use switch-to-buffer if
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105759
diff
changeset
|
1544 (let ((buf (get-buffer-create "*Bookmark List*"))) |
2a4b89270020
(bookmark-bmenu-list): Don't use switch-to-buffer if
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105759
diff
changeset
|
1545 (if (called-interactively-p 'interactive) |
2a4b89270020
(bookmark-bmenu-list): Don't use switch-to-buffer if
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105759
diff
changeset
|
1546 (if (or (window-dedicated-p) (window-minibuffer-p)) |
2a4b89270020
(bookmark-bmenu-list): Don't use switch-to-buffer if
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105759
diff
changeset
|
1547 (pop-to-buffer buf) |
2a4b89270020
(bookmark-bmenu-list): Don't use switch-to-buffer if
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105759
diff
changeset
|
1548 (switch-to-buffer buf)) |
2a4b89270020
(bookmark-bmenu-list): Don't use switch-to-buffer if
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105759
diff
changeset
|
1549 (set-buffer buf))) |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
1550 (let ((inhibit-read-only t)) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
1551 (erase-buffer) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1552 (insert "% Bookmark\n- --------\n") |
66201
54d9518d9113
(bookmark-menu-heading): New face.
Romain Francoise <romain@orebokech.com>
parents:
66192
diff
changeset
|
1553 (add-text-properties (point-min) (point) |
54d9518d9113
(bookmark-menu-heading): New face.
Romain Francoise <romain@orebokech.com>
parents:
66192
diff
changeset
|
1554 '(font-lock-face bookmark-menu-heading)) |
105787
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1555 (dolist (full-record (bookmark-maybe-sort-alist)) |
106181
36947fb87ecd
(bookmark-bmenu-bookmark-column): Remove var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106179
diff
changeset
|
1556 (let ((name (bookmark-name-from-full-record full-record)) |
36947fb87ecd
(bookmark-bmenu-bookmark-column): Remove var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106179
diff
changeset
|
1557 (annotation (bookmark-get-annotation full-record)) |
36947fb87ecd
(bookmark-bmenu-bookmark-column): Remove var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106179
diff
changeset
|
1558 (start (point)) |
36947fb87ecd
(bookmark-bmenu-bookmark-column): Remove var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106179
diff
changeset
|
1559 end) |
36947fb87ecd
(bookmark-bmenu-bookmark-column): Remove var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106179
diff
changeset
|
1560 ;; if a bookmark has an annotation, prepend a "*" |
36947fb87ecd
(bookmark-bmenu-bookmark-column): Remove var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106179
diff
changeset
|
1561 ;; in the list of bookmarks. |
105787
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1562 (insert (if (and annotation (not (string-equal annotation ""))) |
106181
36947fb87ecd
(bookmark-bmenu-bookmark-column): Remove var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106179
diff
changeset
|
1563 " *" " ") |
36947fb87ecd
(bookmark-bmenu-bookmark-column): Remove var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106179
diff
changeset
|
1564 name) |
36947fb87ecd
(bookmark-bmenu-bookmark-column): Remove var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106179
diff
changeset
|
1565 (setq end (point)) |
106714
396a004a924b
* lisp/bookmark.el: Consistently put the text property on the bookmark name.
Karl Fogel <kfogel@red-bean.com>
parents:
106713
diff
changeset
|
1566 (put-text-property |
396a004a924b
* lisp/bookmark.el: Consistently put the text property on the bookmark name.
Karl Fogel <kfogel@red-bean.com>
parents:
106713
diff
changeset
|
1567 (+ bookmark-bmenu-marks-width start) end 'bookmark-name-prop name) |
106181
36947fb87ecd
(bookmark-bmenu-bookmark-column): Remove var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106179
diff
changeset
|
1568 (when (display-mouse-p) |
36947fb87ecd
(bookmark-bmenu-bookmark-column): Remove var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106179
diff
changeset
|
1569 (add-text-properties |
106714
396a004a924b
* lisp/bookmark.el: Consistently put the text property on the bookmark name.
Karl Fogel <kfogel@red-bean.com>
parents:
106713
diff
changeset
|
1570 (+ bookmark-bmenu-marks-width start) end |
106181
36947fb87ecd
(bookmark-bmenu-bookmark-column): Remove var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106179
diff
changeset
|
1571 '(mouse-face highlight |
36947fb87ecd
(bookmark-bmenu-bookmark-column): Remove var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106179
diff
changeset
|
1572 follow-link t |
36947fb87ecd
(bookmark-bmenu-bookmark-column): Remove var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106179
diff
changeset
|
1573 help-echo "mouse-2: go to this bookmark in other window"))) |
36947fb87ecd
(bookmark-bmenu-bookmark-column): Remove var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106179
diff
changeset
|
1574 (insert "\n"))) |
106710
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1575 (set-buffer-modified-p (not (= bookmark-alist-modification-count 0))) |
106181
36947fb87ecd
(bookmark-bmenu-bookmark-column): Remove var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106179
diff
changeset
|
1576 (goto-char (point-min)) |
36947fb87ecd
(bookmark-bmenu-bookmark-column): Remove var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106179
diff
changeset
|
1577 (forward-line 2) |
36947fb87ecd
(bookmark-bmenu-bookmark-column): Remove var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106179
diff
changeset
|
1578 (bookmark-bmenu-mode) |
36947fb87ecd
(bookmark-bmenu-bookmark-column): Remove var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106179
diff
changeset
|
1579 (if bookmark-bmenu-toggle-filenames |
36947fb87ecd
(bookmark-bmenu-bookmark-column): Remove var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106179
diff
changeset
|
1580 (bookmark-bmenu-toggle-filenames t)))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1581 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1582 ;;;###autoload |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1583 (defalias 'list-bookmarks 'bookmark-bmenu-list) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1584 ;;;###autoload |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1585 (defalias 'edit-bookmarks 'bookmark-bmenu-list) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1586 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1587 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1588 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1589 (defun bookmark-bmenu-mode () |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1590 "Major mode for editing a list of bookmarks. |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1591 Each line describes one of the bookmarks in Emacs. |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1592 Letters do not insert themselves; instead, they are commands. |
13969
8fd836e88aec
(bookmark-save-flag, bookmark-read-annotation-text-func,
Karl Heuer <kwzh@gnu.org>
parents:
13895
diff
changeset
|
1593 Bookmark names preceded by a \"*\" have annotations. |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1594 \\<bookmark-bmenu-mode-map> |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1595 \\[bookmark-bmenu-mark] -- mark bookmark to be displayed. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1596 \\[bookmark-bmenu-select] -- select bookmark of line point is on. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1597 Also show bookmarks marked using m in other windows. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1598 \\[bookmark-bmenu-toggle-filenames] -- toggle displaying of filenames (they may obscure long bookmark names). |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1599 \\[bookmark-bmenu-locate] -- display (in minibuffer) location of this bookmark. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1600 \\[bookmark-bmenu-1-window] -- select this bookmark in full-frame window. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1601 \\[bookmark-bmenu-2-window] -- select this bookmark in one window, |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1602 together with bookmark selected before this one in another window. |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1603 \\[bookmark-bmenu-this-window] -- select this bookmark in place of the bookmark menu buffer. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1604 \\[bookmark-bmenu-other-window] -- select this bookmark in another window, |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1605 so the bookmark menu bookmark remains visible in its window. |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1606 \\[bookmark-bmenu-switch-other-window] -- switch the other window to this bookmark. |
106697
ac408704629c
lisp/*: Fix typos in docstrings and messages.
Juanma Barranquero <lekktu@gmail.com>
parents:
106210
diff
changeset
|
1607 \\[bookmark-bmenu-rename] -- rename this bookmark (prompts for new name). |
ac408704629c
lisp/*: Fix typos in docstrings and messages.
Juanma Barranquero <lekktu@gmail.com>
parents:
106210
diff
changeset
|
1608 \\[bookmark-bmenu-relocate] -- relocate this bookmark's file (prompts for new file). |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1609 \\[bookmark-bmenu-delete] -- mark this bookmark to be deleted, and move down. |
35283 | 1610 \\[bookmark-bmenu-delete-backwards] -- mark this bookmark to be deleted, and move up. |
14039
831c5fda97f4
"cyclic.com" addresses changed to "red-bean.com".
Karl Fogel <kfogel@red-bean.com>
parents:
13969
diff
changeset
|
1611 \\[bookmark-bmenu-execute-deletions] -- delete bookmarks marked with `\\[bookmark-bmenu-delete]'. |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1612 \\[bookmark-bmenu-save] -- save the current bookmark list in the default file. |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1613 With a prefix arg, prompts for a file to save in. |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1614 \\[bookmark-bmenu-load] -- load in a file of bookmarks (prompts for file.) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1615 \\[bookmark-bmenu-unmark] -- remove all kinds of marks from current line. |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1616 With prefix argument, also move up one line. |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1617 \\[bookmark-bmenu-backup-unmark] -- back up a line and remove marks. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1618 \\[bookmark-bmenu-show-annotation] -- show the annotation, if it exists, for the current bookmark |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1619 in another buffer. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1620 \\[bookmark-bmenu-show-all-annotations] -- show the annotations of all bookmarks in another buffer. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1621 \\[bookmark-bmenu-edit-annotation] -- edit the annotation for the current bookmark." |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1622 (kill-all-local-variables) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1623 (use-local-map bookmark-bmenu-mode-map) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1624 (setq truncate-lines t) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1625 (setq buffer-read-only t) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1626 (setq major-mode 'bookmark-bmenu-mode) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1627 (setq mode-name "Bookmark Menu") |
62718
d00be6e651cd
(bookmark-read-annotation-mode, bookmark-edit-annotation-mode)
Lute Kamstra <lute@gnu.org>
parents:
61454
diff
changeset
|
1628 (run-mode-hooks 'bookmark-bmenu-mode-hook)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1629 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1630 |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1631 (defun bookmark-bmenu-toggle-filenames (&optional show) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1632 "Toggle whether filenames are shown in the bookmark list. |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1633 Optional argument SHOW means show them unconditionally." |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1634 (interactive) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1635 (cond |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1636 (show |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1637 (setq bookmark-bmenu-toggle-filenames nil) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1638 (bookmark-bmenu-show-filenames) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1639 (setq bookmark-bmenu-toggle-filenames t)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1640 (bookmark-bmenu-toggle-filenames |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1641 (bookmark-bmenu-hide-filenames) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1642 (setq bookmark-bmenu-toggle-filenames nil)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1643 (t |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1644 (bookmark-bmenu-show-filenames) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1645 (setq bookmark-bmenu-toggle-filenames t)))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1646 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1647 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1648 (defun bookmark-bmenu-show-filenames (&optional force) |
105445 | 1649 "In an interactive bookmark list, show filenames along with bookmarks. |
105759
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
1650 Non-nil FORCE forces a redisplay showing the filenames. FORCE is used |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
1651 mainly for debugging, and should not be necessary in normal use." |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1652 (if (and (not force) bookmark-bmenu-toggle-filenames) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1653 nil ;already shown, so do nothing |
106710
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1654 (with-buffer-modified-unmodified |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1655 (save-excursion |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1656 (save-window-excursion |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1657 (goto-char (point-min)) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1658 (forward-line 2) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1659 (setq bookmark-bmenu-hidden-bookmarks ()) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1660 (let ((inhibit-read-only t)) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1661 (while (< (point) (point-max)) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1662 (let ((bmrk (bookmark-bmenu-bookmark))) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1663 (push bmrk bookmark-bmenu-hidden-bookmarks) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1664 (let ((start (save-excursion (end-of-line) (point)))) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1665 (move-to-column bookmark-bmenu-file-column t) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1666 ;; Strip off `mouse-face' from the white spaces region. |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1667 (if (display-mouse-p) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1668 (remove-text-properties start (point) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1669 '(mouse-face nil help-echo nil)))) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1670 (delete-region (point) (progn (end-of-line) (point))) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1671 (insert " ") |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1672 ;; Pass the NO-HISTORY arg: |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1673 (bookmark-insert-location bmrk t) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1674 (forward-line 1))))))))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1675 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1676 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1677 (defun bookmark-bmenu-hide-filenames (&optional force) |
105445 | 1678 "In an interactive bookmark list, hide the filenames of the bookmarks. |
105759
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
1679 Non-nil FORCE forces a redisplay showing the filenames. FORCE is used |
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
1680 mainly for debugging, and should not be necessary in normal use." |
106181
36947fb87ecd
(bookmark-bmenu-bookmark-column): Remove var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106179
diff
changeset
|
1681 (when (and (not force) bookmark-bmenu-toggle-filenames) |
36947fb87ecd
(bookmark-bmenu-bookmark-column): Remove var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106179
diff
changeset
|
1682 ;; nothing to hide if above is nil |
106710
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1683 (with-buffer-modified-unmodified |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1684 (save-excursion |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1685 (goto-char (point-min)) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1686 (forward-line 2) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1687 (setq bookmark-bmenu-hidden-bookmarks |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1688 (nreverse bookmark-bmenu-hidden-bookmarks)) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1689 (let ((inhibit-read-only t)) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1690 (while bookmark-bmenu-hidden-bookmarks |
106714
396a004a924b
* lisp/bookmark.el: Consistently put the text property on the bookmark name.
Karl Fogel <kfogel@red-bean.com>
parents:
106713
diff
changeset
|
1691 (move-to-column bookmark-bmenu-marks-width t) |
106710
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1692 (bookmark-kill-line) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1693 (let ((name (pop bookmark-bmenu-hidden-bookmarks)) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1694 (start (point))) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1695 (insert name) |
106714
396a004a924b
* lisp/bookmark.el: Consistently put the text property on the bookmark name.
Karl Fogel <kfogel@red-bean.com>
parents:
106713
diff
changeset
|
1696 (put-text-property start (point) 'bookmark-name-prop name) |
106710
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1697 (if (display-mouse-p) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1698 (add-text-properties |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1699 start (point) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1700 '(mouse-face |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1701 highlight follow-link t help-echo |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1702 "mouse-2: go to this bookmark in other window")))) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1703 (forward-line 1))))))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1704 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1705 |
106700
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1706 (defun bookmark-bmenu-ensure-position () |
105759
110c55336723
* bookmark.el: Update documentation, especially documentation
Karl Fogel <kfogel@red-bean.com>
parents:
105744
diff
changeset
|
1707 "If point is not on a bookmark line, move it to one. |
106700
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1708 If before the first bookmark line, move to the first; if after the |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1709 last full line, move to the last full line. The return value is undefined." |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1710 (cond ((< (count-lines (point-min) (point)) bookmark-bmenu-header-height) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1711 (goto-char (point-min)) |
106700
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1712 (forward-line bookmark-bmenu-header-height)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1713 ((and (bolp) (eobp)) |
106700
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1714 (beginning-of-line 0)))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1715 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1716 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1717 (defun bookmark-bmenu-bookmark () |
105445 | 1718 "Return the bookmark for this line in an interactive bookmark list buffer." |
106700
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1719 (bookmark-bmenu-ensure-position) |
106701
a3eff1130b76
* lisp/bookmark.el (bookmark-bmenu-marks-width): Define to 1, not 2.
Karl Fogel <kfogel@red-bean.com>
parents:
106700
diff
changeset
|
1720 (save-excursion |
a3eff1130b76
* lisp/bookmark.el (bookmark-bmenu-marks-width): Define to 1, not 2.
Karl Fogel <kfogel@red-bean.com>
parents:
106700
diff
changeset
|
1721 (beginning-of-line) |
a3eff1130b76
* lisp/bookmark.el (bookmark-bmenu-marks-width): Define to 1, not 2.
Karl Fogel <kfogel@red-bean.com>
parents:
106700
diff
changeset
|
1722 (forward-char bookmark-bmenu-marks-width) |
a3eff1130b76
* lisp/bookmark.el (bookmark-bmenu-marks-width): Define to 1, not 2.
Karl Fogel <kfogel@red-bean.com>
parents:
106700
diff
changeset
|
1723 (get-text-property (point) 'bookmark-name-prop))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1724 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1725 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1726 (defun bookmark-show-annotation (bookmark) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1727 "Display the annotation for bookmark named BOOKMARK in a buffer, |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1728 if an annotation exists." |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1729 (let ((annotation (bookmark-get-annotation bookmark))) |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1730 (if (and annotation (not (string-equal annotation ""))) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1731 (save-excursion |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1732 (let ((old-buf (current-buffer))) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1733 (pop-to-buffer (get-buffer-create "*Bookmark Annotation*") t) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1734 (delete-region (point-min) (point-max)) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1735 ;; (insert (concat "Annotation for bookmark '" bookmark "':\n\n")) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1736 (insert annotation) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1737 (goto-char (point-min)) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1738 (pop-to-buffer old-buf)))))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1739 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1740 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1741 (defun bookmark-show-all-annotations () |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1742 "Display the annotations for all bookmarks in a buffer." |
105787
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1743 (save-selected-window |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1744 (pop-to-buffer (get-buffer-create "*Bookmark Annotation*") t) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1745 (delete-region (point-min) (point-max)) |
105787
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1746 (dolist (full-record bookmark-alist) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1747 (let* ((name (bookmark-name-from-full-record full-record)) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1748 (ann (bookmark-get-annotation full-record))) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1749 (insert (concat name ":\n")) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1750 (if (and ann (not (string-equal ann ""))) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1751 ;; insert the annotation, indented by 4 spaces. |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1752 (progn |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1753 (save-excursion (insert ann) (unless (bolp) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1754 (insert "\n"))) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1755 (while (< (point) (point-max)) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1756 (beginning-of-line) ; paranoia |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1757 (insert " ") |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1758 (forward-line) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1759 (end-of-line)))))) |
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
1760 (goto-char (point-min)))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1761 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1762 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1763 (defun bookmark-bmenu-mark () |
15193
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
1764 "Mark bookmark on this line to be displayed by \\<bookmark-bmenu-mode-map>\\[bookmark-bmenu-select]." |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1765 (interactive) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1766 (beginning-of-line) |
106700
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1767 (bookmark-bmenu-ensure-position) |
106710
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1768 (with-buffer-modified-unmodified |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1769 (let ((inhibit-read-only t)) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1770 (delete-char 1) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1771 (insert ?>) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1772 (forward-line 1) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1773 (bookmark-bmenu-ensure-position)))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1774 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1775 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1776 (defun bookmark-bmenu-select () |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1777 "Select this line's bookmark; also display bookmarks marked with `>'. |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1778 You can mark bookmarks with the \\<bookmark-bmenu-mode-map>\\[bookmark-bmenu-mark] command." |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1779 (interactive) |
106700
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1780 (let ((bmrk (bookmark-bmenu-bookmark)) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1781 (menu (current-buffer)) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1782 (others ()) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1783 tem) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1784 (goto-char (point-min)) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1785 (while (re-search-forward "^>" nil t) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1786 (setq tem (bookmark-bmenu-bookmark)) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1787 (let ((inhibit-read-only t)) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1788 (delete-char -1) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1789 (insert ?\s)) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1790 (or (string-equal tem bmrk) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1791 (member tem others) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1792 (setq others (cons tem others)))) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1793 (setq others (nreverse others) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1794 tem (/ (1- (frame-height)) (1+ (length others)))) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1795 (delete-other-windows) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1796 (bookmark-jump bmrk) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1797 (bury-buffer menu) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1798 (if others |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1799 (while others |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1800 (split-window nil tem) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1801 (other-window 1) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1802 (bookmark-jump (car others)) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1803 (setq others (cdr others))) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1804 (other-window 1)))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1805 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1806 |
106702
d4fd57e5eafd
* lisp/bookmark.el (bookmark-bmenu-any-marks): New function
Karl Fogel <kfogel@red-bean.com>
parents:
106701
diff
changeset
|
1807 (defun bookmark-bmenu-any-marks () |
d4fd57e5eafd
* lisp/bookmark.el (bookmark-bmenu-any-marks): New function
Karl Fogel <kfogel@red-bean.com>
parents:
106701
diff
changeset
|
1808 "Return non-nil if any bookmarks are marked in the marks column." |
d4fd57e5eafd
* lisp/bookmark.el (bookmark-bmenu-any-marks): New function
Karl Fogel <kfogel@red-bean.com>
parents:
106701
diff
changeset
|
1809 (save-excursion |
d4fd57e5eafd
* lisp/bookmark.el (bookmark-bmenu-any-marks): New function
Karl Fogel <kfogel@red-bean.com>
parents:
106701
diff
changeset
|
1810 (goto-char (point-min)) |
d4fd57e5eafd
* lisp/bookmark.el (bookmark-bmenu-any-marks): New function
Karl Fogel <kfogel@red-bean.com>
parents:
106701
diff
changeset
|
1811 (bookmark-bmenu-ensure-position) |
d4fd57e5eafd
* lisp/bookmark.el (bookmark-bmenu-any-marks): New function
Karl Fogel <kfogel@red-bean.com>
parents:
106701
diff
changeset
|
1812 (catch 'found-mark |
d4fd57e5eafd
* lisp/bookmark.el (bookmark-bmenu-any-marks): New function
Karl Fogel <kfogel@red-bean.com>
parents:
106701
diff
changeset
|
1813 (while (not (eobp)) |
d4fd57e5eafd
* lisp/bookmark.el (bookmark-bmenu-any-marks): New function
Karl Fogel <kfogel@red-bean.com>
parents:
106701
diff
changeset
|
1814 (beginning-of-line) |
d4fd57e5eafd
* lisp/bookmark.el (bookmark-bmenu-any-marks): New function
Karl Fogel <kfogel@red-bean.com>
parents:
106701
diff
changeset
|
1815 (if (looking-at "^\\S-") |
d4fd57e5eafd
* lisp/bookmark.el (bookmark-bmenu-any-marks): New function
Karl Fogel <kfogel@red-bean.com>
parents:
106701
diff
changeset
|
1816 (throw 'found-mark t) |
d4fd57e5eafd
* lisp/bookmark.el (bookmark-bmenu-any-marks): New function
Karl Fogel <kfogel@red-bean.com>
parents:
106701
diff
changeset
|
1817 (forward-line 1))) |
d4fd57e5eafd
* lisp/bookmark.el (bookmark-bmenu-any-marks): New function
Karl Fogel <kfogel@red-bean.com>
parents:
106701
diff
changeset
|
1818 nil))) |
d4fd57e5eafd
* lisp/bookmark.el (bookmark-bmenu-any-marks): New function
Karl Fogel <kfogel@red-bean.com>
parents:
106701
diff
changeset
|
1819 |
d4fd57e5eafd
* lisp/bookmark.el (bookmark-bmenu-any-marks): New function
Karl Fogel <kfogel@red-bean.com>
parents:
106701
diff
changeset
|
1820 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1821 (defun bookmark-bmenu-save (parg) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1822 "Save the current list into a bookmark file. |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1823 With a prefix arg, prompts for a file to save them in." |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1824 (interactive "P") |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1825 (save-excursion |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1826 (save-window-excursion |
106712
ba9ed2ec36e5
* lisp/bookmark.el (bookmark-bmenu-save): Just depend on the new logic
Karl Fogel <kfogel@red-bean.com>
parents:
106710
diff
changeset
|
1827 (bookmark-save parg) |
ba9ed2ec36e5
* lisp/bookmark.el (bookmark-bmenu-save): Just depend on the new logic
Karl Fogel <kfogel@red-bean.com>
parents:
106710
diff
changeset
|
1828 (set-buffer-modified-p nil)))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1829 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1830 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1831 (defun bookmark-bmenu-load () |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1832 "Load the bookmark file and rebuild the bookmark menu-buffer." |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1833 (interactive) |
106700
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1834 (bookmark-bmenu-ensure-position) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1835 (save-excursion |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1836 (save-window-excursion |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1837 ;; This will call `bookmark-bmenu-list' |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1838 (call-interactively 'bookmark-load)))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1839 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1840 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1841 (defun bookmark-bmenu-1-window () |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1842 "Select this line's bookmark, alone, in full frame." |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1843 (interactive) |
106700
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1844 (bookmark-jump (bookmark-bmenu-bookmark)) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1845 (bury-buffer (other-buffer)) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1846 (delete-other-windows)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1847 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1848 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1849 (defun bookmark-bmenu-2-window () |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1850 "Select this line's bookmark, with previous buffer in second window." |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1851 (interactive) |
106700
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1852 (let ((bmrk (bookmark-bmenu-bookmark)) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1853 (menu (current-buffer)) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1854 (pop-up-windows t)) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1855 (delete-other-windows) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1856 (switch-to-buffer (other-buffer)) |
109281
81cfe104e929
Remove unnecessary let-bindings in bookmark.el (Bug#6515)
Chong Yidong <cyd@stupidchicken.com>
parents:
107192
diff
changeset
|
1857 (bookmark--jump-via bmrk 'pop-to-buffer) |
106700
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1858 (bury-buffer menu))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1859 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1860 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1861 (defun bookmark-bmenu-this-window () |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1862 "Select this line's bookmark in this window." |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1863 (interactive) |
106700
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1864 (bookmark-jump (bookmark-bmenu-bookmark))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1865 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1866 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1867 (defun bookmark-bmenu-other-window () |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1868 "Select this line's bookmark in other window, leaving bookmark menu visible." |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1869 (interactive) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1870 (let ((bookmark (bookmark-bmenu-bookmark))) |
109281
81cfe104e929
Remove unnecessary let-bindings in bookmark.el (Bug#6515)
Chong Yidong <cyd@stupidchicken.com>
parents:
107192
diff
changeset
|
1871 (bookmark--jump-via bookmark 'switch-to-buffer-other-window))) |
11021
83b6c53268c3
(bookmark-bmenu-2-window): go to correct position as well as
Karl Fogel <kfogel@red-bean.com>
parents:
10994
diff
changeset
|
1872 |
83b6c53268c3
(bookmark-bmenu-2-window): go to correct position as well as
Karl Fogel <kfogel@red-bean.com>
parents:
10994
diff
changeset
|
1873 |
83b6c53268c3
(bookmark-bmenu-2-window): go to correct position as well as
Karl Fogel <kfogel@red-bean.com>
parents:
10994
diff
changeset
|
1874 (defun bookmark-bmenu-switch-other-window () |
83b6c53268c3
(bookmark-bmenu-2-window): go to correct position as well as
Karl Fogel <kfogel@red-bean.com>
parents:
10994
diff
changeset
|
1875 "Make the other window select this line's bookmark. |
83b6c53268c3
(bookmark-bmenu-2-window): go to correct position as well as
Karl Fogel <kfogel@red-bean.com>
parents:
10994
diff
changeset
|
1876 The current window remains selected." |
83b6c53268c3
(bookmark-bmenu-2-window): go to correct position as well as
Karl Fogel <kfogel@red-bean.com>
parents:
10994
diff
changeset
|
1877 (interactive) |
22251
5989fa41cda6
Changes so bookmark list mode works with Info:
Richard M. Stallman <rms@gnu.org>
parents:
21094
diff
changeset
|
1878 (let ((bookmark (bookmark-bmenu-bookmark)) |
5989fa41cda6
Changes so bookmark list mode works with Info:
Richard M. Stallman <rms@gnu.org>
parents:
21094
diff
changeset
|
1879 (pop-up-windows t) |
35283 | 1880 same-window-buffer-names |
22251
5989fa41cda6
Changes so bookmark list mode works with Info:
Richard M. Stallman <rms@gnu.org>
parents:
21094
diff
changeset
|
1881 same-window-regexps) |
109281
81cfe104e929
Remove unnecessary let-bindings in bookmark.el (Bug#6515)
Chong Yidong <cyd@stupidchicken.com>
parents:
107192
diff
changeset
|
1882 (bookmark--jump-via bookmark 'display-buffer))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1883 |
17265
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1884 (defun bookmark-bmenu-other-window-with-mouse (event) |
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1885 "Select bookmark at the mouse pointer in other window, leaving bookmark menu visible." |
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1886 (interactive "e") |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
1887 (with-current-buffer (window-buffer (posn-window (event-end event))) |
17265
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1888 (save-excursion |
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1889 (goto-char (posn-point (event-end event))) |
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1890 (bookmark-bmenu-other-window)))) |
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1891 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1892 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1893 (defun bookmark-bmenu-show-annotation () |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1894 "Show the annotation for the current bookmark in another window." |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1895 (interactive) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1896 (let ((bookmark (bookmark-bmenu-bookmark))) |
106700
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1897 (bookmark-show-annotation bookmark))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1898 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1899 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1900 (defun bookmark-bmenu-show-all-annotations () |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1901 "Show the annotation for all bookmarks in another window." |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1902 (interactive) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1903 (bookmark-show-all-annotations)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1904 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1905 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1906 (defun bookmark-bmenu-edit-annotation () |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1907 "Edit the annotation for the current bookmark in another window." |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1908 (interactive) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1909 (let ((bookmark (bookmark-bmenu-bookmark))) |
106700
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1910 (bookmark-edit-annotation bookmark))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1911 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1912 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1913 (defun bookmark-bmenu-unmark (&optional backup) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1914 "Cancel all requested operations on bookmark on this line and move down. |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1915 Optional BACKUP means move up." |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1916 (interactive "P") |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1917 (beginning-of-line) |
106700
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1918 (bookmark-bmenu-ensure-position) |
106710
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1919 (with-buffer-modified-unmodified |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1920 (let ((inhibit-read-only t)) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1921 (delete-char 1) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1922 ;; any flags to reset according to circumstances? How about a |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1923 ;; flag indicating whether this bookmark is being visited? |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1924 ;; well, we don't have this now, so maybe later. |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1925 (insert " ")) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1926 (forward-line (if backup -1 1)) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1927 (bookmark-bmenu-ensure-position))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1928 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1929 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1930 (defun bookmark-bmenu-backup-unmark () |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1931 "Move up and cancel all requested operations on bookmark on line above." |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1932 (interactive) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1933 (forward-line -1) |
106700
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1934 (bookmark-bmenu-ensure-position) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1935 (bookmark-bmenu-unmark) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1936 (forward-line -1) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1937 (bookmark-bmenu-ensure-position)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1938 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1939 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1940 (defun bookmark-bmenu-delete () |
15193
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
1941 "Mark bookmark on this line to be deleted. |
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
1942 To carry out the deletions that you've marked, use \\<bookmark-bmenu-mode-map>\\[bookmark-bmenu-execute-deletions]." |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1943 (interactive) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1944 (beginning-of-line) |
106700
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1945 (bookmark-bmenu-ensure-position) |
106710
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1946 (with-buffer-modified-unmodified |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1947 (let ((inhibit-read-only t)) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1948 (delete-char 1) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1949 (insert ?D) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1950 (forward-line 1) |
a96887ed3368
* lisp/bookmark.el: Show modified state of bookmark buffer more accurately.
Karl Fogel <kfogel@red-bean.com>
parents:
106709
diff
changeset
|
1951 (bookmark-bmenu-ensure-position)))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1952 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1953 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1954 (defun bookmark-bmenu-delete-backwards () |
15193
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
1955 "Mark bookmark on this line to be deleted, then move up one line. |
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
1956 To carry out the deletions that you've marked, use \\<bookmark-bmenu-mode-map>\\[bookmark-bmenu-execute-deletions]." |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1957 (interactive) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1958 (bookmark-bmenu-delete) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1959 (forward-line -2) |
106700
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1960 (bookmark-bmenu-ensure-position) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1961 (forward-line 1) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1962 (bookmark-bmenu-ensure-position)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1963 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1964 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1965 (defun bookmark-bmenu-execute-deletions () |
106821
203a882ff4c0
* lisp/bookmark.el (bookmark-bmenu-execute-deletions): Doc fix (Bug#5276).
Karl Fogel <karl.fogel@canonical.com>
parents:
106815
diff
changeset
|
1966 "Delete bookmarks flagged `D'." |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1967 (interactive) |
14039
831c5fda97f4
"cyclic.com" addresses changed to "red-bean.com".
Karl Fogel <kfogel@red-bean.com>
parents:
13969
diff
changeset
|
1968 (message "Deleting bookmarks...") |
106181
36947fb87ecd
(bookmark-bmenu-bookmark-column): Remove var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106179
diff
changeset
|
1969 (let ((o-point (point)) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1970 (o-str (save-excursion |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1971 (beginning-of-line) |
106181
36947fb87ecd
(bookmark-bmenu-bookmark-column): Remove var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106179
diff
changeset
|
1972 (unless (looking-at "^D") |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1973 (buffer-substring |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1974 (point) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1975 (progn (end-of-line) (point)))))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1976 (o-col (current-column))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1977 (goto-char (point-min)) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1978 (forward-line 1) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1979 (while (re-search-forward "^D" (point-max) t) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1980 (bookmark-delete (bookmark-bmenu-bookmark) t)) ; pass BATCH arg |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1981 (bookmark-bmenu-list) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1982 (if o-str |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1983 (progn |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1984 (goto-char (point-min)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1985 (search-forward o-str) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1986 (beginning-of-line) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1987 (forward-char o-col)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1988 (goto-char o-point)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1989 (beginning-of-line) |
14039
831c5fda97f4
"cyclic.com" addresses changed to "red-bean.com".
Karl Fogel <kfogel@red-bean.com>
parents:
13969
diff
changeset
|
1990 (message "Deleting bookmarks...done") |
831c5fda97f4
"cyclic.com" addresses changed to "red-bean.com".
Karl Fogel <kfogel@red-bean.com>
parents:
13969
diff
changeset
|
1991 )) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1992 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1993 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1994 (defun bookmark-bmenu-rename () |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1995 "Rename bookmark on current line. Prompts for a new name." |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1996 (interactive) |
106700
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1997 (let ((bmrk (bookmark-bmenu-bookmark)) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1998 (thispoint (point))) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
1999 (bookmark-rename bmrk) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
2000 (goto-char thispoint))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
2001 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
2002 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
2003 (defun bookmark-bmenu-locate () |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
2004 "Display location of this bookmark. Displays in the minibuffer." |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
2005 (interactive) |
106709
f497db0aba00
* lisp/bookmark.el (bookmark-bmenu-select, bookmark-bmenu-1-window,
Karl Fogel <kfogel@red-bean.com>
parents:
106703
diff
changeset
|
2006 (let ((bmrk (bookmark-bmenu-bookmark))) |
f497db0aba00
* lisp/bookmark.el (bookmark-bmenu-select, bookmark-bmenu-1-window,
Karl Fogel <kfogel@red-bean.com>
parents:
106703
diff
changeset
|
2007 (message "%s" (bookmark-location bmrk)))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
2008 |
56059
4e04e776fb5e
* bookmark.el (bookmark-bmenu-relocate): New function, as
Karl Fogel <kfogel@red-bean.com>
parents:
54906
diff
changeset
|
2009 (defun bookmark-bmenu-relocate () |
4e04e776fb5e
* bookmark.el (bookmark-bmenu-relocate): New function, as
Karl Fogel <kfogel@red-bean.com>
parents:
54906
diff
changeset
|
2010 "Change the file path of the bookmark on the current line, |
4e04e776fb5e
* bookmark.el (bookmark-bmenu-relocate): New function, as
Karl Fogel <kfogel@red-bean.com>
parents:
54906
diff
changeset
|
2011 prompting with completion for the new path." |
4e04e776fb5e
* bookmark.el (bookmark-bmenu-relocate): New function, as
Karl Fogel <kfogel@red-bean.com>
parents:
54906
diff
changeset
|
2012 (interactive) |
106700
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
2013 (let ((bmrk (bookmark-bmenu-bookmark)) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
2014 (thispoint (point))) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
2015 (bookmark-relocate bmrk) |
dc3fdb0cfdc7
* lisp/bookmark.el: Improvements suggested by Drew Adams:
Karl Fogel <kfogel@red-bean.com>
parents:
106697
diff
changeset
|
2016 (goto-char thispoint))) |
4537 | 2017 |
106166
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
2018 ;;; Bookmark-bmenu search |
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
2019 |
106179
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2020 ;; Store keyboard input for incremental search. |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2021 (defvar bookmark-search-pattern) |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2022 |
106166
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
2023 (defun bookmark-read-search-input () |
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
2024 "Read each keyboard input and add it to `bookmark-search-pattern'." |
106179
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2025 (let ((prompt (propertize "Pattern: " 'face 'minibuffer-prompt)) |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2026 ;; (inhibit-quit t) ; inhibit-quit is evil. Use it with extreme care! |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2027 (tmp-list ())) |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2028 (while |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2029 (let ((char (read-key (concat prompt bookmark-search-pattern)))) |
106166
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
2030 (case char |
106179
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2031 ((?\e ?\r) nil) ; RET or ESC break the search loop. |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2032 (?\C-g (setq bookmark-quit-flag t) nil) |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2033 (?\d (pop tmp-list) t) ; Delete last char of pattern with DEL |
106166
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
2034 (t |
106179
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2035 (if (characterp char) |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2036 (push char tmp-list) |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2037 (setq unread-command-events |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2038 (nconc (mapcar 'identity |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2039 (this-single-command-raw-keys)) |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2040 unread-command-events)) |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2041 nil)))) |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2042 (setq bookmark-search-pattern |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2043 (apply 'string (reverse tmp-list)))))) |
106166
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
2044 |
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
2045 |
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
2046 (defun bookmark-bmenu-filter-alist-by-regexp (regexp) |
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
2047 "Filter `bookmark-alist' with bookmarks matching REGEXP and rebuild list." |
106179
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2048 (let ((bookmark-alist |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2049 (loop for i in bookmark-alist |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2050 when (string-match regexp (car i)) collect i into new |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2051 finally return new))) |
106166
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
2052 (bookmark-bmenu-list))) |
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
2053 |
106179
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2054 |
106166
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
2055 ;;;###autoload |
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
2056 (defun bookmark-bmenu-search () |
106179
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2057 "Incremental search of bookmarks, hiding the non-matches as we go." |
106166
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
2058 (interactive) |
106179
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2059 (let ((bmk (bookmark-bmenu-bookmark)) |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2060 (bookmark-search-pattern "") |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2061 (timer (run-with-idle-timer |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2062 bookmark-search-delay 'repeat |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2063 #'(lambda () |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2064 (bookmark-bmenu-filter-alist-by-regexp |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2065 bookmark-search-pattern))))) |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2066 (unwind-protect |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2067 (bookmark-read-search-input) |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2068 (cancel-timer timer) |
106209
d82b527709ef
(bookmark-bmenu-search): Clear echo area when exiting.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106181
diff
changeset
|
2069 (message nil) |
106179
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2070 (when bookmark-quit-flag ; C-g hit restore menu list. |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2071 (bookmark-bmenu-list) (bookmark-bmenu-goto-bookmark bmk)) |
0cc25cd9870d
(bookmark-search-prompt, bookmark-search-timer): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
106172
diff
changeset
|
2072 (setq bookmark-quit-flag nil)))) |
106697
ac408704629c
lisp/*: Fix typos in docstrings and messages.
Juanma Barranquero <lekktu@gmail.com>
parents:
106210
diff
changeset
|
2073 |
106166
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
2074 (defun bookmark-bmenu-goto-bookmark (name) |
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
2075 "Move point to bookmark with name NAME." |
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
2076 (goto-char (point-min)) |
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
2077 (while (not (equal name (bookmark-bmenu-bookmark))) |
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
2078 (forward-line 1)) |
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
2079 (forward-line 0)) |
106697
ac408704629c
lisp/*: Fix typos in docstrings and messages.
Juanma Barranquero <lekktu@gmail.com>
parents:
106210
diff
changeset
|
2080 |
106166
858a083ed2f0
* bookmark.el (bookmark-search-delay, bookmark-search-prompt): New options.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105920
diff
changeset
|
2081 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
2082 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
2083 ;;; Menu bar stuff. Prefix is "bookmark-menu". |
4537 | 2084 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
2085 (defun bookmark-menu-popup-paned-menu (event name entries) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
2086 "Pop up multi-paned menu at EVENT, return string chosen from ENTRIES. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
2087 That is, ENTRIES is a list of strings which appear as the choices |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
2088 in the menu. |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2089 The number of panes depends on the number of entries. |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2090 The visible entries are truncated to `bookmark-menu-length', but the |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2091 strings returned are not." |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2092 (let ((f-height (/ (frame-height) 2)) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2093 (pane-list nil) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2094 (iter 0)) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2095 (while entries |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2096 (let (lst |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2097 (count 0)) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2098 (while (and (< count f-height) entries) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2099 (let ((str (car entries))) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2100 (push (cons |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2101 (if (> (length str) bookmark-menu-length) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2102 (substring str 0 bookmark-menu-length) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2103 str) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2104 str) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2105 lst) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2106 (setq entries (cdr entries)) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2107 (setq count (1+ count)))) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2108 (setq iter (1+ iter)) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2109 (push (cons |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2110 (format "-*- %s (%d) -*-" name iter) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2111 (nreverse lst)) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2112 pane-list))) |
64634
4045a1b1a5c9
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2113 |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2114 ;; Popup the menu and return the string. |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2115 (x-popup-menu event (cons (concat "-*- " name " -*-") |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2116 (nreverse pane-list))))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
2117 |
4537 | 2118 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
2119 ;; Thanks to Roland McGrath for fixing menubar.el so that the |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
2120 ;; following works, and for explaining what to do to make it work. |
4537 | 2121 |
11218
fc73b8f750f1
(menu-bar-bookmark-map): Autoload each form
Richard M. Stallman <rms@gnu.org>
parents:
11070
diff
changeset
|
2122 ;; We MUST autoload EACH form used to set up this variable's value, so |
fc73b8f750f1
(menu-bar-bookmark-map): Autoload each form
Richard M. Stallman <rms@gnu.org>
parents:
11070
diff
changeset
|
2123 ;; that the whole job is done in loaddefs.el. |
4537 | 2124 |
15193
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
2125 ;; Emacs menubar stuff. |
13895
0c12b3398d37
Removed all `bookmark-xemacsp' conditional code relating to menus. Do
Karl Fogel <kfogel@red-bean.com>
parents:
12880
diff
changeset
|
2126 |
11218
fc73b8f750f1
(menu-bar-bookmark-map): Autoload each form
Richard M. Stallman <rms@gnu.org>
parents:
11070
diff
changeset
|
2127 ;;;###autoload |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2128 (defvar menu-bar-bookmark-map |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2129 (let ((map (make-sparse-keymap "Bookmark functions"))) |
105744
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2130 (define-key map [load] |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2131 `(menu-item ,(purecopy "Load a Bookmark File...") bookmark-load |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2132 :help ,(purecopy "Load bookmarks from a bookmark file)"))) |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2133 (define-key map [write] |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2134 `(menu-item ,(purecopy "Save Bookmarks As...") bookmark-write |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2135 :help ,(purecopy "Write bookmarks to a file (reading the file name with the minibuffer)"))) |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2136 (define-key map [save] |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2137 `(menu-item ,(purecopy "Save Bookmarks") bookmark-save |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2138 :help ,(purecopy "Save currently defined bookmarks"))) |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2139 (define-key map [edit] |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2140 `(menu-item ,(purecopy "Edit Bookmark List") bookmark-bmenu-list |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2141 :help ,(purecopy "Display a list of existing bookmarks"))) |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2142 (define-key map [delete] |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2143 `(menu-item ,(purecopy "Delete Bookmark...") bookmark-delete |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2144 :help ,(purecopy "Delete a bookmark from the bookmark list"))) |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2145 (define-key map [rename] |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2146 `(menu-item ,(purecopy "Rename Bookmark...") bookmark-rename |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2147 :help ,(purecopy "Change the name of a bookmark"))) |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2148 (define-key map [locate] |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2149 `(menu-item ,(purecopy "Insert Location...") bookmark-locate |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2150 :help ,(purecopy "Insert the name of the file associated with a bookmark"))) |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2151 (define-key map [insert] |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2152 `(menu-item ,(purecopy "Insert Contents...") bookmark-insert |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2153 :help ,(purecopy "Insert the text of the file pointed to by a bookmark"))) |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2154 (define-key map [set] |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2155 `(menu-item ,(purecopy "Set Bookmark...") bookmark-set |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2156 :help ,(purecopy "Set a bookmark named inside a file."))) |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2157 (define-key map [jump] |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2158 `(menu-item ,(purecopy "Jump to Bookmark...") bookmark-jump |
b0a732611398
* keymap.c (Fmake_sparse_keymap): Purecopy the name.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
105541
diff
changeset
|
2159 :help ,(purecopy "Jump to a bookmark (a point in some file)"))) |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2160 map)) |
13895
0c12b3398d37
Removed all `bookmark-xemacsp' conditional code relating to menus. Do
Karl Fogel <kfogel@red-bean.com>
parents:
12880
diff
changeset
|
2161 |
11218
fc73b8f750f1
(menu-bar-bookmark-map): Autoload each form
Richard M. Stallman <rms@gnu.org>
parents:
11070
diff
changeset
|
2162 ;;;###autoload |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2163 (defalias 'menu-bar-bookmark-map menu-bar-bookmark-map) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
2164 |
13895
0c12b3398d37
Removed all `bookmark-xemacsp' conditional code relating to menus. Do
Karl Fogel <kfogel@red-bean.com>
parents:
12880
diff
changeset
|
2165 ;; make bookmarks appear toward the right side of the menu. |
0c12b3398d37
Removed all `bookmark-xemacsp' conditional code relating to menus. Do
Karl Fogel <kfogel@red-bean.com>
parents:
12880
diff
changeset
|
2166 (if (boundp 'menu-bar-final-items) |
35283 | 2167 (if menu-bar-final-items |
105787
d5f02d259103
(bookmark-insert-location, bookmark-bmenu-list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105761
diff
changeset
|
2168 (push 'bookmark menu-bar-final-items)) |
13895
0c12b3398d37
Removed all `bookmark-xemacsp' conditional code relating to menus. Do
Karl Fogel <kfogel@red-bean.com>
parents:
12880
diff
changeset
|
2169 (setq menu-bar-final-items '(bookmark))) |
0c12b3398d37
Removed all `bookmark-xemacsp' conditional code relating to menus. Do
Karl Fogel <kfogel@red-bean.com>
parents:
12880
diff
changeset
|
2170 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
2171 ;;;; end bookmark menu stuff ;;;; |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
2172 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
2173 |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
2174 ;; Load Hook |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
2175 (defvar bookmark-load-hook nil |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2176 "Hook run at the end of loading bookmark.") |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
2177 |
96280
bfca3297fa0b
* bookmark.el (bookmark-alist): Allow the 2 slightly different formats
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
94678
diff
changeset
|
2178 ;; Exit Hook, called from kill-emacs-hook |
34529
8e38e93616a7
* bookmark.el: Provide a generic exit hook, as suggested by Ovidiu
Karl Fogel <kfogel@red-bean.com>
parents:
29476
diff
changeset
|
2179 (defvar bookmark-exit-hook nil |
64634
4045a1b1a5c9
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2180 "Hook run when Emacs exits.") |
4045a1b1a5c9
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2181 |
4045a1b1a5c9
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2182 (define-obsolete-variable-alias 'bookmark-exit-hooks 'bookmark-exit-hook "22.1") |
35283 | 2183 |
34529
8e38e93616a7
* bookmark.el: Provide a generic exit hook, as suggested by Ovidiu
Karl Fogel <kfogel@red-bean.com>
parents:
29476
diff
changeset
|
2184 (defun bookmark-exit-hook-internal () |
8e38e93616a7
* bookmark.el: Provide a generic exit hook, as suggested by Ovidiu
Karl Fogel <kfogel@red-bean.com>
parents:
29476
diff
changeset
|
2185 "Save bookmark state, if necessary, at Emacs exit time. |
64634
4045a1b1a5c9
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2186 This also runs `bookmark-exit-hook'." |
4045a1b1a5c9
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2187 (run-hooks 'bookmark-exit-hook) |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2188 (and bookmark-alist |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2189 (bookmark-time-to-save-p t) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2190 (bookmark-save))) |
34529
8e38e93616a7
* bookmark.el: Provide a generic exit hook, as suggested by Ovidiu
Karl Fogel <kfogel@red-bean.com>
parents:
29476
diff
changeset
|
2191 |
8e38e93616a7
* bookmark.el: Provide a generic exit hook, as suggested by Ovidiu
Karl Fogel <kfogel@red-bean.com>
parents:
29476
diff
changeset
|
2192 (add-hook 'kill-emacs-hook 'bookmark-exit-hook-internal) |
8e38e93616a7
* bookmark.el: Provide a generic exit hook, as suggested by Ovidiu
Karl Fogel <kfogel@red-bean.com>
parents:
29476
diff
changeset
|
2193 |
98537
acd509f38a6a
* bookmark.el (bookmark-unload-function): New function.
Juanma Barranquero <lekktu@gmail.com>
parents:
96438
diff
changeset
|
2194 (defun bookmark-unload-function () |
acd509f38a6a
* bookmark.el (bookmark-unload-function): New function.
Juanma Barranquero <lekktu@gmail.com>
parents:
96438
diff
changeset
|
2195 "Unload the Bookmark library." |
acd509f38a6a
* bookmark.el (bookmark-unload-function): New function.
Juanma Barranquero <lekktu@gmail.com>
parents:
96438
diff
changeset
|
2196 (when bookmark-save-flag (bookmark-save)) |
acd509f38a6a
* bookmark.el (bookmark-unload-function): New function.
Juanma Barranquero <lekktu@gmail.com>
parents:
96438
diff
changeset
|
2197 ;; continue standard unloading |
acd509f38a6a
* bookmark.el (bookmark-unload-function): New function.
Juanma Barranquero <lekktu@gmail.com>
parents:
96438
diff
changeset
|
2198 nil) |
acd509f38a6a
* bookmark.el (bookmark-unload-function): New function.
Juanma Barranquero <lekktu@gmail.com>
parents:
96438
diff
changeset
|
2199 |
34529
8e38e93616a7
* bookmark.el: Provide a generic exit hook, as suggested by Ovidiu
Karl Fogel <kfogel@red-bean.com>
parents:
29476
diff
changeset
|
2200 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
2201 (run-hooks 'bookmark-load-hook) |
4537 | 2202 |
2203 (provide 'bookmark) | |
35283 | 2204 |
87566
0c4a74c24677
* progmodes/ada-xref.el (ada-prj-find-prj-file):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87521
diff
changeset
|
2205 ;; arch-tag: 139f519a-dd0c-4b8d-8b5d-f9fcf53ca8f6 |
4595 | 2206 ;;; bookmark.el ends here |