GNU logs - #67412, boring messages


Message sent to bug-guile@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#67412: (resolve-r6rs-interface '(srfi 160 u8) tries to load (srfi srfi-160)
Resent-From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Thu, 23 Nov 2023 19:46:01 +0000
Resent-Message-ID: <handler.67412.B.17007687464876 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 67412
X-GNU-PR-Package: guile
X-GNU-PR-Keywords: 
To: 67412 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-guile <bug-guile@HIDDEN>
Received: via spool by submit <at> debbugs.gnu.org id=B.17007687464876
          (code B ref -1); Thu, 23 Nov 2023 19:46:01 +0000
Received: (at submit) by debbugs.gnu.org; 23 Nov 2023 19:45:46 +0000
Received: from localhost ([127.0.0.1]:35157 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r6Fdx-0001GY-Dc
	for submit <at> debbugs.gnu.org; Thu, 23 Nov 2023 14:45:45 -0500
Received: from lists.gnu.org ([2001:470:142::17]:47028)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <maxim.cournoyer@HIDDEN>) id 1r6Fdv-0001GI-PR
 for submit <at> debbugs.gnu.org; Thu, 23 Nov 2023 14:45:44 -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 <maxim.cournoyer@HIDDEN>)
 id 1r6Fdi-0000jt-6m
 for bug-guile@HIDDEN; Thu, 23 Nov 2023 14:45:33 -0500
Received: from mail-qt1-x833.google.com ([2607:f8b0:4864:20::833])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <maxim.cournoyer@HIDDEN>)
 id 1r6Fdg-00060M-2v
 for bug-guile@HIDDEN; Thu, 23 Nov 2023 14:45:29 -0500
Received: by mail-qt1-x833.google.com with SMTP id
 d75a77b69052e-41f155c862bso5764181cf.2
 for <bug-guile@HIDDEN>; Thu, 23 Nov 2023 11:45:26 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1700768725; x=1701373525; darn=gnu.org;
 h=mime-version:message-id:date:subject:to:from:from:to:cc:subject
 :date:message-id:reply-to;
 bh=nv6cbYg0g0yEqjRMcUJiJMwc0SmBh5oC+KNoMxDUzro=;
 b=ijXcdtGxaB9X0qS1VJVJEWnTHEi5tfEDdWDu04mgF9AnbYC34Nprb40hWdSYRNE/kC
 dLvltvoIIHdj7C+vLnpvEXkXr1pfWtSWdwJoB9nzr9jtF0upJ7MDRia18M9ih5X0rdh5
 9wszaD0SabyH2vnYD/W47nio2h2OKSGifK0kTPJxsaaMw59qUd0+TgTp2esEYNE6/601
 6ZgobzXHwJQ2FBpKAmS17XSO8Ap4+ZMNH0wuJey9I55AJIeRXvRaeh1H9oUzptUHSnuT
 y9CBMKFPLNfzyuiUoEVJdhmVxtLsewjSGK3neVkoU+g3mA16LSHKhLkDs2x2As7Z1i5Q
 ke7g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1700768725; x=1701373525;
 h=mime-version:message-id:date:subject:to:from:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=nv6cbYg0g0yEqjRMcUJiJMwc0SmBh5oC+KNoMxDUzro=;
 b=sEVr+PaluwgLjKYCe89sm9t4p+mA/8Wwk8byE/kceDZ7jlx7Ru84adObT88jax/oG0
 nqmJGr9vbsY8GleB/l0P+CzGKoDeZrgzuiDNG/VTvxoOpDeu7uIn9DkD3Nh2WyX/nkm8
 Rbpi8vExlWI8KJdz55WcQ4Q89qn+SARj+aZbg6IH9TYBEec9jYn9VazGCTu573Yu8hER
 qDKP7XzIvDNX1wXpELKOL0puqIQds+0BL/S/qKJ2uduGjsvFQ/sGhUR1sA4WBjiElkud
 epHA7fTuCy0dP7R8QBGA4riSvTIs4mphwSL0jhMOuTaA7xFyxtME0Uo+yDmqjRgPlETj
 /mOA==
X-Gm-Message-State: AOJu0YyrV4+NGaIpIvHIM790v2/iqM4bExZq+S/vkL2B+jF4h1BwpMka
 8D6ikkmAFJXx2v7tzNkiL9cKOnjIljc=
X-Google-Smtp-Source: AGHT+IHfZE+gAfUUW0NYzeZlbqBUOfoP4AJ6/y15v5MaKFG++4i83mzaD2ED4cNhODzDMqwm8C8enw==
X-Received: by 2002:a05:622a:18d:b0:41c:c8f2:58ce with SMTP id
 s13-20020a05622a018d00b0041cc8f258cemr531630qtw.27.1700768725075; 
 Thu, 23 Nov 2023 11:45:25 -0800 (PST)
Received: from hurd (dsl-205-233-124-102.b2b2c.ca. [205.233.124.102])
 by smtp.gmail.com with ESMTPSA id
 b12-20020ac8678c000000b0041b25ebc190sm693971qtp.44.2023.11.23.11.45.24
 for <bug-guile@HIDDEN>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Nov 2023 11:45:24 -0800 (PST)
From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Date: Thu, 23 Nov 2023 14:45:23 -0500
Message-ID: <87o7fk6yp8.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
Received-SPF: pass client-ip=2607:f8b0:4864:20::833;
 envelope-from=maxim.cournoyer@HIDDEN; helo=mail-qt1-x833.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 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,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
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: -0.0 (/)

Hello,

While working on integrating SRFI 178, I've encountered the following
problem:

--8<---------------cut here---------------start------------->8---
Backtrace:
In system/base/compile.scm:
     53:4 19 (call-once #<procedure 7f77d26e94c0 at system/base/comp?>)
In ice-9/boot-9.scm:
  1755:12 18 (with-exception-handler #<procedure 7f77d65faf00 at ic?> ?)
In system/base/compile.scm:
    69:11 17 (_)
   190:11 16 (_ #<closed: file 7f77d35f78c0>)
    309:6 15 (read-and-compile #<input: srfi/srfi-178.sld 15> #:from ?)
   331:39 14 (with-compiler #<<language> name: scheme title: "Schem?> ?)
   261:27 13 (_ #<syntax:srfi-178.sld:1:0 (#<syntax:srfi-178.sld:1:?> ?)
In ice-9/boot-9.scm:
   2919:4 12 (save-module-excursion #<procedure 7f77d660c200 at lang?>)
In language/scheme/compile-tree-il.scm:
    31:15 11 (_)
In ice-9/psyntax.scm:
  1229:36 10 (expand-top-sequence (#<syntax:srfi-178.sld:1:0 (#<sy?>) ?)
  1121:20  9 (lp (#<syntax:srfi-178.sld:1:0 (#<syntax:srfi-178.sld?>) ?)
  1342:32  8 (syntax-type (#<syntax:r6rs-libraries.scm:291:12 li?> ?) ?)
  1562:32  7 (expand-macro #<procedure 7f77d64d1d30 at ice-9/r6rs-l?> ?)
In ice-9/r6rs-libraries.scm:
   304:14  6 (_ #<syntax:r6rs-libraries.scm:291:21 srfi> (#<syntax?>) ?)
In ice-9/boot-9.scm:
   222:29  5 (map1 (#<syntax:srfi-178.sld:2:10 (#<syntax:srfi-178?> ?))
   222:29  4 (map1 (#<syntax:srfi-178.sld:3:10 (#<syntax:srfi-178?> ?))
   222:29  3 (map1 (#<syntax:srfi-178.sld:4:10 (#<syntax:srfi-178?> ?))
   222:17  2 (map1 (#<syntax:srfi-178.sld:5:10 (#<syntax:srfi-178.s?>))
   3413:6  1 (resolve-interface (srfi srfi-160) #:select _ #:hide _ # ?)
  1676:22  0 (lp 0)

ice-9/boot-9.scm:1676:22: In procedure lp:
no code for module (srfi srfi-160)
--8<---------------cut here---------------end--------------->8---

Indeed, there's no such (srfi 160) module in SRFI 160, but why is it
loaded in the first place?  My srfi-178.sld R7RS library imports:

--8<---------------cut here---------------start------------->8---
(define-library (srfi 178)
  (import (scheme base))
  (import (scheme case-lambda))
  (import (srfi 151))
  (import (srfi 160 u8))
  ...
--8<---------------cut here---------------end--------------->8---

There seems to be something that doesn't work as expected in the (ice-9
r6rs-libraries) module:

--8<---------------cut here---------------start------------->8---
(resolve-r6rs-interface '(srfi 160 u8))
ERROR: no code for module (srfi srfi-160)
--8<---------------cut here---------------end--------------->8---

(srfi 160) should not be loaded; it's (srfi 160 u8) that is requested.

-- 
Thanks,
Maxim




Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Subject: bug#67412: Acknowledgement ((resolve-r6rs-interface '(srfi 160
 u8) tries to load (srfi srfi-160))
Message-ID: <handler.67412.B.17007687464876.ack <at> debbugs.gnu.org>
References: <87o7fk6yp8.fsf@HIDDEN>
X-Gnu-PR-Message: ack 67412
X-Gnu-PR-Package: guile
Reply-To: 67412 <at> debbugs.gnu.org
Date: Thu, 23 Nov 2023 19:46:02 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 bug-guile@HIDDEN

If you wish to submit further information on this problem, please
send it to 67412 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
67412: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D67412
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-guile@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#67412: (resolve-r6rs-interface '(srfi 160 u8) tries to load (srfi srfi-160)
Resent-From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Thu, 23 Nov 2023 21:46:03 +0000
Resent-Message-ID: <handler.67412.B67412.17007759095016 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 67412
X-GNU-PR-Package: guile
X-GNU-PR-Keywords: 
To: 67412 <at> debbugs.gnu.org
Received: via spool by 67412-submit <at> debbugs.gnu.org id=B67412.17007759095016
          (code B ref 67412); Thu, 23 Nov 2023 21:46:03 +0000
Received: (at 67412) by debbugs.gnu.org; 23 Nov 2023 21:45:09 +0000
Received: from localhost ([127.0.0.1]:35268 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r6HVU-0001Ip-OK
	for submit <at> debbugs.gnu.org; Thu, 23 Nov 2023 16:45:09 -0500
Received: from mail-qv1-xf2b.google.com ([2607:f8b0:4864:20::f2b]:55450)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <maxim.cournoyer@HIDDEN>) id 1r6HVS-0001Ho-5s
 for 67412 <at> debbugs.gnu.org; Thu, 23 Nov 2023 16:45:07 -0500
Received: by mail-qv1-xf2b.google.com with SMTP id
 6a1803df08f44-67a0836e635so4441086d6.2
 for <67412 <at> debbugs.gnu.org>; Thu, 23 Nov 2023 13:45:01 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1700775896; x=1701380696; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=QkgJS0lIpk0ev6Kihr8zFK+38TucxbJafNJn4w6Urig=;
 b=QCPRIr8R4ZkTJBY2sChfT/IHOXS/BbQOC77UvTnOKh7LC5yQHgbLJFIM2E3eqbomtX
 Ln5yuCgDl40nLyD8702sIJZl3EnBLftk0fvqWGfQyximYuhTA6TUUSPW7203uoYclf56
 pWEnMCaG9XtW/fqZl5JawUew1NC9zVbThO/IA8cFqXkKuevTZMbWduUTanLD+ritLRlp
 NUvu47nLpB3LZS3uZUlU6WWdLKVrpwhr/4H1DWT4z5tLtLVZ1RtjhtsbBuGlx1iNKoB2
 Ab8eKwNFQp+XNSm8gtEEUh0nEKdArjvF3b0xF/xu3ek1UWL3JY/pdhGV6ghz2+YTHsrS
 1EOg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1700775896; x=1701380696;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:to:from:x-gm-message-state:from:to
 :cc:subject:date:message-id:reply-to;
 bh=QkgJS0lIpk0ev6Kihr8zFK+38TucxbJafNJn4w6Urig=;
 b=pRWFRpEdY0c266gWEf8AY/Ov5EOFRppT58ToaZoA76RQwJ1BBqZ0ZiBh7YvjYQ3Wh5
 9h3LudZaCW1fKthsFYDyKGaQH0FoDJoiWTkPwmw+iaFjCuX7k1UXnT9HkgYpOARfDnpV
 PAeryaO5miu1/4+sV0r9Nesb/T3BgTrlvI9o/hrId9l63njakt4v446K92aGfvIAtoMQ
 c965VW7byGZtkO3V4U4E/ddhFvtr3qavfVqGjuZZV3ohmDAo6lYHtGn4u/FK9vGWIJjr
 SpXYpGsEIlegfuIotC8qQYEBZWoxSWM8ERfHqWcyROoxx0GSPVcvnGJg3+5klLu969IC
 e//g==
X-Gm-Message-State: AOJu0Yyi0977rWvtuRpXXdreR1uAwZaDBjlS7Mke897Bk9jM2O4lBjqt
 fS1RrRa/Ql/JUIF6mfrYrCeyEWtK+dE=
X-Google-Smtp-Source: AGHT+IHq13R0H4iEBeQ1xHXjZON0xLXu0nyluUkDAS3pHa01UH0raTDB8dxShhjok2wLBphUkJ6wlQ==
X-Received: by 2002:a0c:e60e:0:b0:67a:faa:97a0 with SMTP id
 z14-20020a0ce60e000000b0067a0faa97a0mr866082qvm.50.1700775896130; 
 Thu, 23 Nov 2023 13:44:56 -0800 (PST)
Received: from hurd (dsl-205-233-124-102.b2b2c.ca. [205.233.124.102])
 by smtp.gmail.com with ESMTPSA id
 n12-20020a0ce48c000000b0066d23395d27sm823438qvl.123.2023.11.23.13.44.55
 for <67412 <at> debbugs.gnu.org>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Nov 2023 13:44:55 -0800 (PST)
From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
In-Reply-To: <87o7fk6yp8.fsf@HIDDEN> (Maxim Cournoyer's message of "Thu, 23
 Nov 2023 14:45:23 -0500")
References: <87o7fk6yp8.fsf@HIDDEN>
Date: Thu, 23 Nov 2023 16:44:54 -0500
Message-ID: <87il5s6t61.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
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: -1.0 (-)

Hi,

Investigating, I've found this:

--8<---------------cut here---------------start------------->8---
trace: |  (_ #<procedure 7fc0c55af068 at ice-9/r6rs-libraries.scm:104:5 (n =
rest version)> (160 (u8) ()))
trace: |  (_ 160 (u8) ())
trace: |  |  (syntax->datum 160)
trace: |  |  (strip 160)
trace: |  |  |  (syntax? 160)
trace: |  |  |  #f
trace: |  |  160
trace: |  |  (number->string 160)
trace: |  |  "160"
trace: |  |  (string-append "srfi-" "160")
trace: |  |  "srfi-160"
trace: |  |  (datum->syntax #<syntax:r6rs-libraries.scm:92:34 srfi> srfi-16=
0)
trace: |  |  |  (syntax-wrap #<syntax:r6rs-libraries.scm:92:34 srfi>)
trace: |  |  |  ((top) #(ribcage #(n rest version) #((top) (top) (top)) #("=
l-680b775fb37a463-160b" "l-680b775fb37a463-160c" "l-680b775fb37a463-160d"))=
 #(ribcage (module-for-each/nonlocal # make-srfi-n # =E2=80=A6) =E2=80=A6) =
=E2=80=A6)
trace: |  |  |  (syntax-module #<syntax:r6rs-libraries.scm:92:34 srfi>)
trace: |  |  |  (hygiene guile)
trace: |  |  |  (source-properties srfi-160)
trace: |  |  |  ()
trace: |  |  (make-syntax srfi-160 ((top) #(ribcage #(n rest version) #((to=
p) (top) (top)) #("l-680b775fb37a463-160b" "l-680b775fb37a463-160c" "l-680b=
775fb37a463-160d")) #(ribcage (# # make-srfi-n # # =E2=80=A6) =E2=80=A6) =
=E2=80=A6) =E2=80=A6)
trace: |  |  #<syntax srfi-160>
trace: |  |  ($sc-dispatch (u8) ())
trace: |  |  |  (syntax? (u8))
trace: |  |  |  #f
trace: |  |  (match* (u8) () (()) () #f)
trace: |  |  #f
trace: |  |  ($sc-dispatch (u8) (any . each-any))
trace: |  |  |  (syntax? (u8))
trace: |  |  |  #f
trace: |  |  (match* (u8) (any . each-any) (()) () #f)
trace: |  |  |  (match () each-any (()) () #f)
trace: |  |  |  |  (syntax? ())
trace: |  |  |  |  #f
trace: |  |  |  (match* () each-any (()) () #f)
trace: |  |  |  |  (match-each-any () (()) #f)
trace: |  |  |  |  ()
trace: |  |  |  (())
trace: |  |  (match u8 any (()) (()) #f)
trace: |  |  |  (source-wrap u8 (()) #f #f)
trace: |  |  |  u8
trace: |  |  (u8 ())
trace: |  |  (_ #<procedure 7fc0c108e1e0 at ice-9/r6rs-libraries.scm:93:7 (=
name rest)> (u8 ()))
trace: |  |  (_ u8 ())
trace: |  |  |  (append () (()))
trace: |  |  |  (())
--8<---------------cut here---------------end--------------->8---

This corresponds to this source:

--8<---------------cut here---------------start------------->8---
 (syntax-case import-spec (library only except prefix rename srfi)
    ;; (srfi :n ...) -> (srfi srfi-n ...)
    ;; (srfi n ...) -> (srfi srfi-n ...)
    ((library (srfi n rest ... (version ...)))
     (srfi-name? #'(srfi n rest ...))
     (let ((srfi-n (make-srfi-n #'srfi #'n)))
       (resolve-r6rs-interface
        (syntax-case #'(rest ...) ()
          (()
           #`(library (srfi #,srfi-n (version ...))))
          ((name rest ...)
           ;; SRFI 97 says that the first identifier after the `n'
           ;; is used for the libraries name, so it must be ignored.
           #`(library (srfi #,srfi-n rest ... (version ...))))))))
    ...
--8<---------------cut here---------------end--------------->8---

Notice the comment mentioning that the first identifier following 'n' is
ignored.  That seems wrong, at least in the context of R7RS libraries.

--=20
Thanks,
Maxim




Message sent to bug-guile@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#67412: [PATCH 1/2] Use R7RS 'rename' syntax for exports.
References: <87o7fk6yp8.fsf@HIDDEN>
In-Reply-To: <87o7fk6yp8.fsf@HIDDEN>
Resent-From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Fri, 24 Nov 2023 16:41:02 +0000
Resent-Message-ID: <handler.67412.B67412.17008440154891 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 67412
X-GNU-PR-Package: guile
X-GNU-PR-Keywords: 
To: 67412 <at> debbugs.gnu.org
Cc: Timothy Sample <samplet@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Received: via spool by 67412-submit <at> debbugs.gnu.org id=B67412.17008440154891
          (code B ref 67412); Fri, 24 Nov 2023 16:41:02 +0000
Received: (at 67412) by debbugs.gnu.org; 24 Nov 2023 16:40:15 +0000
Received: from localhost ([127.0.0.1]:37050 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r6ZDy-0001Gp-U3
	for submit <at> debbugs.gnu.org; Fri, 24 Nov 2023 11:40:15 -0500
Received: from mail-qt1-x82e.google.com ([2607:f8b0:4864:20::82e]:47348)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <maxim.cournoyer@HIDDEN>) id 1r6ZDu-0001GV-5G
 for 67412 <at> debbugs.gnu.org; Fri, 24 Nov 2023 11:40:13 -0500
Received: by mail-qt1-x82e.google.com with SMTP id
 d75a77b69052e-41cc537ed54so10525061cf.2
 for <67412 <at> debbugs.gnu.org>; Fri, 24 Nov 2023 08:40:05 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1700843999; x=1701448799; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:message-id:date:subject:cc
 :to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=fzvY7iy61nkb4rEix1zEA+uvhdgDXM9vIPFoKrp3fD0=;
 b=WXPM3j2w62HpoXXI/b1D4HaaUMW6FbGJsf1ZFAtTucFHzAqvMPouf3hEk4ODdyupgu
 NY8+HyBDhXwKecb7dkGbFvcsB0IkIwvegcvc/N6PWXWuQefUr7GaRqavJF4rxvGRMd2w
 zeWtjxBBqDHwAlKl9MhppNEySGKJxAidpBgu24/FSxGE5fA0YrWx0bC6OnsimYNkRvSw
 hndrKpDk29/McCtRySQ3y9qIfWrI+5Tfo0W9ICu/qghgfljdPenKqD4NtMzOdE6xjHJ/
 Ak9ReA3uIYMEv5cFsxDuQQXSq3+yYqRDmHVUozDcqdUXOqlegpaMU2aYvpDGlkG70fLr
 Waeg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1700843999; x=1701448799;
 h=content-transfer-encoding:mime-version:message-id:date:subject:cc
 :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=fzvY7iy61nkb4rEix1zEA+uvhdgDXM9vIPFoKrp3fD0=;
 b=b0BHpwlElBjQHT+hrYDbd0ALdNsDTG1/7Ic+YgeYfkWV9205uDY3oWfZ7ZuiPy6iMi
 6P81i5pZ+fAGCTV+bXK0SmdzXBgSFDuZom1orprpJMWbjlrdkFa1qZdF/7LMJFe81/Sp
 3v4rTeAefXcUh+te1xCIEQmp+qKEGevyQViafE9lv+D2DaSMXZKjW07Z5LGM/EU/pqJm
 f8YGM7vc3ximDDKGY1jPEPfdfkTNW0yLQtxq2pTqrmXukfCaH0G/8S3c5FUo7Q+yQbva
 EV3lrJkj//FQZ6Pb2PrUe0tA8kR+1TORQm+n9aEfZJdxNY9UWzkbp9OmXnt5/7vo45jL
 3lXw==
X-Gm-Message-State: AOJu0YzyVc/v7bO5LKWHISJ5jU1EBHciamBicOpivcpJiJASwG4sm8Ct
 zvUqfENel1zifB+778aaqL8JwSwt0tg=
X-Google-Smtp-Source: AGHT+IF0Q+pr4BnHjWrFBdyjF/aKv3az/iwQFFlM4H9mCdZWOBOgN0dqkoCrLYGcIguMZMM/hCa7Ew==
X-Received: by 2002:a05:622a:1316:b0:423:83ee:749c with SMTP id
 v22-20020a05622a131600b0042383ee749cmr4327895qtk.57.1700843999386; 
 Fri, 24 Nov 2023 08:39:59 -0800 (PST)
Received: from localhost.localdomain (dsl-158-42.b2b2c.ca. [66.158.158.42])
 by smtp.gmail.com with ESMTPSA id
 ay30-20020a05622a229e00b00423a0d10d4csm128885qtb.62.2023.11.24.08.39.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 08:39:58 -0800 (PST)
From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Date: Fri, 24 Nov 2023 11:39:29 -0500
Message-ID: <20231124163953.11253-1-maxim.cournoyer@HIDDEN>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -0.0 (/)
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: -1.0 (-)

From: Timothy Sample <samplet@HIDDEN>

* module/ice-9/r7rs-libraries.scm (define-library): Convert R7RS
exports to R6RS exports before passing them on to 'library'.

Fixes: https://bugs.gnu.org/67255
Reported-by: Maxim Cournoyer <maxim.cournoyer@HIDDEN>.
---

 module/ice-9/r7rs-libraries.scm | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/module/ice-9/r7rs-libraries.scm b/module/ice-9/r7rs-libraries.scm
index 63a300a26..f8b6b4c59 100644
--- a/module/ice-9/r7rs-libraries.scm
+++ b/module/ice-9/r7rs-libraries.scm
@@ -1,5 +1,5 @@
 ;; R7RS library support
-;;      Copyright (C) 2020, 2021 Free Software Foundation, Inc.
+;;      Copyright (C) 2020, 2021, 2023 Free Software Foundation, Inc.
 ;;
 ;; This library is free software; you can redistribute it and/or
 ;; modify it under the terms of the GNU Lesser General Public
@@ -97,12 +97,17 @@
            ((decl ...)
             (partition-decls #'(decl ... . decls) exports imports code))))))
 
+    (define (r7rs-export->r6rs-export export)
+      (syntax-case export (rename)
+        ((rename internal external) #'(rename (internal external)))
+        (_ export)))
+
     (syntax-case stx ()
       ((_ name decl ...)
        (call-with-values (lambda ()
                            (partition-decls #'(decl ...) '() '() '()))
          (lambda (exports imports code)
            #`(library name
-               (export . #,exports)
+               (export . #,(map r7rs-export->r6rs-export exports))
                (import . #,imports)
                . #,code)))))))

base-commit: d579848cb5d65440af5afd9c8968628665554c22
-- 
2.41.0





Message sent to bug-guile@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#67412: [PATCH 2/2] r7rs-libraries: Better support R7RS SRFI library names.
Resent-From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Fri, 24 Nov 2023 16:41:02 +0000
Resent-Message-ID: <handler.67412.B67412.17008440194908 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 67412
X-GNU-PR-Package: guile
X-GNU-PR-Keywords: 
To: 67412 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Received: via spool by 67412-submit <at> debbugs.gnu.org id=B67412.17008440194908
          (code B ref 67412); Fri, 24 Nov 2023 16:41:02 +0000
Received: (at 67412) by debbugs.gnu.org; 24 Nov 2023 16:40:19 +0000
Received: from localhost ([127.0.0.1]:37052 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r6ZE3-0001H6-9H
	for submit <at> debbugs.gnu.org; Fri, 24 Nov 2023 11:40:19 -0500
Received: from mail-qt1-x830.google.com ([2607:f8b0:4864:20::830]:59613)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <maxim.cournoyer@HIDDEN>) id 1r6ZDw-0001GZ-P8
 for 67412 <at> debbugs.gnu.org; Fri, 24 Nov 2023 11:40:16 -0500
Received: by mail-qt1-x830.google.com with SMTP id
 d75a77b69052e-423922b10ffso6942101cf.2
 for <67412 <at> debbugs.gnu.org>; Fri, 24 Nov 2023 08:40:08 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1700844001; x=1701448801; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:references:in-reply-to
 :message-id:date:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=knkl8CC+CAugGnEdbzq5HBePGYEzssZL063Km2fg3Yc=;
 b=bOHTMXSplJDY7me/FzYrHbTYFOiRlVRcpwQeY2efJcK7L8fMbNSS9vmPElyayeu2En
 AQKodN2HrnSkVPAr+TS9QysTL3iDDFPLXgPiLFT2BIb65Z0afLu64J1yREUBIDS+pjDW
 rqS40cmJZloM34aVHWzM/LMQcS7cSt2oy0ADdCvr3Xy1LcEtcDtZ3j4u+Lg9YssqQWi/
 J8s/arBRTk1QVMK0/dzF+L8MO6B+c18jSA8ebqvM7EuuyloQIW+hgMoeCI9nvMefH0We
 WtwLt/ydlEny3zZU0PnnrevDaABMURNgsClMPo0+5sg0l9TMraUxfh1VoGetGbGF3/Sn
 LlVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1700844001; x=1701448801;
 h=content-transfer-encoding:mime-version:references:in-reply-to
 :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=knkl8CC+CAugGnEdbzq5HBePGYEzssZL063Km2fg3Yc=;
 b=Sbcm0Qbl7GGoRrr6aAWFQmdWa345FnBuMGcQMXpT68HzP7YA+eSX1PwXBJeMOSEaQ9
 dn+mj9CtvJrLzhbDZ9Twj+SmwFCcy+TrDn3JpaxXVGaA6pRQXgGdLRga2+YvTPKpQfR2
 wkfvs/F6mQB7E1XTADJj1RlSY0MCiQ9ArQMBHpL2uCMSuw980kw9snixQ+CxVykr20SF
 mR/A+1IVsqarGVPfgdAzLmiGmL3EyU4xhvAsEjcBuygS/Zal787r2S6pqSZhrZGxip5a
 GipmaXLasRbELw5lYnp9m3je3uiqOaVWHK8UhB+qknE+p4MUjl+AHFYQuVAn/qRMXdLt
 mNoQ==
X-Gm-Message-State: AOJu0Yw+3ZLEq332FgRbZnFmKmbMYo5+5dD+RWCzXxI/zuumlZxkfpqM
 tekSyQfFuCarYpVVDuITP43sdgQ0NaY=
X-Google-Smtp-Source: AGHT+IExssCmXLdmQliGvmsOF5XPxQTkQzopepKsPxUjSZf/93nzKuA8FLl4YWXQ+38sWnWYUEuqNQ==
X-Received: by 2002:ac8:5a11:0:b0:412:1e0a:772a with SMTP id
 n17-20020ac85a11000000b004121e0a772amr4247114qta.17.1700844000715; 
 Fri, 24 Nov 2023 08:40:00 -0800 (PST)
Received: from localhost.localdomain (dsl-158-42.b2b2c.ca. [66.158.158.42])
 by smtp.gmail.com with ESMTPSA id
 ay30-20020a05622a229e00b00423a0d10d4csm128885qtb.62.2023.11.24.08.40.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 08:40:00 -0800 (PST)
From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Date: Fri, 24 Nov 2023 11:39:30 -0500
Message-ID: <20231124163953.11253-2-maxim.cournoyer@HIDDEN>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231124163953.11253-1-maxim.cournoyer@HIDDEN>
References: <20231124163953.11253-1-maxim.cournoyer@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -0.0 (/)
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: -1.0 (-)

* module/ice-9/r6rs-libraries.scm (resolve-r6rs-interface)
(library): Move R7RS specifics to...
* module/ice-9/r7rs-libraries.scm (define-library): ... here.
<r7rs-name->r6rs-name, r7rs-import->r6rs-import>: New nested procedures,
used to translate the library name and import sets.
* test-suite/tests/rnrs-libraries.test ("import features"): Add a test.

Fixes: https://bugs.gnu.org/67412
---

 module/ice-9/r6rs-libraries.scm | 25 +++--------------
 module/ice-9/r7rs-libraries.scm | 48 +++++++++++++++++++++++++++++++--
 2 files changed, 50 insertions(+), 23 deletions(-)

diff --git a/module/ice-9/r6rs-libraries.scm b/module/ice-9/r6rs-libraries.scm
index f27b07841..78b3dfcfb 100644
--- a/module/ice-9/r6rs-libraries.scm
+++ b/module/ice-9/r6rs-libraries.scm
@@ -27,11 +27,6 @@
   (define (sym? stx)
     (symbol? (syntax->datum stx)))
 
-  (define (n? stx)
-    (let ((n (syntax->datum stx)))
-      (and (exact-integer? n)
-           (not (negative? n)))))
-
   (define (colon-n? x)
     (let ((sym (syntax->datum x)))
       (and (symbol? sym)
@@ -45,8 +40,7 @@
     (syntax-case stx (srfi)
       ((srfi n rest ...)
        (and (and-map sym? #'(rest ...))
-            (or (n? #'n)
-                (colon-n? #'n))))
+            (colon-n? #'n)))
       (_ #f)))
 
   (define (module-name? stx)
@@ -63,9 +57,7 @@
       (string-append
        "srfi-"
        (let ((n (syntax->datum n)))
-         (if (symbol? n)
-             (substring (symbol->string n) 1)
-             (number->string n)))))))
+         (substring (symbol->string n) 1))))))
 
   (define (make-custom-interface mod)
     (let ((iface (make-module)))
@@ -86,7 +78,6 @@
 
   (syntax-case import-spec (library only except prefix rename srfi)
     ;; (srfi :n ...) -> (srfi srfi-n ...)
-    ;; (srfi n ...) -> (srfi srfi-n ...)
     ((library (srfi n rest ... (version ...)))
      (srfi-name? #'(srfi n rest ...))
      (let ((srfi-n (make-srfi-n #'srfi #'n)))
@@ -196,11 +187,6 @@
     (define (sym? stx)
       (symbol? (syntax->datum stx)))
 
-    (define (n? stx)
-      (let ((n (syntax->datum stx)))
-        (and (exact-integer? n)
-             (not (negative? n)))))
-
     (define (colon-n? x)
       (let ((sym (syntax->datum x)))
         (and (symbol? sym)
@@ -214,8 +200,7 @@
       (syntax-case stx (srfi)
         ((srfi n rest ...)
          (and (and-map sym? #'(rest ...))
-              (or (n? #'n)
-                  (colon-n? #'n))))
+              (colon-n? #'n)))
         (_ #f)))
 
     (define (module-name? stx)
@@ -232,9 +217,7 @@
         (string-append
          "srfi-"
          (let ((n (syntax->datum n)))
-           (if (symbol? n)
-               (substring (symbol->string n) 1)
-               (number->string n)))))))
+           (substring (symbol->string n) 1))))))
 
     (define (compute-exports ifaces specs)
       (define (re-export? sym)
diff --git a/module/ice-9/r7rs-libraries.scm b/module/ice-9/r7rs-libraries.scm
index f8b6b4c59..f2692b833 100644
--- a/module/ice-9/r7rs-libraries.scm
+++ b/module/ice-9/r7rs-libraries.scm
@@ -102,12 +102,56 @@
         ((rename internal external) #'(rename (internal external)))
         (_ export)))
 
+    (define (r7rs-name->r6rs-name name)
+      ;; This is a hack to support (srfi N x ...) modules in R7RS.  The
+      ;; longer term solution would be to add support at the level of
+      ;; resolve-interface (bug #40371).
+      (define (n? stx)
+        (let ((n (syntax->datum stx)))
+          (and (exact-integer? n)
+               (not (negative? n)))))
+
+      (define (srfi-name? stx)
+        (syntax-case stx (srfi)
+          ((srfi n rest ...)
+           (n? #'n))
+          (_ #f)))
+
+      (define (make-srfi-n context n)
+        (datum->syntax
+         context
+         (string->symbol
+          (string-append
+           "srfi-"
+           (let ((n (syntax->datum n)))
+             (number->string n))))))
+
+      (syntax-case name (srfi)
+        ;; (srfi n ...) -> (srfi srfi-n ...)
+        ((srfi n rest ...) (srfi-name? #'(srfi n rest ...))
+         #`(srfi #,(make-srfi-n #'srfi #'n) rest ...))
+        (_ name)))
+
+    (define (r7rs-import->r6rs-import import-set)
+      ;; Normalize SRFI names.
+      (syntax-case import-set (only except prefix rename)
+        ((only import-set identifier ...)
+         #`(only #,(r7rs-import->r6rs-import #'import-set) identifier ...))
+        ((except import-set identifier ...)
+         #`(except #,(r7rs-import->r6rs-import #'import-set) identifier ...))
+        ((prefix import-set identifier ...)
+         #`(prefix #,(r7rs-import->r6rs-import #'import-set) identifier ...))
+        ((rename import-set (from-identifier to-identifier) ...)
+         #`(rename #,(r7rs-import->r6rs-import #'import-set)
+                   (from-identifier to-identifier) ...))
+        (_ (r7rs-name->r6rs-name import-set))))
+
     (syntax-case stx ()
       ((_ name decl ...)
        (call-with-values (lambda ()
                            (partition-decls #'(decl ...) '() '() '()))
          (lambda (exports imports code)
-           #`(library name
+           #`(library #,(r7rs-name->r6rs-name #'name)
                (export . #,(map r7rs-export->r6rs-export exports))
-               (import . #,imports)
+               (import . #,(map r7rs-import->r6rs-import imports))
                . #,code)))))))
-- 
2.41.0





Message sent to bug-guile@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#67412: [PATCH v2 1/2] Use R7RS 'rename' syntax for exports.
References: <87o7fk6yp8.fsf@HIDDEN>
In-Reply-To: <87o7fk6yp8.fsf@HIDDEN>
Resent-From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Fri, 24 Nov 2023 21:21:02 +0000
Resent-Message-ID: <handler.67412.B67412.170086085222503 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 67412
X-GNU-PR-Package: guile
X-GNU-PR-Keywords: 
To: 67412 <at> debbugs.gnu.org
Cc: Timothy Sample <samplet@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Received: via spool by 67412-submit <at> debbugs.gnu.org id=B67412.170086085222503
          (code B ref 67412); Fri, 24 Nov 2023 21:21:02 +0000
Received: (at 67412) by debbugs.gnu.org; 24 Nov 2023 21:20:52 +0000
Received: from localhost ([127.0.0.1]:37341 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r6dbX-0005qn-Ok
	for submit <at> debbugs.gnu.org; Fri, 24 Nov 2023 16:20:52 -0500
Received: from mail-qk1-x72e.google.com ([2607:f8b0:4864:20::72e]:53373)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <maxim.cournoyer@HIDDEN>) id 1r6dbV-0005qY-Nq
 for 67412 <at> debbugs.gnu.org; Fri, 24 Nov 2023 16:20:50 -0500
Received: by mail-qk1-x72e.google.com with SMTP id
 af79cd13be357-77d84f8808dso35520985a.2
 for <67412 <at> debbugs.gnu.org>; Fri, 24 Nov 2023 13:20:44 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1700860839; x=1701465639; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:message-id:date:subject:cc
 :to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=cSuHVk3r1d54szsBvDBsBL9HBWp10BnbbHHpEBRuw+w=;
 b=iHKfw5dfYUa5FWaAFIoViW3CS0Vc1BKVkw2b/T2G2N23CX/DsiSVfboZFWekSx54Sr
 nSptAXFUruQDUbvur5wrxfxA58Y6PbhQRU9geAeHhdIvLIFLF+HkNaO4bkv6hxjiW8Ok
 CMpY0LU5OHw2IH5lLkR8oiBfnsP8FLvAfQClSsq2POWebpNxTqI06QOi/z6S0rfrzJSB
 c39nMO2wPyZHytXZPLbjomt4WlAyQLIb3ffHZz4Uj5X/PyFM4HAZfxfXUGKcFkBFFJAi
 4o7kwlSfx6C2wVMmTfultdjzyLmlNQHg823uMidT6y6LDGIKP29z8vi/M7J+/6D0/Cl2
 phDg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1700860839; x=1701465639;
 h=content-transfer-encoding:mime-version:message-id:date:subject:cc
 :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=cSuHVk3r1d54szsBvDBsBL9HBWp10BnbbHHpEBRuw+w=;
 b=bpdRhkqzzvivuR4B6M1j4ENauOtjpo1NovGzybKUpjwLQr2QKGb69+l9Yqa3wMozsD
 Z8AwSkaH9Rx5tG5L6tmYvAf8YepXwhHawKnUyEyV0dhtL1b3f2xyqSJdYVnIzfOos1/j
 7dzAvdgTI2Woqc2/0mIkt4pCQjeWr9ZsVgUCYf2UMiVei8+/AVtfOtBNEnNK6SPHqc6v
 VJAxelMSPXOPf3hTJPmYkUoY3+rIizphHDOeG0Ps8BGDYGhHapsjSXADhUXTNXHDTOXN
 XCx38nxtUownRhqH6FLkOsmA5TrKPRDuPRvAFhp7sVYQwMd+Ysrp6iP8AOpsv3AUkVAU
 5bWA==
X-Gm-Message-State: AOJu0Yzd2jE2LvYDsPZ9Re8uiVu8kdJl31aQbg98nGPD4/ssuxzQHouD
 sOYCW2DR/TsnRzuVItFEWcSxxXSNnKM=
X-Google-Smtp-Source: AGHT+IFDpgZ/15DauNM6Ki+iq8BpccriWYNiKzgSX4XT21ago67Q1/mq3cTLtd/XvFprgN95pMWwpA==
X-Received: by 2002:a05:620a:6844:b0:77d:72c2:8561 with SMTP id
 ru4-20020a05620a684400b0077d72c28561mr4503011qkn.55.1700860838874; 
 Fri, 24 Nov 2023 13:20:38 -0800 (PST)
Received: from localhost.localdomain (dsl-158-42.b2b2c.ca. [66.158.158.42])
 by smtp.gmail.com with ESMTPSA id
 w28-20020a05620a0e9c00b0077d5d1461aesm1504001qkm.31.2023.11.24.13.20.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 13:20:38 -0800 (PST)
From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Date: Fri, 24 Nov 2023 16:19:05 -0500
Message-ID: <20231124212033.18967-1-maxim.cournoyer@HIDDEN>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -0.0 (/)
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: -1.0 (-)

From: Timothy Sample <samplet@HIDDEN>

* module/ice-9/r7rs-libraries.scm (define-library): Convert R7RS
exports to R6RS exports before passing them on to 'library'.

Fixes: https://bugs.gnu.org/67255
Reported-by: Maxim Cournoyer <maxim.cournoyer@HIDDEN>.
Modified-by: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
---

(no changes since v1)

 module/ice-9/r7rs-libraries.scm | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/module/ice-9/r7rs-libraries.scm b/module/ice-9/r7rs-libraries.scm
index 63a300a26..429d82ad9 100644
--- a/module/ice-9/r7rs-libraries.scm
+++ b/module/ice-9/r7rs-libraries.scm
@@ -1,5 +1,5 @@
 ;; R7RS library support
-;;      Copyright (C) 2020, 2021 Free Software Foundation, Inc.
+;;      Copyright (C) 2020, 2021, 2023 Free Software Foundation, Inc.
 ;;
 ;; This library is free software; you can redistribute it and/or
 ;; modify it under the terms of the GNU Lesser General Public
@@ -97,12 +97,18 @@
            ((decl ...)
             (partition-decls #'(decl ... . decls) exports imports code))))))
 
+    (define (r7rs-export->r6rs-export export-spec)
+      (syntax-case export-spec (rename)
+        ((rename from-identifier to-identifier)
+         #'(rename (from-identifier to-identifier)))
+        (identifier #'identifier)))
+
     (syntax-case stx ()
       ((_ name decl ...)
        (call-with-values (lambda ()
                            (partition-decls #'(decl ...) '() '() '()))
          (lambda (exports imports code)
            #`(library name
-               (export . #,exports)
+               (export . #,(map r7rs-export->r6rs-export exports))
                (import . #,imports)
                . #,code)))))))

base-commit: d579848cb5d65440af5afd9c8968628665554c22
-- 
2.41.0





Message sent to bug-guile@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#67412: [PATCH v2 2/2] r7rs-libraries: Better support R7RS SRFI library names.
Resent-From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Fri, 24 Nov 2023 21:21:02 +0000
Resent-Message-ID: <handler.67412.B67412.170086085622514 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 67412
X-GNU-PR-Package: guile
X-GNU-PR-Keywords: 
To: 67412 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Received: via spool by 67412-submit <at> debbugs.gnu.org id=B67412.170086085622514
          (code B ref 67412); Fri, 24 Nov 2023 21:21:02 +0000
Received: (at 67412) by debbugs.gnu.org; 24 Nov 2023 21:20:56 +0000
Received: from localhost ([127.0.0.1]:37343 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1r6dbb-0005r3-IR
	for submit <at> debbugs.gnu.org; Fri, 24 Nov 2023 16:20:56 -0500
Received: from mail-qt1-x831.google.com ([2607:f8b0:4864:20::831]:43214)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <maxim.cournoyer@HIDDEN>) id 1r6dbX-0005qc-2M
 for 67412 <at> debbugs.gnu.org; Fri, 24 Nov 2023 16:20:52 -0500
Received: by mail-qt1-x831.google.com with SMTP id
 d75a77b69052e-41cbd2cf3bbso26989531cf.0
 for <67412 <at> debbugs.gnu.org>; Fri, 24 Nov 2023 13:20:46 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1700860840; x=1701465640; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:references:in-reply-to
 :message-id:date:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=GQ4RfE/JGzIzHrt8Idl0TL6t+sgCJRCGNyXy0UdsGmY=;
 b=W6wtMT/C68sUArhhN82fuPI1MrL86k2+HZNXkjcXm349flm0z5w7vRyZ8qc8NidNsO
 6A0f5tPnjmNNnAl7IK9xkL/6PdJpL7PLGbfuOHWEUkFsRfd/cHiGr5iw/RrwnuVlZOtk
 nUoB0zJ8Gd8DGggusiQo9FkkVs/m3skH0PDwplP2JaEvUqaBwQluFjWAUKS0IRULUqXe
 4UauS7locygKu8SySd/oToj+meucRi74PP0mKxWnMerxbdXOTn/UB0ACAOcKmyiThfFP
 wzApwQKQm4U+hL82iThM8wBNBhFqlLzLZShCgemM3ZXdq4zVRhIJwZ5PxfuitnQHS2bw
 tzSw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1700860840; x=1701465640;
 h=content-transfer-encoding:mime-version:references:in-reply-to
 :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=GQ4RfE/JGzIzHrt8Idl0TL6t+sgCJRCGNyXy0UdsGmY=;
 b=JwbFrD0oVDYgRlZC7/bajwVA2EJVjdKrcLftjVKleu58hxc3IviWXYNBc8xy+8mOug
 9KEysKY9dmSjCcyhUKiOI5t1v7pE6dmLXbSxgUV7DyuYBeUljCgoxHLkekjmYxR2w0f+
 N+z/2TQeu2XFqDy1uDryqpZy7m+ZPYV5sG4VcSZLCMsy65cJ30xmEuoyAHzB3FcD6S/I
 5g9waMaP7GkbbTA8ux9yN8sHxd9BEBSLi0zNVlFTkilMGEyLdq4f9nHmbcuco5I+F83m
 WAFdfCNZAK6vsMH7Gs9F6nH74m2OrHyv4yIxe7z5GLZV7pkE6AtZNOTzvvYbQtaRvKGw
 Sa0g==
X-Gm-Message-State: AOJu0YyZ9q/rVNy8lub/yxqWQB24sl/1laWh8QV1yqJ6hMb4ier2xiS9
 WIhIgCmgZ6KQF0rRMaK3l9Xski5ldGI=
X-Google-Smtp-Source: AGHT+IG9ksVPVIRleROy2SMvIqONWib+AdyPusOlLtFxga0md5oun6MgtbCcUUrJlbn89t9DQzHaZQ==
X-Received: by 2002:a0c:e88c:0:b0:67a:92f:f300 with SMTP id
 b12-20020a0ce88c000000b0067a092ff300mr6328076qvo.0.1700860840436; 
 Fri, 24 Nov 2023 13:20:40 -0800 (PST)
Received: from localhost.localdomain (dsl-158-42.b2b2c.ca. [66.158.158.42])
 by smtp.gmail.com with ESMTPSA id
 w28-20020a05620a0e9c00b0077d5d1461aesm1504001qkm.31.2023.11.24.13.20.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 13:20:39 -0800 (PST)
From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Date: Fri, 24 Nov 2023 16:19:06 -0500
Message-ID: <20231124212033.18967-2-maxim.cournoyer@HIDDEN>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231124212033.18967-1-maxim.cournoyer@HIDDEN>
References: <20231124212033.18967-1-maxim.cournoyer@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -0.0 (/)
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: -1.0 (-)

* module/ice-9/r6rs-libraries.scm
(resolve-r6rs-interface <srfi-name?>: Relax symbol requirements.
Return a symbol.
<import-spec>: Add a new syntax matching clause to avoid stripping the
3rd identifier in a R7RS SRFI module name.
(library): Move R7RS specifics to...
* module/ice-9/r7rs-libraries.scm (define-library): ... here.
<r7rs-name->r6rs-name, r7rs-import->r6rs-import>: New nested procedures,
used to translate the library name and import sets.
* test-suite/tests/rnrs-libraries.test ("import features")
<"renaming works">: Extend test.
<"import works">: New test.

Fixes: https://bugs.gnu.org/67412
---

Changes in v2:
 - Leave/improve some R7RS SRFI handling in r6rs-libraries, for 'import'
 - New 'import' test

 module/ice-9/r6rs-libraries.scm      | 86 ++++++++--------------------
 module/ice-9/r7rs-libraries.scm      | 48 +++++++++++++++-
 test-suite/tests/rnrs-libraries.test | 12 +++-
 3 files changed, 81 insertions(+), 65 deletions(-)

diff --git a/module/ice-9/r6rs-libraries.scm b/module/ice-9/r6rs-libraries.scm
index f27b07841..f02b13516 100644
--- a/module/ice-9/r6rs-libraries.scm
+++ b/module/ice-9/r6rs-libraries.scm
@@ -44,9 +44,9 @@
   (define (srfi-name? stx)
     (syntax-case stx (srfi)
       ((srfi n rest ...)
-       (and (and-map sym? #'(rest ...))
-            (or (n? #'n)
-                (colon-n? #'n))))
+       (cond ((n? #'n) 'r7rs)
+             ((colon-n? #'n) 'r6rs)
+             (else #f)))
       (_ #f)))
 
   (define (module-name? stx)
@@ -85,10 +85,19 @@
               (module-and-uses mod)))
 
   (syntax-case import-spec (library only except prefix rename srfi)
-    ;; (srfi :n ...) -> (srfi srfi-n ...)
+    ;; XXX: This is R7RS-specific, but it's here since we want the
+    ;; `import' procedure below to accept (srfi 64) as well as
+    ;; (srfi :64).
+    ;;
     ;; (srfi n ...) -> (srfi srfi-n ...)
     ((library (srfi n rest ... (version ...)))
-     (srfi-name? #'(srfi n rest ...))
+     (eq? 'r7rs (srfi-name? #'(srfi n rest ...)))
+     (let ((srfi-n (make-srfi-n #'srfi #'n)))
+       (resolve-r6rs-interface
+        #`(library (srfi #,srfi-n rest ... (version ...))))))
+    ;; (srfi :n ...) -> (srfi srfi-n ...)
+    ((library (srfi n rest ... (version ...)))
+     (eq? 'r6rs (srfi-name? #'(srfi n rest ...)))
      (let ((srfi-n (make-srfi-n #'srfi #'n)))
        (resolve-r6rs-interface
         (syntax-case #'(rest ...) ()
@@ -98,7 +107,7 @@
            ;; SRFI 97 says that the first identifier after the `n'
            ;; is used for the libraries name, so it must be ignored.
            #`(library (srfi #,srfi-n rest ... (version ...))))))))
-    
+
     ((library (name name* ... (version ...)))
      (and-map sym? #'(name name* ...))
      (resolve-interface (syntax->datum #'(name name* ...))
@@ -107,7 +116,7 @@
     ((library (name name* ...))
      (and-map sym? #'(name name* ...))
      (resolve-r6rs-interface #'(library (name name* ... ()))))
-    
+
     ((only import-set identifier ...)
      (and-map sym? #'(identifier ...))
      (let* ((mod (resolve-r6rs-interface #'import-set))
@@ -121,7 +130,7 @@
                      (hashq-set! (module-replacements iface) sym #t)))
                  (syntax->datum #'(identifier ...)))
        iface))
-    
+
     ((except import-set identifier ...)
      (and-map sym? #'(identifier ...))
      (let* ((mod (resolve-r6rs-interface #'import-set))
@@ -182,7 +191,7 @@
              (module-remove! iface from)
              (hashq-remove! replacements from)
              (lp (cdr in) (cons (vector to replace? var) out))))))))
-    
+
     ((name name* ... (version ...))
      (module-name? #'(name name* ...))
      (resolve-r6rs-interface #'(library (name name* ... (version ...)))))
@@ -196,45 +205,11 @@
     (define (sym? stx)
       (symbol? (syntax->datum stx)))
 
-    (define (n? stx)
-      (let ((n (syntax->datum stx)))
-        (and (exact-integer? n)
-             (not (negative? n)))))
-
-    (define (colon-n? x)
-      (let ((sym (syntax->datum x)))
-        (and (symbol? sym)
-             (let ((str (symbol->string sym)))
-               (and (string-prefix? ":" str)
-                    (let ((num (string->number (substring str 1))))
-                      (and (exact-integer? num)
-                           (not (negative? num)))))))))
-
-    (define (srfi-name? stx)
-      (syntax-case stx (srfi)
-        ((srfi n rest ...)
-         (and (and-map sym? #'(rest ...))
-              (or (n? #'n)
-                  (colon-n? #'n))))
-        (_ #f)))
-
     (define (module-name? stx)
-      (or (srfi-name? stx)
-          (syntax-case stx ()
-            ((name name* ...)
-             (and-map sym? #'(name name* ...)))
-            (_ #f))))
-
-    (define (make-srfi-n context n)
-      (datum->syntax
-       context
-       (string->symbol
-        (string-append
-         "srfi-"
-         (let ((n (syntax->datum n)))
-           (if (symbol? n)
-               (substring (symbol->string n) 1)
-               (number->string n)))))))
+      (syntax-case stx ()
+        ((name name* ...)
+         (and-map sym? #'(name name* ...)))
+        (_ #f)))
 
     (define (compute-exports ifaces specs)
       (define (re-export? sym)
@@ -282,17 +257,6 @@
            (import ispec ...)
            body ...))
 
-      ((_ (srfi n rest ... (version ...))
-          (export espec ...)
-          (import ispec ...)
-          body ...)
-       (srfi-name? #'(srfi n rest ...))
-       (let ((srfi-n (make-srfi-n #'srfi #'n)))
-         #`(library (srfi #,srfi-n rest ... (version ...))
-             (export espec ...)
-             (import ispec ...)
-             body ...)))
-
       ((_ (name name* ... (version ...))
           (export espec ...)
           (import ispec ...)
@@ -328,7 +292,7 @@
                  (export! x ...)
                  (@@ @@ (name name* ...) body)
                  ...))))))))
-    
+
 (define-syntax import
   (lambda (stx)
     (define (strip-for import-set)
@@ -343,7 +307,7 @@
          #'(eval-when (expand load eval)
              (let ((iface (resolve-r6rs-interface 'library-reference)))
                (call-with-deferred-observers
-                 (lambda ()
-                   (module-use-interfaces! (current-module) (list iface)))))
+                (lambda ()
+                  (module-use-interfaces! (current-module) (list iface)))))
              ...
              (if #f #f)))))))
diff --git a/module/ice-9/r7rs-libraries.scm b/module/ice-9/r7rs-libraries.scm
index 429d82ad9..c6f70d73f 100644
--- a/module/ice-9/r7rs-libraries.scm
+++ b/module/ice-9/r7rs-libraries.scm
@@ -103,12 +103,56 @@
          #'(rename (from-identifier to-identifier)))
         (identifier #'identifier)))
 
+    (define (r7rs-name->r6rs-name name)
+      ;; This is a hack to support (srfi N x ...) modules in R7RS.  The
+      ;; longer term solution would be to add support at the level of
+      ;; resolve-interface (bug #40371).
+      (define (n? stx)
+        (let ((n (syntax->datum stx)))
+          (and (exact-integer? n)
+               (not (negative? n)))))
+
+      (define (srfi-name? stx)
+        (syntax-case stx (srfi)
+          ((srfi n rest ...)
+           (n? #'n))
+          (_ #f)))
+
+      (define (make-srfi-n context n)
+        (datum->syntax
+         context
+         (string->symbol
+          (string-append
+           "srfi-"
+           (let ((n (syntax->datum n)))
+             (number->string n))))))
+
+      (syntax-case name (srfi)
+        ;; (srfi n ...) -> (srfi srfi-n ...)
+        ((srfi n rest ...) (srfi-name? #'(srfi n rest ...))
+         #`(srfi #,(make-srfi-n #'srfi #'n) rest ...))
+        (_ name)))
+
+    (define (r7rs-import->r6rs-import import-set)
+      ;; Normalize SRFI names.
+      (syntax-case import-set (only except prefix rename)
+        ((only import-set identifier ...)
+         #`(only #,(r7rs-import->r6rs-import #'import-set) identifier ...))
+        ((except import-set identifier ...)
+         #`(except #,(r7rs-import->r6rs-import #'import-set) identifier ...))
+        ((prefix import-set identifier ...)
+         #`(prefix #,(r7rs-import->r6rs-import #'import-set) identifier ...))
+        ((rename import-set (from-identifier to-identifier) ...)
+         #`(rename #,(r7rs-import->r6rs-import #'import-set)
+                   (from-identifier to-identifier) ...))
+        (_ (r7rs-name->r6rs-name import-set))))
+
     (syntax-case stx ()
       ((_ name decl ...)
        (call-with-values (lambda ()
                            (partition-decls #'(decl ...) '() '() '()))
          (lambda (exports imports code)
-           #`(library name
+           #`(library #,(r7rs-name->r6rs-name #'name)
                (export . #,(map r7rs-export->r6rs-export exports))
-               (import . #,imports)
+               (import . #,(map r7rs-import->r6rs-import imports))
                . #,code)))))))
diff --git a/test-suite/tests/rnrs-libraries.test b/test-suite/tests/rnrs-libraries.test
index 86035e508..0fa7acb5c 100644
--- a/test-suite/tests/rnrs-libraries.test
+++ b/test-suite/tests/rnrs-libraries.test
@@ -205,9 +205,17 @@
   (with-test-prefix "srfi"
     (pass-if "renaming works"
       (eq? (resolve-interface '(srfi srfi-1))
-           (resolve-r6rs-interface '(srfi :1)))
+           (resolve-r6rs-interface '(srfi :1))
+           (resolve-r6rs-interface '(srfi 1)))
       (eq? (resolve-interface '(srfi srfi-1))
-           (resolve-r6rs-interface '(srfi :1 lists)))))
+           (resolve-r6rs-interface '(srfi :1 lists))
+           (resolve-r6rs-interface '(srfi 1))))
+
+    (pass-if "import works"
+      (import (srfi srfi-1))
+      (import (srfi :1))
+      (import (srfi 1))
+      #t))
 
   (with-test-prefix "macro"
     (pass-if "multiple clauses"
-- 
2.41.0





Message received at control <at> debbugs.gnu.org:


Received: (at control) by debbugs.gnu.org; 16 Sep 2024 12:20:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 16 08:20:00 2024
Received: from localhost ([127.0.0.1]:51255 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sqAi0-0004Gi-6k
	for submit <at> debbugs.gnu.org; Mon, 16 Sep 2024 08:20:00 -0400
Received: from mail-pj1-f49.google.com ([209.85.216.49]:45409)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <maxim.cournoyer@HIDDEN>) id 1sqAhy-0004GW-Nu
 for control <at> debbugs.gnu.org; Mon, 16 Sep 2024 08:19:59 -0400
Received: by mail-pj1-f49.google.com with SMTP id
 98e67ed59e1d1-2d877e9054eso3050129a91.3
 for <control <at> debbugs.gnu.org>; Mon, 16 Sep 2024 05:19:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1726489119; x=1727093919; darn=debbugs.gnu.org;
 h=subject:from:to:message-id:date:from:to:cc:subject:date:message-id
 :reply-to; bh=SxM5BGhUAiA9tx0/BM6vfsd/1QY993MJa7UM6TPf2Z0=;
 b=nVUOLJ9MFwNd3ncNPITieYuAp/VyIibX0vsoFHqqCSxLgZaILjCGmBy8/G6jCLE3xJ
 KhcePGGsKm/wytziCP3BH3XxtFMD1clp/VF+G1ESnMEdbUxWz0Fy/pt0IomWHvKF76WC
 zPVOhfElFMd8yh9vimCJRVMGwXZII5sEFwuTbt4bHq3Ze0ucE89ybYuhv8Ai5W4/mw4q
 57Lq7Fk9Dzn3au+kFS+7um1WuQJVkh5pnDjoLO5yaZEdJe2xhBXARaVZIDoz5Vs2o1K8
 z2FPrjkamd+cPimJOQE6j8oY1f3xJOaE3N1IulW5NRTLWhjoiziIjIjcbz/PSn/ctyg4
 YTzQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1726489119; x=1727093919;
 h=subject:from:to:message-id:date:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=SxM5BGhUAiA9tx0/BM6vfsd/1QY993MJa7UM6TPf2Z0=;
 b=rO9BUKJrj3hdFZaxifUY1OZVDkQnRuV0sHSbNkDlkweAM3e7UOnNxeOjSdwHYpz77h
 Ze3VrZlM1/KUAciPqBzqmgJuH0bPF/J5wpKPbT2LIKVMdS1uLBeI9eqUR4RgEdq2EdzW
 a34VS5mrjk5uN4z4Rc7W6kOSUvvIIZYt0gSzv6hwKXz5K74sQdWfePQP1PB8rsYwUlDm
 q6bun4kCD+otTeDtzguo25Xtgbu3s65FCrZoF0pIPJjQNikAC+qanFyMRAdE0CzlIvF2
 HPvpyvGme/GaHur1k2YKP39KWVBz85Atnbw8cnT2cauu8ml9PKY0otMFT6LRj/TDZYjP
 W0WQ==
X-Gm-Message-State: AOJu0YxoLtOB0WfFNCMOIOv1qbrOhwhqwjTvaFBC426WDlcl1CinoPGR
 gcLqVOJ/A8ED22Lrr6bo/ldmOSA86AG3GFQSMSXVgvhIVlaej/3R+UnelA==
X-Google-Smtp-Source: AGHT+IFsGbmd2QbE8AH4GbPVp0egQQorYbCnlDvBhsEMWFwqEjdSEvF33OCv5SD+Qt6lfgbPMV+3pg==
X-Received: by 2002:a17:90a:17e3:b0:2d8:a731:7db0 with SMTP id
 98e67ed59e1d1-2dba00681a7mr14908033a91.35.1726489118683; 
 Mon, 16 Sep 2024 05:18:38 -0700 (PDT)
Received: from hurd ([2405:6586:be0:0:c8ff:1707:9b9:af89])
 by smtp.gmail.com with ESMTPSA id
 98e67ed59e1d1-2dbb9c3f511sm7198037a91.5.2024.09.16.05.18.37
 for <control <at> debbugs.gnu.org>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 16 Sep 2024 05:18:38 -0700 (PDT)
Date: Mon, 16 Sep 2024 21:18:35 +0900
Message-Id: <87ikuvrdus.fsf@HIDDEN>
To: control <at> debbugs.gnu.org
From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Subject: control message for bug #67412
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: control
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: -1.0 (-)

tags 67412 + patch
quit






Last modified: Sun, 12 Jan 2025 05:45:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.