If I define a new mode using define-derived-mode
or define-minor-mode
, can the mode setup somehow signal failure so that the mode is not activated?
All of the following modes are activated despite the error.
(define-derived-mode foo-major-mode fundamental-mode "Foo"
"Docstring"
(error "Unable to set up Foo major mode"))
(define-minor-mode foo-local-minor-mode
"Docstring"
(when foo-local-minor-mode
(error "Unable to set up Foo local minor mode")))
(define-minor-mode foo-global-minor-mode
"Docstring"
:global t
(when foo-global-minor-mode
(error "Unable to set up Foo global minor mode")))