commit 34189f2e738c40675d561927b92f305893406266
parent 43c4b6ae388ce37941e795eb88f6153ec278ce98
Author: Bertrand BRUN <bertrand.brun@me.com>
Date: Mon, 8 Nov 2010 14:56:06 +0100
Correction du cas du defun + correction de tests unitaire dans lisp2li
Diffstat:
2 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/lisp2li.lisp b/lisp2li.lisp
@@ -132,7 +132,7 @@ par le compilateur et par l’interpréteur"
`(:sclosure ,(cadr expr)))
;; defun
((eq 'defun (car expr))
- `(:mcall set-defun (:const . ,(second expr))
+ `(:call set-defun (:const . ,(second expr))
,(lisp2li `(lambda ,(third expr) ,@(cdddr expr)) env)))
;; apply
((eq 'apply (car expr))
@@ -215,11 +215,11 @@ par le compilateur et par l’interpréteur"
(deftest (lisp2li defun)
(lisp2li '(defun bar (x) x) ())
- '(:mcall set-defun (:const . bar) (:lclosure 1 :cvar 0 1)))
+ '(:call set-defun (:const . bar) (:lclosure 1 :cvar 0 1)))
(deftest (lisp2li defun)
(lisp2li '(defun foo (x y z) (list x y z)) ())
- '(:mcall set-defun (:const . foo)
+ '(:call set-defun (:const . foo)
(:lclosure 3 :call list
(:cvar 0 1)
(:cvar 0 2)
@@ -227,11 +227,11 @@ par le compilateur et par l’interpréteur"
(deftest (lisp2li setf)
(lisp2li '(setf y 42) '((x 0 1) (y 0 2)))
- '(:set-var (0 2) 42))
+ '(:set-var (0 2) (:const . 42)))
(deftest (lisp2li setf)
(lisp2li '(setf (cdr '(1 2 3)) 42) ())
- '(:set-fun cdr 42 '(1 2 3)))
+ '(:set-fun cdr 42 '(1 2 3)))
(deftest (lisp2li lambda)
(lisp2li '(mapcar (lambda (x y z) (list x y z)) '(1 2 3)) ())
diff --git a/meval.lisp b/meval.lisp
@@ -256,6 +256,7 @@ d’arguments dans un certain environnement."
(deftestvar (meval :set-var) env #(() 2))
(deftest (meval :set-var)
(progn
- (meval (lisp2li '(setf x 42) ()) env)
+ (meval (lisp2li '(setf x 42) '((x 0 1))) env)
env)
- #(() 42))
+ #(() 42)
+ #'equalp)