Subject: 23.1; Separate help-argument-face from downcasing
From: "Drew Adams" <[email-masked]>
To: <[email-masked]>
Date: Mon, 21 Sep 2009 14:35:00 -0700

Emacs 22 introduced face `help-argument-name' and function
`help-default-arg-highlight'.  The Emacs 22 NEWS says this:
 
  To change the default, customize face `help-argument-name' or
  redefine the function `help-default-arg-highlight'.
 
The problem is that function `help-default-arg-highlight' couples
(a) the use of a face to highlight the arguments with (b) downcasing
the arguments.  These two should be separated, so users can highlight
without downcasing (or downcase without highlighting).
 
I, for instance, find lowercase italics (the default, starting with
Emacs 22) to be much less readable than uppercase non-italics (the
default before Emacs 22).  But I would really prefer uppercase
italics.  There is no way to get this, short of redefining the
function `help-default-arg-highlight'.
 
That should not be the only alternative for users.  Users should not
be expected to redefine basic functions in order to customize such
appearances.  And in any case, it makes no sense for the face and
the letter case to be hard-code-coupled.

This is the definition of `help-default-arg-highlight':

(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))
 
If face `help-argument-name' is different from the default face,
then the args are downcased. The logic should simply be to apply
the face systematically: if it is the same as the default, then
the face would have no effect. And then provide a separate option
to control upcasing/downcasing.

In GNU Emacs 23.1.1 (i386-mingw-nt5.1.2600)
 of 2009-07-29 on SOFT-MJASON
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (4.4)'