fix some tests.
authorJan Nieuwenhuizen <janneke@gnu.org>
Mon, 18 Jul 2016 20:59:33 +0000 (22:59 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Mon, 18 Jul 2016 20:59:33 +0000 (22:59 +0200)
mes.c
scm.mes
test.mes

diff --git a/mes.c b/mes.c
index 3f2ea53037bcc700b23819c90e63b2cffdba27c0..5c148d0c3da876d224e90f41732c621e16b87f3e 100644 (file)
--- a/mes.c
+++ b/mes.c
@@ -1241,6 +1241,11 @@ scm *
 divide (scm *x/*...*/)
 {
   int n = 1;
+  if (x != &scm_nil) {
+    assert (x->car->type == NUMBER);
+    n = x->car->value;
+    x = cdr (x);
+  }
   while (x != &scm_nil)
     {
       assert (x->car->type == NUMBER);
diff --git a/scm.mes b/scm.mes
index 2965d1b382da1d968cfcb6e08394b798ec74ae45..9ff570d8372e62826bcfed5cd879c5712367b15f 100755 (executable)
--- a/scm.mes
+++ b/scm.mes
@@ -31,6 +31,8 @@
         ((and (pair? a) (pair? b))
          (and (equal? (car a) (car b))
               (equal? (cdr a) (cdr b))))
+        ((and (vector? a) (vector? b))
+         (equal? (vector->list a) (vector->list b)))
         (#t (eq? a b))))
 
 (define (vector . rest) (list->vector rest))
index c0e006de7cc2f50f7b5fd0b0cdf67f9068a8e6f3..787d56bc277c149040fc1994fcc4f9070b45278f 100644 (file)
--- a/test.mes
+++ b/test.mes
                      24))
 (pass-if "begin" (seq? (begin 'a 'b (+ 1 2)) 3))
 (pass-if "string-append" (sequal? (string-append "a" "b" "c") "abc"))
-(pass-if "eq?" (not (seq? (string-append "a" "b" "c") "abc")))
+(pass-if "eq?" (not (eq? (string-append "a" "b" "c") "abc")))
 (pass-if "string-length" (seq? (string-length (string-append "a" "b" "c")) 3))
 (pass-if "char" (seq? (char->integer #\A) 65))
 (pass-if "char 2" (seq? (char->integer #\101) (char->integer #\A)))
 ;;(pass-if "vector-set" (sequal? (let ((v #(0 1))) (vector-set! v 1 'q) v) #(0 q)))
 ;;(pass-if "vector-set" (sequal? (let ((v #(0 1))) (vector-set! v 1 'q) v) #()))
 (pass-if "equal?" (sequal? #(1) #(1)))
-(pass-if "equal?" (not (sequal? #() #(1))))
+(pass-if "equal?" (not (equal? #() #(1))))
 (pass-if "memq" (sequal? (memq 'a '(a b c)) '(a b c)))
 (pass-if "memq" (sequal? (memq 'b '(a b c)) '(b c)))
 (pass-if "memq" (seq? (memq 'd '(a b c)) #f))