initial commit
[emacs-init.git] / auto-install / bookmark+-chg.el
1 ;;; bookmark+-chg.el - Change logs for Bookmark+ libraries.
2 ;;
3 ;; Filename: bookmark+-chg.el
4 ;; Description: Change logs for Bookmark+ libraries.
5 ;; Author: Drew Adams
6 ;; Maintainer: Drew Adams (concat "drew.adams" "@" "oracle" ".com")
7 ;; Copyright (C) 2000-2011, Drew Adams, all rights reserved.
8 ;; Created: Fri Sep 15 07:58:41 2000
9 ;; Last-Updated: Tue Aug  9 10:29:22 2011 (-0700)
10 ;;           By: dradams
11 ;;     Update #: 13732
12 ;; URL: http://www.emacswiki.org/cgi-bin/wiki/bookmark+-chg.el
13 ;; Keywords: bookmarks, bookmark+
14 ;; Compatibility: GNU Emacs: 20.x, 21.x, 22.x, 23.x
15 ;;
16 ;; Features that might be required by this library:
17 ;;
18 ;;   None
19 ;;
20 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
21 ;;
22 ;;; Commentary:
23 ;;
24 ;;    Change log for the Bookmark+ libraries, which extend standard
25 ;;    library `bookmark.el'.  This file contains no code, so you need
26 ;;    not load it.
27 ;;
28 ;;    The Bookmark+ libraries are these:
29 ;;
30 ;;    `bookmark+.el'     - main (driver) code library
31 ;;    `bookmark+-mac.el' - Lisp macros
32 ;;    `bookmark+-lit'    - (optional) code for highlighting bookmarks
33 ;;    `bookmark+-bmu.el' - code for the `*Bookmark List*' (bmenu)
34 ;;    `bookmark+-1.el'   - other (non-bmenu) required code
35 ;;    `bookmark+-key.el' - key and menu bindings
36 ;;
37 ;;    `bookmark+-doc'    - documentation (comment-only file)
38 ;;    `bookmark+-chg'    - change log (this file)
39 ;;
40 ;;    The documentation (in `bookmark+-doc.el') includes how to
41 ;;    byte-compile and install Bookmark+.  The documentation is also
42 ;;    available in these ways:
43 ;;
44 ;;    1. From the bookmark list (`C-x r l'):
45 ;;       Use `?' to show the current bookmark-list status and general
46 ;;       help, then click link `Doc in Commentary' or link `Doc on the
47 ;;       Web'.
48 ;;
49 ;;    2. From the Emacs-Wiki Web site:
50 ;;       http://www.emacswiki.org/cgi-bin/wiki/BookmarkPlus.
51 ;;    
52 ;;    3. From the Bookmark+ group customization buffer:
53 ;;       `M-x customize-group bookmark-plus', then click link
54 ;;       `Commentary'.
55 ;;
56 ;;    (The commentary links in #1 and #3 work only if you put library
57 ;;    `bookmark+-doc.el' in your `load-path'.)
58 ;;
59 ;;
60 ;;    ****** NOTE ******
61 ;;
62 ;;      On 2010-06-18, I changed the prefix used by package Bookmark+
63 ;;      from `bookmarkp-' to `bmkp-'.  THIS IS AN INCOMPATIBLE CHANGE.
64 ;;      I apologize for the inconvenience, but the new prefix is
65 ;;      preferable for a number of reasons, including easier
66 ;;      distinction from standard `bookmark.el' names.
67 ;;
68 ;;      This change means that YOU MUST MANUALLY REPLACE ALL
69 ;;      OCCURRENCES of `bookmarkp-' by `bmkp-' in the following
70 ;;      places, if you used Bookmark+ prior to this change:
71 ;;
72 ;;      1. In your init file (`~/.emacs') or your `custom-file', if
73 ;;         you have one.  This is needed if you customized any
74 ;;         Bookmark+ features.
75 ;;
76 ;;      2. In your default bookmark file, `bookmark-default-file'
77 ;;         (`.emacs.bmk'), and in any other bookmark files you might
78 ;;         have.
79 ;;
80 ;;      3. In your `*Bookmark List*' state file,
81 ;;         `bmkp-bmenu-state-file' (`~/.emacs-bmk-bmenu-state.el').
82 ;;
83 ;;      4. In your `*Bookmark List*' commands file,
84 ;;         `bmkp-bmenu-commands-file' (`~/.emacs-bmk-bmenu-commands.el'),
85 ;;         if you have one.
86 ;;
87 ;;      You can do this editing in a virgin Emacs session (`emacs
88 ;;      -Q'), that is, without loading Bookmark+.
89 ;;
90 ;;      Alternatively, you can do this editing in an Emacs session
91 ;;      where Bookmark+ has been loaded, but in that case you must
92 ;;      TURN OFF AUTOMATIC SAVING of both your default bookmark file
93 ;;      and your `*Bookmark List*' state file.  Otherwise, when you
94 ;;      quit Emacs your manually edits will be overwritten.
95 ;;
96 ;;      To turn off this automatic saving, you can use `M-~' and `M-l'
97 ;;      in buffer `*Bookmark List*' (commands
98 ;;      `bmkp-toggle-saving-bookmark-file' and
99 ;;      `bmkp-toggle-saving-menu-list-state' - they are also in the
100 ;;      `Bookmark+' menu).
101 ;;
102 ;;
103 ;;      Again, sorry for this inconvenience.
104  
105 ;;(@> "Index")
106 ;;
107 ;;  If you have library `linkd.el' and Emacs 22 or later, load
108 ;;  `linkd.el' and turn on `linkd-mode' now.  It lets you easily
109 ;;  navigate around the sections of this doc.  Linkd mode will
110 ;;  highlight this Index, as well as the cross-references and section
111 ;;  headings throughout this file.  You can get `linkd.el' here:
112 ;;  http://dto.freeshell.org/notebook/Linkd.html.
113 ;;
114 ;;  (@> "CHANGE LOG FOR `bookmark+-1.el'")
115 ;;  (@> "CHANGE LOG FOR `bookmark+-bmu.el'")
116 ;;  (@> "CHANGE LOG FOR `bookmark+-key.el'")
117 ;;  (@> "CHANGE LOG FOR `bookmark+-lit.el'")
118 ;;  (@> "CHANGE LOG FOR `bookmark+-mac.el'")
119 ;;  (@> "CHANGE LOG FOR `bookmark+.el'")
120  
121 ;;;(@* "CHANGE LOG FOR `bookmark+-1.el'")
122 ;;
123 ;; 2011/08/09 dadams
124 ;;     Bind icicle-unpropertize-completion-result-flag to t for all calls to completing-read.
125 ;; 2011/08/07 dadams
126 ;;     Added: bmkp-guess-default-handler-for-file-flag, bmkp-file-bookmark-handlers.
127 ;;     bmkp-file-bookmark-p: Use bmkp-file-bookmark-handlers, which means also image-bookmark-jump.
128 ;;     bmkp-make-record-for-target-file (need to keep in sync with diredp-bookmark):
129 ;;       Instead of image-bookmark-make-record, use explicit function that includes file and type.
130 ;;     bmkp-default-handler-for-file:
131 ;;       Use bmkp-guess-default only if bmkp-guess-default-handler-for-file-flag is non-nil.
132 ;;     bmkp-default-handler-associations: Updated doc string.
133 ;; 2011/08/05 dadams
134 ;;     bmkp-file-bookmark-p: Allow handler to be bmkp-default-handler-for-file, e.g. for image files.
135 ;;     bmkp-all-tags-alist-only: Corrected.
136 ;;     bmkp-refresh-menu-list: Ensure BOOKMARK is a string.
137 ;;     bmkp-every: Removed unused binding.
138 ;; 2011/05/08 dadams
139 ;;     Just put some definitions in alphabetic order - no real change.
140 ;; 2011/04/25 dadams
141 ;;     bmkp-bookmark-description: Added optional arg NO-IMAGE.
142 ;;     bmkp-url-target-set: Protect url-get-url-at-point with fboundp.
143 ;;     bmkp-(file-target|autofile)-set, bmkp-autofile-(add|remove)-tags:
144 ;;       Added buffer-file-name as a default possibility.  Removed URL functions for that purpose.
145 ;; 2011/04/24 dadams
146 ;;     Added: bmkp-purge-notags-autofiles.
147 ;;     bookmark-delete: Redefined to accept either bookmark or name as arg.
148 ;;     bmkp-(url|file|compilation|occur)-target-set(-all), bmkp-autofile-(set|(add|remove)-tags):
149 ;;       Removed optional args when read prefix.
150 ;;     bmkp-occur-target-set-all: Made PREFIX arg optional too.
151 ;;     Added some missing autoload cookies.  Removed some from non-def sexps.
152 ;; 2011/04/21 dadams
153 ;;     Added: bmkp-copied-tags, bmkp-copy-tags, bmkp-paste-add-tags, bmkp-paste-replace-tags..
154 ;; 2011/04/20 dadams
155 ;;     bmkp-remove-all-tags: Added optional arg no-cache-update-p.
156 ;; 2011/04/19 dadams
157 ;;     bmkp-make-record-for-target-file: Fixed backquotes on lambdas.
158 ;; 2011/04/17 dadams
159 ;;     bmkp-edit-tags: Do not apply bmkp-full-tag to the tags.
160 ;; 2011/04/16 dadams
161 ;;     Added: bmkp-edit-tags(-send|-mode(-map)), bmkp-return-buffer.
162 ;;     bookmark-(rename|relocate|send-edited-annotation), bmkp-update-autonamed-bookmark,
163 ;;       bmkp-(add|remove(-all)-tags:
164 ;;         Wrap with-current-buffer around bmkp-refresh-menu-list.
165 ;;     bookmark-(store|rename|write-file): Test emacs-major-version, not just (boundp 'print-circle).
166 ;;     bmkp-autofile-add-tags: Fix interactive args - forgot to include DIR arg (= nil).
167 ;; 2011/04/15 dadams
168 ;;     Added: bmkp-autofile-alist-only, bmkp-autofile-bookmark-p.
169 ;; 2011/04/13 dadams
170 ;;     Added: bmkp-autofile-jump(-other-window) (aliases), bmkp-find-file(-other-window).
171 ;;     bmkp-find-file-(all|some)-tags(-regexp)(-other-window): Bind use-file-dialog to nil.
172 ;; 2011/04/12
173 ;;     Added: bmkp-bookmark-name-member, bmkp-names-same-bookmark-p, bmkp-sort-omit,
174 ;;            bmkp-remove-omitted, bmkp-delete-bookmark-name-from-list, bmkp-bookmark-a-file (alias),
175 ;;            bmkp-autofile-(add|remove)-tags, bmkp-(un)tag-a-file (aliases),
176 ;;            bmkp-get-autofile-bookmark, bmkp-find-file-(all|some)-tags(-regexp)(-other-window).
177 ;;     Removed: bmkp-remove-assoc-dups, bmkp-sort-and-remove-dups.
178 ;;     Applied renaming: bmkp-bmenu-omitted-list to bmkp-bmenu-omitted-bookmarks.
179 ;;     bookmark-store: Redefine for all Emacs versions now:
180 ;;       Put the bookmark on the name as property bmkp-full-record.  Use bmkp-maybe-save-bookmarks.
181 ;;       Return the bookmark.
182 ;;     bookmark-get-bookmark: Redefine for all Emacs versions now:
183 ;;       If BOOKMARK is a bookmark-name string that has property bmkp-full-record, return that value.
184 ;;     bookmark-send-edited-annotation: Make sure it's the annotation buffer that gets killed.
185 ;;     bookmark-default-handler: Return nil, like vanilla (but why?).
186 ;;     bookmark-location: Pass full bookmark to the various "get" functions.
187 ;;     bookmark-rename: Put bmkp-full-record property on new name.
188 ;;     bookmark-delete:
189 ;;       Use bmkp-delete-bookmark-name-from-list: If name has bmkp-full-record property, use that
190 ;;         with name to find bookmark to delete.
191 ;;       Pass full bookmark to unlight.
192 ;;     bmkp-edit-bookmark: Save if either is non-empty, not if both are.  Thx to Michael Heerdegen.
193 ;;     bmkp-edit-bookmark-record: Bind print-circle to t around pp.
194 ;;     bmkp-default-bookmark-name:
195 ;;       Use bookmark-name-from-full-record plus bookmark-get-bookmark, not assoc.
196 ;;       If BNAME is nil (no default) then do not try to look it up in alist.
197 ;;     bookmark-write-file: Unpropertize only for Emacs 20 or nil bmkp-propertize-bookmark-names-flag.
198 ;;                          Bind print-circle to t around pp.
199 ;;     bmkp-save-menu-list-state: Make it interactive (a command).  Bind print-circle.
200 ;;                                Use bmkp-maybe-unpropertize-bookmark-names on alists and name lists.
201 ;;                                Bind print-circle to t around pp.
202 ;;     bmkp-unomit-all: Use bmkp-delete-bookmark-name-from-list, not delete.
203 ;;     bmkp-dired-this-dir-bookmark-p: Use bmkp-same-file-p, not string=.
204 ;;     bmkp-url-target-set, bmkp-replace-existing-bookmark:: Return the bookmark.
205 ;;     bmkp-file-target-set:  Return bookmark.  Added arg MSGP: msg if no file yet.
206 ;;     bmkp-autofile-set:
207 ;;       Added DIR arg and MSGP arg: msg if no file yet.  Return the bookmark.
208 ;;       If read absolute file name, create bmk in its dir, not in default-directory.  Else use DIR.
209 ;;       Use bmkp-get-autofile-bookmark, so uses bmkp-same-file-p for each file part (not equal).
210 ;;     bmkp-marked-bookmark-p, bmkp-omitted-bookmark-p: Use bmkp-bookmark-name-member, not member.
211 ;;     bookmark-location: Pass full bookmark to the various "get" functions.
212 ;;     bmkp-choose-navlist-from-bookmark-list, bmkp-cycle-this-buffer:
213 ;;       Use bmkp-sort-omit, not bmkp-sort-and-remove-dups.
214 ;;     bmkp-bookmark-description, bmkp-describe-bookmark-internals: Add Bookmark `' to title.
215 ;;     bmkp-make-bookmark-list-record: Use bmkp-maybe-unpropertize-bookmark-names on lists.
216 ;;     bmkp-printable-p: Bind print-circle to t around prin1.
217 ;;     bmkp-delete-autonamed(-this-buffer)-no-confirm:
218 ;;       Do nothing if bookmarks not loaded.  Thx to Christoph Scholtes.
219 ;; 2011/04/03 dadams
220 ;;     Added: bmkp-make-record-for-target-file, bmkp-replace-existing-bookmark (not used).
221 ;;     bmkp-file-this-dir-bookmark-p: Corrected it to compare directory to default-directory.
222 ;;     bmkp-file-target-set: Added arg NO-OVERWRITE (pass to bookmark-store).
223 ;;                           Use (new) bmkp-make-record-for-target-file.
224 ;;     bmkp-autofile-set: Do nothing if bookmark with same name, file and dir exists.
225 ;;                        Else create one, even if the bookmark name is the same.
226 ;;                        You can have multiple autofile bookmarks with the same name (diff files).
227 ;; 2011/04/02 dadams
228 ;;     Added: bmkp-autofile-set, bmkp-file-this-dir-(all|some)-tags(-regexp)-jump(-other-window),
229 ;;            bmkp-file-this-dir-(all|some)-tags(-regexp)-alist-only.
230 ;; 2011/04/01 dadams
231 ;;     Moved key and menu bindings to (new) bookmark+-key.el.
232 ;;     Added: bmkp-(dired|file)-this-dir-alist-only, bmkp-(dired|file)-this-dir-bookmark-p,
233 ;;            bmkp-file-this-dir-jump(-other-window).
234 ;;     Renamed: bmkp-dired-jump-current(*) to bmkp-dired-this-dir-jump(*).
235 ;;     bmkp-dired-this-dir-jump(-other-window): Use bmkp-dired-this-dir-alist-only.
236 ;;     bmkp-types-alist: Added (dired|file)-this-dir.
237 ;;     Bound bmkp-(dired|file)-this-dir-jump to C-d and C-f in bookmark-jump(-other-window)-map.
238 ;;     bmkp-jump-dired, bmkp-jump-man: Treat null bmkp-jump-display-function as display-buffer.
239 ;; 2011/03/26 dadams
240 ;;     Added: bmkp-file-(all|some)-tags(-regexp)-(alist-only|jump(-other-window)).
241 ;;     bmkp-jump-menu: Added the new commands, but not Emacs 20, to avoid crash if byte-compiled.
242 ;;     bmkp-bookmark-jump*-other-window: Simplified doc strings - refer to same-window version. 
243 ;; 2011/03/17 dadams
244 ;;     bmkp-describe-bookmark: Added 10-pixel margin around thumbnail image.
245 ;; 2011/03/11 dadams
246 ;;     Protect use of mouse-wheel-*-event with boundp.  Thx to Chris Poole.
247 ;; 2011/03/04 dadams
248 ;;     bmkp-bookmark-description, bmkp-describe-bookmark: Added clickable thumbnail to the help.
249 ;;     bmkp-bookmark-description: Split file name into dir & relname, so shorter line, in help.
250 ;; 2011/03/03 dadams
251 ;;     Added: bmkp-all-exif-data, bmkp-bookmark-image-bookmark-p.
252 ;;     bmkp-bookmark-description: Handle image EXIF data.
253 ;; 2011/01/03 dadams
254 ;;     Removed autoload cookies from non def* sexps and from define-key and define-prefix-command.
255 ;;     Added some missing autoload cookies for commands, in particular redefined standard commands.
256 ;; 2010/12/10 dadams
257 ;;     Added defalias for bookmark-name-from(-full)-record, to fix gratuitous Emacs name change.
258 ;; 2010/10/22 dadams
259 ;;     Uncommented key bindings for mouse wheel, since Emacs bug #6256 has now been fixed.
260 ;;     bmkp-repeat-command: Don't bother to let-bind repeat-previous-repeated-command,
261 ;;                          and use setq, not let, for last-repeatable-command. Thx to Stefan Monnier.
262 ;; 2010/09/28 dadams
263 ;;     Added: bmkp-delete-autonamed(-this-buffer)-no-confirm.
264 ;; 2010/09/25 dadams
265 ;;     Added: option bmkp-default-bookmark-name, bmkp-annotated-alist-only.
266 ;;     Added: bmkp-(next|previous)-*(-repeat), using macro bmkp-define-next+prev-cycle-commands.
267 ;;     bmkp-default-bookmark-name: Respect option.
268 ;;     bookmark-edit-annotation-mode, bookmark-edit-annotation:
269 ;;       Use bmkp-annotated-alist-only (and new bmkp-default-bookmark-name).
270 ;;     bookmark-send-edited-annotation:
271 ;;       End in orig buffer, not bmenu buffer.  Delete edit window.  Thx to Joe Bloggs.
272 ;; 2010/09/24 dadams
273 ;;     Added: bmkp-autonamed(-this-buffer)-jump(-other-window).  Bound to C-x j # (#|.) and menus.
274 ;;     Added, using bmkp-define-cycle-command:
275 ;;       bmkp-cycle-(autonamed|bookmark-list|desktop|dired|gnus|info|lighted|(local-|remote-)file|
276 ;;                   man|non-file|remote-file|specific-(buffers|files)|variable-list|url)
277 ;;                   (-other-window).
278 ;;     Added redefinitions: bookmark-edit-annotation(-mode).
279 ;;     Renamed: *varlist* to *variable-list*.
280 ;;     bmkp-autoname-format: Added ^ to anchor numeral at beginning.
281 ;;     bookmark--jump-via: Don't update autonamed if using w32 association.
282 ;;     bmkp-update-autonamed-bookmark: bmkp-refresh-menu-list only if buffer list is displayed.
283 ;;     *-(relocate|rename), *-update-autonamed-bookmark, *-remove-all-tags, *-(add|remove)-tags:
284 ;;       Don't create bookmark-list buffer if doesn't exist.
285 ;;     bookmark-show-(annotation|all-annotations): Restore selected window and frame focus.
286 ;;     bmkp-completing-read-(buffer|file)-name: Added optional NO-DEFAULT-P arg.
287 ;;     bmkp-describe-bookmark: Default to highlighted bookmarks on line, if there are any.
288 ;;     bmkp-specific-(buffers|files)-jump(-other-window): Allow empty input, to end loop.
289 ;;     bmkp-cycle: Ensure bmkp-current-nav-bookmark is a bookmark, else redefine.  Use %9d, not %d.
290 ;;     bmkp-cycle-other-window: Added optional STARTOVERP arg here too.
291 ;; 2010/09/20 dadams
292 ;;     bmkp-choose-navlist-of-type: Empty input means "any".
293 ;; 2010/09/16 dadams
294 ;;     bmkp-read-bookmark-file-name:
295 ;;       Removed extra default-filename in call to read-file-name.  Thx to Pedro Insua.
296 ;; 2010/08/22 dadams
297 ;;     Added: bmkp-regexp-filtered-annotation-alist-only.
298 ;; 2010/08/20 dadams
299 ;;     Added: bmkp-read-bookmark-file-name.
300 ;;     bookmark-save, bookmark-load, bmkp-switch-bookmark-file, bmkp-use-bookmark-file-create:
301 ;;       Use bmkp-read-bookmark-file-name.
302 ;; 2010/08/19 dadams
303 ;;     Require gnus-sum.el when compile (for macro).  Thx to S. Nemec.
304 ;; 2010/08/18 dadams
305 ;;     Removed eval-when-compile for bookmark+-lit.el.
306 ;;     Replaced defvar of bmkp-edit-bookmark-record-mode-map with a define-key after derived mode.
307 ;; 2010/08/17 dadams
308 ;;     bmkp-edit-bookmark: Made interactive.  Bound to C-x p E.  Added optional INTERNALP arg.
309 ;;     bmkp-info-bookmark-p: Return nil if a different handler.
310 ;; 2010/08/15 dadams
311 ;;     Moved bmkp-define-file-sort-predicate, bmkp-menu-bar-make-toggle to bookmark+-mac.el.
312 ;;     Require: bookmark.el, bookmark+-mac.el.
313 ;;     Require for compile: bookmark+-bmu.el, bookmark+-lit.el (soft).
314 ;;     Ensure this file is loaded before compiling.
315 ;;     bmkp-set-bookmark-file-bookmark: Added missing arg for error format string.
316 ;; 2010/08/08 dadams
317 ;;     bookmark-jump: Added optional arg DISPLAY-FUNCTION (Emacs 24).
318 ;;     bookmark-handle-bookmark:
319 ;;       Move non-default handler call outside condition-case.
320 ;;       Updated for Emacs 24: Use error condition bookmark-error-no-filename.  Added props for it.
321 ;;     bookmark-default-handler: Updated for Emacs 24: 
322 ;;       Signal condition bookmark-error-no-filename, not file-error, and pass (stringp FILE).
323 ;;     bookmark-make-record-default: Added optional args NO-CONTEXT, POSITION (Emacs 24), and VISITS.
324 ;;     bookmark-load: Updated for Emacs 24: Wrap with abbreviate-file-name.
325 ;;     bmkp-jump-1: Allow arg to be a bookmark or its name.
326 ;;     bmkp-gnus-bookmark-p: Updated for Emacs 24: Added gnus-summary-bookmark-jump.
327 ;;     bmkp-jump-gnus: Different gnus-fetch-group call for Emacs 20, 21.
328 ;;     bmkp-make-(desktop|varlist|bookmark-(file|list))-record: Call *-record-default with NO-CONTEXT.
329 ;;     w3m-current-title: Use w3m-current-title as bookmark name.
330 ;;     bmkp-w3m-set-new-buffer-name, bmkp-jump-w3m*: Require w3m.
331 ;;     bmkp-make-gnus-record: Get bookmark name from gnus-summary-article-header.
332 ;;     Update for Emacs 24: Bypass bmkp specific Gnus, man, and woman code.
333 ;; 2010/08/06 dadams
334 ;;     Added (and bound the commands):
335 ;;       bmkp-(compilation|occur)-target-set(-all), bmkp-(file|url)-target-set,
336 ;;       bmkp-default-handler-associations, bmkp-compilation-file+line-at,
337 ;;       bmkp-default-handler-(for-file|user), bmkp-sound-jump.
338 ;;     bmkp-occur-create-autonamed-bookmarks: Do not define it  for Emacs < 22.  Protect wrt POS, BUF.
339 ;;     Added to Bookmark menu: bmkp-(file|url)-target-set, bmkp-set-(bookmark-file|desktop)-bookmark.
340 ;; 2010/08/04 dadams
341 ;;     bmkp-edit-bookmark: Use new bookmark name for update of dired-directory.  Thx to Kai Tetzlaff.
342 ;; 2010/08/03 dadams
343 ;;     bmkp-make-url-browse-record: Remove text properties from URL arg.
344 ;; 2010/07/17 dadams
345 ;;     Added: bmkp-url-jump-(other-window), bmkp-url(-browse)-(alist-only|bookmark-p), bmkp-url-cp,
346 ;;            bmkp-url-history, bmkp-make-url-browse-record, bmkp-jump-url-browse.
347 ;;     bmkp-sort-comparer: Use bmkp-url-cp, not bmkp-w3m-cp.
348 ;;     bmkp-types-alist: w3m -> url.
349 ;;     bookmark-alist: Updated doc string to mention LOCATION.  W3M -> URL.
350 ;;     bmkp-bookmark-description: Treat URL.  Set no-position-p depending on start.
351 ;;     Bind bmkp-url-jump*.  Replace W3M by URL in menu items.
352 ;; 2010/07/14 dadams
353 ;;     Created from bookmark+.el code.
354  
355 ;;;(@* "CHANGE LOG FOR `bookmark+-bmu.el'")
356 ;;
357 ;; 2011/07/01 dadams
358 ;;     bmkp-bmenu-change-sort-order, bmkp(-multi)-reverse-sort-order: Handle null CURRENT-BMK.
359 ;; 2011/04/24 dadams
360 ;;     Added to Tags menu: Purge Autofiles with No Tags.
361 ;; 2011/04/23 dadams
362 ;;     Bound bmkp-bmenu-set-tag-value-for-marked to T > v and added to bmkp-bmenu-tags-menu.
363 ;;     bmkp-bmenu-mouse-3-menu: Added bmkp-rename-tag.
364 ;; 2011/04/22 dadams
365 ;;     Bound *-copy-tags to T c, T M-w, *-paste(-add|replace)-tags to T p, T C-y, T q.
366 ;; 2011/04/21 dadams
367 ;;     Added:  bmkp-bmenu-copy-tags, bmkp-bmenu-paste-add-tags(-to-marked),
368 ;;             bmkp-bmenu-paste-replace-tags(-for-marked).
369 ;;     Bound and added to menus: bmkp-bmenu-paste-add-tags-to-marked,
370 ;;                               bmkp-bmenu-paste-replace-tags-for-marked.
371 ;;     Added to This Bookmark menu: bmkp-bmenu-copy-tags, bmkp-bmenu-paste(-add|replace)-tags.
372 ;; 2011/04/19 dadams
373 ;;     Added: bmkp-bmenu-unmark-bookmarks-tagged-regexp.  Bound it to T u %.  Added it to menu.
374 ;; 2011/04/16 dadams
375 ;;     Added: bmkp-edit-tags-send.  Bound it to T e in bookmark-bmenu-mode-map.
376 ;;     bookmark-bmenu-mode: Updated help text for tags editing.
377 ;;     bmkp-maybe-unpropertize-bookmark-names:
378 ;;       Test emacs-major-version, not just (boundp 'print-circle).
379 ;; 2011/04/15 dadams
380 ;;     Added: bmkp-bmenu-mark-autofile-bookmarks, bmkp-bmenu-show-only-autofiles.
381 ;;       And added them to menus.
382 ;;     bookmark-bmenu-mode-map:
383 ;;       Bind bmkp-bmenu-mark-autofile-bookmarks, bmkp-bmenu-show-only-autofiles to A M, A S.
384 ;;       Bind bookmark-bmenu-show-all-annotations to M-a, not A.
385 ;;       Bind bmkp-bmenu-search-marked-bookmarks-regexp to M-s a M-s, not M-a.
386 ;;       Bind *-mark-url-bookmarks, *-show-only-urls to M-u M-m, M-u M-s, not M-u M, M-u S.
387 ;;     bookmark-bmenu-mode: Updated help to reflect latest bindings.
388 ;; 2011/04/13 dadams
389 ;;     bmkp-bmenu-tags-menu: Added: bmkp-(un)tag-a-file.
390 ;; 2011/04/12
391 ;;     Added: bmkp-propertize-bookmark-names-flag, bmkp-maybe-unpropertize-bookmark-names,
392 ;;            bmkp-bmenu-get-marked-files.
393 ;;     Renamed: bmkp-bmenu-omitted-list to bmkp-bmenu-omitted-bookmarks.
394 ;;     bmkp-bmenu-define-full-snapshot-command:
395 ;;       Bind print-circle to t around pp.  Use bmkp-maybe-unpropertize-bookmark-names on lists.
396 ;;     bookmark-bmenu-(show|hide)-filenames, bmkp-bmenu-toggle-show-only-(un)marked,
397 ;;       bmkp-bmenu-(un)omit-marked:
398 ;;         Fit one-window frame only if selected window is *Bookmark List*.
399 ;;     bookmark-bmenu-bookmark: Added optional arg FULL.  Non-nil means return full bookmark record.
400 ;;     bookmark-bmenu-unmark, bookmark-bmenu-delete, bmkp-bmenu-unomit-marked:
401 ;;       Use bmkp-delete-bookmark-name-from-list, not delete.
402 ;;     bookmark-bmenu-execute-deletions: Pass full bookmark, not name, to delete, and don't use assoc.
403 ;;     bookmark-bmenu-rename: Use bmkp-bmenu-goto-bookmark-named instead of just searching for name.
404 ;;     bmkp-bmenu-toggle-marks, bmkp-bmenu-unomit-marked, bmkp-bmenu-define-jump-marked-command,
405 ;;       bmkp-bmenu-mouse-3-menu:
406 ;;         Use bmkp-bookmark-name-member, not member.
407 ;;     bmkp-bmenu-make-sequence-from-marked: Do not invoke bookmark-bmenu-list when no displayed list.
408 ;;     bmkp-bmenu-define-command: Use bmkp-maybe-unpropertize-bookmark-names on *-omitted-bookmarks.
409 ;;     bmkp-bmenu-list-1: Use bmkp-sort-omit, not bmkp-sort-and-remove-dups.
410 ;;                        Pass full bookmark to bmkp-bmenu-propertize-item.
411 ;;     bmkp-bmenu-propertize-item:
412 ;;       First arg is now a full bookmark, not a bookmark name.  Get bookmark name from it.
413 ;;       Put prop bmkp-bookmark-name on buffer text with propertized bookmark-name string as value.
414 ;;       String has property bmkp-full-record with value the full bookmark record, with string as car.
415 ;;       Return propertized bookmark-name string.
416 ;;     bmkp-bmenu-isearch-marked-bookmarks(-regexp), bmkp-bmenu-dired-marked,
417 ;;       bmkp-bmenu-(search|query-replace)-marked-bookmarks-regexp:
418 ;;         Use bmkp-sort-omit, not bmkp-sort-and-remove-dups.
419 ;;     bmkp-bmenu-goto-bookmark-named:
420 ;;       If NAME has property bmkp-full-record then go to the bookmark it indicates.  Otherwise, just
421 ;;       go to the first bookmark with the same name.
422 ;;     bookmark-bmenu-mode: Added bmkp-save-menu-list-state (now a command) to the mode help.
423 ;; 2011/04/02 dadams
424 ;;     bookmark-bmenu-mode: Added to mode help: bmkp-file-this-dir-(all|some)-tags(-regexp)-jump.,
425 ;;                                              Create/Set section, with bmkp-autofile-set.
426 ;; 2011/04/01 dadams
427 ;;     bookmark-bmenu-mode: Added to mode help: bmkp-(dired|file)-this-dir-jump.
428 ;; 2011/03/26 dadams
429 ;;     bookmark-bmenu-mode: Added new file-with-tags jump commands to the help.
430 ;; 2011/03/05 dadams
431 ;;     bmkp-bmenu-edit-bookmark: Use bmkp-refresh-menu-list, not *-surreptitiously-rebuild-list.
432 ;; 2011/02/11 dadams
433 ;;     Faces: Better defaults for dark background.
434 ;; 2011/01/03 dadams
435 ;;     Removed autoload cookies from non def* sexps and from define-key.
436 ;;     Added missing autoload cookies for commands, in particular redefined std commands & defalias.
437 ;; 2010/12/10 dadams
438 ;;     Added defalias for bookmark-name-from(-full)-record, to fix gratuitous Emacs name change.
439 ;; 2010/09/24 dadams
440 ;;     Added: bmkp-bmenu-show-only-autonamed.  Bound to # S.  Added to bmkp-bmenu-show-menu.
441 ;;     bookmark-bmenu-mode: Updated doc string for autonamed jumps, show.
442 ;;     Renamed varlist to variable-list everywhere.
443 ;; 2010/08/22 dadams
444 ;;     Added: bmkp-bmenu-filter-annotation-incrementally, bookmark-bmenu-relocate (Emacs 20, 21),
445 ;;            bmkp-bmenu-filter-alist-by-annotation-regexp.  Bound, added to menus and help.
446 ;; 2010/08/18 dadams
447 ;;     Removed eval-when-compile for bookmark+-(lit|1).el.
448 ;;     bmkp-bmenu-propertize-item: Inconsequential simplification.
449 ;; 2010/08/17 dadams
450 ;;     bmkp-bmenu-edit-bookmark: Added optional arg INTERNALP (prefix arg), for editing record.
451 ;; 2010/08/15 dadams
452 ;;     Moved to bookmark+-mac.el:
453 ;;       bmkp-define-sort-command, bmkp-replace-regexp-in-string, bmkp-assoc-delete-all.
454 ;;     Renamed: bmkp-barf-if-not-in-menu-list to bmkp-bmenu-barf-if-not-in-menu-list.
455 ;;     Require bookmark.el, bookmark+-mac.el.
456 ;;     Require when compile: bookmark+-1.el, bookmark+-lit.el (soft).
457 ;; 2010/07/17 dadams
458 ;;     Added: bmkp-bmenu-mark-url-bookmarks, bmkp-bmenu-show-only-urls, bmkp-bmenu-sort-by-url.
459 ;;     Removed: bmkp-bmenu-sort-by-w3m-url.
460 ;;     Replaced face bmkp-w3m by bmkp-url.
461 ;;     bookmark-bmenu-mode: Added mark and show URL commands.
462 ;;     bookmark-bmenu-mode, *-status-help, *-sort-by-bookmark-type, *-define-sort-command: w3m -> url.
463 ;;     Bind bmkp-bmenu-sort-by-url, not bmkp-bmenu-sort-by-w3m-url.
464 ;;     Bind bmkp-bmenu-mark-url-bookmarks, bmkp-bmenu-show-only-urls.
465 ;;     Replace W3M by URL in menu items.
466 ;; 2010/07/14 dadams
467 ;;     Created from bookmark+.el code.
468  
469 ;;;(@* "CHANGE LOG FOR `bookmark+-key.el'")
470 ;;
471 ;; 2011/04/24 dadams
472 ;;     Added to Bookmarks menu and its Tags submenu: Purge Autofiles with No Tags.
473 ;; 2011/04/23 dadams
474 ;;     bmkp-tags-menu:
475 ;;       Added bmkp-set-tag-value, bmkp-(add|remove|copy)-tags, bmkp-paste-(add|replace)-tags.
476 ;; 2011/04/21 dadams
477 ;;     Bound: bmkp-copy-tags, bmkp-paste-add-tags, bmkp-paste-replace-tags.
478 ;; 2011/04/16 dadams
479 ;;     Added: bmkp-tags-map.  Bound tag commands to prefix C-x p t.
480 ;; 2011/04/14 dadams
481 ;;     Renamed menu Jump To Bookmark to just Jump To, in menu-bar-bookmark-map.
482 ;; 2011/04/13 dadams
483 ;;     Added:
484 ;;       bmkp-find-file-menu (bmkp-find-file(-(all|some)-tags(-regexp)(-other-window)),
485 ;;       bmkp-jump-tags-menu (what was in main, plus bmkp-find-file-*-tags-regexp*),
486 ;;       bmkp-tags-menu (list all, rename, remove from all, (un)tag a file).
487 ;;     bmkp-jump(-other-window)-map:
488 ;;       Added bmkp-find-file(-other-window) to menu.
489 ;;       Bound keys for bmkp-find-file-(all|some)-tags(-regexp)(-other-window): C-x (4) j t a...
490 ;; 2011/04/02 dadams
491 ;;     Added bindings for (new) bmkp-autofile-set,
492 ;;                              bmkp-file-this-dir-(all|some)-tags(-regexp)-jump(-other-window).
493 ;; 2011/04/01 dadams
494 ;;     Added to bmkp-jump-menu: bmkp-(dired|file)-this-dir-jump-other-window.
495 ;;     Created from code in bookmark+-1.el.
496  
497 ;;;(@* "CHANGE LOG FOR `bookmark+-lit.el'")
498 ;;
499 ;; 2011/08/09 dadams
500 ;;     Bind icicle-unpropertize-completion-result-flag to t for all calls to completing-read.
501 ;; 2011/04/12
502 ;;     bmkp-cycle-lighted-this-buffer: Use bmkp-sort-omit, not bmkp-sort-and-remove-dups.
503 ;; 2011/04/01 dadams
504 ;;     bmkp-light-bookmark(s): Don't call bookmark-handle-bookmark.  Wrap with with-current-buffer.
505 ;; 2011/01/03 dadams
506 ;;     Added autoload cookies: defcustoms and commands.
507 ;; 2010/12/10 dadams
508 ;;     Added defalias for bookmark-name-from(-full)-record, to fix gratuitous Emacs name change.
509 ;; 2010/09/25 dadams
510 ;;     Added: bmkp-set-lighting-for(bookmarks|(-this)-buffer).  Requested by Joe Bloggs.
511 ;;     bmkp-set-lighting-for-bookmark: Added LIGHT-NOW-P arg (from prefix arg).
512 ;; 2010/09/11 dadams
513 ;;     Removed eval-when-compile for bookmark+-bmu, bookmark+-1.
514 ;; 2010/08/15 dadams
515 ;;     Require: bookmark.el.
516 ;;     Require when compile: bookmark+-bmu.el, bookmark+-1.el, pp+.el (soft).
517 ;;     Applied renaming of bmkp-barf-if-not-in-menu-list to bmkp-bmenu-barf-if-not-in-menu-list.
518 ;;     bmkp-light-bookmark(s): Added missing arg to throw call.
519 ;;     bmkp-light-bookmarks: Use bmkp-remove-if, not remove-if.
520 ;;     bmkp-light-bookmarks-in-region, bmkp-light-non-autonamed-this-buffer:
521 ;;       Use bmkp-remove-if-not, not remove-if-not.
522 ;;     bmkp-read-set-lighting-args: Use pp-read-expression-map only if bound (pp+.el).
523 ;; 2010/07/03 dadams
524 ;;     bmkp-set-lighting-for-bookmark, bmkp-bmenu-set-lighting-for-marked:
525 ;;       Use *-refresh-menu-list, not *-surreptitiously-*.
526 ;; 2010/07/01 dadams
527 ;;     Created.
528  
529 ;;;(@* "CHANGE LOG FOR `bookmark+-mac.el'")
530 ;;
531 ;; 2011/04/12
532 ;;     bmkp-define-cycle-command: Use bmkp-sort-omit, not bmkp-sort-and-remove-dups.
533 ;; 2011/01/03 dadams
534 ;;     Added autoload cookies: defmacro.
535 ;; 2010/09/25 dadams
536 ;;     Added: bmkp-define-next+prev-cycle-commands.
537 ;; 2010/09/24 dadams
538 ;;     Added: bmkp-define-cycle-command.
539 ;; 2010/08/18 dadams
540 ;;     Removed eval-when-compile for bookmark+-(bmu|1).el.
541 ;; 2010/08/15 dadams
542 ;;     Created, from code in other Bookmark+ files.
543  
544 ;;;(@* "CHANGE LOG FOR `bookmark+.el'")
545 ;;
546 ;; 2011/04/12 dadams
547 ;;     Version 3.2.2.
548 ;; 2011/04/01 dadams
549 ;;     Require bookmark+-key.el (new).  Version 3.2.1.
550 ;; 2011/01/03 dadams
551 ;;     Added autoload cookies: defconst, command.
552 ;; 2010/08/19
553 ;;     bmkp-version-number: Version 3.2.0.
554 ;; 2010/08/15 dadams
555 ;;     Require bookmark+-mac.el.
556 ;;     Do not ensure loaded before compile (not needed here now).
557 ;; 2010/07/14 dadams
558 ;;     Version 3.1.1.
559 ;;     Moved main content of bookmark+.el to new files bookmark+-1.el and bookmark+-bmu.el.
560 ;; 2010/07/13 dadams
561 ;;     Version 3.1.0.
562 ;;     Added redefinitions: bookmark-bmenu-(1|2)-window, bookmark-bmenu-other-window-with-mouse,
563 ;;                          bookmark-bmenu-this-window, bookmark-bmenu-switch-other-window.
564 ;;     Added: bmkp-last-bookmark-file, bmkp-switch-to-last-bookmark-file.
565 ;;     Removed pre-23 version of bookmark-bmenu-switch-other-window.
566 ;;     bookmark-load: Use bmkp-last-bookmark-file when read file name.  Added missing prefix arg.
567 ;;                    Save old current as bmkp-last-bookmark-file.
568 ;;     bookmark-bmenu-list: If bookmark file has changed do not restore state saved from other file.
569 ;;                          Save old current as bmkp-last-bookmark-file.
570 ;;     bmkp-bmenu-list-1: Do not use bmkp-bmenu-title if it is empty ("").
571 ;;     bookmark-bmenu-mode: Added to doc string: bmkp-switch-bookmark-file.
572 ;;     bookmark-bmenu-other-window: Do not bind bookmark-automatically-show-annotations (per vanilla).
573 ;;     bookmark-bmenu-show-annotation: Ensure in bmenu list and on a bookmark line.
574 ;;     bmkp-switch-bookmark-file: Use bmkp-last-bookmark-file when read file name.
575 ;;     bmkp-bmenu-define-full-snapshot-command: Set bmkp-last-bookmark-file.
576 ;;     bmkp-bookmark-description: Fixed typo: bmkp-bookmark-file-bookmark-p (not desktop).
577 ;;     bmkp-make-bookmark-file-record: Use arg file (not bmkp-non-file-filename) as filename entry.
578 ;;     
579 ;;     Added more autoload cookies.
580 ;; 2010/07/09 dadams
581 ;;     Added: bmkp-bmenu-mark-bookmark-file-bookmarks, bmkp-bmenu-show-only-bookmark-files,
582 ;;            bmkp-bookmark-file-jump, bmkp-set-bookmark-file-bookmark, bmkp-bookmark-file-history,
583 ;;            bmkp-use-bookmark-file-create, bmkp-bookmark-file, bmkp-bookmark-file-alist-only,
584 ;;            bmkp-bookmark-file-bookmark-p, bmkp-jump-bookmark-file, bmkp-make-bookmark-file-record.
585 ;;     bmkp-types-alist, bmkp-buffer-names, bmkp-bmenu-mode-status-help, bmkp-bmenu-propertize-item,
586 ;;       bmkp-this-buffer-p, bmkp-last-specific-buffer-p, bmkp-specific-buffers-alist-only,
587 ;;       bmkp-bookmark-description, bookmark-bmenu-mode:   Updated for bookmark-file bookmarks.
588 ;;     bookmark--jump-via: Added a catch, so a handler can skip all other processing when it's done.
589 ;;     bookmark-load: Final msg says whether overwritten.
590 ;;     Bound and added to menus: bmkp-set-bookmark-file-bookmark,
591 ;;                               bmkp-bmenu-mark-bookmark-file-bookmarks,
592 ;;                               bmkp-bmenu-show-only-bookmark-files, bmkp-bookmark-file-jump.
593 ;; 2010/07/07 dadams
594 ;;     bookmark-handle-bookmark: Bind use-dialog-box, use-file-dialog to nil.
595 ;;     bookmark-location: From Emacs 23: Use location property and -- Unknown location --.
596 ;;     bmkp-switch-bookmark-file: Bind insert-default-directory to nil.
597 ;;     bmkp-empty-file: Expand FILE.  Return FILE.
598 ;; 2010/07/03 dadams
599 ;;     Added: bmkp-bmenu-describe-marked, bmkp-bookmark-description.
600 ;;     bmkp-describe-bookmark: Rewrote to use bmkp-bookmark-description.
601 ;;     Bound bmkp-bmenu-describe-marked to C-h >.
602 ;;     bmkp-bmenu-menubar-menu: Added bmkp-bmenu-describe-(marked|bookmark).
603 ;;     Updated doc string of bookmark-alist.
604 ;; 2010/07/01 dadams
605 ;;     Added: bmkp-bmenu-mark-lighted-bookmarks, bmkp-bmenu-set-tag-value-for-marked,
606 ;;            bmkp-bmenu-show-only-tagged, bmkp-occur-create-autonamed-bookmarks,
607 ;;            bmkp-set-autonamed-bookmark, bmkp-set-autonamed-bookmark-at-line,
608 ;;            bmkp-set-autonamed-regexp-buffer, bmkp-set-autonamed-regexp-region,
609 ;;            bmkp-set-tag-value-for-navlist, bmkp-prompt-for-tags-flag, bmkp-menu-bar-make-toggle,
610 ;;            bmkp-same-creation-time-p, bmkp-set-tag-value-for-bookmarks,
611 ;;            bmkp(-bmenu)-highlight-menu, bmkp-options-menu.
612 ;;     Renamed: bmkp-use-region-flag to bmkp-use-region,
613 ;;              bmkp-bmenu-jump-menu to bmkp-jump-menu.
614 ;;     Removed: bmkp-cycle-this-buffer-buff (unused).
615 ;;     Soft-require new library bookmark+-lit.el.
616 ;;     Split off new file bookmark+-chg.el from bookmark+-doc.el.
617 ;;     Changed default values of faces bmkp->-mark, bmkp-t-mark.
618 ;;     bmkp-crosshairs-flag: Added :set instead of add-hook at top level.
619 ;;     bmkp-use-region: Changed from boolean to choice - added cycling-too value.
620 ;;     bookmark-set: Added INTERACTIVEP arg.  Prompt for tags when bmkp-prompt-for-tags-flag.
621 ;;                   Auto-highlight when set, per bmkp-auto-light-when-set.
622 ;;     bookmark--jump-via: Auto-highlight when jump, per bmkp-auto-light-when-jump.
623 ;;                         Set BOOKMARK to result of bmkp-update-autonamed-bookmark.
624 ;;                         Bind orig-buff when running hook.
625 ;;     bookmark-default-handler: Pass the bookmark too as an arg to bmkp-goto-position.
626 ;;     bookmark-relocate, bookmark-rename, bmkp-bmenu-list-1, bmkp-remove(-all)-tags, bmkp-add-tags:
627 ;;       Add 0 as FRAME arg to get-buffer-window.
628 ;;     bookmark-delete: Remove any highlighting on bookmark.
629 ;;     bmkp-bmenu-list-1: Add highlight-overrides indicator.
630 ;;     bmkp-completing-read-1: Added (not laxp) guard for first branch of main if.
631 ;;     bmkp-crosshairs-highlight: Assign a priority.  Make the cmd a no-op for Emacs 20-21.
632 ;;     bmkp-choose-navlist-*, bmkp-navlist-bmenu-list, bmkp-jump-in-navlist*,
633 ;;       bmkp-cycle(-this-buffer*):
634 ;;         Set bmkp-current-nav-bookmark to bookmark, not to its name.
635 ;;     bmkp-update-autonamed-bookmark: Do not set bmkp-current-nav-bookmark to the name.
636 ;;                                     Call bmkp-refresh-menu-list even if menu list is not displayed.
637 ;;                                     Pass the bookmark name to bmkp-refresh-menu-list.
638 ;;                                     Return the updated BOOKMARK.
639 ;;     bmkp-refresh-menu-list: Set window point also.
640 ;;     bmkp-goto-position:
641 ;;       Added BOOKMARK arg.  When bmkp-save-new-location-flag, update BOOKMARK.  Return indicator.
642 ;;     bmkp-create-varlist-bookmark: Call bookmark-set with INTERACTIVEP arg.
643 ;;     bmkp-cycle(-this-buffer*): Added STARTOVERP arg. Pass OTHER-WINDOW, STARTOVERP to bmkp-cycle-1.
644 ;;     bmkp-cycle-1: Added STARTOVERP arg.  If non-nil pop-up-frames, then inhibit showing annotation.
645 ;;                   Use region only if bmkp-use-region value is cycling-too.
646 ;;                   Use eq for *-list-position test.  If *-list-position returns nil, then reset.
647 ;;                   Use save-selected-window, unlesl OTHER-WINDOW.
648 ;;     bmkp-(next|previous)-bookmark(-this-buffer|-w32): Added STARTOVERP arg.  C-u: start over at 1.
649 ;;     Bind highlight cmds: *-map: h,H,u,U,C-u,=,C-up|down.  *-bmenu-*map: H+,H>+,H>H,HH,HS,H>U,HU.
650 ;;                          *-jump-map: h.  Bind TS in *-bmenu-*map.
651 ;;     Add bmkp-occur-create-autonamed-bookmarks to occur-mode-map as C-c b.
652 ;;     Menus: Added Highlight, Toggle Option.  Added light to Jump To, Show, Mark, mouse.  Reorder.
653 ;; 2010/06/23 dadams
654 ;;     Split the change log off from file bookmark+-doc.el to new file bookmark+-chg.el.
655 ;; 2010/06/21 dadams
656 ;;     Renamed: bmkp-toggle-autoname-bookmark-set/delete to bmkp-toggle-autonamed-bookmark-set/delete,
657 ;;              bmkp-autonamed-bookmarks-alist-only to bmkp-autonamed-this-buffer-alist-only,
658 ;;              bmkp-bookmark-autoname-p to bmkp-autonamed-bookmark-for-buffer-p,
659 ;;     Added: bmkp-autonamed-alist-only, bmkp-non-autonamed-alist-only, bmkp-autonamed-bookmark-p, 
660 ;;     bmkp-completing-read-1: Use DEFAULT as default.  Use just (not lax) - no non-t.
661 ;;                             Use DEFAULT if empty input only if DEFAULT is non-nil.
662 ;;     bmkp-choose-navlist-of-type: Added pseudo-type "any".
663 ;;     bmkp-specific-buffers-alist-only: Exclude desktop etc. bookmarks.
664 ;;     bmkp-update-autonamed-bookmark: Arg can be a bookmark (not just name).
665 ;; 2010/06/19 dadams
666 ;;     RENAMED bookmarkp* TO bmkp*.  ***** THIS IS AN INCOMPATIBLE CHANGE ******
667 ;;
668 ;;       If you have existing customizations, or if you have bookmarks that have the (internal) tag
669 ;;       "bmkp-jump", then YOU MUST REPLACE occurrences of "bookmarkp" by "bmkp" EVERYWHERE.  This
670 ;;       includes replacing occurrences in (1) your bookmarks file (bookmark-default-file), (2) your
671 ;;       state file (bmkp-bmenu-state-file), and (3) your command file (bmkp-bmenu-commands-file).
672 ;;
673 ;;     Changed *-bmenu-w32-open-select binding to M-o from M-v.
674 ;; 2010/06/11 dadams
675 ;;     Wrap all (require '* nil t) in condition-case.
676 ;; 2010/06/07 dadams
677 ;;     Fix deskstop bookmarks for Emacs < 22.  Protect:
678 ;;       *-release-lock with fboundp, *-buffer-args-list with boundp, *-dir with Emacs version #, 
679 ;; 2010/05/30 dadams
680 ;;     Added: bookmarkp-(next|previous)-bookmark-w32(-repeat).  Bound to C-x p (next|prior).
681 ;; 2010/05/29 dadams
682 ;;     *-bmenu-list, *-choose-navlist-from-bookmark-list, *-bmenu-define(-full-snapshot)-command,
683 ;;       *-save-menu-list-state, -make-bookmark-list-record:
684 ;;         Add/restore bookmarkp-bmenu-filter-pattern to/from state.
685 ;;     *-jump-bookmark-list: Set bookmarkp-latest-bookmark-alist to  bookmark-alist.
686 ;;     Reordered Bookmark menu and added items:
687 ;;       Set Bookmark, Delete Autonamed Bookmark, Delete All Autonamed Bookmarks Here,
688 ;;       Delete Bookmarks Here, Delete Bookmark, Rename Bookmark, Bookmark List for This Buffer,
689 ;;       Bookmark List for Navlist, Set Navlist to Bookmarks of Type,
690 ;;       Set Navlist from Bookmark-List Bookmark, Insert Bookmark Contents, Insert Bookmark Location.
691 ;;     Added to Bookmark+ menu: Set Navlist *.
692 ;;     Added to bookmarkp-bmenu-jump-menu: In Navigation List. 
693 ;;     Added :enable entries for menu items.
694 ;;     Updated bookmark-bmenu-mode doc string for cycling, navlist, and options.
695 ;;     Corrected bindings of bookmarkp-jump-in-navlist(-other-window).
696 ;; 2010/05/26 dadams
697 ;;     Added:
698 ;;       bookmarkp-choose-navlist-(from-bookmark-list|of-type), bookmarkp-crosshairs-highlight,
699 ;;       bookmarkp-cycle(-this-buffer)(-other-window), bookmarkp-delete-bookmarks, 
700 ;;       bookmarkp-jump-in-navlist(-other-window), bookmarkp-navlist-bmenu-list,
701 ;;       bookmarkp-(next|previous)-bookmark(-this-buffer)(-repeat),
702 ;;       bookmarkp-toggle-autoname-bookmark-set/delete, bookmarkp-autoname-bookmark(-function),
703 ;;       bookmarkp-autonamed-bookmarks-alist-only, bookmarkp-autoname-format,
704 ;;       bookmarkp-bookmark-autoname-p, bookmarkp-crosshairs-flag,
705 ;;       bookmarkp-this-buffer-cycle-sort-comparer, bookmarkp-current-bookmark-list-state,
706 ;;       bookmarkp-cycle-1, bookmarkp-list-position, bookmarkp-position-cp,
707 ;;       bookmarkp-current-nav-bookmark, bookmarkp-cycle-this-buffer-buff, bookmarkp-nav-alist,
708 ;;       bookmarkp-update-autonamed-bookmark, bookmarkp-delete-all-autonamed-for-this-buffer.
709 ;;    Bound:
710 ;;       bookmarkp-choose-navlist-from-bookmark-list, bookmark-insert-location,
711 ;;       bookmarkp-navlist-bmenu-list, bookmarkp-choose-navlist-of-type, bookmarkp-delete-bookmarks,
712 ;;       bookmarkp-toggle-autoname-bookmark-set/delete, bookmarkp-jump-in-navlist(-other-window),
713 ;;       bookmarkp-(next|previous)-bookmark(-this-buffer)-repeat.
714 ;;    bookmark--jump-via: Update the name and position of an autonamed bookmark.
715 ;; 2010/05/22 dadams
716 ;;     *-this-buffer-p: Return nil for bookmarks not really associated with a buffer.
717 ;;     *-default-handler, *-goto-position: Forgot comma to eval file-name when no-such-file error.
718 ;;     *-show-annotation: Bind buffer-read-only to nil for updating.
719 ;; 2010/05/19 dadams
720 ;;     Added: bookmarkp-this-buffer-bmenu-list.  Bound to `C-x p .'.
721 ;;     menu-bar-bookmark-map:
722 ;;       Added bookmarkp-this-buffer-bmenu-list.  Added separators.
723 ;;       Added vanilla items edit, write, load, to impose order.  Renamed item edit.
724 ;; 2010/05/16 dadams
725 ;;     bookmark-set: Quoted history arg.  Thx to S. Nemec.
726 ;;     bookmarkp-bmenu-define-full-snapshot-command: Use quote comma, not quote, for *-specific-*.
727 ;; 2010/05/15 dadams
728 ;;     Replace *same-(buffer|file)-jump* by *specific-(buffers|files)-jump*: read multiple buff/files.
729 ;;     Renamed: *same-(buffer|file)* to *-last-specific-(buffer|file)* for pred, alist, and var.
730 ;;     Renamed: *same-(buffer|file)* to *specific-(buffer|file)* for hist, *types*, mark/show cmds.
731 ;;     Renamed: *-selected-buffers-alist* to *-specific-buffers-alist*.
732 ;;     Added: *-specific-files-alist*, *-(all|some)-tags(-regexp)-alist-only.
733 ;;     *-completing-read-(buffer|file)-name: Use (buffer|file)-name-history, not *-same-*-history.
734 ;;     *-read-tags-completing: Rewrote to correctly handle cons and string tags, error handling, etc.
735 ;;     *-bmenu-(add|remove)-tags-*-marked: Error handling.
736 ;;     *(all|some)-tags(-regexp)-jump*: Use *-(all|some)-tags(-regexp)-alist-only.
737 ;; 2010/05/11 dadams
738 ;;     Added: bookmarkp-bmenu-mark-same-(buffer|file)-bookmarks, bookmarkp-this-(buffer|file)-p,
739 ;;            bookmarkp-this-(buffer|file)-alist-only, bookmarkp-bmenu-show-only-same-(buffer|file),
740 ;;            bookmarkp-completing-read-(buffer|file)-name, bookmarkp-same-(buffer|file)-history,
741 ;;            bookmarkp-(same|this)-(buffer|file)-alist-only, bookmarkp-last-same-(buffer|file),
742 ;;            bookmarkp-(same|this)-(buffer|file)-jump(-other-window), bookmarkp-(buffer|file)-names,
743 ;;            bookmarkp-same-(buffer|file)-as-last-p, bookmarkp-other-window-pop-to-flag,
744 ;;            bookmarkp-select-buffer-other-window.
745 ;;     Use bookmarkp-select-buffer-other-window instead of switch-to-buffer-other-window everywhere.
746 ;;     Bound = (b|f) (M|S), C-x j (=|.) (b|f) to (same|current)-(buffer|file) commands.
747 ;;     *-types-alist: Handle same-(buffer|file) too.
748 ;;     *-bmenu-list, *-bmenu-define-full-snapshot-command, *-save-menu-list-state:
749 ;;       Handle bookmarkp-last-same-(buffer|file) as part of state.
750 ;; 2010/05/05 dadams
751 ;;     bookmarkp-create-varlist-bookmark, bookmarkp-make-varlist-record:
752 ;;       Added optional arg BUFFER-NAME.
753 ;;     bookmark-alist: Corrected doc string wrt BUFFER-NAME and region context strings.
754 ;; 2010/05/04 dadams
755 ;;     Added: bookmarkp-create-varlist-bookmark.
756 ;;     bookmarkp-jump-varlist: If bookmark's buffer doesn't exist, use current buffer and show msg.
757 ;; 2010/04/24 adams
758 ;;     Added: bookmarkp-bmenu-show-only-varlists, bookmarkp-set-restrictions-bookmark,
759 ;;            bookmarkp-set-varlist-bookmark, bookmarkp-varlist-jump, bookmarkp-varlist,
760 ;;            bookmarkp-jump-varlist, bookmarkp-make-varlist-record, bookmarkp-printable-p,
761 ;;            bookmarkp-printable-vars+vals, bookmarkp-read-variables-completing,
762 ;;            bookmarkp-read-variable, bookmarkp-varlist-alist-only, bookmarkp-varlist-bookmark-p,
763 ;;            bookmarkp-varlist-history.
764 ;;     Bound bookmarkp-bmenu-show-only-varlists to V S, bookmarkp-varlist-jump to C-x j v (and menu).
765 ;;     *-types-alist: Added bookmarkp-varlist-history.
766 ;;     *-bmenu-mode-status-help, *-bmenu-propertize-item, *-describe-bookmark: Handle varlist bmks.
767 ;;     *-bmenu-w32-open-select: Changed binding to M-v from V.
768 ;;     *-bmenu-mode: Updated doc string.
769 ;; 2010/04/17 dadams
770 ;;     bookmark-set: Numeric prefix arg means use all bookmarks as completion candidates.
771 ;;                   Simplified the prompt.
772 ;;     bookmarkp-completing-read-1:
773 ;;       Use icicle-transform-multi-completion in icicle-delete-candidate-object
774 ;;     Ensure loaded before byte-compile (put a require after provide).
775 ;;     Move bookmarkp-replace-regexp-in-string before macro bookmarkp-define-sort-command (uses it).
776 ;;     bookmarkp-bmenu-w32-open-with-mouse, bookmarkp-bmenu-mouse-3-menu:
777 ;;       Use with-current-buffer, not save-excursion of set-buffer.
778 ;;     bookmarkp-make-dired-record, bookmarkp-jump-dired: Use dolist, not mapcar (just side effect).
779 ;;     bookmarkp-(some|all)-tags-jump(-other-window): Removed extraneous arg in error call.
780 ;; 2010/04/16 dadams
781 ;;     Added: bookmarkp-completing-read-1, bookmarkp-completing-read-lax,
782 ;;            bookmarkp-selected-buffers-alist-only.
783 ;;     bookmark-set: Use bookmark-completing-read-lax w/ buffer's bookmarks, not read-from-minibuffer.
784 ;;     bookmark-completing-read: Define using bookmarkp-completing-read-1.
785 ;; 2010/04/09 dadams
786 ;;     bookmarkp-edit-bookmark: Update dired-directory property along with filename property. 
787 ;; 2010/03/28 dadams
788 ;;     bookmarkp-goto-position: Don't funcall bookmarkp-jump-display-function if it is nil.
789 ;; 2010/03/28 dadams
790 ;;     bookmark-default-handler: Don't funcall bookmarkp-jump-display-function if it is nil.
791 ;; 2010/03/27 dadams
792 ;;     Changed the customization group from bookmarkp to bookmark-plus.
793 ;;     Moved doc and change history from bookmark+.el to this new file, bookmark+-doc.el.
794 ;;     bookmarkp-commentary-button: Use bookmark+-doc.el, not bookmark+.el.
795 ;; 2010/03/17 dadams
796 ;;     Added: bookmarkp-toggle-bookmark-set-refreshes, bookmarkp-refresh-latest-bookmark-list,
797 ;;            bookmarkp-after-set-hook.
798 ;; 2010/03/16 dadams
799 ;;     Fixed parens placement (typo) for last change to define *-jump-woman for Emacs 20.
800 ;; 2010/03/11 dadams
801 ;;     Define bookmarkp-jump-woman also for Emacs 20 (just raise an error).
802 ;;     *-show-annotation: Typo: bookmark -> bmk-name.
803 ;; 2010/03/10 dadams
804 ;;     Added: bookmarkp-bookmark-creation-cp, bookmarkp-bmenu-sort-by-creation-time (bind: s0, menu).
805 ;;     *-make-record-default: Add entry: created.
806 ;;     *-describe-bookmark: Add creation time to description.
807 ;; 2010/03/03 dadams
808 ;;     *-sort-and-remove-dups: Do not set bookmarkp-sorted-alist to the result.
809 ;;     *-bmenu-list-1: Set bookmarkp-sorted-alist to the result of calling *-sort-and-remove-dups.
810 ;; 2010/03/02 dadams
811 ;;     Added: bookmarkp-sorted-alist.
812 ;;     *-bmenu-list-1: Use bookmarkp-sorted-alist.
813 ;;     *-sort-and-remove-dups: Set bookmarkp-sorted-alist to the result.
814 ;;     All *-cp (and hence *-define-file-sort-predicate):
815 ;;       Accept bookmark names as args, in addition to bookmarks.
816 ;;     bookmark-alpha-p: Don't use bookmarkp-make-plain-predicate, to avoid infinite recursion.
817 ;; 2010/02/28 dadams
818 ;;     Added: bookmarkp-send-bug-report.
819 ;;     bookmarkp-bmenu-mode-status-help: Rewrote to provide only Bookmark+ help.  Added help buttons.
820 ;;     Fixed Commentary typos.
821 ;; 2010/02/26 dadams
822 ;;     Added: bookmarkp-desktop-change-dir, bookmarkp-desktop-kill, bookmarkp-desktop-delete.
823 ;;     *-jump-desktop: Call *-desktop-change-dir.
824 ;;     *-read-bookmark-for-type: Added optional arg ACTION.
825 ;; 2010/02/24 dadams
826 ;;     *-bmenu-list: Handle case null last-bookmark-file (due to old file format).  Thx to Seb Luque.
827 ;;     *-make-record-default: protect dired-buffers with boundp.  Thx to Janek Schwarz.
828 ;; 2010/02/16 dadams
829 ;;     bookmarkp-define-sort-command: Add msg suffix about repeating.
830 ;;     bookmarkp-msg-about-sort-order: Added optional arg SUFFIX-MSG.
831 ;; 2010/02/15 dadams
832 ;;     Added: bookmark-bmenu-switch-other-window (redefinition for Emacs 20-22).
833 ;;     *-bmenu-mode: Added redefinition, instead of advising.
834 ;;     *-send-edited-annotation, *-relocate, *-rename, *-bmenu-refresh-menu-list,
835 ;;       *-remove(-all)-tags, *-add-tags:
836 ;;         Refresh the menu list, to pick up changes.
837 ;;     *-refresh-menu-list: Added optional arg BOOKMARK: go to it.
838 ;;     Do not bind bookmark-bmenu-relocate unless it's defined.
839 ;;     *-handler-cp: Respect case-fold-search.
840 ;; 2010/02/14 dadams
841 ;;     Renamed bookmark-bmenu-list-1 to bookmarkp-bmenu-list-1.
842 ;;     Added faces: bookmarkp-(a|t|>|D)-mark, bookmarkp-heading (don't use bookmark-menu-heading).
843 ;;     Added redefinitions: bookmark-send-edited-annotation, bookmark(-bmenu)-show-annotation,
844 ;;                          bookmark-show-all-annotations.
845 ;;     *-bmenu-mark, *-bmenu-delete, *-bmenu-list-1: Add faces to marks.
846 ;;     *-bmenu-list-1 and everywhere: Get rid of "% " before menu-list title.
847 ;;     *-bmenu-list-1: Use "a", not "*", as annotation mark.
848 ;;                     Add "t" mark for tags.  Add an extra space before bookmark name.
849 ;;     *-bmenu-marks-width: change value from 2 to 4, for the tags column and the extra space.
850 ;; 2010/02/13 dadams
851 ;;     Added: bookmarkp-desktop-history,
852 ;;            bookmarkp-desktop-jump (bound to C-x j K; added to menu),
853 ;;            bookmarkp-bookmark-list-jump (bound to C-x j B; added to menu),
854 ;;            bookmarkp-bookmark-list-alist-only, bookmarkp-bookmark-list-history.
855 ;;     *-types-alist: Added entries for desktops and bookmark-lists.
856 ;;     *-describe-bookmark: Added optional arg, to show full (internal) info.
857 ;;                          Bind it to ? in bookmark-map.
858 ;;     *-jump-bookmark-list: Pop to the bookmark-list (to show it).
859 ;;     *-bmenu-mark-w3m-bookmarks: Typo: wrong predicate.
860 ;;     *(-bmenu)-remove-all-tags: Raise error if no tags to remove.
861 ;;     *-bmenu-remove-all-tags: Require confirmation if interactive.
862 ;;     *-bmenu-remove-tags: Added optional arg MSGP.
863 ;;     Menus: Added "..." as needed.
864 ;;     *-bmenu-mouse-3-menu: Guard bookmark-bmenu-relocate with fboundp.
865 ;; 2010/02/12 dadams
866 ;;     Added: bookmarkp-bmenu-define-jump-marked-command.  Bound to M-c and added to menu.
867 ;;     Changed bookmarkp-toggle-saving-bookmark-file binding to M-~ (M-s conflicts w isearch-multi).
868 ;;     Updated bookmark-bmenu-mode doc string.
869 ;; 2010/02/11 dadams
870 ;;     Added: bookmarkp-types-alist,
871 ;;            bookmarkp-(dired|gnus|info|man|region|w3m|(non-|local-|remote-)file)-history.
872 ;;     bookmark-completing-read: Added optional HIST arg.
873 ;;     *-(relocate|rename|insert(-location)): Added bookmark default for interactive use.
874 ;;     *-jump-dired: Handle bookmarkp-jump-display-function.
875 ;;     *-read-bookmark-for-type: Added optional HIST arg.
876 ;;     *-jump-to-type(-other-window),
877 ;;       *-(dired|file|gnus|info|man|region|w3m|(local-|non-|remote-)file)-jump*(-other-window):
878 ;;         Use type-specific history var.
879 ;; 2010/02/09 dadams
880 ;;     Added: bookmarkp-get-tag-value.
881 ;;     bookmark--jump-via: Handle special bookmark tag bookmarkp-jump.
882 ;; 2010/02/08 dadams
883 ;;     Renamed: bookmarkp-bmenu-dired-marked-local to bookmarkp-bmenu-dired-marked.
884 ;;     bookmarkp-bmenu-dired-marked: Handle remote bookmarks if Emacs > 23.1.
885 ;;     Support tags with values.
886 ;;       Added: bookmarkp-tag-name, bookmarkp-full-tag, bookmarkp(-bmenu)-set-tag-value.
887 ;;       Renamed variable (not fn) bookmarkp-tags-list to bookmarkp-tags-alist.
888 ;;       Use bookmarkp-full-tag everywhere for tag completion.
889 ;;       *-has-tag-p: Use assoc-default, not member.
890 ;;       *-read-tag(s)-completing: CANDIDATE-TAGS is now an alist.
891 ;;       *-list-all-tags: Added optional arg FULLP (prefix arg).
892 ;;       *-tags-list: Added optional arg NAMES-ONLY-P.
893 ;;       *-(add|remove|rename)-tags: Use copy-alist, not copy-sequence.  Alist, not list, membership.
894 ;;       *-rename-tag: Raise error if no tag with old name.
895 ;;       *-bmenu-mark-bookmarks-tagged-regexp, *-regexp-filtered-tags-alist-only, *-describe-bookmark,
896 ;;         *-(all|some)-tags-regexp-jump(-other-window):
897 ;;           Use bookmarkp-tag-name.
898 ;;       *-bmenu-mark/unmark-bookmarks-tagged-(all|some)/(none|not-all), *-define-tags-sort-command:
899 ;;         Use assoc-default, not member.
900 ;;     Added: bookmarkp-bmenu-add-tags, bookmarkp-bmenu-remove(-all)-tags.
901 ;;     *-bmenu-mouse-3-menu: Use bookmarkp-bmenu-add-tags, bookmarkp-bmenu-remove(-all)-tags.
902 ;;                           Added bookmarkp-bmenu-set-tag-value.
903 ;;     *-bmenu-mark-bookmarks-satisfying: Made it a command (interactive).
904 ;; 2010/02/07 dadams
905 ;;     *-write-file: Corrected handling of ALT-MSG.
906 ;;     Cleanup.
907 ;;       *-remove-tags: Don't call *-get-tags twice.
908 ;;       *-bmenu-(un)mark-bookmarks-tagged(-not)-(all|none|some):
909 ;;         Don't duplicate what bookmarkp-read-tags-completing does.
910 ;;       *-add-tags, *-remove-tags(-from-all): TAGS arg must be a list from the beginning.
911 ;;       *-remove-tags-from-all, *-rename-tag: Use bookmark-all-names - don't mapcar car over alist.
912 ;;       *-all-tags-regexp-jump: Corrected to use same pred as *-all-tags-regexp-jump-other-window.
913 ;;       *-(some|all)-tags-jump(-other-window): Use bookmarkp-has-tag-p - don't repeat the definition.
914 ;;       *-read-tag(s)-completing: Removed unnecessary or.
915 ;; 2010/02/06 dadams
916 ;;     *-write-file, *-empty-file: Corrected handling of ALT-MSG.
917 ;; 2010/02/05 dadams
918 ;;     Added: bookmarkp-same-file-p, bookmarkp-empty-file.
919 ;;     Bound bookmarkp-empty-file to C-x p 0, and added it to menus.
920 ;;     *-bmenu-list, *-switch-bookmark-file: Use bookmarkp-same-file-p.
921 ;;     bookmark-write-file: Added optional ALT-MSG arg.
922 ;; 2010/02/04 dadams
923 ;;     Added: bookmarkp-bmenu-omit, bookmarkp-list-all-tags.  Added to mouse-3 menu, Tags menus.
924 ;; 2010/02/01 dadams
925 ;;     Added: bookmarkp-current-bookmark-file, bookmarkp-switch-bookmark-file,
926 ;;            (redefinition of) bookmark-load, (redefinition of) bookmark-save,
927 ;;            bookmarkp-toggle-saving-bookmark-file, bookmarkp-last-save-flag-value.
928 ;;     *-bmenu-list: Restore bookmarkp-current-bookmark-file if appropriate.
929 ;;     *-bmenu-mode-status-help: Show bookmarkp-current-bookmark-file.
930 ;;     *-bmenu-define-full-snapshot-command, *-save-menu-list-state:
931 ;;       Save bookmarkp-current-bookmark-file.
932 ;;     Bound bookmarkp-switch-bookmark-file to L and C-x r L.  Added both load commands to both menus.
933 ;;     *-toggle-saving-menu-list-state: Changed binding to M-l.  Error if init value is nil.
934 ;;     Bound *-toggle-saving-bookmark-file to M-s and added to menu.
935 ;;     Added bookmark-write to bookmarkp-bmenu-menubar-menu (Save As).
936 ;;     bookmarkp-bmenu-menubar-menu: Added :help strings everywhere.
937 ;;     bookmarkp-bmenu-mode-status-help: Added face legend.
938 ;; 2010/01/31 dadams
939 ;;     Added: bookmarkp-tags-list, bookmarkp-read-tag-completing, bookmarkp-use-w32-browser-p,
940 ;;            bookmarkp-bmenu-w32-open(-select|-with-mouse).  Bind *-w32* to M-RET, V, M-mouse-2.
941 ;;     *-default-handler: Call w32-browser if bookmarkp-use-w32-browser-p.
942 ;;     *-bmenu-unomit-marked: Don't try to return to original position (duh).
943 ;;     *-bmenu-goto-bookmark-named: Use eobp as loop condition.  Call bookmark-bmenu-ensure-position.
944 ;;     *-read-tags-completing:
945 ;;       Added arg UPDATE-TAGS-LIST-P.  Call bookmark-maybe-load-default-file.
946 ;;       Use bookmarkp-tags-list if CANDIDATE-TAGS is nil.  Update that var if UPDATE-TAGS-LIST-P.
947 ;;     *-(add|remove)-tags: Added arg NO-CACHE-UPDATE-P.  If nil, call bookmarkp-tags-list.
948 ;;     *-remove-tags-from-all, *-rename-tag, *-bmenu-(add|remove)-tags-(to|from)-marked:
949 ;;       Call bookmarkp-tags-list.
950 ;;     *-remove-tags-from-all: Pass nil as tags arg to bookmarkp-read-tags-completing.
951 ;;     *-rename-tag: Use bookmarkp-read-tag-completing, not read-string.
952 ;; 2010/01/29 dadams
953 ;;     bookmarkp-describe-bookmark: Handle desktop bookmarks specifically.
954 ;;     Added: bookmarkp-menu-popup-max-length.
955 ;;     bookmark-completing-read: Use bookmarkp-menu-popup-max-length.
956 ;;     bookmarkp-bmenu-state-file: Added missing default value for const.
957 ;;     Don't add jump-other entry to menu-bar-bookmark-map (just use Jump To submenu).
958 ;; 2010/01/28 dadams
959 ;;     bookmarkp-(all|some)-tags(-regexp)-jump(-other-window): Error if no bookmarks with the tags.
960 ;;     bookmarkp-(all|some)-tags-jump(-other-window): Handle case where user enters no tags.
961 ;;     Use :advertised-binding property for bookmark-jump(-other-window).
962 ;;     Added: bookmarkp-bmenu-jump-menu.
963 ;;     Added bookmarkp-bmenu-jump-menu to menu-bar-bookmark-map and bookmarkp-bmenu-menubar-menu.
964 ;; 2010/01/27 dadams
965 ;;     Added: bookmarkp-every, bookmarkp-(all|some)-tags(-regexp)-jump(-other-window).
966 ;; 2010/01/26 dadams
967 ;;     Added: bookmarkp-bmenu-dired-marked-local.  Bound to M-d >.
968 ;; 2010/01/23 dadams
969 ;;     Added: bookmarkp-handler-cp, bookmarkp-desktop-no-save-vars, bookmarkp-set-desktop-bookmark,
970 ;;            bookmarkp-make-desktop-record, bookmarkp-jump-desktop, bookmarkp-desktop-read,
971 ;;            bookmarkp-desktop-alist-only, bookmarkp-desktop-bookmark-p,
972 ;;            bookmarkp-bmenu-mark-desktop-bookmarks, bookmarkp-bmenu-show-only-desktops,
973 ;;            face bookmarkp-desktop.
974 ;;     bookmarkp-bmenu-sort-by-bookmark-type: Add bookmarkp-handler-cp to the list (last).
975 ;;     bookmarkp-bmenu-propertize-item: Add face bookmarkp-desktop for desktop bookmarks.
976 ;;     Bound: bookmarkp-set-desktop-bookmark to C-x p K, C-x r K,
977 ;;            bookmarkp-bmenu-mark-desktop-bookmarks to K M (and Mark menu),
978 ;;            bookmarkp-bmenu-show-only-desktops to K S (and Show menu).
979 ;;     bookmark-bmenu-mode doc string: Updated for new commands.
980 ;;     Added autoload cookies for all defcustoms.
981 ;; 2010/01/20 dadams
982 ;;     Added: bookmarkp-bmenu-mode-status-help.  Bound to C-h m, ?.
983 ;; 2010/01/19 dadams
984 ;;     bookmarkp-remote-file-bookmark-p: Include remote Dired bookmarks.  Thx to Simon Harrison.
985 ;;     Added: bookmarkp-describe-bookmark-internals, bookmarkp-bmenu-describe-this+move-(down|up),
986 ;;            defalias for list-bookmarks.
987 ;;     bookmarkp-describe-bookmark: Reformatted help output.  Added more info about Dired bookmarks.
988 ;;     bookmarkp-bmenu-describe-this-bookmark:
989 ;;       C-u calls bookmarkp-describe-bookmark-internals.  Bound also to C-h C-RET.
990 ;; 2010/01/18 dadams
991 ;;     Added: bookmarkp-dired-subdirs.
992 ;;     bookmarkp-make-dired-record, bookmarkp-jump-dired: Handle inserted and hidden dirs.
993 ;;     bookmarkp-jump-dired: Use expand-file-name, not concat.
994 ;; 2010/01/17 dadams
995 ;;     Added:
996 ;;       bookmarkp-jump(-other-window)-map, bookmarkp-jump-1, bookmark-all-names (redefined),
997 ;;       bookmarkp-read-bookmark-for-type, bookmarkp-dired-jump-current(-other-window),
998 ;;       bookmarkp-(dired|(local-|remote-|non-)file|gnus|info|man|region|w3m)-jump(-other-window),
999 ;;       bookmarkp-jump-to-type(-other-window).
1000 ;;     bookmark-jump(-other-window): Use bookmarkp-jump-1.
1001 ;;     bookmark-completing-read: Added optional args ALIST and PRED.
1002 ;;     bookmarkp-default-bookmark-name: Added optional arg ALIST.
1003 ;; 2010/01/14 dadams
1004 ;;     bookmark-bmenu-surreptitiously-rebuild-list: Put back save-excursion & save-window-excursion.
1005 ;; 2010/01/02 dadams
1006 ;;     Renamed *-bmenu-check-position to *-bmenu-ensure-position, per Emacs 23.2.  Added defalias.
1007 ;; 2010/01/01 dadams
1008 ;;     *-bmenu-(un)mark, *-bmenu-other-window, *-bmenu-rename: Call bookmark-bmenu-check-position.
1009 ;;     *-bmenu-delete: Don't call bookmark-bmenu-check-position again at end.
1010 ;;     *-bmenu-edit-bookmark: Call bookmark-bmenu-check-position at beginning, not end.
1011 ;; 2009/12/30 dadams
1012 ;;     Added: bookmarkp-bmenu-header-lines, bookmarkp-bmenu-marks-width.  Use everywhere.
1013 ;; 2009/12/29 dadams
1014 ;;     Added: bookmarkp-make-bookmark-list-record, bookmarkp-jump-bookmark-list, face
1015 ;;            bookmarkp-bookmark-list.
1016 ;;     *-bmenu-propertize-item: Highlight bookmark-list bookmarks.
1017 ;;     *-bmenu-refresh-menu-list: Set bookmarkp-latest-bookmark-alist to refreshed list.
1018 ;;     Face *-local-directory: Made dark background version the inverse of light.
1019 ;;     *-bmenu-list-1: Use eq, not equal, test for bookmarkp-omitted-alist-only as filter fn.
1020 ;;     *-bmenu-define(-full-snapshot)-command: Include bookmarkp-bmenu-omitted-list in saved state.
1021 ;; 2009/12/26 dadams
1022 ;;     Added: bookmarkp-bmenu-omitted-list, bookmarkp-bmenu-show-only-omitted, bookmarkp-unomit-all,
1023 ;;            bookmarkp-bmenu-omit/unomit-marked, bookmarkp-bmenu-(un-)omit-marked,
1024 ;;            bookmarkp-omitted-alist-only.
1025 ;;            Bind *-bmenu-omit/unomit-marked, *-bmenu-show-only-omitted, *-unomit-all to O>,OS,OU.
1026 ;;     Added omit/un-omit stuff to Bookmark+ menu.
1027 ;;     bookmarkp-remove-assoc-dups, bookmarkp-sort-and-remove-dups: Added optional arg OMIT.
1028 ;;     bookmark-delete: Update bookmarkp-bmenu-omitted-list.
1029 ;;     bookmarkp-save-menu-list-state, bookmark-bmenu-list:
1030 ;;       Save/restore bookmarkp-bmenu-omitted-list as part of state.
1031 ;;     bookmark-bmenu-list-1: Treat omitted list when bookmarkp-omitted-alist-only.
1032 ;;     bookmarkp-marked-bookmark-p: Arg can now be a bookmark (or a bookmark name).
1033 ;;     bookmarkp-bmenu-unmark-all: Start by going forward 2 lines, not 1, if user hit RET.
1034 ;;     bookmarkp-bmenu-make-sequence-from-marked:
1035 ;;       Added optional arg DONT-OMIT-P.  If nil, omit marked bookmarks.
1036 ;;       If the seq bookmark already exists, prompt to add to it or replace it.
1037 ;;       Go to the new bookmark in the menu list.
1038 ;; 2009/12/15 dadams
1039 ;;     Added: bookmarkp-sequence-jump-display-function, bookmarkp-sequence, bookmarkp-function,
1040 ;;            bookmarkp-bmenu-make-sequence-from-marked, bookmarkp-jump-sequence,
1041 ;;            bookmarkp-sequence-bookmark-p, bookmarkp-make-function-bookmark,
1042 ;;            bookmarkp-jump-function, bookmarkp-function-bookmark-p.
1043 ;;     bookmarkp-describe-bookmark: Update for sequence and function bookmarks.
1044 ;;     bookmark-bmenu-list: Use condition-case when read from bookmarkp-bmenu-state-file.
1045 ;;                          Bind emacs-lisp-mode-hook to nil.
1046 ;;     bookmark-bmenu-surreptitiously-rebuild-list: Use save-current-buffer.
1047 ;;     bookmarkp-bmenu-propertize-item: Add faces to function and sequence bookmarks.
1048 ;;     bookmarkp-bmenu-menubar-menu: Add *-make-sequence-*-from-marked, *-make-function-bookmark.
1049 ;;     bookmark--jump-via: Call *-record-visit with BATCH arg, to preserver point in menu list.
1050 ;;     bookmark-bmenu-list-1: fit-frame only if buffer is *Bookmark List*.
1051 ;; 2009/12/13 dadams
1052 ;;     *-alist-only: Call bookmark-maybe-load-default-file.
1053 ;; 2009/12/11 dadams
1054 ;;     Added: bookmarkp-list-defuns-in-commands-file, bookmarkp-remove-dups.
1055 ;; 2009/12/06 dadams
1056 ;;     Added: bookmarkp-bmenu-mouse-3-menu (bound to mouse-3),
1057 ;;            bookmarkp-bmenu-(menubar|define-command|sort|show|tags|mark)-menu. 
1058 ;;     bookmark-bmenu-delete: Remove newly flagged bookmark from bookmarkp-bookmark-marked-list.
1059 ;;     bookmarkp-define-tags-sort-command: Save macroexpanded definition in
1060 ;;                                         bookmarkp-bmenu-commands-file.
1061 ;; 2009/12/04 dadams
1062 ;;     Added: bookmarkp-bmenu-define-full-snapshot-command (bound to C),
1063 ;;            bookmarkp-define-tags-sort-command.
1064 ;;     bookmarkp-bmenu-mark-bookmarks-tagged-regexp: Removed extra forward-line if we mark line.
1065 ;; 2009/12/03 dadams
1066 ;;     Added: bookmarkp-bmenu-define-command (bound to c), bookmarkp-bmenu-commands-file.
1067 ;;     bookmark-bmenu-list: Read bookmarkp-bmenu-commands-file.
1068 ;;     bookmarkp-sort-and-remove-dups: Bug fix - return the list even when null sort function.
1069 ;; 2009/11/01 dadams
1070 ;;     Added: *-bmenu-check-position (redefinition), bmkext-jump-* defaliases.
1071 ;;     *-(w3m|man|gnus)-bookmark-p: Recognize the aliases.
1072 ;;     *-jump-man: Bind Man-notify-method.
1073 ;;     *-bmenu-goto-bookmark-named: Check the text property, instead of searching.
1074 ;;     *-bmenu-bookmark: Wrap in condition-case.
1075 ;; 2009/10/31 dadams
1076 ;;     Added: bookmark-bmenu-list-1. bookmarkp-toggle-saving-menu-list-state (C-t),
1077 ;;            bookmarkp-bmenu-state-file, bookmarkp-bmenu-first-time-p,
1078 ;;            bookmarkp-last-bmenu-(bookmark|state-file), bookmark-exit-hook-internal
1079 ;;            (redefinition), bookmarkp-save-menu-list-state.
1080 ;;     bookmark-bmenu-list: Restore menu-list state if appropriate.  Call bookmark-bmenu-list-1.
1081 ;;     bookmarkp-bmenu-quit: If *-bmenu-state-file is non-nil, save the state.
1082 ;;     bookmark-write-file: Use case, not cond.
1083 ;;     bookmark-set: Use command name as default for man-page bookmark name.
1084 ;;     bookmark-delete: Update bookmarkp-latest-bookmark-alist.
1085 ;; 2009/10/28 dadams
1086 ;;     Renamed: bookmarkp-bookmark-marked-p to bookmarkp-marked-bookmark-p
1087 ;;              bookmarkp-bmenu-sort-by-gnus-thread to bookmarkp-bmenu-sort-by-Gnus-thread.
1088 ;;     Added: bookmarkp-man, bookmarkp-make-(wo)man-record, bookmarkp-jump-(wo)man,
1089 ;;            bookmarkp-man-bookmark-p, bookmarkp-bmenu-mark-man-bookmarks,
1090 ;;            bookmarkp-bmenu-show-only-man-pages, bookmarkp-man-alist-only.
1091 ;;     *-bmenu-propertize-item: Handle (wo)man bookmarks.  Use bookmarkp-info-bookmark-p.
1092 ;;     *-regexp-filtered-*: Use bookmarkp-remove-if-not.
1093 ;;     *-write-file: Remove text properties from file name also.
1094 ;;     *-regexp-filtered-(tags|(bookmark|file)-name)-alist-only: Use *-remove-if-not.
1095 ;; 2009/10/26 dadams
1096 ;;     Added: bookmarkp-bmenu-mark-*-bookmarks, bmenu-mark-bookmarks-satisfying.
1097 ;;     Bound those and *-show-only-* accordingly.
1098 ;;     bookmarkp-file-alist-only: Redefined to just use *-file-bookmark-p.
1099 ;; 2009/10/25 dadams
1100 ;;     bookmarkp-bmenu-propertize-item: Put bookmark name on line as text property.
1101 ;;     bookmark-bmenu-bookmark: Get bookmark name from text property bookmarkp-bookmark-name.
1102 ;;     Removed: bookmarkp-latest-sorted-alist.
1103 ;;     bookmark-bmenu-list: Use bookmarkp-bmenu-title only if defined.
1104 ;; 2009/10/21 dadams
1105 ;;     Added: bookmarkp-barf-if-not-in-menu-list.  Use in place of its body.
1106 ;;     Added: bookmarkp-bmenu-mark-bookmarks-tagged-regexp.  Bound to T m %.
1107 ;;     Added: bookmarkp-record-visit.  Use in *--jump-via.  Replaces next two removals.
1108 ;;     Removed: bookmarkp-add-or-update-time, bookmarkp-increment-visits.
1109 ;;     Renamed: *-record-(end|front|rear)-context(-region)-string'.
1110 ;;              New names: bookmarkp-(end-)position-(pre|post)-context(-region).
1111 ;;     *-bmenu-describe-this-bookmark: Added *-barf-if-not-in-menu-list.
1112 ;;     *-bmenu-(un)mark-all, *-bmenu-regexp-mark, *-bmenu-toggle-marks:
1113 ;;       Removed with-current-buffer.
1114 ;; 2009/10/20 dadams
1115 ;;     Added: bookmarkp-bmenu-filter-function, bookmarkp-bmenu-title.
1116 ;;     Removed: bookmarkp-bmenu-called-from-inside-p.
1117 ;;     *-bmenu-list:
1118 ;;       Removed TITLE arg.  Get title from bookmarkp-bmenu-title or default.
1119 ;;       Use interactive-p and absence of menu list, not *-bmenu-called-from-inside-p, as the
1120 ;;         criterion for removing marks.  Fixes bugs such as bookmark creation removing marks.
1121 ;;     *-define-sort-command, *-bmenu-execute-deletions, *-increment-visits,
1122 ;;       *-add-or-update-time, *-bmenu-show-only-*, *-bmenu-show-all,
1123 ;;       *-bmenu-refresh-menu-list, *-bmenu-toggle-show-only-(un)marked,
1124 ;;       *-bmenu-filter-alist-by-regexp, *-bmenu-reverse(-multi-sort)-order,
1125 ;;       *-bmenu-change-sort-order:
1126 ;;         Do not bind or set *-called-from-inside-p.
1127 ;;     *-bmenu-show-only-*, *-bmenu-show-all, *-bmenu-filter-alist-by-regexp:
1128 ;;       Set *-bmenu-filter-function, *-bmenu-title.
1129 ;;     *-bmenu-show-all:
1130 ;;       Set *-latest-bookmark-alist to bookmark-alist.
1131 ;;     *-bmenu-refresh-menu-list: Fix so that it in fact refreshes.
1132 ;;       Do not use *-bmenu-surreptitiously-rebuild-list and *-bmenu-check-position.
1133 ;;       Bind bookmark-alist to last alist (filtered or not), and call *-bmenu-list.
1134 ;;     *-bmenu-surreptitiously-rebuild-list:
1135 ;;       Do not use save*-excursion.  Do not get current title and pass it to *-bmenu-list.
1136 ;;     *-file-alist-only:
1137 ;;       Removed optional arg.  We have *-local-file-alist-only for that.
1138 ;;     *-regexp-filtered-alist-only, *-bmenu-filter-alist-by-regexp:
1139 ;;       Remove REGEXP arg - use bookmarkp-bmenu-filter-pattern.
1140 ;;     *-bmenu-filter-incrementally:
1141 ;;       Raise error if not in *Bookmark List*.
1142 ;;       Use just bookmarkp-bmenu-filter-alist-by-regexp in timer - pass no regexp arg.
1143 ;;     Added: bookmarkp-some, *-bmenu-filter-(file-name|tags)-incrementally,
1144 ;;            *-bmenu-filter-alist-by-(file-name|tags)-regexp,
1145 ;;            *-regexp-filtered-(file-name|tags)-alist-only.
1146 ;;     Renamed: *-bmenu-filter-incrementally to *-bmenu-filter-bookmark-name-incrementally,
1147 ;;              *-bmenu-filter-alist-by-regexp to *-bmenu-filter-alist-by-bookmark-name-regexp,
1148 ;;              *-regexp-filtered-alist-only to *-regexp-filtered-bookmark-name-alist-only.
1149 ;;     Bound these commands to P B, P F, and P T.  Updated bookmark-bmenu-mode doc string.
1150 ;; 2009/10/18 dadams
1151 ;;     Added: *-bmenu-filter-(incrementally|delay|prompt|pattern|timer|alist-by-regexp),
1152 ;;            *-bmenu-read-filter-input, *-regexp-filtered-alist-only,
1153 ;;            *-bmenu-cancel-incremental-filtering.
1154 ;;     *-bmenu-execute-deletions: Don't update menu list if this is a no-op.
1155 ;;     Updated Commentary.
1156 ;;     Thx to Thierry Volpiatto.
1157 ;;     Added: *-marked-cp, *-bmenu-sort-marked-before-unmarked.  Bound to s >.
1158 ;;     *-define-sort-command: Use copy-sequence for default value.
1159 ;; 2009/10/17 dadams
1160 ;;     Added: *-read-tags-completing, *-set-union, *-tag-history, *-describe-bookmark,
1161 ;;            *-bmenu-describe-this-bookmark.  Bound *-bmenu-describe-this-bookmark to C-h RET.
1162 ;;     Use *-read-tags-completing instead of *-read-tags.
1163 ;;     *-sort-orders-for-cycling-alist: Use copy-sequence.
1164 ;;     *-bmenu-change-sort-order: Use member, not memq.
1165 ;;     *-get-bookmark: Handle case of non-string, non-cons. Document NOERROR in doc string.
1166 ;;     *-bmenu-execute-deletions: Fix so marks aren't removed if when delete.  Thx to Thierry.
1167 ;;     Convert recorded time to an Emacs time spec:
1168 ;;       *-make-record-default, -add-or-update-time: Use current-time, not bookmark-float-time.
1169 ;;       *-get-visit-time: Convert a deprecated time entry to an Emacs time spec.
1170 ;;       *-bookmark-last-access-cp: Convert recorded time to a number for comparison.
1171 ;;     Added: *-bmenu-show-filenames (redef of vanilla: put props on whole line, fit frame).
1172 ;;     Removed: old-bookmark-insert-location.
1173 ;;     *-insert-location: Do not call original.  Redefined: do not add text properties.
1174 ;;     *-bmenu-list, *-bmenu-hide-filenames: Put properties on line up to max width.
1175 ;;     *-bmenu-goto-bookmark-named: Allow trailing whitespace, since we use the whole line now.
1176 ;;     *-bmenu-list: Use pop-to-buffer, not switch-to-buffer.  Use do-list, not mapcar.
1177 ;;     *-bmenu-hide-filenames: fit-frame-if-one-window.
1178 ;;     *-bmenu-propertize-item: Better help-echo text.
1179 ;;     Updated bookmark-alist doc string to mention visits, time, and tags entries.
1180 ;; 2009/10/16 dadams
1181 ;;     Added tags feature.
1182 ;;       Added: *-(get|read)-tags, *-has-tag-p, *-remove(-all)-tags(-from-all),
1183 ;;              *-bmenu-remove-tags-from-marked, *-add-tags(-to-marked), *-rename-tag,
1184 ;;              *-bmenu-(un)mark-bookmarks-tagged-(all|none|some|not-all),
1185 ;;              *-bmenu-mark/unmark-bookmarks-tagged-(all/none|some/not-all).
1186 ;;       Bound to prefix key T.
1187 ;;       *-bmenu-mode: Updated doc string.
1188 ;;     Added: bookmarkp-default-bookmark-name.  Use as default instead of *-current-bookmark.
1189 ;;     Renamed: *-maybe-save-bookmark to *-maybe-save-bookmarks.
1190 ;;     Menu-list commands: Raise an error if command is used outside the menu list.
1191 ;; 2009/10/15 dadams
1192 ;;     Added: *-bmenu-(search|query-replace)-marked-bookmarks-regexp.  Bound to M-a, M-q.
1193 ;;     Renamed: *-non-marked-bookmarks-only to *-unmarked-bookmarks-only,
1194 ;;              *-bookmark-marked-alist to *-bmenu-marked-bookmarks.
1195 ;;     *-increment-visits, *-add-or-update-time:
1196 ;;       Set *-bmenu-called-from-inside-p to t, so we don't remove marks.
1197 ;;     Redefined *-bmenu-bookmark to get name from *-latest-sorted-alist.  Thx to Thierry V.
1198 ;;       *-bmenu-surreptitiously-rebuild-list, *-bmenu-list:
1199 ;;         Removed optional arg DONT-TOGGLE-FILENAMES-P.
1200 ;;       *-bmenu-execute-deletions, *-bmenu-toggle-show-only-(un)marked, *-bmenu-(un)mark-all,
1201 ;;         *-bmenu-regexp-mark, *-bmenu-toggle-marks:
1202 ;;           Do not bother with *-bmenu-toggle-filenames and rebuilding the menu list.
1203 ;; 2009/10/14 dadams
1204 ;;     Added: *-bmenu-delete (redefinition), *-isearch-bookmarks,
1205 ;;            *-bmenu-isearch(-marked)-bookmarks(-regexp), *-isearch-next-bookmark-buffer.
1206 ;;            Bound multi-isearch commands to M-s a C(-M)-s.
1207 ;; 2009/10/13 dadams
1208 ;;     Added: *-make-dired-record, *-jump-dired, *-dired-bookmark-p, *-dired-alist-only,
1209 ;;            *-bmenu-show-only-dired.  Bound *-bmenu-show-only-dired to M-d.
1210 ;;     bookmarkp-file-bookmark-p: Include bookmarks that have the Dired handler.
1211 ;;     Moved *-sort-orders-for-cycling-alist defcustoms after *-define-sort-command calls.
1212 ;;     Call bookmarkp-msg-about-sort-order only when interactive.
1213 ;;     *-add-or-update-time, *-increment-visits: Do not save each time we access a bookmark.
1214 ;;     Updated doc string of bookmark-alist and Commentary.
1215 ;; 2009/10/09 dadams
1216 ;;     Added: bookmarkp-bmenu-delete-marked.  Bound it to D.
1217 ;;            bookmarkp-sort-orders-for-cycling-alist.
1218 ;;     Renamed: bookmarkp-sort-functions-alist to bookmarkp-sort-orders-alist,
1219 ;;              bookmarkp-sort-function to bookmarkp-sort-comparer.
1220 ;;     bookmark-bmenu-execute-deletions: Added optional arg, for *-bmenu-delete-marked.
1221 ;;     *-sort-function: Changed default value to sorting by bookmark type (`s k').
1222 ;;     *-bmenu-change-sort-order: Use *-sort-orders-for-cycling-alist, not all sort orders.
1223 ;;     Updated Commentary and doc string (bookmark-bmenu-mode).
1224 ;; 2009/10/08 dadams
1225 ;;     Added: *-bmenu-sort-by-(w3m-url|gnus-thread), *-(gnus|w3m)-cp, *-cp-not,
1226 ;;            *-local-file-(accessed|updated)-more-recently-cp, *-bmenu-sort-by-bookmark-type.
1227 ;;     Renamed: *-bmenu-sort-by(-last)-file-(size|type|access|update) to
1228 ;;              *-bmenu-sort-by(-last)-local-file-(size|typeaccess|update),
1229 ;;              *-file-visited-more-recently-cp to *-local-file-accessed-more-recently-cp,
1230 ;;              *-file-(size|type)-cp to *-local-file-(size|type)-cp.
1231 ;;     Removed: *-file-(device|gid(-chg)|inode|last-(access|update|status-change)|links|modes
1232 ;;                            |uid)-cp.
1233 ;;     Bound *-bmenu-sort-by-bookmark-type to `s k'.
1234 ;;     *-define-file-sort-predicate: Use *-file-bookmark-p, not *-local-file-bookmark-p.
1235 ;;     *-msg-about-sort-order: Added optional arg PREFIX-ARG.  Use in: *-show-(all|only-*).
1236 ;; 2009/10/07 dadams
1237 ;;     Renamed: *-bmenu-sort-by-last-visit-time to *-bmenu-sort-by-last-bookmark-access,
1238 ;;              *-bmenu-sort-by-visit-frequency to *-bmenu-sort-by-bookmark-visit-frequency,
1239 ;;              *-visited-more-recently-cp to *-bookmark-last-access-cp.
1240 ;; 2009/10/06 dadams
1241 ;;     Added: bookmarkp-msg-about-sort-order.
1242 ;;     bookmark-completing-read: Simple sort when use menu-bar menu.
1243 ;; 2009/10/05 dadams
1244 ;;     Added: *-make-plain-predicate, *-reverse-multi-sort-order, *-multi-sort,
1245 ;;            *-define-file-sort-predicate, *-bmenu-sort-by-file-*, *-file-attribute-*-cp,
1246 ;;            and aliases *-file-*-cp, *-current-sort-order.
1247 ;;     Redefined sorting to allow multi-predicates:
1248 ;;       Redefined: *-sort-function, *-sort-and-remove-dups, *-define-sort-command,
1249 ;;                  *-sort-functions-alist.
1250 ;;     Bound keys with `s f' prefix to file-sorting commands
1251 ;;     *-current-sort-order: Use rassoc instead of rassq now.
1252 ;;     Swap keys s and S.  S is now bookmark-bmenu-save.  s is not the sorting prefix key.
1253 ;;     bookmark-bmenu-mode: Mention S key explicitly here (even though it is also
1254 ;;                          mentioned in the vanilla part of the doc string).
1255 ;; 2009/10/04 dadams
1256 ;;     *-bmenu-change-sort-order-repeat: Require repeat.el.
1257 ;;     Renamed: bookmarkp-current-sec-time to bookmarkp-float-time.
1258 ;;     *-float-time: Added arg, so it's the same as float-time (for Emacs 20).
1259 ;;     Bind *-reverse-sort-order to `S R'.
1260 ;;     *-remote-file-bookmark-p: Removed extra rem-file in last and.
1261 ;;     *-non-file-bookmark-p: Ensure it's not a remote file, before calling file-exists-p.
1262 ;; 2009/10/03 dadams
1263 ;;     Added: bookmarkp-file-remote-p, bookmarkp-buffer (face).
1264 ;;     bookmarkp-non-file (face): Changed to gray.
1265 ;;     *-default-handler, *-bmenu-propertize-item, *-(info|file)-bookmark-p:
1266 ;;       Support Emacs 20-21 Info-node bookmarks.
1267 ;;     bookmarkp-bmenu-propertize-item: Use different face for existing buffers.
1268 ;;                                      Use bookmarkp-non-file-filename.
1269 ;;     bookmarkp-non-file-bookmark-p: Include buffer bookmarks for nonexistent buffers.
1270 ;;     bookmarkp-remote-file-bookmark-p: Use bookmarkp-file-remote-p.
1271 ;;     bookmark-handle-bookmark:
1272 ;;       Redefine for all Emacs versions.  Handle buffer (non-file) bookmarks.
1273 ;;     Reordered some function definitions.
1274 ;; 2009/10/02 dadams
1275 ;;     Added: bookmarkp-bmenu-goto-bookmark-named, bookmarkp-latest-sorted-alist.
1276 ;;     *-sort-and-remove-dups: Set *-latest-sorted-alist (not used yet).
1277 ;;     *-define-sort-command, *-bmenu-change-sort-order, *-reverse-sort-order:
1278 ;;       Bind *-bmenu-called-from-inside-p to t, to prevent losing marks.
1279 ;;       Restore cursor position to same bookmark after sorting - use *-goto-bookmark-named.
1280 ;;     *-bmenu-surreptitiously-rebuild-list, *-bmenu-list: Added arg DONT-TOGGLE-FILENAMES-P.
1281 ;;     *-bmenu-execute-deletions, *-bmenu-toggle-show-only-(un)marked:
1282 ;;       Call *-surreptitiously-* with arg DONT-TOGGLE-FILENAMES-P.
1283 ;;     *-bmenu-hide-filenames: Simplify - don't get to position by searching backward.
1284 ;;     *-handle-region-default: Use forward-line, not goto-line.
1285 ;;     Thx to Thierry V.
1286 ;; 2009/10/01 dadams
1287 ;;     Added: bookmarkp-some-unmarked-p.
1288 ;;     Renamed: *-bmenu-toggle-show-only-<TYPE> to *-bmenu-show-only-<TYPE>,
1289 ;;              *-bmenu-called-from-inside-flag to *-bmenu-called-from-inside-p.
1290 ;;     bookmarkp-some-marked-p: Do not test bookmarkp-bookmark-marked-alist.
1291 ;;                              Arg must be required (explicit).  Changed calls accordingly.
1292 ;;     bookmark-bmenu-mode: Cleaned up doc string.
1293 ;;     bookmark-bmenu-((un)mark|rename|edit-*|toggle-marks|surreptitiously-rebuild-list),
1294 ;;       bookmarkp-root-or-sudo-logged-p, bookmarkp-jump-w3m-(new-session|only-one-tab),
1295 ;;       bookmarkp-some-marked-p:
1296 ;;         Inline let vars used only once.
1297 ;;     bookmarkp-bmenu-toggle-show-only-marked:
1298 ;;       Test bookmarkp-some-unmarked-p, not bookmarkp-some-marked-p,
1299 ;;            and include *-before-hide-unmarked in the test.
1300 ;;     bookmarkp-bmenu(-toggle)-show-only-*: Display status message.
1301 ;;     bookmarkp-bmenu-toggle-show-only-(un)marked: Fit frame.
1302 ;;     bookmark-prop-set: Fixed, so it handles old bookmark format also.
1303 ;; 2009/10/01 Thierry Volpiatto
1304 ;;     Removed: bookmarkp-bmenu-restore-marks.
1305 ;;     bookmark-bmenu-list:
1306 ;;       Do the mark restoration in line, at the same time as the annotation * restoration.
1307 ;;       Simplify use of START and END.
1308 ;; 2009/09/30 dadams
1309 ;;     bookmarkp-bmenu-regexp-mark: Remove binding of bookmark-alist.
1310 ;;     bookmark-bmenu-(un)mark, bookmarkp-bmenu-edit-bookmark (remove first call only),
1311 ;;       bookmark-bmenu-other-window, bookmark-bmenu-rename, bookmarkp-bmenu-restore-marks:
1312 ;;         Remove bookmark-bmenu-check-position (done by bookmark-bmenu-bookmark anyway).
1313 ;;     bookmark-insert-location: Fix interactive spec for Emacs < 22.
1314 ;;     bookmark-location: Return "" instead of raising error, if no location found.
1315 ;;     bookmarkp-current-sec-time: Move the let: do not call current-time unless we need to.
1316 ;;     bookmarkp-bmenu-unmark-all: forward-line only 1, not 2.  Thx to Thierry.
1317 ;;     bookmark-bmenu-mode: Updated doc string - bindings and mention options.
1318 ;;     bookmarkp-bmenu-propertize-item: For buffer, check also against "   - no file -".
1319 ;; 2009/09/29 dadams
1320 ;;     bookmark-bmenu-unmark: Use delete, not remove.
1321 ;;     Removed: bookmark-bmenu-check-position, bookmarkp-maybe-sort.
1322 ;;     Added: bookmarkp-sort-and-remove-dups, bookmarkp-remove-assoc-dups,
1323 ;;            bookmarkp-face-prop, bookmarkp-bad-bookmark, bookmark-menu-heading (Emacs 20,21),
1324 ;;            bookmark-bmenu-bookmark (redefinition).
1325 ;;     *-bmenu-toggle-show-only-*: Do not call-interactively.
1326 ;;     bookmarkp-bmenu-(un)mark-all:
1327 ;;       Handle bookmark-bmenu-toggle-filenames (wrapper).
1328 ;;       Remove bookmark-bmenu-check-position - just ensure within menu list.
1329 ;;     bookmarkp-bmenu-mark-all: Move save-excursion so it applies to all movements.
1330 ;;                               Message stating number marked.
1331 ;;     bookmarkp-bmenu-unmark-all: Use with-current-buffer ensure in menu list.
1332 ;;                                 Use bookmark-bmenu-unmark.
1333 ;;     Fixed U bindings for bookmarkp-bmenu-unmark-all.
1334 ;;     bookmarkp-bmenu-regexp-mark:
1335 ;;       Remove bookmark-bmenu-check-position - just ensure in menu list.
1336 ;;     bookmarkp-bmenu-toggle-marks: Use forward-line 2, to ensure in menu list.
1337 ;;                                   Message stating number marked.
1338 ;;     bookmark-bmenu-list, bookmarkp-bmenu-propertize-item: Use bookmarkp-face-prop.
1339 ;;     bookmark-bmenu-list: Don't start applying the faces until column 2.
1340 ;;     Removed key bindings in bookmark-map for *-toggle-show-only-*.
1341 ;;     Redefined faces, esp. for a light background.
1342 ;;     Use font-lock-face or face property, depending on Emacs version.
1343 ;;
1344 ;; 2009-06-09 to 2009-09-27 Thierry Volpiatto and dadams
1345 ;;     New features, as follows.
1346 ;;       See also the change log at
1347 ;;         http://mercurial.intuxication.org/hg/bookmark-icicle-region/.
1348 ;;       2090-09-27 Rewrote sorting and unmarking code.  (+ Updates to doc, names.)
1349 ;;                    Unmarking is now like Dired & query-replace.
1350 ;;                    Sorting is via one sort function; sort predicates do all the sorting.
1351 ;;                    Can now cycle sort orders with S S S...
1352 ;;                    Sort cmds now cycle among normal, reverse, off.
1353 ;;                    Add: *-define-sort-command (macro), *-assoc-delete-all, *-upcase,
1354 ;;                         *-get-visits-count, *-get-visit-time, *-sort-functions-alist.
1355 ;;                  Remove docstring from defalias (for Emacs 20).
1356 ;;       2009-09-26 Fix *-bmenu-mode doc (defadvice).
1357 ;;       2009-09-25 *-bmenu-edit, *-bmenu-sort-1: Fix bmk retrieval code.
1358 ;;                  Redefine *-bmenu-unmark.  Add: *-bmenu-toggle-marks.
1359 ;;                  Bind *-bmenu-unmark-all-bookmarks to M-DEL.  Reorder code.
1360 ;;                  Rename: *-bmenu-unmark-all-(bookmarks|(delete|mark)-flag)',
1361 ;;                          *-bmenu-unmark-all-bookmarks-1.
1362 ;;                  Change sort predicates in defalias.  Rename bmk entry visit to visits.
1363 ;;                  Remove: *-bmenu-show-number-of-visit.
1364 ;;       2009-09-22 Rewrote sorting code.  Renamed unmarking fns.
1365 ;;       2009-09-21 Rename mark/unmark cmds to have -bmenu.
1366 ;;                  Add: *-bmenu-called-from-inside-flag - set it in (un)hide marks fns.
1367 ;;       2009-09-20 *-write-file: Remove text properties before saving.
1368 ;;                  Remove all marks only in current display.
1369 ;;       2009-09-19 *-current-sec-time: Protect with fboundp for Emacs 20.
1370 ;;                  *-bmenu-sort-1: Add msg showing sort method.
1371 ;;                  Change key S-A to S-S (A is annotations).
1372 ;;       2009-09-18 Improve sorting by visit frequency.  Always increment when jump.
1373 ;;                  Fix increment visit fn.  Allow sorting by last visited.
1374 ;;                  When visit values are equal, sort with string-lessp.
1375 ;;                  Add TIME bookmark-alist entry.  *-make-record-default: Add time entry.
1376 ;;                  Fix: bad parens, errors in sorting predicate.  Rename fns.  
1377 ;;                  Use single fn to sort using diff methods.
1378 ;;                  Add: *-bmenu-refresh-alist (bind to g).
1379 ;;       2009-09-16 Add: *-toggle-sorting-by-most-visited, *-reset-visit-flag,
1380 ;;                       *-bmenu-show-number-of-visit.
1381 ;;                  Redefine *-prop-set.  Improve *-toggle-sorting-by-most-visited.
1382 ;;                  Add auto-doc to header.  *-bmenu-mode: Add missing key.
1383 ;;                  Update menu-list after jumping.
1384 ;;                  Increment save counter when jump with visit flag.
1385 ;;       2009-09-15 Record number of visits.  Added sorting by most visits.
1386 ;;       2009-09-14 Add doc string.  Update defadvice doc string wrt keys.
1387 ;;       2009-09-12 Add: fns to mark all, unmark D or > or all, *-bmenu-reset-alist.
1388 ;;                  Fix keymap (Emacs 20).  *-unmark-all-bookmarks1: Move the save-excursion.
1389 ;;       2009-09-11 Add: *-bmenu-check-position (redef to improve performance),
1390 ;;                       *-unmark-all-bookmarks, *-current-list-have-marked-p,
1391 ;;                       *-bookmark-marked-p, *-(non-)marked-bookmarks-only.
1392 ;;                  *-bmenu-hide-unmarked: Add toggling.  Restore lost fn.
1393 ;;                  Reorder code.  Bind cmds in *-bmenu-mode-map.
1394 ;;                  *-bmenu-hide-marked: Do not hide if no marked in current filter.
1395 ;;                  Improve: *-bmenu-hide(-not)-marked-bookmark, (un)hide marked fns.
1396 ;;       2009-09-10 Fix *--restore-all-mark, *-bmenu-regexp-mark.
1397 ;;                  *-bmenu-list: Add *-restore-all-mark.
1398 ;;                  *-bmenu-mark: Push marked bmk to marked list.
1399 ;;                  Add: bookmarkp-bookmark-marked-list, *-bmenu-quit.
1400 ;;       2009-09-09 *-maybe-sort-alist: Use copy-sequence.
1401 ;;                  So remove fixes for *-rename, *-edit-bookmark.
1402 ;;                  *-yank, *-rename', *-set: Fix yanking.
1403 ;;                  Remove non-file bmks from file-only list.
1404 ;;                  Add: *-bmenu-list-only-non-file-bookmarks, *-maybe-message (Emacs 20),
1405 ;;                       *-bmenu-mark-bookmark-matching-regexp, *-bmenu-hide-marked-bookmark,
1406 ;;                       *-bmenu-hide-not-marked-bookmark, *-bmenu-mark (redefinition).
1407 ;;                  *-write-file: Improve performance.
1408 ;;                  *-non-file-alist-only: Remove unused def.
1409 ;;                  Fix: hide marked/unmarked with toggle-filenames, keymap for Emacs 20.
1410 ;;                  Improve comments, doc strings.
1411 ;;                  *-bmenu-mark-bookmark-matching-regexp: Fix while loop.
1412 ;;       2009-09-08 bookmark-store: Remove duplicate setq of *-current-bookmark.
1413 ;;       2009-09-07 Reorganize (reorder), add comments, improve doc strings.
1414 ;;                  Change binding of *-bmenu-relocate from R to M-r.
1415 ;;       2009-09-06 bookmark-rename: Redefine with new arg BATCH.
1416 ;;                  *-bmenu-rename: Go to new pos, not old.
1417 ;;                  *-edit-bookmark, bookmark-rename: Fix display update for Emacs 20.
1418 ;;       2009-09-05 Add: *-edit-bookmark, *-bmenu-edit-bookmark, *-maybe-save-bookmark.
1419 ;;       2009-09-04 Require cl.  Allow RET in Emacs 20.  Add doc string.
1420 ;;                  *-fix-bookmark-alist-and-save:
1421 ;;       2009-09-03 Fix *-fix-bookmark-alist-and-save:
1422 ;;                    Use error, not message.  Change value for setcdr.
1423 ;;                    Do not use push with non-var (cl).
1424 ;;                  bookmark-delete:
1425 ;;                    Redefine, to fix vanilla bug: increment count even when batch.
1426 ;;                  *-non-file-name: Change to - no file -.  *-bmenu-list: Add arg FILTER-ON.
1427 ;;                  *-bmenu-execute-deletions: Use delete, not remove.
1428 ;;                  Add: *-replace-regexp-in-string.
1429 ;;                  bookmark-set: Fix *-yank-point for region case.  Fix bad parens.
1430 ;;       2009-09-02 Add: *-non-file-filename.  *-fix-bookmark-alist-and-save: Fix msg.
1431 ;;                  Require cl (gensym).  *-at-bol/eol' -> line-*-position (for Emacs 20).
1432 ;;                  bookmark-delete: increment *-count if batch arg (fixes vanilla bug).
1433 ;;                  Redefine *-bmenu-execute-deletions,
1434 ;;                           *-bmenu-surreptitiously-rebuild-list. 
1435 ;;                  Update current filtered display - do not reload & display all bmks.
1436 ;;                  Add redefinitions of *-bmenu-rename', *-yank-word to fix vanilla bugs:
1437 ;;                    *-bmenu-rename: Do not call *-bmenu-list twice.
1438 ;;                  *-yank-word: Do not insert whitespace.
1439 ;;                  Rename *-last-bookmark-alist-in-use to *-latest-bookmark-alist.
1440 ;;       2009-09-01 Fix: Loading of new doc for bookmark-alist (add vacuous defvar).
1441 ;;                       *-bmenu-(list|hide-filenames): start -> end, end -> start.
1442 ;;                  Removed extraneous quote mark that caused problems.
1443 ;;                  Save only if condition-case exits OK.
1444 ;;       2009-08-31 Fixes: Test for non-file bmk.  Filename for Gnus bmks.
1445 ;;                         Compatibility of bookmark-alist with vanilla Emacs.
1446 ;;                         Require info.el and ffap.el when needed.
1447 ;;                  Add: *-line-number-at-pos (for Emacs 20),
1448 ;;                       *-bmenu-other-window (redefinition).
1449 ;;                  Rename *-propertize-bookmark-list to *-propertize-bmenu-item.
1450 ;;       2009-08-30 Fix: Increment *-alist-modification-count when relocate region,
1451 ;;                       and maybe save.
1452 ;;                  Move code adding properties to bookmarks out of *-bmenu-list.
1453 ;;                  mapc -> mapcar.  *-bmenu-hide-filenames: Redefine.
1454 ;;       2009-08-29 Remove refresh code.
1455 ;;       2009-08-27 Added: *-local-directory-bookmark-p, *-local-file-alist-only,
1456 ;;                         *-non-file-alist-only.
1457 ;;                  *-file-bookmark-p: Redefined to exclude bmks with handlers.
1458 ;;                  Renamed fns and faces.
1459 ;;       2009-08-25 Fit frame after display menu list.
1460 ;;                  Refresh list when toggle filename visibility.
1461 ;;       2009-08-24 Fix: *-bmenu-list for remote files, bookmark-set, *-remote-file-bookmark-p.
1462 ;;                  Ensure arg to file-remote-p is not nil.
1463 ;;                  Recenter region only if it is visible.
1464 ;;       2009-08-23 Remove old *-location.  *-bmenu-list: Add isw3m.
1465 ;;                  bookmark-set:
1466 ;;                    Redefine for older Emacs. Use a default prompt for gnus, w3m.
1467 ;;                    Use *-name-length-max for title when region is active.
1468 ;;                    Ensure bookmark is on one line.
1469 ;;       2009-08-22 Try to handle tramp ftp files.
1470 ;;                  Do not fail if bookmark has empty filename entry.
1471 ;;                  Show region end pos using exchange-point-and-mark.
1472 ;;       2009-08-21 Remove all cl stuff (list*, loop, etc.).  Add *-remove-if(-not).
1473 ;;                  Remove compile-time require of cl.
1474 ;;                  Add predicates *-(region|gnus|w3m|info|(remote-|local-)file)-bookmark-p.
1475 ;;                  Redefine alist-only functions to optimize and use new preds.
1476 ;;       2009-08-20 *--jump-via: Fix to show relocated region before ask whether to save.
1477 ;;                  *-relocate-region: Fix ar-str.  Rename a var.  Add: *-region-activated-p.
1478 ;;                  Revert chgs.
1479 ;;       2009-08-19 Update/fix commentary: bookmark-alist, linkd.
1480 ;;                  *-default-handler, *-handle-region-default:
1481 ;;                    Get bmk record from name only once.
1482 ;;                  *-save-new-region-location: Move t inside progn.
1483 ;;       2009-08-16 Use prefix bookmarkp where appropriate.
1484 ;;       2009-08-15 Improve comments, doc strings.  Rename fns, vars.
1485 ;;                  Add :group with prefix bookmarkp.
1486 ;;       2009-08-09 Fix doc strings.
1487 ;;       2009-08-08 bookmark-set: Update doc string.  Show keys in C-h m.
1488 ;;       2009-08-07 *-jump: Fix to jump in same window (thx to Henry Atting).
1489 ;;                  *-at-bol/eol' -> line-*-position.
1490 ;;       2009-08-01 bookmark-store: Fix for Emacs 20.
1491 ;;       2009-07-27 Ensure we start on an empty w3m buffer.  Add: *-w3m-allow-multi-tabs.
1492 ;;       2009-07-24 *-bmenu-mode-map: Define some new keys.
1493 ;;       2009-07-23 *-bmenu-list: Add path to file in help-echo.
1494 ;;       2009-07-19 Fix title underline.  Highlight bookmark if root logged with tramp.
1495 ;;                  Add face for sudo.
1496 ;;       2009-07-18 Add: filter functions, option for bookmark-bmenu-list.
1497 ;;                  Remove toggle region.
1498 ;;                  *-bmenu-list-only-files-entries: Add prefix arg to show remote.
1499 ;;       2009-07-14 Add a forgotten test.
1500 ;;       2009-07-13 Fix errors.  Give pos in msg even if no search.
1501 ;;                  *-from-bob/eob: Fixed like old strict.
1502 ;;                  Remove *-relocate-region-(method|from-limits).
1503 ;;                  Remove unused code in record fns.  Add: *-relocate-region-function.
1504 ;;       2009-07-12 Do not pass args to relocation routines.  Remove use of flet.
1505 ;;                  Use skip-chars-*ward.  Use forward-line, not beginning-of-line.
1506 ;;                  Remove save-excursion around message.  Correct typo f(ree var BMK).
1507 ;;       2009-07-11 Fix *-relocate-region-strict.  Rename fns, adjust defcustom.
1508 ;;                  Save relocated region after pushing mark.  Add comments.
1509 ;;       2009-07-10 New retrieve fn.  Add looking-* fns.
1510 ;;       2009-07-08 Simplify record fns.  Add doc strings.  Add: *-save-relocated-position.
1511 ;;                  Fix: updating when relocate (wrt new record fns), string closing,
1512 ;;                       free vars, parens, names.
1513 ;;       2009-07-06 Fix: *-bmenu-list wrt windows, Info colors.
1514 ;;       2009-07-04 Rename fns to record, vars, args of retrieve fns.  Big changes, fixes.
1515 ;;       2009-07-01 Fix comments.  *-retrieve-region-strict: improve when out of context.
1516 ;;       2009-06-30 Fix: free vars, *-retrieve-region, provide (name).
1517 ;;       2009-06-29 Fix: w3m handler, file name for non-file, *-simple-retrieve-position.
1518 ;;                  Add: *-retrieve-region-strict.
1519 ;;       2009-06-28 Add: *-retrieve-region-method-is, *-retrieve-region-lax,
1520 ;;                       fns to retrieve regions.
1521 ;;                  Use buffer again, not buffer-name.
1522 ;;       2009-06-27 Fix wrong-type error no such file.  Renamed faces.  Add: *-prop-set.
1523 ;;                  Load gnus at compile time.  Protect tramp-file-name-regexp with boundp.
1524 ;;       2009-06-25 Fixes for older Emacs compatibility.
1525 ;;       2009-06-24 Improve *-default-handler.
1526 ;;                  Add: *-always-save-relocated-position, *-prop-get.
1527 ;;       2009-06-23 Use search-regexp, not re-search-regexp.  Add Gnus bmks.  Add doc.
1528 ;;                  Fix *-bmenu-list.
1529 ;;       2009-06-21 Fix: *-default-handler for Info.  Improve doc strings, commentary.
1530 ;;                  Fixes to be compatible with Emacs 20-22.
1531 ;;                  Use defcustom for *-list-only-regions-flag.
1532 ;;                  *jump: Put prefix arg in interactive spec.  Use buffer-name, not buffer.
1533 ;;                  Remove require of Tramp and inline Tramp fns.
1534 ;;                  Remove tests for display-(color|mouse)-p.
1535 ;;                  w3m-bookmark-(jump|make-record): require w3m.
1536 ;;       2009-06-20 Update context strings when relocate.
1537 ;;                  Fix: bookmark-get-*: search from point-min.
1538 ;;       2009-06-19 Fix: *-make-record-default, *-toggle-use-only-regions, *-default-handler,
1539 ;;                       bookmarking Dired.
1540 ;;                  Handle 4 positions in *-default-handler.
1541 ;;       2009-06-17 Fix: case where some bookmarked text was removed, *-use-region.
1542 ;;       2009-06-15 Fix *-region-alist-only, *-get-buffername, *-location,
1543 ;;                      non-file (buffer) bookmarks.
1544 ;;                  Support w3m similar to Info.
1545 ;;       2009-06-14 Fix bookmark+version, region relocation.  Info support.  Error handling.
1546 ;;       2009-06-13 Fix: *-list-only-regions, *-region-handler, *-make-record, keymap, faces.
1547 ;;                  Put region & info handling in *-default-handler, not separate handlers.
1548 ;;                  Merge *-make-record-region to *-make-record-default.
1549 ;;                  *-jump now negates *-use-region if prefix arg.  Raise error if bad bmk.
1550 ;;       2009-06-12 Add: *-get-endposition, *-region-alist-only-names.
1551 ;;                  Add filter to show only region bookmarks.
1552 ;;                  Faces for menu list.  Change region color.
1553 ;;       2009-06-11 Add: *-region-search-size, *-get-buffername, *-use-region.
1554 ;;                  Redefine *-handle-bookmark, *-jump, to fit bookmark-use-region.
1555 ;;                  Add condtions to bookmark-make-record.  Support w3m.  Support t command.
1556 ;;       2009-06-10 Fix search regexp.  Fix region in Info. Save bookmark if region moves.
1557 ;;       2009-06-09 Added: bookmark-make-record(-region), bookmark-region-handler.
1558 ;;                  Relocation.
1559 ;; 2009/05/25 dadams
1560 ;;     Added redefinition of bookmark-get-bookmark-record.
1561 ;; 2008/10/16 dadams
1562 ;;     bookmark-jump-other-window: Don't define it for Emacs 23+ (not needed).
1563 ;; 2008/04/04 dadams
1564 ;;     bookmark-jump-other-window: Updated wrt Emacs 22.2.
1565 ;; 2007/10/07 dadams
1566 ;;     Added: bookmark-completing-read, bookmark-delete, bookmark-insert(-location),
1567 ;;            bookmark-jump, bookmark-relocate, bookmark-rename.
1568 ;;     bookmark-jump-other-window: Use new bookmark-completing-read.
1569 ;; 2007/07/13 dadams
1570 ;;     Replaced Emacs version tests to reflect Emacs 22 release.
1571 ;; 2006/03/08 dadams
1572 ;;     bookmark-jump-other-window: Handle nil arg.
1573 ;; 2005/05/17 dadams
1574 ;;     Updated to work with Emacs 22.x.
1575 ;; 2004/11/20 dadams
1576 ;;     Refined to deal with Emacs 21 < 21.3.50 (soon to be 22.x)
1577 ;; 2004/10/26 dadams
1578 ;;     Different menu-bar command, depending on Emacs version.
1579 ;; 2004/09/21 dadams
1580 ;;     Only define bookmark-menu-jump-other-window if < Emacs 22.
1581 ;;
1582 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1583 ;; 
1584 ;; This program is free software; you can redistribute it and/or
1585 ;; modify it under the terms of the GNU General Public License as
1586 ;; published by the Free Software Foundation; either version 3, or
1587 ;; (at your option) any later version.
1588 ;; 
1589 ;; This program is distributed in the hope that it will be useful,
1590 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
1591 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1592 ;; General Public License for more details.
1593 ;; 
1594 ;; You should have received a copy of the GNU General Public License
1595 ;; along with this program; see the file COPYING.  If not, write to
1596 ;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth
1597 ;; Floor, Boston, MA 02110-1301, USA.
1598 ;; 
1599 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1600 ;;
1601 ;;; Code:
1602
1603 ;; You need not load this file.  It contains only documentation.
1604
1605 (provide 'bookmark+-chg)                ; Not used.
1606
1607 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1608 ;;; bookmark+-chg.el ends here
1609