]> git.eshelyaron.com Git - emacs.git/commitdiff
* bookmark.el (bookmark-file-or-variation-thereof): Just use
authorKarl Fogel <kfogel@red-bean.com>
Sat, 8 Jun 2002 03:33:09 +0000 (03:33 +0000)
committerKarl Fogel <kfogel@red-bean.com>
Sat, 8 Jun 2002 03:33:09 +0000 (03:33 +0000)
Info-suffix-list, as suggested by Stefan Monnier.

lisp/ChangeLog
lisp/bookmark.el

index da57c509295ca492598079922b6508f6d9e35d57..68fdbec84bdd993d6c268bab30e19ee0bcf649bc 100644 (file)
@@ -1,3 +1,8 @@
+2002-06-07  Karl Fogel  <kfogel@red-bean.com>
+
+       * bookmark.el (bookmark-file-or-variation-thereof): Just use
+       Info-suffix-list, as suggested by Stefan Monnier.
+
 2002-06-05  Eli Zaretskii  <eliz@is.elta.co.il>
 
        * select.el (xselect-convert-to-string): If VALUE is a string,
index 53939f92ca6950421e4d829eb486d1a6eba8d260..c3bab39ba3d33b5bd5354315c850056e8628f32a 100644 (file)
@@ -1072,19 +1072,18 @@ of the old one in the permanent bookmark record."
 
 
 (defun bookmark-file-or-variation-thereof (file)
-  "Return FILE (a string) if it exists in any reasonable variation, else nil.
-Reasonable variations are FILE.gz, FILE.Z, FILE.info, FILE.info.gz, etc."
-  (cond
-   ((file-exists-p file)                       file)
-   ((file-exists-p (concat file ".Z"))         (concat file ".Z"))
-   ((file-exists-p (concat file ".gz"))        (concat file ".gz"))
-   ((file-exists-p (concat file ".z"))         (concat file ".z"))
-   ((file-exists-p (concat file ".info"))      (concat file ".info"))
-   ((file-exists-p (concat file ".info.gz"))   (concat file ".info.gz"))
-   ((file-exists-p (concat file ".info.Z"))    (concat file ".info.Z"))
-   ((file-exists-p (concat file ".info.z"))    (concat file ".info.z"))
-   ((vc-backend file)                          file) ; maybe VC has it?
-   (t                                          nil)))
+  "Return FILE if it exists, or return the first variation based on
+`Info-suffix-list' that exists, else return nil."
+  (if (file-exists-p file)
+      file
+    (require 'info)  ; ensure Info-suffix-list is bound
+    (catch 'found
+      (mapc (lambda (elt)
+              (let ((suffixed-file (concat file (car elt))))
+                (if (file-exists-p suffixed-file)
+                    (throw 'found suffixed-file))))
+            Info-suffix-list)
+      nil)))
 
 
 (defun bookmark-jump-noselect (str)