Mercurial > emacs
changeset 5955:459bb5807c0b
(face-try-color-list): Don't rely on errors from using
a color that the server can't really support.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Tue, 15 Feb 1994 22:38:00 +0000 |
parents | 02f406110e4b |
children | 586a37656a31 |
files | lisp/faces.el |
diffstat | 1 files changed, 24 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/faces.el Tue Feb 15 16:22:49 1994 +0000 +++ b/lisp/faces.el Tue Feb 15 22:38:00 1994 +0000 @@ -862,26 +862,34 @@ ;; That can't fail, so any subsequent elements after the t are ignored. (defun face-try-color-list (function face colors frame) (if (stringp colors) - (funcall function face colors frame) + (if (or (and (not (x-display-color-p)) (not (string= colors "gray"))) + (= (x-display-planes) 1)) + nil + (funcall function face colors frame)) (if (eq colors t) (invert-face face frame) (let (done) (while (and colors (not done)) - (if (cdr colors) - ;; If there are more colors to try, catch errors - ;; and set `done' if we succeed. - (condition-case nil - (progn - (if (eq (car colors) t) - (invert-face face frame) - (funcall function face (car colors) frame)) - (setq done t)) - (error nil)) - ;; If this is the last color, let the error get out if it fails. - ;; If it succeeds, we will exit anyway after this iteration. - (if (eq (car colors) t) - (invert-face face frame) - (funcall function face (car colors) frame))) + (if (and (stringp (car colors)) + (or (and (not (x-display-color-p)) + (not (string= (car colors) "gray"))) + (= (x-display-planes) 1))) + nil + (if (cdr colors) + ;; If there are more colors to try, catch errors + ;; and set `done' if we succeed. + (condition-case nil + (progn + (if (eq (car colors) t) + (invert-face face frame) + (funcall function face (car colors) frame)) + (setq done t)) + (error nil)) + ;; If this is the last color, let the error get out if it fails. + ;; If it succeeds, we will exit anyway after this iteration. + (if (eq (car colors) t) + (invert-face face frame) + (funcall function face (car colors) frame)))) (setq colors (cdr colors))))))) ;; If we are already using x-window frames, initialize faces for them.