From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.bugs Subject: bug#911: 23.0.60; custom-set-faces causes "New Frame" to fail (max-specpdl-size) Date: Tue, 16 Sep 2008 16:54:47 +0200 Message-ID: <48CFC8B7.1040406@gmx.at> References: <48C3E3EE.9070309@gmx.at> <20080907165632.GA13662@baso.home> <48C421CC.7060206@gmx.at> <20080907234226.GA22400@baso.home> <48C528C4.4010606@gmx.at> <48CD168D.10107@gmx.at> <20080916121149.GA19679@baso.home> <48CFABAF.5010707@gmx.at> <20080916141738.GA3025@baso.home> Reply-To: martin rudalics , 911@emacsbugs.donarmstrong.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1221577747 32216 80.91.229.12 (16 Sep 2008 15:09:07 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 16 Sep 2008 15:09:07 +0000 (UTC) Cc: 911@emacsbugs.donarmstrong.com To: Ian Miller Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Sep 16 17:09:54 2008 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1KfcAZ-00086o-7E for geb-bug-gnu-emacs@m.gmane.org; Tue, 16 Sep 2008 17:08:47 +0200 Original-Received: from localhost ([127.0.0.1]:37531 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Kfc9Y-0001N4-4o for geb-bug-gnu-emacs@m.gmane.org; Tue, 16 Sep 2008 11:07:44 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Kfc9T-0001Ll-QJ for bug-gnu-emacs@gnu.org; Tue, 16 Sep 2008 11:07:39 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Kfc9R-0001LP-43 for bug-gnu-emacs@gnu.org; Tue, 16 Sep 2008 11:07:38 -0400 Original-Received: from [199.232.76.173] (port=49779 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Kfc9R-0001LM-0Z for bug-gnu-emacs@gnu.org; Tue, 16 Sep 2008 11:07:37 -0400 Original-Received: from rzlab.ucr.edu ([138.23.92.77]:54718) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Kfc9Q-0003U2-El for bug-gnu-emacs@gnu.org; Tue, 16 Sep 2008 11:07:36 -0400 Original-Received: from rzlab.ucr.edu (rzlab.ucr.edu [127.0.0.1]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id m8GF7YdA004471; Tue, 16 Sep 2008 08:07:34 -0700 Original-Received: (from debbugs@localhost) by rzlab.ucr.edu (8.13.8/8.13.8/Submit) id m8GF58JF003264; Tue, 16 Sep 2008 08:05:08 -0700 X-Loop: don@donarmstrong.com Resent-From: martin rudalics Resent-To: bug-submit-list@donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Tue, 16 Sep 2008 15:05:07 +0000 Resent-Message-ID: Resent-Sender: don@donarmstrong.com X-Emacs-PR-Message: report 911 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: unreproducible Original-Received: via spool by 911-submit@emacsbugs.donarmstrong.com id=B911.122157705632738 (code B ref 911); Tue, 16 Sep 2008 15:05:07 +0000 Original-Received: (at 911) by emacsbugs.donarmstrong.com; 16 Sep 2008 14:57:36 +0000 Original-Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with SMTP id m8GEvTPX032613 for <911@emacsbugs.donarmstrong.com>; Tue, 16 Sep 2008 07:57:30 -0700 Original-Received: (qmail invoked by alias); 16 Sep 2008 14:57:23 -0000 Original-Received: from 62-47-39-30.adsl.highway.telekom.at (EHLO [62.47.39.30]) [62.47.39.30] by mail.gmx.net (mp038) with SMTP; 16 Sep 2008 16:57:23 +0200 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX19N3yIQjnNNhz6NaYQ+fRPgmna1ia7nCG6DFpRMwF mhSQzOpXzRVWM5 User-Agent: Thunderbird 2.0.0.16 (Windows/20080708) In-Reply-To: <20080916141738.GA3025@baso.home> X-Y-GMX-Trusted: 0 X-FuHaFi: 0.61 X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) Resent-Date: Tue, 16 Sep 2008 11:07:38 -0400 X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:20566 Archived-At: >> Sorry. Please append the code below at the end of your .emacs and send >> me the contents of the *face-spec-set-2* buffer after the bug occurred. > > Please see attached for contents of this buffer. My bad. When I tried this here it got me a buffer with a couple of lines. Yours is 600K :-( apologies to you and everyone on this list. Please try again with the following (it should print only calls for the default face and distinguish them according to where they are called in `face-spec-recalc'). But please don't post it on the list this time if it gets too large. martin ;;;; Code starts here (require 'cl) (require 'faces) (defvar face-counter 0) (defun face-spec-recalc (face frame) "Reset the face attributes of FACE on FRAME according to its specs. This applies the defface/custom spec first, then the custom theme specs, then the override spec." (face-spec-reset-face face frame) (setq face-counter (1+ face-counter)) (let ((face-sym (or (get face 'face-alias) face))) (or (get face 'customized-face) (get face 'saved-face) (progn (when (eq face 'default) (with-current-buffer (get-buffer-create "*face-spec-set-2*") (insert (format "%s-1 face %s frame %s spec %s\n" face-counter face frame spec)))) (face-spec-set-2 face frame (face-default-spec face)))) (let ((theme-faces (reverse (get face-sym 'theme-face)))) (dolist (spec theme-faces) (when (eq face 'default) (with-current-buffer (get-buffer-create "*face-spec-set-2*") (insert (format "%s-2 face %s frame %s spec %s\n" face-counter face frame spec)))) (face-spec-set-2 face frame (cadr spec)))) (when (eq face 'default) (with-current-buffer (get-buffer-create "*face-spec-set-2*") (insert (format "%s-3 face %s frame %s spec %s\n" face-counter face frame spec)))) (face-spec-set-2 face frame (get face-sym 'face-override-spec)))) ;;;; Code ends here