unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Mattias Engdegård" <mattiase@acm.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: master af4791b5706: Fix apparently wrong `delete` and `delq` value discards (bug#61730)
Date: Thu, 25 May 2023 10:05:17 +0200	[thread overview]
Message-ID: <609008CC-CABB-4FA2-84AB-6D8F4439AD91@acm.org> (raw)
In-Reply-To: <83lehcnazb.fsf@gnu.org>

25 maj 2023 kl. 09.09 skrev Eli Zaretskii <eliz@gnu.org>:

> configvar-name is evidently a string, whereas the value returned by
> delq is not a string at all.  Do you understand why this code even
> calls delq?

I thought I did but may have been mistaken. Let's look at this again:

From the text of this function we can infer that `configvar-name` is the name (symbol) of a dynamic variable whose value is a list of symbols naming other variables. If we strip all the `boundp` and `delq` gunk, this function essentially becomes

  (mapcar #'symbol-value (symbol-value configvar-name))

I don't fancy mutation of a list while it's being looped over any more than you do, but I didn't want to touch it more than strictly necessary.

>  If it wants to change the value of configvar-name, it
> should assign to (symbol-value configvar-name), no?

It does.

>  And if all it
> wants is to skip 'sym' and not add it to 'got', then there's no need
> to call delq, right?

As the yes-or-no-p call suggests, the intent is likely to remove unbound entries permanently so there is no need to ask again in future calls, or ask more than once for the same variable appearing in duplicate during the same call.




      reply	other threads:[~2023-05-25  8:05 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-25  7:09 master af4791b5706: Fix apparently wrong `delete` and `delq` value discards (bug#61730) Eli Zaretskii
2023-05-25  8:05 ` Mattias Engdegård [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=609008CC-CABB-4FA2-84AB-6D8F4439AD91@acm.org \
    --to=mattiase@acm.org \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.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).