Received: (at submit) by debbugs.gnu.org; 5 Nov 2024 09:23:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 05 04:23:33 2024
Received: from localhost ([127.0.0.1]:43483 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1t8Fmf-0000Sn-0l
for submit <at> debbugs.gnu.org; Tue, 05 Nov 2024 04:23:33 -0500
Received: from lists.gnu.org ([209.51.188.17]:56618)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <maximedevos@HIDDEN>) id 1t8Fmb-0000Sh-PJ
for submit <at> debbugs.gnu.org; Tue, 05 Nov 2024 04:23:32 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <maximedevos@HIDDEN>)
id 1t8Fmb-0007u2-Ij
for bug-guile@HIDDEN; Tue, 05 Nov 2024 04:23:29 -0500
Received: from laurent.telenet-ops.be ([2a02:1800:110:4::f00:19])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.90_1) (envelope-from <maximedevos@HIDDEN>)
id 1t8FmY-0003qt-MF
for bug-guile@HIDDEN; Tue, 05 Nov 2024 04:23:29 -0500
Received: from [IPv6:2a02:1811:8c0e:ef00:28f7:a748:a738:4cef]
([IPv6:2a02:1811:8c0e:ef00:28f7:a748:a738:4cef])
by laurent.telenet-ops.be with cmsmtp
id YxPN2D0014tRJL601xPNwn; Tue, 05 Nov 2024 10:23:23 +0100
Message-ID: <20241105102323.YxPN2D0014tRJL601xPNwn@HIDDEN>
MIME-Version: 1.0
To: "bug-guile@HIDDEN" <bug-guile@HIDDEN>
From: Maxime Devos <maximedevos@HIDDEN>
Subject: No unbound variable warning when via 'export'
Date: Tue, 5 Nov 2024 10:23:20 +0100
Importance: normal
X-Priority: 3
In-Reply-To: <0effbe63-caee-a08b-77e0-576c3fe4b25c@HIDDEN>
References: <ff0a315c-44ce-8c95-fc4b-a326f301c741@HIDDEN>
<20241104214356.Ykjw2D0014tRJL601kjwhV@HIDDEN>
<0effbe63-caee-a08b-77e0-576c3fe4b25c@HIDDEN>
Content-Type: multipart/alternative;
boundary="_B6F4771F-98C5-4E8B-A640-CCFB08A42CAC_"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r24;
t=1730798603; bh=yVrcIDMisnBg3Km9jVivb6GVqTGhRx+VQHzhx1EvJwA=;
h=Message-ID:MIME-Version:To:From:Subject:Date:In-Reply-To:
References:Content-Type:From;
b=bw3FVJFq3DWDwZpjc2ywMIUhgF2+9ocpkWu6VRoRodV6wL3qrHVY4Y6jyGNnqy/vr
gbwj6GaiLsJptlG2D7HKaKk9ENkQDjZbR7ypHYEfx+jGBc/LCME28gK6rMWYzOGzkQ
i1AbjlMLqqkxPPxk6EbRi3qDO6LP9x25defSIgW1oH84ykxwsZdM5OGO1GFybyrrGP
V1ujy/U8uTvP8n7M0cYaXzNS4YUTSewF6+thtPVsqU/I2zmdO9fNGGyySci6JPrU0P
wnq69HWgHdcjyw11oBPlrL1z5xIhhdC/3TqLTBGnchWpVgUeVYY3af6BvXmXrdoPUf
gnV5cKm0hZIRg==
Received-SPF: pass client-ip=2a02:1800:110:4::f00:19;
envelope-from=maximedevos@HIDDEN; helo=laurent.telenet-ops.be
X-Spam_score_int: -17
X-Spam_score: -1.8
X-Spam_bar: -
X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
FREEMAIL_REPLY=1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7,
SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -0.3 (/)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)
--_B6F4771F-98C5-4E8B-A640-CCFB08A42CAC_
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"
Forwarded e-mail/bug report from guile-devel
From: Tommi H=C3=B6yn=C3=A4l=C3=A4nmaa
Date: dinsdag 5 november 2024 8:25
To: guile-devel@HIDDEN
Subject: Re: Exporting a nonexistent variable
Here is another example:
--- mod1.scm ---
(define-module (mod1))
(export myproc)
(define (myproc0)
=C2=A0 (display "Hello\n"))
--- end ---
--- mod2.scm ---
(define-module (mod2))
(export myproc2)
(use-modules (mod1))
(define (myproc2)
=C2=A0 (display "Hello again\n"))
--- end ---
--- program.scm ---
(use-modules (mod1)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (=
mod2))
(define (main args)
=C2=A0 (myproc))
--- end ---
I compiled this example with the following commands:
--- cut here ---
export GUILE_LOAD_COMPILED_PATH=3D.
guild compile --warn=3Dunbound-variable -o mod1.go mod1.scm
guild compile --warn=3Dunbound-variable -o mod2.go mod2.scm
--- cut here ---
The compiler gives no warnings and running "guile -e main -s=20
program.scm" gives the following error:
--- cut here ---
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=3D0
;;;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 or pass the --no-auto-compile argum=
ent to disable.
;;; compiling /home/tohoyn/tyo/omat/ohj/scheme/export-test3/program.scm
;;; compiled=20
/home/tohoyn/git/savannah/guile/cache/guile/ccache/3.0-LE-8-4.7/home/tohoyn=
/tyo/omat/ohj/scheme/export-test3/program.scm.go
Backtrace:
In ice-9/boot-9.scm:
=C2=A0 1762:12=C2=A0 4 (with-exception-handler _ _ #:unwind? _ # _)
In unknown file:
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 3 (apply-smob=
/0 #<thunk 7f2fda699300>)
In ice-9/boot-9.scm:
=C2=A0=C2=A0=C2=A0 731:2=C2=A0 2 (call-with-prompt _ _ #<procedure default=
-prompt-handle=E2=80=A6>)
In ice-9/eval.scm:
=C2=A0=C2=A0=C2=A0 619:8=C2=A0 1 (_ #(#(#<directory (guile-user) 7f2fda69c=
c80>)))
In /home/tohoyn/tyo/omat/ohj/scheme/export-test3/program.scm:
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 6:3=C2=A0 0 (main _)
/home/tohoyn/tyo/omat/ohj/scheme/export-test3/program.scm:6:3: In=20
procedure main:
Unbound variable: myproc
--- cut here ---
=C2=A0=C2=A0=C2=A0=C2=A0 - Tommi H=C3=B6yn=C3=A4l=C3=A4nmaa
--=20
Kotisivu / Homepage: http://www.iki.fi/tohoyn/
S=C3=A4hk=C3=B6posti / E-Mail: tommi.hoynalanmaa@HIDDEN
GPG-sormenj=C3=A4lki / GPG fingerprint:
55F4 2477 7155 3528 5CB2 2B7A BB86 1FDE 4046 0F83
FT, Debian-yll=C3=A4pit=C3=A4j=C3=A4 / PhD, Debian Maintainer
--_B6F4771F-98C5-4E8B-A640-CCFB08A42CAC_
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="utf-8"
<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" xmlns:w=3D"urn:sc=
hemas-microsoft-com:office:word" xmlns:m=3D"http://schemas.microsoft.com/of=
fice/2004/12/omml" xmlns=3D"http://www.w3.org/TR/REC-html40"><head><meta ht=
tp-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8"><meta name=
=3DGenerator content=3D"Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
.MsoChpDefault
{mso-style-type:export-only;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
--></style></head><body lang=3DNL-BE link=3Dblue vlink=3D"#954F72" style=3D=
'word-wrap:break-word'><div class=3DWordSection1><p class=3DMsoNormal>Forwa=
rded e-mail/bug report from guile-devel</p><p class=3DMsoNormal><o:p> =
</o:p></p><div style=3D'mso-element:para-border-div;border:none;border-top:=
solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=3DMsoNormal style=
=3D'border:none;padding:0cm'><b>From: </b><a href=3D"mailto:tommi.hoynalanm=
aa@HIDDEN">Tommi H=C3=B6yn=C3=A4l=C3=A4nmaa</a><br><b>Date: </b>dinsdag =
5 november 2024 8:25<br><b>To: </b><a href=3D"mailto:guile-devel@HIDDEN">g=
uile-devel@HIDDEN</a><br><b>Subject: </b>Re: Exporting a nonexistent varia=
ble</p></div><p class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal=
>Here is another example:</p><p class=3DMsoNormal><o:p> </o:p></p><p c=
lass=3DMsoNormal>--- mod1.scm ---</p><p class=3DMsoNormal>(define-module (m=
od1))</p><p class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal>(ex=
port myproc)</p><p class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNor=
mal>(define (myproc0)</p><p class=3DMsoNormal> (display "Hello\=
n"))</p><p class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal=
>--- end ---</p><p class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNor=
mal>--- mod2.scm ---</p><p class=3DMsoNormal>(define-module (mod2))</p><p c=
lass=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal>(export myproc2)=
</p><p class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal>(use-mod=
ules (mod1))</p><p class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNor=
mal>(define (myproc2)</p><p class=3DMsoNormal> (display "Hello =
again\n"))</p><p class=3DMsoNormal><o:p> </o:p></p><p class=3DMso=
Normal>--- end ---</p><p class=3DMsoNormal><o:p> </o:p></p><p class=3D=
MsoNormal>--- program.scm ---</p><p class=3DMsoNormal>(use-modules (mod1)</=
p><p class=3DMsoNormal> &nb=
sp; (mod2))</p><p class=3DMsoNormal><o:p> </o:p></p>=
<p class=3DMsoNormal>(define (main args)</p><p class=3DMsoNormal> (m=
yproc))</p><p class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal>-=
-- end ---</p><p class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNorma=
l>I compiled this example with the following commands:</p><p class=3DMsoNor=
mal><o:p> </o:p></p><p class=3DMsoNormal>--- cut here ---</p><p class=
=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal>export GUILE_LOAD_CO=
MPILED_PATH=3D.</p><p class=3DMsoNormal>guild compile --warn=3Dunbound-vari=
able -o mod1.go mod1.scm</p><p class=3DMsoNormal>guild compile --warn=3Dunb=
ound-variable -o mod2.go mod2.scm</p><p class=3DMsoNormal><o:p> </o:p>=
</p><p class=3DMsoNormal>--- cut here ---</p><p class=3DMsoNormal><o:p>&nbs=
p;</o:p></p><p class=3DMsoNormal>The compiler gives no warnings and running=
"guile -e main -s </p><p class=3DMsoNormal>program.scm" gives th=
e following error:</p><p class=3DMsoNormal><o:p> </o:p></p><p class=3D=
MsoNormal>--- cut here ---</p><p class=3DMsoNormal><o:p> </o:p></p><p =
class=3DMsoNormal>;;; note: auto-compilation is enabled, set GUILE_AUTO_COM=
PILE=3D0</p><p class=3DMsoNormal>;;; or=
pass the --no-auto-compile argument to disable.</p><p class=3DMsoNormal>;;=
; compiling /home/tohoyn/tyo/omat/ohj/scheme/export-test3/program.scm</p><p=
class=3DMsoNormal>;;; compiled </p><p class=3DMsoNormal>/home/tohoyn/git/s=
avannah/guile/cache/guile/ccache/3.0-LE-8-4.7/home/tohoyn/tyo/omat/ohj/sche=
me/export-test3/program.scm.go</p><p class=3DMsoNormal>Backtrace:</p><p cla=
ss=3DMsoNormal>In ice-9/boot-9.scm:</p><p class=3DMsoNormal> 1762:12=
4 (with-exception-handler _ _ #:unwind? _ # _)</p><p class=3DMsoNorm=
al>In unknown file:</p><p class=3DMsoNormal> =
3 (apply-smob/0 #<thunk 7f2fda699300>)=
</p><p class=3DMsoNormal>In ice-9/boot-9.scm:</p><p class=3DMsoNormal> &nbs=
p; 731:2 2 (call-with-prompt _ _ #<procedure default-p=
rompt-handle=E2=80=A6>)</p><p class=3DMsoNormal>In ice-9/eval.scm:</p><p=
class=3DMsoNormal> 619:8 1 (_ #(#(#<directory =
(guile-user) 7f2fda69cc80>)))</p><p class=3DMsoNormal>In /home/tohoyn/ty=
o/omat/ohj/scheme/export-test3/program.scm:</p><p class=3DMsoNormal> =
6:3 0 (main _)</p><p class=3DMsoNormal><o:p>=
</o:p></p><p class=3DMsoNormal>/home/tohoyn/tyo/omat/ohj/scheme/expor=
t-test3/program.scm:6:3: In </p><p class=3DMsoNormal>procedure main:</p><p =
class=3DMsoNormal>Unbound variable: myproc</p><p class=3DMsoNormal><o:p>&nb=
sp;</o:p></p><p class=3DMsoNormal>--- cut here ---</p><p class=3DMsoNormal>=
<o:p> </o:p></p><p class=3DMsoNormal> - Tommi=
H=C3=B6yn=C3=A4l=C3=A4nmaa</p><p class=3DMsoNormal><o:p> </o:p></p><p=
class=3DMsoNormal>-- </p><p class=3DMsoNormal>Kotisivu / Homepage: http://=
www.iki.fi/tohoyn/</p><p class=3DMsoNormal>S=C3=A4hk=C3=B6posti / E-Mail: t=
ommi.hoynalanmaa@HIDDEN</p><p class=3DMsoNormal>GPG-sormenj=C3=A4lki / GPG =
fingerprint:</p><p class=3DMsoNormal>55F4 2477 7155 3528 5CB2 2B7A BB86 1FD=
E 4046 0F83</p><p class=3DMsoNormal>FT, Debian-yll=C3=A4pit=C3=A4j=C3=A4 / =
PhD, Debian Maintainer</p><p class=3DMsoNormal><o:p> </o:p></p><p clas=
s=3DMsoNormal><o:p> </o:p></p></div></body></html>=
--_B6F4771F-98C5-4E8B-A640-CCFB08A42CAC_--
Maxime Devos <maximedevos@HIDDEN>:bug-guile@HIDDEN.
Full text available.bug-guile@HIDDEN:bug#74210; Package guile.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.