From: Lars Ingebrigtsen Date: Wed, 9 Oct 2019 07:06:33 +0000 (+0200) Subject: Upcase parameters in things like "&optional (arg 3)" X-Git-Tag: emacs-27.0.90~1201 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=2497a31646db4d255135c16f7b5b318421c5d845;p=emacs.git Upcase parameters in things like "&optional (arg 3)" * lisp/help.el (help--make-usage): Upcase cl-defgeneric (etc) parameter names (bug#23517). --- diff --git a/lisp/help.el b/lisp/help.el index 1ae4b2c38d9..3b3d1f977e1 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")