* bug#37943: assoc-default is wrongly flagged as side-effect-free.
@ 2019-10-27 12:24 Alan Mackenzie
2019-10-28 15:24 ` Lars Ingebrigtsen
0 siblings, 1 reply; 4+ messages in thread
From: Alan Mackenzie @ 2019-10-27 12:24 UTC (permalink / raw)
To: 37943
Hello, Emacs.
Emacs 27.
In the source for assoc-default (in subr.el) appears
(declare (side-effect-free t))
. This is not true when the TEST argument to assoc-default itself
changes the match-data.
I suggest removing this declaration from the function rather than
amending the code with a save-match-data. There are calls to
assoc-default in set-auto-mode where the caller relies on the match data
set by the function when TEST is string-match. :-(
--
Alan Mackenzie (Nuremberg, Germany).
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#37943: assoc-default is wrongly flagged as side-effect-free.
2019-10-27 12:24 bug#37943: assoc-default is wrongly flagged as side-effect-free Alan Mackenzie
@ 2019-10-28 15:24 ` Lars Ingebrigtsen
2020-08-25 23:32 ` Stefan Kangas
0 siblings, 1 reply; 4+ messages in thread
From: Lars Ingebrigtsen @ 2019-10-28 15:24 UTC (permalink / raw)
To: Alan Mackenzie; +Cc: 37943
Alan Mackenzie <acm@muc.de> writes:
> In the source for assoc-default (in subr.el) appears
>
> (declare (side-effect-free t))
>
> . This is not true when the TEST argument to assoc-default itself
> changes the match-data.
>
> I suggest removing this declaration from the function rather than
> amending the code with a save-match-data. There are calls to
> assoc-default in set-auto-mode where the caller relies on the match data
> set by the function when TEST is string-match. :-(
Yeah, I don't think any function that takes a closure as an argument
should be marked side-effect free? The TEST function can side-effect as
much as it wants.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#37943: assoc-default is wrongly flagged as side-effect-free.
2019-10-28 15:24 ` Lars Ingebrigtsen
@ 2020-08-25 23:32 ` Stefan Kangas
2020-08-26 9:28 ` Lars Ingebrigtsen
0 siblings, 1 reply; 4+ messages in thread
From: Stefan Kangas @ 2020-08-25 23:32 UTC (permalink / raw)
To: Lars Ingebrigtsen; +Cc: Alan Mackenzie, 37943
Lars Ingebrigtsen <larsi@gnus.org> writes:
> Alan Mackenzie <acm@muc.de> writes:
>
>> In the source for assoc-default (in subr.el) appears
>>
>> (declare (side-effect-free t))
>>
>> . This is not true when the TEST argument to assoc-default itself
>> changes the match-data.
>>
>> I suggest removing this declaration from the function rather than
>> amending the code with a save-match-data. There are calls to
>> assoc-default in set-auto-mode where the caller relies on the match data
>> set by the function when TEST is string-match. :-(
>
> Yeah, I don't think any function that takes a closure as an argument
> should be marked side-effect free? The TEST function can side-effect as
> much as it wants.
No further replies within 43 weeks.
Should we just go ahead and remove it then? No one seems to be
objecting.
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#37943: assoc-default is wrongly flagged as side-effect-free.
2020-08-25 23:32 ` Stefan Kangas
@ 2020-08-26 9:28 ` Lars Ingebrigtsen
0 siblings, 0 replies; 4+ messages in thread
From: Lars Ingebrigtsen @ 2020-08-26 9:28 UTC (permalink / raw)
To: Stefan Kangas; +Cc: Alan Mackenzie, 37943
Stefan Kangas <stefan@marxist.se> writes:
> Should we just go ahead and remove it then? No one seems to be
> objecting.
Yup. I've now done so on the trunk.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-08-26 9:28 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-10-27 12:24 bug#37943: assoc-default is wrongly flagged as side-effect-free Alan Mackenzie
2019-10-28 15:24 ` Lars Ingebrigtsen
2020-08-25 23:32 ` Stefan Kangas
2020-08-26 9:28 ` Lars Ingebrigtsen
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).