# HG changeset patch # User Richard M. Stallman # Date 761351880 0 # Node ID 459bb5807c0b54e8a0ef6a7e236ea07c757dab06 # Parent 02f406110e4b5916a818ab6d431664132b052f2d (face-try-color-list): Don't rely on errors from using a color that the server can't really support. diff -r 02f406110e4b -r 459bb5807c0b lisp/faces.el --- 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.