]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/info-xref.el (info-xref-subfile-p): Avoid false positives. (Bug#68428)
authorMichael Albinus <michael.albinus@gmx.de>
Mon, 15 Jan 2024 15:55:27 +0000 (16:55 +0100)
committerMichael Albinus <michael.albinus@gmx.de>
Mon, 15 Jan 2024 15:55:27 +0000 (16:55 +0100)
lisp/info-xref.el

index 7887909037be6ec22a0ffe7449c9a956d0a3ffe2..95e9a1e55f7535ed402c403d26471f231491e68c 100644 (file)
@@ -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)