~ chicken-core (chicken-5) 4ae966a014d6c750a6e4d140b3839ace9ff137f5
commit 4ae966a014d6c750a6e4d140b3839ace9ff137f5 Author: felix <felix@call-with-current-continuation.org> AuthorDate: Mon Sep 20 05:03:13 2010 -0400 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Mon Sep 20 05:03:13 2010 -0400 fix for egg-mapping code in chicken-install (thanks to Kon Lovett) diff --git a/chicken-install.scm b/chicken-install.scm index dcedaa7c..bcd41c9a 100644 --- a/chicken-install.scm +++ b/chicken-install.scm @@ -550,8 +550,13 @@ (remove-directory tmpdir)))) (define (apply-mappings eggs) + (define (canonical x) + (cond ((symbol? x) (cons (symbol->string x) #f)) + ((string? x) (cons x #f)) + ((pair? x) x) + (else (error "internal error - bad egg spec" x)))) (define (same? e1 e2) - (string=? (->string e1) (->string e2))) + (equal? (car (canonical e1)) (car (canonical e2)))) (let ((eggs2 (delete-duplicates (append-map @@ -561,7 +566,7 @@ (lambda (m) (map ->string (cdr m)))) (else (list egg)))) eggs) - string=?))) + same?))) (unless (lset= same? eggs eggs2) (print "mapped " eggs " to " eggs2)) eggs2))Trap