# HG changeset patch # User Karl Fogel # Date 1023507189 0 # Node ID fc6d3747add1be428304ff758dbcbde52f08161c # Parent 1f957476e7572015f01c46b210238dfe7b129c20 * bookmark.el (bookmark-file-or-variation-thereof): Just use Info-suffix-list, as suggested by Stefan Monnier. diff -r 1f957476e757 -r fc6d3747add1 lisp/ChangeLog --- a/lisp/ChangeLog Fri Jun 07 22:05:07 2002 +0000 +++ b/lisp/ChangeLog Sat Jun 08 03:33:09 2002 +0000 @@ -1,3 +1,8 @@ +2002-06-07 Karl Fogel + + * bookmark.el (bookmark-file-or-variation-thereof): Just use + Info-suffix-list, as suggested by Stefan Monnier. + 2002-06-05 Eli Zaretskii * select.el (xselect-convert-to-string): If VALUE is a string, diff -r 1f957476e757 -r fc6d3747add1 lisp/bookmark.el --- a/lisp/bookmark.el Fri Jun 07 22:05:07 2002 +0000 +++ b/lisp/bookmark.el Sat Jun 08 03:33:09 2002 +0000 @@ -1072,19 +1072,18 @@ (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)