[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Undo defalias
From: |
Óscar Fuentes |
Subject: |
Re: Undo defalias |
Date: |
Fri, 03 Mar 2023 22:11:27 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Stefan Monnier via Users list for the GNU Emacs text editor
<help-gnu-emacs@gnu.org> writes:
>> The problem was caused by aggressive-indent-mode.el. It uses
>>
>> (cl-letf (((symbol-function 'message) #'ignore))
>> ...
>
> So either:
> - you're still within the `cl-letf`. In that case
> `abort-recursive-edit` or some such should fix the problem.
I don't have the problematic session around anymore, but I recall seeing
a *Backtrace* buffer among the list of existing buffers. However, IIRC
Emacs says that a recursive edit is active and that indication was not
there.
> - you're not within the `cl-letf` any more, in which case the question
> becomes: how come `cl-letf` didn't restore the previous value?
> `cl-letf` uses `unwind-protect` so it should restore the previous
> binding reliably even in case of errors.
>
> [ There's admittedly the possibility/risk that you hit `C-g` (or some
> similar error occurred) right at the specific moment when `cl-letf`
> was executing the second part of the `unwind-protect` (i.e. the one
> that reset `message` to its previous definition).
> That's a known hole in our system. ]
That's also quite plausible, indeed. I tend to use C-g quite frequently.