diff options
| author | Mistivia <i@mistivia.com> | 2025-06-28 15:49:31 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2025-06-28 15:51:04 +0800 |
| commit | 0633c6c2797bc9182b2c1888385eac6cb6caed10 (patch) | |
| tree | e920255dda5b6fea67f3eef91b27c4dae069c63e /tests/control-flow.lisp | |
| parent | 9efc0e78ad1609217752b5aa02fbb389d726e9c7 (diff) | |
add unwind-protect
Diffstat (limited to 'tests/control-flow.lisp')
| -rw-r--r-- | tests/control-flow.lisp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/control-flow.lisp b/tests/control-flow.lisp index 965213e..2b4f6f1 100644 --- a/tests/control-flow.lisp +++ b/tests/control-flow.lisp @@ -70,3 +70,22 @@ (assert (= 1 (funcall (lambda () (while #t (return 1)))))) (assert (= 1 (funcall (lambda () (let () (return 1)))))) (assert (= 1 (funcall (lambda () (let ((x (return 1))) (return 2)))))) + +(defvar flag 0) + +(assert-error + (unwind-protect + (progn + (+ 1 1) + (error "err")) + (setq flag 1))) + +(assert (= flag 1)) + +(assert (= 2 + (unwind-protect + (progn + (+ 1 1)) + (setq flag 1)))) + +(assert (= flag 1)) |
