X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/blobdiff_plain/e0808c472145fc81e52898bc9ac289e10c4f4f41..7b7947024fedb0bb7a0ea3ccb0029f6060de901b:/src/parser/scanner-proto.lisp diff --git a/src/parser/scanner-proto.lisp b/src/parser/scanner-proto.lisp index 8f27f89..c6236c5 100644 --- a/src/parser/scanner-proto.lisp +++ b/src/parser/scanner-proto.lisp @@ -104,7 +104,7 @@ (defmacro with-scanner-place ((place scanner) &body body) `(let ((,place (scanner-capture-place ,scanner))) ,@decls (unwind-protect (progn ,@body) - (scanner-release-place ,scanner ,place)))))) + (when ,place (scanner-release-place ,scanner ,place))))))) ;;;-------------------------------------------------------------------------- ;;; Character scanner protocol.