Subject: Re: bug#55149: 29.0.50; Commit f30625943e broke magit/with-editor

From: Jonas Bernoulli <[email-masked]>
Date: Thu, 28 Apr 2022 17:26:47 +0200

Stefan Monnier <[email-masked]> writes:

> Lars Ingebrigtsen [2022-04-28 12:23:04] wrote:
>> dick <[email-masked]> writes:
>>
>>> -   (:after (apply cdr r) (apply car r))
>>> +   (:after (prog1 (apply cdr r) (apply car r)))
>>
>> I guess this is the same as bug#55149, so I've merged the reports.
>>
>> Apparently, returning the value of the :after function is what's
>> documented to happen (and is what the trunk does now), but it didn't
>> use to do that, so it's breaking advice that relies on the old
>> behaviour, if I understand 55149 correctly.
>> Stefan?
>
> Yes, I implemented the new code from the doc (since the old code was
> written in the form of an "undecipherable" bytecode string), but the doc
> was wrong.  It's now fixed.

At least add-function's docstring did contain the (prog1 ...) until
92e49944a39ce6372a80430f65913c4c8b531677 started to generate the
docstring.

-`:after'	(lambda (&rest r) (prog1 (apply OLDFUN r) (apply FUNCTION r)))
- ...
+<<>>

So we are not restoring an old bug and changing the docstring to
describe the restored behavior instead of the intended but not
actually implemented behavior.

We unintentionally briefly changed the behavior *as well as* the
documentation and have now restored both to what we had before.