diff --git a/src/defcommand.lisp b/src/defcommand.lisp index cd53efc53..46547741e 100644 --- a/src/defcommand.lisp +++ b/src/defcommand.lisp @@ -136,7 +136,12 @@ (register-command (make-instance ',class-name) :mode-name ',mode-name - :command-name ,command-name)))))) + :command-name ,command-name) + ',name))))) + +(defmacro lambda-command (params (&rest arg-descriptors) &body body) + (let ((name (gensym "LAMBDA-COMMAND"))) + `(define-command ,name ,params ,arg-descriptors ,@body))) #| (defclass foo-advice () ()) diff --git a/src/internal-packages.lisp b/src/internal-packages.lisp index 4712c2685..8a22ac468 100644 --- a/src/internal-packages.lisp +++ b/src/internal-packages.lisp @@ -359,7 +359,8 @@ :all-command-names) ;; defcommand.lisp (:export - :define-command) + :define-command + :lambda-command) ;; mode.lisp (:export :ensure-mode-object