|
From: | Daniel Sausner |
Subject: | bug#52003: Unexpected advising behavior due to recursive implementation |
Date: | Sun, 21 Nov 2021 09:32:43 +0000 |
Do remember that you are always on your own when using advice; Emacs cannot reasonably promise any compatibility on that level.I see. I somehow assumed that functions at that level would aim to be compliant to the max.
Well, I'd say that in that case the non-interactive performance outweighs this particular corner case of advising these core functions, which I came to understand is a hot iron.That said, it would be straightforward to straighten out the control flow by extracting the bulk of the code to a new (internal) function which is called with or without `condition-case`. It would be slightly slower since it entails an extra function call in the non-interactive case, and forward-sexp and its ilk are workhorses in many language modes. It may not matter much, of course.
Therefore I'd say this bug report can be closed from my point of view. I guess I still have to use advising as I currently see no other feasible way out, but I can make it sensitive to `interactive` as well.
Thanks for the helpful input!
[Prev in Thread] | Current Thread | [Next in Thread] |