You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Thanks for the cookbook it is an awesome resource. In the section on debugging under advise and watch it says:
They do exist in SBCL but are not exported.
That would be really great as being able to set a watch on some variable and breaking when it's modified is the one thing I miss from emacs lisp. I can't find anything else on this searching online, or searching the whole sbcl source code for "advise" and "watch".
The text was updated successfully, but these errors were encountered:
great info, thanks! from that reddit link the same user notes you can implement advice yourself in ordinary common lisp without any special help from the implementation:
You can put a new function into a function binding with (set (symbol-function ) ). Your new function can call the old one (which you can keep in some table keyed on whatever), and do things around it. That is called "advice". Then later you can restore the old one. All of this can be done portably, and with compiled functions.
It seems that cl-advice library is calling sb-int:encapsulate, which is still present in latest SBCL, it seems internally SBCL calls advise/unadvise encapsulate/unencapsulate and is defined in src/code/fdefinition.lisp.
Still there is no watch in SBCL?
Thanks for the cookbook it is an awesome resource. In the section on debugging under advise and watch it says:
That would be really great as being able to set a watch on some variable and breaking when it's modified is the one thing I miss from emacs lisp. I can't find anything else on this searching online, or searching the whole sbcl source code for "advise" and "watch".
The text was updated successfully, but these errors were encountered: