emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master 2497a31: Upcase parameters in things like "&optiona


From: Lars Ingebrigtsen
Subject: [Emacs-diffs] master 2497a31: Upcase parameters in things like "&optional (arg 3)"
Date: Wed, 9 Oct 2019 03:09:49 -0400 (EDT)

branch: master
commit 2497a31646db4d255135c16f7b5b318421c5d845
Author: Lars Ingebrigtsen <address@hidden>
Commit: Lars Ingebrigtsen <address@hidden>

    Upcase parameters in things like "&optional (arg 3)"
    
    * lisp/help.el (help--make-usage): Upcase cl-defgeneric (etc)
    parameter names (bug#23517).
---
 lisp/help.el | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/lisp/help.el b/lisp/help.el
index 1ae4b2c..3b3d1f9 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -1469,13 +1469,22 @@ the same names as used in the original source code, 
when possible."
 (defun help--make-usage (function arglist)
   (cons (if (symbolp function) function 'anonymous)
        (mapcar (lambda (arg)
-                 (if (not (symbolp arg)) arg
+                 (cond
+                   ;; Parameter name.
+                   ((symbolp arg)
                    (let ((name (symbol-name arg)))
                      (cond
                        ((string-match "\\`&" name) arg)
                        ((string-match "\\`_." name)
                         (intern (upcase (substring name 1))))
-                       (t (intern (upcase name)))))))
+                       (t (intern (upcase name))))))
+                   ;; Parameter with a default value (from
+                   ;; cl-defgeneric etc).
+                   ((and (consp arg)
+                         (symbolp (car arg)))
+                    (cons (intern (upcase (symbol-name (car arg)))) (cdr arg)))
+                   ;; Something else.
+                   (t arg)))
                arglist)))
 
 (define-obsolete-function-alias 'help-make-usage 'help--make-usage "25.1")



reply via email to

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