From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dale Smith Newsgroups: gmane.lisp.guile.bugs Subject: bug#43025: re-export-public-interface fails on Guile 3 Date: Mon, 24 Aug 2020 12:11:37 -0400 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="38716"; mail-complaints-to="usenet@ciao.gmane.io" To: 43025@debbugs.gnu.org Original-X-From: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Mon Aug 24 18:12:13 2020 Return-path: Envelope-to: guile-bugs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kAF4u-0009y2-Ru for guile-bugs@m.gmane-mx.org; Mon, 24 Aug 2020 18:12:12 +0200 Original-Received: from localhost ([::1]:53056 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kAF4t-0002gm-Td for guile-bugs@m.gmane-mx.org; Mon, 24 Aug 2020 12:12:11 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:49706) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kAF4l-0002fp-Dw for bug-guile@gnu.org; Mon, 24 Aug 2020 12:12:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:47475) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kAF4k-0003S3-3o for bug-guile@gnu.org; Mon, 24 Aug 2020 12:12:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kAF4j-0002Wx-UV for bug-guile@gnu.org; Mon, 24 Aug 2020 12:12:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Dale Smith Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Mon, 24 Aug 2020 16:12:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 43025 X-GNU-PR-Package: guile X-Debbugs-Original-To: bug-guile@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.15982855119708 (code B ref -1); Mon, 24 Aug 2020 16:12:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 24 Aug 2020 16:11:51 +0000 Original-Received: from localhost ([127.0.0.1]:59021 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kAF4Y-0002WW-Tf for submit@debbugs.gnu.org; Mon, 24 Aug 2020 12:11:51 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:60458) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kAF4X-0002WP-JO for submit@debbugs.gnu.org; Mon, 24 Aug 2020 12:11:49 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:49672) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kAF4V-0002Td-Uf for bug-guile@gnu.org; Mon, 24 Aug 2020 12:11:49 -0400 Original-Received: from mail-ot1-x332.google.com ([2607:f8b0:4864:20::332]:33945) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kAF4S-0003Pb-4O for bug-guile@gnu.org; Mon, 24 Aug 2020 12:11:47 -0400 Original-Received: by mail-ot1-x332.google.com with SMTP id k20so3170586otr.1 for ; Mon, 24 Aug 2020 09:11:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=xwnLfRBw6mCCvWEjnsREg80yIU5i+i5n+OWEggvdglo=; b=GWBlC9YOgf8iRFlC8aRvaDYZ/IrZBWFDB5L67eMcIjnxv4ufKS3ktmcZV+0DpjQXpn ix5Bwv1cSPGkysBG1RJaCEn8orATEG5T5a77vd67+7hbjb2yEbdc24xUVFJeQ46W2P1/ 1DUF1aQJVr5IpFwJHEMZQRXTY/7qatxaZ8mkQliA+G/nxeFlHRpaLVm0zKbaVDH+V+NJ yclsxIw0D59w8DTi1DOCXORP0HAMpblsImN/zq8CmaL5N9Vz1H9cEQYebL1kyf930ydq JCXj3ZBudg8ifknsgT8NBqWxFvtA4fiXaFn78FOGlK9dIFB3KhIQ1NA5Qc3NAX3g+7iM xrKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=xwnLfRBw6mCCvWEjnsREg80yIU5i+i5n+OWEggvdglo=; b=S30JAREKKP4K+Uxnwv/MgZp7jU2d+RDzKS/nXXUSofQ6zdZrQq/2zSMnIr98cOBgak VsYSTvbajmE78yE8lKuzyDU4PTUdoMLQJOlNTnWFJSD32DjwE8cFk+i6PlQVoFbJMpke ELKbacuicR/delHiGFjsirJAstvwWQbKkvDujY3JmM/E3wUTmXUipQg+9FgmAGuF1e67 +Njjomj+p0em1lTMuo9nEngVjucIHRSHWtiJaqD7px8ildimTVh7Bov2iARpmalG+SJp zzN4RzeGZIU60XFtWIVzSPfD0gE/xv7ErzEx19pq5yuXDvo3NMRQqO/R4TukGFpYPTR3 lcQg== X-Gm-Message-State: AOAM531ty9GbAB0W8780TwYUQW/78V3an1HetDU5B+nJ4W+rDiWrOauV p7LU6wBev0q83nqp175TT28wjty93zgoy8f5E0qKKemavQE= X-Google-Smtp-Source: ABdhPJwDQQy4JHFA9an+oXLzL0u96f4cq65OBSt8j7NnJhuoYBb8sWOaq1hHwNfQkLo+8qcGTqWzavuDbp1wVwLNIo8= X-Received: by 2002:a05:6830:11cc:: with SMTP id v12mr4235990otq.268.1598285497900; Mon, 24 Aug 2020 09:11:37 -0700 (PDT) Original-Received: by 2002:a4a:b288:0:0:0:0:0 with HTTP; Mon, 24 Aug 2020 09:11:37 -0700 (PDT) Received-SPF: pass client-ip=2607:f8b0:4864:20::332; envelope-from=dalepsmith@gmail.com; helo=mail-ot1-x332.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. 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 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Original-Sender: "bug-guile" Xref: news.gmane.io gmane.lisp.guile.bugs:9866 Archived-At: This is actually reported by daviid on IRC. This definition of re-export-public-interface works fine on Guile 2.x, fails with Guile 3: (hope this makes it through the mails cleanly) ;;; ;;; re-export-public-interface ;;; (define-module (modules) #:export (re-export-public-interface)) (define-macro (re-export-public-interface . args) "Re-export the public interface of a module or modules. Invoked as @code{(re-export-public-interface (mod1) (mod2)...)}." (if (null? args) '(if #f #f) `(begin ,@(map (lambda (mod) (or (list? mod) (error "Invalid module specification" mod)) `(module-use! (module-public-interface (current-module)) (resolve-interface ',mod))) args)))) ;;; ;;; A module that uses the above ;;; (define-module (a) #:use-module (srfi srfi-1) #:use-module (modules) #:export (map-a)) (eval-when (expand load eval) (re-export-public-interface (srfi srfi-1))) (define (map-a) (map (lambda (item) (display item) (display " ")) (iota 5)) (newline) (values)) ;;; ;;; A 3.0.4 repl session ;;; GNU Guile 3.0.4.3-e076a5 Copyright (C) 1995-2020 Free Software Foundation, Inc. Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. This program is free software, and you are welcome to redistribute it under certain conditions; type `,show c' for details. Enter `,help' for help. scheme@(guile-user)> (add-to-load-path "/home/david/alto/projects/g-golf/3.0") scheme@(guile-user)> ,use (a) ;;; note: source file /home/david/alto/projects/g-golf/3.0/a.scm ;;; newer than compiled /home/david/.cache/guile/ccache/3.0-LE-8-4.3/usr/alto/projects/g-golf/3.0/a.scm.go ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0 ;;; or pass the --no-auto-compile argument to disable. ;;; compiling /home/david/alto/projects/g-golf/3.0/a.scm ;;; compiled /home/david/.cache/guile/ccache/3.0-LE-8-4.3/usr/alto/projects/g-golf/3.0/a.scm.go scheme@(guile-user)> map WARNING: (guile-user): imported module (a) overrides core binding `map' WARNING: (guile-user): `map' imported from both (guile) and (a) WARNING: (guile-user): imported module (a) overrides core binding `map' WARNING: (guile-user): `map' imported from both (guile) and (a) ;;; : warning: possibly unbound variable `map' WARNING: (guile-user): imported module (a) overrides core binding `map' WARNING: (guile-user): `map' imported from both (guile) and (a) WARNING: (guile-user): imported module (a) overrides core binding `map' WARNING: (guile-user): `map' imported from both (guile) and (a) ice-9/boot-9.scm:1670:16: In procedure raise-exception: Unbound variable: map Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue. scheme@(guile-user) [1]> ;;; ;;; Just to compare, a 2.2.7 session ;;; How to achieve the same using 3.0.4 is the ;;; objective ... Press C-c C-z to bring me back. GNU Guile 2.2.7.2-a5875-dirty Copyright (C) 1995-2019 Free Software Foundation, Inc. Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. This program is free software, and you are welcome to redistribute it under certain conditions; type `,show c' for details. Enter `,help' for help. scheme@(guile-user)> (add-to-load-path "/home/david/alto/projects/g-golf/3.0") scheme@(guile-user)> ,use (a) ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0 ;;; or pass the --no-auto-compile argument to disable. ;;; compiling /home/david/alto/projects/g-golf/3.0/a.scm ;;; compiling /home/david/alto/projects/g-golf/3.0/modules.scm ;;; compiled /home/david/.cache/guile/ccache/2.2-LE-8-3.A/usr/alto/projects/g-golf/3.0/modules.scm.go ;;; compiled /home/david/.cache/guile/ccache/2.2-LE-8-3.A/usr/alto/projects/g-golf/3.0/a.scm.go scheme@(guile-user)> map $2 = #