[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#68114: [PATCH] Make 'advice-remove' interactive
From: |
Eli Zaretskii |
Subject: |
bug#68114: [PATCH] Make 'advice-remove' interactive |
Date: |
Sat, 06 Jan 2024 18:48:20 +0200 |
> From: Steven Allen <steven@stebalien.com>
> Date: Sat, 30 Dec 2023 08:37:48 -0800
>
> Ah, I responded to the previous message before seeing this one.
I installed this patch, thanks.
> > Btw, what is "the 'name' of a piece of advice"? I realize that this
> > text was there to begin with, but I don't think I understand what it
> > wants to tell me, so maybe we could clarify that. The only reference
> > to a "name" in the preceding text uses "name" to mean a symbol, but
> > then what is "the name of a piece of advice"? I guess this goes back
> > to define-advice, which says:
> >
> > @defmac define-advice symbol (where lambda-list &optional name depth)
> > &rest body
> > This macro defines a piece of advice and adds it to the function named
> > @var{symbol}. The advice is an anonymous function if @var{name} is
> > @code{nil} or a function named @code{symbol@@name}. See
> > @code{advice-add} for explanation of other arguments.
> >
> > which is also a bit mysterious. Does NAME used here serve as "the
> > name of the piece of advice"? if so, should "@code{symbol@@name}" be
> > "@code{symbol@@@var{name}}" instead, i.e. "name" is not a literal
> > string but the reference to NAME?
>
> So, those two names are actually different. The 'name' in referenced in
> the `advice-remove` documentation is the 'name in the advice's 'props'
> alist. The 'name' specified in `define-advice` is _not_ added to this
> alist and is only used in the advice's function name.
>
> I'm happy to resolve this in a separate patch, if that's OK with you.
> Something like (`define-advice` documentation):
>
> Note if NAME is nil the advice is anonymous; otherwise the advice
> function is named `SYMBOL@NAME' and the advice is named NAME.
>
> Then actually add NAME to the properties.
Yes, I think something like this should be installed.