From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Michael Heerdegen Newsgroups: gmane.emacs.help Subject: Re: custom-set-faces for various file types Date: Sun, 22 Nov 2020 22:39:08 +0100 Message-ID: <87im9xcbr7.fsf@web.de> References: <87sg91cdpd.fsf@web.de> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="18756"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) To: help-gnu-emacs@gnu.org Cancel-Lock: sha1:dZ22W63Vl6hN+7SMjPkDBf5YYHU= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Sun Nov 22 22:39:53 2020 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kgx5N-0004or-3k for geh-help-gnu-emacs@m.gmane-mx.org; Sun, 22 Nov 2020 22:39:53 +0100 Original-Received: from localhost ([::1]:59362 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kgx5M-00033a-6h for geh-help-gnu-emacs@m.gmane-mx.org; Sun, 22 Nov 2020 16:39:52 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:56260) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kgx4n-00033M-KZ for help-gnu-emacs@gnu.org; Sun, 22 Nov 2020 16:39:17 -0500 Original-Received: from static.214.254.202.116.clients.your-server.de ([116.202.254.214]:59108 helo=ciao.gmane.io) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kgx4m-0005H4-8Z for help-gnu-emacs@gnu.org; Sun, 22 Nov 2020 16:39:17 -0500 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1kgx4j-00043F-3k for help-gnu-emacs@gnu.org; Sun, 22 Nov 2020 22:39:13 +0100 X-Injected-Via-Gmane: http://gmane.org/ Received-SPF: pass client-ip=116.202.254.214; envelope-from=geh-help-gnu-emacs@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -13 X-Spam_score: -1.4 X-Spam_bar: - X-Spam_report: (-1.4 / 5.0 requ) BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:125493 Archived-At: Christopher Dimech writes: > > What is your goal? Faces looking differently depending on the major > > mode? > > I would like that some special constructs are highligthed so that the > contrast would be suitable for assistive reasons. For instance, in > current texinfo modes, constructs in pure tex do not get highlighted. > So I have some code that uses custom-set-faces in texi-init.el. > > The Manual says that custom-set-variables must be only called once. > [...] I don't think custom is the right tool for your purpose. Face definitions are global. You can switch between settings ("themes"), but the effect is always global. For texinfo, maybe you could instead change the font-locking of the mode? It's defined in `texinfo-font-lock-keywords'. Maybe it's enough to add an entry to that list? Emacs also supports per-buffer modifications of faces. The mechanism is called "face-remap". You could use it in the mode's hooks to change how a face looks like in buffers using that mode. `face-remap-add-relative' is the function to use, takes a face and a list of specs. Using that would be a cleaner solution for your case I think. Michael.