(read-face-attribute): If there's no entry for the user's input in
authorMiles Bader <miles@gnu.org>
Fri, 15 Dec 2000 03:12:09 +0000 (03:12 +0000)
committerMiles Bader <miles@gnu.org>
Fri, 15 Dec 2000 03:12:09 +0000 (03:12 +0000)
VALID, just use it as-is (this will often result in an error, but it may
be OK for e.g. colors using hexadecimal notation, and at least will
yield a better error message).

lisp/ChangeLog
lisp/faces.el

index 43d2d2a..9a803c2 100644 (file)
@@ -1,5 +1,10 @@
 2000-12-15  Miles Bader  <miles@gnu.org>
 
+       * faces.el (read-face-attribute): If there's no entry for the
+       user's input in VALID, just use it as-is (this will often result
+       in an error, but it may be OK for e.g. colors using hexadecimal
+       notation, and at least will yield a better error message).
+
        * window.el (mode-line-window-height-fudge): Function removed.
        (height-affecting-face-attributes, mode-line-window-height-fudge): 
        Variables removed.
index 9821be0..36bc0a4 100644 (file)
@@ -923,13 +923,14 @@ of a global face.  Value is the new attribute value."
               ;; Terminal frames can support colors that don't appear
               ;; explicitly in VALID, using color approximation code
               ;; in tty-colors.el.
-              (if (and (memq attribute '(:foreground :background))
-                       (not (memq window-system '(x w32 mac)))
-                       (not (member new-value
-                                    '("unspecified"
-                                      "unspecified-fg" "unspecified-bg"))))
+              (when (and (memq attribute '(:foreground :background))
+                         (not (memq window-system '(x w32 mac)))
+                         (not (member new-value
+                                      '("unspecified"
+                                        "unspecified-fg" "unspecified-bg"))))
                   (setq new-value (car (tty-color-desc new-value frame))))
-              (setq new-value (cdr (assoc new-value valid))))))
+              (when (assoc new-value valid)
+                (setq new-value (cdr (assoc new-value valid)))))))
          ((eq valid 'integerp)
           (setq new-value (face-read-integer face old-value attribute-name)))
          (t (error "Internal error")))