Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
;; This file: ;; http://anggtwu.net/LISP/2025-remove-method.lisp.html ;; http://anggtwu.net/LISP/2025-remove-method.lisp ;; (find-angg "LISP/2025-remove-method.lisp") ;; Author: Eduardo Ochs <eduardoochs@gmail.com> ;; ;; See: ;; http://anggtwu.net/2025-modern.html ;; http://anggtwu.net/2025-modern.html#remove-method ;; (find-es "emacs" "cl-undefmethod") ;; https://lists.gnu.org/archive/html/help-gnu-emacs/2025-03/msg00019.html Edrx ;; https://lists.gnu.org/archive/html/help-gnu-emacs/2025-03/msg00020.html Stefan ;; https://dept-info.labri.fr/~strandh/Teaching/PFS/Common/David-Lamkins/chapter14.html ;; (find-try-sly-intro) ;; (find-clhsdoci "defmethod") ;; (find-clhsdoci "find-method") ;; (find-clhsdoci "remove-method") ;; ;; Thanks to scymtym - <https://github.com/scymtym> - from the #lisp ;; IRC channel for help on this! * (eepitch-sbcl) * (eepitch-kill) * (eepitch-sbcl) * (eepitch-sly) * (eepitch-kill) * (eepitch-sly) (defstruct myab a b) (defvar ab1) (setq ab1 (make-myab :a 20 :b 30)) ab1 ;; -> #S(MYAB :A 20 :B 30) (defmethod print-object ((p myab) stream) (with-slots (a b) p (format stream "~a_~a" a b))) ab1 ;; -> 20_30 (defvar m) (setq m (find-method #'print-object '() (mapcar #'find-class '(myab t)))) (remove-method #'print-object m) ab1 ;; -> #S(MYAB :A 20 :B 30)