Commit f3d0db7f authored by Philipp Stephani's avatar Philipp Stephani

Add support for module functions to C-h f (Bug#30163).

* lisp/help-fns.el (help-fns-function-description-header): Handle
module functions.

* test/src/emacs-module-tests.el (module/describe-function-1): New
test.
parent 344750ae
......@@ -642,6 +642,8 @@ Returns a list of the form (REAL-FUNCTION DEF ALIASED REAL-DEF)."
(concat beg "Lisp macro"))
((byte-code-function-p def)
(concat beg "compiled Lisp function"))
((module-function-p def)
(concat beg "module function"))
((eq (car-safe def) 'lambda)
(concat beg "Lisp function"))
((eq (car-safe def) 'closure)
......
......@@ -18,6 +18,7 @@
;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
(require 'ert)
(require 'help-fns)
(defconst mod-test-emacs
(expand-file-name invocation-name invocation-directory)
......@@ -261,4 +262,17 @@ during garbage collection."
(rx "Module function called during garbage collection\n")
(mod-test-invalid-finalizer)))
(ert-deftest module/describe-function-1 ()
"Check that Bug#30163 is fixed."
(with-temp-buffer
(let ((standard-output (current-buffer)))
(describe-function-1 #'mod-test-sum)
(should (equal (buffer-substring-no-properties 1 (point-max))
;; FIXME: This should print the filename.
"a module function.
(mod-test-sum a b)
Return A + B")))))
;;; emacs-module-tests.el ends here
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment