From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Adam Porter Newsgroups: gmane.emacs.devel Subject: Re: pcase map binding form expansion failure on Emacs 27 only Date: Wed, 08 Sep 2021 00:43:53 -0500 Message-ID: <87a6kn62qu.fsf@alphapapa.net> References: <87eea0610n.fsf@alphapapa.net> <87wnnsl4hw.fsf@laposte.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="31265"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Sep 08 07:49:40 2021 Return-path: Envelope-to: ged-emacs-devel@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 1mNqSq-0007vg-5u for ged-emacs-devel@m.gmane-mx.org; Wed, 08 Sep 2021 07:49:40 +0200 Original-Received: from localhost ([::1]:51992 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mNqSp-0003r5-0w for ged-emacs-devel@m.gmane-mx.org; Wed, 08 Sep 2021 01:49:39 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:44886) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mNqNW-0003nC-3U for emacs-devel@gnu.org; Wed, 08 Sep 2021 01:44:10 -0400 Original-Received: from ciao.gmane.io ([116.202.254.214]:43148) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mNqNQ-00032i-KT for emacs-devel@gnu.org; Wed, 08 Sep 2021 01:44:06 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1mNqNN-0000qm-B9 for emacs-devel@gnu.org; Wed, 08 Sep 2021 07:44:01 +0200 X-Injected-Via-Gmane: http://gmane.org/ Received-SPF: pass client-ip=116.202.254.214; envelope-from=ged-emacs-devel@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:274313 Archived-At: Kevin Vigouroux via "Emacs development discussions." writes: > Hi Adam, > > Your pattern seems incorrect. > > #+begin_quote > (map :max-width) ≈ (map (:max-width :max-width)) > #+end_quote > > > :max-width is a keyword (pattern) but should be a symbol `max-width'. > > #+begin_quote > -- (map &rest ARGS) > > Build a ‘pcase’ pattern matching map elements. > > ARGS is a list of elements to be matched in the map. > > Each element of ARGS can be of the form (KEY PAT), in which case KEY is > evaluated and searched for in the map. The match fails if for any KEY > found in the map, the corresponding PAT doesn’t match the value > associated to the KEY. > > Each element can also be a SYMBOL, which is an abbreviation of a (KEY > PAT) tuple of the form ('SYMBOL SYMBOL). > > Keys in ARGS not found in the map are ignored, and the match doesn’t > fail. > #+end_quote > > #+begin_src emacs-lisp > (pcase-let* (((map (:max-width max-width)) plist)) > max-width) > #+end_src Please see: https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=e287da5a8154d83a97107b64915ccc17e3a086b8