Mercurial > emacs
annotate lisp/bookmark.el @ 94161:f6a929751bfd
(cvs-commit-buffer-require-final-newline, cvs-changelog-full-paragraphs):
Add WHEN to obsolescence declaration.
author | Juanma Barranquero <lekktu@gmail.com> |
---|---|
date | Fri, 18 Apr 2008 10:29:55 +0000 |
parents | 442e2ad714cd |
children | ee5932bf781d |
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, |
87566
0c4a74c24677
* progmodes/ada-xref.el (ada-prj-find-prj-file):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87521
diff
changeset
|
4 ;; 2004, 2005, 2006, 2007, 2008 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 | |
13 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
14 ;; it under the terms of the GNU General Public License as published by | |
78236
9355f9b7bbff
Switch license to GPLv3 or later.
Glenn Morris <rgm@gnu.org>
parents:
78160
diff
changeset
|
15 ;; the Free Software Foundation; either version 3, or (at your option) |
4537 | 16 ;; any later version. |
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 | |
14169 | 24 ;; along with GNU Emacs; see the file COPYING. If not, write to the |
64091 | 25 ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
26 ;; Boston, MA 02110-1301, USA. | |
14169 | 27 |
28 ;;; Commentary: | |
29 | |
30 ;; This package is for setting "bookmarks" in files. A bookmark | |
31 ;; associates a string with a location in a certain file. Thus, you | |
32 ;; can navigate your way to that location by providing the string. | |
33 ;; See the "User Variables" section for customizations. | |
4537 | 34 |
35 ;; Thanks to David Bremner <bremner@cs.sfu.ca> for thinking of and | |
36 ;; then implementing the bookmark-current-bookmark idea. He even | |
4891 | 37 ;; sent *patches*, bless his soul... |
4537 | 38 |
39 ;; Thanks to Gregory M. Saunders <saunders@cis.ohio-state.edu> for | |
40 ;; fixing and improving bookmark-time-to-save-p. | |
41 | |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
42 ;; Thanks go to Andrew V. Klein <avk@cig.mot.com> for the code that |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
43 ;; sorts the alist before presenting it to the user (in bookmark-bmenu-list |
4891 | 44 ;; and the menu-bar). |
45 | |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
46 ;; And much thanks to David Hughes <djh@harston.cv.com> for many small |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
47 ;; suggestions and the code to implement them (like |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
48 ;; bookmark-bmenu-check-position, and some of the Lucid compatibility |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
49 ;; stuff). |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
50 |
14039
831c5fda97f4
"cyclic.com" addresses changed to "red-bean.com".
Karl Fogel <kfogel@red-bean.com>
parents:
13969
diff
changeset
|
51 ;; Kudos (whatever they are) go to Jim Blandy <jimb@red-bean.com> |
4891 | 52 ;; for his eminently sensible suggestion to separate bookmark-jump |
53 ;; into bookmark-jump and bookmark-jump-noselect, which made many | |
54 ;; other things cleaner as well. | |
55 | |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
56 ;; Thanks to Roland McGrath for encouragement and help with defining |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
57 ;; autoloads on the menu-bar. |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
58 |
12880 | 59 ;; Jonathan Stigelman <stig@hackvan.com> gave patches for default |
4891 | 60 ;; values in bookmark-jump and bookmark-set. Everybody please keep |
61 ;; all the keystrokes they save thereby and send them to him at the | |
62 ;; end of each year :-) (No, seriously, thanks Jonathan!) | |
63 | |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
64 ;; Buckets of gratitude to John Grabowski <johng@media.mit.edu> for |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
65 ;; thinking up the annotations feature and implementing it so well. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
66 |
4537 | 67 ;; Based on info-bookmark.el, by Karl Fogel and Ken Olstad |
68 ;; <olstad@msc.edu>. | |
69 | |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
70 ;; Thanks to Mikio Nakajima <PBC01764@niftyserve.or.jp> for many bugs |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
71 ;; reported and fixed. |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
72 |
13895
0c12b3398d37
Removed all `bookmark-xemacsp' conditional code relating to menus. Do
Karl Fogel <kfogel@red-bean.com>
parents:
12880
diff
changeset
|
73 ;; Thank you, Michael Kifer, for contributing the XEmacs support. |
0c12b3398d37
Removed all `bookmark-xemacsp' conditional code relating to menus. Do
Karl Fogel <kfogel@red-bean.com>
parents:
12880
diff
changeset
|
74 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
75 ;; Enough with the credits already, get on to the good stuff: |
4537 | 76 |
35283 | 77 ;; FAVORITE CHINESE RESTAURANT: |
4537 | 78 ;; Boy, that's a tough one. Probably Hong Min, or maybe Emperor's |
79 ;; Choice (both in Chicago's Chinatown). Well, both. How about you? | |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
80 |
38436
b174db545cfd
Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents:
38173
diff
changeset
|
81 ;;; Code: |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
82 |
14169 | 83 (require 'pp) |
84 | |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
85 ;;; Misc comments: |
4537 | 86 ;; |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
87 ;; If variable bookmark-use-annotations is non-nil, an annotation is |
35283 | 88 ;; queried for when setting a bookmark. |
4595 | 89 ;; |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
90 ;; 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
|
91 ;; 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
|
92 ;; 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
|
93 ;; (chronologically), which is actually fairly useful as well. |
4537 | 94 |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
95 ;;; User Variables |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
96 |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
97 (defgroup bookmark nil |
17412
cd7152c1ca13
(bookmark, bookmark-use-annotations)
Richard M. Stallman <rms@gnu.org>
parents:
17411
diff
changeset
|
98 "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
|
99 :group 'matching) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
100 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
101 |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
102 (defcustom bookmark-use-annotations nil |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
103 "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
|
104 :type 'boolean |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
105 :group 'bookmark) |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
106 |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
107 |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
108 (defcustom bookmark-save-flag t |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
109 "Controls when Emacs saves bookmarks to a file. |
17412
cd7152c1ca13
(bookmark, bookmark-use-annotations)
Richard M. Stallman <rms@gnu.org>
parents:
17411
diff
changeset
|
110 --> nil means never save bookmarks, except when `bookmark-save' is |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
111 explicitly called \(\\[bookmark-save]\). |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
112 --> 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
|
113 --> Otherwise, it should be a number that is the frequency with which |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
114 the bookmark list is saved \(i.e.: the number of times which |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
115 Emacs' bookmark list may be modified before it is automatically |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
116 saved.\). If it is a number, Emacs will also automatically save |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
117 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
|
118 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
119 Therefore, the way to get it to save every time you make or delete a |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
120 bookmark is to set this variable to 1 \(or 0, which produces the same |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
121 behavior.\) |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
122 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
123 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
|
124 `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
|
125 :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
|
126 :group 'bookmark) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
127 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
128 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
129 (defconst bookmark-old-default-file "~/.emacs-bkmrks" |
17412
cd7152c1ca13
(bookmark, bookmark-use-annotations)
Richard M. Stallman <rms@gnu.org>
parents:
17411
diff
changeset
|
130 "*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
|
131 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
132 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
133 ;; 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
|
134 (defvar bookmark-file nil |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
135 "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
|
136 |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
137 (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
|
138 (if bookmark-file |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
139 ;; 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
|
140 bookmark-file |
16036
a9ced5af8a15
(bookmark-default-file): Use convert-standard-filename.
Richard M. Stallman <rms@gnu.org>
parents:
15193
diff
changeset
|
141 (convert-standard-filename "~/.emacs.bmk")) |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
142 "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
|
143 :type 'file |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
144 :group 'bookmark) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
145 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
146 |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
147 (defcustom bookmark-version-control 'nospecial |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
148 "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
|
149 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
|
150 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
|
151 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
|
152 use the value of `version-control'." |
22568
5682c77dce71
(bookmark-save-flag, bookmark-version-control): Use
Andreas Schwab <schwab@suse.de>
parents:
22251
diff
changeset
|
153 :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
|
154 (other t)) |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
155 :group 'bookmark) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
156 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
157 |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
158 (defcustom bookmark-completion-ignore-case t |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
159 "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
|
160 :type 'boolean |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
161 :group 'bookmark) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
162 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
163 |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
164 (defcustom bookmark-sort-flag t |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
165 "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
|
166 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
|
167 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
|
168 :type 'boolean |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
169 :group 'bookmark) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
170 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
171 |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
172 (defcustom bookmark-automatically-show-annotations t |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
173 "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
|
174 :type 'boolean |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
175 :group 'bookmark) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
176 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
177 |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
178 (defcustom bookmark-bmenu-file-column 30 |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
179 "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
|
180 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
|
181 :type 'integer |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
182 :group 'bookmark) |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
183 |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
184 |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
185 (defcustom bookmark-bmenu-toggle-filenames t |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
186 "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
|
187 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
|
188 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
|
189 |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
190 \(setq bookmark-bmenu-toggle-filenames nil\)" |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
191 :type 'boolean |
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
192 :group 'bookmark) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
193 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
194 |
17411
f0ff96a35eb8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
17265
diff
changeset
|
195 (defcustom bookmark-menu-length 70 |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
196 "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
|
197 :type 'integer |
48393
68aa78bf3f63
(bookmark-menu-length): Fix typo in group name.
Markus Rost <rost@math.uni-bielefeld.de>
parents:
45793
diff
changeset
|
198 :group 'bookmark) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
199 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
200 |
66201
54d9518d9113
(bookmark-menu-heading): New face.
Romain Francoise <romain@orebokech.com>
parents:
66192
diff
changeset
|
201 (defface bookmark-menu-heading |
54d9518d9113
(bookmark-menu-heading): New face.
Romain Francoise <romain@orebokech.com>
parents:
66192
diff
changeset
|
202 '((t (:inherit font-lock-type-face))) |
54d9518d9113
(bookmark-menu-heading): New face.
Romain Francoise <romain@orebokech.com>
parents:
66192
diff
changeset
|
203 "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
|
204 :group 'bookmark |
54d9518d9113
(bookmark-menu-heading): New face.
Romain Francoise <romain@orebokech.com>
parents:
66192
diff
changeset
|
205 :version "22.1") |
54d9518d9113
(bookmark-menu-heading): New face.
Romain Francoise <romain@orebokech.com>
parents:
66192
diff
changeset
|
206 |
54d9518d9113
(bookmark-menu-heading): New face.
Romain Francoise <romain@orebokech.com>
parents:
66192
diff
changeset
|
207 |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
208 ;;; No user-serviceable parts beyond this point. |
4537 | 209 |
210 ;; Added for lucid emacs compatibility, db | |
211 (or (fboundp 'defalias) (fset 'defalias 'fset)) | |
212 | |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
213 ;; 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
|
214 (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
|
215 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
216 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
217 ;;; Keymap stuff: |
18709
a82b89790f9c
Make global bindings only via loaddefs.el.
Richard M. Stallman <rms@gnu.org>
parents:
17412
diff
changeset
|
218 |
a82b89790f9c
Make global bindings only via loaddefs.el.
Richard M. Stallman <rms@gnu.org>
parents:
17412
diff
changeset
|
219 ;; 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
|
220 ;; if the user alters them, don't override the user when loading bookmark.el. |
4537 | 221 |
18709
a82b89790f9c
Make global bindings only via loaddefs.el.
Richard M. Stallman <rms@gnu.org>
parents:
17412
diff
changeset
|
222 ;;;###autoload (define-key ctl-x-map "rb" 'bookmark-jump) |
a82b89790f9c
Make global bindings only via loaddefs.el.
Richard M. Stallman <rms@gnu.org>
parents:
17412
diff
changeset
|
223 ;;;###autoload (define-key ctl-x-map "rm" 'bookmark-set) |
a82b89790f9c
Make global bindings only via loaddefs.el.
Richard M. Stallman <rms@gnu.org>
parents:
17412
diff
changeset
|
224 ;;;###autoload (define-key ctl-x-map "rl" 'bookmark-bmenu-list) |
4537 | 225 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
226 ;;;###autoload |
92550
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
227 (defvar bookmark-map |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
228 (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
|
229 ;; 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
|
230 (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
|
231 (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
|
232 (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
|
233 (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
|
234 (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
|
235 (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
|
236 (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
|
237 (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
|
238 (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
|
239 (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
|
240 (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
|
241 (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
|
242 (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
|
243 map) |
4633 | 244 "Keymap containing bindings to bookmark functions. |
245 It is not bound to any key by default: to bind it | |
246 so that you have a bookmark prefix, just use `global-set-key' and bind a | |
247 key of your choice to `bookmark-map'. All interactive bookmark | |
4537 | 248 functions have a binding in this keymap.") |
249 | |
92550
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
250 ;;;###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
|
251 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
252 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
253 ;;; Core variables and data structures: |
4634
cd8eef9ec0c4
(bookmark-alist): Move defvar before first use.
Richard M. Stallman <rms@gnu.org>
parents:
4633
diff
changeset
|
254 (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
|
255 "Association list of bookmarks and their records. |
4634
cd8eef9ec0c4
(bookmark-alist): Move defvar before first use.
Richard M. Stallman <rms@gnu.org>
parents:
4633
diff
changeset
|
256 You probably don't want to change the value of this alist yourself; |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
257 instead, let the various bookmark functions do it for you. |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
258 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
259 The format of the alist is |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
260 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
261 \(BOOKMARK1 BOOKMARK2 ...\) |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
262 |
92550
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
263 where each BOOKMARK is typically of the form |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
264 |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
265 \(NAME |
93705
442e2ad714cd
Minor docstring a comment improvements.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92789
diff
changeset
|
266 (filename . FILE) |
442e2ad714cd
Minor docstring a comment improvements.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92789
diff
changeset
|
267 (front-context-string . FRONT-STR) |
442e2ad714cd
Minor docstring a comment improvements.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92789
diff
changeset
|
268 (rear-context-string . REAR-STR) |
442e2ad714cd
Minor docstring a comment improvements.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92789
diff
changeset
|
269 (position . POS) |
442e2ad714cd
Minor docstring a comment improvements.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92789
diff
changeset
|
270 (annotation . ANNOTATION)) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
271 |
92550
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
272 So the cdr of each bookmark is an alist too.") |
4634
cd8eef9ec0c4
(bookmark-alist): Move defvar before first use.
Richard M. Stallman <rms@gnu.org>
parents:
4633
diff
changeset
|
273 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
274 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
275 (defvar bookmarks-already-loaded nil) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
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 |
4537 | 278 ;; 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
|
279 |
35283 | 280 (defvar bookmark-current-bookmark nil |
4633 | 281 "Name of bookmark most recently used in the current file. |
282 It is buffer local, used to make moving a bookmark forward | |
4631 | 283 through a file easier.") |
4537 | 284 |
285 (make-variable-buffer-local 'bookmark-current-bookmark) | |
286 | |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
287 |
4537 | 288 (defvar bookmark-alist-modification-count 0 |
4633 | 289 "Number of modifications to bookmark list since it was last saved.") |
4537 | 290 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
291 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
292 (defvar bookmark-search-size 16 |
4633 | 293 "Length of the context strings recorded on either side of a bookmark.") |
4537 | 294 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
295 |
4537 | 296 (defvar bookmark-current-point 0) |
297 (defvar bookmark-yank-point 0) | |
298 (defvar bookmark-current-buffer nil) | |
299 | |
63931
a166968798fa
(Info-current-node, Info-suffix-list): Add defvars.
Richard M. Stallman <rms@gnu.org>
parents:
62718
diff
changeset
|
300 (defvar Info-suffix-list) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
301 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
302 ;; Helper functions. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
303 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
304 ;; Only functions on this page and the next one (file formats) need to |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
305 ;; know anything about the format of bookmark-alist entries. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
306 ;; 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
|
307 |
92568
f91d9f543b0a
* bookmark.el (bookmark-set): Don't check for
Bastien Guerry <bzg@altern.org>
parents:
92567
diff
changeset
|
308 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
309 (defun bookmark-name-from-full-record (full-record) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
310 "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
|
311 (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
|
312 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
313 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
314 (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
|
315 "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
|
316 (bookmark-maybe-load-default-file) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
317 (mapcar |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
318 (lambda (full-record) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
319 (bookmark-name-from-full-record full-record)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
320 bookmark-alist)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
321 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
322 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
323 (defun bookmark-get-bookmark (bookmark) |
64634
4045a1b1a5c9
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
324 "Return the full entry for BOOKMARK in `bookmark-alist'. |
37041
f347448dda9e
(bookmark-get-bookmark): Handle case that
Gerd Moellmann <gerd@gnu.org>
parents:
36588
diff
changeset
|
325 If BOOKMARK is not a string, return nil." |
f347448dda9e
(bookmark-get-bookmark): Handle case that
Gerd Moellmann <gerd@gnu.org>
parents:
36588
diff
changeset
|
326 (when (stringp bookmark) |
53398
8aa355a609cd
(bookmark-get-bookmark): Use assoc-string.
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
327 (assoc-string bookmark bookmark-alist bookmark-completion-ignore-case))) |
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) |
64634
4045a1b1a5c9
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
331 "Return the guts of the entry for BOOKMARK in `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
|
332 That is, all information but the name." |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
333 (car (cdr (bookmark-get-bookmark bookmark)))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
334 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
335 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
336 (defun bookmark-set-name (bookmark newname) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
337 "Set BOOKMARK's name to NEWNAME." |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
338 (setcar |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
339 (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
|
340 newname)) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
341 |
92661
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
342 (defun bookmark-prop-get (bookmark prop) |
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
343 "Return the property PROP of BOOKMARK, or nil if none." |
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
344 (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
|
345 |
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
346 (defun bookmark-prop-set (bookmark prop val) |
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
347 "Set the property PROP of BOOKMARK to VAL." |
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
348 (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
|
349 (if cell |
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
350 (setcdr cell val) |
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
351 (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
|
352 (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
|
353 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
354 (defun bookmark-get-annotation (bookmark) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
355 "Return the annotation of BOOKMARK, or nil if none." |
92661
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
356 (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
|
357 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
358 (defun bookmark-set-annotation (bookmark ann) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
359 "Set the annotation of BOOKMARK to ANN." |
92661
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
360 (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
|
361 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
362 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
363 (defun bookmark-get-filename (bookmark) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
364 "Return the full filename of BOOKMARK." |
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 'filename)) |
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 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
368 (defun bookmark-set-filename (bookmark filename) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
369 "Set the full filename of BOOKMARK to FILENAME." |
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 'filename filename) |
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
371 (setq bookmark-alist-modification-count |
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
372 (1+ bookmark-alist-modification-count)) |
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
373 (if (bookmark-time-to-save-p) |
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
374 (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
|
375 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
376 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
377 (defun bookmark-get-position (bookmark) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
378 "Return the position \(i.e.: point\) of BOOKMARK." |
92661
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
379 (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
|
380 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
381 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
382 (defun bookmark-set-position (bookmark position) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
383 "Set the position \(i.e.: point\) of BOOKMARK to POSITION." |
92661
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
384 (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
|
385 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
386 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
387 (defun bookmark-get-front-context-string (bookmark) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
388 "Return the front-context-string of BOOKMARK." |
92661
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
389 (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
|
390 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
391 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
392 (defun bookmark-set-front-context-string (bookmark string) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
393 "Set the front-context-string of BOOKMARK to STRING." |
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 '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
|
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-rear-context-string (bookmark) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
398 "Return the rear-context-string of BOOKMARK." |
92661
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
399 (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
|
400 |
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 (defun bookmark-set-rear-context-string (bookmark string) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
403 "Set the rear-context-string of BOOKMARK to STRING." |
92661
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
404 (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
|
405 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
406 |
87411
9ac481bc897b
2007-12-26 Tassilo Horn <tassilo@member.fsf.org>
Tassilo Horn <tassilo@member.fsf.org>
parents:
84858
diff
changeset
|
407 (defun bookmark-get-handler (bookmark) |
92661
c8674d7009d4
* bookmark.el (bookmark-prop-get, bookmark-prop-set): New funs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92568
diff
changeset
|
408 (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
|
409 |
10994
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
410 (defvar bookmark-history nil |
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
411 "The history list for bookmark functions.") |
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
412 |
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
413 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
414 (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
|
415 "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
|
416 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
|
417 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
|
418 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
|
419 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
|
420 (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
|
421 (if (listp last-nonmenu-event) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
422 (bookmark-menu-popup-paned-menu t prompt (bookmark-all-names)) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
423 (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
|
424 (default default) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
425 (prompt (if default |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
426 (concat prompt (format " (%s): " default)) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
427 (concat prompt ": "))) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
428 (str |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
429 (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
|
430 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
|
431 nil |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
432 0 |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
433 nil |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
434 '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
|
435 (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
|
436 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
437 |
10994
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
438 (defmacro bookmark-maybe-historicize-string (string) |
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
439 "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
|
440 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
|
441 menus, so `completing-read' never gets a chance to set `bookmark-history'." |
35283 | 442 `(or |
443 (interactive-p) | |
444 (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
|
445 |
92556
5944be8c8211
Change a return type, for greater extensibility. See
Karl Fogel <kfogel@red-bean.com>
parents:
92550
diff
changeset
|
446 (defvar bookmark-make-record-function 'bookmark-make-record-for-text-file |
5944be8c8211
Change a return type, for greater extensibility. See
Karl Fogel <kfogel@red-bean.com>
parents:
92550
diff
changeset
|
447 "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
|
448 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
|
449 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
|
450 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
|
451 |
92674
ac3c6c3e119c
* bookmark.el (bookmark-make): Don't pass the `annotation' to the
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92661
diff
changeset
|
452 The function will be called with no arguments. |
92690
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
453 |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
454 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
|
455 where ALIST is as described in `bookmark-alist' and may typically contain |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
456 a special cons (handler . SOME-FUNCTION) which sets the handler function |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
457 that should be used to open this bookmark instead of |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
458 `bookmark-default-handler'. The handler should return an alist like the |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
459 one that function returns, and (of course) should likewise |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
460 not select the buffer. |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
461 It should signal a user error if it is unable to construct a record for the current |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
462 location. |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
463 |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
464 NAME is a suggested name for the constructed bookmark. It can be nil |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
465 in which case a default heuristic will be used.") |
10994
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
466 |
92690
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
467 (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
|
468 "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
|
469 (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
|
470 ;; 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
|
471 (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
|
472 ;; 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
|
473 record |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
474 (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
|
475 (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
|
476 record))) |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
477 |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
478 (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
|
479 "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
|
480 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
|
481 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
|
482 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
|
483 (bookmark-maybe-load-default-file) |
12569
1297698116a8
(bookmark-make): Strip text properties off name.
Karl Heuer <kwzh@gnu.org>
parents:
12310
diff
changeset
|
484 (let ((stripped-name (copy-sequence name))) |
84777
68033fec6867
(bookmark-xemacsp): Remove.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
82140
diff
changeset
|
485 (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
|
486 ;; 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
|
487 ;; 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
|
488 (set-text-properties 0 (length stripped-name) nil stripped-name)) |
92690
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
489 (if (and (bookmark-get-bookmark stripped-name) (not no-overwrite)) |
13969
8fd836e88aec
(bookmark-save-flag, bookmark-read-annotation-text-func,
Karl Heuer <kwzh@gnu.org>
parents:
13895
diff
changeset
|
490 ;; 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
|
491 ;; no prefix arg means just overwrite old bookmark |
92690
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
492 (setcdr (bookmark-get-bookmark stripped-name) (list alist)) |
35283 | 493 |
12569
1297698116a8
(bookmark-make): Strip text properties off name.
Karl Heuer <kwzh@gnu.org>
parents:
12310
diff
changeset
|
494 ;; 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
|
495 ;; 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
|
496 ;; case, we want the new bookmark consed onto the alist...) |
35283 | 497 |
92690
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
498 (push (list stripped-name alist) bookmark-alist)) |
35283 | 499 |
12569
1297698116a8
(bookmark-make): Strip text properties off name.
Karl Heuer <kwzh@gnu.org>
parents:
12310
diff
changeset
|
500 ;; Added by db |
1297698116a8
(bookmark-make): Strip text properties off name.
Karl Heuer <kwzh@gnu.org>
parents:
12310
diff
changeset
|
501 (setq bookmark-current-bookmark stripped-name) |
1297698116a8
(bookmark-make): Strip text properties off name.
Karl Heuer <kwzh@gnu.org>
parents:
12310
diff
changeset
|
502 (setq bookmark-alist-modification-count |
1297698116a8
(bookmark-make): Strip text properties off name.
Karl Heuer <kwzh@gnu.org>
parents:
12310
diff
changeset
|
503 (1+ bookmark-alist-modification-count)) |
1297698116a8
(bookmark-make): Strip text properties off name.
Karl Heuer <kwzh@gnu.org>
parents:
12310
diff
changeset
|
504 (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
|
505 (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
|
506 |
92690
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
507 (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
|
508 (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
|
509 |
92674
ac3c6c3e119c
* bookmark.el (bookmark-make): Don't pass the `annotation' to the
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92661
diff
changeset
|
510 (defun bookmark-make-record-for-text-file () |
ac3c6c3e119c
* bookmark.el (bookmark-make): Don't pass the `annotation' to the
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92661
diff
changeset
|
511 "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
|
512 Must be at the correct position in the buffer in which the bookmark is |
92556
5944be8c8211
Change a return type, for greater extensibility. See
Karl Fogel <kfogel@red-bean.com>
parents:
92550
diff
changeset
|
513 being set (this might change someday)." |
92674
ac3c6c3e119c
* bookmark.el (bookmark-make): Don't pass the `annotation' to the
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92661
diff
changeset
|
514 `((filename . ,(bookmark-buffer-file-name)) |
ac3c6c3e119c
* bookmark.el (bookmark-make): Don't pass the `annotation' to the
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92661
diff
changeset
|
515 (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
|
516 . ,(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
|
517 (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
|
518 (point) |
ac3c6c3e119c
* bookmark.el (bookmark-make): Don't pass the `annotation' to the
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92661
diff
changeset
|
519 (+ (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
|
520 nil)) |
ac3c6c3e119c
* bookmark.el (bookmark-make): Don't pass the `annotation' to the
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92661
diff
changeset
|
521 (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
|
522 . ,(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
|
523 (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
|
524 (point) |
ac3c6c3e119c
* bookmark.el (bookmark-make): Don't pass the `annotation' to the
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92661
diff
changeset
|
525 (- (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
|
526 nil)) |
ac3c6c3e119c
* bookmark.el (bookmark-make): Don't pass the `annotation' to the
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92661
diff
changeset
|
527 (position . ,(point)))) |
35283 | 528 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
529 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
530 ;;; 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
|
531 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
532 ;; The OLD format of the bookmark-alist was: |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
533 ;; |
93705
442e2ad714cd
Minor docstring a comment improvements.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92789
diff
changeset
|
534 ;; ((BOOKMARK-NAME . (FILENAME |
442e2ad714cd
Minor docstring a comment improvements.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92789
diff
changeset
|
535 ;; STRING-IN-FRONT |
442e2ad714cd
Minor docstring a comment improvements.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92789
diff
changeset
|
536 ;; STRING-BEHIND |
442e2ad714cd
Minor docstring a comment improvements.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92789
diff
changeset
|
537 ;; POINT)) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
538 ;; ...) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
539 ;; |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
540 ;; The NEW format of the bookmark-alist is: |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
541 ;; |
93705
442e2ad714cd
Minor docstring a comment improvements.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92789
diff
changeset
|
542 ;; ((BOOKMARK-NAME (filename . FILENAME) |
442e2ad714cd
Minor docstring a comment improvements.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92789
diff
changeset
|
543 ;; (front-context-string . STRING-IN-FRONT) |
442e2ad714cd
Minor docstring a comment improvements.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92789
diff
changeset
|
544 ;; (rear-context-string . STRING-BEHIND) |
442e2ad714cd
Minor docstring a comment improvements.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92789
diff
changeset
|
545 ;; (position . POINT) |
442e2ad714cd
Minor docstring a comment improvements.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92789
diff
changeset
|
546 ;; (annotation . ANNOTATION) |
442e2ad714cd
Minor docstring a comment improvements.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92789
diff
changeset
|
547 ;; (whatever . VALUE) |
442e2ad714cd
Minor docstring a comment improvements.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92789
diff
changeset
|
548 ;; ... |
442e2ad714cd
Minor docstring a comment improvements.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92789
diff
changeset
|
549 ;; )) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
550 ;; ...) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
551 ;; |
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 ;; I switched to using an internal as well as external alist because I |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
554 ;; felt that would be a more flexible framework in which to add |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
555 ;; features. It means that the order in which values appear doesn't |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
556 ;; matter, and it means that arbitrary values can be added without |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
557 ;; risk of interfering with existing ones. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
558 ;; |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
559 ;; BOOKMARK-NAME is the string the user gives the bookmark and |
35283 | 560 ;; accesses it by from then on. |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
561 ;; |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
562 ;; FILENAME is the location of the file in which the bookmark is set. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
563 ;; |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
564 ;; STRING-IN-FRONT is a string of `bookmark-search-size' chars of |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
565 ;; context in front of the point at which the bookmark is set. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
566 ;; |
35283 | 567 ;; STRING-BEHIND is the same thing, but after the point. |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
568 ;; |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
569 ;; The context strings exist so that modifications to a file don't |
35283 | 570 ;; necessarily cause a bookmark's position to be invalidated. |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
571 ;; bookmark-jump will search for STRING-BEHIND and STRING-IN-FRONT in |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
572 ;; case the file has changed since the bookmark was set. It will |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
573 ;; attempt to place the user before the changes, if there were any. |
15183
9c770d2b753f
(bookmark-make): take optional arg `info-node', pass it on to
Karl Fogel <kfogel@red-bean.com>
parents:
14734
diff
changeset
|
574 ;; ANNOTATION is the annotation for the bookmark; it may not exist |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
575 ;; (for backward compatibility), be nil (no annotation), or be a |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
576 ;; string. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
577 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
578 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
579 (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
|
580 "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
|
581 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
|
582 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
583 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
584 (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
|
585 "-*- 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
|
586 "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
|
587 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
588 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
589 (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
|
590 "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
|
591 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
|
592 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
|
593 affect point." |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
594 (save-excursion |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
595 (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
|
596 (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
|
597 (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
|
598 ;; 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
|
599 (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
|
600 (progn |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
601 (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
|
602 (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
|
603 ;; 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
|
604 (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
|
605 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
606 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
607 (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
|
608 "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
|
609 (mapcar |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
610 (lambda (bookmark) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
611 (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
|
612 (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
|
613 (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
|
614 (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
|
615 (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
|
616 (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
|
617 (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
|
618 (list |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
619 name |
41608
45db352a0971
Converted backquote to the new style.
Sam Steingold <sds@gnu.org>
parents:
39122
diff
changeset
|
620 `((filename . ,filename) |
45db352a0971
Converted backquote to the new style.
Sam Steingold <sds@gnu.org>
parents:
39122
diff
changeset
|
621 (front-context-string . ,(or front-str "")) |
45db352a0971
Converted backquote to the new style.
Sam Steingold <sds@gnu.org>
parents:
39122
diff
changeset
|
622 (rear-context-string . ,(or rear-str "")) |
45db352a0971
Converted backquote to the new style.
Sam Steingold <sds@gnu.org>
parents:
39122
diff
changeset
|
623 (position . ,position) |
45db352a0971
Converted backquote to the new style.
Sam Steingold <sds@gnu.org>
parents:
39122
diff
changeset
|
624 (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
|
625 old-list)) |
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 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
628 (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
|
629 "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
|
630 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
|
631 (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
|
632 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
|
633 (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
|
634 (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
|
635 (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
|
636 (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
|
637 (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
|
638 (save-buffer)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
639 (goto-char (point-min)) |
14039
831c5fda97f4
"cyclic.com" addresses changed to "red-bean.com".
Karl Fogel <kfogel@red-bean.com>
parents:
13969
diff
changeset
|
640 (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
|
641 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
|
642 ) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
643 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
644 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
645 (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
|
646 "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
|
647 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
|
648 (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
|
649 (save-excursion |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
650 (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
|
651 (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
|
652 (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
|
653 (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
|
654 ;; 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
|
655 ;; 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
|
656 0)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
657 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
658 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
659 (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
|
660 "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
|
661 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
|
662 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
|
663 (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
|
664 (cond |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
665 ((= 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
|
666 ) ; 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
|
667 ((= version 0) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
668 (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
|
669 (t |
14354
f1035d934a7a
(bookmark-alist-from-buffer): Fix error text.
Karl Heuer <kwzh@gnu.org>
parents:
14339
diff
changeset
|
670 (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
|
671 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
672 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
673 (defun bookmark-insert-file-format-version-stamp () |
15193
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
674 "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
|
675 (insert |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
676 (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
|
677 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
|
678 (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
|
679 ";;; 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
|
680 ";;; " |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
681 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
|
682 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
683 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
684 ;;; 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
|
685 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
686 |
66835
96e7147004a8
* bookmark.el (bookmark-maybe-message): New function to reduce code
Karl Fogel <kfogel@red-bean.com>
parents:
66834
diff
changeset
|
687 ;;; Generic helpers. |
96e7147004a8
* bookmark.el (bookmark-maybe-message): New function to reduce code
Karl Fogel <kfogel@red-bean.com>
parents:
66834
diff
changeset
|
688 |
96e7147004a8
* bookmark.el (bookmark-maybe-message): New function to reduce code
Karl Fogel <kfogel@red-bean.com>
parents:
66834
diff
changeset
|
689 (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
|
690 "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
|
691 (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
|
692 (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
|
693 |
96e7147004a8
* bookmark.el (bookmark-maybe-message): New function to reduce code
Karl Fogel <kfogel@red-bean.com>
parents:
66834
diff
changeset
|
694 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
695 ;;; Core code: |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
696 |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
697 (defvar bookmark-minibuffer-read-name-map |
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
698 (let ((map (make-sparse-keymap))) |
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
699 (set-keymap-parent map minibuffer-local-map) |
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
700 (define-key map "\C-w" 'bookmark-yank-word) |
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
701 ;; 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
|
702 ;; 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
|
703 ;; Maybe we should just remove it? --Stef-08 |
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
704 (define-key map "\C-u" 'bookmark-insert-current-bookmark) |
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
705 map)) |
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
706 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
707 ;;;###autoload |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
708 (defun bookmark-set (&optional name parg) |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
709 "Set a bookmark named NAME inside a file. |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
710 If name is nil, then the user will be prompted. |
4633 | 711 With prefix arg, will not overwrite a bookmark that has the same name |
712 as NAME if such a bookmark already exists, but instead will \"push\" | |
713 the new bookmark onto the bookmark alist. Thus the most recently set | |
714 bookmark with name NAME would be the one in effect at any given time, | |
715 but the others are still there, should you decide to delete the most | |
716 recent one. | |
4537 | 717 |
718 To yank words from the text of the buffer and use them as part of the | |
4633 | 719 bookmark name, type C-w while setting a bookmark. Successive C-w's |
4537 | 720 yank successive words. |
721 | |
10994
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
722 Typing C-u inserts the name of the last bookmark used in the buffer |
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
723 \(as an aid in using a single bookmark name to track your progress |
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
724 through a large file\). If no bookmark was used, then C-u inserts the |
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
725 name of the file being visited. |
4537 | 726 |
727 Use \\[bookmark-delete] to remove bookmarks \(you give it a name, | |
728 and it removes only the first instance of a bookmark with that name from | |
729 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
|
730 (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
|
731 (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
|
732 (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
|
733 |
92690
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
734 (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
|
735 |
92690
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
736 (setq bookmark-current-point (point)) |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
737 (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
|
738 (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
|
739 |
92690
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
740 (let ((str |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
741 (or name |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
742 (read-from-minibuffer |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
743 (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
|
744 nil |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
745 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
|
746 nil nil default)))) |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
747 (and (string-equal str "") (setq str default)) |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
748 (bookmark-store str (cdr record) parg) |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
749 |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
750 ;; Ask for an annotation buffer for this bookmark |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
751 (if bookmark-use-annotations |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
752 (bookmark-edit-annotation str) |
ae00481eacc1
* bookmark.el (bookmark-make-record-function): Change expected return value
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92689
diff
changeset
|
753 (goto-char bookmark-current-point))))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
754 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
755 (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
|
756 "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
|
757 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
|
758 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
|
759 (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
|
760 (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
|
761 (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
|
762 (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
|
763 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
764 |
10994
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
765 ;; 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
|
766 (defvar bookmark-annotation-name nil |
570c098b116d
(bookmark-set): Make the bookmark before reading annotations.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92688
diff
changeset
|
767 "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
|
768 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
|
769 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
|
770 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
771 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
772 (defun bookmark-default-annotation-text (bookmark) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
773 (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
|
774 "# 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
|
775 "# 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
|
776 "# 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
|
777 (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
|
778 "# 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
|
779 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
780 |
92689
570c098b116d
(bookmark-set): Make the bookmark before reading annotations.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92688
diff
changeset
|
781 (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
|
782 "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
|
783 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
|
784 (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
|
785 '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
|
786 |
92689
570c098b116d
(bookmark-set): Make the bookmark before reading annotations.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92688
diff
changeset
|
787 (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
|
788 (let ((map (make-sparse-keymap))) |
570c098b116d
(bookmark-set): Make the bookmark before reading annotations.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92688
diff
changeset
|
789 (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
|
790 (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
|
791 map) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
792 "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
|
793 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
794 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
795 (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
|
796 "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
|
797 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
|
798 |
87411
9ac481bc897b
2007-12-26 Tassilo Horn <tassilo@member.fsf.org>
Tassilo Horn <tassilo@member.fsf.org>
parents:
84858
diff
changeset
|
799 \\{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
|
800 (interactive) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
801 (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
|
802 (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
|
803 (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
|
804 (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
|
805 (setq major-mode 'bookmark-edit-annotation-mode |
dfa3317697a0
(bookmark-send-edited-annotation): Fix docstring.
Juanma Barranquero <lekktu@gmail.com>
parents:
53398
diff
changeset
|
806 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
|
807 (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
|
808 (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
|
809 (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
|
810 (insert annotation))) |
62718
d00be6e651cd
(bookmark-read-annotation-mode, bookmark-edit-annotation-mode)
Lute Kamstra <lute@gnu.org>
parents:
61454
diff
changeset
|
811 (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
|
812 |
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 (defun bookmark-send-edited-annotation () |
54906
dfa3317697a0
(bookmark-send-edited-annotation): Fix docstring.
Juanma Barranquero <lekktu@gmail.com>
parents:
53398
diff
changeset
|
815 "Use buffer contents as annotation for a bookmark. |
dfa3317697a0
(bookmark-send-edited-annotation): Fix docstring.
Juanma Barranquero <lekktu@gmail.com>
parents:
53398
diff
changeset
|
816 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
|
817 (interactive) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
818 (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
|
819 (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
|
820 (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
|
821 (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
|
822 (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
|
823 (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
|
824 (forward-line 1))) |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
825 ;; Take no chances with text properties. |
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
826 (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
|
827 (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
|
828 (bookmark-set-annotation bookmark annotation) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
829 (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
|
830 (goto-char bookmark-current-point)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
831 (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
|
832 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
833 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
834 (defun bookmark-edit-annotation (bookmark) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
835 "Pop up a buffer for editing bookmark BOOKMARK's annotation." |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
836 (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
|
837 (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
|
838 |
4537 | 839 |
840 (defun bookmark-insert-current-bookmark () | |
64634
4045a1b1a5c9
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
841 "Insert this buffer's value of `bookmark-current-bookmark'. |
15193
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
842 Default to file name if it's nil." |
4537 | 843 (interactive) |
844 (let ((str | |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
845 (with-current-buffer bookmark-current-buffer |
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
846 (or bookmark-current-bookmark |
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
847 (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
|
848 (insert str))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
849 |
4537 | 850 |
10960
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
851 (defun bookmark-buffer-name () |
92789
61c661dac856
(Info-current-node): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92690
diff
changeset
|
852 "Return the name of the current buffer's file, non-directory." |
10960
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
853 (cond |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
854 ;; 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
|
855 (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
|
856 ;; 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
|
857 ((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
|
858 (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
|
859 dired-directory |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
860 (car dired-directory))) |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
861 (idx (1- (length dirname)))) |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
862 ;; Strip the trailing slash. |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
863 (if (= ?/ (aref dirname idx)) |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
864 (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
|
865 ;; 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
|
866 (buffer-name (current-buffer))))) |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
867 ;; 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
|
868 (t |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
869 (buffer-name (current-buffer))))) |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
870 |
d6d3905ec550
(bookmark-buffer-name): Be smarter about deducing a name.
Richard M. Stallman <rms@gnu.org>
parents:
10952
diff
changeset
|
871 |
4537 | 872 (defun bookmark-yank-word () |
873 (interactive) | |
874 ;; get the next word from the buffer and append it to the name of | |
875 ;; the bookmark currently being set. | |
876 (let ((string (save-excursion | |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
877 (set-buffer bookmark-current-buffer) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
878 (goto-char bookmark-yank-point) |
12569
1297698116a8
(bookmark-make): Strip text properties off name.
Karl Heuer <kwzh@gnu.org>
parents:
12310
diff
changeset
|
879 (buffer-substring-no-properties |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
880 (point) |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
881 (progn |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
882 (forward-word 1) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
883 (setq bookmark-yank-point (point))))))) |
4537 | 884 (insert string))) |
885 | |
886 (defun bookmark-buffer-file-name () | |
92789
61c661dac856
(Info-current-node): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92690
diff
changeset
|
887 "Return the current buffer's file in a way useful for bookmarks." |
75242
ea629157e3f4
* bookmark.el (bookmark-buffer-file-name): Abbreviate the bookmark path.
Karl Fogel <kfogel@red-bean.com>
parents:
68651
diff
changeset
|
888 (cond |
ea629157e3f4
* bookmark.el (bookmark-buffer-file-name): Abbreviate the bookmark path.
Karl Fogel <kfogel@red-bean.com>
parents:
68651
diff
changeset
|
889 (buffer-file-name |
ea629157e3f4
* bookmark.el (bookmark-buffer-file-name): Abbreviate the bookmark path.
Karl Fogel <kfogel@red-bean.com>
parents:
68651
diff
changeset
|
890 ;; Abbreviate the path, both so it's shorter and so it's more |
ea629157e3f4
* bookmark.el (bookmark-buffer-file-name): Abbreviate the bookmark path.
Karl Fogel <kfogel@red-bean.com>
parents:
68651
diff
changeset
|
891 ;; portable. E.g., the user's home dir might be a different |
ea629157e3f4
* bookmark.el (bookmark-buffer-file-name): Abbreviate the bookmark path.
Karl Fogel <kfogel@red-bean.com>
parents:
68651
diff
changeset
|
892 ;; path on different machines, but "~/" will still reach it. |
ea629157e3f4
* bookmark.el (bookmark-buffer-file-name): Abbreviate the bookmark path.
Karl Fogel <kfogel@red-bean.com>
parents:
68651
diff
changeset
|
893 (abbreviate-file-name buffer-file-name)) |
ea629157e3f4
* bookmark.el (bookmark-buffer-file-name): Abbreviate the bookmark path.
Karl Fogel <kfogel@red-bean.com>
parents:
68651
diff
changeset
|
894 ((and (boundp 'dired-directory) dired-directory) |
ea629157e3f4
* bookmark.el (bookmark-buffer-file-name): Abbreviate the bookmark path.
Karl Fogel <kfogel@red-bean.com>
parents:
68651
diff
changeset
|
895 (if (stringp dired-directory) |
ea629157e3f4
* bookmark.el (bookmark-buffer-file-name): Abbreviate the bookmark path.
Karl Fogel <kfogel@red-bean.com>
parents:
68651
diff
changeset
|
896 dired-directory |
92688
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
897 (car dired-directory))) |
0524053618bf
Add spurious * in docstrings.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
92674
diff
changeset
|
898 (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
|
899 |
4537 | 900 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
901 (defun 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
|
902 (and (not bookmarks-already-loaded) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
903 (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
|
904 (prog2 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
905 (and |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
906 ;; 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
|
907 ;; to be renamed. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
908 (file-exists-p (expand-file-name bookmark-old-default-file)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
909 (not (file-exists-p (expand-file-name bookmark-default-file))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
910 (rename-file (expand-file-name bookmark-old-default-file) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
911 (expand-file-name bookmark-default-file))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
912 ;; 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
|
913 t) |
35283 | 914 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
915 (file-readable-p (expand-file-name bookmark-default-file)) |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
916 (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
|
917 (setq bookmarks-already-loaded t))) |
4631 | 918 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
919 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
920 (defun bookmark-maybe-sort-alist () |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
921 ;;Return the bookmark-alist for display. If the bookmark-sort-flag |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
922 ;;is non-nil, then return a sorted copy of the alist. |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
923 (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
|
924 (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
|
925 (function |
ba35decf8cc1
(bookmark-maybe-sort-alist): Don't modify bookmark-alist.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
78159
diff
changeset
|
926 (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
|
927 bookmark-alist)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
928 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
929 |
65087
83940123c4b3
(bookmark-after-jump-hook): New hook.
Carsten Dominik <dominik@science.uva.nl>
parents:
64800
diff
changeset
|
930 (defvar bookmark-after-jump-hook nil |
83940123c4b3
(bookmark-after-jump-hook): New hook.
Carsten Dominik <dominik@science.uva.nl>
parents:
64800
diff
changeset
|
931 "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
|
932 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
|
933 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
934 ;;;###autoload |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
935 (defun bookmark-jump (bookmark) |
35283 | 936 "Jump to bookmark BOOKMARK (a point in some file). |
4633 | 937 You may have a problem using this function if the value of variable |
938 `bookmark-alist' is nil. If that happens, you need to load in some | |
939 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
|
940 this. |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
941 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
942 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
|
943 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
|
944 will then jump to the new location, as well as recording it in place |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
945 of the old one in the permanent bookmark record." |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
946 (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
|
947 (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
|
948 bookmark-current-bookmark))) |
59133
55f8ffb8e523
(bookmark-jump): Nice error if BOOKMARK is nil.
Richard M. Stallman <rms@gnu.org>
parents:
56059
diff
changeset
|
949 (unless bookmark |
55f8ffb8e523
(bookmark-jump): Nice error if BOOKMARK is nil.
Richard M. Stallman <rms@gnu.org>
parents:
56059
diff
changeset
|
950 (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
|
951 (bookmark-maybe-historicize-string bookmark) |
92550
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
952 (let ((alist (bookmark-jump-noselect bookmark))) |
87521
0140d3ebb262
Change a return type, for greater extensibility. See
Karl Fogel <kfogel@red-bean.com>
parents:
87411
diff
changeset
|
953 (and alist |
0140d3ebb262
Change a return type, for greater extensibility. See
Karl Fogel <kfogel@red-bean.com>
parents:
87411
diff
changeset
|
954 (switch-to-buffer (cadr (assq 'buffer alist))) |
0140d3ebb262
Change a return type, for greater extensibility. See
Karl Fogel <kfogel@red-bean.com>
parents:
87411
diff
changeset
|
955 (goto-char (cadr (assq 'position alist))) |
65112 | 956 (progn (run-hooks 'bookmark-after-jump-hook) t) |
11070
ebee80744a06
(bookmark-automatically-show-annotations): new var.
Karl Fogel <kfogel@red-bean.com>
parents:
11021
diff
changeset
|
957 (if bookmark-automatically-show-annotations |
ebee80744a06
(bookmark-automatically-show-annotations): new var.
Karl Fogel <kfogel@red-bean.com>
parents:
11021
diff
changeset
|
958 ;; if there is an annotation for this bookmark, |
ebee80744a06
(bookmark-automatically-show-annotations): new var.
Karl Fogel <kfogel@red-bean.com>
parents:
11021
diff
changeset
|
959 ;; show it in a buffer. |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
960 (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
|
961 |
4537 | 962 |
81844
805e8454783b
* bookmark.el (bookmark-jump-other-window): New function.
Karl Fogel <kfogel@red-bean.com>
parents:
81843
diff
changeset
|
963 ;;;###autoload |
805e8454783b
* bookmark.el (bookmark-jump-other-window): New function.
Karl Fogel <kfogel@red-bean.com>
parents:
81843
diff
changeset
|
964 (defun bookmark-jump-other-window (bookmark) |
805e8454783b
* bookmark.el (bookmark-jump-other-window): New function.
Karl Fogel <kfogel@red-bean.com>
parents:
81843
diff
changeset
|
965 "Jump to BOOKMARK (a point in some file) in another window. |
805e8454783b
* bookmark.el (bookmark-jump-other-window): New function.
Karl Fogel <kfogel@red-bean.com>
parents:
81843
diff
changeset
|
966 See `bookmark-jump'." |
805e8454783b
* bookmark.el (bookmark-jump-other-window): New function.
Karl Fogel <kfogel@red-bean.com>
parents:
81843
diff
changeset
|
967 (interactive |
805e8454783b
* bookmark.el (bookmark-jump-other-window): New function.
Karl Fogel <kfogel@red-bean.com>
parents:
81843
diff
changeset
|
968 (let ((bkm (bookmark-completing-read "Jump to bookmark (in another window)" |
805e8454783b
* bookmark.el (bookmark-jump-other-window): New function.
Karl Fogel <kfogel@red-bean.com>
parents:
81843
diff
changeset
|
969 bookmark-current-bookmark))) |
805e8454783b
* bookmark.el (bookmark-jump-other-window): New function.
Karl Fogel <kfogel@red-bean.com>
parents:
81843
diff
changeset
|
970 (if (> emacs-major-version 21) |
805e8454783b
* bookmark.el (bookmark-jump-other-window): New function.
Karl Fogel <kfogel@red-bean.com>
parents:
81843
diff
changeset
|
971 (list bkm) bkm))) |
805e8454783b
* bookmark.el (bookmark-jump-other-window): New function.
Karl Fogel <kfogel@red-bean.com>
parents:
81843
diff
changeset
|
972 (when bookmark |
805e8454783b
* bookmark.el (bookmark-jump-other-window): New function.
Karl Fogel <kfogel@red-bean.com>
parents:
81843
diff
changeset
|
973 (bookmark-maybe-historicize-string bookmark) |
92550
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
974 (let ((alist (bookmark-jump-noselect bookmark))) |
87521
0140d3ebb262
Change a return type, for greater extensibility. See
Karl Fogel <kfogel@red-bean.com>
parents:
87411
diff
changeset
|
975 (and alist |
0140d3ebb262
Change a return type, for greater extensibility. See
Karl Fogel <kfogel@red-bean.com>
parents:
87411
diff
changeset
|
976 (switch-to-buffer-other-window (cadr (assq 'buffer alist))) |
0140d3ebb262
Change a return type, for greater extensibility. See
Karl Fogel <kfogel@red-bean.com>
parents:
87411
diff
changeset
|
977 (goto-char (cadr (assq 'position alist))) |
81844
805e8454783b
* bookmark.el (bookmark-jump-other-window): New function.
Karl Fogel <kfogel@red-bean.com>
parents:
81843
diff
changeset
|
978 (if bookmark-automatically-show-annotations |
805e8454783b
* bookmark.el (bookmark-jump-other-window): New function.
Karl Fogel <kfogel@red-bean.com>
parents:
81843
diff
changeset
|
979 ;; if there is an annotation for this bookmark, |
805e8454783b
* bookmark.el (bookmark-jump-other-window): New function.
Karl Fogel <kfogel@red-bean.com>
parents:
81843
diff
changeset
|
980 ;; show it in a buffer. |
805e8454783b
* bookmark.el (bookmark-jump-other-window): New function.
Karl Fogel <kfogel@red-bean.com>
parents:
81843
diff
changeset
|
981 (bookmark-show-annotation bookmark)))))) |
805e8454783b
* bookmark.el (bookmark-jump-other-window): New function.
Karl Fogel <kfogel@red-bean.com>
parents:
81843
diff
changeset
|
982 |
805e8454783b
* bookmark.el (bookmark-jump-other-window): New function.
Karl Fogel <kfogel@red-bean.com>
parents:
81843
diff
changeset
|
983 |
28013
b8291d86b5fd
(bookmark-file-or-variation-thereof): New func, for
Gerd Moellmann <gerd@gnu.org>
parents:
26773
diff
changeset
|
984 (defun bookmark-file-or-variation-thereof (file) |
45793
4bcea799d0bd
* bookmark.el (bookmark-file-or-variation-thereof): Restore vc-backend
Karl Fogel <kfogel@red-bean.com>
parents:
45674
diff
changeset
|
985 "Return FILE (a string) if it exists, or return a reasonable |
4bcea799d0bd
* bookmark.el (bookmark-file-or-variation-thereof): Restore vc-backend
Karl Fogel <kfogel@red-bean.com>
parents:
45674
diff
changeset
|
986 variation of FILE if that exists. Reasonable variations are checked |
4bcea799d0bd
* bookmark.el (bookmark-file-or-variation-thereof): Restore vc-backend
Karl Fogel <kfogel@red-bean.com>
parents:
45674
diff
changeset
|
987 by appending suffixes defined in `Info-suffix-list'. If cannot find FILE |
4bcea799d0bd
* bookmark.el (bookmark-file-or-variation-thereof): Restore vc-backend
Karl Fogel <kfogel@red-bean.com>
parents:
45674
diff
changeset
|
988 nor a reasonable variation thereof, then still return FILE if it can |
4bcea799d0bd
* bookmark.el (bookmark-file-or-variation-thereof): Restore vc-backend
Karl Fogel <kfogel@red-bean.com>
parents:
45674
diff
changeset
|
989 be retrieved from a VC backend, else return nil." |
45673
fc6d3747add1
* bookmark.el (bookmark-file-or-variation-thereof): Just use
Karl Fogel <kfogel@red-bean.com>
parents:
42206
diff
changeset
|
990 (if (file-exists-p file) |
fc6d3747add1
* bookmark.el (bookmark-file-or-variation-thereof): Just use
Karl Fogel <kfogel@red-bean.com>
parents:
42206
diff
changeset
|
991 file |
45793
4bcea799d0bd
* bookmark.el (bookmark-file-or-variation-thereof): Restore vc-backend
Karl Fogel <kfogel@red-bean.com>
parents:
45674
diff
changeset
|
992 (or |
4bcea799d0bd
* bookmark.el (bookmark-file-or-variation-thereof): Restore vc-backend
Karl Fogel <kfogel@red-bean.com>
parents:
45674
diff
changeset
|
993 (progn (require 'info) ; ensure Info-suffix-list is bound |
4bcea799d0bd
* bookmark.el (bookmark-file-or-variation-thereof): Restore vc-backend
Karl Fogel <kfogel@red-bean.com>
parents:
45674
diff
changeset
|
994 (catch 'found |
4bcea799d0bd
* bookmark.el (bookmark-file-or-variation-thereof): Restore vc-backend
Karl Fogel <kfogel@red-bean.com>
parents:
45674
diff
changeset
|
995 (mapc (lambda (elt) |
4bcea799d0bd
* bookmark.el (bookmark-file-or-variation-thereof): Restore vc-backend
Karl Fogel <kfogel@red-bean.com>
parents:
45674
diff
changeset
|
996 (let ((suffixed-file (concat file (car elt)))) |
4bcea799d0bd
* bookmark.el (bookmark-file-or-variation-thereof): Restore vc-backend
Karl Fogel <kfogel@red-bean.com>
parents:
45674
diff
changeset
|
997 (if (file-exists-p suffixed-file) |
4bcea799d0bd
* bookmark.el (bookmark-file-or-variation-thereof): Restore vc-backend
Karl Fogel <kfogel@red-bean.com>
parents:
45674
diff
changeset
|
998 (throw 'found suffixed-file)))) |
4bcea799d0bd
* bookmark.el (bookmark-file-or-variation-thereof): Restore vc-backend
Karl Fogel <kfogel@red-bean.com>
parents:
45674
diff
changeset
|
999 Info-suffix-list) |
4bcea799d0bd
* bookmark.el (bookmark-file-or-variation-thereof): Restore vc-backend
Karl Fogel <kfogel@red-bean.com>
parents:
45674
diff
changeset
|
1000 nil)) |
4bcea799d0bd
* bookmark.el (bookmark-file-or-variation-thereof): Restore vc-backend
Karl Fogel <kfogel@red-bean.com>
parents:
45674
diff
changeset
|
1001 ;; Last possibility: try VC |
4bcea799d0bd
* bookmark.el (bookmark-file-or-variation-thereof): Restore vc-backend
Karl Fogel <kfogel@red-bean.com>
parents:
45674
diff
changeset
|
1002 (if (vc-backend file) file)))) |
4bcea799d0bd
* bookmark.el (bookmark-file-or-variation-thereof): Restore vc-backend
Karl Fogel <kfogel@red-bean.com>
parents:
45674
diff
changeset
|
1003 |
92550
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1004 (defun bookmark-jump-noselect (bookmark) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1005 "Call BOOKMARK's handler or `bookmark-default-handler' if it has none." |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1006 (let ((found (funcall (or (bookmark-get-handler bookmark) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1007 'bookmark-default-handler) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1008 bookmark))) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1009 (unless found |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1010 ;; Else unable to find the marked file, so ask if user wants to |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1011 ;; relocate the bookmark, else remind them to consider deletion. |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1012 (let ((file (bookmark-get-filename bookmark))) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1013 (when file ;Don't know how to relocate if there's no `file'. |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1014 (setq file (expand-file-name file)) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1015 (ding) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1016 (if (y-or-n-p (concat (file-name-nondirectory file) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1017 " nonexistent. Relocate \"" |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1018 bookmark |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1019 "\"? ")) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1020 (progn |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1021 (bookmark-relocate bookmark) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1022 ;; Try again. |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1023 (setq found (funcall (or (bookmark-get-handler bookmark) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1024 'bookmark-default-handler) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1025 bookmark))) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1026 (message |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1027 "Bookmark not relocated; consider removing it \(%s\)." bookmark))))) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1028 (when found |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1029 ;; Added by db. |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1030 (setq bookmark-current-bookmark bookmark) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1031 found))) |
28013
b8291d86b5fd
(bookmark-file-or-variation-thereof): New func, for
Gerd Moellmann <gerd@gnu.org>
parents:
26773
diff
changeset
|
1032 |
92550
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1033 (defun bookmark-default-handler (str) |
87521
0140d3ebb262
Change a return type, for greater extensibility. See
Karl Fogel <kfogel@red-bean.com>
parents:
87411
diff
changeset
|
1034 ;; Helper for bookmark-jump. STR is a bookmark name, of the sort |
0140d3ebb262
Change a return type, for greater extensibility. See
Karl Fogel <kfogel@red-bean.com>
parents:
87411
diff
changeset
|
1035 ;; accepted by `bookmark-get-bookmark'. |
0140d3ebb262
Change a return type, for greater extensibility. See
Karl Fogel <kfogel@red-bean.com>
parents:
87411
diff
changeset
|
1036 ;; |
0140d3ebb262
Change a return type, for greater extensibility. See
Karl Fogel <kfogel@red-bean.com>
parents:
87411
diff
changeset
|
1037 ;; Return an alist '((buffer BUFFER) (position POSITION) ...) |
0140d3ebb262
Change a return type, for greater extensibility. See
Karl Fogel <kfogel@red-bean.com>
parents:
87411
diff
changeset
|
1038 ;; indicating the bookmarked point within the specied buffer. Any |
0140d3ebb262
Change a return type, for greater extensibility. See
Karl Fogel <kfogel@red-bean.com>
parents:
87411
diff
changeset
|
1039 ;; elements not documented here should be ignored. |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1040 (bookmark-maybe-load-default-file) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1041 (let* ((file (expand-file-name (bookmark-get-filename str))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1042 (forward-str (bookmark-get-front-context-string str)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1043 (behind-str (bookmark-get-rear-context-string str)) |
92550
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1044 (place (bookmark-get-position str))) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1045 ;; FIXME: bookmark-file-or-variation-thereof was needed for Info files, |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1046 ;; but now that Info bookmarks are handled elsewhere it seems that we |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1047 ;; should be able to get rid of it. --Stef |
28013
b8291d86b5fd
(bookmark-file-or-variation-thereof): New func, for
Gerd Moellmann <gerd@gnu.org>
parents:
26773
diff
changeset
|
1048 (if (setq file (bookmark-file-or-variation-thereof file)) |
92550
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1049 (with-current-buffer (find-file-noselect file) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1050 (goto-char place) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1051 |
92550
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1052 ;; Go searching forward first. Then, if forward-str exists and |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1053 ;; was found in the file, we can search backward for behind-str. |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1054 ;; Rationale is that if text was inserted between the two in the |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1055 ;; file, it's better to be put before it so you can read it, |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1056 ;; rather than after and remain perhaps unaware of the changes. |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1057 (if forward-str |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1058 (if (search-forward forward-str (point-max) t) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1059 (goto-char (match-beginning 0)))) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1060 (if behind-str |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1061 (if (search-backward behind-str (point-min) t) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1062 (goto-char (match-end 0)))) |
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1063 `((buffer ,(current-buffer)) (position ,(point))))))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1064 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1065 |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1066 ;;;###autoload |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1067 (defun bookmark-relocate (bookmark) |
15193
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
1068 "Relocate BOOKMARK to another file (reading file name with minibuffer). |
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
1069 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
|
1070 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
|
1071 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
|
1072 (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
|
1073 (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
|
1074 (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
|
1075 (let* ((bmrk-filename (bookmark-get-filename bookmark)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1076 (newloc (expand-file-name |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1077 (read-file-name |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1078 (format "Relocate %s to: " bookmark) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1079 (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
|
1080 (bookmark-set-filename bookmark newloc) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1081 (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
|
1082 |
4537 | 1083 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1084 ;;;###autoload |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1085 (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
|
1086 "Insert the name of the file associated with BOOKMARK. |
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
1087 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
|
1088 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
|
1089 (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
|
1090 (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
|
1091 (let ((start (point))) |
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1092 (prog1 |
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1093 (insert (bookmark-location bookmark)) ; *Return this line* |
29476
0797cad76554
Applied this patch from Eli Zaretskii. Pretty much taking on faith
Karl Fogel <kfogel@red-bean.com>
parents:
28013
diff
changeset
|
1094 (if (and (display-color-p) (display-mouse-p)) |
66192
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1095 (add-text-properties |
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1096 start |
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1097 (save-excursion (re-search-backward |
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1098 "[^ \t]") |
38173
fe0513d0f974
(bookmark-insert-location, bookmark-bmenu-list)
Eli Zaretskii <eliz@gnu.org>
parents:
37041
diff
changeset
|
1099 (1+ (point))) |
66192
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1100 '(mouse-face highlight |
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1101 follow-link t |
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1102 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
|
1103 |
15189
dd74ff8dad0b
(bookmark-locate): ;;;###autoload this alias.
Karl Fogel <kfogel@red-bean.com>
parents:
15183
diff
changeset
|
1104 ;;;###autoload |
15183
9c770d2b753f
(bookmark-make): take optional arg `info-node', pass it on to
Karl Fogel <kfogel@red-bean.com>
parents:
14734
diff
changeset
|
1105 (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
|
1106 |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1107 (defun bookmark-location (bookmark) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1108 "Return the name of the file associated with BOOKMARK." |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1109 (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
|
1110 (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
|
1111 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1112 |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1113 ;;;###autoload |
4633 | 1114 (defun bookmark-rename (old &optional new) |
15193
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
1115 "Change the name of OLD bookmark to NEW name. |
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
1116 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
|
1117 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
|
1118 |
15193
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
1119 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
|
1120 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
|
1121 must pass at least OLD when calling from Lisp. |
4633 | 1122 |
1123 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
|
1124 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
|
1125 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
|
1126 (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
|
1127 (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
|
1128 (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
|
1129 |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1130 (setq bookmark-current-point (point)) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1131 (setq bookmark-yank-point (point)) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1132 (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
|
1133 (let ((newname |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1134 (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
|
1135 (read-from-minibuffer |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1136 "New name: " |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1137 nil |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1138 (let ((now-map (copy-keymap minibuffer-local-map))) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1139 (define-key now-map "\C-w" 'bookmark-yank-word) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1140 now-map) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1141 nil |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1142 'bookmark-history)))) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1143 (bookmark-set-name old newname) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1144 (setq bookmark-current-bookmark newname) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1145 (bookmark-bmenu-surreptitiously-rebuild-list) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1146 (setq bookmark-alist-modification-count |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1147 (1+ bookmark-alist-modification-count)) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1148 (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
|
1149 (bookmark-save)))) |
4537 | 1150 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1151 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1152 ;;;###autoload |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1153 (defun bookmark-insert (bookmark) |
35283 | 1154 "Insert the text of the file pointed to by bookmark BOOKMARK. |
4633 | 1155 You may have a problem using this function if the value of variable |
1156 `bookmark-alist' is nil. If that happens, you need to load in some | |
1157 bookmarks. See help on function `bookmark-load' for more about | |
4631 | 1158 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
|
1159 (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
|
1160 (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
|
1161 (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
|
1162 (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
|
1163 (str-to-insert |
9ac481bc897b
2007-12-26 Tassilo Horn <tassilo@member.fsf.org>
Tassilo Horn <tassilo@member.fsf.org>
parents:
84858
diff
changeset
|
1164 (save-excursion |
92550
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1165 (set-buffer (cadr (assq 'buffer (bookmark-jump-noselect bookmark)))) |
87411
9ac481bc897b
2007-12-26 Tassilo Horn <tassilo@member.fsf.org>
Tassilo Horn <tassilo@member.fsf.org>
parents:
84858
diff
changeset
|
1166 (buffer-string)))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1167 (insert str-to-insert) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1168 (push-mark) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1169 (goto-char orig-point))) |
4537 | 1170 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1171 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1172 ;;;###autoload |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1173 (defun bookmark-delete (bookmark &optional batch) |
35283 | 1174 "Delete BOOKMARK from the bookmark list. |
4633 | 1175 Removes only the first instance of a bookmark with that name. If |
1176 there are one or more other bookmarks with the same name, they will | |
1177 not be deleted. Defaults to the \"current\" bookmark \(that is, the | |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1178 one most recently used in this file, if any\). |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1179 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
|
1180 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
|
1181 (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
|
1182 (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
|
1183 bookmark-current-bookmark))) |
10994
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
1184 (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
|
1185 (bookmark-maybe-load-default-file) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1186 (let ((will-go (bookmark-get-bookmark bookmark))) |
4595 | 1187 (setq bookmark-alist (delq will-go bookmark-alist)) |
1188 ;; 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
|
1189 ;; occurrence has been deleted |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1190 (or (bookmark-get-bookmark bookmark-current-bookmark) |
4595 | 1191 (setq bookmark-current-bookmark nil))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1192 ;; Don't rebuild the list |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1193 (if batch |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1194 nil |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1195 (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
|
1196 (setq bookmark-alist-modification-count |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1197 (1+ bookmark-alist-modification-count)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1198 (if (bookmark-time-to-save-p) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1199 (bookmark-save)))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1200 |
4537 | 1201 |
1202 (defun bookmark-time-to-save-p (&optional last-time) | |
1203 ;; By Gregory M. Saunders <saunders@cis.ohio-state.edu> | |
1204 ;; finds out whether it's time to save bookmarks to a file, by | |
1205 ;; examining the value of variable bookmark-save-flag, and maybe | |
1206 ;; bookmark-alist-modification-count. Returns t if they should be | |
1207 ;; saved, nil otherwise. if last-time is non-nil, then this is | |
1208 ;; being called when emacs is killed. | |
35283 | 1209 (cond (last-time |
4537 | 1210 (and (> bookmark-alist-modification-count 0) |
1211 bookmark-save-flag)) | |
1212 ((numberp bookmark-save-flag) | |
1213 (>= bookmark-alist-modification-count bookmark-save-flag)) | |
1214 (t | |
1215 nil))) | |
1216 | |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1217 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1218 ;;;###autoload |
4537 | 1219 (defun bookmark-write () |
15193
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
1220 "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
|
1221 Don't use this in Lisp programs; use `bookmark-save' instead." |
4537 | 1222 (interactive) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1223 (bookmark-maybe-load-default-file) |
4537 | 1224 (bookmark-save t)) |
1225 | |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1226 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1227 ;;;###autoload |
35283 | 1228 (defun bookmark-save (&optional parg file) |
4633 | 1229 "Save currently defined bookmarks. |
1230 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
|
1231 `bookmark-default-file'. With a prefix arg, save it in file FILE |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1232 \(second argument\). |
4537 | 1233 |
64634
4045a1b1a5c9
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
1234 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
|
1235 FILE, and if you just want it to write to the default file, then |
4537 | 1236 pass no arguments. Or pass in nil and FILE, and it will save in FILE |
1237 instead. If you pass in one argument, and it is non-nil, then the | |
1238 user will be interactively queried for a file to save in. | |
1239 | |
4595 | 1240 When you want to load in the bookmarks from a file, use |
4633 | 1241 \`bookmark-load\', \\[bookmark-load]. That function will prompt you |
4595 | 1242 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
|
1243 `bookmark-default-file'." |
4537 | 1244 (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
|
1245 (bookmark-maybe-load-default-file) |
4537 | 1246 (cond |
1247 ((and (null parg) (null file)) | |
1248 ;;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
|
1249 (bookmark-write-file bookmark-default-file)) |
4537 | 1250 ((and (null parg) file) |
1251 ;;whether interactive or not, write to given file | |
1252 (bookmark-write-file file)) | |
1253 ((and parg (not file)) | |
1254 ;;have been called interactively w/ prefix arg | |
1255 (let ((file (read-file-name "File to save bookmarks in: "))) | |
1256 (bookmark-write-file file))) | |
1257 (t ; someone called us with prefix-arg *and* a file, so just write to file | |
1258 (bookmark-write-file file))) | |
1259 ;; signal that we have synced the bookmark file by setting this to | |
1260 ;; 0. If there was an error at any point before, it will not get | |
1261 ;; set, which is what we want. | |
1262 (setq bookmark-alist-modification-count 0)) | |
1263 | |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1264 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1265 |
4537 | 1266 (defun bookmark-write-file (file) |
1267 (save-excursion | |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1268 (save-window-excursion |
66835
96e7147004a8
* bookmark.el (bookmark-maybe-message): New function to reduce code
Karl Fogel <kfogel@red-bean.com>
parents:
66834
diff
changeset
|
1269 (bookmark-maybe-message "Saving bookmarks to file %s..." file) |
66834
871ff6d80553
(bookmark-write-file): Don't visit the destination file, just write
Karl Fogel <kfogel@red-bean.com>
parents:
66201
diff
changeset
|
1270 (set-buffer (get-buffer-create " *Bookmarks*")) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1271 (goto-char (point-min)) |
66834
871ff6d80553
(bookmark-write-file): Don't visit the destination file, just write
Karl Fogel <kfogel@red-bean.com>
parents:
66201
diff
changeset
|
1272 (delete-region (point-min) (point-max)) |
41608
45db352a0971
Converted backquote to the new style.
Sam Steingold <sds@gnu.org>
parents:
39122
diff
changeset
|
1273 (let ((print-length nil) |
39122
5ebb8291c155
(bookmark-write-file): Bind print-length and
Gerd Moellmann <gerd@gnu.org>
parents:
38436
diff
changeset
|
1274 (print-level nil)) |
5ebb8291c155
(bookmark-write-file): Bind print-length and
Gerd Moellmann <gerd@gnu.org>
parents:
38436
diff
changeset
|
1275 (bookmark-insert-file-format-version-stamp) |
5ebb8291c155
(bookmark-write-file): Bind print-length and
Gerd Moellmann <gerd@gnu.org>
parents:
38436
diff
changeset
|
1276 (pp bookmark-alist (current-buffer)) |
5ebb8291c155
(bookmark-write-file): Bind print-length and
Gerd Moellmann <gerd@gnu.org>
parents:
38436
diff
changeset
|
1277 (let ((version-control |
5ebb8291c155
(bookmark-write-file): Bind print-length and
Gerd Moellmann <gerd@gnu.org>
parents:
38436
diff
changeset
|
1278 (cond |
5ebb8291c155
(bookmark-write-file): Bind print-length and
Gerd Moellmann <gerd@gnu.org>
parents:
38436
diff
changeset
|
1279 ((null bookmark-version-control) nil) |
5ebb8291c155
(bookmark-write-file): Bind print-length and
Gerd Moellmann <gerd@gnu.org>
parents:
38436
diff
changeset
|
1280 ((eq 'never bookmark-version-control) 'never) |
5ebb8291c155
(bookmark-write-file): Bind print-length and
Gerd Moellmann <gerd@gnu.org>
parents:
38436
diff
changeset
|
1281 ((eq 'nospecial bookmark-version-control) version-control) |
5ebb8291c155
(bookmark-write-file): Bind print-length and
Gerd Moellmann <gerd@gnu.org>
parents:
38436
diff
changeset
|
1282 (t |
5ebb8291c155
(bookmark-write-file): Bind print-length and
Gerd Moellmann <gerd@gnu.org>
parents:
38436
diff
changeset
|
1283 t)))) |
61454
014fcf8d4038
(bookmark-write-file): Catch errors writing file.
Karl Fogel <kfogel@red-bean.com>
parents:
61028
diff
changeset
|
1284 (condition-case nil |
66834
871ff6d80553
(bookmark-write-file): Don't visit the destination file, just write
Karl Fogel <kfogel@red-bean.com>
parents:
66201
diff
changeset
|
1285 (write-region (point-min) (point-max) file) |
61454
014fcf8d4038
(bookmark-write-file): Catch errors writing file.
Karl Fogel <kfogel@red-bean.com>
parents:
61028
diff
changeset
|
1286 (file-error (message "Can't write %s" file))) |
39122
5ebb8291c155
(bookmark-write-file): Bind print-length and
Gerd Moellmann <gerd@gnu.org>
parents:
38436
diff
changeset
|
1287 (kill-buffer (current-buffer)) |
66835
96e7147004a8
* bookmark.el (bookmark-maybe-message): New function to reduce code
Karl Fogel <kfogel@red-bean.com>
parents:
66834
diff
changeset
|
1288 (bookmark-maybe-message |
96e7147004a8
* bookmark.el (bookmark-maybe-message): New function to reduce code
Karl Fogel <kfogel@red-bean.com>
parents:
66834
diff
changeset
|
1289 "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
|
1290 |
4537 | 1291 |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1292 (defun bookmark-import-new-list (new-list) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1293 ;; Walk over the new list, adding each individual bookmark |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1294 ;; carefully. "Carefully" means checking against the existing |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1295 ;; bookmark-alist and renaming the new bookmarks with <N> extensions |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1296 ;; as necessary. |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1297 (let ((lst new-list) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1298 (names (bookmark-all-names))) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1299 (while lst |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1300 (let* ((full-record (car lst))) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1301 (bookmark-maybe-rename full-record names) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1302 (setq bookmark-alist (nconc bookmark-alist (list full-record))) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1303 (setq names (cons (bookmark-name-from-full-record full-record) names)) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1304 (setq lst (cdr lst)))))) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1305 |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1306 |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1307 (defun bookmark-maybe-rename (full-record names) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1308 ;; just a helper for bookmark-import-new-list; it is only for |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1309 ;; readability that this is not inlined. |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1310 ;; |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1311 ;; Once this has found a free name, it sets full-record to that |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1312 ;; name. |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1313 (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
|
1314 (if (member found-name names) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1315 ;; 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
|
1316 (let ((count 2) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1317 (new-name found-name)) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1318 (while (member new-name names) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1319 (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
|
1320 (setq count (1+ count))) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1321 (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
|
1322 |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1323 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1324 ;;;###autoload |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1325 (defun bookmark-load (file &optional overwrite no-msg) |
4633 | 1326 "Load bookmarks from FILE (which must be in bookmark format). |
1327 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
|
1328 optional second argument OVERWRITE is non-nil, existing bookmarks are |
4633 | 1329 destroyed. Optional third arg NO-MSG means don't display any messages |
1330 while loading. | |
4537 | 1331 |
1332 If you load a file that doesn't contain a proper bookmark alist, you | |
4633 | 1333 will corrupt Emacs's bookmark list. Generally, you should only load |
4537 | 1334 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
|
1335 place. Your own personal bookmark file, `~/.emacs.bmk', is |
4631 | 1336 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
|
1337 explicitly. |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1338 |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1339 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
|
1340 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
|
1341 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
|
1342 method buffers use to resolve name collisions." |
4537 | 1343 (interactive |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1344 (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
|
1345 (format "Load bookmarks from: (%s) " |
35283 | 1346 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
|
1347 ;;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
|
1348 ;;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
|
1349 ;;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
|
1350 "~/" bookmark-default-file 'confirm))) |
4537 | 1351 (setq file (expand-file-name file)) |
1352 (if (file-readable-p file) | |
1353 (save-excursion | |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1354 (save-window-excursion |
66835
96e7147004a8
* bookmark.el (bookmark-maybe-message): New function to reduce code
Karl Fogel <kfogel@red-bean.com>
parents:
66834
diff
changeset
|
1355 (if (null no-msg) |
96e7147004a8
* bookmark.el (bookmark-maybe-message): New function to reduce code
Karl Fogel <kfogel@red-bean.com>
parents:
66834
diff
changeset
|
1356 (bookmark-maybe-message "Loading bookmarks from %s..." file)) |
4893
c4bab885aa8d
(bookmark-load, bookmark-write-file):
Richard M. Stallman <rms@gnu.org>
parents:
4891
diff
changeset
|
1357 (set-buffer (let ((enable-local-variables nil)) |
4891 | 1358 (find-file-noselect file))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1359 (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
|
1360 (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
|
1361 (let ((blist (bookmark-alist-from-buffer))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1362 (if (listp blist) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1363 (progn |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1364 (if overwrite |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1365 (progn |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1366 (setq bookmark-alist blist) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1367 (setq bookmark-alist-modification-count 0)) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1368 ;; else |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1369 (bookmark-import-new-list blist) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1370 (setq bookmark-alist-modification-count |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1371 (1+ bookmark-alist-modification-count))) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1372 (if (string-equal |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1373 (expand-file-name bookmark-default-file) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1374 file) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1375 (setq bookmarks-already-loaded t)) |
35283 | 1376 (bookmark-bmenu-surreptitiously-rebuild-list)) |
14354
f1035d934a7a
(bookmark-alist-from-buffer): Fix error text.
Karl Heuer <kwzh@gnu.org>
parents:
14339
diff
changeset
|
1377 (error "Invalid bookmark list in %s" file))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1378 (kill-buffer (current-buffer))) |
66835
96e7147004a8
* bookmark.el (bookmark-maybe-message): New function to reduce code
Karl Fogel <kfogel@red-bean.com>
parents:
66834
diff
changeset
|
1379 (if (null no-msg) |
96e7147004a8
* bookmark.el (bookmark-maybe-message): New function to reduce code
Karl Fogel <kfogel@red-bean.com>
parents:
66834
diff
changeset
|
1380 (bookmark-maybe-message "Loading bookmarks from %s...done" file))) |
14354
f1035d934a7a
(bookmark-alist-from-buffer): Fix error text.
Karl Heuer <kwzh@gnu.org>
parents:
14339
diff
changeset
|
1381 (error "Cannot read bookmark file %s" file))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1382 |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1383 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1384 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1385 ;;; Code supporting the dired-like bookmark menu. Prefix is |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1386 ;;; "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
|
1387 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1388 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1389 (defvar bookmark-bmenu-bookmark-column nil) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1390 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1391 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1392 (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
|
1393 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1394 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1395 (defvar bookmark-bmenu-mode-map nil) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1396 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1397 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1398 (if bookmark-bmenu-mode-map |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1399 nil |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1400 (setq bookmark-bmenu-mode-map (make-keymap)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1401 (suppress-keymap bookmark-bmenu-mode-map t) |
21094
10363c2d994a
(bookmark-bmenu-mode-map): Use quit-window for q.
Richard M. Stallman <rms@gnu.org>
parents:
19472
diff
changeset
|
1402 (define-key bookmark-bmenu-mode-map "q" 'quit-window) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1403 (define-key bookmark-bmenu-mode-map "v" 'bookmark-bmenu-select) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1404 (define-key bookmark-bmenu-mode-map "w" 'bookmark-bmenu-locate) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1405 (define-key bookmark-bmenu-mode-map "2" 'bookmark-bmenu-2-window) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1406 (define-key bookmark-bmenu-mode-map "1" 'bookmark-bmenu-1-window) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1407 (define-key bookmark-bmenu-mode-map "j" 'bookmark-bmenu-this-window) |
15189
dd74ff8dad0b
(bookmark-locate): ;;;###autoload this alias.
Karl Fogel <kfogel@red-bean.com>
parents:
15183
diff
changeset
|
1408 (define-key bookmark-bmenu-mode-map "\C-c\C-c" 'bookmark-bmenu-this-window) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1409 (define-key bookmark-bmenu-mode-map "f" 'bookmark-bmenu-this-window) |
26773
2f62700913ab
(bookmark-bmenu-mode-map): Bind RET like f.
Richard M. Stallman <rms@gnu.org>
parents:
24763
diff
changeset
|
1410 (define-key bookmark-bmenu-mode-map "\C-m" 'bookmark-bmenu-this-window) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1411 (define-key bookmark-bmenu-mode-map "o" 'bookmark-bmenu-other-window) |
15189
dd74ff8dad0b
(bookmark-locate): ;;;###autoload this alias.
Karl Fogel <kfogel@red-bean.com>
parents:
15183
diff
changeset
|
1412 (define-key bookmark-bmenu-mode-map "\C-o" |
dd74ff8dad0b
(bookmark-locate): ;;;###autoload this alias.
Karl Fogel <kfogel@red-bean.com>
parents:
15183
diff
changeset
|
1413 'bookmark-bmenu-switch-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
|
1414 (define-key bookmark-bmenu-mode-map "s" 'bookmark-bmenu-save) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1415 (define-key bookmark-bmenu-mode-map "k" 'bookmark-bmenu-delete) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1416 (define-key bookmark-bmenu-mode-map "\C-d" 'bookmark-bmenu-delete-backwards) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1417 (define-key bookmark-bmenu-mode-map "x" 'bookmark-bmenu-execute-deletions) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1418 (define-key bookmark-bmenu-mode-map "d" 'bookmark-bmenu-delete) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1419 (define-key bookmark-bmenu-mode-map " " 'next-line) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1420 (define-key bookmark-bmenu-mode-map "n" 'next-line) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1421 (define-key bookmark-bmenu-mode-map "p" 'previous-line) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1422 (define-key bookmark-bmenu-mode-map "\177" 'bookmark-bmenu-backup-unmark) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1423 (define-key bookmark-bmenu-mode-map "?" 'describe-mode) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1424 (define-key bookmark-bmenu-mode-map "u" 'bookmark-bmenu-unmark) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1425 (define-key bookmark-bmenu-mode-map "m" 'bookmark-bmenu-mark) |
35283 | 1426 (define-key bookmark-bmenu-mode-map "l" 'bookmark-bmenu-load) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1427 (define-key bookmark-bmenu-mode-map "r" 'bookmark-bmenu-rename) |
56059
4e04e776fb5e
* bookmark.el (bookmark-bmenu-relocate): New function, as
Karl Fogel <kfogel@red-bean.com>
parents:
54906
diff
changeset
|
1428 (define-key bookmark-bmenu-mode-map "R" 'bookmark-bmenu-relocate) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1429 (define-key bookmark-bmenu-mode-map "t" '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
|
1430 (define-key bookmark-bmenu-mode-map "a" '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
|
1431 (define-key bookmark-bmenu-mode-map "A" 'bookmark-bmenu-show-all-annotations) |
17265
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1432 (define-key bookmark-bmenu-mode-map "e" 'bookmark-bmenu-edit-annotation) |
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1433 (define-key bookmark-bmenu-mode-map [mouse-2] |
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1434 'bookmark-bmenu-other-window-with-mouse)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1435 |
35283 | 1436 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1437 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1438 ;; 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
|
1439 ;; data. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1440 (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
|
1441 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1442 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1443 ;; todo: need to display whether or not bookmark exists as a buffer in |
35283 | 1444 ;; flag column. |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1445 |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1446 ;; Format: |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1447 ;; 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
|
1448 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1449 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1450 (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
|
1451 "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
|
1452 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
|
1453 (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
|
1454 (save-excursion |
35283 | 1455 (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
|
1456 (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
|
1457 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1458 |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1459 ;;;###autoload |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1460 (defun bookmark-bmenu-list () |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1461 "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
|
1462 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
|
1463 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
|
1464 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
|
1465 (interactive) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1466 (bookmark-maybe-load-default-file) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1467 (if (interactive-p) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1468 (switch-to-buffer (get-buffer-create "*Bookmark List*")) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1469 (set-buffer (get-buffer-create "*Bookmark List*"))) |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
1470 (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
|
1471 (erase-buffer) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1472 (insert "% Bookmark\n- --------\n") |
66201
54d9518d9113
(bookmark-menu-heading): New face.
Romain Francoise <romain@orebokech.com>
parents:
66192
diff
changeset
|
1473 (add-text-properties (point-min) (point) |
54d9518d9113
(bookmark-menu-heading): New face.
Romain Francoise <romain@orebokech.com>
parents:
66192
diff
changeset
|
1474 '(font-lock-face bookmark-menu-heading)) |
84858
e745533cff59
(bookmark-bmenu-list, bookmark-show-all-annotations):
Juanma Barranquero <lekktu@gmail.com>
parents:
84777
diff
changeset
|
1475 (mapc |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1476 (lambda (full-record) |
13969
8fd836e88aec
(bookmark-save-flag, bookmark-read-annotation-text-func,
Karl Heuer <kwzh@gnu.org>
parents:
13895
diff
changeset
|
1477 ;; if a bookmark has an annotation, prepend a "*" |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1478 ;; in the list of bookmarks. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1479 (let ((annotation (bookmark-get-annotation |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1480 (bookmark-name-from-full-record full-record)))) |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1481 (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
|
1482 (insert " *") |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1483 (insert " ")) |
17265
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1484 (let ((start (point))) |
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1485 (insert (bookmark-name-from-full-record full-record)) |
29476
0797cad76554
Applied this patch from Eli Zaretskii. Pretty much taking on faith
Karl Fogel <kfogel@red-bean.com>
parents:
28013
diff
changeset
|
1486 (if (and (display-color-p) (display-mouse-p)) |
66192
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1487 (add-text-properties |
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1488 start |
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1489 (save-excursion (re-search-backward |
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1490 "[^ \t]") |
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1491 (1+ (point))) |
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1492 '(mouse-face highlight |
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1493 follow-link t |
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1494 help-echo "mouse-2: go to this bookmark in other window"))) |
17265
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1495 (insert "\n") |
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1496 ))) |
78160
ba35decf8cc1
(bookmark-maybe-sort-alist): Don't modify bookmark-alist.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
78159
diff
changeset
|
1497 (bookmark-maybe-sort-alist))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1498 (goto-char (point-min)) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1499 (forward-line 2) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1500 (bookmark-bmenu-mode) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1501 (if 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
|
1502 (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
|
1503 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1504 ;;;###autoload |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1505 (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
|
1506 ;;;###autoload |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1507 (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
|
1508 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1509 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1510 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1511 (defun bookmark-bmenu-mode () |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1512 "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
|
1513 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
|
1514 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
|
1515 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
|
1516 \\<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
|
1517 \\[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
|
1518 \\[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
|
1519 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
|
1520 \\[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
|
1521 \\[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
|
1522 \\[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
|
1523 \\[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
|
1524 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
|
1525 \\[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
|
1526 \\[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
|
1527 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
|
1528 \\[bookmark-bmenu-switch-other-window] -- switch the other window to this bookmark. |
35283 | 1529 \\[bookmark-bmenu-rename] -- rename this bookmark \(prompts for new name\). |
56059
4e04e776fb5e
* bookmark.el (bookmark-bmenu-relocate): New function, as
Karl Fogel <kfogel@red-bean.com>
parents:
54906
diff
changeset
|
1530 \\[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
|
1531 \\[bookmark-bmenu-delete] -- mark this bookmark to be deleted, and move down. |
35283 | 1532 \\[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
|
1533 \\[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
|
1534 \\[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
|
1535 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
|
1536 \\[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
|
1537 \\[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
|
1538 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
|
1539 \\[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
|
1540 \\[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
|
1541 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
|
1542 \\[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
|
1543 \\[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
|
1544 (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
|
1545 (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
|
1546 (setq truncate-lines t) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1547 (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
|
1548 (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
|
1549 (setq mode-name "Bookmark Menu") |
62718
d00be6e651cd
(bookmark-read-annotation-mode, bookmark-edit-annotation-mode)
Lute Kamstra <lute@gnu.org>
parents:
61454
diff
changeset
|
1550 (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
|
1551 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1552 |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1553 (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
|
1554 "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
|
1555 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
|
1556 (interactive) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1557 (cond |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1558 (show |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1559 (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
|
1560 (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
|
1561 (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
|
1562 (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
|
1563 (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
|
1564 (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
|
1565 (t |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1566 (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
|
1567 (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
|
1568 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1569 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1570 (defun bookmark-bmenu-show-filenames (&optional force) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1571 (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
|
1572 nil ;already shown, so do nothing |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1573 (save-excursion |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1574 (save-window-excursion |
4537 | 1575 (goto-char (point-min)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1576 (forward-line 2) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1577 (setq bookmark-bmenu-hidden-bookmarks ()) |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
1578 (let ((inhibit-read-only t)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1579 (while (< (point) (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
|
1580 (let ((bmrk (bookmark-bmenu-bookmark))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1581 (setq 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
|
1582 (cons bmrk bookmark-bmenu-hidden-bookmarks)) |
17265
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1583 (let ((start (save-excursion (end-of-line) (point)))) |
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1584 (move-to-column bookmark-bmenu-file-column t) |
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1585 ;; Strip off `mouse-face' from the white spaces region. |
29476
0797cad76554
Applied this patch from Eli Zaretskii. Pretty much taking on faith
Karl Fogel <kfogel@red-bean.com>
parents:
28013
diff
changeset
|
1586 (if (and (display-color-p) (display-mouse-p)) |
17265
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1587 (remove-text-properties start (point) |
38173
fe0513d0f974
(bookmark-insert-location, bookmark-bmenu-list)
Eli Zaretskii <eliz@gnu.org>
parents:
37041
diff
changeset
|
1588 '(mouse-face nil help-echo nil)))) |
17265
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1589 (delete-region (point) (progn (end-of-line) (point))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1590 (insert " ") |
10994
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
1591 ;; Pass the NO-HISTORY arg: |
d173d21f14e2
Removed C-v bindings; they were inconsistent.
Karl Fogel <kfogel@red-bean.com>
parents:
10960
diff
changeset
|
1592 (bookmark-insert-location bmrk t) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1593 (forward-line 1)))))))) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1594 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1595 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1596 (defun bookmark-bmenu-hide-filenames (&optional force) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1597 (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
|
1598 ;; nothing to hide if above is nil |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1599 (save-excursion |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1600 (save-window-excursion |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1601 (goto-char (point-min)) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1602 (forward-line 2) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1603 (setq 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
|
1604 (nreverse bookmark-bmenu-hidden-bookmarks)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1605 (save-excursion |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1606 (goto-char (point-min)) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1607 (search-forward "Bookmark") |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1608 (backward-word 1) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1609 (setq bookmark-bmenu-bookmark-column (current-column))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1610 (save-excursion |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
1611 (let ((inhibit-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
|
1612 (while 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
|
1613 (move-to-column bookmark-bmenu-bookmark-column t) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1614 (bookmark-kill-line) |
17265
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1615 (let ((start (point))) |
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1616 (insert (car bookmark-bmenu-hidden-bookmarks)) |
29476
0797cad76554
Applied this patch from Eli Zaretskii. Pretty much taking on faith
Karl Fogel <kfogel@red-bean.com>
parents:
28013
diff
changeset
|
1617 (if (and (display-color-p) (display-mouse-p)) |
66192
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1618 (add-text-properties |
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1619 start |
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1620 (save-excursion (re-search-backward |
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1621 "[^ \t]") |
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1622 (1+ (point))) |
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1623 '(mouse-face highlight |
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1624 follow-link t |
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1625 help-echo |
16f7998a8424
* bookmark.el (bookmark-insert-location, bookmark-bmenu-list)
Romain Francoise <romain@orebokech.com>
parents:
66185
diff
changeset
|
1626 "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
|
1627 (setq 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
|
1628 (cdr bookmark-bmenu-hidden-bookmarks)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1629 (forward-line 1)))))))) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1630 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1631 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1632 (defun bookmark-bmenu-check-position () |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1633 ;; Returns non-nil if on a line with a bookmark. |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1634 ;; (The actual value returned is bookmark-alist). |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1635 ;; Else reposition and try again, else return nil. |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1636 (cond ((< (count-lines (point-min) (point)) 2) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1637 (goto-char (point-min)) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1638 (forward-line 2) |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1639 bookmark-alist) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1640 ((and (bolp) (eobp)) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1641 (beginning-of-line 0) |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1642 bookmark-alist) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1643 (t |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1644 bookmark-alist))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1645 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1646 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1647 (defun bookmark-bmenu-bookmark () |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1648 ;; return a string which is bookmark of this line. |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1649 (if (bookmark-bmenu-check-position) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1650 (save-excursion |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1651 (save-window-excursion |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1652 (goto-char (point-min)) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1653 (search-forward "Bookmark") |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1654 (backward-word 1) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1655 (setq bookmark-bmenu-bookmark-column (current-column))))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1656 (if 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
|
1657 (bookmark-bmenu-hide-filenames)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1658 (save-excursion |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1659 (save-window-excursion |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1660 (beginning-of-line) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1661 (forward-char bookmark-bmenu-bookmark-column) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1662 (prog1 |
35283 | 1663 (buffer-substring-no-properties (point) |
1664 (progn | |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1665 (end-of-line) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1666 (point))) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1667 ;; well, this is certainly crystal-clear: |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1668 (if 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
|
1669 (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
|
1670 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1671 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1672 (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
|
1673 "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
|
1674 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
|
1675 (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
|
1676 (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
|
1677 (save-excursion |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1678 (let ((old-buf (current-buffer))) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1679 (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
|
1680 (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
|
1681 ;; (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
|
1682 (insert annotation) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1683 (goto-char (point-min)) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1684 (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
|
1685 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1686 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1687 (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
|
1688 "Display the annotations for all bookmarks 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
|
1689 (let ((old-buf (current-buffer))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1690 (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
|
1691 (delete-region (point-min) (point-max)) |
84858
e745533cff59
(bookmark-bmenu-list, bookmark-show-all-annotations):
Juanma Barranquero <lekktu@gmail.com>
parents:
84777
diff
changeset
|
1692 (mapc |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1693 (lambda (full-record) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1694 (let* ((name (bookmark-name-from-full-record full-record)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1695 (ann (bookmark-get-annotation name))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1696 (insert (concat name ":\n")) |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1697 (if (and ann (not (string-equal ann ""))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1698 ;; insert the annotation, indented by 4 spaces. |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1699 (progn |
78159
639d3d9bce58
(bookmark-show-all-annotations):
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
75347
diff
changeset
|
1700 (save-excursion (insert ann) (unless (bolp) |
639d3d9bce58
(bookmark-show-all-annotations):
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
75347
diff
changeset
|
1701 (insert "\n"))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1702 (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
|
1703 (beginning-of-line) ; paranoia |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1704 (insert " ") |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1705 (forward-line) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1706 (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
|
1707 bookmark-alist) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1708 (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
|
1709 (pop-to-buffer old-buf))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1710 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1711 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1712 (defun bookmark-bmenu-mark () |
15193
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
1713 "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
|
1714 (interactive) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1715 (beginning-of-line) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1716 (if (bookmark-bmenu-check-position) |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
1717 (let ((inhibit-read-only t)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1718 (delete-char 1) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1719 (insert ?>) |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1720 (forward-line 1) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1721 (bookmark-bmenu-check-position)))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1722 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1723 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1724 (defun bookmark-bmenu-select () |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1725 "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
|
1726 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
|
1727 (interactive) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1728 (if (bookmark-bmenu-check-position) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1729 (let ((bmrk (bookmark-bmenu-bookmark)) |
35283 | 1730 (menu (current-buffer)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1731 (others ()) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1732 tem) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1733 (goto-char (point-min)) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1734 (while (re-search-forward "^>" nil t) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1735 (setq tem (bookmark-bmenu-bookmark)) |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
1736 (let ((inhibit-read-only t)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1737 (delete-char -1) |
64634
4045a1b1a5c9
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
1738 (insert ?\s)) |
35283 | 1739 (or (string-equal tem bmrk) |
1740 (member tem others) | |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1741 (setq others (cons tem others)))) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1742 (setq others (nreverse others) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1743 tem (/ (1- (frame-height)) (1+ (length others)))) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1744 (delete-other-windows) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1745 (bookmark-jump bmrk) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1746 (bury-buffer menu) |
12310
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1747 (if others |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1748 (while others |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1749 (split-window nil tem) |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1750 (other-window 1) |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1751 (bookmark-jump (car others)) |
afad1c3ce9bd
Make doc strings and argument names consistent where necessary.
Richard M. Stallman <rms@gnu.org>
parents:
12033
diff
changeset
|
1752 (setq others (cdr others))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1753 (other-window 1))))) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1754 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1755 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1756 (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
|
1757 "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
|
1758 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
|
1759 (interactive "P") |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1760 (save-excursion |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1761 (save-window-excursion |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1762 (bookmark-save parg)))) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1763 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1764 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1765 (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
|
1766 "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
|
1767 (interactive) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1768 (if (bookmark-bmenu-check-position) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1769 (save-excursion |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1770 (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
|
1771 ;; This will call `bookmark-bmenu-list' |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1772 (call-interactively 'bookmark-load))))) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1773 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1774 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1775 (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
|
1776 "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
|
1777 (interactive) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1778 (if (bookmark-bmenu-check-position) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1779 (progn |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1780 (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
|
1781 (bury-buffer (other-buffer)) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1782 (delete-other-windows)))) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1783 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1784 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1785 (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
|
1786 "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
|
1787 (interactive) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1788 (if (bookmark-bmenu-check-position) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1789 (let ((bmrk (bookmark-bmenu-bookmark)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1790 (menu (current-buffer)) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1791 (pop-up-windows t)) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1792 (delete-other-windows) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1793 (switch-to-buffer (other-buffer)) |
92550
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1794 (let* ((alist (bookmark-jump-noselect bmrk)) |
87521
0140d3ebb262
Change a return type, for greater extensibility. See
Karl Fogel <kfogel@red-bean.com>
parents:
87411
diff
changeset
|
1795 (buff (cadr (assq 'buffer alist))) |
0140d3ebb262
Change a return type, for greater extensibility. See
Karl Fogel <kfogel@red-bean.com>
parents:
87411
diff
changeset
|
1796 (pos (cadr (assq 'position alist)))) |
11021
83b6c53268c3
(bookmark-bmenu-2-window): go to correct position as well as
Karl Fogel <kfogel@red-bean.com>
parents:
10994
diff
changeset
|
1797 (pop-to-buffer buff) |
83b6c53268c3
(bookmark-bmenu-2-window): go to correct position as well as
Karl Fogel <kfogel@red-bean.com>
parents:
10994
diff
changeset
|
1798 (goto-char pos)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1799 (bury-buffer menu)))) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1800 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1801 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1802 (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
|
1803 "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
|
1804 (interactive) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1805 (if (bookmark-bmenu-check-position) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1806 (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
|
1807 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1808 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1809 (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
|
1810 "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
|
1811 (interactive) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1812 (let ((bookmark (bookmark-bmenu-bookmark))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1813 (if (bookmark-bmenu-check-position) |
92550
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1814 (let* ((alist (bookmark-jump-noselect bookmark)) |
87521
0140d3ebb262
Change a return type, for greater extensibility. See
Karl Fogel <kfogel@red-bean.com>
parents:
87411
diff
changeset
|
1815 (buff (cadr (assq 'buffer alist))) |
0140d3ebb262
Change a return type, for greater extensibility. See
Karl Fogel <kfogel@red-bean.com>
parents:
87411
diff
changeset
|
1816 (pos (cadr (assq 'position alist)))) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1817 (switch-to-buffer-other-window buff) |
11021
83b6c53268c3
(bookmark-bmenu-2-window): go to correct position as well as
Karl Fogel <kfogel@red-bean.com>
parents:
10994
diff
changeset
|
1818 (goto-char pos) |
83b6c53268c3
(bookmark-bmenu-2-window): go to correct position as well as
Karl Fogel <kfogel@red-bean.com>
parents:
10994
diff
changeset
|
1819 (set-window-point (get-buffer-window buff) pos) |
83b6c53268c3
(bookmark-bmenu-2-window): go to correct position as well as
Karl Fogel <kfogel@red-bean.com>
parents:
10994
diff
changeset
|
1820 (bookmark-show-annotation bookmark))))) |
83b6c53268c3
(bookmark-bmenu-2-window): go to correct position as well as
Karl Fogel <kfogel@red-bean.com>
parents:
10994
diff
changeset
|
1821 |
83b6c53268c3
(bookmark-bmenu-2-window): go to correct position as well as
Karl Fogel <kfogel@red-bean.com>
parents:
10994
diff
changeset
|
1822 |
83b6c53268c3
(bookmark-bmenu-2-window): go to correct position as well as
Karl Fogel <kfogel@red-bean.com>
parents:
10994
diff
changeset
|
1823 (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
|
1824 "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
|
1825 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
|
1826 (interactive) |
22251
5989fa41cda6
Changes so bookmark list mode works with Info:
Richard M. Stallman <rms@gnu.org>
parents:
21094
diff
changeset
|
1827 (let ((bookmark (bookmark-bmenu-bookmark)) |
5989fa41cda6
Changes so bookmark list mode works with Info:
Richard M. Stallman <rms@gnu.org>
parents:
21094
diff
changeset
|
1828 (pop-up-windows t) |
35283 | 1829 same-window-buffer-names |
22251
5989fa41cda6
Changes so bookmark list mode works with Info:
Richard M. Stallman <rms@gnu.org>
parents:
21094
diff
changeset
|
1830 same-window-regexps) |
11021
83b6c53268c3
(bookmark-bmenu-2-window): go to correct position as well as
Karl Fogel <kfogel@red-bean.com>
parents:
10994
diff
changeset
|
1831 (if (bookmark-bmenu-check-position) |
92550
4170d4a36502
* bookmark.el (bookmark-map, bookmark-read-annotation-mode-map):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87566
diff
changeset
|
1832 (let* ((alist (bookmark-jump-noselect bookmark)) |
87521
0140d3ebb262
Change a return type, for greater extensibility. See
Karl Fogel <kfogel@red-bean.com>
parents:
87411
diff
changeset
|
1833 (buff (cadr (assq 'buffer alist))) |
0140d3ebb262
Change a return type, for greater extensibility. See
Karl Fogel <kfogel@red-bean.com>
parents:
87411
diff
changeset
|
1834 (pos (cadr (assq 'position alist)))) |
11021
83b6c53268c3
(bookmark-bmenu-2-window): go to correct position as well as
Karl Fogel <kfogel@red-bean.com>
parents:
10994
diff
changeset
|
1835 (display-buffer buff) |
83b6c53268c3
(bookmark-bmenu-2-window): go to correct position as well as
Karl Fogel <kfogel@red-bean.com>
parents:
10994
diff
changeset
|
1836 (let ((o-buffer (current-buffer))) |
83b6c53268c3
(bookmark-bmenu-2-window): go to correct position as well as
Karl Fogel <kfogel@red-bean.com>
parents:
10994
diff
changeset
|
1837 ;; save-excursion won't do |
83b6c53268c3
(bookmark-bmenu-2-window): go to correct position as well as
Karl Fogel <kfogel@red-bean.com>
parents:
10994
diff
changeset
|
1838 (set-buffer buff) |
83b6c53268c3
(bookmark-bmenu-2-window): go to correct position as well as
Karl Fogel <kfogel@red-bean.com>
parents:
10994
diff
changeset
|
1839 (goto-char pos) |
83b6c53268c3
(bookmark-bmenu-2-window): go to correct position as well as
Karl Fogel <kfogel@red-bean.com>
parents:
10994
diff
changeset
|
1840 (set-window-point (get-buffer-window buff) pos) |
83b6c53268c3
(bookmark-bmenu-2-window): go to correct position as well as
Karl Fogel <kfogel@red-bean.com>
parents:
10994
diff
changeset
|
1841 (set-buffer o-buffer)) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1842 (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
|
1843 |
17265
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1844 (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
|
1845 "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
|
1846 (interactive "e") |
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1847 (save-excursion |
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1848 (set-buffer (window-buffer (posn-window (event-end event)))) |
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1849 (save-excursion |
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1850 (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
|
1851 (bookmark-bmenu-other-window)))) |
ddbe17ae5280
Added mouse-selection feature for bookmark list buffer.
Richard M. Stallman <rms@gnu.org>
parents:
17076
diff
changeset
|
1852 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1853 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1854 (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
|
1855 "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
|
1856 (interactive) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1857 (let ((bookmark (bookmark-bmenu-bookmark))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1858 (if (bookmark-bmenu-check-position) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1859 (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
|
1860 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1861 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1862 (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
|
1863 "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
|
1864 (interactive) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1865 (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
|
1866 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1867 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1868 (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
|
1869 "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
|
1870 (interactive) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1871 (let ((bookmark (bookmark-bmenu-bookmark))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1872 (if (bookmark-bmenu-check-position) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1873 (bookmark-edit-annotation bookmark)))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1874 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1875 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1876 (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
|
1877 "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
|
1878 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
|
1879 (interactive "P") |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1880 (beginning-of-line) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1881 (if (bookmark-bmenu-check-position) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1882 (progn |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
1883 (let ((inhibit-read-only t)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1884 (delete-char 1) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1885 ;; any flags to reset according to circumstances? How about a |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1886 ;; flag indicating whether this bookmark is being visited? |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1887 ;; well, we don't have this now, so maybe later. |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1888 (insert " ")) |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1889 (forward-line (if backup -1 1)) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1890 (bookmark-bmenu-check-position)))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
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-backup-unmark () |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1894 "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
|
1895 (interactive) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1896 (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
|
1897 (if (bookmark-bmenu-check-position) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1898 (progn |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1899 (bookmark-bmenu-unmark) |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1900 (forward-line -1) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1901 (bookmark-bmenu-check-position)))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1902 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1903 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1904 (defun bookmark-bmenu-delete () |
15193
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
1905 "Mark bookmark on this line to be deleted. |
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
1906 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
|
1907 (interactive) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1908 (beginning-of-line) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1909 (if (bookmark-bmenu-check-position) |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
1910 (let ((inhibit-read-only t)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1911 (delete-char 1) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1912 (insert ?D) |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1913 (forward-line 1) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1914 (bookmark-bmenu-check-position)))) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1915 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1916 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1917 (defun bookmark-bmenu-delete-backwards () |
15193
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
1918 "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
|
1919 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
|
1920 (interactive) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1921 (bookmark-bmenu-delete) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1922 (forward-line -2) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1923 (if (bookmark-bmenu-check-position) |
19472
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1924 (forward-line 1)) |
6324d603cf6e
(bookmark-load): Use `bookmark-import-new-list' to
Richard M. Stallman <rms@gnu.org>
parents:
18709
diff
changeset
|
1925 (bookmark-bmenu-check-position)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1926 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1927 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1928 (defun bookmark-bmenu-execute-deletions () |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1929 "Delete bookmarks marked with \\<Buffer-menu-mode-map>\\[Buffer-menu-delete] commands." |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1930 (interactive) |
14039
831c5fda97f4
"cyclic.com" addresses changed to "red-bean.com".
Karl Fogel <kfogel@red-bean.com>
parents:
13969
diff
changeset
|
1931 (message "Deleting bookmarks...") |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1932 (let ((hide-em 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
|
1933 (o-point (point)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1934 (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
|
1935 (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
|
1936 (if (looking-at "^D") |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1937 nil |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1938 (buffer-substring |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1939 (point) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1940 (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
|
1941 (o-col (current-column))) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1942 (if hide-em (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
|
1943 (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
|
1944 (goto-char (point-min)) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1945 (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
|
1946 (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
|
1947 (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
|
1948 (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
|
1949 (setq bookmark-bmenu-toggle-filenames hide-em) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1950 (if 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
|
1951 (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
|
1952 (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
|
1953 (progn |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1954 (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
|
1955 (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
|
1956 (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
|
1957 (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
|
1958 (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
|
1959 (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
|
1960 (setq bookmark-alist-modification-count |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1961 (1+ bookmark-alist-modification-count)) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1962 (if (bookmark-time-to-save-p) |
14039
831c5fda97f4
"cyclic.com" addresses changed to "red-bean.com".
Karl Fogel <kfogel@red-bean.com>
parents:
13969
diff
changeset
|
1963 (bookmark-save)) |
831c5fda97f4
"cyclic.com" addresses changed to "red-bean.com".
Karl Fogel <kfogel@red-bean.com>
parents:
13969
diff
changeset
|
1964 (message "Deleting bookmarks...done") |
831c5fda97f4
"cyclic.com" addresses changed to "red-bean.com".
Karl Fogel <kfogel@red-bean.com>
parents:
13969
diff
changeset
|
1965 )) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1966 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1967 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1968 (defun bookmark-bmenu-rename () |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1969 "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
|
1970 (interactive) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1971 (if (bookmark-bmenu-check-position) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1972 (let ((bmrk (bookmark-bmenu-bookmark)) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1973 (thispoint (point))) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1974 (bookmark-rename bmrk) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1975 (bookmark-bmenu-list) |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1976 (goto-char thispoint)))) |
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1977 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1978 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1979 (defun bookmark-bmenu-locate () |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
1980 "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
|
1981 (interactive) |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1982 (if (bookmark-bmenu-check-position) |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1983 (let ((bmrk (bookmark-bmenu-bookmark))) |
65582
4d1085b02d64
Message format spec fixes (1)
Deepak Goel <deego@gnufans.org>
parents:
65112
diff
changeset
|
1984 (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
|
1985 |
56059
4e04e776fb5e
* bookmark.el (bookmark-bmenu-relocate): New function, as
Karl Fogel <kfogel@red-bean.com>
parents:
54906
diff
changeset
|
1986 (defun bookmark-bmenu-relocate () |
4e04e776fb5e
* bookmark.el (bookmark-bmenu-relocate): New function, as
Karl Fogel <kfogel@red-bean.com>
parents:
54906
diff
changeset
|
1987 "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
|
1988 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
|
1989 (interactive) |
4e04e776fb5e
* bookmark.el (bookmark-bmenu-relocate): New function, as
Karl Fogel <kfogel@red-bean.com>
parents:
54906
diff
changeset
|
1990 (if (bookmark-bmenu-check-position) |
4e04e776fb5e
* bookmark.el (bookmark-bmenu-relocate): New function, as
Karl Fogel <kfogel@red-bean.com>
parents:
54906
diff
changeset
|
1991 (let ((bmrk (bookmark-bmenu-bookmark)) |
4e04e776fb5e
* bookmark.el (bookmark-bmenu-relocate): New function, as
Karl Fogel <kfogel@red-bean.com>
parents:
54906
diff
changeset
|
1992 (thispoint (point))) |
4e04e776fb5e
* bookmark.el (bookmark-bmenu-relocate): New function, as
Karl Fogel <kfogel@red-bean.com>
parents:
54906
diff
changeset
|
1993 (bookmark-relocate bmrk) |
4e04e776fb5e
* bookmark.el (bookmark-bmenu-relocate): New function, as
Karl Fogel <kfogel@red-bean.com>
parents:
54906
diff
changeset
|
1994 (goto-char thispoint)))) |
4537 | 1995 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1996 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1997 ;;; Menu bar stuff. Prefix is "bookmark-menu". |
4537 | 1998 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
1999 (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
|
2000 "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
|
2001 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
|
2002 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
|
2003 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
|
2004 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
|
2005 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
|
2006 (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
|
2007 (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
|
2008 (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
|
2009 (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
|
2010 (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
|
2011 (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
|
2012 (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
|
2013 (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
|
2014 (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
|
2015 (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
|
2016 (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
|
2017 str) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2018 str) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2019 lst) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2020 (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
|
2021 (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
|
2022 (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
|
2023 (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
|
2024 (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
|
2025 (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
|
2026 pane-list))) |
64634
4045a1b1a5c9
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2027 |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2028 ;; 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
|
2029 (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
|
2030 (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
|
2031 |
4537 | 2032 |
4848
511c83aee4ae
(bookmark-write): Add numbered backups for bookmark file.
Richard M. Stallman <rms@gnu.org>
parents:
4634
diff
changeset
|
2033 ;; 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
|
2034 ;; following works, and for explaining what to do to make it work. |
4537 | 2035 |
11218
fc73b8f750f1
(menu-bar-bookmark-map): Autoload each form
Richard M. Stallman <rms@gnu.org>
parents:
11070
diff
changeset
|
2036 ;; 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
|
2037 ;; that the whole job is done in loaddefs.el. |
4537 | 2038 |
15193
4df75cda7e5b
(bookmark-bmenu-delete-backwards)
Richard M. Stallman <rms@gnu.org>
parents:
15189
diff
changeset
|
2039 ;; 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
|
2040 |
11218
fc73b8f750f1
(menu-bar-bookmark-map): Autoload each form
Richard M. Stallman <rms@gnu.org>
parents:
11070
diff
changeset
|
2041 ;;;###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
|
2042 (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
|
2043 (let ((map (make-sparse-keymap "Bookmark functions"))) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2044 (define-key map [load] '("Load a Bookmark File..." . bookmark-load)) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2045 (define-key map [write] '("Save Bookmarks As..." . bookmark-write)) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2046 (define-key map [save] '("Save Bookmarks" . bookmark-save)) |
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2047 (define-key map [edit] '("Edit Bookmark List" . bookmark-bmenu-list)) |
61028
8b4c93f5bcf1
(menu-bar-bookmark-map): Add ellipsis to "Jump to
Juri Linkov <juri@jurta.org>
parents:
59133
diff
changeset
|
2048 (define-key map [delete] '("Delete Bookmark..." . bookmark-delete)) |
8b4c93f5bcf1
(menu-bar-bookmark-map): Add ellipsis to "Jump to
Juri Linkov <juri@jurta.org>
parents:
59133
diff
changeset
|
2049 (define-key map [rename] '("Rename Bookmark..." . bookmark-rename)) |
8b4c93f5bcf1
(menu-bar-bookmark-map): Add ellipsis to "Jump to
Juri Linkov <juri@jurta.org>
parents:
59133
diff
changeset
|
2050 (define-key map [locate] '("Insert Location..." . bookmark-locate)) |
8b4c93f5bcf1
(menu-bar-bookmark-map): Add ellipsis to "Jump to
Juri Linkov <juri@jurta.org>
parents:
59133
diff
changeset
|
2051 (define-key map [insert] '("Insert Contents..." . bookmark-insert)) |
8b4c93f5bcf1
(menu-bar-bookmark-map): Add ellipsis to "Jump to
Juri Linkov <juri@jurta.org>
parents:
59133
diff
changeset
|
2052 (define-key map [set] '("Set Bookmark..." . bookmark-set)) |
8b4c93f5bcf1
(menu-bar-bookmark-map): Add ellipsis to "Jump to
Juri Linkov <juri@jurta.org>
parents:
59133
diff
changeset
|
2053 (define-key map [jump] '("Jump to Bookmark..." . bookmark-jump)) |
52171
03075c276aac
(bookmark-completing-read): Use a popup menu if activated from the mouse.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
52103
diff
changeset
|
2054 map)) |
13895
0c12b3398d37
Removed all `bookmark-xemacsp' conditional code relating to menus. Do
Karl Fogel <kfogel@red-bean.com>
parents:
12880
diff
changeset
|
2055 |
11218
fc73b8f750f1
(menu-bar-bookmark-map): Autoload each form
Richard M. Stallman <rms@gnu.org>
parents:
11070
diff
changeset
|
2056 ;;;###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
|
2057 (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
|
2058 |
13895
0c12b3398d37
Removed all `bookmark-xemacsp' conditional code relating to menus. Do
Karl Fogel <kfogel@red-bean.com>
parents:
12880
diff
changeset
|
2059 ;; 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
|
2060 (if (boundp 'menu-bar-final-items) |
35283 | 2061 (if 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
|
2062 (setq menu-bar-final-items |
0c12b3398d37
Removed all `bookmark-xemacsp' conditional code relating to menus. Do
Karl Fogel <kfogel@red-bean.com>
parents:
12880
diff
changeset
|
2063 (cons 'bookmark menu-bar-final-items))) |
0c12b3398d37
Removed all `bookmark-xemacsp' conditional code relating to menus. Do
Karl Fogel <kfogel@red-bean.com>
parents:
12880
diff
changeset
|
2064 (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
|
2065 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
2066 ;;;; 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
|
2067 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
2068 |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
2069 ;;; Load Hook |
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
2070 (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
|
2071 "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
|
2072 |
34529
8e38e93616a7
* bookmark.el: Provide a generic exit hook, as suggested by Ovidiu
Karl Fogel <kfogel@red-bean.com>
parents:
29476
diff
changeset
|
2073 ;;; Exit Hook, called from kill-emacs-hook |
8e38e93616a7
* bookmark.el: Provide a generic exit hook, as suggested by Ovidiu
Karl Fogel <kfogel@red-bean.com>
parents:
29476
diff
changeset
|
2074 (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
|
2075 "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
|
2076 |
4045a1b1a5c9
(bookmark-automatically-show-annotations, bookmark-read-annotation-text-func): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
2077 (define-obsolete-variable-alias 'bookmark-exit-hooks 'bookmark-exit-hook "22.1") |
35283 | 2078 |
34529
8e38e93616a7
* bookmark.el: Provide a generic exit hook, as suggested by Ovidiu
Karl Fogel <kfogel@red-bean.com>
parents:
29476
diff
changeset
|
2079 (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
|
2080 "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
|
2081 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
|
2082 (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
|
2083 (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
|
2084 (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
|
2085 (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
|
2086 |
8e38e93616a7
* bookmark.el: Provide a generic exit hook, as suggested by Ovidiu
Karl Fogel <kfogel@red-bean.com>
parents:
29476
diff
changeset
|
2087 (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
|
2088 |
8e38e93616a7
* bookmark.el: Provide a generic exit hook, as suggested by Ovidiu
Karl Fogel <kfogel@red-bean.com>
parents:
29476
diff
changeset
|
2089 |
10952
6069707b1151
Insure that all entry points call `bookmark-maybe-load-default-file'.
Richard M. Stallman <rms@gnu.org>
parents:
9775
diff
changeset
|
2090 (run-hooks 'bookmark-load-hook) |
4537 | 2091 |
2092 (provide 'bookmark) | |
35283 | 2093 |
87566
0c4a74c24677
* progmodes/ada-xref.el (ada-prj-find-prj-file):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87521
diff
changeset
|
2094 ;; arch-tag: 139f519a-dd0c-4b8d-8b5d-f9fcf53ca8f6 |
4595 | 2095 ;;; bookmark.el ends here |