all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: don@donarmstrong.com (Emacs bug Tracking System)
To: Chong Yidong <cyd@stupidchicken.com>
Subject: bug#911: marked as done (23.0.60; custom-set-faces causes "New  Frame" to fail (max-specpdl-size))
Date: Wed, 24 Sep 2008 13:30:04 -0700	[thread overview]
Message-ID: <handler.911.D911.122228791525593.ackdone@emacsbugs.donarmstrong.com> (raw)
In-Reply-To: 20080907113642.GB3007@baso.home

[-- Attachment #1: Type: text/plain, Size: 891 bytes --]


Your message dated Wed, 24 Sep 2008 16:25:39 -0400
with message-id <87y71hthoc.fsf@cyd.mit.edu>
and subject line Re: bug#911: 23.0.60; custom-set-faces causes "New Frame" to fail
has caused the Emacs bug report #911,
regarding 23.0.60; custom-set-faces causes "New Frame" to fail (max-specpdl-size)
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact don@donarmstrong.com
immediately.)


-- 
911: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=911
Emacs Bug Tracking System
Contact don@donarmstrong.com with problems

[-- Attachment #2: Type: message/rfc822, Size: 6365 bytes --]

From: Ian Miller <emacs@soroban.fastmail.fm>
To: emacs-pretest-bug@gnu.org
Subject: 23.0.60; custom-set-faces causes "New Frame" to fail (max-specpdl-size)
Date: Sun, 7 Sep 2008 12:36:42 +0100
Message-ID: <20080907113642.GB3007@baso.home>



Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.

Your bug report will be posted to the emacs-pretest-bug@gnu.org
mailing list.

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:

Whenever I select "File->New Frame" (C-x 5 2) a new frame does not
appear and I receive the message "Variable binding depth exceeds
max-specpdl-size". 

This seems to be caused by any use of custom-set-faces in the
.emacs file. When I remove the custom-set-faces code from .emacs, the
bug does not occur. 

Example custom-set-faces in .emacs that causes the bug:

     (custom-set-faces
      ;; custom-set-faces was added by Custom.
      ;; If you edit it by hand, you could mess it up, so be careful.
      ;; Your init file should contain only one such instance.
      ;; If there is more than one, they won't work right.
      '(default ((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")))))

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
/usr/share/emacs/23.0.60/etc/DEBUG for instructions.


In GNU Emacs 23.0.60.1 (x86_64-redhat-linux-gnu, GTK+ Version 2.12.11)
 of 2008-08-01 on x86-1
Windowing system distributor `The X.Org Foundation', version
 11.0.10499905
configured using `configure  '--build=x86_64-redhat-linux-gnu'
 '--host=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux-gnu'
 '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr'
 '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc'
 '--datadir=/usr/share' '--includedir=/usr/include'
 '--libdir=/usr/lib64' '--libexecdir=/usr/libexec'
 '--localstatedir=/var' '--sharedstatedir=/usr/com'
 '--mandir=/usr/share/man' '--infodir=/usr/share/info'
 'build_alias=x86_64-redhat-linux-gnu'
 'host_alias=x86_64-redhat-linux-gnu'
 'target_alias=x86_64-redhat-linux-gnu' 'CFLAGS=-DMAIL_USE_LOCKF -O2
 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
 --param=ssp-buffer-size=4 -m64 -mtune=generic''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_GB.utf8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  show-paren-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <menu-bar> <file> 
<make-frame> M-x r e p o <tab> r <tab> <return>

Recent messages:
Loading /usr/share/emacs/site-lisp/site-start.d/igrep-init.el
(source)...done
Loading /usr/share/emacs/site-lisp/site-start.d/muse-init.el
(source)...done
Loading /usr/share/emacs/site-lisp/site-start.d/php-mode-init.el
(source)...done
Loading /usr/share/emacs/site-lisp/site-start.d/po-mode-init.el
(source)...done
Loading /usr/share/emacs/site-lisp/site-start.d/rpm-spec-mode-init.el
(source)...done
Loading gnus...done
Loading paren...done
For information about GNU Emacs and the GNU system, type C-h C-a.
display-color-cells: Variable binding depth exceeds max-specpdl-size
Making completion list...



[-- Attachment #3: Type: message/rfc822, Size: 2467 bytes --]

From: Chong Yidong <cyd@stupidchicken.com>
To: martin rudalics <rudalics@gmx.at>
Cc: 911-done@emacsbugs.donarmstrong.com, Ian Miller <ian@soroban.fastmail.fm>
Subject: Re: bug#911: 23.0.60; custom-set-faces causes "New Frame" to fail
Date: Wed, 24 Sep 2008 16:25:39 -0400
Message-ID: <87y71hthoc.fsf@cyd.mit.edu>

> When creating a new frame `frame-set-background-mode' gets called
> which eventually calls `face-spec-recalc'...  which calls
> `face-spec-set-2' two times for the default face background, one time
> for #ffffff and one time for DarkSlateGray.  `face-spec-set-2' calls
> `set-face-attribute', which calls `internal-set-lisp-face-attribute'
> which calls Fmodify_frame_parameters which calls
> `frame-set-background-mode' again.

The Emacs face code strikes again, huh.

> (>= (apply '+ (color-values "DarkSlateGrey"))
>     (* (apply '+ (color-values "white")) .6))
>
> evaluates to nil while
>
> (>= (apply '+ (color-values "#ffffff"))
>     (* (apply '+ (color-values "white")) .6))
>
> evaluates to t.  This means that `bg-mode' never equals `old-bg-mode'
> but continuously alternates between 'light and 'dark, so
> `frame-set-background-mode' will call `face-spec-recalc' thus sending
> Emacs into a nasty loop.
>
> Note that the looping behavior is due to the second call in the dolist
> (that for DarkSlateGrey).  The first call (for #ffffff) terminates.
>
> I'm not sure how to fix this because that looping has no specific entry
> point.

How about defining a variable `frame-set-background-mode-bg-mode'?  If
it's nil, frame-set-background-mode uses the existing calculation to
determine whether it's light or dark; if it's non-nil, it uses that
existing value.  This should prevent the oscillation.


  reply	other threads:[~2008-09-24 20:30 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <87y71hthoc.fsf@cyd.mit.edu>
2008-09-07 11:36 ` bug#911: 23.0.60; custom-set-faces causes "New Frame" to fail (max-specpdl-size) Ian Miller
2008-09-24 20:30   ` Emacs bug Tracking System [this message]
2008-10-02 20:30   ` bug#911: marked as done (23.0.60; custom-set-faces causes "New Frame" to fail (max-specpdl-size)) Emacs bug Tracking System
2008-09-25  9:11 ` bug#911: 23.0.60; custom-set-faces causes "New Frame" to fail martin rudalics
2008-09-25 14:31   ` Chong Yidong
2008-09-25 15:17     ` martin rudalics

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=handler.911.D911.122228791525593.ackdone@emacsbugs.donarmstrong.com \
    --to=don@donarmstrong.com \
    --cc=cyd@stupidchicken.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.