Changeset 16465


Ignore:
Timestamp:
Jul 13, 2015, 5:49:10 AM (4 years ago)
Author:
gb
Message:

keep trying to get NX-ENSURE-SUPPLIED-P right. Null initforms are acode.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/lscan/source/compiler/nx0.lisp

    r16451 r16465  
    17341734          acode)))))
    17351735
    1736 (defun nx-ensure-supplied-p (pending spvars)
    1737   (when (dolist (v spvars) (when v (return t)))
     1736(defun nx-ensure-supplied-p (always pending vals spvars)
     1737  (when (or always
     1738            (dolist (v spvars) (when v (return t)))
     1739            (dolist (v vals) (unless (nx-null v) (return t))))
    17381740    (do*  ((spvars spvars (cdr spvars)))
    17391741          ((null spvars))
     
    17691771            (push (if spvar (nx-new-var pending spvar t)) optsuppliedp)))
    17701772        (if optvars
    1771           (setq opt (list (nreverse optvars) (nreverse optinits) (nx-ensure-supplied-p pending (nreverse optsuppliedp))))
     1773          (setq opt (list (nreverse optvars) (setq optinits (nreverse optinits)) (nx-ensure-supplied-p nil pending optinits (nreverse optsuppliedp))))
    17721774          (nx1-whine :lambda ll))))
    17731775    (let ((temp (pop resttail)))
     
    18081810          kallowother
    18091811          (nreverse keysyms)
    1810           (nx-ensure-supplied-p pending (nreverse keysupp))
     1812          (nreverse keysupp)
    18111813          (nreverse keyinits)
    18121814          (apply #'vector (nreverse keykeys))))))
Note: See TracChangeset for help on using the changeset viewer.