diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2015-06-13 09:35:10 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2015-06-13 09:35:46 -0700 |
commit | 8afef016e2bc413c7a4913554ea6ed2c55474de6 (patch) | |
tree | dddc5194079a7a04941838ef9ab0626cf30daf90 /lisp | |
parent | eb92f89c2125aaf8fdf93cdd85ab46ae278dd950 (diff) | |
download | emacs-8afef016e2bc413c7a4913554ea6ed2c55474de6.tar.gz |
Better fix for documenting `X as "`X"
Fix suggested by Stefan Monnier.
* lisp/help-fns.el (help-fns--signature):
Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
* lisp/help.el (help-split-fundoc, help--make-usage-docstring):
Don't treat `X specially, as help-fns--signature now handles this.
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/help-fns.el | 8 | ||||
-rw-r--r-- | lisp/help.el | 28 |
2 files changed, 17 insertions, 19 deletions
diff --git a/lisp/help-fns.el b/lisp/help-fns.el index 931e8af4df0..80f30e88fa4 100644 --- a/lisp/help-fns.el +++ b/lisp/help-fns.el @@ -383,9 +383,13 @@ suitable file is found, return nil." (help--docstring-quote (format-kbd-macro real-def)))) (t "[Missing arglist. Please make a bug report.]"))) + ;; Insert "`X", not "(\` X)", when documenting `X. + (use1 (replace-regexp-in-string + "\\`(\\\\=\\\\\\\\=` \\([^\n ]*\\))\\'" + "\\\\=`\\1" use t)) (high (if raw - (cons use doc) - (help-highlight-arguments (substitute-command-keys use) + (cons use1 doc) + (help-highlight-arguments (substitute-command-keys use1) (substitute-command-keys doc))))) (let ((fill-begin (point)) (high-usage (car high)) diff --git a/lisp/help.el b/lisp/help.el index d24fbfd64ec..2bf53c09b05 100644 --- a/lisp/help.el +++ b/lisp/help.el @@ -1368,21 +1368,17 @@ 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\\(\\( +\\([^\n ]+\\( .*\\)?\\)?\\)?)\\)\\'" - docstring)) + (when (and docstring (string-match "\n\n(fn\\(\\( .*\\)?)\\)\\'" docstring)) (let ((doc (unless (zerop (match-beginning 0)) - (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)))) + (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 (format "%S" def)) + 'anonymous) + usage-tail) + doc)))) (defun help-add-fundoc-usage (docstring arglist) "Add the usage info to DOCSTRING. @@ -1470,9 +1466,7 @@ 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 - (let ((print-quoted (eq fn '\`))) - (format "%S" (help--make-usage fn arglist))))) + (help--docstring-quote (format "%S" (help--make-usage fn arglist)))) (provide 'help) |