194 |
(defcustom bookmark-menu-length 70 |
(defcustom bookmark-menu-length 70 |
195 |
"*Maximum length of a bookmark name displayed on a popup menu." |
"*Maximum length of a bookmark name displayed on a popup menu." |
196 |
:type 'integer |
:type 'integer |
197 |
:group 'boolean) |
:group 'bookmark) |
198 |
|
|
199 |
|
|
200 |
;;; No user-serviceable parts beyond this point. |
;;; No user-serviceable parts beyond this point. |
1072 |
|
|
1073 |
|
|
1074 |
(defun bookmark-file-or-variation-thereof (file) |
(defun bookmark-file-or-variation-thereof (file) |
1075 |
"Return FILE (a string) or a reasonable variation that exists, else nil. |
"Return FILE (a string) if it exists, or return a reasonable |
1076 |
Reasonable variations of the name are made by appending suffixes defined |
variation of FILE if that exists. Reasonable variations are checked |
1077 |
in `Info-suffix-list'." |
by appending suffixes defined in `Info-suffix-list'. If cannot find FILE |
1078 |
|
nor a reasonable variation thereof, then still return FILE if it can |
1079 |
|
be retrieved from a VC backend, else return nil." |
1080 |
(if (file-exists-p file) |
(if (file-exists-p file) |
1081 |
file |
file |
1082 |
(require 'info) ; ensure Info-suffix-list is bound |
(or |
1083 |
(catch 'found |
(progn (require 'info) ; ensure Info-suffix-list is bound |
1084 |
(mapc (lambda (elt) |
(catch 'found |
1085 |
(let ((suffixed-file (concat file (car elt)))) |
(mapc (lambda (elt) |
1086 |
(if (file-exists-p suffixed-file) |
(let ((suffixed-file (concat file (car elt)))) |
1087 |
(throw 'found suffixed-file)))) |
(if (file-exists-p suffixed-file) |
1088 |
Info-suffix-list) |
(throw 'found suffixed-file)))) |
1089 |
nil))) |
Info-suffix-list) |
1090 |
|
nil)) |
1091 |
|
;; Last possibility: try VC |
1092 |
|
(if (vc-backend file) file)))) |
1093 |
|
|
1094 |
|
|
1095 |
(defun bookmark-jump-noselect (str) |
(defun bookmark-jump-noselect (str) |
1096 |
;; a leetle helper for bookmark-jump :-) |
;; a leetle helper for bookmark-jump :-) |