jerbuild: only list actually-exported names in import resolvers
ober
3c728ab7a851ee1362a91630c1502ed4e88eb7d5
--- a/jerbuild.ss +++ b/jerbuild.ss @@ -457,13 +457,12 @@ ;; (jerboa core) has a compat wrapper. Prefer srfi-19 when both present. ((jerboa core) (std srfi srfi-19) time->seconds) - ;; (std srfi srfi-1) provides iota, any, every, filter-map, take, drop, delete, - ;; append-map, fold, fold-right, last, delete-duplicates, count, etc. - ;; (jerboa core) has compat versions. Prefer srfi-1 when both present. + ;; (std srfi srfi-1) provides iota, any, every, filter-map, take, drop, delete, last. + ;; (jerboa core) has compat versions of these. Prefer srfi-1 when both present. + ;; NOTE: only list names ACTUALLY exported by (jerboa core); excepting unexported + ;; names produces "missing import for X" errors at expansion. ((jerboa core) (std srfi srfi-1) - iota any every filter-map take drop delete - append-map fold fold-right last delete-duplicates count - take-while drop-while concatenate list-index) + iota any every filter-map take drop delete last) ;; (jerboa runtime) provides iota. Prefer srfi-1 when both imported. ((jerboa runtime) (std srfi srfi-1) iota) @@ -528,20 +527,23 @@ ;; When the body locally defines a symbol AND imports a library that exports ;; that same symbol, we exclude the symbol from the library import. ;; (Local definition takes priority — matches Gerbil semantics.) + ;; IMPORTANT: only list names ACTUALLY exported by the named library. + ;; Listing a non-exported name causes "missing import for X" expansion errors + ;; when the local-vs-import conflict resolver synthesises an `except` form. '(((std srfi srfi-1) . (iota any every filter-map take drop delete - append-map fold fold-right last delete-duplicates count + append-map fold delete-duplicates count take-while drop-while concatenate list-index zip reduce reduce-right not-pair? null-list? first second third fourth fifth sixth seventh eighth ninth tenth)) ((std srfi srfi-13) . (string-join string-trim string-trim-right - string-prefix? string-prefix-ci? string-suffix? string-suffix-ci? + string-prefix? string-suffix? string-contains string-contains-ci string-index string-index-right string-count)) ((jerboa core) . (iota any every filter-map take drop delete - append-map open-process open-input-process time->seconds)) + open-process open-input-process time->seconds)) ((jerboa runtime) . (iota)))) @@ -603,6 +605,8 @@ ((std srfi srfi-1) . (iota)) ;; std/misc/ports redefines with-input-from-string and with-output-to-string ((std misc ports) . (with-input-from-string with-output-to-string)) + ;; std/text/base64 exports base64-encode/decode (now also in Chez 10.4 core) + ((std text base64) . (base64-encode base64-decode)) ;; jsh/util re-exports and overrides several chezscheme identifiers ((jsh util) . (string-downcase string-upcase file-directory? file-regular?))))