-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbookmark+-chg.el
3453 lines (3443 loc) · 210 KB
/
bookmark+-chg.el
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
;;; bookmark+-chg.el - Change logs for Bookmark+ libraries.
;;
;; Filename: bookmark+-chg.el
;; Description: Change logs for Bookmark+ libraries.
;; Author: Drew Adams
;; Maintainer: Drew Adams (concat "drew.adams" "@" "oracle" ".com")
;; Copyright (C) 2000-2019, Drew Adams, all rights reserved.
;; Created: Fri Sep 15 07:58:41 2000
;; Last-Updated: Sat Jun 8 16:43:50 2019 (-0700)
;; By: dradams
;; Update #: 16539
;; URL: https://www.emacswiki.org/emacs/download/bookmark%2b-chg.el
;; Doc URL: https://www.emacswiki.org/emacs/BookmarkPlus
;; Keywords: bookmarks, bookmark+
;; Compatibility: GNU Emacs: 20.x, 21.x, 22.x, 23.x, 24.x, 25.x, 26.x
;;
;; Features that might be required by this library:
;;
;; None
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;; Commentary:
;;
;; Change log for the Bookmark+ libraries, which extend standard
;; library `bookmark.el'. This file contains no code, so you need
;; not load it.
;;
;; The Bookmark+ libraries are these:
;;
;; `bookmark+.el' - main (driver) code library
;; `bookmark+-mac.el' - Lisp macros
;; `bookmark+-lit' - (optional) code for highlighting bookmarks
;; `bookmark+-bmu.el' - code for the `*Bookmark List*' (bmenu)
;; `bookmark+-1.el' - other (non-bmenu) required code
;; `bookmark+-key.el' - key and menu bindings
;;
;; `bookmark+-doc' - documentation (comment-only file)
;; `bookmark+-chg' - change log (this file)
;;
;; The documentation (in `bookmark+-doc.el') includes how to
;; byte-compile and install Bookmark+. The documentation is also
;; available in these ways:
;;
;; 1. From the bookmark list (`C-x r l'):
;; Use `?' to show the current bookmark-list status and general
;; help, then click link `Doc in Commentary' or link `Doc on the
;; Web'.
;;
;; 2. From the Emacs-Wiki Web site:
;; https://www.emacswiki.org/emacs/BookmarkPlus.
;;
;; 3. From the Bookmark+ group customization buffer:
;; `M-x customize-group bookmark-plus', then click link
;; `Commentary'.
;;
;; (The commentary links in #1 and #3 work only if you put library
;; `bookmark+-doc.el' in your `load-path'.)
;;
;;
;; ****** NOTE ******
;;
;; WHENEVER you update Bookmark+ (i.e., download new versions of
;; Bookmark+ source files), I recommend that you do the
;; following:
;;
;; 1. Delete ALL existing BYTE-COMPILED Bookmark+ files
;; (bookmark+*.elc).
;; 2. Load Bookmark+ (`load-library' or `require').
;; 3. Byte-compile the source files.
;;
;; In particular, ALWAYS LOAD `bookmark+-mac.el' (not
;; `bookmark+-mac.elc') BEFORE YOU BYTE-COMPILE new versions of
;; the files, in case there have been any changes to Lisp macros
;; (in `bookmark+-mac.el').
;;
;; (This is standard procedure for Lisp: code that depends on
;; macros needs to be byte-compiled anew after loading the
;; updated macros.)
;;
;; ******************
;;
;;
;; ****** NOTE ******
;;
;; On 2010-06-18, I changed the prefix used by package Bookmark+
;; from `bookmarkp-' to `bmkp-'. THIS IS AN INCOMPATIBLE CHANGE.
;; I apologize for the inconvenience, but the new prefix is
;; preferable for a number of reasons, including easier
;; distinction from standard `bookmark.el' names.
;;
;; This change means that YOU MUST MANUALLY REPLACE ALL
;; OCCURRENCES of `bookmarkp-' by `bmkp-' in the following
;; places, if you used Bookmark+ prior to this change:
;;
;; 1. In your init file (`~/.emacs') or your `custom-file', if
;; you have one. This is needed if you customized any
;; Bookmark+ features.
;;
;; 2. In your default bookmark file, `bookmark-default-file'
;; (`.emacs.bmk'), and in any other bookmark files you might
;; have.
;;
;; 3. In your `*Bookmark List*' state file,
;; `bmkp-bmenu-state-file' (`~/.emacs-bmk-bmenu-state.el').
;;
;; 4. In your `*Bookmark List*' commands file,
;; `bmkp-bmenu-commands-file' (`~/.emacs-bmk-bmenu-commands.el'),
;; if you have one.
;;
;; You can do this editing in a virgin Emacs session (`emacs
;; -Q'), that is, without loading Bookmark+.
;;
;; Alternatively, you can do this editing in an Emacs session
;; where Bookmark+ has been loaded, but in that case you must
;; TURN OFF AUTOMATIC SAVING of both your default bookmark file
;; and your `*Bookmark List*' state file. Otherwise, when you
;; quit Emacs your manually edits will be overwritten.
;;
;; To turn off this automatic saving, you can use `M-~' and `M-l'
;; in buffer `*Bookmark List*' (commands
;; `bmkp-toggle-saving-bookmark-file' and
;; `bmkp-toggle-saving-menu-list-state' - they are also in the
;; `Bookmark+' menu).
;;
;;
;; Again, sorry for this inconvenience.
;;
;; ******************
;;(@> "Index")
;;
;; If you have library `linkd.el' and Emacs 22 or later, load
;; `linkd.el' and turn on `linkd-mode' now. It lets you easily
;; navigate around the sections of this doc. Linkd mode will
;; highlight this Index, as well as the cross-references and section
;; headings throughout this file. You can get `linkd.el' here:
;; https://www.emacswiki.org/emacs/download/linkd.el.
;;
;; (@> "CHANGE LOG FOR `bookmark+-1.el'")
;; (@> "CHANGE LOG FOR `bookmark+-bmu.el'")
;; (@> "CHANGE LOG FOR `bookmark+-key.el'")
;; (@> "CHANGE LOG FOR `bookmark+-lit.el'")
;; (@> "CHANGE LOG FOR `bookmark+-mac.el'")
;; (@> "CHANGE LOG FOR `bookmark+.el'")
;;;(@* "CHANGE LOG FOR `bookmark+-1.el'")
;;
;; 2019/06/08 dadams
;; bmkp-set-kmacro-bookmark: Do not use read-kbd-macro.
;; bmkp-repeat-command: Same as in zz-repeat-command in zones.el now.
;; Require repeat.el. Bind repeat-previous-repeated-command.
;; bmkp-(next|previous)(-*)-bookmark(-*)-repeat: Removed require of repeat.el.
;; 2019/05/21 dadams
;; bmkp-dired-remember-*-marks: Updated per dired-remember-marks, for Emacs 27+.
;; 2019/05/19 dadams
;; Bind print-gensym wherever we bind print-circle.
;; 2019/05/11 dadams
;; Added bmkp-jump-to-list-button button type. Forgot it on 2019-05-02.
;; 2019/05/09 dadams
;; bmkp-this-buffer-bmenu-list: Call bookmark-maybe-load-default-file at outset.
;; 2019/05/02 dadams
;; Added: bmkp-add-jump-to-list-button.
;; bmkp-describe-bookmark(-internals): Use bmkp-add-jump-to-list-button.
;; 2019/05/01 dadams
;; Added bmkp-jump-to-list.
;; 2019/04/23 dadams
;; Added bmkp-annotation-or-bookmark-description, bmkp-propertize.
;; 2019/04/21 dadams
;; bmkp-temporary-bookmarking-mode: When enable mode reset bmkp-temporary-bookmarking-mode to nil.
;; 2019/02/18
;; bmkp-autofile-bookmark-p, bmkp-file-target-set, bmkp-autofile-add-tags,
;; bmkp-get-autofile-bookmark:
;; Handle a directory like a file.
;; 2018/12/23 dadams
;; Added: bmkp-bookmark-type-valid-p., bmkp-buffer-bookmark-p, bmkp-buffer-alist-only.
;; Removed: bmkp-bookmark-type - use bmkp-bookmark-type-valid-p instead.
;; bmkp-edit-tags-send: Use bmkp-bookmark-type-valid-p.
;; 2018/11/22 dadams
;; bookmark-load: Return the list of bookmarks read from FILE.
;; bmkp-set-izones-bookmark: Include zone EXTRA info in bookmark record.
;; 2018/11/09 dadams
;; Removed: bmkp-line-number-at-pos (not used).
;; 2018/10/10 dadams
;; Added: bookmark-jump-other-frame.
;; 2018/09/21 dadams
;; bmkp-show-this-annotation-read-only, bmkp-edit-this-annotation, bmkp-desktop-read,
;; bmkp-jump-man, bmkp-jump-dired, bmkp-jump-to-type, bmkp-*-jump, bmkp-jump-in-navlist:
;; Use bmkp--pop-to-buffer-same-window, not switch-to-buffer.
;; bmkp-image-jump-other-window, bmkp-autofile-jump-other-window:
;; Use bmkp-select-buffer-other-window, not switch-to-buffer (typo).
;; 2018/08/30 dadams
;; Added defmacro for with-coding-priority at compile time.
;; 2018/04/24 dadams
;; Added: bmkp-cycle-eww, bmkp-cycle-eww-other-window, bmkp-next-eww-bookmark,
;; bmkp-next-eww-bookmark-other-window, bmkp-next-eww-bookmark-other-window-repeat,
;; bmkp-next-eww-bookmark-repeat, bmkp-previous-eww-bookmark,
;; bmkp-previous-eww-bookmark-other-window, bmkp-previous-eww-bookmark-other-window-repeat,
;; bmkp-previous-eww-bookmark-repeat.
;; 2018/04/22 dadams
;; Added: bmkp-bookmark-file-load-jump, bmkp-bookmark-file-switch-jump. Not bound to keys.
;; 2018/02/23 dadams
;; Changes to EWW support - thx to Charles Roelli.
;; Added: bmkp-eww-generate-buffer-flag.
;; Removed: bmkp-jump-eww-in-buffer-*eww*, bmkp-jump-eww-renaming-buffer,
;; bmkp-eww-sans-pop-to-buffer, bmkp-get-eww-mode-buffer.
;; Renamed: bmkp-eww-buffer-handling to bmkp-eww-buffer-renaming.
;; bmkp-eww-new-buf-name and bmkp-eww-jumping-p are now buffer-local.
;; bmkp-jump-eww: Respect bmkp-eww-generate-buffer-flag. Use buffer-local eww-after-render-hook.
;; Integrate code from removed functions.
;; bmkp-eww-rename-buffer: Rename to generated name if rename attempt fails and either
;; bmkp-eww-generate-buffer-flag or not bmkp-eww-jumping-p.
;; 2018/02/12 dadams
;; bookmark-write-file, bmkp-regexp-filtered-bookmark-name-alist-only:
;; Use bookmark-name-from-full-record, not car.
;; 2018/02/10 dadams
;; bookmark-rename: No need to propertize name here - done in call to bookmark-set-name.
;; bookmark-alist-from-buffer: Use bmkp-bookmark-name-from-record, not car.
;; 2017/11/27 dadams
;; bookmark-write-file:
;; Corrected change made on 2017/01/10 (fix for bug #25365).
;; Bind Lisp mode hooks to nil, to avoid inserting a Lisp file header for existing empty file.
;; 2017/10/31 dadams
;; bookmark-send-edited-annotation: test using following-char, not bmkp-looking-at-p.
;; bookmark-save: Non-nil FILE now means use FILE, regardless of PARG value.
;; 2017/10/08 dadams
;; bmkp-bookmark-description, bmkp-describe-bookmark-internals:
;; Bind print-(circle|length|level) so pp-to-string prints all.
;; 2017/07/31 dadams
;; bmkp-find-file-invoke-bookmark-if-autofile:
;; Bind bmkp-autofile-access-invokes-bookmark-flag to nil while jumping to the bookmark.
;; 2017/07/30 dadams
;; Added: bmkp-autofile-access-invokes-bookmark-flag, bmkp-find-file-invoke-bookmark-if-autofile.
;; bmkp-get-bookmark-in-alist: Use arg ALIST (was neglected).
;; 2017/07/19 dadams
;; Put back bmkp-info-cp, as an obsolete alias, temporarily.
;; 2017/07/03 dadams
;; Added: bmkp-info-position-cp, bmkp-info-sort-ignores-directories-flag.
;; Renamed: bmkp-info-cp to bmkp-info-node-name-cp.
;; bmkp-sort-comparer: Applied renaming of bmkp-info-cp.
;; bmkp-info-node-name-cp: Respect bmkp-info-sort-ignores-directories-flag (default: manual names)
;; 2017/06/26 dadams
;; Added: bmkp-kmacro-list-bookmark-p.
;; bmkp-bookmark-description: Handle bmkp-kmacro-list-bookmark-p.
;; 2017/06/25 dadams
;; Added: bmkp-set-kmacro-bookmark, bmkp-set-kmacro-list-bookmark, bmkp-jump-kmacro-list,
;; bmkp-make-kmacro-list-record.
;; 2017/05/12 dadams
;; Added: bmkp-eww-auto-bookmark-mode, bmkp-set-eww-bookmark-here, bmkp-toggle-eww-auto-type,
;; bmkp-eww-auto-type. Thx to Charles Roelli.
;; 2017/03/31 dadams
;; Added other-window versions of: bmkp-(next|previous)(TYPE)-bookmark(-repeat).
;; bmkp-autonamed-bookmark-p:
;; If BUFFER is nil then let ?B match any name - do not use current buffer for nil case.
;; bmkp-goto-position: Error now mentions buffer name, not just file.
;; bmkp-cycle: If empty bmkp-nav-alist ask before setting it to bookmark-alist.
;; 2017/02/26 dadams
;; Added:
;; bmkp-eww-rename-buffer, bmkp-eww-new-buffer-name, bmkp-eww-sans-pop-to-buffer,
;; bmkp-eww-buffer-handling (was ~bmkp-eww-allow-multiple-buffers-flag),
;; bmkp-get-eww-mode-buffer, bmkp-eww-jumping-p, bmkp-eww-new-buf-name,
;; bmkp-jump-eww-in-buffer-*eww* (was ~bmkp-jump-eww-only-one-buffer),
;; bmkp-jump-eww-renaming-buffer (was ~bmkp-jump-eww-new-buffer), bmkp-info-auto-type,
;; bmkp-info-auto-bookmark-mode, bmkp-set-info-bookmark-with-node-name,
;; bmkp-toggle-info-auto-type.
;; Removed: bmkp-eww-allow-multiple-buffers-flag, bmkp-eww-set-new-buffer-name,
;; bmkp-jump-eww-new-buffer, bmkp-jump-eww-only-one-buffer.
;; bmkp-edit-bookmark-name-and-location: Don't consider changed-buffname-p if EWW bookmark.
;; bmkp-make-eww-record: Use bmkp-eww-new-buffer-name for buffer-name field.
;; Add bmkp-eww-rename-buffer to hooks eww-after-render-hook and eww-restore-history.
;; Support EWW only for Emacs 25+, not for 24.4+. (E.g., bmkp-eww-title, bmkp-eww-url).
;; bookmark-show-all-annotations:
;; Use bookmark-maybe-load-default-file, to load bookmark file.
;; For Emacs 24+, call view-mode-enter with no args. Thx to Alan Wehmann for bug report
;; and Martin Rudalics for info about the new signature.
;; bmkp-completing-read-1: Use single default, not list, for Emacs 20-22.
;; bmkp-default-bookmark-name:
;; Ensure use a single bname, not a list of names returned by bmkp-default-lighted.
;; 2017/01/29 dadams
;; Added: bmkp-eww-title, bmkp-eww-url.
;; bookmark-set, bmkp-this-buffer-p, bmkp-make-eww-record: Use bmkp-eww-title, bmkp-eww-url.
;; 2017/01/10 dadams
;; Added:
;; bmkp-eww-allow-multiple-buffers-flag, bmkp-eww-set-new-buffer-name, bmkp-jump-eww-new-buffer,
;; bmkp-jump-eww-only-one-buffer.
;; Renamed: bmkp-replace-eww-keys-flag to bmkp-eww-replace-keys-flag,
;; bmkp-w3m-allow-multi-tabs-flag to bmkp-w3m-allow-multiple-buffers-flag,
;; bmkp-jump-w3m-new-session to bmkp-jump-w3m-new-buffer,
;; bmkp-jump-w3m-only-one-tab to bmkp-jump-w3m-only-one-buffer. Keep old as aliases.
;; bmkp-jump-eww: Dispatch to bmkp-jump-eww-(new|only-one)-buffer
;; bmkp-jump-w3m-new-buffer, bmkp-jump-w3m-only-one-buffer: Use get-buffer-create, just in case.
;; bookmark-write-file:
;; Updated per latest fix for bug #25365: insert version stamp after writing bmks. UNTESTED.
;; 2017/01/08 dadams
;; Use the term "entry", not "property" everywhere, for bookmark entries (fields).
;; 2017/01/07 dadams
;; bookmark-write-file, bookmark-load, bmkp-temporary-bookmarking-mode:
;; Use bookmark-file-coding-system (Emacs bug #25365). UNTESTED.
;; 2017/01/03 dadams
;; bookmark-location: Corrected doc string to reflect code: buffer before file.
;; 2016/12/31 dadams
;; Added: bmkp-non-invokable-bookmark-p, bmkp-non-invokable-alist-only.
;; bmkp-bookmark-description: Include non-invokable.
;; 2016/12/21 dadams
;; Added: bmkp-ffap-max-region-size, bmkp-ffap-guesser.
;; bmkp-file-target-set, bmkp-autofile-set, bmkp-autofile-(add|remove)-tags:
;; Use bmkp-ffap-guesser.bmkp-ffap-guesser, not ffap-guesser.
;; 2016/12/11 dadams
;; Added: bmkp-convert-eww-bookmarks, bmkp-replace-eww-keys-flag.
;; 2016/11/25 dadams
;; bmkp-make-function-bookmark: Added bookmark-make-record-default, to include creation date.
;; bmkp-make-sequence-record: Use 0 as position, in record.
;; bookmark-sort-flag: Replace doc string with mention that it is not used.
;; 2016/11/23 dadams
;; bookmark-save, bookmark-write-file, bookmark-load, bmkp-empty-file, bmkp-tags-in-bookmark-file,
;; bmkp-list-defuns-in-commands-file, bmkp-set-bookmark-file-bookmark, bmkp-desktop-read:
;; Raise an error if we have a directory, not a file.
;; 2016/11/18 dadams
;; Support Emacs 24.[45] too.
;; bookmark-set, bmkp-this-buffer-p, bmkp-make-eww-record: Update for Emacs 24.[45].
;; bmkp-edit-bookmark-name-and-location: Add support for EWW.
;; bmkp-jump-eww: Create buffer *eww* if it does not exist.
;; bmkp-crosshairs-highlight: Respect bmkp-crosshairs-highlight (not really needed).
;; bmkp-eww-cp: typos: w3m -> eww.
;; 2016/11/15 dadams
;; bmkp-*eww-*, bookmark-set, bmkp-this-buffer-p, bmkp-url-bookmark-p, bmkp-url-target-set,
;; bmkp-bookmark-description: Ensure that EWW code is only for Emacs 25+.
;; 2016/11/14 dadams
;; Added: bmkp-eww-jump, bmkp-eww-jump-other-window, bmkp-eww-alist-only, bmkp-eww-bookmark-p,
;; bmkp-eww-cp, bmkp-jump-eww, bmkp-make-eww-record, bmkp-eww-history.
;; bmkp-non-file-filename: Added EWW entry.
;; bookmark-set, bmkp-this-buffer-p, bmkp-url-bookmark-p, bmkp-url-target-set,
;; bmkp-bookmark-description: Support eww-mode.
;; bmkp-url-jump(-other-window): Just use bmkp-url-alist-only.
;; 2016/10/27 dadams
;; bmkp-end-position-post-context: Typo: (point) -> ereg.
;; 2016/09/21 dadams
;; Added: bmkp-desktop-default-directory.
;; Added: desktop-full-file-name, for Emacs < 22.
;; bmkp-set-desktop-bookmark, bmkp-desktop-change-dir, bmkp-desktop-read:
;; Use bmkp-desktop-default-directory when reading or expanding file name.
;; bmkp-desktop-change-dir: Error in interactive spec too, if cannot load desktop.el.
;; 2016/09/10 dadams
;; Added: bmkp-format-spec.
;; bmkp-autoname-format: Use %B in default value. Update doc string, allowing %B.
;; bmkp-autonamed-bookmark-p: Added optional arg BUFFER. Use bmkp-format-spec.
;; bmkp-autonamed-bookmark-for-buffer-p, bmkp-autonamed-this-buffer-bookmark-p:
;; Use bmkp-autonamed-bookmark-p.
;; 2016/09/06 dadams
;; Added: bmkp-read-from-whole-string.
;; bmkp-make-function-bookmark, bmkp-set-sequence-bookmark: Use bmkp-read-from-whole-string.
;; 2016/06/23 dadams
;; bmkp-remove-all-tags, bmkp-add-tags, bmkp-set-tag-value, bmkp-remove-tags,
;; bmkp-paste-(add|paste)-tags, bmkp-autofile-add-tags:
;; Corrected doc string to say also that NO-UPDATE-P does not update mod count.
;; bookmark-store, bookmark-set, bookmark-relocate, bmkp-(url|file)-target-set,
;; bmkp-autofile-set, bmkp-autofile-remove-tags:
;; Renamed arg NO-UPDATE-P to NO-REFRESH-P.
;; 2016/06/21 dadams
;; bmkp-edit-bookmark-records-send, bmkp-set-tag-value-for-bookmarks, bmkp-rename-tag,
;; bmkp-delete-bookmarks:
;; Put bookmark-save-flag let-binding around iteration only, so modification is recorded etc.
;; 2016/05/30 dadams
;; bmkp-not-near-other-auto-idle-bmks: Corrected typo: test distance for POSITION, not point.
;; 2016/04/23 dadams
;; Added: bmkp-set-dired-bookmark-for-files.
;; 2015/10/31 dadams
;; bookmark-import-new-list: Added arg RETURN-BMKS: Return bookmarks added, if non-nil.
;; 2015/09/07 dadams
;; bmkp-some: Return cons (ELEMENT . VALUE).
;; 2015/08/16 dadams
;; Renamed bmkp-set-restrictions-bookmark to bmkp-set-izones-bookmark.
;; Renamed wide-n.el stuff to zones.el stuff.
;; 2015/08/13 dadams
;; Removed: bmkp-readable-marker.
;; bmkp-set-restrictions-bookmark:
;; Added optional args. A prefix arg prompts for VARIABLE. Use wide-n-readable-marker.
;; 2015/08/12 dadams
;; bmkp-set-restrictions-bookmark: Update for new wide-n format.
;; 2015/08/10 dadams
;; bmkp-set-restrictions-bookmark:
;; Added missing comma, to eval end marker. Corrected END: caddr now, not cddr.
;; 2015/08/06 dadams
;; bmkp-some: Fixed yesterday's fix. ;-)
;; 2015/08/05 dadams
;; bmkp-some: Fixed so it returns the first list element for which the predicate is true.
;; 2015/07/31 dadams
;; bmkp-set-restrictions-bookmark: Use new wide-n-restrictions format: (NUM BEG END).
;; 2015/06/26 dadams
;; Added: bmkp-function-alist-only.
;; 2015/06/18 dadams
;; bmkp-bookmark-description: Print location, if present, for non-file bmk. Thx Martin Oppegaard.
;; bookmark-location: Reordered - prefer buffer name to file name.
;; 2015/06/17 dadams
;; bmkp-bookmark-description: Added another \t for URL:.
;; 2015/06/15 dadams
;; Allow for POSITION in bookmarks to be nil or absent - updated bookmark-default-handler,
;; bmkp-region-bookmark-p, bmkp-handle-region-default, bmkp-goto-position, bmkp-jump-dired,
;; bmkp-not-near-other-auto-idle-bmks.
;; 2015/05/23 dadams
;; bookmark-load: Reset bmenu stuff: bmkp-bmenu-marked-bookmarks, bmkp-modified-bookmarks,
;; bmkp-flagged-bookmarks, bmkp-bmenu-omitted-bookmarks, bmkp-bmenu-filter-function.
;; 2015/04/24 dadams
;; bookmark-set: Clarified doc string wrt bookmarks that have the same name.
;; 2015/04/13 dadams
;; bmkp-temporary-bookmarking-mode:
;; Have to do bookmark-insert-file-format-version-stamp here, because make-temp-file creates the
;; file, so it satisfies file-exists-p for bookmark-write-file.
;; 2015/04/10 dadams
;; bmkp-remove-all-tags, bmkp-add-tags, bmkp-remove-tags:
;; Do not call bmkp-maybe-save-bookmarks if NO-UPDATE-P.
;; bmkp-set-tag-value-for-(navlist|bookmarks): Added optional arg MSG-P.
;; bmkp-set-tag-value-for-bookmarks:
;; Call bmkp-tags-list, bmkp-maybe-save-bookmarks, and bmkp-refresh/rebuild-menu-list.
;; bmkp-set-tag-value:
;; Pass non-nil NO-UPDATE-P to bmkp-add-tags. Unless NO-UPDATE-P, call bmkp-tags-list,
;; bmkp-maybe-save-bookmarks, and bmkp-refresh/rebuild-menu-list.
;; bmkp-remove-tags-from-all: Call bmkp-maybe-save-bookmarks and bmkp-refresh/rebuild-menu-list.
;; bmkp-rename-tag, bmkp-purge-notags-autofiles: Call bmkp-maybe-save-bookmarks.
;; 2015/03/23 dadams
;; bookmark-show-all-annotations: When in Bookmark List buffer, respect the sort order.
;; 2015/02/24 dadams
;; bmkp-get-autofile-bookmark: Corrected 2015-02-15 fix - ensure BDIR is non-nil too, before test.
;; 2015/02/22 dadams
;; Moved here from bookmark+-bmu.el:
;; bmkp-reset-bmkp-store-org-link-checking-p, bmkp-store-org-link-checking-p.
;; Advice of org-store-link (not needed for bmkp-bmenu-store-org-link).
;; bmkp-store-org-link(-1): Link type changed from bookmark-other-window to bookmark-other-win.
;; bookmark-prop-set: Added optional arg DONT-UPDATE-NAME.
;; Update bmkp-full-record property on bookmark name, unless DONT-UPDATE-NAME.
;; bmkp-record-visit, bmkp-save-new-region-location, bmkp-goto-position:
;; Use arg DONT-UPDATE-NAME in sequence of calls to bookmark-prop-set.
;; 2015/02/21 dadams
;; Added: bmkp-store-org-link, bmkp-store-org-link-1.
;; 2015/02/15 dadams
;; bmkp-get-autofile-bookmark: Corrected test for same file to use absolute file names.
;; bmkp-read-bookmark-file-default: .emacs.bmk -> ~/.emacs.bmk.
;; 2015/02/11 dadams
;; Added (redefinition of) bookmark-insert-current-bookmark for Emacs 24.3+.
;; 2015/02/08 dadams
;; Added: bmkp-properties-to-keep, bmkp-tagged-alist-only, bmkp-untagged-alist-only.
;; Renamed: bmkp-icicle-* to bmkp-icicles-*.
;; bmkp-this-buffer-bmenu-list, bmkp-navlist-bmenu-list: Restore original values in case of error.
;; bookmark-set: Do not overwrite properties listed in option bmkp-properties-to-keep.
;; bmkp-prompt-for-tags-flag: Updated doc string wrt adding, not replacing.
;; bmkp-autofile-filecache: Corrected autoload cookie (typo).
;; 2015/02/05 dadams
;; bookmark-insert-annotation: BOOKMARK can be a bookmark or its name.
;; 2015/02/03 dadams
;; bmkp-occur-target-set: Removed unused let-binding.
;; 2015/01/28 dadams
;; Added: bookmark-automatically-show-annotations, bmkp-show-this-annotation-read-only,
;; bmkp-edit-this-annotation.
;; Soft-require font-lock+.el.
;; bookmark-insert-annotation: Convert BOOKMARK input to its name.
;; bookmark-edit-annotation-mode: Bind key C-x C-q to bmkp-show-this-annotation-read-only.
;; bookmark-show-annotation-mode: Bind key C-x C-q to bmkp-edit-this-annotation.
;; bookmark-show-annotation:
;; If bookmark-automatically-show-annotations = edit then just call bookmark-edit-annotation.
;; Fix title highlighting (need font-lock+.el) and buffer-modified-p.
;; Set bookmark-annotation-name. Use `, not ', in title.
;; bookmark-edit-annotation: Manage buffer-modified-p.
;; 2015/01/17 dadams
;; Added bmkp-annotate-bookmark.
;; bookmark-show-annotation, bookmark-show-all-annotations: Made it interactive.
;; 2015/01/01 dadams
;; bookmark-default-handler, bmkp-goto-position:
;; Do not bind enable-local-variables to nil - the visit is not hidden and temporary.
;; 2014/12/18 dadams
;; bmkp-this-file-bmenu-list: Restore vars if error.
;; 2014/12/16 dadams
;; bmkp-last-specific-file-p: Use bmkp-same-file-p, not string=.
;; 2014/12/15 dadams
;; Added: bmkp-non-dir-file-jump, bmkp-non-dir-file-jump-other-window,
;; bmkp-local-non-dir-file-jump, bmkp-local-non-dir-file-jump-other-window,
;; bmkp-remote-non-dir-file-jump, bmkp-remote-non-dir-file-jump-other-window,
;; bmkp-non-dir-file-alist-only, bmkp-non-dir-file-bookmark-p,
;; bmkp-local-non-dir-file-alist-only, bmkp-local-non-dir-file-bookmark-p,
;; bmkp-remote-non-dir-file-alist-only, bmkp-remote-non-dir-file-bookmark-p.
;; bmkp-autotemp-bookmark-predicates: Added bmkp(-local|-remote)-non-dir-file-bookmark-p.
;; 2014/11/15 dadams
;; Added: bmkp-region-jump-narrow-indirect-other-window, bmkp-handle-region+narrow-indirect.
;; bmkp-jump-man: Updated for Emacs 24+, where Man-getpage-in-background returns process buffer.
;; 2014/11/14 dadams
;; bmkp-jump-1: Made arg FLIP-USE-REGION-P optional. Corrected doc string for it: it flips.
;; bmkp-snippet-to-kill-ring, bmkp-autonamed-*jump*, bmkp-temporary-jump*, bmkp-w32-browser-jump,
;; bmkp-variable-list-jump, bmkp-autofile-jump*: Removed FLIP arg (optional).
;; bmkp-region-jump*: Bind bmkp-use-region to t, and don't pass FLIP arg to bmkp-jump-1.
;; 2014/11/10 dadams
;; Added: bookmark-show-annotation-mode, (redefinition of) bookmark-default-annotation-text.
;; Renamed: bmkp-edit-annotation-mode-inherit-from to bmkp-annotation-modes-inherit-from.
;; bookmark-show-annotation: Call bookmark-show-annotation-mode, not view-mode-enter.
;; bookmark-edit-annotation-mode:
;; Use literal C-c C-M-c, since bookmark-send-edited-annotation is also bound to C-c C-c.
;; 2014/11/09/dadams
;; Added: bmkp-get-external-annotation, bmkp-visit-external-annotation.
;; bookmark-show-annotation: If the annotation is external then jump to its destination.
;; 2014/11/08 dadams
;; bmkp-bookmark-description: Corrected formatting for search-hits-p.
;; 2014/10/28 dadams
;; Added: option bmkp-edit-annotation-mode-inherit-from.
;; bookmark-edit-annotation-mode: Redefined to use define-derived-mode (per Emacs 25).
;; Use new option bmkp-edit-annotation-mode-inherit-from.
;; bookmark-send-edited-annotation: Allow derived mode (per Emacs 25).
;; bookmark-edit-annotation:
;; Call bookmark-insert-annotation. Set local var bookmark-annotation-name to arg (per E25).
;; 2014/10/27 dadams
;; Added: Redefinition of bookmark-insert-annotation.
;; bookmark-edit-annotation-mode: Use bookmark-insert-annotation.
;; 2014/08/22 dadams
;; bmkp-desktop-file-p: Redefined to not visit the file: use insert-file-contents-literally.
;; Added (not (file-directory-p filename)) condition.
;; 2014/08/21 dadams
;; Added: bmkp-annotated-bookmark-p.
;; bmkp-autofile-alist-only: Use bmkp-annotated-bookmark-p.
;; bmkp-completing-read-1: Bind icicle-bookmark-completing-p.
;; bmkp-file-this-dir-bookmark-p: Return nil if BOOKMARK is not a bookmark.
;; Use bmkp-same-file-p, not equal.
;; 2014/08/19 dadams
;; Added: bmkp-dired-wildcards-alist-only, bmkp-navlist-bookmark-p.
;; 2014/08/18 dadams
;; bmkp-this-file-p: Return nil (instead of raising error) if THIS-FILE is nil.
;; 2014/07/11 dadams
;; bookmark-load: Do not customize-save-variable if no change to bmkp-last-as-first-bookmark-file.
;; bmkp-new-bookmark-default-names: Use setq, not push, for Emacs 20.
;; 2014/07/06 dadams
;; Renamed: bmkp-show-end-of-region, bmkp-w3m-allow-multi-tabs to *-flag.
;; 2014/07/05 dadams
;; bookmark-write-file: List in file could be (), in which case cannot search backward for \n).
;; bmkp-read-bookmark-for-type: Added optional PROMPT arg.
;; bmkp-jump-snippet: Provide PROMPT to bmkp-read-bookmark-for-type. Better msg.
;; 2014/07/03 dadams
;; Added: bmkp-read-bookmark-file-default.
;; Added redefinition of bookmark-import-new-list, bookmark-maybe-rename.
;; bookmark-load: Do not set blist to value of bookmark-import-new-list.
;; bookmark-alist-from-buffer: Added optional arg do-not-propertize-p. (Not used anywhere yet.)
;; bookmark-save: Use bmkp-read-bookmark-file-default.
;; bookmark-write-file:
;; Added optional arg ADD. Do not kill FILE buffer if it existed prior to invoking function.
;; Promoted inner let-bindings print-length etc.
;; Delete contents only if file does not exist (just in case). Else *-maybe-upgrade-file-format.
;; Do not delete region if ADD. Position point depending on ADD.
;; bookmark-write-file, bookmark-default-handler, bmkp-save-menu-list-state, bmkp-goto-position,
;; bmkp-compilation-target-set:
;; Let-bind enable-local-variables around find-file-noselect.
;; bmkp-read-bookmark-file-name: Just pass DEFAULT-FILENAME to read-file-name.
;; bmkp-empty-file: Pass nil ADD arg to bookmark-write-file.
;; 2014/06/29 dadams
;; Added: bmkp-before-jump-hook, bmkp-desktop-save, bmkp-desktop-save-as-last,
;; bmkp-desktop-current-file, bmkp-desktop-jump-save-before-flag.
;; bmkp-jump-1: Run bmkp-before-jump-hook.
;; bmkp-set-desktop-bookmark: Use bmkp-desktop-save.
;; bmkp-desktop-jump: If bmkp-desktop-jump-save-before-flag then bmkp-desktop-save-as-last.
;; bmkp-desktop-kill: Updated for Emacs 24.4+.
;; 2014/06/21 dadams
;; Added: bmkp-icicle-search-hits-alist-only, bmkp-icicle-search-hits-bookmark-p,
;; bmkp-icicle-search-hits-retrieve-more, bmkp-jump-icicle-search-hits,
;; bmkp-retrieve-icicle-search-hits, bmkp-retrieve-more-icicle-search-hits,
;; bmkp-retrieve-icicle-search-hits-1, bmkp-set-icicle-search-hits-bookmark,
;; bmkp-make-icicle-search-hits-record, bmkp-unpropertized-string.
;; bmkp-bookmark-description: Handle Icicles search hits.
;; 2014/05/30 dadams
;; bmkp-set-restrictions-bookmark: Updated for new restrictions format (wide-n.el).
;; 2014/05/27 dadams
;; bmkp-describe-bookmark(-internals), bmkp-list-defuns-in-commands-file:
;; Use bmkp-with-help-window, not with-output-to-temp-buffer (Emacs 24.4+ silliness).
;; 2014/04/05 dadams
;; Removed bmkp-create-dired-bookmarks-recursive:
;; Moved to dired+.el and renamed diredp-do-bookmark-dirs-recursive.
;; 2014/04/02 dadams
;; bmkp-paste-replace-tags: Added Note to doc string about pasting an empty list of tags.
;; 2014/03/23 dadams
;; bmkp-file-target-set: Fix interactive spec (parens).
;; bmkp-file-target-set, bmkp-autofile-set, bmkp-autofile-(add|remove)-tags:
;; Soft-require ffap.el before using ffap-guesser.
;; 2014/03/10 dadams
;; bookmark-write-file:
;; Remove prop face & Icicles props, anyway (but not bothering for sequence entry of seq bmks).
;; bookmark-write-file, bmkp-edit-tags, bmkp-save-menu-list-state, bmkp-readable-p:
;; Bind print-circle to bmkp-propertize-bookmark-names-flag, not t, to avoid string reuse.
;; 2014/03/07 dadams
;; bookmark-exit-hook-internal: Do not raise error, since this is on kill-emacs-hook.
;; Bug reported: http://superuser.com/q/726057/250462.
;; 2014/01/02 dadams
;; Reverted yesterday's change. Just use cond instead of case.
;; 2014/01/01 dadams
;; Added bmkp-file-cache-ad-hack, as workaround for macro case not getting byte-compiled.
;; file-cache-add-file: Use bmkp-file-cache-ad-hack. Thx to Michael Heerdegen.
;; 2013/11/21 dadams
;; bmkp-url-target-set: Added argument NO-OVERWRITE-P.
;; bmkp-(url|file)-target-set: Numeric prefix arg means do not overwrite. N<0 means use full name.
;; 2013/11/05 dadams
;; Added: bmkp-create-dired-bookmarks-recursive.
;; bookmark-set: Added optional arg NO-UPDATE-P - pass it to bookmark-store.
;; 2013/10/29 dadams
;; Added: bmkp-pop-to-readable-marker, bmkp-readable-marker, bmkp-bookmark-set-confirm-overwrite,
;; bmkp-bookmark-set-confirms-overwrite-p.
;; bookmark-set: Ask for overwrite confirmation if plain prefix arg and bookmark exists.
;; bmkp-menu-bar-set-bookmark: Use bmkp-bookmark-set-confirm-overwrite, not bookmark-set.
;; 2013/10/07 dadams
;; bmkp-edit-bookmark-records-send: Move to line of current bmk, if only one.
;; 2013/08/09 dadams
;; Added: bmkp-read-bookmark-file-hook, bmkp-desktop-file-p.
;; Renamed: bmkp-printable-p to bmkp-readable-p.
;; bmkp-readable-p: Treat string with no text props separately.
;; bookmark-alist: Updated doc string.
;; bookmark-send-edited-annotation: looking-at -> bmkp-looking-at-p (new).
;; bookmark-load: Update blist with bookmark-import-new-list.
;; Run bmkp-read-bookmark-file-hook after reading the bookmark file.
;; bmkp-set-desktop-bookmark: Added prefix arg: sets bookmark without saving desktop file.
;; 2013/07/24 dadams
;; bmkp-new-bookmark-default-names, bookmark-make-record-default:
;; Test using (region-beginning|end), not mark function (C code and simpler).
;; 2013/07/11 dadams
;; bmkp-url-target-set: Use let* with backquote lambda instead of lexical-let*.
;; 2013/07/02 dadams
;; bmkp-snippet-bookmark-p: Typo: bmkp-snippet-to-kill-ring -> bmkp-jump-snippet.
;; bmkp-bookmark-description: Include snippet text in bookmark description (help).
;; 2013/07/01 dadams
;; bookmark-make-record-default: Fixed typo for end-position (listify).
;; bmkp-set-snippet-bookmark: Prefix arg now prompts for bookmark name.
;; 2013/06/30 dadams
;; Added: bmkp-set-snippet-bookmark, bmkp-snippet-to-kill-ring, bmkp-jump-snippet,
;; bmkp-snippet-alist-only, bmkp-snippet-bookmark-p, bmkp-snippet-history.
;; bmkp-autotemp-bookmark-predicates, bmkp-types-alist, bmkp-bookmark-type,
;; bmkp-bookmark-description:
;; Cover snippet bookmarks too.
;; bookmark-make-record-default:
;; Added optional arg NO-REGION. If non-nil then do not include end-position.
;; Set NO-CONTEXT to nil for Emacs < 24. Do not calculate FCS, RCS, FCRS, ECRS if NO-CONTEXT.
;; bmkp-make-(gnus|sequence|desktop|bookmark-file|variable-list)-record:
;; Pass NO-REGION to bookmark-make-record-default.
;; 2013/06/29 dadams
;; Added: bmkp-read-regexp, bmkp-find-tag-default-as-regexp.
;; Use bmkp-read-regexp, not read-string, everywhere for reading a regexp.
;; bmkp-bookmark-description: Ensure FILE is non-nil before using it.
;; 2013/06/10 dadams
;; bmkp-set-sequence-bookmark: Typo - bookmark-get-bookmarkp -> bookmark-get-bookmark.
;; 2013/06/02 dadams
;; bmkp-set-sequence-bookmark: Forgot to bind FUN. Thx to Michael Heerdegen.
;; 2013/05/31 dadams
;; bmkp-save-menu-list-state: Display warning, do not raise error, if write-file fails.
;; bookmark-write-file: Use display-warning, if fboundp.
;; 2013/05/28 dadams
;; Renamed: bmkp-edit-bookmark-name-and-file to bmkp-edit-bookmark-name-and-location.
;; bmkp-edit-bookmark-name-and-location: Handle location property, urls.
;; bmkp-jump-w3m-new-session, bmkp-jump-w3m-only-one-tab: Use location property, not filename.
;; Thx to Michael Heerdegen.
;; 2013/05/15 dadams
;; bmkp-*-alist-only: Make sure we call bookmark-maybe-load-default-file.
;; Moved bmkp-string-match-p to bookmark+-bmu.el.
;; Use bmkp-string-match-p instead of string-match wherever appropriate.
;; 2013/05/12 dadams
;; Added: bmkp-write-bookmark-file-hook.
;; bookmark-write-file: Run bmkp-bookmark-write-file-hook functions after writing.
;; 2013/04/19 dadams
;; bookmark-exit-hook-internal: Removed test for non-empty bookmark-alist (Emacs bug #13972).
;; 2013/04/15 dadams
;; bmkp-set-sequence-bookmark: Corrected case of adding one sequence to another.
;; bookmark-write-file: Corrected write-out of sequence bookmarks.
;; bookmark-alist-from-buffer: Better error message if read error.
;; 2013/04/14 dadams
;; Added: bmkp-wrap-bookmark-with-last-kbd-macro, bmkp-dired-remember-*-marks.
;; bookmark-write-file: If not saving propertized, remove text props for bmks in sequence bmk.
;; bmkp-edit-bookmark-record-send:
;; Raise error if bmkp-edit-bookmark-record-send was somehow reset to nil.
;; Do not reset bmkp-edit-bookmark-orig-record if read error.
;; bmkp-make-function-bookmark:
;; Prefix arg means use last-kbd-macro instead of prompting for FUNCTION.
;; Use read-from-whole-string, not read, to convert name to symbol.
;; If FUNCTION is a function or vector, do not convert it.
;; bmkp-bookmark-description: For sequence-p, remove properties from each bmk name in sequence.
;; Define bmkp-bookmark-name-from-record (no longer a defalias) with an optional UNPROPERTIZE arg.
;; bmkp-make-dired-record: Use bmkp-dired-remember-*-marks, not dired-remember-marks.
;; FUNCTION can now be a vector (a keyboard macro). Use read-from-whole-string, not read.
;; bmkp-jump-function: If function property is a vector, invoke it as a keyboard macro.
;; bmkp-set-sequence-bookmark:
;; Prefix ARG now allows for replace, in addition to append and prepend. No replace question.
;; A BOOKMARK-NAMES item can now be a bookmark, a function, or keyboard macro - or its name.
;; A BOOKMARK-NAMES item that is itself a sequence has its bookmarks spliced in.
;; Use lax as value of NAMES-ONLY-P to bmkp-completing-read-bookmarks.
;; 2013/04/12 dadams
;; Added: bmkp-sequence-alist-only.
;; bmkp-set-sequence-bookmark: Added prefix arg PREPENDP. Use bmkp-completing-read-lax.
;; Use \\<bmkp-edit-bookmark-record-mode-map> in doc strings with *-record-send.
;; bookmark-get-bookmark: A cons must also have a string car, to tell a bmk from a list of bmks.
;; bmkp-make-function-bookmark: Use bmkp-completing-read-lax for BOOKMARK-NAME.
;; 2013/04/10 dadams
;; Added: bmkp-set-sequence-bookmark, bmkp-make-sequence-record, bmkp-completing-read-bookmarks.
;; bmkp-completing-read-1:
;; Do not put DEFAULT in PROMPT if DEFAULT is "". Removed useless let-binding of DEFAULT.
;; Removed unnecessary final massaging of STR.
;; bookmark-completing-read: Mention in doc string that nil DEFAULT means return "".
;; 2013/03/29 dadams
;; bmkp-toggle-saving-bookmark-file: If neither is nil, set *-last-* to nil before toggling.
;; 2013/03/17 dadams
;; bmkp-bmenu-list-1: Do not toggle filenames unless bookmark-alist is defined (Emacs bug #13972).
;; 2013/01/07 dadams
;; bmkp-remove-all-tags, bmkp(-autofile)-(add|remove)-tags, bmkp-set-tag-value,
;; bmkp-paste-(add|replace)-tags, bmkp-(url|file)-target-set, bmkp-autofile-set:
;; Added missing NO-UPDATE-P arg for interactive spec.
;; bmkp-remove-all-tags: Moveed msg to the end.
;; bmkp-paste-replace-tags: Added sleep-for after first msg.
;; 2012/11/13 dadams
;; bmkp-sorting-description: Fixed 1st case: use ORDER only if bmkp-sort-comparer is also non-nil.
;; 2012/11/11 dadams
;; Added: bmkp-sorting-description (factored out from bmkp-msg-about-sort-order).
;; bmkp-msg-about-sort-order: Use bmkp-sorting-description.
;; bmkp-current-sort-order: Return nil if bmkp-sort-comparer is not in bmkp-sort-orders-alist.
;; 2012/11/09 dadams
;; Added: bmkp-autofile-filecache.
;; Added defadvice for file-cache-add-file.
;; bookmark-store, bmkp-url-target-set: Added optional arg NO-UPDATE-P.
;; bookmark-set, bmkp-make-function-bookmark, bmkp-url-target-set, bmkp-file-target-set:
;; Adjusted calls to bookmark-store to accommodate NO-UPDATE-P arg.
;; bmkp-make-record-for-target-file:
;; Add CREATED property for all bookmark types. Factor out the common stuff.
;; Remove any text properties from FILE arg before using it.
;; 2012/10/09 dadams
;; Made all autoload cookies explicitly load bookmark+.el(c). Should help ELPA (e.g. MELPA).
;; 2012/10/01 dadams
;; bmkp-thing-at-point: Updated per icicle-thing-at-point. Thx to Joe Bloggs.
;; 2012/09/29 dadams
;; Added redefinition of bookmark-version-control.
;; bookmark--jump-via:
;; When bmkp-use-w32-browser-p, just handle, do after-jump hook & jump-fn, and show annotation.
;; bookmark-handle-bookmark:
;; When bmkp-use-w32-browser-p, just invoke w32-browser and throw to bookmark--jump-via.
;; bookmark-write-file: Use find-file-noselect.
;; bmkp-save-menu-list-state:
;; Bind print-circle, version-control, require-final-new-line. Use find-file-noselect.
;; Copy shared bookmark lists and single strings, to avoid circular refs.
;; Raise error, not just msg, if file-error.
;; bookmark-write-file: Bind require-final-newline.
;; 2012/09/26 dadams
;; bmkp-save-menu-list-state: Use write-file, not write-region, so backups are made.
;; 2012/09/24 dadams
;; bookmark-write-file: Use write-file, not write-region, so backups are made. Emacs bug #12507.
;; 2012/09/22 dadams
;; bookmark-set: Updated handling of bmkp-auto-light-when-set for (non-)autonamed-in-buffer.
;; bmkp-autonamed-this-buffer-bookmark-p: Require that the buffer name part match also.
;; bmkp-autonamed-this-buffer-alist-only: Corrected to use bmkp-autonamed-this-buffer-bookmark-p.
;; 2012/09/11 dadams
;; bmkp-set-autonamed-bookmark-at-line: Use prefix arg for line no. Use line-beginning-position.
;; 2012/09/06 dadams
;; Added: bmkp-string-match-p.
;; 2012/08/28 dadams
;; bookmark-send-edited-annotation: Record an empty annotation as nil, not "".
;; 2012/08/21 dadams
;; Call tap-put-thing-at-point-props after load thingatpt+.el.
;; 2012/08/18 dadams
;; Invoke tap-define-aliases-wo-prefix if thingatpt+.el is loaded.
;; Added: bmkp-thing-at-point.
;; thing-at-point -> bmkp-thing-at-point, everywhere.
;; 2012/08/10 dadams
;; Info-bookmark-make-record: Updated wrt Emacs 24.
;; Renamed: old-bookmark-insert to bmkp-ORIG-bookmark-insert.
;; 2012/07/04 dadams
;; bmkp-create-variable-list-bookmark: Removed INTERACTIVEP arg to bookmark-set.
;; #'(lambda...) -> (lambda...).
;; 2012/07/02 dadams
;; bmkp-default-handler-for-file:
;; Reverted 2012/05/04 change to use lexical-let. Byte code in saved bookmark was problematic.
;; 2012/06/26 dadams
;; Wrapped require of bookmark+-mac.el in eval-when-compile.
;; 2012/06/21 dadams
;; Try to load-library bookmark+-mac. Require it only if cannot load-library.
;; 2012/06/12 dadams
;; bmkp-new-bookmark-default-names: 1. Test for DEFS at end is listp, not consp. 2. Return FNS.
;; bmkp-completing-read-1: Removed empty-input loop - caller must provide a default or handle "".
;; 2012/06/1 dadams
;; bookmark-make-record: Replace an empty bookmark name with <EMPTY NAME>.
;; bookmark-set, bmkp-completing-read-1: Require user to input a non-empty bookmark name.
;; bmkp-bookmark-name-member: If NAME is null, just use member. Skip any in NAMES that is null.
;; 2012/05/16 dadams
;; Added: bmkp-string-less-case-fold-p.
;; bmkp-list-all-tags: List tags alphabetically. Thx to Anders Johansson for the suggestion.
;; 2012/05/05 dadams
;; bookmark-store, bmkp-make-function-bookmark, bmkp-unomit-all, bmkp-url-target-set:
;; Added optional arg NO-MSG-P.
;; bookmark-store, bookmark-set, bmkp-record-visit, bmkp-make-function-bookmark,
;; bmkp-current-bookmark-list-state, bmkp-unomit-all, bmkp-url-target-set, bmkp-file-target-set,
;; bmkp-replace-existing-bookmark:
;; Pass NO-MSG-P to *-refresh/rebuild-menu-list, *-surreptitiously-rebuild-list, *-store.
;; 2012/05/04 dadams
;; bmkp-remove-tags, bmkp-all-tags(-regexp)-alist-only
;; bmkp(-(auto)file(-this-dir))(-(all|some)-tags)(-regexp)-alist-only,
;; bmkp-specific-(buffers|files)-alist-only, bmkp-sort-omit, bmkp-url-target-set,
;; bmkp-autofile-remove-tags. bmkp-default-handler-for-file, bmkp-set-bookmark-file-bookmark,
;; bmkp-set-desktop-bookmark, bmkp-set-variable-list-bookmark,
;; bmkp-create-variable-list-bookmark, bmkp-jump-dired,
;; bmkp-find-file-(all|some)-tags(-regexp)(-other-window):
;; Use lexical-let(*), to get closures for free vars in lambdas.
;; bmkp-regexp-filtered-(file-name|tags)-alist-only: Moved let inside lambda.
;; bmkp-make-dired-record: Use car instead of (lambda (x) (car x)).
;; 2012/05/01 dadams
;; Added: bmkp-tagged-bookmark-p (alias), bmkp-tagged-cp.
;; bmkp-(add|remove)-tags: Return negative nb-* if changed from (un)tagged to not (un)tagged.
;; bmkp-paste-replace-tags: Do not call bmkp-remove-all-tags unless there are tags to remove.
;; 2012/04/27 dadams
;; bmkp-edit-(tags|bookmark-record): Use bmkp-with-output-to-plain-temp-buffer.
;; 2012/04/18 dadams
;; Do not try to define bmkp-global-auto-idle-bookmark-mode for Emacs 21 (no define-globalized*).
;; 2012/04/16 dadams
;; bmkp-bookmark-description: List tags as strings on separate lines.
;; Add newline after annotation.
;; 2012/04/13 dadams
;; Added: bmkp-(flagged|modified)-bookmark-p, bmkp-(flagged|modified)-cp.
;; bookmark-store, bookmark-set-name, bookmark-prop-set, bmkp-edit-bookmark-record(s)-send,
;; bmkp-replace-existing-bookmark, bmkp-delete-bookmarks:
;; Use (equivalent of) eq version of add-to-list.
;; 2012/04/10 dadams
;; Added: bmkp-count-multi-mods-as-one-flag.
;; bmkp-edit-bookmark-records-send, bmkp-set-tag-value-for-bookmarks, bmkp-remove-tags-from-all,
;; bmkp-rename-tag, bmkp-purge-notags-autofiles,
;; bmkp-delete(-all)-autonamed(-for)(-this-buffer)(-no-confirm), bmkp-delete-bookmarks,
;; bmkp-delete(-all)-temporary(-bookmarks|-no-confirm):
;; Corrected bookmark-save to bookmark-save-flag in bindings to nil.
;; Use bmkp-count-multi-mods-as-one-flag for the binding.
;; 2012/04/09 dadams
;; bookmark-relocate, bmkp-edit-bookmark-records-send, bmkp-set-tag-value, bmkp-file-target-set,
;; bmkp-autofile-set:
;; Added optional arg NO-UPDATE-P. Use it to inhibit display refreshing.
;; bmkp-edit-bookmark-records-send, bmkp-set-tag-value-for-bookmarks, bmkp-remove-tags-from-all,
;; bmkp-rename-tag, bmkp-purge-notags-autofiles, delete-all-autonamed-for-this-buffer
;; bmkp-delete(-all)-temporary-(bookmarks|no-confirm), bmkp-delete-bookmarks,
;; bmkp-delete-autonamed(-this-buffer)(-no-confirm):
;; Bind bookmark-save to nil around iteration, to inhibit saving until finished.
;; bmkp-(add|remove)(-all)-tags, bmkp-paste-(add|replace)-tags, bmkp-autofile-(add|remove)-tags:
;; Swapped order of args MSGP and NO-UPDATE-P (put MSGP last).
;; bmkp-(add|remove)(-all)-tags, bmkp-autofile-(add|remove)-tags:
;; Use NO-UPDATE-P also to inhibit display refreshing.
;; bmkp-remove-tags-from-all: Pass non-nil NO-UPDATE-P arg to bmkp-remove-tags.
;; 2012/04/07 dadams
;; Added: bmkp-new-bookmark-default-names (option & function).
;; Redefine bookmark-make-record (for all Emacs versions) to use bmkp-new-bookmark-default-names.
;; bookmark-set: Use bmkp-new-bookmark-default-names (multiple defaults).
;; Moved the region-text default value stuff to fn bmkp-new-bookmark-default-names.
;; bmkp-completing-read-1: Handle a cons DEFAULT.
;; Added soft require of thingatpt+.el.
;; 2012/04/06 dadams
;; Added: bmkp-auto-idle-bookmark-min-distance, bmkp-not-near-other-auto-idle-bmks,
;; bmkp-auto-idle-bookmarks.
;; bmkp-autotemp-bookmark-predicates:
;; Changed default value to include bmkp-autonamed-bookmark(-this-buffer)-p.
;; bookmark-store: Add the bookmark to bmkp-auto-idle-bookmarks (if appropriate).
;; bookmark-delete: Remove the bookmark from bmkp-auto-idle-bookmarks.
;; bmkp-auto-idle-bookmark-mode:
;; Bind bmkp-setting-auto-idle-bmk-p. Do nothing if bmkp-not-near-other-auto-idle-bmks says so.
;; 2012/04/05 dadams
;; Added (Emacs 21+): bmkp-global-auto-idle-bookmark-mode, bmkp-turn-on-auto-idle-bookmark-mode.
;; bmkp-auto-idle-bookmark-mode (Emacs 21+):
;; Made it local:
;; Removed keyword :global, added keyword :require.
;; Timer function does nothing if the mode is not enabled (i.e., for the current buffer).
;; bmkp-auto-idle-bookmark-mode (Emacs 20):
;; Changed interactive spec to handle toggle symbol.
;; Timer function does nothing if the mode is not enabled (for the current buffer, if local).
;; Change message to mention buffer when the mode is local.
;; Removed: bmkp-auto-idle-bookmark-mode-hook.
;; Added autoload cookie for Emacs 20 defcustom for bmkp-auto-idle-bookmark-mode.
;; bmkp-auto-idle-bookmark-mode-timer: Use nil as default value.
;; bmkp-auto-idle-bookmark-mode: If timer is non-nil, set it to nil (and cancel it).
;; 2012/04/04 dadams
;; Added: bmkp-auto-idle-bookmark-mode(-delay|-hook|-lighter|-set-function),
;; bmkp-temporary-bookmarking-mode-lighter, bmkp-auto-idle-bookmark-mode-timer.
;; bmkp-temporary-bookmarking-mode: Added lighter.
;; bookmark-set: Pass INTERACTIVEP arg, not constant MSGP, to bmkp-light-(bookmarks|this-buffer).
;; 2012/04/03 dadams
;; Moved to bookmark+-bmu.el: bmkp-face-prop.
;; 2012/04/02 dadams
;; bmkp-toggle-autonamed-bookmark-set/delete, bmkp-set-autonamed-bookmark(-at-line),
;; bmkp-delete-bookmarks:
;; Made POSITION, NUMBER, ALLP optional.
;; 2012/03/18 dadams
;; Added: bmkp-modified-bookmarks, redefinition of bookmark-set-name.
;; bookmark-store, bookmark-set-name, bookmark-prop-set, bmkp-replace-existing-bookmark:
;; Add the bookmark to bmkp-modified-bookmarks.
;; bookmark-rename: Call bmkp-rename-for-marked-and-omitted-lists _after_ set new name w/ prop.
;; bookmark-save: Reset bmkp-modified-bookmarks. Call bmkp-refresh/rebuild-menu-list.
;; bmkp-rename-for-marked-and-omitted-lists: Fixed typo: marked -> omitted.
;; bmkp-edit-bookmark-name-and-file:
;; Save each of bmk name and file name only if changed (bug fix). Provide default file name.
;; If no automatic save, and modifications, ask user whether to save.
;; bmkp-edit-bookmark-records-send:
;; Add updated bookmarks to bmkp-modified-bookmarks.
;; Merge sanity-check dolist with main dolist.
;; Set bmkp-bmenu-marked-bookmarks to names in bmkp-modified-bookmarks, not in edited-bookmarks.
;; bmkp-edit-bookmark-record: Use (shallow) copy of bmkp-edit-bookmark-orig-record, not original.
;; bmkp-edit-bookmark-record-send: Add updated bookmark to bmkp-modified-bookmarks.
;; bmkp-record-visit: Let-bind bmkp-modified-bookmarks to itself, so will be restored.
;; bmkp-refresh-menu-list: Pass no FILTEREDP if no current filter (start anew).
;; bmkp-bookmark-name-member: If a name in NAMES is unpropertized, don't try to match property.
;; bmkp-replace-existing-bookmark: For propertize bookmark-current-bookmark with bmkp-full-record.
;; 2012/03/13 dadams
;; bmkp-incremental-filter-delay:
;; Use bookmark-search-delay as default value, if available. Else use 0.2 (not 0.6).
;; 2012/03/11 dadams
;; bmkp-revert-bookmark-file: Added p to interactive spec (forgot).
;; 2012/03/06 dadams
;; Added: bmkp-revert-bookmark-file.
;; bookmark-load: If bookmark-file buffer already existed, do not kill it after loading.
;; 2012/03/04 dadams
;; Added: bmkp-refresh/rebuild-menu-list.
;; bookmark-store, bookmark-send-edited-annotation, bookmark-delete,
;; bmkp-edit-bookmark-record(s)-send, bmkp-edit-tags-send, bmkp-update-autonamed-bookmark,
;; bmkp-remove(-all)-tags, bmkp-add-tags, bmkp-file-target-set, bmkp-refresh/rebuild-menu-list:
;; Use bmkp-refresh/rebuild-menu-list.
;; bookmark-load:
;; Use bmkp-refresh/rebuild-menu-list only if interactive. Do not call *-surreptitiously-*.
;; bmkp-edit-bookmark-record(s)-send: Added optional arg MSGP. Raise read error if batch.
;; bmkp-record-visit:
;; Added optional arg BATCHP. Do not bookmark-bmenu-surreptitiously-rebuild-list if BATCHP.
;; bmkp-edit-tags-send: Added optional arg BATCHP, and pass it to bmkp-record-visit.
;; bmkp-refresh-menu-list: Use bmkp-bookmark-name-from-record only when BOOKMARK is non-nil.
;; bmkp-paste-replace-tags, bmkp-(compilation|occur)-target-set-all:
;; Raise error with OK message if user cancels.
;; bmkp-purge-notags-autofiles, bmkp-delete-all-temporary-bookmarks: Added optional arg MSGP.
;; bmkp-purge-notags-autofiles, bmkp-delete-all-temporary-bookmarks,
;; bmkp-delete-temporary-no-confirm:
;; Call bmkp-refresh/rebuild-menu-list after the dolist. Inhibit refresh for bookmark-delete.
;; bmkp-jump-bookmark-file: Removed reference to current-prefix-arg: prompt only if SWITCHP.
;; bmkp-delete-all-autonamed-for-this-buffer:
;; Added optional arg MSGP. Prompt for confirmation only if MSGP.
;; bmkp-delete-autonamed-this-buffer-no-confirm:
;; Added optional arg NO-REFRESH-P. Inhibit refresh for bookmark-delete.
;; Unless NO-REFRESH-P, call bmkp-refresh/rebuild-menu-list after the dolist.
;; bmkp-delete-autonamed-no-confirm:
;; Call bmkp-delete-autonamed-this-buffer-no-confirm with NO-REFRESH-P.
;; Call bmkp-refresh/rebuild-menu-list after the dolist.
;; bmkp-delete-bookmarks:
;; Added optional arg MSGP. Prompt for confirmation only if MSGP.
;; Raise error with OK message if user cancels.
;; Call bmkp-refresh/rebuild-menu-list after the dolist. Inhibit refresh for bookmark-delete.
;; Use bmkp-this-buffer-alist-only, not bookmark-alist, for selecting bookmarks.
;; Use `...', etc. when echoing deleted bookmarks.
;; 2012/03/02 dadams
;; bookmark-load:
;; Changed last arg from NO-MSG-P to BATCHP. If non-nil, act with no prompt, saving or not.
;; If nil, prompt user whether to save before loading. If user quits with C-g, do not load.
;; bookmark-maybe-load-default-file: Pass symbol nosave, not t, as last arg to bookmark-load.
;; bmkp-switch-bookmark-file-create: Last arg is now the complement: BATCHP, not INTERACTIVEP.
;; bmkp-temporary-bookmarking-mode: Pass nosave as last arg to bookmark-load, since do save here.
;; bmkp-default-handlers-for-file-types: Added eval-when-compile to require cl.el for Emacs 20.
;; bmkp-maybe-save-bookmarks: Added optional arg SAME-COUNT-P.
;; bmkp-record-visit: Pass non-nil arg to bmkp-maybe-save-bookmarks to prevent changing mod count.
;; bookmark-store: Call bmkp-refresh-menu-list if Bookmark List is displayed.
;; bmkp-toggle-saving-bookmark-file: Added optional arg MSGP - show message only if non-nil.
;; bmkp-find-file(-other-window): Added missing FIL arg for error format string.
;; bmkp-temporary-bookmarking-mode: Pass a MSGP arg to bmkp-toggle-saving-bookmark-file.
;; 2012/02/29 dadams
;; bmkp-completing-read-lax: Bind & restore C-M-w, C-M-u, SPC, and ? (so can insert SPC, ? etc.).
;; 2012/02/28 dadams
;; bmkp-file-target-set: Call bmkp-refresh-menu-list if Bookmark List is displayed.
;; Renamed option bmkp-default-handler-associations to bmkp-default-handlers-for-file-types.
;; bmkp-default-handler-associations is NOW OBSOLETE - RENAME IT IF YOU HAVE CUSTOMIZED IT.
;; bmkp-same-file-p: Take advantage of Emacs 24 function, file-equal-p. Thx to Michael Albinus.
;; bmkp-find-file(-other-window):
;; Added optional args CREATE-AUTOFILE-P & MSGP (new arg order). Prefix arg creates bookmark.
;; Use bmkp-default-handlers-for-file-types even for files not bookmarked.
;; 2012/02/26 dadams
;; Added: bmkp-(autofile|autonamed)-history, bmkp-autofile-(all|some)-tags(-regexp)-alist-only,
;; bmkp-autofile(-(all|some)-tags(-regexp))-jump(-other-window).
;; bmkp-types-alist: Added entries for (autofile|autonamed).
;; Everywhere that read-file-name is used:
;; Bind icicle-unpropertize-completion-result-flag to t, for read-file-name.
;; No longer alias bmkp-autofile*-jump to bmkp-find-file. The *-autofile-*jump commands use
;; bmkp-read-bookmark-for-type and bmkp-jump-1, not read-file-name and find-file.
;; bmkp-find-file(-other-window):
;; Added optional args FILE MUST-EXIST-P.
;; Use read-file-name and either bookmark-jump or find-file, not just find-file (and no PRED).
;; bmkp-find-file-*-tags(-regexp)(-other-window):
;; Added optional FILE arg.
;; Use bookmark-jump, not find-file - so only autofiles with the tags are candidates.
;; Bind icicle-must-pass-after-match-predicate. Use PRED for read-file-name only if no Icicles.
;; The new bmkp-find-file* commands are bound to ... C-f, not ... a.
;; bmkp-default-handler-associations: Correct docstring: double backslashes.
;; 2012/02/21 dadams
;; bmkp-jump-to-type(-other-window): Corrected ALIST: If no HISTORY do not call *-alist-only.
;; 2012/02/20 dadams
;; bookmark-handle-bookmark: Handle, in priority, new property file-handler.
;; bookmark-default-handler: Handle new property file-handler.
;; bmkp-make-record-for-target-file:
;; Use new property file-handler, not handler, for default handler.
;; Use file-handler with play-sound-file, not handler with bmkp-sound-jump (deprecated).
;; bmkp-default-handler-for-file: Return function bmkp-user, not a lambda that applies it to file.
;; bmkp-handler-pred:
;; Return t if TYPE is handler or file-handler. Do not match a lambda that applies the handler.
;; bmkp-default-handler-associations, bookmark-alist, bmkp-jump-to-type:
;; Updated doc string to reflect new implementation of file handlers using prop file-handler.
;; 2012/02/19 dadams
;; Added: bmkp-handler-pred, bmkp-temporary-history, bmkp-w32-browser-jump.
;; bmkp-types-alist: Added bmkp-temporary-history.
;; bmkp-read-bookmark-for-type: Prepend a space before "bookmark" in prompt.
;; bmkp-jump-to-type:
;; Use lax completion.
;; When call bmkp-read-bookmark-for-type:
;; Do not append a space to TYPE name passed.
;; Pass a predicate arg returned by bmkp-handler-pred when TYPE is not a known type.
;; bmkp-*-jump(-other-window): Remove space after TYPE name passed to bmkp-read-bookmark-for-type.