1 ;;; bookmark+-chg.el - Change logs for Bookmark+ libraries.
3 ;; Filename: bookmark+-chg.el
4 ;; Description: Change logs for Bookmark+ libraries.
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)
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
16 ;; Features that might be required by this library:
20 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
24 ;; Change log for the Bookmark+ libraries, which extend standard
25 ;; library `bookmark.el'. This file contains no code, so you need
28 ;; The Bookmark+ libraries are these:
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
37 ;; `bookmark+-doc' - documentation (comment-only file)
38 ;; `bookmark+-chg' - change log (this file)
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:
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
49 ;; 2. From the Emacs-Wiki Web site:
50 ;; http://www.emacswiki.org/cgi-bin/wiki/BookmarkPlus.
52 ;; 3. From the Bookmark+ group customization buffer:
53 ;; `M-x customize-group bookmark-plus', then click link
56 ;; (The commentary links in #1 and #3 work only if you put library
57 ;; `bookmark+-doc.el' in your `load-path'.)
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.
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:
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.
76 ;; 2. In your default bookmark file, `bookmark-default-file'
77 ;; (`.emacs.bmk'), and in any other bookmark files you might
80 ;; 3. In your `*Bookmark List*' state file,
81 ;; `bmkp-bmenu-state-file' (`~/.emacs-bmk-bmenu-state.el').
83 ;; 4. In your `*Bookmark List*' commands file,
84 ;; `bmkp-bmenu-commands-file' (`~/.emacs-bmk-bmenu-commands.el'),
87 ;; You can do this editing in a virgin Emacs session (`emacs
88 ;; -Q'), that is, without loading Bookmark+.
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.
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).
103 ;; Again, sorry for this inconvenience.
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.
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'")
121 ;;;(@* "CHANGE LOG FOR `bookmark+-1.el'")
124 ;; Bind icicle-unpropertize-completion-result-flag to t for all calls to completing-read.
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.
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.
139 ;; Just put some definitions in alphabetic order - no real change.
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.
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.
153 ;; Added: bmkp-copied-tags, bmkp-copy-tags, bmkp-paste-add-tags, bmkp-paste-replace-tags..
155 ;; bmkp-remove-all-tags: Added optional arg no-cache-update-p.
157 ;; bmkp-make-record-for-target-file: Fixed backquotes on lambdas.
159 ;; bmkp-edit-tags: Do not apply bmkp-full-tag to the tags.
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).
168 ;; Added: bmkp-autofile-alist-only, bmkp-autofile-bookmark-p.
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.
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.
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.
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).
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.
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.
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.
244 ;; bmkp-describe-bookmark: Added 10-pixel margin around thumbnail image.
246 ;; Protect use of mouse-wheel-*-event with boundp. Thx to Chris Poole.
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.
251 ;; Added: bmkp-all-exif-data, bmkp-bookmark-image-bookmark-p.
252 ;; bmkp-bookmark-description: Handle image EXIF data.
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.
257 ;; Added defalias for bookmark-name-from(-full)-record, to fix gratuitous Emacs name change.
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.
263 ;; Added: bmkp-delete-autonamed(-this-buffer)-no-confirm.
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.
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)
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.
292 ;; bmkp-choose-navlist-of-type: Empty input means "any".
294 ;; bmkp-read-bookmark-file-name:
295 ;; Removed extra default-filename in call to read-file-name. Thx to Pedro Insua.
297 ;; Added: bmkp-regexp-filtered-annotation-alist-only.
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.
303 ;; Require gnus-sum.el when compile (for macro). Thx to S. Nemec.
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.
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.
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.
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.
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.
341 ;; bmkp-edit-bookmark: Use new bookmark name for update of dired-directory. Thx to Kai Tetzlaff.
343 ;; bmkp-make-url-browse-record: Remove text properties from URL arg.
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.
353 ;; Created from bookmark+.el code.
355 ;;;(@* "CHANGE LOG FOR `bookmark+-bmu.el'")
358 ;; bmkp-bmenu-change-sort-order, bmkp(-multi)-reverse-sort-order: Handle null CURRENT-BMK.
360 ;; Added to Tags menu: Purge Autofiles with No Tags.
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.
365 ;; Bound *-copy-tags to T c, T M-w, *-paste(-add|replace)-tags to T p, T C-y, T q.
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.
373 ;; Added: bmkp-bmenu-unmark-bookmarks-tagged-regexp. Bound it to T u %. Added it to menu.
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).
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.
389 ;; bmkp-bmenu-tags-menu: Added: bmkp-(un)tag-a-file.
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.
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.
427 ;; bookmark-bmenu-mode: Added to mode help: bmkp-(dired|file)-this-dir-jump.
429 ;; bookmark-bmenu-mode: Added new file-with-tags jump commands to the help.
431 ;; bmkp-bmenu-edit-bookmark: Use bmkp-refresh-menu-list, not *-surreptitiously-rebuild-list.
433 ;; Faces: Better defaults for dark background.
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.
438 ;; Added defalias for bookmark-name-from(-full)-record, to fix gratuitous Emacs name change.
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.
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.
447 ;; Removed eval-when-compile for bookmark+-(lit|1).el.
448 ;; bmkp-bmenu-propertize-item: Inconsequential simplification.
450 ;; bmkp-bmenu-edit-bookmark: Added optional arg INTERNALP (prefix arg), for editing record.
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).
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.
467 ;; Created from bookmark+.el code.
469 ;;;(@* "CHANGE LOG FOR `bookmark+-key.el'")
472 ;; Added to Bookmarks menu and its Tags submenu: Purge Autofiles with No Tags.
475 ;; Added bmkp-set-tag-value, bmkp-(add|remove|copy)-tags, bmkp-paste-(add|replace)-tags.
477 ;; Bound: bmkp-copy-tags, bmkp-paste-add-tags, bmkp-paste-replace-tags.
479 ;; Added: bmkp-tags-map. Bound tag commands to prefix C-x p t.
481 ;; Renamed menu Jump To Bookmark to just Jump To, in menu-bar-bookmark-map.
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...
491 ;; Added bindings for (new) bmkp-autofile-set,
492 ;; bmkp-file-this-dir-(all|some)-tags(-regexp)-jump(-other-window).
494 ;; Added to bmkp-jump-menu: bmkp-(dired|file)-this-dir-jump-other-window.
495 ;; Created from code in bookmark+-1.el.
497 ;;;(@* "CHANGE LOG FOR `bookmark+-lit.el'")
500 ;; Bind icicle-unpropertize-completion-result-flag to t for all calls to completing-read.
502 ;; bmkp-cycle-lighted-this-buffer: Use bmkp-sort-omit, not bmkp-sort-and-remove-dups.
504 ;; bmkp-light-bookmark(s): Don't call bookmark-handle-bookmark. Wrap with with-current-buffer.
506 ;; Added autoload cookies: defcustoms and commands.
508 ;; Added defalias for bookmark-name-from(-full)-record, to fix gratuitous Emacs name change.
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).
513 ;; Removed eval-when-compile for bookmark+-bmu, bookmark+-1.
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).
524 ;; bmkp-set-lighting-for-bookmark, bmkp-bmenu-set-lighting-for-marked:
525 ;; Use *-refresh-menu-list, not *-surreptitiously-*.
529 ;;;(@* "CHANGE LOG FOR `bookmark+-mac.el'")
532 ;; bmkp-define-cycle-command: Use bmkp-sort-omit, not bmkp-sort-and-remove-dups.
534 ;; Added autoload cookies: defmacro.
536 ;; Added: bmkp-define-next+prev-cycle-commands.
538 ;; Added: bmkp-define-cycle-command.
540 ;; Removed eval-when-compile for bookmark+-(bmu|1).el.
542 ;; Created, from code in other Bookmark+ files.
544 ;;;(@* "CHANGE LOG FOR `bookmark+.el'")
549 ;; Require bookmark+-key.el (new). Version 3.2.1.
551 ;; Added autoload cookies: defconst, command.
553 ;; bmkp-version-number: Version 3.2.0.
555 ;; Require bookmark+-mac.el.
556 ;; Do not ensure loaded before compile (not needed here now).
559 ;; Moved main content of bookmark+.el to new files bookmark+-1.el and bookmark+-bmu.el.
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.
579 ;; Added more autoload cookies.
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.
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.
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.
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.
654 ;; Split the change log off from file bookmark+-doc.el to new file bookmark+-chg.el.
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).
666 ;; RENAMED bookmarkp* TO bmkp*. ***** THIS IS AN INCOMPATIBLE CHANGE ******
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).
673 ;; Changed *-bmenu-w32-open-select binding to M-o from M-v.
675 ;; Wrap all (require '* nil t) in condition-case.
677 ;; Fix deskstop bookmarks for Emacs < 22. Protect:
678 ;; *-release-lock with fboundp, *-buffer-args-list with boundp, *-dir with Emacs version #,
680 ;; Added: bookmarkp-(next|previous)-bookmark-w32(-repeat). Bound to C-x p (next|prior).
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).
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.
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.
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.
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.
725 ;; bookmark-set: Quoted history arg. Thx to S. Nemec.
726 ;; bookmarkp-bmenu-define-full-snapshot-command: Use quote comma, not quote, for *-specific-*.
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.
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.
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.
755 ;; Added: bookmarkp-create-varlist-bookmark.
756 ;; bookmarkp-jump-varlist: If bookmark's buffer doesn't exist, use current buffer and show msg.
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.
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.
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.
786 ;; bookmarkp-edit-bookmark: Update dired-directory property along with filename property.
788 ;; bookmarkp-goto-position: Don't funcall bookmarkp-jump-display-function if it is nil.
790 ;; bookmark-default-handler: Don't funcall bookmarkp-jump-display-function if it is nil.
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.
796 ;; Added: bookmarkp-toggle-bookmark-set-refreshes, bookmarkp-refresh-latest-bookmark-list,
797 ;; bookmarkp-after-set-hook.
799 ;; Fixed parens placement (typo) for last change to define *-jump-woman for Emacs 20.
801 ;; Define bookmarkp-jump-woman also for Emacs 20 (just raise an error).
802 ;; *-show-annotation: Typo: bookmark -> bmk-name.
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.
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.
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.
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.
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.
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.
829 ;; bookmarkp-define-sort-command: Add msg suffix about repeating.
830 ;; bookmarkp-msg-about-sort-order: Added optional arg SUFFIX-MSG.
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.
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.
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.
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.
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.
880 ;; Added: bookmarkp-get-tag-value.
881 ;; bookmark--jump-via: Handle special bookmark tag bookmarkp-jump.
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).
905 ;; *-write-file: Corrected handling of ALT-MSG.
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.
916 ;; *-write-file, *-empty-file: Corrected handling of ALT-MSG.
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.
923 ;; Added: bookmarkp-bmenu-omit, bookmarkp-list-all-tags. Added to mouse-3 menu, Tags menus.
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.
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.
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).
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.
965 ;; Added: bookmarkp-every, bookmarkp-(all|some)-tags(-regexp)-jump(-other-window).
967 ;; Added: bookmarkp-bmenu-dired-marked-local. Bound to M-d >.
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.
982 ;; Added: bookmarkp-bmenu-mode-status-help. Bound to C-h m, ?.
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.
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.
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.
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
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.
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).
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,
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.
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.
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.
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.
1582 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
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.
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.
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.
1599 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1603 ;; You need not load this file. It contains only documentation.
1605 (provide 'bookmark+-chg) ; Not used.
1607 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1608 ;;; bookmark+-chg.el ends here