Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
;; This file:
;;   http://anggtwu.net/elisp/2025-modern-advice.el.html
;;   http://anggtwu.net/elisp/2025-modern-advice.el
;;          (find-angg "elisp/2025-modern-advice.el")
;; Author: Eduardo Ochs <eduardoochs@gmail.com>
;;
;; This is part of "Some problems of modernizing Emacs".
;; See: (find-angg "ORG/2025-modern.org")
;;      (find-angg "elisp/2025-modern-prints.el")
;;      (find-angg "elisp/2025-modern-reset.el")
;;
;; The prefix "adt" means "advice-test".
;;
;; «.advice-test-1»	(to "advice-test-1")
;; «.advice-test-2»	(to "advice-test-2")
;; «.advice-test-3»	(to "advice-test-3")



;; «advice-test-1»  (to ".advice-test-1")
(defun adt-insert (o) (insert (format "\n;;  --> %S" o)))
(defun adt-1 () (adt-insert 1))
(defun adt-2 () (adt-insert 2))
(defun adt-3 () (adt-insert 3))
;; (adt-2)
(advice-add 'adt-2 :before 'adt-1)
(advice-add 'adt-2 :after  'adt-3)
;; (adt-2)
(advice-remove 'adt-2      'adt-1)
(advice-remove 'adt-2      'adt-3)
;; (adt-2)



;; «advice-test-2»  (to ".advice-test-2")
(defun adt-insert (o) (insert (format "\n;;  --> %S" o)))
(defun adt-1 () (adt-insert 1))
(defun adt-2 () (adt-insert 2))
(defun adt-3 () (adt-insert 3))
;;
(advice-add 'adt-2 :before 'adt-1)
(advice-add 'adt-2 :after  'adt-3)
;; (find-2a nil '(find-efunctiondescr 'adt-2))
(advice-remove 'adt-2      'adt-1)
(advice-remove 'adt-2      'adt-3)
;; (find-2a nil '(find-efunctiondescr 'adt-2))


;; «advice-test-3»  (to ".advice-test-3")
(defun adt-insert (o) (insert (format "\n;;  --> %S" o)))
(defun adt-1 () (adt-insert 1))
(defun adt-2 () (adt-insert 2))
(defun adt-3 () (adt-insert 3))
;;
(advice-add 'adt-2 :before 'adt-1)
(advice-add 'adt-2 :after  'adt-3)
;; (find-2a nil '(find-efunctiondescr 'adt-2))
;; (find-2a nil '(find-epp (symbol-function 'adt-2)))
;; (load "2025-modern-prints.el")
;; (find-2a nil '(find-clprin1ind (symbol-function 'adt-2)))
;; (load "2025-modern-reset.el")
;; (find-2a nil '(find-clprin1ind (symbol-function 'adt-2)))
;; (load "2025-modern-prints.el")
;; (find-2a nil '(find-clprin1ind (symbol-function 'adt-2)))



(fmakunbound     'adt-2)
(symbol-function 'adt-2)




;; Invalid read syntax:

#f(advice
   :car adt-3
   :how :after
   :cdr #f(advice
	   :car adt-1
	   :how :before
	   :cdr (lambda nil (adt-insert 2))
	   :props nil)
   :props nil)

;; (advice-remove 'adt-2      'adt-1)
;; (find-2a nil '(find-clprin1ind (symbol-function 'adt-2)))

#f(advice
   :car adt-3
   :how :after
   :cdr (lambda nil (adt-insert 2))
   :props nil)

;; (advice-remove 'adt-2      'adt-3)
;; (find-2a nil '(find-clprin1ind (symbol-function 'adt-2)))

(lambda nil (adt-insert 2))




;; Local Variables:
;; coding:  utf-8-unix
;; End: