diff options
author | Andy Wingo <wingo@pobox.com> | 2021-05-01 22:14:57 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2021-05-01 22:16:40 +0200 |
commit | d643913ac2705351fcd44c84d809219ef6375ec7 (patch) | |
tree | b462668be4fd3d145f1818759be2527cc011b745 | |
parent | 44a6a21dcc11d6da39d4548362cf63452a07bdbd (diff) | |
download | guile-d643913ac2705351fcd44c84d809219ef6375ec7.tar.gz |
Fix bug if call-with-prompt tag not a lexical
* module/language/tree-il/peval.scm (peval): peval could throw if the
call-with-prompt operand wasn't a lexical. Terrible!
-rw-r--r-- | module/language/tree-il/peval.scm | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/module/language/tree-il/peval.scm b/module/language/tree-il/peval.scm index def423518..123b40384 100644 --- a/module/language/tree-il/peval.scm +++ b/module/language/tree-il/peval.scm @@ -1,6 +1,6 @@ ;;; Tree-IL partial evaluator -;; Copyright (C) 2011-2014, 2017, 2019, 2020 Free Software Foundation, Inc. +;; Copyright (C) 2011-2014, 2017, 2019, 2020, 2021 Free Software Foundation, Inc. ;;;; This library is free software; you can redistribute it and/or ;;;; modify it under the terms of the GNU Lesser General Public @@ -1650,7 +1650,7 @@ top-level bindings from ENV and return the resulting expression." ;; There is no way that an <abort> could know the tag ;; for this <prompt>, so we can elide the <prompt> ;; entirely. - (unrecord-operand-uses op 1) + (when op (unrecord-operand-uses op 1)) (for-tail (if escape-only? body (make-call src body '()))))) (else (let ((handler (for-value handler))) |