mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-04-27 11:40:45 -07:00
cmp: refactor: be explicit on declaring specials.
Remove unnecessary abstraction for that.
This commit is contained in:
parent
3f1a8c31b4
commit
a22424c3db
4 changed files with 4 additions and 7 deletions
|
|
@ -73,7 +73,7 @@
|
|||
(let ((*cmp-env* new-env))
|
||||
(multiple-value-bind (body ss ts is other-decl)
|
||||
(c1body (rest args) t)
|
||||
(c1declare-specials ss)
|
||||
(mapc #'cmp-env-declare-special ss)
|
||||
(check-vdecl nil ts is)
|
||||
(setq body-c1form (c1decl-body other-decl body))))
|
||||
|
||||
|
|
@ -234,7 +234,7 @@
|
|||
(c1body args t)
|
||||
(if (or ss ts is other-decl)
|
||||
(let ((*cmp-env* (cmp-env-copy)))
|
||||
(c1declare-specials ss)
|
||||
(mapc #'cmp-env-declare-special ss)
|
||||
(check-vdecl nil ts is)
|
||||
(c1decl-body other-decl body))
|
||||
(c1progn body))))
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@
|
|||
(when (eq let/let* 'LET)
|
||||
(mapc #'push-vars vars))
|
||||
(check-vdecl (mapcar #'var-name vars) types ignoreds)
|
||||
(c1declare-specials specials)
|
||||
(mapc #'cmp-env-declare-special specials)
|
||||
(values vars forms (c1decl-body other-decls body)))))
|
||||
|
||||
(defun c1let-optimize-read-only-vars (all-vars all-forms body)
|
||||
|
|
|
|||
|
|
@ -230,7 +230,7 @@
|
|||
,@args)))
|
||||
(multiple-value-bind (body ss ts is other-decls)
|
||||
(c1body args nil)
|
||||
(c1declare-specials ss)
|
||||
(mapc #'cmp-env-declare-special ss)
|
||||
(let* ((vars (loop for name in variables
|
||||
collect (c1make-var name ss is ts))))
|
||||
(setq init-form (c1expr init-form))
|
||||
|
|
|
|||
|
|
@ -343,9 +343,6 @@
|
|||
(push name *undefined-vars*)))
|
||||
var))
|
||||
|
||||
(defun c1declare-specials (globals)
|
||||
(mapc #'cmp-env-declare-special globals))
|
||||
|
||||
(defun si::register-global (name)
|
||||
(pushnew name *global-vars*)
|
||||
(values))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue