~ chicken-core (chicken-5) d53d269a408c0d701bf3309d7ddee9b18c417d0e


commit d53d269a408c0d701bf3309d7ddee9b18c417d0e
Author:     Evan Hanson <evhan@foldling.org>
AuthorDate: Sun May 3 09:25:48 2020 +1200
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Sun May 3 12:45:33 2020 +0200

    Fix potential invalid argument error in `##sys#decompose-import'
    
    This fixes a small bug in `##sys#decompose-import' where "spec" (which
    is a list) is passed to the `warn' procedure rather than "name" (which
    is a symbol, as expected). This leads to an invalid argument error
    arising from `symbol->string', e.g.
    
      $ echo '(import (only (rename scheme (car first)) car))' | csc -
    
      Error: (symbol->string) during expansion of (import ...) - bad
        argument type - not a symbol: (rename scheme (car first))
    
    Signed-off-by: felix <felix@call-with-current-continuation.org>

diff --git a/modules.scm b/modules.scm
index a199f9e7..beb52eaf 100644
--- a/modules.scm
+++ b/modules.scm
@@ -638,7 +638,7 @@
 			     (cond ((null? ids)
 				    (for-each
 				     (lambda (id)
-				       (warn "imported identifier doesn't exist" spec id))
+				       (warn "imported identifier doesn't exist" name id))
 				     missing)
 				    (values name lib `(,head ,spec ,@imports) v s impi))
 				   ((assq (car ids) impv) =>
Trap