branch: externals/eev commit e500a22059b7650d8d772b3423f634acc0f14dc5 Author: Eduardo Ochs <eduardoo...@gmail.com> Commit: Eduardo Ochs <eduardoo...@gmail.com>
Added `find-advicebefore-links'. --- ChangeLog | 4 ++++ VERSION | 4 ++-- eev-tlinks.el | 44 +++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 49 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 59481bd49d..f39cd6e5b5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2022-01-28 Eduardo Ochs <eduardoo...@gmail.com> + + * eev-tlinks.el (find-advicebefore-links): new function. + 2022-01-26 Eduardo Ochs <eduardoo...@gmail.com> * eev-blinks.el (ee-shortdefp-maxlen-name) diff --git a/VERSION b/VERSION index 2791f18376..93a676a6fa 100644 --- a/VERSION +++ b/VERSION @@ -1,2 +1,2 @@ -Thu Jan 27 04:37:42 GMT 2022 -Thu Jan 27 01:37:42 -03 2022 +Fri Jan 28 06:56:14 GMT 2022 +Fri Jan 28 03:56:15 -03 2022 diff --git a/eev-tlinks.el b/eev-tlinks.el index 28199fc0ea..0c7592c994 100644 --- a/eev-tlinks.el +++ b/eev-tlinks.el @@ -19,7 +19,7 @@ ;; ;; Author: Eduardo Ochs <eduardoo...@gmail.com> ;; Maintainer: Eduardo Ochs <eduardoo...@gmail.com> -;; Version: 20220118 +;; Version: 20220128 ;; Keywords: e-scripts ;; ;; Latest version: <http://angg.twu.net/eev-current/eev-tlinks.el> @@ -114,6 +114,7 @@ ;; «.ee-use-red-bullets» (to "ee-use-red-bullets") ;; «.find-angg-es-links» (to "find-angg-es-links") ;; «.find-1stclassvideo-links» (to "find-1stclassvideo-links") +;; «.find-advicebefore-links» (to "find-advicebefore-links") (require 'eev-env) @@ -2819,6 +2820,47 @@ and: (find-video-links-intro \\\"7. \\\" \\\"find-eev-video\\\") +;; «find-advicebefore-links» (to ".find-advicebefore-links") +;; Skel: (find-find-links-links-new "advicebefore" "fun" "") +;; Test: (find-advicebefore-links) +;; (find-advicebefore-links "FOO") +;; +;; I wrote this when I was trying to learn edebug and I was failing +;; miserably. +;; +(defun find-advicebefore-links (&optional fun &rest pos-spec-list) +"Visit a temporary buffer containing code for adding advice to FUN. +The temporary buffer will contain code for advice-add'ing a +logging function to FUN, for advice-remove'ing the logging +function, and for inspecting the log. See the demo to understand +how this works." + (interactive) + (setq fun (or fun "{fun}")) + (apply + 'find-elinks-elisp + `((find-advicebefore-links ,fun ,@pos-spec-list) + ;; Convention: the first sexp always regenerates the buffer. + (find-efunction 'find-advicebefore-links) + ";;" + ,(ee-template0 "\ +;; See: (find-elnode \"Advice Combinators\") +;; Demo: http://angg.twu.net/elisp/find-advicebefore-links.el.html +;; http://angg.twu.net/elisp/find-advicebefore-links.el +;; (find-wget \"http://angg.twu.net/elisp/find-advicebefore-links.el\") + +(setq ee-log nil) +(defun ee-log (f r) (setq ee-log (cons (cons f r) ee-log))) +(defun ee-log-{fun} (&rest r) (ee-log '{fun} r)) +(advice-add '{fun} :before 'ee-log-{fun}) +;; +(advice-remove '{fun} 'ee-log-{fun}) +(find-2a nil '(find-eppp ee-log)) +") + ) + pos-spec-list)) + + +