mirror of
https://github.com/doomemacs/doomemacs
synced 2025-08-01 12:17:25 -05:00
This adds support for two new definition types to the left! convenience macro: defun* and defadvice. First, defun* is for defining recursive, local functions (uses cl-labels under the hood). e.g. (letf! (defun* triangle (number) (cond ((<= number 0) 0) ((= number 1) 1) ((> number 1) (+ number (triangle (1- number)))))) ...) Second, defadvice is for defining temporary advice (which has a global effect; it can later be improved to limit scope by redefining things with cl-letf). e.g. (letf! (defadvice my-fixed-triangle (fn number) :around #'triangle (funcall fn (1+ number))) ...)