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
> 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.