unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Akib Azmain Turja via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
To: David Ponce <da_vid@orange.fr>
Cc: Po Lu <luangruo@yahoo.com>, 57652@debbugs.gnu.org, gregory@heytings.org
Subject: bug#57652: 29.0.50; Warning setting attribute of face ‘term’
Date: Thu, 08 Sep 2022 17:44:28 +0600	[thread overview]
Message-ID: <87czc69jkz.fsf@disroot.org> (raw)
In-Reply-To: <319e3926-7c22-cabd-43dd-a02f3a01c734@orange.fr> (David Ponce's message of "Thu, 8 Sep 2022 10:22:31 +0200")

[-- Attachment #1: Type: text/plain, Size: 2547 bytes --]

David Ponce <da_vid@orange.fr> writes:

> On 08/09/2022 07:02, Po Lu wrote:
>> David Ponce <da_vid@orange.fr> writes:
>> 
>>> diff --git a/term.el b/term.el
>>> index 797fb18074..c564a5429a 100644
>>> --- a/term.el
>>> +++ b/term.el
>>> @@ -755,17 +755,19 @@ ansi-term-color-vector
>>>      term-color-bright-cyan
>>>      term-color-bright-white])
>>>
>>> -(defcustom term-default-fg-color nil
>>> -  "If non-nil, default color for foreground in Term mode."
>>> +(defcustom term-default-fg-color 'unspecified
>>> +  "Default color for foreground in Term mode."
>>>     :group 'term
>>> -  :type '(choice (const nil) (string :tag "color")))
>>> +  :type '(choice (const unspecified)
>>> +                 (string :tag "color")))
>> Doesn't that change behavior?
>> i.e. wouldn't it be better to test that term-default-fg-color is not
>> nil
>> wherever the face is actually made that color?
>
> To be honest I don't know.  I reread the spec that says:
>
>    "Apart from the values given below, each face attribute can have the
> value ‘unspecified’.  This special value means that the face doesn’t
> specify that attribute directly.  An ‘unspecified’ attribute tells Emacs
> to refer instead to a parent face (see the description ‘:inherit’
> attribute below); or, failing that, to an underlying face (*note
> Displaying Faces::).  (However, ‘unspecified’ is not a valid value in
> ‘defface’.)"
>
> So it seems that unspecified is not allowed in defface.  So, how to
> specify a missing attribute excepted by using nil in the defface used
> in term.el?
>
> (defface term
>   `((t
>      :foreground ,term-default-fg-color
>      :background ,term-default-bg-color
>      :inherit default))
>   "Default face to use in Term mode."
>   :group 'term)
>
> Thanks!
>
>
>
>

How about the following?

--8<---------------cut here---------------start------------->8---
(defface term
  `((t
     ,@(when term-default-fg-color
         '(:foreground ,term-default-fg-color))
     ,@(when term-default-bg-color
         '(:background ,term-default-bg-color))
     :inherit default))
  "Default face to use in Term mode."
  :group 'term)
--8<---------------cut here---------------end--------------->8---

It would not mention the attributes if the colors are nil.

-- 
Akib Azmain Turja

Find me on Mastodon at @akib@hostux.social.

This message is signed by me with my GnuPG key.  Its fingerprint is:

    7001 8CE5 819F 17A3 BBA6  66AF E74F 0EFA 922A E7F5

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

      parent reply	other threads:[~2022-09-08 11:44 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-07 18:49 bug#57652: 29.0.50; Warning setting attribute of face ‘term’ David Ponce
2022-09-08  5:02 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-09-08  8:22   ` David Ponce
2022-09-08  8:42     ` Eli Zaretskii
2022-09-08 12:34       ` David Ponce
2022-09-08  8:43     ` David Ponce
2022-09-08 11:44     ` Akib Azmain Turja via Bug reports for GNU Emacs, the Swiss army knife of text editors [this message]

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87czc69jkz.fsf@disroot.org \
    --to=bug-gnu-emacs@gnu.org \
    --cc=57652@debbugs.gnu.org \
    --cc=akib@disroot.org \
    --cc=da_vid@orange.fr \
    --cc=gregory@heytings.org \
    --cc=luangruo@yahoo.com \
    /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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).