Subject: RE: bug#15974: 24.3.50; emacs -Q -nw: awful color for input fields: BRIGHT YELLOW

From: Drew Adams <[email-masked]>
Date: Sun, 9 Feb 2014 19:03:05 -0800 (PST)

> I was asking for a recipe to demonstrate the problem.  It's not an
> entirely novel idea, I would have thought?

As I replied to Eli:
http://www.emacswiki.org/emacs-en/download/highlight.el

The option shown in the screenshot is `hlt-auto-face-backgrounds'.

> What on Earth is `hlt-auto-face-backgrounds'?  I can't find any
> such symbol in the Emacs tree.

Yes, Virginia; there is a Santa Claus.  There is a world of Emacs
code beyond the Emacs tree. ;-)

In that file, you will find the defcustom, which was also in the
mail you are replying to.  That defcustom and these 2 functions
are all you need to repro the bug and see for yourself:

(defun hlt-tty-colors ()
  "Colors available for use with Emacs in a terminal (`emacs -nw')."
  (hlt-remove-if-not
    #'x-color-defined-p
    (if (fboundp 'tty-color-alist)
        (mapcar #'car (tty-color-alist))
      '("blue" "green" "cyan" "red" "magenta" "brown" "lightgray" "darkgray"
        "yellow" "white" "lightblue" "lightgreen" "lightcyan" "lightred"
        "lightmagenta"))))

(defun hlt-remove-if-not (pred xs)
  "A copy of list XS with only elements that satisfy predicate PRED."
  (let ((result  ()))
    (dolist (x xs) (when (funcall pred x) (push x result)))
    (nreverse result)))

Be sure to start with emacs -Q -nw.  Use `C-u C-x =' on the yellow
fields and you will see they use face `widget-field'.  That is the
face that needs fixing, IMO.

But again, this bug has nothing to do with the code in that file.
It is the Customize _edit fields_ that are bright yellow.