emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 0a75af9: * lisp/emacs-lisp/ert.el (describe-symbol-


From: Stefan Monnier
Subject: [Emacs-diffs] master 0a75af9: * lisp/emacs-lisp/ert.el (describe-symbol-backends): Add ourselves
Date: Mon, 22 Jan 2018 22:01:02 -0500 (EST)

branch: master
commit 0a75af915653bd8927f92be420603725a7e3c744
Author: Stefan Monnier <address@hidden>
Commit: Stefan Monnier <address@hidden>

    * lisp/emacs-lisp/ert.el (describe-symbol-backends): Add ourselves
    
    (ert-describe-test): Return the description text as well.
    Remove left over version check.
    * lisp/help-mode.el (describe-symbol-backends): Add docstring.
---
 lisp/emacs-lisp/ert.el | 13 +++++++++----
 lisp/help-mode.el      | 10 +++++++++-
 2 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/lisp/emacs-lisp/ert.el b/lisp/emacs-lisp/ert.el
index 029a293..a471085 100644
--- a/lisp/emacs-lisp/ert.el
+++ b/lisp/emacs-lisp/ert.el
@@ -2549,8 +2549,6 @@ To be used in the ERT results buffer."
 (defun ert-describe-test (test-or-test-name)
   "Display the documentation for TEST-OR-TEST-NAME (a symbol or ert-test)."
   (interactive (list (ert-read-test-name-at-point "Describe test")))
-  (when (< emacs-major-version 24)
-    (user-error "Requires Emacs 24 or later"))
   (let (test-name
         test-definition)
     (cl-etypecase test-or-test-name
@@ -2587,7 +2585,9 @@ To be used in the ERT results buffer."
             (insert (substitute-command-keys
                      (or (ert-test-documentation test-definition)
                          "It is not documented."))
-                    "\n")))))))
+                    "\n")
+            ;; For describe-symbol-backends.
+            (buffer-string)))))))
 
 (defun ert-results-describe-test-at-point ()
   "Display the documentation of the test at point.
@@ -2599,6 +2599,11 @@ To be used in the ERT results buffer."
 
 ;;; Actions on load/unload.
 
+(require 'help-mode)
+(add-to-list 'describe-symbol-backends
+             `("ERT test" ,#'ert-test-boundp
+               ,(lambda (s _b _f) (ert-describe-test s))))
+
 (add-to-list 'find-function-regexp-alist '(ert--test . ert--find-test-regexp))
 (add-to-list 'minor-mode-alist '(ert--current-run-stats
                                  (:eval
@@ -2613,7 +2618,7 @@ To be used in the ERT results buffer."
                          'ert--activate-font-lock-keywords)
   nil)
 
-(defvar ert-unload-hook '())
+(defvar ert-unload-hook ())
 (add-hook 'ert-unload-hook #'ert--unload-function)
 
 
diff --git a/lisp/help-mode.el b/lisp/help-mode.el
index ee481cf..4fb3fb8 100644
--- a/lisp/help-mode.el
+++ b/lisp/help-mode.el
@@ -421,7 +421,15 @@ it does not already exist."
         (or (and (boundp symbol) (not (keywordp symbol)))
             (get symbol 'variable-documentation)))
      ,#'describe-variable)
-    ("face" ,#'facep ,(lambda (s _b _f) (describe-face s)))))
+    ("face" ,#'facep ,(lambda (s _b _f) (describe-face s))))
+  "List of providers of information about symbols.
+Each element has the form (NAME TESTFUN DESCFUN) where:
+  NAME is a string naming a category of object, such as \"type\" or \"face\".
+  TESTFUN is a predicate which takes a symbol and returns non-nil if the
+    symbol is such an object.
+  DESCFUN is a function which takes three arguments (a symbol, a buffer,
+    and a frame), inserts the description of that symbol in the current buffer
+    and returns that text as well.")
 
 ;;;###autoload
 (defun help-make-xrefs (&optional buffer)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]