GNU bug report logs -
#911
23.0.60; custom-set-faces causes "New Frame" to fail (max-specpdl-size)
Previous Next
Reported by: Ian Miller <emacs <at> soroban.fastmail.fm>
Date: Sun, 7 Sep 2008 11:45:04 UTC
Severity: normal
Tags: unreproducible
Done: Chong Yidong <cyd <at> stupidchicken.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
On Wed, Oct 1, 2008 at 10:47 AM, martin rudalics <rudalics <at> gmx.at> wrote:
>> I'm also getting max-specpdl-size exceeded on C-x 5 2, so I cannot check
>> the
>> previously observed behaviour that even when the initial frame is
>> erratically
>> sized, subsequent frames are fine.
>
> That's most likely bug#911 (aka nine-eleven) see
>
> http://debbugs.gnu.org/cgi/bugreport.cgi?bug=911
>
> Could you try the recipe Chong gave there?
I tried a slightly different recipe (below) and that made the error go away.
I assume Chong's will work as well - I just wanted to set the inhibit
flag as early as possible (and I wasn't 100% sure whether or not the let
would use the defvar'd flag instead of its own scoped var).
--- faces.el.~1.425.~ 2008-09-25 10:49:34.000000000 +0200
+++ faces.el 2008-10-01 11:48:01.000000000 +0200
@@ -1839,10 +1839,13 @@ variable with `setq'; this won't have th
(declare-function x-get-resource "frame.c"
(attribute class &optional component subclass))
+(defvar inhibit-frame-set-background-mode nil)
(defun frame-set-background-mode (frame)
"Set up display-dependent faces on FRAME.
Display-dependent faces are those which have different definitions
according to the `background-mode' and `display-type' frame parameters."
+ (unless inhibit-frame-set-background-mode
+ (setq inhibit-frame-set-background-mode t)
(let* ((bg-resource
(and (window-system frame)
(x-get-resource "backgroundMode" "BackgroundMode")))
@@ -1914,7 +1917,8 @@ according to the `background-mode' and `
;; parameters, unless they have been locally modified.
(dolist (face (face-list))
(unless (memq face locally-modified-faces)
- (face-spec-recalc face frame)))))))
+ (face-spec-recalc face frame))))))
+ (setq inhibit-frame-set-background-mode nil)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
This bug report was last modified 16 years and 234 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.