diff --git a/src/utils.lisp b/src/utils.lisp index 089ebb3..bad1db2 100644 --- a/src/utils.lisp +++ b/src/utils.lisp @@ -11,6 +11,7 @@ :safe-first :safe-list :group :restartable + :progress-step :loop-with-progress :add-hook :remove-hook :run-hook :update-current-time :get-delta-time @@ -66,13 +67,13 @@ (defmacro loop-with-progress (msg &body body) "Allow a looping process to display feedback." - `(macrolet ((progress-step () - `(progn - (when (> progress-index progress-max-columns) - (format t "~%") - (setf progress-index 0)) - (format t ".")))) - (let ((progress-max-columns 80)) + `(let ((progress-max-columns 80)) + (symbol-macrolet ((progress-step + (progn + (when (> progress-index progress-max-columns) + (format t "~%") + (setf progress-index 0)) + (format t ".")))) (format t ,msg) (loop for progress-index upfrom ,(length msg) ,@body)