From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Taylan Kammer Newsgroups: gmane.lisp.guile.bugs Subject: bug#48315: (ice-9 match) does not suport #nil Date: Wed, 12 May 2021 22:03:57 +0200 Message-ID: <7cb7ec76-655c-e55a-17a6-99d25b3926d1@gmail.com> References: <08150bbff14abca3fe8e518ea3bc758c5f492fe1.camel@telenet.be> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------325E07C2B222F16409C90863" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="16249"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 To: 48315@debbugs.gnu.org Original-X-From: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Wed May 12 22:19:08 2021 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 1lgvJz-00045e-T7 for guile-bugs@m.gmane-mx.org; Wed, 12 May 2021 22:19:08 +0200 Original-Received: from localhost ([::1]:55564 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lgvJy-0000Yi-Sa for guile-bugs@m.gmane-mx.org; Wed, 12 May 2021 16:19:06 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39762) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lgv6M-0005r0-1f for bug-guile@gnu.org; Wed, 12 May 2021 16:05:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:57355) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lgv6L-000873-NN for bug-guile@gnu.org; Wed, 12 May 2021 16:05:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lgv6L-0007IJ-IB for bug-guile@gnu.org; Wed, 12 May 2021 16:05:01 -0400 X-Loop: help-debbugs@gnu.org In-Reply-To: <08150bbff14abca3fe8e518ea3bc758c5f492fe1.camel@telenet.be> Resent-From: Taylan Kammer Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Wed, 12 May 2021 20:05:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 48315 X-GNU-PR-Package: guile Original-Received: via spool by 48315-submit@debbugs.gnu.org id=B48315.162084984827962 (code B ref 48315); Wed, 12 May 2021 20:05:01 +0000 Original-Received: (at 48315) by debbugs.gnu.org; 12 May 2021 20:04:08 +0000 Original-Received: from localhost ([127.0.0.1]:40668 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lgv5U-0007Gw-91 for submit@debbugs.gnu.org; Wed, 12 May 2021 16:04:08 -0400 Original-Received: from mail-ed1-f46.google.com ([209.85.208.46]:39618) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lgv5R-0007GO-7f for 48315@debbugs.gnu.org; Wed, 12 May 2021 16:04:07 -0400 Original-Received: by mail-ed1-f46.google.com with SMTP id g14so28544481edy.6 for <48315@debbugs.gnu.org>; Wed, 12 May 2021 13:04:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:subject:message-id:date:user-agent:mime-version :content-language; bh=kRGl2ewedUTPrXulw5eUzs87YRl3L43NSHKCprq7ils=; b=WPjzIR2pM38FR0UTyNa/RBuPyk2j7L9PqjP9W5z4BVLrVs7NmKj/CBZQyJ7Kmduy7P euyzrNl/ntPLF3ypKy8urHeIEZaj7nyViC7Z5rHCIMNInkPFcxu8fnviPeKP9QBoTZS3 tDnNM3xBWPokfEucsYRwaAvviG3M1COB6p5kgOhTGUr66066pHp/ct9MPEEDw9EnkmyR YUCqeAb1ydOtduKE6jWZtFrJ5L3cPrqUzy7kw1ZTh9FtS4lOIbKemAmRGRcMLbv5Pe7Q uURpyLcR056/FVEBHr/oAeGXpF0f66voFW4DmjiNk6gmICqBmxXQt+DRhvttsf0M2BIY 0FSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:user-agent :mime-version:content-language; bh=kRGl2ewedUTPrXulw5eUzs87YRl3L43NSHKCprq7ils=; b=iUiFPCBLITKh9Vu5PCnohZqCYzn7JcNn8K2m7zejEVK4VXOIz0Nz/AG1f9TxnI94rI hSTv+QggTeJ6tFq7gUN2voqNqeSY1a1t8/IKc1kCoU9Qm/2LAyRdGPAygj4N+i9+Z5Ac MZnhsaXZ6QyUq92sjFp9Aek1L1Q57is4uLmyQSItAB7olN4YKgqy+b5nVul+5a+vEbk9 G3jC3uOF1d47qvgqzKtrMB6rOdvGkmcaTzbrckioGAZXe/ACkkqHKISc9I4964XVnQ0P 8kmptxin/JPD5jjdY6xuCKXlhpaAWQo4UWv8izp/qsLpe25QwATzHgzb0yUQtErG/lhe dv6g== X-Gm-Message-State: AOAM533or54eI50angEJmk8Ig+nzHiNVCQUL9n7B3xvLp69JrkZENXRt bsauHk0oJimwz43Q3gdRcBjAJodH1Ng= X-Google-Smtp-Source: ABdhPJyUttBDK533Sz8Sb5DAW8Krqb+q559dkbf1x2NeMZWv4SsKwhw4FQkLvbwUJKlVVD14hLubFw== X-Received: by 2002:aa7:ccc4:: with SMTP id y4mr44781346edt.171.1620849839376; Wed, 12 May 2021 13:03:59 -0700 (PDT) Original-Received: from [192.168.178.20] (b2b-109-90-125-150.unitymedia.biz. [109.90.125.150]) by smtp.gmail.com with ESMTPSA id kx3sm478558ejc.44.2021.05.12.13.03.58 for <48315@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 12 May 2021 13:03:59 -0700 (PDT) Content-Language: en-US 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:10048 Archived-At: This is a multi-part message in MIME format. --------------325E07C2B222F16409C90863 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit This was mind-boggling to debug! In syntax-rules, the pattern (x ...) will match #nil, since it matches the empty list. This can have surprising consequences. Consider: (define-syntax test (syntax-rules () ((test (x ...)) (x ...)) ((test x) x))) (test (+ 1 2)) ; => 3 (test 123) ; => 123 (test #f) ; => #f ;; However... (test #nil) ; error Anyway, attached is a patch to fix the issue in match. - Taylan --------------325E07C2B222F16409C90863 Content-Type: text/plain; charset=UTF-8; name="0001-Fix-match-when-used-directly-on-the-nil-constant.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Fix-match-when-used-directly-on-the-nil-constant.patch" RnJvbSBiNmQwYjcxNWE4YmYwY2MzOWI5ZmMzZDQ2ZWZlYWYwMTBmMGQ0MzUxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUYXlsYW4gS2FtbWVyIDx0YXlsYW4ua2FtbWVyQGdt YWlsLmNvbT4KRGF0ZTogV2VkLCAxMiBNYXkgMjAyMSAyMTo0Njo1NCArMDIwMApTdWJqZWN0 OiBbUEFUQ0hdIEZpeCBtYXRjaCB3aGVuIHVzZWQgZGlyZWN0bHkgb24gdGhlICNuaWwgY29u c3RhbnQuCgoqIG1vZHVsZS9pY2UtOS9tYXRjaC51cHN0cmVhbS5zY20gKG1hdGNoKTogTWFr ZSBzdXJlIHdlIGRvbid0IG1hdGNoICNuaWwKd2hlcmUgd2UgZG9uJ3QgaW50ZW5kIHRvLgoK Rml4ZXMgPGh0dHBzOi8vYnVncy5nbnUub3JnLzQ4MzE1Pi4KLS0tCiBtb2R1bGUvaWNlLTkv bWF0Y2gudXBzdHJlYW0uc2NtIHwgOSArKysrKystLS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGlu c2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbW9kdWxlL2ljZS05 L21hdGNoLnVwc3RyZWFtLnNjbSBiL21vZHVsZS9pY2UtOS9tYXRjaC51cHN0cmVhbS5zY20K aW5kZXggYjFmYzM3MWI4Li4zYjE4MWI3NWIgMTAwNjQ0Ci0tLSBhL21vZHVsZS9pY2UtOS9t YXRjaC51cHN0cmVhbS5zY20KKysrIGIvbW9kdWxlL2ljZS05L21hdGNoLnVwc3RyZWFtLnNj bQpAQCAtMjY5LDkgKzI2OSwxMiBAQAogICAgICAobWF0Y2gtc3ludGF4LWVycm9yICJtaXNz aW5nIG1hdGNoIGV4cHJlc3Npb24iKSkKICAgICAoKG1hdGNoIGF0b20pCiAgICAgIChtYXRj aC1zeW50YXgtZXJyb3IgIm5vIG1hdGNoIGNsYXVzZXMiKSkKLSAgICAoKG1hdGNoIChhcHAg Li4uKSAocGF0IC4gYm9keSkgLi4uKQotICAgICAobGV0ICgodiAoYXBwIC4uLikpKQotICAg ICAgIChtYXRjaC1uZXh0IHYgKChhcHAgLi4uKSAoc2V0ISAoYXBwIC4uLikpKSAocGF0IC4g Ym9keSkgLi4uKSkpCisgICAgOzsgVGhlIG9yaWdpbmFsIGltcGxlbWVudGF0aW9uIHVzZXMg KGFwcCAuLi4pIG5vdCAob3AgYXJnIC4uLikgaGVyZSwKKyAgICA7OyBidXQgaW4gR3VpbGUg dGhpcyB3b3VsZCBtYXRjaCAjbmlsIHdoZW4gaXQgc2hvdWxkbid0LiAgRmFpbGluZyB0bwor ICAgIDs7IG1hdGNoICgpIGRvZXNuJ3QgbWF0dGVyIHNpbmNlIGl0IGxlYWRzIHRvIGFuIGVy cm9yIGFueXdheS4KKyAgICAoKG1hdGNoIChvcCBhcmcgLi4uKSAocGF0IC4gYm9keSkgLi4u KQorICAgICAobGV0ICgodiAob3AgYXJnIC4uLikpKQorICAgICAgIChtYXRjaC1uZXh0IHYg KChvcCBhcmcgLi4uKSAoc2V0ISAob3AgYXJnIC4uLikpKSAocGF0IC4gYm9keSkgLi4uKSkp CiAgICAgKChtYXRjaCAjKHZlYyAuLi4pIChwYXQgLiBib2R5KSAuLi4pCiAgICAgIChsZXQg KCh2ICModmVjIC4uLikpKQogICAgICAgIChtYXRjaC1uZXh0IHYgKHYgKHNldCEgdikpIChw YXQgLiBib2R5KSAuLi4pKSkKLS0gCjIuMzAuMgoK --------------325E07C2B222F16409C90863--