From: Dmitry Gutov Date: Wed, 11 May 2016 21:48:37 +0000 (+0300) Subject: Redo the fix for bug#21839 X-Git-Tag: emacs-25.0.94~13 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=f79c352;p=emacs.git Redo the fix for bug#21839 * lisp/help.el (help-add-fundoc-usage): Undo the previous change. (help--make-usage-docstring): Escape newlines when printing. * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda): Ditto (bug#21839). --- diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index ae52e8bebec..68abe67698c 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el @@ -299,7 +299,8 @@ FORM is of the form (ARGS . BODY)." ;; Be careful with make-symbol and (back)quote, ;; see bug#12884. (help--docstring-quote - (let ((print-gensym nil) (print-quoted t)) + (let ((print-gensym nil) (print-quoted t) + (print-escape-newlines t)) (format "%S" (cons 'fn (cl--make-usage-args orig-args)))))) header))) diff --git a/lisp/help.el b/lisp/help.el index 72893754e1e..57f358b9a72 100644 --- a/lisp/help.el +++ b/lisp/help.el @@ -1395,7 +1395,7 @@ ARGLIST can also be t or a string of the form \"(FUN ARG1 ARG2 ...)\"." (if (< (- (match-end 0) (match-beginning 0)) 2) "\n" "") "\n\n") (if (stringp arglist) - (if (string-match "\\`[^ ]+\\(\\(?:.\\|\n\\)*\\))\\'" arglist) + (if (string-match "\\`[^ ]+\\(.*\\))\\'" arglist) (concat "(fn" (match-string 1 arglist) ")") (error "Unrecognized usage format")) (help--make-usage-docstring 'fn arglist))))) @@ -1468,7 +1468,8 @@ 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)))) + (let ((print-escape-newlines t)) + (help--docstring-quote (format "%S" (help--make-usage fn arglist))))) (provide 'help)