]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix bug#74504
authorEshel Yaron <me@eshelyaron.com>
Mon, 9 Dec 2024 12:41:32 +0000 (13:41 +0100)
committerEshel Yaron <me@eshelyaron.com>
Mon, 9 Dec 2024 12:41:32 +0000 (13:41 +0100)
lisp/help-fns.el

index 35858dbca380b5296c9d29560ccc0bd37ce02d1f..1f3527128b3aedb24c8ae7dcd806387b28b12e67 100644 (file)
@@ -1082,22 +1082,14 @@ TYPE indicates the namespace and is `fun' or `var'."
       rt)))
 
 (defun help-fns-short-filename (filename)
-  (let* ((short (help-fns--filename filename))
-         (prefixes (radix-tree-prefixes (help-fns--radix-tree load-path)
-                                        (file-name-directory short))))
-    (if (not prefixes)
-        ;; The file is not inside the `load-path'.
-        ;; FIXME: Here's the old code (too slow, bug#73766),
-        ;; which used to try and shorten it with "../" as well.
-        ;; (dolist (dir load-path)
-        ;;   (let ((rel (file-relative-name filename dir)))
-        ;;     (if (< (length rel) (length short))
-        ;;         (setq short rel)))
-        ;;   (let ((rel (file-relative-name abbrev dir)))
-        ;;     (if (< (length rel) (length short))
-        ;;         (setq short rel))))
-        short
-      (file-relative-name short (caar prefixes)))))
+  (cond
+   ((eq filename 'C-source) "C source code")
+   ((equal (file-name-extension filename) "el")
+    (let* ((short (help-fns--filename filename))
+           (prefixes (radix-tree-prefixes (help-fns--radix-tree load-path)
+                                          (file-name-directory short))))
+      (if prefixes (file-relative-name short (caar prefixes)) short)))
+   (t filename)))
 
 (defun help-fns--analyze-function (function)
   ;; FIXME: Document/explain the differences between FUNCTION,