aboutsummaryrefslogtreecommitdiff
path: root/src/util.lisp
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-03-17 21:02:38 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-03-18 09:55:57 -0700
commit18bbd370b56ba080a4d64545ed66f31d49e1b442 (patch)
treeaf1434b06ce7379d6b683dceb50d17cee4e2fa7f /src/util.lisp
parent2403f5c0a09915cd1100159953fa8430f0417ced (diff)
downloadconsfigurator-18bbd370b56ba080a4d64545ed66f31d49e1b442.tar.gz
tidy up signalling INAPPLICABLE-PROPERTY and FAILED-CHANGE
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'src/util.lisp')
-rw-r--r--src/util.lisp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/util.lisp b/src/util.lisp
index f9098b1..903c330 100644
--- a/src/util.lisp
+++ b/src/util.lisp
@@ -71,6 +71,14 @@ supported."
unless (char= #\& (char (symbol-name arg*) 0))
collect arg*))
+(defmacro define-simple-error (name &optional docstring)
+ `(progn
+ (define-condition ,name (simple-error) ()
+ ,@(and docstring `((:documentation ,docstring))))
+ (defun ,name (message &rest args)
+ ,@(and docstring `(,docstring))
+ (error ',name :format-control message :format-arguments args))))
+
;;;; Version numbers