GNU bug report logs - #911
23.0.60; custom-set-faces causes "New Frame" to fail (max-specpdl-size)

Previous Next

Package: emacs;

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

From: martin rudalics <rudalics <at> gmx.at>
To: Ian Miller <emacs <at> soroban.fastmail.fm>
Cc: 911 <at> debbugs.gnu.org
Subject: bug#911: 23.0.60; custom-set-faces causes "New Frame" to fail	(max-specpdl-size)
Date: Mon, 08 Sep 2008 15:29:40 +0200
> This is what I get if I toggle-debug-on-error
> (I hope this is useful?):
>
> Debugger entered--Lisp error: (error "Variable binding depth exceeds max-specpdl-size")
>   framep-on-display(#<frame emacs <at> baso 0xed2800>)
>   display-color-cells(#<frame emacs <at> baso 0xed2800>)
>   face-spec-set-match-display(((min-colors 88) (class color)) #<frame emacs <at> baso 0xed2800>)
>   face-spec-choose((((... ...) (:foreground "white" :background "blue1")) ((...) (:foreground "white" :background "blue")) (t (:slant italic))) #<frame emacs <at> baso 0xed2800>)
>   face-spec-match-p(custom-themed (((... ...) (:foreground "white" :background "blue1")) ((...) (:foreground "white" :background "blue")) (t (:slant italic))) #<frame emacs <at> baso 0xed2800>)
>   frame-set-background-mode(#<frame emacs <at> baso 0x10107a0>)
>   internal-set-lisp-face-attribute(default :background "#ffffff" #<frame emacs <at> baso 0x10107a0>)
>   set-face-attribute(default #<frame emacs <at> baso 0x10107a0> :background "#ffffff")
>   face-spec-set-2(default #<frame emacs <at> baso 0x10107a0> ((t :stipple nil :background "#ffffff" :foreground "#000000" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 90 :width normal :foundry "unknown" :family "DejaVu Sans Mono")))
>   face-spec-recalc(default #<frame emacs <at> baso 0x10107a0>)
>   frame-set-background-mode(#<frame emacs <at> baso 0x10107a0>)
>   internal-set-lisp-face-attribute(default :background "DarkSlateGray" #<frame emacs <at> baso 0x10107a0>)
>   set-face-attribute(default #<frame emacs <at> baso 0x10107a0> :background "DarkSlateGray")
>   face-spec-set-2(default #<frame emacs <at> baso 0x10107a0> ((t (:stipple nil :background "DarkSlateGray" :foreground "wheat" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 121 :width normal :foundry "unknown" :family "DejaVu Sans Mono"))))
>   face-spec-recalc(default #<frame emacs <at> baso 0x10107a0>)
>   frame-set-background-mode(#<frame emacs <at> baso 0x10107a0>)
[...]
>   internal-set-lisp-face-attribute(default :background "#ffffff" #<frame emacs <at> baso 0x10107a0>)
>   set-face-attribute(default #<frame emacs <at> baso 0x10107a0> :background "#ffffff")
>   face-spec-set-2(default #<frame emacs <at> baso 0x10107a0> ((t :stipple nil :background "#ffffff" :foreground "#000000" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 90 :width normal :foundry "unknown" :family "DejaVu Sans Mono")))
>   face-spec-recalc(default #<frame emacs <at> baso 0x10107a0>)
>   frame-set-background-mode(#<frame emacs <at> baso 0x10107a0>)
>   internal-set-lisp-face-attribute(default :background "DarkSlateGray" #<frame emacs <at> baso 0x10107a0>)
>   set-face-attribute(default #<frame emacs <at> baso 0x10107a0> :background "DarkSlateGray")
>   face-spec-set-2(default #<frame emacs <at> baso 0x10107a0> ((t (:stipple nil :background "DarkSlateGray" :foreground "wheat" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 121 :width normal :foundry "unknown" :family "DejaVu Sans Mono"))))
>   face-spec-recalc(default #<frame emacs <at> baso 0x10107a0>)
>   frame-set-background-mode(#<frame emacs <at> baso 0x10107a0>)
>   x-create-frame-with-faces(nil)
>   make-frame()
>   make-frame-command()
>   call-interactively(make-frame-command nil nil)

IIUC it has entered infinite recursion where `frame-set-background-mode'
is entered over and over again.  Somehow alternating between a "#ffffff"
and "DarkSlateGray" background, very interesting.

But I don't really understand where this happens :-(

martin





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.