~ chicken-core (chicken-5) 4008cf8211c810ae42e59db824c785769640c0ec
commit 4008cf8211c810ae42e59db824c785769640c0ec
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Sat Jan 24 12:51:08 2015 +0100
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Sat Jan 24 12:51:08 2015 +0100
Removed use of lset-adjoin in eval.scm
diff --git a/eval.scm b/eval.scm
index c350522d..7b86c4d6 100644
--- a/eval.scm
+++ b/eval.scm
@@ -1284,13 +1284,17 @@
(define ##sys#do-the-right-thing
(let ((vector->list vector->list))
(lambda (id comp? imp?)
+ (define (adjoin lst)
+ (if (memq id lst)
+ lst
+ (cons id lst)))
(define (add-req id syntax?)
(when comp?
(##sys#hash-table-update!
;; XXX FIXME: This is a bit of a hack. Why is it needed at all?
chicken.compiler.core#file-requirements
(if syntax? 'dynamic/syntax 'dynamic)
- (cut lset-adjoin eq? <> id) ;XXX assumes compiler has srfi-1 loaded
+ adjoin
(lambda () (list id)))))
(define (impform x id builtin?)
`(##core#begin
Trap