From c94ae50b715365a019b40e1e1b8365fe50483d23 Mon Sep 17 00:00:00 2001 From: Philipp Stephani Date: Sun, 28 Jan 2018 21:57:59 +0100 Subject: [PATCH] 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. --- lisp/help-fns.el | 2 ++ test/src/emacs-module-tests.el | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/lisp/help-fns.el b/lisp/help-fns.el index 7a94d2f61a..a592809de6 100644 --- a/lisp/help-fns.el +++ b/lisp/help-fns.el @@ -642,6 +642,8 @@ help-fns-function-description-header (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) diff --git a/test/src/emacs-module-tests.el b/test/src/emacs-module-tests.el index a6407524ad..05be8383dc 100644 --- a/test/src/emacs-module-tests.el +++ b/test/src/emacs-module-tests.el @@ -18,6 +18,7 @@ ;; along with GNU Emacs. If not, see . */ (require 'ert) +(require 'help-fns) (defconst mod-test-emacs (expand-file-name invocation-name invocation-directory) @@ -261,4 +262,17 @@ module--test-assertion (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 -- 2.15.1