emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master 351739b 2/2: Document `X as "`X", not as "(` X)"


From: Paul Eggert
Subject: [Emacs-diffs] master 351739b 2/2: Document `X as "`X", not as "(` X)"
Date: Fri, 12 Jun 2015 23:28:14 +0000

branch: master
commit 351739ba1446446dd4755aac2406c21a93edf63f
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>

    Document `X as "`X", not as "(` X)"
    
    * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
    Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
---
 lisp/help.el |   29 +++++++++++++++++------------
 1 files changed, 17 insertions(+), 12 deletions(-)

diff --git a/lisp/help.el b/lisp/help.el
index b766cd0..d24fbfd 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -1368,18 +1368,21 @@ DEF is the function whose usage we're looking for in 
DOCSTRING."
   ;; In cases where `function' has been fset to a subr we can't search for
   ;; function's name in the doc string so we use `fn' as the anonymous
   ;; function name instead.
-  (when (and docstring (string-match "\n\n(fn\\(\\( .*\\)?)\\)\\'" docstring))
+  (when (and docstring
+            (string-match "\n\n(fn\\(\\( +\\([^\n ]+\\( .*\\)?\\)?\\)?)\\)\\'"
+                          docstring))
     (let ((doc (unless (zerop (match-beginning 0))
-                (substring docstring 0 (match-beginning 0))))
-         (usage-tail (match-string 1 docstring)))
-      (cons (format "(%s%s"
-                   ;; Replace `fn' with the actual function name.
-                   (if (symbolp def)
-                       (help--docstring-quote
-                        (substring (format "%S" (list def)) 1 -1))
-                     'anonymous)
-                   usage-tail)
-           doc))))
+                 (substring docstring 0 (match-beginning 0)))))
+      (cons (if (and (eq def '\`) (match-beginning 3) (not (match-beginning 
4)))
+                (concat "\\=`" (match-string 3 docstring))
+              (let ((usage-tail (match-string 1 docstring)))
+                (format "(%s%s"
+                        ;; Replace `fn' with the actual function name.
+                        (if (symbolp def)
+                            (help--docstring-quote (format "%S" def))
+                          'anonymous)
+                        usage-tail)))
+            doc))))
 
 (defun help-add-fundoc-usage (docstring arglist)
   "Add the usage info to DOCSTRING.
@@ -1467,7 +1470,9 @@ the same names as used in the original source code, when 
possible."
 (define-obsolete-function-alias 'help-make-usage 'help--make-usage "25.1")
 
 (defun help--make-usage-docstring (fn arglist)
-  (help--docstring-quote (format "%S" (help--make-usage fn arglist))))
+  (help--docstring-quote
+   (let ((print-quoted (eq fn '\`)))
+     (format "%S" (help--make-usage fn arglist)))))
 
 
 (provide 'help)



reply via email to

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