From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Michael Heerdegen Newsgroups: gmane.emacs.bugs Subject: bug#14773: 24.2; pcase Date: Wed, 03 Jul 2013 18:53:38 +0200 Message-ID: <87mwq3d1pp.fsf@web.de> References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1372870449 32690 80.91.229.3 (3 Jul 2013 16:54:09 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 3 Jul 2013 16:54:09 +0000 (UTC) Cc: John Williams , 14773@debbugs.gnu.org To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Jul 03 18:54:09 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1UuQJk-000374-OQ for geb-bug-gnu-emacs@m.gmane.org; Wed, 03 Jul 2013 18:54:08 +0200 Original-Received: from localhost ([::1]:34467 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UuQJk-0003QR-9T for geb-bug-gnu-emacs@m.gmane.org; Wed, 03 Jul 2013 12:54:08 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:52919) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UuQJg-0003QB-Dv for bug-gnu-emacs@gnu.org; Wed, 03 Jul 2013 12:54:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UuQJf-0004yh-0q for bug-gnu-emacs@gnu.org; Wed, 03 Jul 2013 12:54:04 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:60806) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UuQJe-0004yJ-Un for bug-gnu-emacs@gnu.org; Wed, 03 Jul 2013 12:54:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1UuQJe-0004Hb-FW for bug-gnu-emacs@gnu.org; Wed, 03 Jul 2013 12:54:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 03 Jul 2013 16:54:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 14773 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo Original-Received: via spool by 14773-submit@debbugs.gnu.org id=B14773.137287043316434 (code B ref 14773); Wed, 03 Jul 2013 16:54:02 +0000 Original-Received: (at 14773) by debbugs.gnu.org; 3 Jul 2013 16:53:53 +0000 Original-Received: from localhost ([127.0.0.1]:55122 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UuQJV-0004H0-9D for submit@debbugs.gnu.org; Wed, 03 Jul 2013 12:53:53 -0400 Original-Received: from mout.web.de ([212.227.15.4]:49540) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UuQJT-0004Gf-IG for 14773@debbugs.gnu.org; Wed, 03 Jul 2013 12:53:52 -0400 Original-Received: from drachen.dragon ([2.201.128.127]) by smtp.web.de (mrweb102) with ESMTPSA (Nemesis) id 0LZeZU-1UVImB026m-00lX2c; Wed, 03 Jul 2013 18:53:44 +0200 In-Reply-To: (Stefan Monnier's message of "Wed, 03 Jul 2013 05:34:59 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) X-Provags-ID: V03:K0:BNBZxVFWSBkHxaSr9BodK5hlPvWE5U8iUdNb5gwvYxhg8VYo55y S4pgTXjCttmTyLqKliWH0joxY/Jiz5OFxafW6ttSJcAFxsx2fsMELKZ2unDvBTS23dNnRGZ frrTQV6EVFoGDl4SARDZyTK1mzN67JVGRv3qLUUXv0Bq6nzbKN8Wo2GNY3byqg/o1edBhHK cOJ6Y4GWWZ7Z8AIDRn0XQ== X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:75859 Archived-At: Stefan Monnier writes: > > (require 'pcase) > > (macroexpand > > '(pcase 1 > > ((and (let var left) (guard var)) 'left) > > ((and (let var right) (guard var)) 'right))) > > > When I run this, the result I get is (let ((x 1)) (if (let* ((var left)) > > var) (let ((var left)) (quote left)) nil)). Note that "right" doesn't > > appear anywhere in the macro expansion! > > Since the second branch of your pcase is unreachable, I think it's OK > for pcase to eliminate it. Why is it unreachable? (defvar left nil) (defvar right t) (pcase 1 ((and (let var left) (guard var)) 'left) (_ 'right)) ==> 'right But (pcase 1 ((and (let var left) (guard var)) 'left) ((and (let var right) (guard var)) 'right)) ==> nil It should also return right, no? Michael.