~ 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