all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Ian Miller <emacs@soroban.fastmail.fm>
To: martin rudalics <rudalics@gmx.at>
Cc: 911@emacsbugs.donarmstrong.com
Subject: bug#911: 23.0.60; custom-set-faces causes "New Frame" to fail (max-specpdl-size)
Date: Tue, 16 Sep 2008 13:11:49 +0100	[thread overview]
Message-ID: <20080916121149.GA19679@baso.home> (raw)
In-Reply-To: <48CD168D.10107@gmx.at>

On Sun, Sep 14, 2008 at 03:50:05PM +0200, martin rudalics wrote:
> Ian,
>
> I can't reproduce this here.  Could your try to edebug the functions
> `face-spec-set-2' and `face-spec-recalc' to find out why (or better how)
> in the trace
>
> >  >   face-spec-set-2(default #<frame emacs@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@baso 0x10107a0>)
> [...]
> >  >   face-spec-set-2(default #<frame emacs@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@baso 0x10107a0>)
>
> the function `face-spec-set-2' is called alternately with different
> backgrounds.  That is, edebug these two functions, call C-x 5 2 or
> whatever you have to make a new frame, and tell me whether

Martin,

When I tried to instrument those two functions, there was no problem
with face-spec-recalc, but face-spec-set-2 refused to instrument
with the following complaint:

edebug-syntax-error: Invalid read syntax: "Expected lambda expression"

(defun face-spec-set-2 (face frame spec)
  "Set the face attributes of FACE on FRAME according to SPEC."
  (let* ((attrs (face-spec-choose spec frame)))
    (while attrs
      (let ((attribute (car attrs))
          (value (car (cdr attrs))))
	  ;; Support some old-style attribute names and values.
	  (case attribute
	    (:bold (setq attribute :weight value (if value 'bold
  'normal)))
    (:italic (setq attribute :slant value (if value 'italic 'normal)))
      ((:foreground :background)
       ^
       this is the cursor marking the syntax error    

> (1) `face-spec-recalc' in one and the same call invokes
>     `face-spec-set-2' at least twice (where an invocation should cause
>     `face-spec-set-2' to really call `set-face-attributes'), or
>
> (2) `face-spec-recalc' is called at least twice when making a new frame.

When I edebug face-spec-recalc and attempt to create a new frame, each
time I press 'T' to Trace Fast the function appears to be re-entered,
and this appears to go on indefinitely?

Additionally a frame *is* created now, but it does not appear
automatically on the screen - however, it can be accessed via the
Buffers->Frames menu, and it does not use the colour scheme specified
in .emacs.

Also, when edebug reaches face-spec-recalc, I get the following
console message with each subsequent step of edebug (sorry, I don't
know if this is relevant, I am a complete novice when it comes to
emacs debugging!): 

(emacs:21944): Gtk-CRITICAL **: gtk_box_pack_start: assertion
`child->parent ==NULL' failed

cheers,
ian






  reply	other threads:[~2008-09-16 12:11 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-07 14:23 bug#911: 23.0.60; custom-set-faces causes "New Frame" to fail (max-specpdl-size) martin rudalics
2008-09-07 16:56 ` Ian Miller
2008-09-07 18:47   ` martin rudalics
2008-09-07 23:42     ` Ian Miller
2008-09-08 13:29       ` martin rudalics
2008-09-14 13:50         ` martin rudalics
2008-09-16 12:11           ` Ian Miller [this message]
2008-09-16 12:50             ` martin rudalics
     [not found]               ` <20080916141738.GA3025@baso.home>
2008-09-16 14:54                 ` martin rudalics
     [not found]                 ` <48CFCA45.8050201@gmx.at>
2008-09-17 10:41                   ` Ian Miller
     [not found]                     ` <48D11231.3050707@gmx.at>
     [not found]                       ` <20080917153343.GA3925@baso.home>
     [not found]                         ` <48D12A4A.2010003@gmx.at>
     [not found]                           ` <20080919180120.GA22672@baso.home>
     [not found]                             ` <48D3F7B6.1050001@gmx.at>
     [not found]                               ` <20080919195533.GA27756@baso.home>
2008-09-21 18:30                                 ` martin rudalics
  -- strict thread matches above, loose matches on Subject: below --
2008-09-07 11:36 Ian Miller

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=20080916121149.GA19679@baso.home \
    --to=emacs@soroban.fastmail.fm \
    --cc=911@emacsbugs.donarmstrong.com \
    --cc=rudalics@gmx.at \
    /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.