From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Michael Heerdegen Newsgroups: gmane.emacs.devel Subject: pcase: Semantics of atom QPATS Date: Sun, 10 Jun 2018 02:40:08 +0200 Message-ID: <87tvqbjwyf.fsf@web.de> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1528591141 28567 195.159.176.226 (10 Jun 2018 00:39:01 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 10 Jun 2018 00:39:01 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) To: Emacs Development Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jun 10 02:38:57 2018 Return-path: Envelope-to: ged-emacs-devel@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 1fRoNh-0007Iq-IT for ged-emacs-devel@m.gmane.org; Sun, 10 Jun 2018 02:38:53 +0200 Original-Received: from localhost ([::1]:41891 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fRoPm-0007SX-OJ for ged-emacs-devel@m.gmane.org; Sat, 09 Jun 2018 20:41:02 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:47086) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fRoP1-0007SD-42 for emacs-devel@gnu.org; Sat, 09 Jun 2018 20:40:16 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fRoOx-0005Gy-UH for emacs-devel@gnu.org; Sat, 09 Jun 2018 20:40:15 -0400 Original-Received: from mout.web.de ([212.227.17.11]:37389) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fRoOx-0005E5-KG for emacs-devel@gnu.org; Sat, 09 Jun 2018 20:40:11 -0400 Original-Received: from drachen.dragon ([188.110.196.170]) by smtp.web.de (mrweb102 [213.165.67.124]) with ESMTPSA (Nemesis) id 0M25B9-1gHJ9m03a7-00u42P; Sun, 10 Jun 2018 02:40:09 +0200 X-Provags-ID: V03:K1:7n3IV85Pi4Oz8KCqzsUYvozFs4hfeUnmfgL3nYXcw5Mr5vZpVrO 2HrNOehVOMvSrC4obhyUD2Y9IXLSqgYoIINjdp/OVqlFypc8jQwg0Zr7IJyQ96tGHVw7u6t H5sdP+rWY0BIHpG8q+PaJyM6qIKOJHbjm9P9eWG+Wf9bwuAa0WYcC7tDyLB3trehK7s1/Pk QdiFUw59sNLYhGL9Zu84w== X-UI-Out-Filterresults: notjunk:1;V01:K0:q7+F+mq8yRs=:XzFdmK996w9C25+Js/szd5 yDJSW5zL98MK3G0hsKTOSVZBUTjksY4p3hS9RghAMCsdoJC0WsWLe+DRXXBAyweAQfX3y4RWr zXYB2cVpLGKxi8zzvXwa4IN/9fAnshBpBwOh6WzSNWoWtMc1hhAzgBPOU+YubmDIPjpgt6D22 WltSB5xcFRlQyXK5SC+l9X7PO18Tyl7ZWNF2UBilfrzKz9o4AnESLeMOMpuryNjyiqWeF3H6A MNptfjT4zAVov2iCeVIsIwMpW4N9Ush8JTl2oxMuJx/QDfhjYofKC9365Q6vFTw/3cofOi17r MGImQX5YdE5Vq97ASuHfH75Hl0sYze2TUSeDKlIl9qyIa/md0zvYJLDjycRoohRj7Iv7M3Zh2 XVuNvC20RO/ZdEvhNjqhcoykfZJWgcFpiqezPXDqycUOO/6D6StmiBTIhsRxI3bjf5TqOkdzY D+S36qrf+/sEaUBA74wy07msgA/AAvAhMiOI42bZnd3ySWcbrL6LUMBks9k2JRoDO5Uj+LoRR VIUI/5SrXLxYLmHUmpg0GfVyk0BRAH9YO+K400QDY2S88TElFwCCJ/F3vPUOevEk1+uJVddZU wTUd9+4/bp860R2PpdrkGKlUmh+Qe54HfD8VChTJ5V5P1TjVm0H0+HBZA77kvAVh2xlQCANrW bpX7EPYKqKhw1ujqZVwcfpvNw9K1SLUVodqQBQa76iWkCdJRxRhp1hIxjVXBbG2qeS7jIrPZF 21BKvjc3Mf0zR1om7BUbOKKUAxgyGy9uDMgZDnQbj10kCwntj6u7pIOjt845tteFE95WUjCa X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 212.227.17.11 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:226155 Archived-At: Hello, isn't it strange that the pattern '.7 matches .7, but `.7 causes an error when used? Or (pcase '(.7 1) ('(.7 1) t)) ==> t but (pcase '(.7 1) (`(.7 ,_) t)) |-- error: `--pcase-macroexpander: Unknown QPAT: 0.7 IMO the analogy to the list of self-quoting atoms (strings, keywords, integers - I'm all for that) is misguided here - something implicitly quoted in a backquoted pattern (i.e. something that is not unquoted) should behave like quoted with `'' (i.e. transformed into an `eq' test), everything else feels inconsistent. This corner case actually bit me when I was trying to refactor a piece of code that included the atom .7 (as you might have guessed) with el-search. Thanks, Michael.