* help-fns.el (help-downcase-arguments): New option, defaulting to nil.
authorJuanma Barranquero <lekktu@gmail.com>
Thu, 24 Sep 2009 19:19:41 +0000 (19:19 +0000)
committerJuanma Barranquero <lekktu@gmail.com>
Thu, 24 Sep 2009 19:19:41 +0000 (19:19 +0000)
  (help-default-arg-highlight): Remove.
  (help-highlight-arg): New function.
  (help-do-arg-highlight): Use it.
  Suggested by Drew Adams <drew.adams@oracle.com>.  (Bug#4510, bug#4520)

* NEWS: Mention new variable `help-downcase-arguments'
  and new default for arguments in *Help* buffers.

etc/ChangeLog
etc/NEWS
lisp/ChangeLog
lisp/help-fns.el

index 68fcba4..e63316d 100644 (file)
@@ -1,3 +1,8 @@
+2009-09-22  Juanma Barranquero  <lekktu@gmail.com>
+
+       * NEWS: Mention new variable `help-downcase-arguments'
+       and new default for arguments in *Help* buffers.
+
 2009-09-15  Juanma Barranquero  <lekktu@gmail.com>
 
        * NEWS: Mention new behavior of -Q and new variable
index fcc48aa..7f4765e 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -47,6 +47,9 @@ were loaded.
 
 * Changes in Emacs 23.2
 
+** Function arguments in *Help* buffers are now in uppercase by default.
+You can customize the new variable `help-downcase-arguments' to change it.
+
 ** Unibyte sessions are now considered obsolete.
 I.e. the use of the environment variable EMACS_UNIBYTE, or command line
 arguments --unibyte, --multibyte, --no-multibyte, and --no-unibyte
index d0394ed..0418b72 100644 (file)
@@ -1,3 +1,11 @@
+2009-09-24  Juanma Barranquero  <lekktu@gmail.com>
+
+       * help-fns.el (help-downcase-arguments): New option, defaulting to nil.
+       (help-default-arg-highlight): Remove.
+       (help-highlight-arg): New function.
+       (help-do-arg-highlight): Use it.
+       Suggested by Drew Adams <drew.adams@oracle.com>.  (Bug#4510, bug#4520)
+
 2009-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * term.el (term-set-scroll-region, term-handle-ansi-escape):
index 2425310..7608e9f 100644 (file)
@@ -158,15 +158,18 @@ KIND should be `var' for a variable or `subr' for a subroutine."
            (concat "src/" file)
          file)))))
 
-(defun help-default-arg-highlight (arg)
-  "Default function to highlight arguments in *Help* buffers.
-It returns ARG in face `help-argument-name'; ARG is also
-downcased if it displays differently than the default
-face (according to `face-differs-from-default-p')."
-  (propertize (if (face-differs-from-default-p 'help-argument-name)
-                  (downcase arg)
-                arg)
-              'face 'help-argument-name))
+(defcustom help-downcase-arguments nil
+  "If non-nil, argument names in *Help* buffers are downcased."
+  :type 'boolean
+  :group 'help
+  :version "23.2")
+
+(defun help-highlight-arg (arg)
+  "Highlight ARG as an argument name for a *Help* buffer.
+Return ARG in face `help-argument-name'; ARG is also downcased
+if the variable `help-downcase-arguments' is non-nil."
+  (propertize (if help-downcase-arguments (downcase arg) arg)
+             'face 'help-argument-name))
 
 (defun help-do-arg-highlight (doc args)
   (with-syntax-table (make-syntax-table emacs-lisp-mode-syntax-table)
@@ -184,7 +187,7 @@ face (according to `face-differs-from-default-p')."
                          "\\(?:-[a-z0-9-]+\\)?"  ; for ARG-xxx, ARG-n
                          "\\(?:-[{([<`\"].*?\\)?"; for ARG-{x}, (x), <x>, [x], `x'
                          "\\>")                  ; end of word
-                 (help-default-arg-highlight arg)
+                 (help-highlight-arg arg)
                  doc t t 1)))))
 
 (defun help-highlight-arguments (usage doc &rest args)