From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Henrik Enberg Newsgroups: gmane.emacs.devel Subject: Re: Setting :inherit attribute on faces via Xresources Date: Sat, 19 Nov 2005 21:57:08 +0100 (CET) Message-ID: <20051119205708.D7C1C3F32@rocksteady.printf.se> References: <20051119201409.EAC4F3F32@rocksteady.printf.se> NNTP-Posting-Host: main.gmane.org X-Trace: sea.gmane.org 1132434172 24867 80.91.229.2 (19 Nov 2005 21:02:52 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sat, 19 Nov 2005 21:02:52 +0000 (UTC) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Nov 19 22:02:48 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1EdZqJ-0005nT-FW for ged-emacs-devel@m.gmane.org; Sat, 19 Nov 2005 22:01:51 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EdZmR-00085j-Al for ged-emacs-devel@m.gmane.org; Sat, 19 Nov 2005 15:57:51 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1EdZlp-000844-Ib for emacs-devel@gnu.org; Sat, 19 Nov 2005 15:57:13 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1EdZlm-00081Y-Dl for emacs-devel@gnu.org; Sat, 19 Nov 2005 15:57:11 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EdZlm-00081U-8I for emacs-devel@gnu.org; Sat, 19 Nov 2005 15:57:10 -0500 Original-Received: from [81.228.11.98] (helo=pne-smtpout1-sn1.fre.skanova.net) by monty-python.gnu.org with esmtp (Exim 4.34) id 1EdZlm-0004J9-ET for emacs-devel@gnu.org; Sat, 19 Nov 2005 15:57:10 -0500 Original-Received: from rocksteady.printf.se (81.224.154.131) by pne-smtpout1-sn1.fre.skanova.net (7.2.060.1) id 437DDFC20003CE54 for emacs-devel@gnu.org; Sat, 19 Nov 2005 21:57:09 +0100 Original-Received: by rocksteady.printf.se (Postfix, from userid 1000) id D7C1C3F32; Sat, 19 Nov 2005 21:57:08 +0100 (CET) Original-To: emacs-devel@gnu.org In-reply-to: <20051119201409.EAC4F3F32@rocksteady.printf.se> (message from Henrik Enberg on Sat, 19 Nov 2005 21:14:09 +0100 (CET)) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:46282 Archived-At: > From: Henrik Enberg > Date: Sat, 19 Nov 2005 21:14:09 +0100 (CET) > > When trying to set an :inherit value on face via Xresources, like so: > "Emacs.dired-ignored.attributeInherit: font-lock-string-face", I get the > following error. > > Face dired-ignored, frame #: invalid attribute :inherit font-lock-string-face from X resource > > This is because the code in Finternal_set_lisp_face_attribute expects > either a symbol or a list of symbols as the value for :inherit. > However, Finternal_set_lisp_face_attribute_from_resource simply passes > the value read from the xserver as a string. This patch fixes it for > me. > > 2005-11-19 Henrik Enberg > > * xfaces.c (Finternal_set_lisp_face_attribute_from_resource): > Handle :inherit property as a lisp expression. [...] Perhaps easier to view as a context diff... Index: xfaces.c =================================================================== RCS file: /cvsroot/emacs/emacs/src/xfaces.c,v retrieving revision 1.340 diff -c -b -r1.340 xfaces.c *** xfaces.c 18 Nov 2005 03:55:45 -0000 1.340 --- xfaces.c 19 Nov 2005 20:50:33 -0000 *************** *** 4678,4684 **** if (SYMBOLP (boolean_value)) value = boolean_value; } ! else if (EQ (attr, QCbox)) value = Fcar (Fread_from_string (value, Qnil, Qnil)); return Finternal_set_lisp_face_attribute (face, attr, value, frame); --- 4678,4684 ---- if (SYMBOLP (boolean_value)) value = boolean_value; } ! else if (EQ (attr, QCbox) || EQ (attr, QCinherit)) value = Fcar (Fread_from_string (value, Qnil, Qnil)); return Finternal_set_lisp_face_attribute (face, attr, value, frame);