[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#55934: [PATCH] (library ...) form in cond-expand inside R7RS define-
From: |
Ludovic Courtès |
Subject: |
bug#55934: [PATCH] (library ...) form in cond-expand inside R7RS define-library |
Date: |
Thu, 16 Jun 2022 09:37:37 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux) |
Hi,
Mihail Iosilevich <yosik@paranoid.email> 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’.