summaryrefslogtreecommitdiff
path: root/lisp/finder.el
diff options
context:
space:
mode:
authorStefan Kangas <stefan@marxist.se>2021-10-23 05:25:37 +0200
committerStefan Kangas <stefan@marxist.se>2021-10-23 05:28:32 +0200
commit241574375df80a136624ea622d76b426e1437617 (patch)
tree7daffe713eacf573f407db070d6caa5e82bc8c23 /lisp/finder.el
parent0170e6d0e876e897cf98e1e1767523dcf058090e (diff)
downloademacs-241574375df80a136624ea622d76b426e1437617.tar.gz
Add links to commentary reached with finder-list-keywords
* lisp/finder.el (finder-goto-xref): Move from here... * lisp/emacs-lisp/package.el (package--finder-goto-xref): ...to here. Make the old name into an obsolete function alias. (package--finder-xref): New button type. (package--describe-add-library-links): Factor out new function... * lisp/finder.el (finder-commentary): ...from here. (describe-package-1): Call above new function. This fixes an issue where commentaries reached via 'finder-list-keywords' did not have links. (Bug#10814)
Diffstat (limited to 'lisp/finder.el')
-rw-r--r--lisp/finder.el22
1 files changed, 7 insertions, 15 deletions
diff --git a/lisp/finder.el b/lisp/finder.el
index c2b9a6d0ef9..00f321b8028 100644
--- a/lisp/finder.el
+++ b/lisp/finder.el
@@ -362,19 +362,13 @@ not `finder-known-keywords'."
(let ((package-list-unversioned t))
(package-show-package-list packages))))
-(define-button-type 'finder-xref 'action #'finder-goto-xref)
-
-(defun finder-goto-xref (button)
- "Jump to a Lisp file for the BUTTON at point."
- (let* ((file (button-get button 'xref))
- (lib (locate-library file)))
- (if lib (finder-commentary lib)
- (message "Unable to locate `%s'" file))))
-
;;;###autoload
(defun finder-commentary (file)
"Display FILE's commentary section.
FILE should be in a form suitable for passing to `locate-library'."
+ ;; FIXME: Merge this function into `describe-package', which is
+ ;; strictly better as it has links to URL's and is in a proper help
+ ;; buffer with navigation forward and backward, etc.
(interactive
(list
(completing-read "Library name: "
@@ -391,12 +385,7 @@ FILE should be in a form suitable for passing to `locate-library'."
(erase-buffer)
(insert str)
(goto-char (point-min))
- (while (re-search-forward "\\<\\([-[:alnum:]]+\\.el\\)\\>" nil t)
- (if (locate-library (match-string 1))
- (make-text-button (match-beginning 1) (match-end 1)
- 'xref (match-string-no-properties 1)
- 'help-echo "Read this file's commentary"
- :type 'finder-xref)))
+ (package--describe-add-library-links)
(goto-char (point-min))
(setq buffer-read-only t)
(set-buffer-modified-p nil)
@@ -469,6 +458,9 @@ Quit the window and kill all Finder-related buffers."
;; continue standard unloading
nil)
+(define-obsolete-function-alias 'finder-goto-xref
+ #'package--finder-goto-xref "29.1")
+
(provide 'finder)