GNU bug report logs - #52003
Unexpected advising behavior due to recursive implementation

Previous Next

Package: emacs;

Reported by: Daniel Sausner <daniel.sausner <at> posteo.de>

Date: Sat, 20 Nov 2021 17:05:03 UTC

Severity: normal

Done: Mattias EngdegÄrd <mattiase <at> acm.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Daniel Sausner <daniel.sausner <at> posteo.de>
To: Mattias EngdegÄrd <mattiase <at> acm.org>
Cc: 52003 <at> debbugs.gnu.org
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.
> 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.
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.

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!




This bug report was last modified 3 years and 178 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.