all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Can an :around advice know the name of the function it is advising?
@ 2016-02-14  8:02 Marcin Borkowski
  2016-02-14 16:13 ` Michael Heerdegen
  0 siblings, 1 reply; 4+ messages in thread
From: Marcin Borkowski @ 2016-02-14  8:02 UTC (permalink / raw)
  To: Help Gnu Emacs mailing list

Hi all,

I would like to be able for an :around advice to know not only the
"original function" it is supposed to call, but also its /name/.  (Yes,
I now a function need not have /one/ name -- it may have more or less --
but assume that I added the advice to a command having one name in
a usual manner.)  Is it even possible?  (I guess not, but I wanted to
make sure.)

TIA,

-- 
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Faculty of Mathematics and Computer Science
Adam Mickiewicz University



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Can an :around advice know the name of the function it is advising?
  2016-02-14  8:02 Can an :around advice know the name of the function it is advising? Marcin Borkowski
@ 2016-02-14 16:13 ` Michael Heerdegen
  2016-02-14 16:40   ` Michael Heerdegen
  2016-02-14 18:47   ` Marcin Borkowski
  0 siblings, 2 replies; 4+ messages in thread
From: Michael Heerdegen @ 2016-02-14 16:13 UTC (permalink / raw)
  To: help-gnu-emacs

Marcin Borkowski <mbork@mbork.pl> writes:

> I would like to be able for an :around advice to know not only the
> "original function" it is supposed to call, but also its /name/.  (Yes,
> I now a function need not have /one/ name -- it may have more or less --
> but assume that I added the advice to a command having one name in
> a usual manner.)  Is it even possible?  (I guess not, but I wanted to
> make sure.)

If you know a name of the function you want to advice, you can make it
known to the piece of advice too, of course ;-) But no, there is no
special mechanism for finding the name of the advised function from
within the advice code AFAIK - apart from looking at the
`backtrace-frame's or other brutal things.

AFAICT the process of installing advises only touches functions, but
doesn't cause changes on the symbol level apart from the functions
fbound to them.

Michael.




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Can an :around advice know the name of the function it is advising?
  2016-02-14 16:13 ` Michael Heerdegen
@ 2016-02-14 16:40   ` Michael Heerdegen
  2016-02-14 18:47   ` Marcin Borkowski
  1 sibling, 0 replies; 4+ messages in thread
From: Michael Heerdegen @ 2016-02-14 16:40 UTC (permalink / raw)
  To: help-gnu-emacs

Michael Heerdegen <michael_heerdegen@web.de> writes:

> AFAICT the process of installing advises only touches functions, but
> doesn't cause changes on the symbol level apart from the functions
> fbound to them.

Correction: it can change the property list of a symbol.  But that
doesn't help: if you look at the symbol-function of an advised named
function, there is no reference to the name there.

But well, that's not the case for unadvised named functions as well.

Michael.





^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Can an :around advice know the name of the function it is advising?
  2016-02-14 16:13 ` Michael Heerdegen
  2016-02-14 16:40   ` Michael Heerdegen
@ 2016-02-14 18:47   ` Marcin Borkowski
  1 sibling, 0 replies; 4+ messages in thread
From: Marcin Borkowski @ 2016-02-14 18:47 UTC (permalink / raw)
  To: Michael Heerdegen; +Cc: help-gnu-emacs


On 2016-02-14, at 17:13, Michael Heerdegen <michael_heerdegen@web.de> wrote:

> Marcin Borkowski <mbork@mbork.pl> writes:
>
>> I would like to be able for an :around advice to know not only the
>> "original function" it is supposed to call, but also its /name/.  (Yes,
>> I now a function need not have /one/ name -- it may have more or less --
>> but assume that I added the advice to a command having one name in
>> a usual manner.)  Is it even possible?  (I guess not, but I wanted to
>> make sure.)
>
> If you know a name of the function you want to advice, you can make it
> known to the piece of advice too, of course ;-) But no, there is no

Yes, and as you have seen in my other message (thanks for the answer,
I'll reply later) I went that route.

> special mechanism for finding the name of the advised function from
> within the advice code AFAIK - apart from looking at the
> `backtrace-frame's or other brutal things.
>
> AFAICT the process of installing advises only touches functions, but
> doesn't cause changes on the symbol level apart from the functions
> fbound to them.

Thanks.

> Michael.

Best,

-- 
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Faculty of Mathematics and Computer Science
Adam Mickiewicz University



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-02-14 18:47 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-14  8:02 Can an :around advice know the name of the function it is advising? Marcin Borkowski
2016-02-14 16:13 ` Michael Heerdegen
2016-02-14 16:40   ` Michael Heerdegen
2016-02-14 18:47   ` Marcin Borkowski

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.