bug#55934: [PATCH] (library ...) form in cond-expand inside R7RS define-library

Ludovic Courtès <[email protected]>
Newsgroups gmane.lisp.guile.bugs
Message-ID <[email protected]>
Hi,

Mihail Iosilevich <[email protected]> skribis:

> Guile (3.0.8) reports a compilation error when cond-expand tries to
> check existence of a missing library:
>
>     scheme@(guile-user)> (define-library (test)
>                            (cond-expand
>                             ((library (scheme sort))
>                              (import (scheme sort)))))
>     While compiling expression:
>     no code for module (scheme sort)
>
> It looks like bug #40252 was not fully eliminated.
>
> Also, (library ...) cannot handle module names like (srfi 1), though
> (import (srfi 1)) works fine. For example, this code fails:
>
>     scheme@(guile-user)> (define-library (test)
>                            (cond-expand
>                             ((library (srfi 1))
>                              (import (srfi 1)))))
>     While compiling expression:
>     In procedure symbol->string: Wrong type argument in position 1
>     (expecting symbol): 1
>
> There are probably other cases when (library ...) and (import ...) does
> not work identically: (library ...) uses resolve-interface while
> (import ...) uses resolve-r6rs-interface.
>
> This patch fixes both issues.

That looks reasonable to me.

I added a ChangeLog-style entry and committed it, thanks!

Ludo’.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.