From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Han-Wen Nienhuys Newsgroups: gmane.lisp.guile.devel Subject: module-public-interface Date: Fri, 01 Jul 2005 13:03:57 +0200 Message-ID: <42C5231D.3050702@xs4all.nl> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1120218584 14197 80.91.229.2 (1 Jul 2005 11:49:44 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 1 Jul 2005 11:49:44 +0000 (UTC) Cc: Jan Nieuwenhuizen Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Fri Jul 01 13:49:37 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1DoK1P-0001FM-4Y for guile-devel@m.gmane.org; Fri, 01 Jul 2005 13:49:27 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DoK9q-00046A-EG for guile-devel@m.gmane.org; Fri, 01 Jul 2005 07:58:10 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1DoJqd-0007Vw-Mk for guile-devel@gnu.org; Fri, 01 Jul 2005 07:38:20 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1DoJqb-0007VZ-IL for guile-devel@gnu.org; Fri, 01 Jul 2005 07:38:19 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DoJoJ-00060j-KP for guile-devel@gnu.org; Fri, 01 Jul 2005 07:35:55 -0400 Original-Received: from [194.109.24.25] (helo=smtp-vbr5.xs4all.nl) by monty-python.gnu.org with esmtp (Exim 4.34) id 1DoJLI-0006YR-MC; Fri, 01 Jul 2005 07:05:56 -0400 Original-Received: from [192.168.123.107] (muurbloem.xs4all.nl [213.84.26.127]) by smtp-vbr5.xs4all.nl (8.13.3/8.13.3) with ESMTP id j61B0eL5065075; Fri, 1 Jul 2005 13:00:40 +0200 (CEST) (envelope-from hanwen@xs4all.nl) User-Agent: Mozilla Thunderbird 1.0.2-6 (X11/20050513) X-Accept-Language: en-us, en Original-To: guile-devel@gnu.org X-Virus-Scanned: by XS4ALL Virus Scanner X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:5136 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:5136 Why is module-public-interface not implemented as a slot in the module structure? Right now, you get very odd behavior if you define a module A which uses module B, but doesn't define %module-public-interface. The %module-public-interface of module A is then aliased to the %public-interface of B. Reexporting the symbols of A will modify B, since the %module-public-interface of B is then modified. I propose to add the following to the definition of make-module, (set-module-public-interface! module #f) -- Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel