From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.bugs Subject: bug#24286: Guile-2.2: srfi-1 + #:duplicates (merge-generics...) + for-each raises an exception Date: Fri, 02 Sep 2016 09:30:10 +0200 Message-ID: <8760qekbct.fsf@pobox.com> References: <20160821220333.24968f49@capac> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1472801488 1095 195.159.176.226 (2 Sep 2016 07:31:28 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 2 Sep 2016 07:31:28 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) Cc: 24286@debbugs.gnu.org To: David Pirotte Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Fri Sep 02 09:31:24 2016 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bfiwa-0007mL-4C for guile-bugs@m.gmane.org; Fri, 02 Sep 2016 09:31:20 +0200 Original-Received: from localhost ([::1]:40682 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bfiwX-00066E-Rh for guile-bugs@m.gmane.org; Fri, 02 Sep 2016 03:31:17 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:41314) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bfiwN-00063v-9s for bug-guile@gnu.org; Fri, 02 Sep 2016 03:31:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bfiwI-00059m-NN for bug-guile@gnu.org; Fri, 02 Sep 2016 03:31:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:49201) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bfiwI-00059g-J2 for bug-guile@gnu.org; Fri, 02 Sep 2016 03:31:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1bfiwI-00060I-9X for bug-guile@gnu.org; Fri, 02 Sep 2016 03:31:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Andy Wingo Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Fri, 02 Sep 2016 07:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 24286 X-GNU-PR-Package: guile X-GNU-PR-Keywords: Original-Received: via spool by 24286-submit@debbugs.gnu.org id=B24286.147280142223022 (code B ref 24286); Fri, 02 Sep 2016 07:31:02 +0000 Original-Received: (at 24286) by debbugs.gnu.org; 2 Sep 2016 07:30:22 +0000 Original-Received: from localhost ([127.0.0.1]:46913 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bfive-0005zG-0X for submit@debbugs.gnu.org; Fri, 02 Sep 2016 03:30:22 -0400 Original-Received: from pb-sasl1.pobox.com ([64.147.108.66]:65032 helo=sasl.smtp.pobox.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bfivb-0005z7-Fk for 24286@debbugs.gnu.org; Fri, 02 Sep 2016 03:30:20 -0400 Original-Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by pb-sasl1.pobox.com (Postfix) with ESMTP id ED96337ADA; Fri, 2 Sep 2016 03:30:18 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=sasl; bh=53ckNWqZzeA98htpm5qm7RrFJLc=; b=i63N6x NW5Z59wPORg4bFkGtzzOx9TNQTrxF0fQ12gt8h4ee2KxxXIqUH0soynnB76bNDS0 t0xVrccNSb2TNIQAJTwX7ISgW6PqFoXZKJrtVcObW+n+fUoTrZUtEmpI5XggKqY8 U3VymzHeSSn2+2c02NEQG72tj88Wo2UK1SCag= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; q=dns; s=sasl; b=gZ7TFD6KlsyAfkaWoXiquanZrbN9BByL CK8H1PyZIl6JKzpf0QdXn/34oLiYH4qXIcRPdYDkS60twNiC1SZX2r44x9MWs4Fg MHBydxyXMG5fdIQIsjUxzj/i15rG2KmCPH7A8jeqOuXxYQyfqUSvygTjevi2GSBJ v2QU+CVf6IU= Original-Received: from pb-sasl1.nyi.icgroup.com (unknown [127.0.0.1]) by pb-sasl1.pobox.com (Postfix) with ESMTP id CBD1B37AD8; Fri, 2 Sep 2016 03:30:18 -0400 (EDT) Original-Received: from clucks (unknown [88.160.190.192]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by pb-sasl1.pobox.com (Postfix) with ESMTPSA id C5FE837AD7; Fri, 2 Sep 2016 03:30:17 -0400 (EDT) In-Reply-To: <20160821220333.24968f49@capac> (David Pirotte's message of "Sun, 21 Aug 2016 22:03:33 -0300") X-Pobox-Relay-ID: 19028572-70DF-11E6-A705-CE686462E9F6-02397024!pb-sasl1.pobox.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 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.org@gnu.org Original-Sender: "bug-guile" Xref: news.gmane.org gmane.lisp.guile.bugs:8392 Archived-At: On Mon 22 Aug 2016 03:03, David Pirotte writes: > Hello Guilers, > Hi Andy, > > Here below a mini module [1], which raises an exception [2] using 2.1.3.104-8f2f8 (it > compiles fine using 2.0.12). It looks a bit of a 'silly' module but the real one > here do need this combination, I just minimized it for tracking purposes... > > For info, if I either comment the use of srfi-1, or merge-generics, _or_ the for-each > expression, it compiles fine. I also tried foo to just do a (filter-map string? > words) and no for-each, to circumvent the problem as far as I could, and it > compiles fie as well: it appears there is a side effect of the for-each version from > srfi-1 over the core version, when using goops and declaring #:duplicates > (merge-generics ...). > > Cheers, > David > > [1] > > (define-module (foo) > #:use-module (srfi srfi-1) > #:use-module (oop goops) > > #:duplicates (merge-generics > replace > warn-override-core > warn > last) So here you are importing two definitions of for-each: one from (guile) and one from (srfi srfi-1). They are both normal procedures. What should happen? I guess merge-generics should fail to do anything. I suppose that is the intention of this method in (oop goops): (define-method (merge-generics (module ) (name ) (int1 ) (val1 ) (int2 ) (val2 ) (var ) (val )) #f) And yet you get: ERROR: No applicable method for #< merge-generics (3)> in call (merge-generics # for-each # # # # #f #f) This sounds like a bug to me, surely the method should match. On the other hand this looks bogus to me: scheme@(foo)> (class-of (resolve-interface '(guile))) $4 = #< 244bbd0> scheme@(foo)> (class-of (resolve-interface '(guile))) $5 = #< 244b900> Why are we getting two distinct values for the class? Further investigation necessary. Andy