>From 97e729649188d90d6a1214a9141c544ca2009473 Mon Sep 17 00:00:00 2001 From: Evan Hanson Date: Thu, 9 Nov 2017 18:27:37 +1300 Subject: [PATCH 2/2] Omit internal modules from modules.db The chicken.internal namespace is "private" and not meant for user code, so avoid suggesting that people import if when they use an identifier that happens to be defined there (e.g. 'hash-table-ref'). --- chicken-install.scm | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/chicken-install.scm b/chicken-install.scm index 9c2ba068..09580d35 100644 --- a/chicken-install.scm +++ b/chicken-install.scm @@ -55,6 +55,7 @@ (define +status-file+ "STATUS") (define +egg-extension+ "egg") (define +version-file+ "VERSION") +(define +internal-modules+ '(chicken.internal chicken.internal.syntax)) (include "mini-srfi-1.scm") (include "egg-environment.scm") @@ -936,16 +937,17 @@ (print "generating database") (let ((db (sort - (append-map - (lambda (m) - (let* ((mod (cdr m)) - (mname (##sys#module-name mod))) - (print* " " mname) - (let-values (((_ ve se) (##sys#module-exports mod))) - (append - (map (lambda (se) (list (car se) 'syntax mname)) se) - (map (lambda (ve) (list (car ve) 'value mname)) ve))))) - ##sys#module-table) + (concatenate + (filter-map + (lambda (m) + (and-let* ((mod (cdr m)) + (mname (##sys#module-name mod)) + ((not (memq mname +internal-modules+)))) + (print* " " mname) + (let-values (((_ ve se) (##sys#module-exports mod))) + (append (map (lambda (se) (list (car se) 'syntax mname)) se) + (map (lambda (ve) (list (car ve) 'value mname)) ve))))) + ##sys#module-table)) (lambda (e1 e2) (stringstring (car e1)) (symbol->string (car e2))))))) (newline) -- 2.11.0