unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Gregory Heytings <gregory@heytings.org>
Cc: 57499@debbugs.gnu.org
Subject: bug#57499: Documentation bug in the docstring of set-face-attribute?
Date: Wed, 31 Aug 2022 22:13:46 +0300	[thread overview]
Message-ID: <83fshcrzth.fsf@gnu.org> (raw)
In-Reply-To: <534c9018d2597d4fd752@heytings.org> (message from Gregory Heytings on Wed, 31 Aug 2022 18:33:15 +0000)

> Date: Wed, 31 Aug 2022 18:33:15 +0000
> From: Gregory Heytings <gregory@heytings.org>
> cc: 57499@debbugs.gnu.org
> 
> Just to be clear, I would be happier with the following docstring:
> 
> Set attributes of FACE on FRAME from ARGS.
> 
> This function overrides the face attributes specified by FACE's face spec. 
> It is mostly intended for internal use only.
> 
> If FRAME is a frame, set the attributes only for that frame.  If FRAME is 
> nil, set the attributes for all existing frames, as well as the default 
> for new frames.  If FRAME is t, change the default for new frames only.
> 
> ARGS must come in pairs ATTRIBUTE VALUE.  ATTRIBUTE must be a valid face 
> attribute name.  All attributes can be set to `unspecified'; this fact is 
> not further mentioned below.  To set an attribute to `unspecified', the 
> symbol 'unspecified must be used.  Using nil may produce the same effect 
> in some cases, but is not guaranteed to work.

This is a step back, IMO.  It also repeats the same information more
than once, and confuses the nil vs unspecified issue for no good
reason.  How about the following instead:

  Set attributes of FACE on FRAME from ARGS.

  This function overrides the face attributes specified by FACE's face spec. 
  It is mostly intended for internal use only.

  If FRAME is a frame, set the attributes only for that frame.  If FRAME is 
  nil, set the attributes for all existing frames, as well as the default 
  for new frames.  If FRAME is t, change the default for new frames only.

  ARGS must come in pairs ATTRIBUTE VALUE.  ATTRIBUTE must be a valid face 
  attribute name and VALUE must be a value that is valid for ATTRIBUTE,
  as described below for each attribute.

  All attributes can also be set to the special value `unspecified';
  this can be used to reset the value of ATTRIBUTE in a way that
  overrides any value defined by the face's spec in `defface'.

(Of course, after making such a change, we will again need to answer
questions how come using value of nil and FRAME = nil doesn't reset
the attribute, something that the current doc string avoids.  Oh
well.)





  reply	other threads:[~2022-08-31 19:13 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-31  8:14 bug#57499: Documentation bug in the docstring of set-face-attribute? Gregory Heytings
2022-08-31  8:17 ` Gregory Heytings
2022-08-31 11:11 ` Eli Zaretskii
2022-08-31 12:04   ` Gregory Heytings
2022-08-31 12:39     ` Eli Zaretskii
2022-08-31 12:53       ` Gregory Heytings
2022-08-31 13:06         ` Eli Zaretskii
2022-08-31 13:43           ` Gregory Heytings
2022-08-31 16:11             ` Eli Zaretskii
2022-08-31 18:33               ` Gregory Heytings
2022-08-31 19:13                 ` Eli Zaretskii [this message]
2022-08-31 19:33                   ` Gregory Heytings
2022-08-31 19:49                     ` Eli Zaretskii
2022-08-31 21:13                       ` Gregory Heytings
2022-09-01  7:04                         ` Eli Zaretskii
2022-09-01  8:25                           ` Gregory Heytings
2022-09-01  8:44                             ` Eli Zaretskii
2022-09-01  9:02                               ` Gregory Heytings
2022-09-01 11:33                                 ` Eli Zaretskii
2022-09-01 11:56                                   ` Gregory Heytings
2022-09-01 12:08                                     ` Eli Zaretskii
2022-09-01 13:15                                       ` Gregory Heytings
2022-09-01 14:56                                         ` Eli Zaretskii
2022-09-01 17:07                                           ` Gregory Heytings
2022-09-01 18:24                                             ` Eli Zaretskii
2022-09-01 19:35                                               ` Gregory Heytings
2022-09-02 16:00                                                 ` Eli Zaretskii
2022-09-02 20:48                                                   ` Gregory Heytings
2022-09-03  6:00                                                     ` Eli Zaretskii
2022-09-03  6:43                                                       ` Gregory Heytings
2022-09-03  1:26                                                   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors

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=83fshcrzth.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=57499@debbugs.gnu.org \
    --cc=gregory@heytings.org \
    /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).