~ chicken-core (chicken-5) 38cb8621ab91483f9da33ff53e694da8d08184d2


commit 38cb8621ab91483f9da33ff53e694da8d08184d2
Author:     Evan Hanson <evhan@foldling.org>
AuthorDate: Thu Apr 16 18:52:04 2015 +1200
Commit:     Evan Hanson <evhan@foldling.org>
CommitDate: Thu Apr 16 18:52:04 2015 +1200

    Use eq? as default comparator for mini-srfi-1's delete

diff --git a/mini-srfi-1.scm b/mini-srfi-1.scm
index 9ddef125..e7ae2040 100644
--- a/mini-srfi-1.scm
+++ b/mini-srfi-1.scm
@@ -100,7 +100,7 @@
 	'()
 	(append (car lst) (loop (cdr lst))))))
 
-(define (delete x lst #!optional (test eq?))
+(define (delete x lst #!optional (test equal?))
   (let loop ((lst lst))
     (cond ((null? lst) lst)
 	  ((test x (car lst)) (cdr lst))
diff --git a/modules.scm b/modules.scm
index 0322c6d3..102fddc8 100644
--- a/modules.scm
+++ b/modules.scm
@@ -190,7 +190,7 @@
        (##sys#module-rename sym (module-name mod)) 
        mod exp #f)
       (and-let* ((a (assq sym ulist)))
-	(set-module-undefined-list! mod (delete a ulist)))
+	(set-module-undefined-list! mod (delete a ulist eq?)))
       (check-for-redef sym (##sys#current-environment) (##sys#macro-environment))
       (set-module-exist-list! mod (cons sym (module-exist-list mod)))
       (when exp
@@ -644,14 +644,14 @@
 					  (loop impv (cdr imps)
 						v
 						(cons (cons (cadr a) (cdar imps)) s)
-						(delete a ids))))
+						(delete a ids eq?))))
 				       (else (loop impv (cdr imps) v (cons (car imps) s) ids))))
 				((assq (caar impv) ids) =>
 				 (lambda (a)
 				   (loop (cdr impv) imps
 					 (cons (cons (cadr a) (cdar impv)) v)
 					 s
-					 (delete a ids))))
+					 (delete a ids eq?))))
 				(else (loop (cdr impv) imps
 					    (cons (car impv) v)
 					    s ids)))))
diff --git a/optimizer.scm b/optimizer.scm
index 6f36b051..b5ba6134 100644
--- a/optimizer.scm
+++ b/optimizer.scm
@@ -1463,7 +1463,7 @@
 	(set! hoistable '())
 	(set! allocated 0)
 	(and (rec n #f #f env)
-	     (lset=/eq? closures (delete kvar inner-ks)))))
+	     (lset=/eq? closures (delete kvar inner-ks eq?)))))
 
     (define (transform n fnvar ks hoistable destn allocated)
       (if (pair? hoistable)
Trap