let #'c1branch restore types, not #'infer-tp; c2setq swallow exit fix - gcl.git - GNU Common Lisp

index : gcl.git
GNU Common Lisp
summary refs log tree commit diff
diff options
context:
space:
mode:
authorCamm Maguire <camm@debian.org>2013年11月14日 19:47:01 +0000
committerCamm Maguire <camm@debian.org>2013年11月14日 19:59:03 +0000
commit87f6fa15406ac33ac5d7948ad6906830de8d6902 (patch)
tree46793d063ca9e7e04752bb1417326259070fea67
parent8ac5f58223ad1089a65b68e58a5db81e8cd05558 (diff)
downloadgcl-87f6fa15406ac33ac5d7948ad6906830de8d6902.tar.gz
let #'c1branch restore types, not #'infer-tp; c2setq swallow exit fix
Diffstat
-rwxr-xr-xgcl/cmpnew/gcl_cmpeval.lsp 5
-rwxr-xr-xgcl/cmpnew/gcl_cmpvar.lsp 2
2 files changed, 3 insertions, 4 deletions
diff --git a/gcl/cmpnew/gcl_cmpeval.lsp b/gcl/cmpnew/gcl_cmpeval.lsp
index 7849e3ba2..bb3760997 100755
--- a/gcl/cmpnew/gcl_cmpeval.lsp
+++ b/gcl/cmpnew/gcl_cmpeval.lsp
@@ -510,9 +510,8 @@
(v1 (c1arg n))
(v1 (when (eq (car v1) 'var) (caaddr v1)))
(v1 (unless (eq x v1) v1))
- (res (with-restore-vars
- (do-setq-tp x nil tp)
- (c1expr (if v1 `(infer-tp ,v1 ,tp ,(car args)) (car args)))))
+ (res (progn (do-setq-tp x nil tp)
+ (c1expr (if v1 `(infer-tp ,v1 ,tp ,(car args)) (car args)))))
(ri (cadr res)))
(add-info info ri)
(setf (info-type info) (info-type ri))
diff --git a/gcl/cmpnew/gcl_cmpvar.lsp b/gcl/cmpnew/gcl_cmpvar.lsp
index 0088f13df..7e4c81e48 100755
--- a/gcl/cmpnew/gcl_cmpvar.lsp
+++ b/gcl/cmpnew/gcl_cmpvar.lsp
@@ -1198,7 +1198,7 @@
(case (car form)
(LOCATION (c2location (caddr form)))
(otherwise (unwind-exit vref))))
- ((c2expr* form))))
+ ((c2expr form))))
;; (defun c2setq (vref form &aux (v (car vref)))
;; (cond ((or (eq t (var-ref v)) (consp (var-ref v)) (var-cb v) (eq (var-kind v) 'global));FIXME
generated by cgit v1.2.3 (git 2.39.1) at 2025年09月03日 16:51:58 +0000

AltStyle によって変換されたページ (->オリジナル) /