summaryrefslogtreecommitdiff
path: root/lisp/info-xref.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/info-xref.el')
-rw-r--r--lisp/info-xref.el8
1 files changed, 5 insertions, 3 deletions
diff --git a/lisp/info-xref.el b/lisp/info-xref.el
index 7887909037b..95e9a1e55f7 100644
--- a/lisp/info-xref.el
+++ b/lisp/info-xref.el
@@ -79,9 +79,11 @@ If removing the last \"-<NUM>\" from the filename gives a file
which exists, then consider FILENAME a subfile. This is an
imperfect test, probably ought to open up the purported top file
and see what subfiles it says."
- (and (string-match "\\`\\(\\([^-]*-\\)*[^-]*\\)-[0-9]+\\(.*\\)\\'" filename)
- (file-exists-p (concat (match-string 1 filename)
- (match-string 3 filename)))))
+ (let ((nondir (file-name-nondirectory filename)))
+ (and (string-match "\\`\\(\\([^-]*-\\)*[^-]*\\)-[0-9]+\\(.*\\)\\'" nondir)
+ (file-exists-p (concat (file-name-directory filename)
+ (match-string 1 nondir)
+ (match-string 3 nondir))))))
(defmacro info-xref-with-file (filename &rest body)
;; checkdoc-params: (filename body)