]> git.eshelyaron.com Git - emacs.git/commitdiff
(face-set-after-frame-default): Ignore errors in face-spec-face-set.
authorRichard M. Stallman <rms@gnu.org>
Sun, 24 Nov 2002 18:59:08 +0000 (18:59 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sun, 24 Nov 2002 18:59:08 +0000 (18:59 +0000)
lisp/faces.el

index f721ac0a7e868fdcf1b8b0193243eb0dbbe1dbe0..028ea671bd78c5ae6e7da7ae9467e3147af09c6e 100644 (file)
@@ -1669,15 +1669,17 @@ Value is the new frame created."
 (defun face-set-after-frame-default (frame)
   "Set frame-local faces of FRAME from face specs and resources.
 Initialize colors of certain faces from frame parameters."
+  ;; Don't let frame creation fail because of an invalid face spec.
   (dolist (face (face-list))
-    (when (not (equal face 'default))
-      (face-spec-set face (face-user-default-spec face) frame)
-      (internal-merge-in-global-face face frame)
-      (when (and (memq window-system '(x w32 mac))
-                (or (not (boundp 'inhibit-default-face-x-resources))
-                    (not (eq face 'default))))
-       (make-face-x-resource-internal face frame))))
-
+    (condition-case ()
+       (when (not (equal face 'default))
+         (face-spec-set face (face-user-default-spec face) frame)
+         (internal-merge-in-global-face face frame)
+         (when (and (memq window-system '(x w32 mac))
+                    (or (not (boundp 'inhibit-default-face-x-resources))
+                        (not (eq face 'default))))
+           (make-face-x-resource-internal face frame)))
+      (error nil)))
   ;; Initialize attributes from frame parameters.
   (let ((params '((foreground-color default :foreground)
                  (background-color default :background)