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#16201: 24.3.50; error expanding pcase with a pred clause Date: Sat, 21 Dec 2013 12:54:21 +0100 Message-ID: <87eh568ln6.fsf@web.de> References: <87txe3h98p.fsf@web.de> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1387626977 23882 80.91.229.3 (21 Dec 2013 11:56:17 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 21 Dec 2013 11:56:17 +0000 (UTC) To: 16201@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Dec 21 12:56:22 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 1VuLAL-0004nw-8K for geb-bug-gnu-emacs@m.gmane.org; Sat, 21 Dec 2013 12:56:21 +0100 Original-Received: from localhost ([::1]:53933 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VuLAK-0000pT-MF for geb-bug-gnu-emacs@m.gmane.org; Sat, 21 Dec 2013 06:56:20 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39637) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VuLAA-0000pL-CA for bug-gnu-emacs@gnu.org; Sat, 21 Dec 2013 06:56:17 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VuLA3-0004Tx-2z for bug-gnu-emacs@gnu.org; Sat, 21 Dec 2013 06:56:10 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:46906) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VuLA3-0004Tt-0a for bug-gnu-emacs@gnu.org; Sat, 21 Dec 2013 06:56:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1VuLA1-0002d3-Uj for bug-gnu-emacs@gnu.org; Sat, 21 Dec 2013 06:56:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 21 Dec 2013 11:56:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 16201 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 16201-submit@debbugs.gnu.org id=B16201.138762690710021 (code B ref 16201); Sat, 21 Dec 2013 11:56:01 +0000 Original-Received: (at 16201) by debbugs.gnu.org; 21 Dec 2013 11:55:07 +0000 Original-Received: from localhost ([127.0.0.1]:60925 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VuL97-0002bY-Nq for submit@debbugs.gnu.org; Sat, 21 Dec 2013 06:55:06 -0500 Original-Received: from mout.web.de ([212.227.17.11]:59123) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VuL91-0002ax-4q for 16201@debbugs.gnu.org; Sat, 21 Dec 2013 06:55:00 -0500 Original-Received: from drachen.dragon ([90.187.172.218]) by smtp.web.de (mrweb003) with ESMTPA (Nemesis) id 0LoYWI-1VJNou32du-00gUcx for <16201@debbugs.gnu.org>; Sat, 21 Dec 2013 12:54:57 +0100 In-Reply-To: <87txe3h98p.fsf@web.de> (Michael Heerdegen's message of "Fri, 20 Dec 2013 15:45:10 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) X-Provags-ID: V03:K0:lR7Z7Ax1XDMuJsKVnSE0JRIK9uudJ27liuTsciWK8+0VBWKbySf 8fT6enyn7KgSEPXXXmhVgpP3/PffavP1UKOoe1XTEH+ng4E9JAlHPoCO5nXbc9YxGnH91pP EOqWhy6lRPq49oklk45FxeMP0wzHqEMGAODq1WPWl65B/6/yKMEaA0ZI54swaFUE+ef21yv lbCGAq3TftN5b5zEfIPlg== 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:82323 Archived-At: Michael Heerdegen writes: > (defun test-buffer-file-name () > (pcase buffer-file-name > (`nil 'not-a-file) > ((pred file-writable-p) 'writable) > (_ 'not-writable))) > > pcase-bug.el:3:1:Error: Wrong type argument: stringp, nil pcase seems to test whether the constant (nil) from the first clause fulfills the pred of the second clause. Which is not legal in this case. I thought this could be ok: (pcase buffer-file-name (`nil 'not-a-file) ((and (pred stringp) (pred file-writable-p)) 'writable) (_ 'not-writable)) but that triggers the same error. This works, however, but doesn't look so nice: (pcase buffer-file-name (`nil 'not-a-file) ((pred (lambda (x) (and (stringp x) (file-writable-p x)))) 'writable) (_ 'not-writable)) Regards, Michael.