diff options
author | Daniel Kochmański <daniel@turtleware.eu> | 2024-08-25 10:56:37 +0200 |
---|---|---|
committer | Daniel Kochmański <daniel@turtleware.eu> | 2024-09-02 13:38:46 +0200 |
commit | b0fa35a42595cba23e21ffe8acfa04ab9669fd47 (patch) | |
tree | 0e3d0b586fe993603bfb4b2215ed21f33643e1c3 | |
parent | 33cd8d44712c20c704e68dacb927cb9068ea1e79 (diff) |
utilities: add internal and naive debug trace-like utility
-rw-r--r-- | Core/utilities/utilities.lisp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/Core/utilities/utilities.lisp b/Core/utilities/utilities.lisp index c188e0ba..4e6344c0 100644 --- a/Core/utilities/utilities.lisp +++ b/Core/utilities/utilities.lisp @@ -786,3 +786,17 @@ be forms containing FORM." (defmacro declmacro (name lambda-list) (declare (ignore lambda-list)) `(quote ,name)) + +(defvar *level* 1) +(defun invoke-with-xxx (cont fmt &rest args) + (fresh-line *debug-io*) + (dotimes (x *level*) + (princ ">" *debug-io*)) + (princ " " *debug-io*) + (apply #'format *debug-io* fmt args) + (let ((*level* (1+ *level*))) + (funcall cont))) + +(defmacro xxx ((fmt &rest args) &body body) + `(flet ((cont () ,@body)) + (invoke-with-xxx #'cont ,fmt ,@args))) |