From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Jan =?UTF-8?Q?Dj=C3=A4rv?= Newsgroups: gmane.emacs.bugs Subject: bug#9982: Theme faces wrongly applied after background changes. Date: Sun, 29 Jan 2012 16:22:35 +0100 Message-ID: References: <097h3b7rlx.fsf@fencepost.gnu.org> <877h0a6a0s.fsf@gnu.org> <87zkd6bpun.fsf@gnu.org> <8762fuegta.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 (Apple Message framework v1251.1) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1327850586 6565 80.91.229.3 (29 Jan 2012 15:23:06 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 29 Jan 2012 15:23:06 +0000 (UTC) Cc: Brendan Miller , 9982@debbugs.gnu.org To: Chong Yidong Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Jan 29 16:23:04 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RrWas-0007Cp-Mx for geb-bug-gnu-emacs@m.gmane.org; Sun, 29 Jan 2012 16:23:03 +0100 Original-Received: from localhost ([::1]:37660 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RrWas-0001uy-61 for geb-bug-gnu-emacs@m.gmane.org; Sun, 29 Jan 2012 10:23:02 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:32826) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RrWap-0001un-K4 for bug-gnu-emacs@gnu.org; Sun, 29 Jan 2012 10:23:00 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RrWao-0005Ds-QJ for bug-gnu-emacs@gnu.org; Sun, 29 Jan 2012 10:22:59 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:40333) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RrWao-0005Dm-NX for bug-gnu-emacs@gnu.org; Sun, 29 Jan 2012 10:22:58 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1RrWas-0001FZ-F0 for bug-gnu-emacs@gnu.org; Sun, 29 Jan 2012 10:23:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Jan =?UTF-8?Q?Dj=C3=A4rv?= Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 29 Jan 2012 15:23:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 9982 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 9982-submit@debbugs.gnu.org id=B9982.13278505714787 (code B ref 9982); Sun, 29 Jan 2012 15:23:02 +0000 Original-Received: (at 9982) by debbugs.gnu.org; 29 Jan 2012 15:22:51 +0000 Original-Received: from localhost ([127.0.0.1]:43956 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RrWah-0001F9-5r for submit@debbugs.gnu.org; Sun, 29 Jan 2012 10:22:51 -0500 Original-Received: from mailout.melmac.se ([62.20.26.67]:35696) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RrWae-0001Ev-Q5 for 9982@debbugs.gnu.org; Sun, 29 Jan 2012 10:22:49 -0500 Original-Received: from mail01.melmac.se (mail01.melmac.se [62.20.26.80]) by mailout.melmac.se (Postfix) with ESMTP id 1B1D59E98 for <9982@debbugs.gnu.org>; Sun, 29 Jan 2012 16:22:38 +0100 (CET) Original-Received: (qmail 9692 invoked by uid 89); 29 Jan 2012 15:21:00 -0000 Original-Received: from h-46-59-42-18.na.cust.bahnhof.se (HELO coolsville.localdomain) (boel.djarv@bdtv.se@46.59.42.18) by mail01.melmac.se with ESMTPA; 29 Jan 2012 15:21:00 -0000 Original-Received: from anon-164-90.vpn.ipredator.se (anon-164-90.vpn.ipredator.se [93.182.164.90]) by coolsville.localdomain (Postfix) with ESMTPSA id 52B587FA058; Sun, 29 Jan 2012 16:22:37 +0100 (CET) In-Reply-To: <8762fuegta.fsf@gnu.org> X-Mailer: Apple Mail (2.1251.1) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:56197 Archived-At: Hello. 29 jan 2012 kl. 15:14 skrev Chong Yidong: > I've committed a patch to trunk that should fix the immediate problem. > The reason this bug triggered under XFCE is that XFCE sends Emacs a > `font-render' config event, and a font-setting-change-default-font bug > caused the default face to be modified even with font-use-system-font > nil. > > This patch doesn't address the broader problem, noted in my previous > message: when font-use-system-font is non-nil, the way > font-setting-change-default-font uses custom-push-theme will likely > interefere with the user's own Custom settings and/or Custom themes. > > I think that instead of using custom-push-theme, > font-setting-change-default-font should set a `font' frame parameter in > window-system-default-frame-alist. Something like the following (needs > testing---I don't have Gconf libs installed at the moment). > > Jan, WDYT? > This does fix the bug. Jan D. > > === modified file 'lisp/dynamic-setting.el' > *** lisp/dynamic-setting.el 2012-01-29 13:55:09 +0000 > --- lisp/dynamic-setting.el 2012-01-29 14:09:40 +0000 > *************** > *** 75,86 **** > > ;; Set for future frames. > (when set-font > ! ;; FIXME: this is not going to play well with Custom themes. > ! (set-face-attribute 'default t :font new-font) > ! (let ((spec (list (list t (face-attr-construct 'default))))) > ! (put 'default 'customized-face spec) > ! (custom-push-theme 'theme-face 'default 'user 'set spec) > ! (put 'default 'face-modified nil)))))) > > (defun dynamic-setting-handle-config-changed-event (event) > "Handle config-changed-event on the display in EVENT. > --- 75,88 ---- > > ;; Set for future frames. > (when set-font > ! (let* ((ws (window-system)) > ! (alist (assq ws window-system-default-frame-alist))) > ! (setq window-system-default-frame-alist > ! (delq alist window-system-default-frame-alist)) > ! (setq alist (cdr alist)) > ! (setq alist (cons (cons 'font new-font) > ! (delq 'font alist))) > ! (push (cons ws alist) window-system-default-frame-alist)))))) > > (defun dynamic-setting-handle-config-changed-event (event) > "Handle config-changed-event on the display in EVENT.