From dc1e0ac761725931f23de13df4ef5020372a52a0 Mon Sep 17 00:00:00 2001 From: Tino Calancha Date: Mon, 25 Apr 2016 19:27:06 +0200 Subject: [PATCH] Run find-function-after-hook after finding a symbol * lisp/emacs-lisp/find-func.el (find-library): * lisp/help-mode.el (help-function-def, help-variable-def): Run `find-function-after-hook' inside the help-function of the buttons (bug#22583). * etc/NEWS: Mention the change. This is a backport from master. (cherry picked from commit f069d854508946bcc03e4c77ceb430748e3ab6d7) --- etc/NEWS | 5 ++++- lisp/emacs-lisp/find-func.el | 6 +++++- lisp/help-mode.el | 2 ++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index e86aec26d26..a61370bfee0 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -17,7 +17,10 @@ with a prefix argument or by typing C-u C-h C-n. * Changes in Emacs 25.2 -This is a bug-fix release with no new features. +This is a bug-fix release with (almost) no new features. + +** `find-library', `help-function-def' and `help-variable-def' now run +`find-function-after-hook'. * Installation Changes in Emacs 25.1 diff --git a/lisp/emacs-lisp/find-func.el b/lisp/emacs-lisp/find-func.el index 43bcb420c36..6f224ed92d3 100644 --- a/lisp/emacs-lisp/find-func.el +++ b/lisp/emacs-lisp/find-func.el @@ -283,7 +283,11 @@ LIBRARY should be a string (the name of the library)." "Library name: ") table nil nil nil nil def)))) (let ((buf (find-file-noselect (find-library-name library)))) - (condition-case nil (switch-to-buffer buf) (error (pop-to-buffer buf))))) + (condition-case nil + (prog1 + (switch-to-buffer buf) + (run-hooks 'find-function-after-hook)) + (error (pop-to-buffer buf))))) ;;;###autoload (defun find-function-search-for-symbol (symbol type library) diff --git a/lisp/help-mode.el b/lisp/help-mode.el index 7b95e5fb04e..e008698618c 100644 --- a/lisp/help-mode.el +++ b/lisp/help-mode.el @@ -202,6 +202,7 @@ The format is (FUNCTION ARGS...).") (let ((location (find-function-search-for-symbol fun type file))) (pop-to-buffer (car location)) + (run-hooks 'find-function-after-hook) (if (cdr location) (goto-char (cdr location)) (message "Unable to find location in file")))) @@ -231,6 +232,7 @@ The format is (FUNCTION ARGS...).") (setq file (help-C-file-name var 'var))) (let ((location (find-variable-noselect var file))) (pop-to-buffer (car location)) + (run-hooks 'find-function-after-hook) (if (cdr location) (goto-char (cdr location)) (message "Unable to find location in file")))) -- 2.39.2