From debbugs-submit-bounces@debbugs.gnu.org Sun Jul 04 19:09:44 2021 Received: (at submit) by debbugs.gnu.org; 4 Jul 2021 23:09:44 +0000 Received: from localhost ([127.0.0.1]:43370 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m0BFA-0000Ft-5W for submit@debbugs.gnu.org; Sun, 04 Jul 2021 19:09:44 -0400 Received: from lists.gnu.org ([209.51.188.17]:48212) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m0BF8-0000Fl-HF for submit@debbugs.gnu.org; Sun, 04 Jul 2021 19:09:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33184) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m0BF8-00079i-11 for bug-gnu-emacs@gnu.org; Sun, 04 Jul 2021 19:09:42 -0400 Received: from mail-0201.mail-europe.com ([51.77.79.158]:53591) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m0BF5-0002jo-PY for bug-gnu-emacs@gnu.org; Sun, 04 Jul 2021 19:09:41 -0400 Date: Sun, 04 Jul 2021 23:08:55 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail; t=1625440142; bh=wcaKqNwwgwsj1RdEFdAqMUHyiqXoWBqNzmUNEG83wg8=; h=Date:To:From:Reply-To:Subject:From; b=Rij8S2pOkxKVNX3V8JYsSKXarTZwXSS0LORGJKVqMp+rkRXZgPW5m9kVHpbWfyx3w 6ltR3e1SO+hhyy0vsVPsh3k5T0BziqAjd8BxZsRwNjKvXnaqNN40CSFSOzEsXZy2KF 96Vg2hYbS122XvV1MSxmj5VTiVObEJZRuzTX6zkw= To: bug-gnu-emacs@gnu.org From: Okam Subject: Request: Specify default values in `map-let` in Map.el Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-1.2 required=10.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM shortcircuit=no autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on mailout.protonmail.ch Received-SPF: pass client-ip=51.77.79.158; envelope-from=okamsn@protonmail.com; helo=mail-0201.mail-europe.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Okam Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Hello, `map-let` allows one to conveniently bind variables using `map-elt`, but does not provide a way specify a default value if a key is missing. With `map-elt`, one can use the optional third argument to specify this value. It would be good to have this in `map-let` as well. For example, maybe it could look something like ;; As just a third value in the list: (let ((map '(:a 1 :b 2))) (map-let ((:a a) (:b b) (:c c 3)) map (+ a b c))) or ;; More like Common Lisp arg-list for `&key'. (let ((map '(:a 1 :b 2))) (map-let ((:a a) (:b b) (:c (c 3))) map (+ a b c))) Please consider adding this feature. Thank you. From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 15 04:52:08 2021 Received: (at 49407) by debbugs.gnu.org; 15 Jul 2021 08:52:08 +0000 Received: from localhost ([127.0.0.1]:46786 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m3x6G-0002gY-Cb for submit@debbugs.gnu.org; Thu, 15 Jul 2021 04:52:08 -0400 Received: from quimby.gnus.org ([95.216.78.240]:54692) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m3x6E-0002g0-Sm for 49407@debbugs.gnu.org; Thu, 15 Jul 2021 04:52:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=ieIRdtq4XfPO0qi7o0efiXwFWlaFuuGaI6UsCsyB0GE=; b=UE9gmLTl98A7+P8U7u7fv3HuxU bW7Busj7Z/6nOc7sMOGwK3Bu8xAAxBqmwB/GumeG4KYD/aGG4Lb6q4AeCHr2ajt4E4aoCRys96FGe fPRlt2LZ2IcMkEStrZHUAXKgE3KTIP+MEioiiz847g4z+yETiwSy1Y628Xzb5LN+AJvk=; Received: from cm-84.212.220.105.getinternet.no ([84.212.220.105] helo=elva) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1m3x65-0006NX-VX; Thu, 15 Jul 2021 10:52:00 +0200 From: Lars Ingebrigtsen To: Okam Subject: Re: bug#49407: Request: Specify default values in `map-let` in Map.el References: X-Now-Playing: Bob Hund's _KlassiskBOBHUNkonsert_: "Reinkarnerad exact som =?utf-8?Q?f=C3=B6rut=22?= Date: Thu, 15 Jul 2021 10:51:57 +0200 In-Reply-To: (Okam's message of "Sun, 04 Jul 2021 23:08:55 +0000") Message-ID: <87eec0klhu.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Okam writes: > `map-let` allows one to conveniently bind variables using `map-elt`, but > does not provide a way specify a default value if a key is missing. > > With `map-elt`, one can use the optional third argu [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 49407 Cc: Nicolas Petton , 49407@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Okam writes: > `map-let` allows one to conveniently bind variables using `map-elt`, but > does not provide a way specify a default value if a key is missing. > > With `map-elt`, one can use the optional third argument to specify this > value. It would be good to have this in `map-let` as well. > > For example, maybe it could look something like > > ;; As just a third value in the list: > (let ((map '(:a 1 :b 2))) > (map-let ((:a a) > (:b b) > (:c c 3)) > map > (+ a b c))) Hm... I guess that could be useful. I've added Nicolas to the CCs; perhaps he has an opinion here. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 15 21:45:38 2021 Received: (at 49407) by debbugs.gnu.org; 16 Jul 2021 01:45:38 +0000 Received: from localhost ([127.0.0.1]:50142 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m4Cv4-00041y-JX for submit@debbugs.gnu.org; Thu, 15 Jul 2021 21:45:38 -0400 Received: from mail2.protonmail.ch ([185.70.40.22]:23524) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1m4Cv1-00041j-LP for 49407@debbugs.gnu.org; Thu, 15 Jul 2021 21:45:36 -0400 Date: Fri, 16 Jul 2021 01:45:24 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail; t=1626399929; bh=cdyQVK76RgvPjpdLbg+p5Jv/ijOq/Q2vEPbV8QH/zAo=; h=Date:To:From:Cc:Reply-To:Subject:In-Reply-To:References:From; b=Bil8epGHscHdlz9zcYhZbwVZXjYjUawWPc5jPWASYxKar7XR5WWLYt7WD/+Wgl5O1 nbMwCZTxu3FcE513tr3Qi85W8honNxK28tify1Zr096BAL2OIpjTrTdWcDv/bzV+yJ GlRK0S9KAw0v2SQwlMkbjSkvYR1prmqeGRLc9QkE= To: Lars Ingebrigtsen From: Okam Subject: Re: bug#49407: Request: Specify default values in `map-let` in Map.el Message-ID: <2ccf1e66-a47c-b55b-9d7a-3c3d326f4201@protonmail.com> In-Reply-To: <87eec0klhu.fsf@gnus.org> References: <87eec0klhu.fsf@gnus.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-1.2 required=10.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM shortcircuit=no autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on mailout.protonmail.ch X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 49407 Cc: Nicolas Petton , 49407@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Okam Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 7/15/21 4:51 AM, Lars Ingebrigtsen wrote: > Hm... I guess that could be useful. I've added Nicolas to the CCs; > perhaps he has an opinion here. If it helps, below is a version of the idea that I am using, specific to plists: (defmacro plist-bind (bindings plist &rest body) "Bind values in PLIST to variables in BINDINGS, surrounding BODY. - PLIST is a property list. - BINDINGS is of the form (KEY VAR KEY VAR ...). VAR can optionally be a list of two elements: a variable name and a default value, similar to what one would use for expressing keyword parameters in `cl-defun' or `cl-destructuring-bind'. The default value is used /only/ when KEY is not found in PLIST. - BODY is the same as in `let'. This macro works the same as `cl-destructuring-bind', except for the case when keys exist in PLIST that are not listed in BINDINGS. While `cl-destructuring-bind' would signal an error, this macro simply ignores them." (declare (indent 2)) (let ((value-holder (gensym "plist-let-")) (found-key (gensym "plist-prop-found-"))) `(let* ((,value-holder ,plist) ,@(cl-loop for (key var . _) on bindings by #'cddr if (consp var) collect `(,(cl-first var) ;; Use `plist-member' instead of `plist-get' to ;; allow giving `nil' as an argument without ;; using the default value. (if-let ((,found-key (plist-member ,value-holder ,key))= ) (cl-second ,found-key) ,(cl-second var))) else collect `(,var (plist-get ,value-holder ,key)))) ,@body))) From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 19 12:36:45 2021 Received: (at control) by debbugs.gnu.org; 19 Sep 2021 16:36:45 +0000 Received: from localhost ([127.0.0.1]:39716 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mRzo5-0004tT-4w for submit@debbugs.gnu.org; Sun, 19 Sep 2021 12:36:45 -0400 Received: from mail-pg1-f180.google.com ([209.85.215.180]:35384) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mRzo2-0004t7-NE for control@debbugs.gnu.org; Sun, 19 Sep 2021 12:36:43 -0400 Received: by mail-pg1-f180.google.com with SMTP id e7so14955656pgk.2 for ; Sun, 19 Sep 2021 09:36:42 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:mime-version:date:message-id:subject:to; bh=si0nsE421OFBv93kO8kvuSeYUGap3eJIEvRQbNapF/Y=; b=PrJP7a3zVcFnIuoAzs7QBw+t1Wpgpa4M+CaH7P0abRXvoPMHb9118u+GXKOPcxHBQE 170GrjDFuuBrqZD6DzF5f4jQZAfQF1ecFU3afZFAaUH01A38suVogsegtEZF4Nbkh5W4 0aB5f3Emoy9SkNcU7Y4pPiKejKqjh59x/HOl5oRp8ABYMeChwYnU7GFTLtgiUCTuO4n7 caocb4kfhYKWGI1g9eMVdoOGjQCS1c9GMb7lb7noZpjeJl42eEIvyuGvkvMBRkF/A2oH R77fD2CA13dVgfwCciVx6stcGH1YkAcS0cOwnXbC6SPlCgN4/OM3MM4VrvmrFTh+geSz 1ZGA== X-Gm-Message-State: AOAM5330AIXvlxqMFH1+IXshb/MG9FIY/C4j5u/OIE73dLrE/dK+H2ta 2pL0fkBc8/ZhVfVz2hutY0qG4wyfoMjr+jgcsXXT70wV X-Google-Smtp-Source: ABdhPJxBS0a1bdZKix8a8004SDiGMeygFprY55HkN5d2V2d+UFF7q4jjQkQ4Wu6RVffu0hIXaKk4NmidWDSL2E6uQD0= X-Received: by 2002:a05:6a00:1586:b0:447:b30c:4a65 with SMTP id u6-20020a056a00158600b00447b30c4a65mr1951829pfk.0.1632069397065; Sun, 19 Sep 2021 09:36:37 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Sun, 19 Sep 2021 09:36:36 -0700 From: Stefan Kangas MIME-Version: 1.0 Date: Sun, 19 Sep 2021 09:36:36 -0700 Message-ID: Subject: To: control@debbugs.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 2.5 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: severity 49407 wishlist thanks Content analysis details: (2.5 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.215.180 listed in list.dnswl.org] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (stefankangas[at]gmail.com) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.2 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different -0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [209.85.215.180 listed in wl.mailspike.net] 2.0 BLANK_SUBJECT Subject is present but empty 0.0 UNPARSEABLE_RELAY Informational: message has unparseable relay lines -0.0 RCVD_IN_MSPIKE_WL Mailspike good senders 0.2 FREEMAIL_FORGED_FROMDOMAIN 2nd level domains in From and EnvelopeFrom freemail headers are different X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.5 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: severity 49407 wishlist thanks Content analysis details: (1.5 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [209.85.215.180 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.215.180 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (stefankangas[at]gmail.com) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.2 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different 2.0 BLANK_SUBJECT Subject is present but empty 0.0 UNPARSEABLE_RELAY Informational: message has unparseable relay lines -0.0 RCVD_IN_MSPIKE_WL Mailspike good senders 0.2 FREEMAIL_FORGED_FROMDOMAIN 2nd level domains in From and EnvelopeFrom freemail headers are different -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager severity 49407 wishlist thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 20 22:56:46 2023 Received: (at 49407) by debbugs.gnu.org; 21 Jul 2023 02:56:46 +0000 Received: from localhost ([127.0.0.1]:60291 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qMgJx-0005Nj-IX for submit@debbugs.gnu.org; Thu, 20 Jul 2023 22:56:46 -0400 Received: from mail-40131.protonmail.ch ([185.70.40.131]:26413) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qMgJt-0005NL-Sl for 49407@debbugs.gnu.org; Thu, 20 Jul 2023 22:56:44 -0400 Date: Fri, 21 Jul 2023 02:56:19 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1689908194; x=1690167394; bh=6WX/ficKxe3dSX6TWgaF1BLWX/9ulZih1ffDHB8uJoc=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=j9y3ymMazC71fQDctbY5K9/4QO8p3LoO+T2k7N6xrvWpnUyzGWkGJxEMdttBxVc11 oSS05mCbOYWAeTA1WAy63ZSe5tOyvIS3LbPXOKsl+FYpNRdeMQC2OZXJfDzb/razm/ IKMNZgODmxQF5LtNs2X04TYBFmAimqGaH0h+2Os41orqPQ1JqLzocl7Oy1mlkWxDLJ SyX8+u0C3tE7w0cDqc3rv9kcHSJAmVBmVDTbt/51n5JR3KvZPI+pxitb+im7HS4lRD qke7p4wl4c8NsAILWmcxLrME4jN856tngMgJCvFF3LSBXjYq2s9Z6isy2UA4jx6YMX TtzG2eUOpdLBQ== To: Lars Ingebrigtsen , Nicolas Petton From: Okam Subject: Re: bug#49407: Request: Specify default values in `map-let` in Map.el Message-ID: <08a00b74-56f9-bb81-0411-36f9da8cf2d6@protonmail.com> In-Reply-To: <87eec0klhu.fsf@gnus.org> References: <87eec0klhu.fsf@gnus.org> Feedback-ID: 25935600:user:proton MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_Sr3bKNXFjrT9gxxYuyTdyDbqsNMe6iA11cJ1tlunGI" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 49407 Cc: 49407@debbugs.gnu.org, Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --b1_Sr3bKNXFjrT9gxxYuyTdyDbqsNMe6iA11cJ1tlunGI Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 2021-07-15 08:51 UTC, Lars Ingebrigtsen wrote: > Okam writes: >=20 >> `map-let` allows one to conveniently bind variables using `map-elt`, but >> does not provide a way specify a default value if a key is missing. >> >> With `map-elt`, one can use the optional third argument to specify this >> value. It would be good to have this in `map-let` as well. >> >> For example, maybe it could look something like >> >> ;; As just a third value in the list: >> (let ((map '(:a 1 :b 2))) >> (map-let ((:a a) >> (:b b) >> (:c c 3)) >> map >> (+ a b c))) >=20 > Hm... I guess that could be useful. I've added Nicolas to the CCs; > perhaps he has an opinion here. >=20 > -- > (domestic pets only, the antidote for overdose, milk.) > bloggy blog: http://lars.ingebrigtsen.no Hello, I've written a patch and tests that would add an optional third argument=20 for a default value. I also changed the documentation string for the=20 pcase pattern, which said that unfound keys are ignored and won't cause=20 the pattern to fail. That didn't seem true for patterns that didn't=20 match nil. For example, this won't match: (pcase '(:two 2) ((map (:two two 33) (:three `(,a . ,b))) (list two a b)) (_ 'fail)) However, I have a question about avoiding using a lambda. I see that the=20 pattern uses `pcase--flip`, which is "used internally to avoid (funcall=20 (lambda ...) ...)". Why should lambda functions be avoided for this, and=20 I should be using a custom helper function for this one pattern? Thank you. --b1_Sr3bKNXFjrT9gxxYuyTdyDbqsNMe6iA11cJ1tlunGI Content-Type: text/x-patch; charset=UTF-8; name=0001-Allow-default-values-in-map-let-and-the-pcase-map-fo.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0001-Allow-default-values-in-map-let-and-the-pcase-map-fo.patch RnJvbSAxZGJiNzk3YTlhNzM2ZmM4MWFkOWY2NzJkYTgxNWUyNTEwZTdmMzFhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh dGU6IFRodSwgMjAgSnVsIDIwMjMgMjE6NDQ6NDEgLTA0MDAKU3ViamVjdDogW1BBVENIXSBBbGxv dyBkZWZhdWx0IHZhbHVlcyBpbiAnbWFwLWxldCcgYW5kIHRoZSBwY2FzZSAnbWFwJyBmb3JtCgoq IGxpc3AvZW1hY3MtbGlzcC9tYXAuZWwgKG1hcC1sZXQsIG1hcCkKKG1hcC0tbWFrZS1wY2FzZS1i aW5kaW5ncyk6IEFkZCBhIHRoaXJkIGFyZ3VtZW50IGZvciBzcGVjaWZ5aW5nIGEKZGVmYXVsdCB2 YWx1ZSwgbGlrZSBpbiAnbWFwLWVsdCcuIChCdWcjNDk0MDcpCgoqIGxpc3AvZW1hY3MtbGlzcC9t YXAuZWwgKG1hcC0tbWFrZS1wY2FzZS1iaW5kaW5ncyk6IENsYXJpZnkgdGhhdCBrZXlzCnRoYXQg YXJlbid0IGZvdW5kIGFyZW4ndCBpZ25vcmVkLCB0aGV5IGFjdHVhbGx5IGdldCB0aGUgdmFsdWUK bmlsICh1bmxlc3MgdGhlIG5ldyBkZWZhdWx0IHZhbHVlIGlzIGdpdmVuKS4gVGhlIG92ZXJhbGwg cGF0dGVybiBjYW4Kc3RpbGwgZmFpbCB0byBtYXRjaCBpZiB0aGUgc3ViLXBhdHRlcm4gZm9yIHRo ZSB1bmZvdW5kIGtleSBkb2Vzbid0Cm1hdGNoIG5pbC4KCiogdGVzdC9saXNwL2VtYWNzLWxpc3Av bWFwLXRlc3RzLmVsICh0ZXN0LW1hcC1sZXQtZGVmYXVsdCkKKHRlc3QtbWFwLXBsaXN0LXBjYXNl LWRlZmF1bHQsIHRlc3QtbWFwLXBjYXNlLW1hdGNoZXMpOiBBZGQgdGVzdHMsCmluY2x1ZGluZyBm b3IgdGhlIGFib3ZlIGl0ZW0uCi0tLQogbGlzcC9lbWFjcy1saXNwL21hcC5lbCAgICAgICAgICAg IHwgMzEgKysrKysrKysrKysrLS0tLS0tCiB0ZXN0L2xpc3AvZW1hY3MtbGlzcC9tYXAtdGVzdHMu ZWwgfCA1MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQs IDczIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpc3AvZW1h Y3MtbGlzcC9tYXAuZWwgYi9saXNwL2VtYWNzLWxpc3AvbWFwLmVsCmluZGV4IDdhNDhiYTQ3NDM0 Li43ZjEyN2YzMTJkZSAxMDA2NDQKLS0tIGEvbGlzcC9lbWFjcy1saXNwL21hcC5lbAorKysgYi9s aXNwL2VtYWNzLWxpc3AvbWFwLmVsCkBAIC01MCwxOCArNTAsMjMgQEAgbWFwCiAKIEFSR1MgaXMg YSBsaXN0IG9mIGVsZW1lbnRzIHRvIGJlIG1hdGNoZWQgaW4gdGhlIG1hcC4KIAotRWFjaCBlbGVt ZW50IG9mIEFSR1MgY2FuIGJlIG9mIHRoZSBmb3JtIChLRVkgUEFUKSwgaW4gd2hpY2ggY2FzZSBL RVkgaXMKLWV2YWx1YXRlZCBhbmQgc2VhcmNoZWQgZm9yIGluIHRoZSBtYXAuICBUaGUgbWF0Y2gg ZmFpbHMgaWYgZm9yIGFueSBLRVkKLWZvdW5kIGluIHRoZSBtYXAsIHRoZSBjb3JyZXNwb25kaW5n IFBBVCBkb2Vzbid0IG1hdGNoIHRoZSB2YWx1ZQotYXNzb2NpYXRlZCB3aXRoIHRoZSBLRVkuCitF YWNoIGVsZW1lbnQgb2YgQVJHUyBjYW4gYmUgb2YgdGhlIGZvcm0gKEtFWSBQQVQpIG9yIChLRVkg UEFUIERFRkFVTFQpLAorCitpbiB3aGljaCBjYXNlIEtFWSBpcyBldmFsdWF0ZWQgYW5kIHNlYXJj aGVkIGZvciBpbiB0aGUgbWFwIGFuZAorREVGQVVMVCBpcyB0aGUgZXZhbHVhdGVkIHZhbHVlIHVz ZWQgaWYgS0VZIGlzIG5vdCBmb3VuZC4gIFRoZQorbWF0Y2ggZmFpbHMgaWYgZm9yIGFueSBLRVkg Zm91bmQgaW4gdGhlIG1hcCwgdGhlIGNvcnJlc3BvbmRpbmcKK1BBVCBkb2Vzbid0IG1hdGNoIHRo ZSB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIEtFWS4gIFRoZSBtYXRjaAorZmFpbHMgaWYgZm9y IGFueSBLRVkgbm90IGZvdW5kIGluIHRoZSBtYXAsIHRoZSBjb3JyZXNwb25kaW5nIFBBVAorZG9l c24ndCBtYXRjaCB0aGUgREVGQVVMVCB2YWx1ZSwgaWYgZ2l2ZW4uCiAKIEVhY2ggZWxlbWVudCBj YW4gYWxzbyBiZSBhIFNZTUJPTCwgd2hpY2ggaXMgYW4gYWJicmV2aWF0aW9uIG9mCiBhIChLRVkg UEFUKSB0dXBsZSBvZiB0aGUgZm9ybSAoXFw9J1NZTUJPTCBTWU1CT0wpLiAgV2hlbiBTWU1CT0wK IGlzIGEga2V5d29yZCwgaXQgaXMgYW4gYWJicmV2aWF0aW9uIG9mIHRoZSBmb3JtICg6U1lNQk9M IFNZTUJPTCksCiB1c2VmdWwgZm9yIGJpbmRpbmcgcGxpc3QgdmFsdWVzLgogCi1LZXlzIGluIEFS R1Mgbm90IGZvdW5kIGluIHRoZSBtYXAgYXJlIGlnbm9yZWQsIGFuZCB0aGUgbWF0Y2ggZG9lc24n dAotZmFpbC4iCitXaGVuIG5vIERFRkFVTFQgdmFsdWUgaXMgZ2l2ZW4sIHRoZSBkZWZhdWx0IHZh bHVlIGZvciBrZXlzIGluCitBUkdTIG5vdCBmb3VuZCBpbiB0aGUgbWFwIGlzIG5pbCwgYW5kIHRo ZSBtYXRjaCBkb2Vzbid0IGZhaWwgc28KK2xvbmcgYXQgUEFULCBpZiBnaXZlbiwgbWF0Y2hlcyBu aWwuIgogICBgKGFuZCAocHJlZCBtYXBwKQogICAgICAgICAsQChtYXAtLW1ha2UtcGNhc2UtYmlu ZGluZ3MgYXJncykpKQogCkBAIC03MSwxMiArNzYsMTQgQEAgbWFwLWxldAogS0VZUyBjYW4gYmUg YSBsaXN0IG9mIHN5bWJvbHMsIGluIHdoaWNoIGNhc2UgZWFjaCBlbGVtZW50IHdpbGwgYmUKIGJv dW5kIHRvIHRoZSBsb29rZWQgdXAgdmFsdWUgaW4gTUFQLgogCi1LRVlTIGNhbiBhbHNvIGJlIGEg bGlzdCBvZiAoS0VZIFZBUk5BTUUpIHBhaXJzLCBpbiB3aGljaCBjYXNlCi1LRVkgaXMgYW4gdW5x dW90ZWQgZm9ybS4KK0tFWVMgY2FuIGFsc28gYmUgYSBsaXN0IG9mIChLRVkgVkFSTkFNRSkgcGFp cnMgYW5kCitcKEtFWSBWQVJOQU1FIERFRkFVTFQpIHRyaXBsZXMsIGluIHdoaWNoIGNhc2UgS0VZ IGlzIGFuCit1bnF1b3RlZCBmb3JtLgogCiBNQVAgY2FuIGJlIGFuIGFsaXN0LCBwbGlzdCwgaGFz aC10YWJsZSwgb3IgYXJyYXkuIgogICAoZGVjbGFyZSAoaW5kZW50IDIpCi0gICAgICAgICAgIChk ZWJ1ZyAoKCZyZXN0ICZvciBzeW1ib2xwIChbZm9ybSBzeW1ib2xwXSkpIGZvcm0gYm9keSkpKQor ICAgICAgICAgICAoZGVidWcgKCgmcmVzdCAmb3Igc3ltYm9scCAoW2Zvcm0gc3ltYm9scCAmb3B0 aW9uYWwgZm9ybV0pKQorICAgICAgICAgICAgICAgICAgIGZvcm0gYm9keSkpKQogICBgKHBjYXNl LWxldCAoKCwobWFwLS1tYWtlLXBjYXNlLXBhdHRlcm5zIGtleXMpICxtYXApKQogICAgICAsQGJv ZHkpKQogCkBAIC01OTksNyArNjA2LDExIEBAIG1hcC0tbWFrZS1wY2FzZS1iaW5kaW5ncwogICAi UmV0dXJuIGEgbGlzdCBvZiBwY2FzZSBiaW5kaW5ncyBmcm9tIEFSR1MgdG8gdGhlIGVsZW1lbnRz IG9mIGEgbWFwLiIKICAgKG1hcGNhciAobGFtYmRhIChlbHQpCiAgICAgICAgICAgICAoY29uZCAo KGNvbnNwIGVsdCkKLSAgICAgICAgICAgICAgICAgICBgKGFwcCAocGNhc2UtLWZsaXAgbWFwLWVs dCAsKGNhciBlbHQpKSAsKGNhZHIgZWx0KSkpCisgICAgICAgICAgICAgICAgICAgKGlmIChjZGRy IGVsdCkKKyAgICAgICAgICAgICAgICAgICAgICAgYChhcHAgKGxhbWJkYSAoYXJnKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChtYXAtZWx0IGFyZyAsKGNhciBlbHQpICwoY2FkZHIg ZWx0KSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwoY2FkciBlbHQpKQorICAgICAg ICAgICAgICAgICAgICAgYChhcHAgKHBjYXNlLS1mbGlwIG1hcC1lbHQgLChjYXIgZWx0KSkgLChj YWRyIGVsdCkpKSkKICAgICAgICAgICAgICAgICAgICgoa2V5d29yZHAgZWx0KQogICAgICAgICAg ICAgICAgICAgIChsZXQgKCh2YXIgKGludGVybiAoc3Vic3RyaW5nIChzeW1ib2wtbmFtZSBlbHQp IDEpKSkpCiAgICAgICAgICAgICAgICAgICAgICBgKGFwcCAocGNhc2UtLWZsaXAgbWFwLWVsdCAs ZWx0KSAsdmFyKSkpCmRpZmYgLS1naXQgYS90ZXN0L2xpc3AvZW1hY3MtbGlzcC9tYXAtdGVzdHMu ZWwgYi90ZXN0L2xpc3AvZW1hY3MtbGlzcC9tYXAtdGVzdHMuZWwKaW5kZXggODZjMGU5ZTA1MDMu LjQyNDU4ZmJmZWI3IDEwMDY0NAotLS0gYS90ZXN0L2xpc3AvZW1hY3MtbGlzcC9tYXAtdGVzdHMu ZWwKKysrIGIvdGVzdC9saXNwL2VtYWNzLWxpc3AvbWFwLXRlc3RzLmVsCkBAIC01NzcsNiArNTc3 LDEzIEBAIHRlc3QtbWFwLWxldAogICAgIChzaG91bGQgKD0gYiAyKSkKICAgICAoc2hvdWxkLW5v dCBjKSkpCiAKKyhlcnQtZGVmdGVzdCB0ZXN0LW1hcC1sZXQtZGVmYXVsdCAoKQorICAobWFwLWxl dCAoKCdmb28gYSAzKQorICAgICAgICAgICAgKCdiYXogYiA0KSkKKyAgICAgICcoKGZvbyAuIDEp KQorICAgIChzaG91bGQgKD0gYSAxKSkKKyAgICAoc2hvdWxkICg9IGIgNCkpKSkKKwogKGVydC1k ZWZ0ZXN0IHRlc3QtbWFwLW1lcmdlICgpCiAgICJUZXN0IGBtYXAtbWVyZ2UnLiIKICAgKHNob3Vs ZCAoZXF1YWwgKHNvcnQgKG1hcC1tZXJnZSAnbGlzdCAnKGEgMSkgJygoYiAuIDIpIChjIC4gMykp CkBAIC02MTcsNiArNjI0LDUxIEBAIHRlc3QtbWFwLXBsaXN0LXBjYXNlCiAgICAgICAgICAgICAg ICAgICAgICAobGlzdCBvbmUgdHdvKSkKICAgICAgICAgICAgICAgICAgICAnKDEgMikpKSkpCiAK KyhlcnQtZGVmdGVzdCB0ZXN0LW1hcC1wbGlzdC1wY2FzZS1kZWZhdWx0ICgpCisgIChsZXQgKChw bGlzdCAnKDp0d28gMikpKQorICAgIChzaG91bGQgKGVxdWFsIChwY2FzZS1sZXQgKCgobWFwICg6 dHdvIHR3byAzMykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOnRocmVl IHRocmVlIDQ0KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxpc3QpKQorICAg ICAgICAgICAgICAgICAgICAgKGxpc3QgdHdvIHRocmVlKSkKKyAgICAgICAgICAgICAgICAgICAn KDIgNDQpKSkpKQorCisoZXJ0LWRlZnRlc3QgdGVzdC1tYXAtcGNhc2UtbWF0Y2hlcyAoKQorICAo bGV0ICgocGxpc3QgJyg6dHdvIDIpKSkKKyAgICAoc2hvdWxkIChlcXVhbCAocGNhc2UgcGxpc3QK KyAgICAgICAgICAgICAgICAgICAgICgobWFwICg6dHdvIHR3byAzMykKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICg6dGhyZWUgdGhyZWUpKQorICAgICAgICAgICAgICAgICAgICAgIChsaXN0 IHR3byB0aHJlZSkpCisgICAgICAgICAgICAgICAgICAgICAoXyAnZmFpbCkpCisgICAgICAgICAg ICAgICAgICAgJygyIG5pbCkpKQorCisgICAgKHNob3VsZCAoZXF1YWwgKHBjYXNlIHBsaXN0Cisg ICAgICAgICAgICAgICAgICAgICAoKG1hcCAoOnR3byB0d28gMzMpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAoOnRocmVlIHRocmVlIDQ0KSkKKyAgICAgICAgICAgICAgICAgICAgICAobGlz dCB0d28gdGhyZWUpKQorICAgICAgICAgICAgICAgICAgICAgKF8gJ2ZhaWwpKQorICAgICAgICAg ICAgICAgICAgICcoMiA0NCkpKQorCisgICAgKHNob3VsZCAoZXF1YWwgKHBjYXNlIHBsaXN0Cisg ICAgICAgICAgICAgICAgICAgICAoKG1hcCAoOnR3byB0d28gMzMpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAoOnRocmVlIGAoLGEgLiAsYikgJygxMSAuIDIyKSkpCisgICAgICAgICAgICAg ICAgICAgICAgKGxpc3QgdHdvIGEgYikpCisgICAgICAgICAgICAgICAgICAgICAoXyAnZmFpbCkp CisgICAgICAgICAgICAgICAgICAgJygyIDExIDIyKSkpCisKKyAgICAoc2hvdWxkIChlcXVhbCAn ZmFpbAorICAgICAgICAgICAgICAgICAgIChwY2FzZSBwbGlzdAorICAgICAgICAgICAgICAgICAg ICAgKChtYXAgKDp0d28gdHdvIDMzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKDp0aHJl ZSBgKCxhIC4gLGIpIDQ0KSkKKyAgICAgICAgICAgICAgICAgICAgICAobGlzdCB0d28gYSBiKSkK KyAgICAgICAgICAgICAgICAgICAgIChfICdmYWlsKSkpKQorCisgICAgKHNob3VsZCAoZXF1YWwg J2ZhaWwKKyAgICAgICAgICAgICAgICAgICAocGNhc2UgcGxpc3QKKyAgICAgICAgICAgICAgICAg ICAgICgobWFwICg6dHdvIHR3byAzMykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICg6dGhy ZWUgYCgsYSAuICxiKSBuaWwpKQorICAgICAgICAgICAgICAgICAgICAgIChsaXN0IHR3byBhIGIp KQorICAgICAgICAgICAgICAgICAgICAgKF8gJ2ZhaWwpKSkpKSkKKwogKGVydC1kZWZ0ZXN0IHRl c3QtbWFwLXNldGYtYWxpc3QtaW5zZXJ0LWtleSAoKQogICAobGV0ICgoYWxpc3QpKQogICAgIChz aG91bGQgKGVxdWFsIChzZXRmIChtYXAtZWx0IGFsaXN0ICdrZXkpICd2YWx1ZSkKLS0gCjIuMzQu MQoK --b1_Sr3bKNXFjrT9gxxYuyTdyDbqsNMe6iA11cJ1tlunGI-- From debbugs-submit-bounces@debbugs.gnu.org Fri Jul 21 21:48:26 2023 Received: (at 49407) by debbugs.gnu.org; 22 Jul 2023 01:48:26 +0000 Received: from localhost ([127.0.0.1]:35098 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qN1jN-0004pL-Nc for submit@debbugs.gnu.org; Fri, 21 Jul 2023 21:48:26 -0400 Received: from mout.web.de ([212.227.17.12]:59701) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qN1jH-0004o6-LC for 49407@debbugs.gnu.org; Fri, 21 Jul 2023 21:48:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273; t=1689990485; x=1690595285; i=michael_heerdegen@web.de; bh=UqLOSuu57Ky8X7MtDlm9zzmKyVxwHAkaiKb0vYCWGUk=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date; b=Wvr7Oat7ETGRt1hYZECELa7xZP8CAYyD1IzE47vcTEqwk7zZBV2wP6n61fmKMXknok7KAIq 2ok0fEYsu/hZglvDTdrH3wU5qB6IQEfso8yFjB1snqtof75YtyMDyh9SNOq6Kg0l/yW99FIPH GmuVuECi3g1fPYtEGdyHSeEQwhe8NpbpOd0QyYcoURLlG30OveMwEX91s7rasjzM6kiQapgkf pyAMqgPQZSMdWvbejuj0e237vNK1OPXf6KTpc9uqddSVoqsGMR/1IR1Ej3Hs75B1Yc+6DSewV K1XwwBx2MATqH8fPN42zbvthGrsetdjdPFUjpSMZRd3GlPRfOJiA== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([84.59.210.36]) by smtp.web.de (mrweb105 [213.165.67.124]) with ESMTPSA (Nemesis) id 1M9Za2-1qJhnl2WZg-005orN; Sat, 22 Jul 2023 03:48:05 +0200 From: Michael Heerdegen To: Okam Subject: Re: bug#49407: Request: Specify default values in `map-let` in Map.el In-Reply-To: <08a00b74-56f9-bb81-0411-36f9da8cf2d6@protonmail.com> (Okam's message of "Fri, 21 Jul 2023 02:56:19 +0000") References: <87eec0klhu.fsf@gnus.org> <08a00b74-56f9-bb81-0411-36f9da8cf2d6@protonmail.com> Date: Sat, 22 Jul 2023 03:48:03 +0200 Message-ID: <87r0p0wwbw.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:ZSlTN0aMHMCeJh7/ITZSYxsxdwTxYM3jV/I1e6FxhdBQl1FPiOH 3zqEDOHlX8dva8LwzR+sonHF5Rbn/KmmYx14zDUQCZFHiEa4gSlqEavxCPiFiykITY1Z+iM q0vdZq7an2QYhRghiAJbMbsFL5eCdbgNoiphfTkRu/sJnKdFaViMFi4dUhkjkQCX46aoryg k+NaSFgZ/3bTZykLHPPAQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:ACAwJD3WEUo=;J9Zdm6vRKwuKk6kv/2tVczFpvKf 1pDzE3VOuUIse7uAlooJDJzObqcdtD/bpMMhtGfr82BasUF7QJbWpratqRA+LxJOLHcnDepzl HIsetASljiPmTlVAMDc+UDxhOYAX68W8GphREhSVWu6ZSGcQpLsmjSqEQzaCk68mGCBP00tCm taP+bwQugDV4heOKEPVfSoZYbRNIP4wkiqaidD6Y8EkKwiE7y13xJmLYAv1DQ193Ry2atuD2O zIAdEEChjs5XSIX+i9JjQcZLWKtSF8HhHnzyWXMCEsgBIXD06OHvEb2+cEZ4I4GC6v7Ch1tJW 5LfiDLMo9oGJXpOxbWOoyM66KAKPYEnmV9U8zwurnhbv/hTD49YD70YwWeI8DNuPB2FB5H+Ky wIitFDJPm1qokrZBI5V+q82lAUduA/5Z/1h0vuldwvqoLcDhfLRf0JlH3XwevU6CE4lU3U0x4 Gj8SaMM00+AF3aN7AjhxQMAdrhZwwLcm4hcgAckj1nesjpOFtCzKXayGJenki8e216M6gaAmN GU5ncrqEsbZkNBS7ENRmjiHUSWXAraAyw012fFAiVAkTYWt4nv/AMw6Gvae24Zi6XnxlCNqyZ /qy1DdyW/lU0U9nD1WcwAxuD0pkotL11/qSeUVO+Nh5SDHlIYVZp1raEs7RAi5EoMSRcWz9gH Ij21Nk8xQwSDmWY7x4fLfmMiUiOzjqinNTvI0JBwuXiYJWzYaqwb0EarmONs+8ku9s3/efbsv dLxW6u4CU+E4FyqJgBbwnmMgrXFD6XMtF+DOdrvixQsDexThry53ba/3LvRE8/UlZeDC9eJwi yeHJNjz3CIq33Q3yqAO88quH8z7xskd4YfmRG4AnKm5qM39LZpRMkc2Ieenqg1Z1faRjmszON W1JiufwDO6WypA8fYBFQVSjrByAIyR9uAI+CwTPt+zijEM4cqqjir/bzOBtJLbZ5/mJn9uT88 8h3e6l+1Og6w+DjoJCynIcianPs= Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 49407 Cc: Lars Ingebrigtsen , 49407@debbugs.gnu.org, Nicolas Petton , Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Okam writes: > I've written a patch and tests that would add an optional third > argument for a default value. Thank you. > However, I have a question about avoiding using a lambda. I see that > the pattern uses `pcase--flip`, which is "used internally to avoid > (funcall (lambda ...) ...)". Why should lambda functions be avoided > for this, As far as I understand, to produce more efficient code. > and I should be using a custom helper function for this one pattern? Stefan, would you want to extend `pcase--flip' to more arguments to support this case? | diff --git a/lisp/emacs-lisp/map.el b/lisp/emacs-lisp/map.el | index 7a48ba47434..7f127f312de 100644 | --- a/lisp/emacs-lisp/map.el | +++ b/lisp/emacs-lisp/map.el | @@ -50,18 +50,23 @@ map | | 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 with the KEY. | +Each element of ARGS can be of the form (KEY PAT) or (KEY PAT DEFAULT), | + | +in which case KEY is evaluated and searched for in the map and That line break in the last sentence is somehow... broken. | +DEFAULT is the evaluated value used if KEY is not found. The | +match fails if for any KEY found in the map, the corresponding | +PAT doesn't match the value associated with the KEY. The match | +fails if for any KEY not found in the map, the corresponding PAT | +doesn't match the DEFAULT value, if given. Here is something grammatically not right in the last sentence. And I think we should say that that last case (PAT doesn't match DEFAULT) only lets matching fail when the KEY is not found. | -Keys in ARGS not found in the map are ignored, and the match doesn't | -fail." | +When no DEFAULT value is given, the default value for keys in | +ARGS not found in the map is nil, and the match doesn't fail so | +long at PAT, if given, matches nil." | `(and (pred mapp) | ,@(map--make-pcase-bindings args))) Typo in doc ("at"). And can't we simply say that omitting DEFAULT is equivalent to a DEFAULT of nil? | @@ -599,7 +606,11 @@ map--make-pcase-bindings | "Return a list of pcase bindings from ARGS to the elements of a map." | (mapcar (lambda (elt) | (cond ((consp elt) | - `(app (pcase--flip map-elt ,(car elt)) ,(cadr elt))) | + (if (cddr elt) | + `(app (lambda (arg) | + (map-elt arg ,(car elt) ,(caddr elt))) | + ,(cadr elt)) | + `(app (pcase--flip map-elt ,(car elt)) ,(cadr elt)= ))) If we don't extend `pcase--flip' to support this case, I think your lambda would need to use an uninterned symbol as parameter to avoid collisions with the involved expressions. Michael. From debbugs-submit-bounces@debbugs.gnu.org Sat Jul 22 11:45:13 2023 Received: (at 49407) by debbugs.gnu.org; 22 Jul 2023 15:45:13 +0000 Received: from localhost ([127.0.0.1]:37490 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qNEnA-0002F0-Rd for submit@debbugs.gnu.org; Sat, 22 Jul 2023 11:45:13 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:21229) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qNEn7-0002Ej-Uc for 49407@debbugs.gnu.org; Sat, 22 Jul 2023 11:45:10 -0400 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 50BD1440698; Sat, 22 Jul 2023 11:45:04 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 28F3244063A; Sat, 22 Jul 2023 11:45:03 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1690040703; bh=WRUWlmfmwTJx01IVtnCabiSepMKdTjp3YLScFzXmSeI=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=i9cBjT5aXjkTXv5xzEfoHEaEp110aC7h38Vo70eR63IZMeRL45FttsfqujJ1oCZco QA2306XdaM1TmurApkPdlyV3m+RLTRhadRw9lP10wB+ZqLR/txt+1yba6V0qpFKXeS xCuRJolap+wTnafdNNraw7MFNGt5g8hFOtymQFpidT4RcYoDeqWhOcO88b5L7sSrAt 4s0G6H3wIPmn73hTXdbCb8auEKhUIyV+bymOxuTRwTCt8+fy0lKDR8j2b6dR6NJdOd L6RI4t80qx87OhXSXFS4GScbDhrAQqvXpSw65VpDuO2+VvJudQjlYqptzmeLg3cOPR FU5UIqHGHADBQ== Received: from pastel (unknown [104.247.231.138]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id EDCC8120278; Sat, 22 Jul 2023 11:45:02 -0400 (EDT) From: Stefan Monnier To: Michael Heerdegen Subject: Re: bug#49407: Request: Specify default values in `map-let` in Map.el In-Reply-To: <87r0p0wwbw.fsf@web.de> (Michael Heerdegen's message of "Sat, 22 Jul 2023 03:48:03 +0200") Message-ID: References: <87eec0klhu.fsf@gnus.org> <08a00b74-56f9-bb81-0411-36f9da8cf2d6@protonmail.com> <87r0p0wwbw.fsf@web.de> Date: Sat, 22 Jul 2023 11:45:02 -0400 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.101 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 49407 Cc: Okam , Lars Ingebrigtsen , 49407@debbugs.gnu.org, Nicolas Petton X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >> However, I have a question about avoiding using a lambda. I see that >> the pattern uses `pcase--flip`, which is "used internally to avoid >> (funcall (lambda ...) ...)". Why should lambda functions be avoided >> for this, > As far as I understand, to produce more efficient code. Indeed. >> and I should be using a custom helper function for this one pattern? > Stefan, would you want to extend `pcase--flip' to more arguments to > support this case? Probably not worth it, no. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sat Jul 22 14:46:33 2023 Received: (at 49407) by debbugs.gnu.org; 22 Jul 2023 18:46:33 +0000 Received: from localhost ([127.0.0.1]:37578 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qNHce-0006q7-M2 for submit@debbugs.gnu.org; Sat, 22 Jul 2023 14:46:33 -0400 Received: from mail-4316.protonmail.ch ([185.70.43.16]:59805) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qNHcc-0006pl-Cf for 49407@debbugs.gnu.org; Sat, 22 Jul 2023 14:46:31 -0400 Date: Sat, 22 Jul 2023 18:46:12 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1690051583; x=1690310783; bh=pDPntkEr0rjcFjELGAeGwI6/Dv/OS7UMnJCo/p4S2mM=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=n7pOKg8Oijvd89OSPaeggwjS5WwQ7htOvGNJIBG2zORYfmuQ7hyMSguoZ9dLFbSGs FYuRL3UuHBVmS3lClQnrSxVpc6Fv9kVxWcb95mr35I1lqOA82rq0RVSl0KGfsgsOmm dsSQpp6JEB+UCfLYQQTIJA/seE0Kr5QfZYI35RPDQTiUtTsmKV/xEbEuVfs7sylR+H ufKGDmF6yqZrFB1ZBCzphEHvnVBp8+ezR9QJ872NgAsqlI/FiSSvZ8P+8O3TmhRtSw o3d31xL20EJVvY/9DcpsUKFQDntN+UKMOY9mrrwhYYQgoDMWrrjnMInQ3/FSCmTFIc qXokztLZsBgQQ== To: Michael Heerdegen From: Okam Subject: Re: bug#49407: Request: Specify default values in `map-let` in Map.el Message-ID: In-Reply-To: <87r0p0wwbw.fsf@web.de> References: <87eec0klhu.fsf@gnus.org> <08a00b74-56f9-bb81-0411-36f9da8cf2d6@protonmail.com> <87r0p0wwbw.fsf@web.de> Feedback-ID: 25935600:user:proton MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_pLYks9TiKzff1rzIeGk0ha22Sk4QOVlSohamuNg2k" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 49407 Cc: Lars Ingebrigtsen , 49407@debbugs.gnu.org, Nicolas Petton , Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --b1_pLYks9TiKzff1rzIeGk0ha22Sk4QOVlSohamuNg2k Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 2023-07-22 01:48 UTC, Michael Heerdegen wrote: >=20 > | diff --git a/lisp/emacs-lisp/map.el b/lisp/emacs-lisp/map.el > | index 7a48ba47434..7f127f312de 100644 > | --- a/lisp/emacs-lisp/map.el > | +++ b/lisp/emacs-lisp/map.el > | @@ -50,18 +50,23 @@ map > | > | 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 i= s > | -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 with the KEY. > | +Each element of ARGS can be of the form (KEY PAT) or (KEY PAT DEFAULT)= , > | + > | +in which case KEY is evaluated and searched for in the map and >=20 > That line break in the last sentence is somehow... broken. >=20 > | +DEFAULT is the evaluated value used if KEY is not found. The > | +match fails if for any KEY found in the map, the corresponding > | +PAT doesn't match the value associated with the KEY. The match > | +fails if for any KEY not found in the map, the corresponding PAT > | +doesn't match the DEFAULT value, if given. >=20 > Here is something grammatically not right in the last sentence. And I > think we should say that that last case (PAT doesn't match DEFAULT) only > lets matching fail when the KEY is not found. >=20 >=20 > | -Keys in ARGS not found in the map are ignored, and the match doesn't > | -fail." > | +When no DEFAULT value is given, the default value for keys in > | +ARGS not found in the map is nil, and the match doesn't fail so > | +long at PAT, if given, matches nil." > | `(and (pred mapp) > | ,@(map--make-pcase-bindings args))) >=20 > Typo in doc ("at"). And can't we simply say that omitting DEFAULT is > equivalent to a DEFAULT of nil? >=20 > | @@ -599,7 +606,11 @@ map--make-pcase-bindings > | "Return a list of pcase bindings from ARGS to the elements of a map.= " > | (mapcar (lambda (elt) > | (cond ((consp elt) > | - `(app (pcase--flip map-elt ,(car elt)) ,(cadr elt))= ) > | + (if (cddr elt) > | + `(app (lambda (arg) > | + (map-elt arg ,(car elt) ,(caddr elt))) > | + ,(cadr elt)) > | + `(app (pcase--flip map-elt ,(car elt)) ,(cadr elt= )))) >=20 > If we don't extend `pcase--flip' to support this case, I think your > lambda would need to use an uninterned symbol as parameter to avoid > collisions with the involved expressions. >=20 >=20 > Michael. Please see the attached file. I have re-worded the doc string and added=20 a wrapper macro to re-order the arguments to `map-elt` for the `app`=20 pattern. --b1_pLYks9TiKzff1rzIeGk0ha22Sk4QOVlSohamuNg2k Content-Type: text/x-patch; charset=UTF-8; name=v2-0001-Allow-default-values-in-map-let-and-the-pcase-map.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v2-0001-Allow-default-values-in-map-let-and-the-pcase-map.patch RnJvbSA2Y2RmMTQ1ZmJjODFjNzVjODhjOGY1ZTk4NDUwYTMwNjg4ZDI0OTAxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh dGU6IFRodSwgMjAgSnVsIDIwMjMgMjE6NDQ6NDEgLTA0MDAKU3ViamVjdDogW1BBVENIIHYyXSBB bGxvdyBkZWZhdWx0IHZhbHVlcyBpbiAnbWFwLWxldCcgYW5kIHRoZSBwY2FzZSAnbWFwJyBmb3Jt CgoqIGxpc3AvZW1hY3MtbGlzcC9tYXAuZWwgKG1hcC1sZXQsIG1hcCkKKG1hcC0tbWFrZS1wY2Fz ZS1iaW5kaW5ncyk6IEFkZCBhIHRoaXJkIGFyZ3VtZW50IGZvciBzcGVjaWZ5aW5nIGEKZGVmYXVs dCB2YWx1ZSwgbGlrZSBpbiAnbWFwLWVsdCcuIChCdWcjNDk0MDcpCgoqIGxpc3AvZW1hY3MtbGlz cC9tYXAuZWwgKG1hcC0tbWFrZS1wY2FzZS1iaW5kaW5ncyk6IENsYXJpZnkgdGhhdCBrZXlzCnRo YXQgYXJlbid0IGZvdW5kIGFyZW4ndCBpZ25vcmVkLCB0aGV5IGFjdHVhbGx5IGdldCB0aGUgdmFs dWUKbmlsICh1bmxlc3MgdGhlIG5ldyBkZWZhdWx0IHZhbHVlIGlzIGdpdmVuKS4gVGhlIG92ZXJh bGwgcGF0dGVybiBjYW4Kc3RpbGwgZmFpbCB0byBtYXRjaCBpZiB0aGUgc3ViLXBhdHRlcm4gZm9y IHRoZSB1bmZvdW5kIGtleSBkb2Vzbid0Cm1hdGNoIG5pbC4KCiogdGVzdC9saXNwL2VtYWNzLWxp c3AvbWFwLXRlc3RzLmVsICh0ZXN0LW1hcC1sZXQtZGVmYXVsdCkKKHRlc3QtbWFwLXBsaXN0LXBj YXNlLWRlZmF1bHQsIHRlc3QtbWFwLXBjYXNlLW1hdGNoZXMpOiBBZGQgdGVzdHMsCmluY2x1ZGlu ZyBmb3IgdGhlIGFib3ZlIGl0ZW0uCi0tLQogbGlzcC9lbWFjcy1saXNwL21hcC5lbCAgICAgICAg ICAgIHwgNDAgKysrKysrKysrKysrKysrKysrLS0tLS0tCiB0ZXN0L2xpc3AvZW1hY3MtbGlzcC9t YXAtdGVzdHMuZWwgfCA1MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVz IGNoYW5nZWQsIDgyIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2xpc3AvZW1hY3MtbGlzcC9tYXAuZWwgYi9saXNwL2VtYWNzLWxpc3AvbWFwLmVsCmluZGV4IDdh NDhiYTQ3NDM0Li4zNWI4OTk4Njc5YSAxMDA2NDQKLS0tIGEvbGlzcC9lbWFjcy1saXNwL21hcC5l bAorKysgYi9saXNwL2VtYWNzLWxpc3AvbWFwLmVsCkBAIC01MCwxOCArNTAsMjYgQEAgbWFwCiAK IEFSR1MgaXMgYSBsaXN0IG9mIGVsZW1lbnRzIHRvIGJlIG1hdGNoZWQgaW4gdGhlIG1hcC4KIAot RWFjaCBlbGVtZW50IG9mIEFSR1MgY2FuIGJlIG9mIHRoZSBmb3JtIChLRVkgUEFUKSwgaW4gd2hp Y2ggY2FzZSBLRVkgaXMKLWV2YWx1YXRlZCBhbmQgc2VhcmNoZWQgZm9yIGluIHRoZSBtYXAuICBU aGUgbWF0Y2ggZmFpbHMgaWYgZm9yIGFueSBLRVkKLWZvdW5kIGluIHRoZSBtYXAsIHRoZSBjb3Jy ZXNwb25kaW5nIFBBVCBkb2Vzbid0IG1hdGNoIHRoZSB2YWx1ZQotYXNzb2NpYXRlZCB3aXRoIHRo ZSBLRVkuCitFYWNoIGVsZW1lbnQgaW4gQVJHUyBjYW4gYmUgb2YgdGhlIGZvcm0gKEtFWSBQQVQp IG9yIChLRVkgUEFUCitERUZBVUxUKSwgd2hlcmUgS0VZIGlzIHRoZSBrZXkgc291Z2h0IGluIHRo ZSBtYXAsIFBBVCBpcyBhCitgcGNhc2UnIHBhdHRlcm4sIGFuZCBERUZBVUxUIGlzIHRoZSBkZWZh dWx0IHZhbHVlIHRvIHVzZSBpZiBLRVkKK2lzbid0IGZvdW5kLiAgQm90aCBLRVkgYW5kIERFRkFV TFQgYXJlIGV2YWx1YXRlZC4gIElmIERFRkFVTFQKK2lzbid0IGdpdmVuLCB0aGVuIG5pbCBpcyB1 c2VkLgogCiBFYWNoIGVsZW1lbnQgY2FuIGFsc28gYmUgYSBTWU1CT0wsIHdoaWNoIGlzIGFuIGFi YnJldmlhdGlvbiBvZgogYSAoS0VZIFBBVCkgdHVwbGUgb2YgdGhlIGZvcm0gKFxcPSdTWU1CT0wg U1lNQk9MKS4gIFdoZW4gU1lNQk9MCiBpcyBhIGtleXdvcmQsIGl0IGlzIGFuIGFiYnJldmlhdGlv biBvZiB0aGUgZm9ybSAoOlNZTUJPTCBTWU1CT0wpLAogdXNlZnVsIGZvciBiaW5kaW5nIHBsaXN0 IHZhbHVlcy4KIAotS2V5cyBpbiBBUkdTIG5vdCBmb3VuZCBpbiB0aGUgbWFwIGFyZSBpZ25vcmVk LCBhbmQgdGhlIG1hdGNoIGRvZXNuJ3QKLWZhaWwuIgorVGhlIG1hdGNoIGZhaWxzIGlmOgorCist IEtFWSBpcyBmb3VuZCBhbmQgUEFUIGRvZXMgbm90IG1hdGNoIHRoZSBhc3NvY2lhdGVkIHZhbHVl CisKKy0gS0VZIGlzIG5vdCBmb3VuZCwgREVGQVVMVCBpcyBnaXZlbiwgYW5kIFBBVCBkb2VzIG5v dCBtYXRjaAorICBERUZBVUxUCisKKy0gS0VZIGlzIG5vdCBmb3VuZCwgREVGQVVMVCBpcyBub3Qg Z2l2ZW4sIGFuZCBQQVQgZG9lcyBub3QgbWF0Y2gKKyAgbmlsIgogICBgKGFuZCAocHJlZCBtYXBw KQogICAgICAgICAsQChtYXAtLW1ha2UtcGNhc2UtYmluZGluZ3MgYXJncykpKQogCkBAIC03MSwx MiArNzksMTQgQEAgbWFwLWxldAogS0VZUyBjYW4gYmUgYSBsaXN0IG9mIHN5bWJvbHMsIGluIHdo aWNoIGNhc2UgZWFjaCBlbGVtZW50IHdpbGwgYmUKIGJvdW5kIHRvIHRoZSBsb29rZWQgdXAgdmFs dWUgaW4gTUFQLgogCi1LRVlTIGNhbiBhbHNvIGJlIGEgbGlzdCBvZiAoS0VZIFZBUk5BTUUpIHBh aXJzLCBpbiB3aGljaCBjYXNlCi1LRVkgaXMgYW4gdW5xdW90ZWQgZm9ybS4KK0tFWVMgY2FuIGFs c28gYmUgYSBsaXN0IG9mIChLRVkgVkFSTkFNRSkgcGFpcnMgYW5kCitcKEtFWSBWQVJOQU1FIERF RkFVTFQpIHRyaXBsZXMsIGluIHdoaWNoIGNhc2UgS0VZIGlzIGFuCit1bnF1b3RlZCBmb3JtLgog CiBNQVAgY2FuIGJlIGFuIGFsaXN0LCBwbGlzdCwgaGFzaC10YWJsZSwgb3IgYXJyYXkuIgogICAo ZGVjbGFyZSAoaW5kZW50IDIpCi0gICAgICAgICAgIChkZWJ1ZyAoKCZyZXN0ICZvciBzeW1ib2xw IChbZm9ybSBzeW1ib2xwXSkpIGZvcm0gYm9keSkpKQorICAgICAgICAgICAoZGVidWcgKCgmcmVz dCAmb3Igc3ltYm9scCAoW2Zvcm0gc3ltYm9scCAmb3B0aW9uYWwgZm9ybV0pKQorICAgICAgICAg ICAgICAgICAgIGZvcm0gYm9keSkpKQogICBgKHBjYXNlLWxldCAoKCwobWFwLS1tYWtlLXBjYXNl LXBhdHRlcm5zIGtleXMpICxtYXApKQogICAgICAsQGJvZHkpKQogCkBAIC01OTUsMTEgKzYwNSwy MSBAQCBtYXAtaW50bwogICAgIChtYXAtaW50byBcXD0nKCgxIC4gMykpIFxcPScoaGFzaC10YWJs ZSA6dGVzdCBlcWwpKSIKICAgKG1hcC0taW50by1oYXNoIG1hcCAoY2RyIHR5cGUpKSkKIAorKGRl Zm1hY3JvIG1hcC0tcGNhc2UtbWFwLWVsdCAoa2V5IGRlZmF1bHQgbWFwKQorICAiQSBtYWNybyB0 byBtYWtlIE1BUCB0aGUgbGFzdCBhcmd1bWVudCB0byBgbWFwLWVsdCcuCisKK1RoaXMgYWxsb3dz IHVzaW5nIGRlZmF1bHQgdmFsdWVzIGZvciBgbWFwLWVsdCcsIHdoaWNoIGNhbid0IGJlCitkb25l IHVzaW5nIGBwY2FzZS0tZmxpcCcuCisKK0tFWSBpcyB0aGUga2V5IHNvdWdodCBpbiB0aGUgbWFw LiAgREVGQVVMVCBpcyB0aGUgZGVmYXVsdCB2YWx1ZS4iCisgIGAobWFwLWVsdCAsbWFwICxrZXkg LGRlZmF1bHQpKQorCiAoZGVmdW4gbWFwLS1tYWtlLXBjYXNlLWJpbmRpbmdzIChhcmdzKQogICAi UmV0dXJuIGEgbGlzdCBvZiBwY2FzZSBiaW5kaW5ncyBmcm9tIEFSR1MgdG8gdGhlIGVsZW1lbnRz IG9mIGEgbWFwLiIKICAgKG1hcGNhciAobGFtYmRhIChlbHQpCiAgICAgICAgICAgICAoY29uZCAo KGNvbnNwIGVsdCkKLSAgICAgICAgICAgICAgICAgICBgKGFwcCAocGNhc2UtLWZsaXAgbWFwLWVs dCAsKGNhciBlbHQpKSAsKGNhZHIgZWx0KSkpCisgICAgICAgICAgICAgICAgICAgYChhcHAgKG1h cC0tcGNhc2UtbWFwLWVsdCAsKGNhciBlbHQpICwoY2FkZHIgZWx0KSkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAsKGNhZHIgZWx0KSkpCiAgICAgICAgICAgICAgICAgICAoKGtleXdvcmRwIGVs dCkKICAgICAgICAgICAgICAgICAgICAobGV0ICgodmFyIChpbnRlcm4gKHN1YnN0cmluZyAoc3lt Ym9sLW5hbWUgZWx0KSAxKSkpKQogICAgICAgICAgICAgICAgICAgICAgYChhcHAgKHBjYXNlLS1m bGlwIG1hcC1lbHQgLGVsdCkgLHZhcikpKQpkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL2VtYWNzLWxp c3AvbWFwLXRlc3RzLmVsIGIvdGVzdC9saXNwL2VtYWNzLWxpc3AvbWFwLXRlc3RzLmVsCmluZGV4 IDg2YzBlOWUwNTAzLi40MjQ1OGZiZmViNyAxMDA2NDQKLS0tIGEvdGVzdC9saXNwL2VtYWNzLWxp c3AvbWFwLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9lbWFjcy1saXNwL21hcC10ZXN0cy5lbApA QCAtNTc3LDYgKzU3NywxMyBAQCB0ZXN0LW1hcC1sZXQKICAgICAoc2hvdWxkICg9IGIgMikpCiAg ICAgKHNob3VsZC1ub3QgYykpKQogCisoZXJ0LWRlZnRlc3QgdGVzdC1tYXAtbGV0LWRlZmF1bHQg KCkKKyAgKG1hcC1sZXQgKCgnZm9vIGEgMykKKyAgICAgICAgICAgICgnYmF6IGIgNCkpCisgICAg ICAnKChmb28gLiAxKSkKKyAgICAoc2hvdWxkICg9IGEgMSkpCisgICAgKHNob3VsZCAoPSBiIDQp KSkpCisKIChlcnQtZGVmdGVzdCB0ZXN0LW1hcC1tZXJnZSAoKQogICAiVGVzdCBgbWFwLW1lcmdl Jy4iCiAgIChzaG91bGQgKGVxdWFsIChzb3J0IChtYXAtbWVyZ2UgJ2xpc3QgJyhhIDEpICcoKGIg LiAyKSAoYyAuIDMpKQpAQCAtNjE3LDYgKzYyNCw1MSBAQCB0ZXN0LW1hcC1wbGlzdC1wY2FzZQog ICAgICAgICAgICAgICAgICAgICAgKGxpc3Qgb25lIHR3bykpCiAgICAgICAgICAgICAgICAgICAg JygxIDIpKSkpKQogCisoZXJ0LWRlZnRlc3QgdGVzdC1tYXAtcGxpc3QtcGNhc2UtZGVmYXVsdCAo KQorICAobGV0ICgocGxpc3QgJyg6dHdvIDIpKSkKKyAgICAoc2hvdWxkIChlcXVhbCAocGNhc2Ut bGV0ICgoKG1hcCAoOnR3byB0d28gMzMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKDp0aHJlZSB0aHJlZSA0NCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHBsaXN0KSkKKyAgICAgICAgICAgICAgICAgICAgIChsaXN0IHR3byB0aHJlZSkpCisgICAgICAg ICAgICAgICAgICAgJygyIDQ0KSkpKSkKKworKGVydC1kZWZ0ZXN0IHRlc3QtbWFwLXBjYXNlLW1h dGNoZXMgKCkKKyAgKGxldCAoKHBsaXN0ICcoOnR3byAyKSkpCisgICAgKHNob3VsZCAoZXF1YWwg KHBjYXNlIHBsaXN0CisgICAgICAgICAgICAgICAgICAgICAoKG1hcCAoOnR3byB0d28gMzMpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAoOnRocmVlIHRocmVlKSkKKyAgICAgICAgICAgICAg ICAgICAgICAobGlzdCB0d28gdGhyZWUpKQorICAgICAgICAgICAgICAgICAgICAgKF8gJ2ZhaWwp KQorICAgICAgICAgICAgICAgICAgICcoMiBuaWwpKSkKKworICAgIChzaG91bGQgKGVxdWFsIChw Y2FzZSBwbGlzdAorICAgICAgICAgICAgICAgICAgICAgKChtYXAgKDp0d28gdHdvIDMzKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgKDp0aHJlZSB0aHJlZSA0NCkpCisgICAgICAgICAgICAg ICAgICAgICAgKGxpc3QgdHdvIHRocmVlKSkKKyAgICAgICAgICAgICAgICAgICAgIChfICdmYWls KSkKKyAgICAgICAgICAgICAgICAgICAnKDIgNDQpKSkKKworICAgIChzaG91bGQgKGVxdWFsIChw Y2FzZSBwbGlzdAorICAgICAgICAgICAgICAgICAgICAgKChtYXAgKDp0d28gdHdvIDMzKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgKDp0aHJlZSBgKCxhIC4gLGIpICcoMTEgLiAyMikpKQor ICAgICAgICAgICAgICAgICAgICAgIChsaXN0IHR3byBhIGIpKQorICAgICAgICAgICAgICAgICAg ICAgKF8gJ2ZhaWwpKQorICAgICAgICAgICAgICAgICAgICcoMiAxMSAyMikpKQorCisgICAgKHNo b3VsZCAoZXF1YWwgJ2ZhaWwKKyAgICAgICAgICAgICAgICAgICAocGNhc2UgcGxpc3QKKyAgICAg ICAgICAgICAgICAgICAgICgobWFwICg6dHdvIHR3byAzMykKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICg6dGhyZWUgYCgsYSAuICxiKSA0NCkpCisgICAgICAgICAgICAgICAgICAgICAgKGxp c3QgdHdvIGEgYikpCisgICAgICAgICAgICAgICAgICAgICAoXyAnZmFpbCkpKSkKKworICAgIChz aG91bGQgKGVxdWFsICdmYWlsCisgICAgICAgICAgICAgICAgICAgKHBjYXNlIHBsaXN0CisgICAg ICAgICAgICAgICAgICAgICAoKG1hcCAoOnR3byB0d28gMzMpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAoOnRocmVlIGAoLGEgLiAsYikgbmlsKSkKKyAgICAgICAgICAgICAgICAgICAgICAo bGlzdCB0d28gYSBiKSkKKyAgICAgICAgICAgICAgICAgICAgIChfICdmYWlsKSkpKSkpCisKIChl cnQtZGVmdGVzdCB0ZXN0LW1hcC1zZXRmLWFsaXN0LWluc2VydC1rZXkgKCkKICAgKGxldCAoKGFs aXN0KSkKICAgICAoc2hvdWxkIChlcXVhbCAoc2V0ZiAobWFwLWVsdCBhbGlzdCAna2V5KSAndmFs dWUpCi0tIAoyLjM0LjEKCg== --b1_pLYks9TiKzff1rzIeGk0ha22Sk4QOVlSohamuNg2k-- From debbugs-submit-bounces@debbugs.gnu.org Tue Jul 25 23:42:07 2023 Received: (at 49407) by debbugs.gnu.org; 26 Jul 2023 03:42:08 +0000 Received: from localhost ([127.0.0.1]:47311 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qOVPb-0006me-8q for submit@debbugs.gnu.org; Tue, 25 Jul 2023 23:42:07 -0400 Received: from mout.web.de ([212.227.15.3]:48307) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qOVPW-0006m7-IJ for 49407@debbugs.gnu.org; Tue, 25 Jul 2023 23:42:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273; t=1690342911; x=1690947711; i=michael_heerdegen@web.de; bh=wwQUg6wA+8ZWk91oYuOUJOYK/Txtb7lGjkunJfIlkfU=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date; b=gpVq1TLeFai9eHhd0Ot1fbkcy2uXuj/IPpVhbGh7Wa6NFDCcNkcf2yrT8mUV1WOVSKRiJWB ebKE86ZqFhAXlaO/rOueTqRxPiivbjIo4iRxqxPaPtXnxhWZmQvuUdxmmjWzAVW0WPJi1V7KD paQR4504XUAn90mEd+V4LXOaAiSCgLMpcT8MK6xaKsDVG4a62FiysxXVDt6nVzgDmjGnkKe3R lVNp7RXUTb/ThOdUna18169TVBmitQizagHOKvtjtgpq7ox1LI2OPEQTIbSvdPJ/AFODHrP4d BcAnEXgP0OVkR2u5XFujlhsibxey4fg33k6T+PPrba3yfClFLBaA== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([92.75.138.214]) by smtp.web.de (mrweb006 [213.165.67.108]) with ESMTPSA (Nemesis) id 1MnX17-1pzNBj4A6f-00jNqp; Wed, 26 Jul 2023 05:41:51 +0200 From: Michael Heerdegen To: Okam Subject: Re: bug#49407: Request: Specify default values in `map-let` in Map.el In-Reply-To: (Okam's message of "Sat, 22 Jul 2023 18:46:12 +0000") References: <87eec0klhu.fsf@gnus.org> <08a00b74-56f9-bb81-0411-36f9da8cf2d6@protonmail.com> <87r0p0wwbw.fsf@web.de> Date: Wed, 26 Jul 2023 05:41:49 +0200 Message-ID: <87pm4fbapu.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:bKwmmWk7+R7MxIIAkstvuCHqtlSPD2FPRAfbifbm7xYRAV/mQ7c pMQS5HChPaCbv7qsxu1gw2vc4DCTeeUEv396ye4f6mkTK0vOhMFgMnh5jOZQnhxLJ0jB/Hj wvySQ+cGMS49R5kfP02lUGw24buNyv2RNatwtSMwt+I/pobks2lTvVoPNLQWIeyfo4NSVuI T0Mh64FWUfxe23HyNzbIg== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:QYcM68bHXGU=;teyI80hmOq6mCsRDT6px3u+wRaK jTq5vrd3Or6n+R1BxEKIgVpzI0/N9UxIko9IvXvOXlcOhZIeKBoLHzk62lVg+dRAU6+pwcES/ Lnh8IT5tuJLenr8pZ8tyUbGx5MTsQkKgpswKU02BZFcbN4Dn/JkOJLF43DN/OPd2af5Hj9IFm fW0BqKLhaHZJWYYduaRVO8XQsH2qjM529DlntXnr6k/NhJa2J8bqYZkpBqZIc/ScNtmRGGATD 9shGTcYLXdd3Oq9RPkffF+8TgDrDmE3wp9xmrPgxWi3vLOCLLum7Qrp31Fy3ux8PjYd02w6D7 0KXANgOGnWmiyAbsSSVRKt6GznMcaxJeT8YHH1vZxAScsJPl5MRfyEwHPVXeK0Mz6jIiFR5O9 dIJ/tfu4sDVydBNG7gltiPwfccjD+7CGkr74En67R7ym5KNkay8ywbnBbGTYvY5lcp7Vnhh7I jZjMa8tEpZCFe+I8CoculcLbGGPxvavaVMAOJ6V3TtSWQoO949cp4dCAtOQZXRxUvD8E+FzAm rAP+H3+yOsaI5pkxTLqNHebcjFlLsYjElFcjG39ywTM8ITd2KRTYY57GwY9B36ekQXjCZc/yR AUoeW1yDBQIuXD4HyyR1xlIjS0chxp4Z8r7S9yRZxm6gaG+CMQJNaf7/gp2Gnk8DFJRS8lOXl uoL5lrBLpx+oseeUxEpBBzsW/qwqltbwuJ7l/ocWmiKnC1oZ+l/Zr41Obf++SDtW2jLQM6z0S z4V0w98NsL2DnEHNuTTrOc7dXRUsLv/vZjKXjInAVP9mWye9/pVuMpEtNA70yXbjzhcY1ytGQ 18bgjp8yZHQM7Bcg686/MNNtncz+xdCYNvic1ctdHPBh1fgiqVVdEmBnXztAnXmkIt0AGMi8t NyRXYWfa5CcspvD9MY523llm62Vd81lztrft0Dom/LQvLKYaOVq39oh8YCKxEveFFeionTwkd RvOHCPqtX2EIjDKbcqaAmwaycAY= Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 49407 Cc: Lars Ingebrigtsen , 49407@debbugs.gnu.org, Nicolas Petton , Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Okam writes: > Please see the attached file. I have re-worded the doc string and added > a wrapper macro to re-order the arguments to `map-elt` for the `app` > pattern. Perfect! Only one detail: | @@ -71,12 +79,14 @@ map-let | KEYS can be a list of symbols, in which case each element will be | bound to the looked up value in MAP. | | -KEYS can also be a list of (KEY VARNAME) pairs, in which case | -KEY is an unquoted form. | +KEYS can also be a list of (KEY VARNAME) pairs and | +\(KEY VARNAME DEFAULT) triples, in which case KEY is an | +unquoted form. Here you could also say that DEFAULT is an unquoted form. The rest looks good to me. Thanks, Michael. From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 26 21:37:43 2023 Received: (at 49407) by debbugs.gnu.org; 27 Jul 2023 01:37:43 +0000 Received: from localhost ([127.0.0.1]:40380 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qOpwk-0007Zl-N2 for submit@debbugs.gnu.org; Wed, 26 Jul 2023 21:37:43 -0400 Received: from mail-40131.protonmail.ch ([185.70.40.131]:47857) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qOpwi-0007ZK-K0 for 49407@debbugs.gnu.org; Wed, 26 Jul 2023 21:37:41 -0400 Date: Thu, 27 Jul 2023 01:37:30 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1690421853; x=1690681053; bh=mwmMX2yylL8EKPdxwxMukeDsLYdBcMVhecl3qLI7RAs=; h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=cB4MR3woC87O3VyJpGfYekQOFFRHHHPXXJZa2aRPRs+cakdDrUuUr1HVhRFR+G3QJ sVhrdLN4iSsWVgdVJQ/jEEpoaXcjmtENIRjTJdBpJ2VhQiLGm7IYAP/t8eznIWRmgI me5E9GLWZEVcpj3nA8fSm4uTl+VZM87SDBjgxQgopc2EDbV053Oq88ZQV8lcTqqh35 ayQDJaRfIYduBLf55eaGzchR41o0LqaxvdrDwJLXmgAN8SDiqMt7z2eJKQ7mkUKiLP GdmjkZHtLEJPoMFTgFu8j5xzqCk8eyWUUPJQFZBQBt1t4tjOEtwnoQfE4dAzjclGyj k29r22mvx9kpQ== To: Michael Heerdegen From: Earl Hyatt Subject: Re: bug#49407: Request: Specify default values in `map-let` in Map.el Message-ID: Feedback-ID: 25576022:user:proton MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_e4tNha5M0JYosSWKsNIrIpX5SO3r5fG6yBqWyYj3u5c" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 49407 Cc: Lars Ingebrigtsen , 49407@debbugs.gnu.org, Nicolas Petton , Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --b1_e4tNha5M0JYosSWKsNIrIpX5SO3r5fG6yBqWyYj3u5c Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Michael Heerdegen wrote: > Only one detail: >=20 > | @@ -71,12 +79,14 @@ map-let > | KEYS can be a list of symbols, in which case each element will be > | bound to the looked up value in MAP. > | > | -KEYS can also be a list of (KEY VARNAME) pairs, in which case > | -KEY is an unquoted form. > | +KEYS can also be a list of (KEY VARNAME) pairs and > | +\(KEY VARNAME DEFAULT) triples, in which case KEY is an > | +unquoted form. >=20 > Here you could also say that DEFAULT is an unquoted form. I have made that change. Please see the attached file. --b1_e4tNha5M0JYosSWKsNIrIpX5SO3r5fG6yBqWyYj3u5c Content-Type: text/x-patch; charset=UTF-8; name=v3-0001-Allow-default-values-in-map-let-and-the-pcase-map.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v3-0001-Allow-default-values-in-map-let-and-the-pcase-map.patch RnJvbSA5OTIwOGNhNjQwZDQ5NDRjNTcwODI3NzI3MDJjYjg1MzRmZTkxZDMyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh dGU6IFRodSwgMjAgSnVsIDIwMjMgMjE6NDQ6NDEgLTA0MDAKU3ViamVjdDogW1BBVENIIHYzXSBB bGxvdyBkZWZhdWx0IHZhbHVlcyBpbiAnbWFwLWxldCcgYW5kIHRoZSBwY2FzZSAnbWFwJyBmb3Jt CgoqIGxpc3AvZW1hY3MtbGlzcC9tYXAuZWwgKG1hcC1sZXQsIG1hcCkKKG1hcC0tbWFrZS1wY2Fz ZS1iaW5kaW5ncyk6IEFkZCBhIHRoaXJkIGFyZ3VtZW50IGZvciBzcGVjaWZ5aW5nIGEKZGVmYXVs dCB2YWx1ZSwgbGlrZSBpbiAnbWFwLWVsdCcuIChCdWcjNDk0MDcpCgoqIGxpc3AvZW1hY3MtbGlz cC9tYXAuZWwgKG1hcC0tbWFrZS1wY2FzZS1iaW5kaW5ncyk6IENsYXJpZnkgdGhhdCBrZXlzCnRo YXQgYXJlbid0IGZvdW5kIGFyZW4ndCBpZ25vcmVkLCB0aGV5IGFjdHVhbGx5IGdldCB0aGUgdmFs dWUKbmlsICh1bmxlc3MgdGhlIG5ldyBkZWZhdWx0IHZhbHVlIGlzIGdpdmVuKS4gVGhlIG92ZXJh bGwgcGF0dGVybiBjYW4Kc3RpbGwgZmFpbCB0byBtYXRjaCBpZiB0aGUgc3ViLXBhdHRlcm4gZm9y IHRoZSB1bmZvdW5kIGtleSBkb2Vzbid0Cm1hdGNoIG5pbC4KCiogdGVzdC9saXNwL2VtYWNzLWxp c3AvbWFwLXRlc3RzLmVsICh0ZXN0LW1hcC1sZXQtZGVmYXVsdCkKKHRlc3QtbWFwLXBsaXN0LXBj YXNlLWRlZmF1bHQsIHRlc3QtbWFwLXBjYXNlLW1hdGNoZXMpOiBBZGQgdGVzdHMsCmluY2x1ZGlu ZyBmb3IgdGhlIGFib3ZlIGl0ZW0uCi0tLQogbGlzcC9lbWFjcy1saXNwL21hcC5lbCAgICAgICAg ICAgIHwgNDAgKysrKysrKysrKysrKysrLS0tLS0tCiB0ZXN0L2xpc3AvZW1hY3MtbGlzcC9tYXAt dGVzdHMuZWwgfCA1OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNo YW5nZWQsIDg5IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xp c3AvZW1hY3MtbGlzcC9tYXAuZWwgYi9saXNwL2VtYWNzLWxpc3AvbWFwLmVsCmluZGV4IDdhNDhi YTQ3NDM0Li5mZWI5MDNjZjcxZiAxMDA2NDQKLS0tIGEvbGlzcC9lbWFjcy1saXNwL21hcC5lbAor KysgYi9saXNwL2VtYWNzLWxpc3AvbWFwLmVsCkBAIC01MCwxOCArNTAsMjYgQEAgbWFwCiAKIEFS R1MgaXMgYSBsaXN0IG9mIGVsZW1lbnRzIHRvIGJlIG1hdGNoZWQgaW4gdGhlIG1hcC4KIAotRWFj aCBlbGVtZW50IG9mIEFSR1MgY2FuIGJlIG9mIHRoZSBmb3JtIChLRVkgUEFUKSwgaW4gd2hpY2gg Y2FzZSBLRVkgaXMKLWV2YWx1YXRlZCBhbmQgc2VhcmNoZWQgZm9yIGluIHRoZSBtYXAuICBUaGUg bWF0Y2ggZmFpbHMgaWYgZm9yIGFueSBLRVkKLWZvdW5kIGluIHRoZSBtYXAsIHRoZSBjb3JyZXNw b25kaW5nIFBBVCBkb2Vzbid0IG1hdGNoIHRoZSB2YWx1ZQotYXNzb2NpYXRlZCB3aXRoIHRoZSBL RVkuCitFYWNoIGVsZW1lbnQgaW4gQVJHUyBjYW4gYmUgb2YgdGhlIGZvcm0gKEtFWSBQQVQpIG9y IChLRVkgUEFUCitERUZBVUxUKSwgd2hlcmUgS0VZIGlzIHRoZSBrZXkgc291Z2h0IGluIHRoZSBt YXAsIFBBVCBpcyBhCitgcGNhc2UnIHBhdHRlcm4sIGFuZCBERUZBVUxUIGlzIHRoZSBkZWZhdWx0 IHZhbHVlIHRvIHVzZSBpZiBLRVkKK2lzbid0IGZvdW5kLiAgQm90aCBLRVkgYW5kIERFRkFVTFQg YXJlIGV2YWx1YXRlZC4gIElmIERFRkFVTFQKK2lzbid0IGdpdmVuLCB0aGVuIG5pbCBpcyB1c2Vk LgogCiBFYWNoIGVsZW1lbnQgY2FuIGFsc28gYmUgYSBTWU1CT0wsIHdoaWNoIGlzIGFuIGFiYnJl dmlhdGlvbiBvZgogYSAoS0VZIFBBVCkgdHVwbGUgb2YgdGhlIGZvcm0gKFxcPSdTWU1CT0wgU1lN Qk9MKS4gIFdoZW4gU1lNQk9MCiBpcyBhIGtleXdvcmQsIGl0IGlzIGFuIGFiYnJldmlhdGlvbiBv ZiB0aGUgZm9ybSAoOlNZTUJPTCBTWU1CT0wpLAogdXNlZnVsIGZvciBiaW5kaW5nIHBsaXN0IHZh bHVlcy4KIAotS2V5cyBpbiBBUkdTIG5vdCBmb3VuZCBpbiB0aGUgbWFwIGFyZSBpZ25vcmVkLCBh bmQgdGhlIG1hdGNoIGRvZXNuJ3QKLWZhaWwuIgorVGhlIG1hdGNoIGZhaWxzIGlmOgorCistIEtF WSBpcyBmb3VuZCBhbmQgUEFUIGRvZXMgbm90IG1hdGNoIHRoZSBhc3NvY2lhdGVkIHZhbHVlCisK Ky0gS0VZIGlzIG5vdCBmb3VuZCwgREVGQVVMVCBpcyBnaXZlbiwgYW5kIFBBVCBkb2VzIG5vdCBt YXRjaAorICBERUZBVUxUCisKKy0gS0VZIGlzIG5vdCBmb3VuZCwgREVGQVVMVCBpcyBub3QgZ2l2 ZW4sIGFuZCBQQVQgZG9lcyBub3QgbWF0Y2gKKyAgbmlsIgogICBgKGFuZCAocHJlZCBtYXBwKQog ICAgICAgICAsQChtYXAtLW1ha2UtcGNhc2UtYmluZGluZ3MgYXJncykpKQogCkBAIC03MSwxMiAr NzksMTQgQEAgbWFwLWxldAogS0VZUyBjYW4gYmUgYSBsaXN0IG9mIHN5bWJvbHMsIGluIHdoaWNo IGNhc2UgZWFjaCBlbGVtZW50IHdpbGwgYmUKIGJvdW5kIHRvIHRoZSBsb29rZWQgdXAgdmFsdWUg aW4gTUFQLgogCi1LRVlTIGNhbiBhbHNvIGJlIGEgbGlzdCBvZiAoS0VZIFZBUk5BTUUpIHBhaXJz LCBpbiB3aGljaCBjYXNlCi1LRVkgaXMgYW4gdW5xdW90ZWQgZm9ybS4KK0tFWVMgY2FuIGFsc28g YmUgYSBsaXN0IG9mIChLRVkgVkFSTkFNRSkgcGFpcnMgYW5kCitcKEtFWSBWQVJOQU1FIERFRkFV TFQpIHRyaXBsZXMsIGluIHdoaWNoIGNhc2UgS0VZIGFuZAorREVGQVVMVCBhcmUgdW5xdW90ZWQg Zm9ybXMuCiAKIE1BUCBjYW4gYmUgYW4gYWxpc3QsIHBsaXN0LCBoYXNoLXRhYmxlLCBvciBhcnJh eS4iCiAgIChkZWNsYXJlIChpbmRlbnQgMikKLSAgICAgICAgICAgKGRlYnVnICgoJnJlc3QgJm9y IHN5bWJvbHAgKFtmb3JtIHN5bWJvbHBdKSkgZm9ybSBib2R5KSkpCisgICAgICAgICAgIChkZWJ1 ZyAoKCZyZXN0ICZvciBzeW1ib2xwIChbZm9ybSBzeW1ib2xwICZvcHRpb25hbCBmb3JtXSkpCisg ICAgICAgICAgICAgICAgICAgZm9ybSBib2R5KSkpCiAgIGAocGNhc2UtbGV0ICgoLChtYXAtLW1h a2UtcGNhc2UtcGF0dGVybnMga2V5cykgLG1hcCkpCiAgICAgICxAYm9keSkpCiAKQEAgLTU5NSwx MSArNjA1LDIxIEBAIG1hcC1pbnRvCiAgICAgKG1hcC1pbnRvIFxcPScoKDEgLiAzKSkgXFw9Jyho YXNoLXRhYmxlIDp0ZXN0IGVxbCkpIgogICAobWFwLS1pbnRvLWhhc2ggbWFwIChjZHIgdHlwZSkp KQogCisoZGVmbWFjcm8gbWFwLS1wY2FzZS1tYXAtZWx0IChrZXkgZGVmYXVsdCBtYXApCisgICJB IG1hY3JvIHRvIG1ha2UgTUFQIHRoZSBsYXN0IGFyZ3VtZW50IHRvIGBtYXAtZWx0Jy4KKworVGhp cyBhbGxvd3MgdXNpbmcgZGVmYXVsdCB2YWx1ZXMgZm9yIGBtYXAtZWx0Jywgd2hpY2ggY2FuJ3Qg YmUKK2RvbmUgdXNpbmcgYHBjYXNlLS1mbGlwJy4KKworS0VZIGlzIHRoZSBrZXkgc291Z2h0IGlu IHRoZSBtYXAuICBERUZBVUxUIGlzIHRoZSBkZWZhdWx0IHZhbHVlLiIKKyAgYChtYXAtZWx0ICxt YXAgLGtleSAsZGVmYXVsdCkpCisKIChkZWZ1biBtYXAtLW1ha2UtcGNhc2UtYmluZGluZ3MgKGFy Z3MpCiAgICJSZXR1cm4gYSBsaXN0IG9mIHBjYXNlIGJpbmRpbmdzIGZyb20gQVJHUyB0byB0aGUg ZWxlbWVudHMgb2YgYSBtYXAuIgogICAobWFwY2FyIChsYW1iZGEgKGVsdCkKICAgICAgICAgICAg IChjb25kICgoY29uc3AgZWx0KQotICAgICAgICAgICAgICAgICAgIGAoYXBwIChwY2FzZS0tZmxp cCBtYXAtZWx0ICwoY2FyIGVsdCkpICwoY2FkciBlbHQpKSkKKyAgICAgICAgICAgICAgICAgICBg KGFwcCAobWFwLS1wY2FzZS1tYXAtZWx0ICwoY2FyIGVsdCkgLChjYWRkciBlbHQpKQorICAgICAg ICAgICAgICAgICAgICAgICAgICwoY2FkciBlbHQpKSkKICAgICAgICAgICAgICAgICAgICgoa2V5 d29yZHAgZWx0KQogICAgICAgICAgICAgICAgICAgIChsZXQgKCh2YXIgKGludGVybiAoc3Vic3Ry aW5nIChzeW1ib2wtbmFtZSBlbHQpIDEpKSkpCiAgICAgICAgICAgICAgICAgICAgICBgKGFwcCAo cGNhc2UtLWZsaXAgbWFwLWVsdCAsZWx0KSAsdmFyKSkpCmRpZmYgLS1naXQgYS90ZXN0L2xpc3Av ZW1hY3MtbGlzcC9tYXAtdGVzdHMuZWwgYi90ZXN0L2xpc3AvZW1hY3MtbGlzcC9tYXAtdGVzdHMu ZWwKaW5kZXggODZjMGU5ZTA1MDMuLjIyMDQ3NDNmNzk0IDEwMDY0NAotLS0gYS90ZXN0L2xpc3Av ZW1hY3MtbGlzcC9tYXAtdGVzdHMuZWwKKysrIGIvdGVzdC9saXNwL2VtYWNzLWxpc3AvbWFwLXRl c3RzLmVsCkBAIC01NzcsNiArNTc3LDEzIEBAIHRlc3QtbWFwLWxldAogICAgIChzaG91bGQgKD0g YiAyKSkKICAgICAoc2hvdWxkLW5vdCBjKSkpCiAKKyhlcnQtZGVmdGVzdCB0ZXN0LW1hcC1sZXQt ZGVmYXVsdCAoKQorICAobWFwLWxldCAoKCdmb28gYSAzKQorICAgICAgICAgICAgKCdiYXogYiA0 KSkKKyAgICAgICcoKGZvbyAuIDEpKQorICAgIChzaG91bGQgKGVxdWFsIGEgMSkpCisgICAgKHNo b3VsZCAoZXF1YWwgYiA0KSkpKQorCiAoZXJ0LWRlZnRlc3QgdGVzdC1tYXAtbWVyZ2UgKCkKICAg IlRlc3QgYG1hcC1tZXJnZScuIgogICAoc2hvdWxkIChlcXVhbCAoc29ydCAobWFwLW1lcmdlICds aXN0ICcoYSAxKSAnKChiIC4gMikgKGMgLiAzKSkKQEAgLTYxNyw2ICs2MjQsNTggQEAgdGVzdC1t YXAtcGxpc3QtcGNhc2UKICAgICAgICAgICAgICAgICAgICAgIChsaXN0IG9uZSB0d28pKQogICAg ICAgICAgICAgICAgICAgICcoMSAyKSkpKSkKIAorKGVydC1kZWZ0ZXN0IHRlc3QtbWFwLXBsaXN0 LXBjYXNlLWRlZmF1bHQgKCkKKyAgKGxldCAoKHBsaXN0ICcoOnR3byAyKSkpCisgICAgKHNob3Vs ZCAoZXF1YWwgKHBjYXNlLWxldCAoKChtYXAgKDp0d28gdHdvIDMzKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICg6dGhyZWUgdGhyZWUgNDQpKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBwbGlzdCkpCisgICAgICAgICAgICAgICAgICAgICAobGlzdCB0d28g dGhyZWUpKQorICAgICAgICAgICAgICAgICAgICcoMiA0NCkpKSkpCisKKyhlcnQtZGVmdGVzdCB0 ZXN0LW1hcC1wY2FzZS1tYXRjaGVzICgpCisgIChsZXQgKChwbGlzdCAnKDp0d28gMikpKQorICAg IChzaG91bGQgKGVxdWFsIChwY2FzZSBwbGlzdAorICAgICAgICAgICAgICAgICAgICAgKChtYXAg KDp0d28gdHdvIDMzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKDp0aHJlZSB0aHJlZSkp CisgICAgICAgICAgICAgICAgICAgICAgKGxpc3QgdHdvIHRocmVlKSkKKyAgICAgICAgICAgICAg ICAgICAgIChfICdmYWlsKSkKKyAgICAgICAgICAgICAgICAgICAnKDIgbmlsKSkpCisKKyAgICAo c2hvdWxkIChlcXVhbCAocGNhc2UgcGxpc3QKKyAgICAgICAgICAgICAgICAgICAgICgobWFwICg6 dHdvIHR3byAzMykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICg6dGhyZWUgdGhyZWUgNDQp KQorICAgICAgICAgICAgICAgICAgICAgIChsaXN0IHR3byB0aHJlZSkpCisgICAgICAgICAgICAg ICAgICAgICAoXyAnZmFpbCkpCisgICAgICAgICAgICAgICAgICAgJygyIDQ0KSkpCisKKyAgICAo c2hvdWxkIChlcXVhbCAocGNhc2UgcGxpc3QKKyAgICAgICAgICAgICAgICAgICAgICgobWFwICg6 dHdvIHR3byAzMykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICg6dGhyZWUgYCgsYSAuICxi KSAnKDExIC4gMjIpKSkKKyAgICAgICAgICAgICAgICAgICAgICAobGlzdCB0d28gYSBiKSkKKyAg ICAgICAgICAgICAgICAgICAgIChfICdmYWlsKSkKKyAgICAgICAgICAgICAgICAgICAnKDIgMTEg MjIpKSkKKworICAgIChzaG91bGQgKGVxdWFsICdmYWlsCisgICAgICAgICAgICAgICAgICAgKHBj YXNlIHBsaXN0CisgICAgICAgICAgICAgICAgICAgICAoKG1hcCAoOnR3byB0d28gMzMpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAoOnRocmVlIGAoLGEgLiAsYikgNDQpKQorICAgICAgICAg ICAgICAgICAgICAgIChsaXN0IHR3byBhIGIpKQorICAgICAgICAgICAgICAgICAgICAgKF8gJ2Zh aWwpKSkpCisKKyAgICAoc2hvdWxkIChlcXVhbCAnZmFpbAorICAgICAgICAgICAgICAgICAgIChw Y2FzZSBwbGlzdAorICAgICAgICAgICAgICAgICAgICAgKChtYXAgKDp0d28gdHdvIDMzKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgKDp0aHJlZSBgKCxhIC4gLGIpIG5pbCkpCisgICAgICAg ICAgICAgICAgICAgICAgKGxpc3QgdHdvIGEgYikpCisgICAgICAgICAgICAgICAgICAgICAoXyAn ZmFpbCkpKSkKKworICAgIChzaG91bGQgKGVxdWFsICdmYWlsCisgICAgICAgICAgICAgICAgICAg KHBjYXNlIHBsaXN0CisgICAgICAgICAgICAgICAgICAgICAoKG1hcCAoOnR3byB0d28gMzMpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAoOnRocmVlIGAoLGEgLiAsYikpKQorICAgICAgICAg ICAgICAgICAgICAgIChsaXN0IHR3byBhIGIpKQorICAgICAgICAgICAgICAgICAgICAgKF8gJ2Zh aWwpKSkpKSkKKwogKGVydC1kZWZ0ZXN0IHRlc3QtbWFwLXNldGYtYWxpc3QtaW5zZXJ0LWtleSAo KQogICAobGV0ICgoYWxpc3QpKQogICAgIChzaG91bGQgKGVxdWFsIChzZXRmIChtYXAtZWx0IGFs aXN0ICdrZXkpICd2YWx1ZSkKLS0gCjIuMzQuMQoK --b1_e4tNha5M0JYosSWKsNIrIpX5SO3r5fG6yBqWyYj3u5c-- From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 26 21:39:47 2023 Received: (at 49407) by debbugs.gnu.org; 27 Jul 2023 01:39:47 +0000 Received: from localhost ([127.0.0.1]:40385 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qOpyk-0007eW-HC for submit@debbugs.gnu.org; Wed, 26 Jul 2023 21:39:46 -0400 Received: from mail-40134.protonmail.ch ([185.70.40.134]:19895) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qOpyh-0007eI-C4 for 49407@debbugs.gnu.org; Wed, 26 Jul 2023 21:39:45 -0400 Date: Thu, 27 Jul 2023 01:39:21 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1690421977; x=1690681177; bh=nv9w09tM+L/5bYgmGIQ1Di0Gnh4vDLyqLtUdRNXIgAQ=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=AjXjfpGmUJ9pArTP7k6q0UEUQvryuSSON4yFR6uWbLojSq6nwwZD5HDeqrB7MrwNi +t5J7dnMZwnvoc7Ah+zrCUDa4kNhQvN3eT+vAohUUc+dp2raVW1LDxGZd0d/+jyhHf Cqad7HD0dalYqdLONH1KdZrR5BL3QFbJ/cUowM5he1xeGdZK7QHKUjJLuSC36Gd+rA 86QHVAH2lleXlfrddtxXPxq77L/s9EuZieIDYGtpkQ+MVLlUUCTxo4HTr/YZXtVvCE y28w4L8hjnYAA6Wssb+km668IZRp61FnsPPfane5WoqlmuHUzRnw0hncCthdZJG2kf ETwOtS0nA9A7A== To: Michael Heerdegen From: Okam Subject: Re: bug#49407: Request: Specify default values in `map-let` in Map.el Message-ID: In-Reply-To: <87pm4fbapu.fsf@web.de> References: <87eec0klhu.fsf@gnus.org> <08a00b74-56f9-bb81-0411-36f9da8cf2d6@protonmail.com> <87r0p0wwbw.fsf@web.de> <87pm4fbapu.fsf@web.de> Feedback-ID: 25935600:user:proton MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_L33PXXczl6jRKMeFsPxkvaryV5WWv1fNJQr06Sg5RgM" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 49407 Cc: Lars Ingebrigtsen , 49407@debbugs.gnu.org, Nicolas Petton , Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --b1_L33PXXczl6jRKMeFsPxkvaryV5WWv1fNJQr06Sg5RgM Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Michael Heerdegen wrote: > Only one detail: > > | @@ -71,12 +79,14 @@ map-let > | KEYS can be a list of symbols, in which case each element will be > | bound to the looked up value in MAP. > | > | -KEYS can also be a list of (KEY VARNAME) pairs, in which case > | -KEY is an unquoted form. > | +KEYS can also be a list of (KEY VARNAME) pairs and > | +\(KEY VARNAME DEFAULT) triples, in which case KEY is an > | +unquoted form. > > Here you could also say that DEFAULT is an unquoted form. I have made that change. Please see the attached file. --b1_L33PXXczl6jRKMeFsPxkvaryV5WWv1fNJQr06Sg5RgM Content-Type: text/x-patch; charset=UTF-8; name=v3-0001-Allow-default-values-in-map-let-and-the-pcase-map.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v3-0001-Allow-default-values-in-map-let-and-the-pcase-map.patch RnJvbSA5OTIwOGNhNjQwZDQ5NDRjNTcwODI3NzI3MDJjYjg1MzRmZTkxZDMyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh dGU6IFRodSwgMjAgSnVsIDIwMjMgMjE6NDQ6NDEgLTA0MDAKU3ViamVjdDogW1BBVENIIHYzXSBB bGxvdyBkZWZhdWx0IHZhbHVlcyBpbiAnbWFwLWxldCcgYW5kIHRoZSBwY2FzZSAnbWFwJyBmb3Jt CgoqIGxpc3AvZW1hY3MtbGlzcC9tYXAuZWwgKG1hcC1sZXQsIG1hcCkKKG1hcC0tbWFrZS1wY2Fz ZS1iaW5kaW5ncyk6IEFkZCBhIHRoaXJkIGFyZ3VtZW50IGZvciBzcGVjaWZ5aW5nIGEKZGVmYXVs dCB2YWx1ZSwgbGlrZSBpbiAnbWFwLWVsdCcuIChCdWcjNDk0MDcpCgoqIGxpc3AvZW1hY3MtbGlz cC9tYXAuZWwgKG1hcC0tbWFrZS1wY2FzZS1iaW5kaW5ncyk6IENsYXJpZnkgdGhhdCBrZXlzCnRo YXQgYXJlbid0IGZvdW5kIGFyZW4ndCBpZ25vcmVkLCB0aGV5IGFjdHVhbGx5IGdldCB0aGUgdmFs dWUKbmlsICh1bmxlc3MgdGhlIG5ldyBkZWZhdWx0IHZhbHVlIGlzIGdpdmVuKS4gVGhlIG92ZXJh bGwgcGF0dGVybiBjYW4Kc3RpbGwgZmFpbCB0byBtYXRjaCBpZiB0aGUgc3ViLXBhdHRlcm4gZm9y IHRoZSB1bmZvdW5kIGtleSBkb2Vzbid0Cm1hdGNoIG5pbC4KCiogdGVzdC9saXNwL2VtYWNzLWxp c3AvbWFwLXRlc3RzLmVsICh0ZXN0LW1hcC1sZXQtZGVmYXVsdCkKKHRlc3QtbWFwLXBsaXN0LXBj YXNlLWRlZmF1bHQsIHRlc3QtbWFwLXBjYXNlLW1hdGNoZXMpOiBBZGQgdGVzdHMsCmluY2x1ZGlu ZyBmb3IgdGhlIGFib3ZlIGl0ZW0uCi0tLQogbGlzcC9lbWFjcy1saXNwL21hcC5lbCAgICAgICAg ICAgIHwgNDAgKysrKysrKysrKysrKysrLS0tLS0tCiB0ZXN0L2xpc3AvZW1hY3MtbGlzcC9tYXAt dGVzdHMuZWwgfCA1OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNo YW5nZWQsIDg5IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xp c3AvZW1hY3MtbGlzcC9tYXAuZWwgYi9saXNwL2VtYWNzLWxpc3AvbWFwLmVsCmluZGV4IDdhNDhi YTQ3NDM0Li5mZWI5MDNjZjcxZiAxMDA2NDQKLS0tIGEvbGlzcC9lbWFjcy1saXNwL21hcC5lbAor KysgYi9saXNwL2VtYWNzLWxpc3AvbWFwLmVsCkBAIC01MCwxOCArNTAsMjYgQEAgbWFwCiAKIEFS R1MgaXMgYSBsaXN0IG9mIGVsZW1lbnRzIHRvIGJlIG1hdGNoZWQgaW4gdGhlIG1hcC4KIAotRWFj aCBlbGVtZW50IG9mIEFSR1MgY2FuIGJlIG9mIHRoZSBmb3JtIChLRVkgUEFUKSwgaW4gd2hpY2gg Y2FzZSBLRVkgaXMKLWV2YWx1YXRlZCBhbmQgc2VhcmNoZWQgZm9yIGluIHRoZSBtYXAuICBUaGUg bWF0Y2ggZmFpbHMgaWYgZm9yIGFueSBLRVkKLWZvdW5kIGluIHRoZSBtYXAsIHRoZSBjb3JyZXNw b25kaW5nIFBBVCBkb2Vzbid0IG1hdGNoIHRoZSB2YWx1ZQotYXNzb2NpYXRlZCB3aXRoIHRoZSBL RVkuCitFYWNoIGVsZW1lbnQgaW4gQVJHUyBjYW4gYmUgb2YgdGhlIGZvcm0gKEtFWSBQQVQpIG9y IChLRVkgUEFUCitERUZBVUxUKSwgd2hlcmUgS0VZIGlzIHRoZSBrZXkgc291Z2h0IGluIHRoZSBt YXAsIFBBVCBpcyBhCitgcGNhc2UnIHBhdHRlcm4sIGFuZCBERUZBVUxUIGlzIHRoZSBkZWZhdWx0 IHZhbHVlIHRvIHVzZSBpZiBLRVkKK2lzbid0IGZvdW5kLiAgQm90aCBLRVkgYW5kIERFRkFVTFQg YXJlIGV2YWx1YXRlZC4gIElmIERFRkFVTFQKK2lzbid0IGdpdmVuLCB0aGVuIG5pbCBpcyB1c2Vk LgogCiBFYWNoIGVsZW1lbnQgY2FuIGFsc28gYmUgYSBTWU1CT0wsIHdoaWNoIGlzIGFuIGFiYnJl dmlhdGlvbiBvZgogYSAoS0VZIFBBVCkgdHVwbGUgb2YgdGhlIGZvcm0gKFxcPSdTWU1CT0wgU1lN Qk9MKS4gIFdoZW4gU1lNQk9MCiBpcyBhIGtleXdvcmQsIGl0IGlzIGFuIGFiYnJldmlhdGlvbiBv ZiB0aGUgZm9ybSAoOlNZTUJPTCBTWU1CT0wpLAogdXNlZnVsIGZvciBiaW5kaW5nIHBsaXN0IHZh bHVlcy4KIAotS2V5cyBpbiBBUkdTIG5vdCBmb3VuZCBpbiB0aGUgbWFwIGFyZSBpZ25vcmVkLCBh bmQgdGhlIG1hdGNoIGRvZXNuJ3QKLWZhaWwuIgorVGhlIG1hdGNoIGZhaWxzIGlmOgorCistIEtF WSBpcyBmb3VuZCBhbmQgUEFUIGRvZXMgbm90IG1hdGNoIHRoZSBhc3NvY2lhdGVkIHZhbHVlCisK Ky0gS0VZIGlzIG5vdCBmb3VuZCwgREVGQVVMVCBpcyBnaXZlbiwgYW5kIFBBVCBkb2VzIG5vdCBt YXRjaAorICBERUZBVUxUCisKKy0gS0VZIGlzIG5vdCBmb3VuZCwgREVGQVVMVCBpcyBub3QgZ2l2 ZW4sIGFuZCBQQVQgZG9lcyBub3QgbWF0Y2gKKyAgbmlsIgogICBgKGFuZCAocHJlZCBtYXBwKQog ICAgICAgICAsQChtYXAtLW1ha2UtcGNhc2UtYmluZGluZ3MgYXJncykpKQogCkBAIC03MSwxMiAr NzksMTQgQEAgbWFwLWxldAogS0VZUyBjYW4gYmUgYSBsaXN0IG9mIHN5bWJvbHMsIGluIHdoaWNo IGNhc2UgZWFjaCBlbGVtZW50IHdpbGwgYmUKIGJvdW5kIHRvIHRoZSBsb29rZWQgdXAgdmFsdWUg aW4gTUFQLgogCi1LRVlTIGNhbiBhbHNvIGJlIGEgbGlzdCBvZiAoS0VZIFZBUk5BTUUpIHBhaXJz LCBpbiB3aGljaCBjYXNlCi1LRVkgaXMgYW4gdW5xdW90ZWQgZm9ybS4KK0tFWVMgY2FuIGFsc28g YmUgYSBsaXN0IG9mIChLRVkgVkFSTkFNRSkgcGFpcnMgYW5kCitcKEtFWSBWQVJOQU1FIERFRkFV TFQpIHRyaXBsZXMsIGluIHdoaWNoIGNhc2UgS0VZIGFuZAorREVGQVVMVCBhcmUgdW5xdW90ZWQg Zm9ybXMuCiAKIE1BUCBjYW4gYmUgYW4gYWxpc3QsIHBsaXN0LCBoYXNoLXRhYmxlLCBvciBhcnJh eS4iCiAgIChkZWNsYXJlIChpbmRlbnQgMikKLSAgICAgICAgICAgKGRlYnVnICgoJnJlc3QgJm9y IHN5bWJvbHAgKFtmb3JtIHN5bWJvbHBdKSkgZm9ybSBib2R5KSkpCisgICAgICAgICAgIChkZWJ1 ZyAoKCZyZXN0ICZvciBzeW1ib2xwIChbZm9ybSBzeW1ib2xwICZvcHRpb25hbCBmb3JtXSkpCisg ICAgICAgICAgICAgICAgICAgZm9ybSBib2R5KSkpCiAgIGAocGNhc2UtbGV0ICgoLChtYXAtLW1h a2UtcGNhc2UtcGF0dGVybnMga2V5cykgLG1hcCkpCiAgICAgICxAYm9keSkpCiAKQEAgLTU5NSwx MSArNjA1LDIxIEBAIG1hcC1pbnRvCiAgICAgKG1hcC1pbnRvIFxcPScoKDEgLiAzKSkgXFw9Jyho YXNoLXRhYmxlIDp0ZXN0IGVxbCkpIgogICAobWFwLS1pbnRvLWhhc2ggbWFwIChjZHIgdHlwZSkp KQogCisoZGVmbWFjcm8gbWFwLS1wY2FzZS1tYXAtZWx0IChrZXkgZGVmYXVsdCBtYXApCisgICJB IG1hY3JvIHRvIG1ha2UgTUFQIHRoZSBsYXN0IGFyZ3VtZW50IHRvIGBtYXAtZWx0Jy4KKworVGhp cyBhbGxvd3MgdXNpbmcgZGVmYXVsdCB2YWx1ZXMgZm9yIGBtYXAtZWx0Jywgd2hpY2ggY2FuJ3Qg YmUKK2RvbmUgdXNpbmcgYHBjYXNlLS1mbGlwJy4KKworS0VZIGlzIHRoZSBrZXkgc291Z2h0IGlu IHRoZSBtYXAuICBERUZBVUxUIGlzIHRoZSBkZWZhdWx0IHZhbHVlLiIKKyAgYChtYXAtZWx0ICxt YXAgLGtleSAsZGVmYXVsdCkpCisKIChkZWZ1biBtYXAtLW1ha2UtcGNhc2UtYmluZGluZ3MgKGFy Z3MpCiAgICJSZXR1cm4gYSBsaXN0IG9mIHBjYXNlIGJpbmRpbmdzIGZyb20gQVJHUyB0byB0aGUg ZWxlbWVudHMgb2YgYSBtYXAuIgogICAobWFwY2FyIChsYW1iZGEgKGVsdCkKICAgICAgICAgICAg IChjb25kICgoY29uc3AgZWx0KQotICAgICAgICAgICAgICAgICAgIGAoYXBwIChwY2FzZS0tZmxp cCBtYXAtZWx0ICwoY2FyIGVsdCkpICwoY2FkciBlbHQpKSkKKyAgICAgICAgICAgICAgICAgICBg KGFwcCAobWFwLS1wY2FzZS1tYXAtZWx0ICwoY2FyIGVsdCkgLChjYWRkciBlbHQpKQorICAgICAg ICAgICAgICAgICAgICAgICAgICwoY2FkciBlbHQpKSkKICAgICAgICAgICAgICAgICAgICgoa2V5 d29yZHAgZWx0KQogICAgICAgICAgICAgICAgICAgIChsZXQgKCh2YXIgKGludGVybiAoc3Vic3Ry aW5nIChzeW1ib2wtbmFtZSBlbHQpIDEpKSkpCiAgICAgICAgICAgICAgICAgICAgICBgKGFwcCAo cGNhc2UtLWZsaXAgbWFwLWVsdCAsZWx0KSAsdmFyKSkpCmRpZmYgLS1naXQgYS90ZXN0L2xpc3Av ZW1hY3MtbGlzcC9tYXAtdGVzdHMuZWwgYi90ZXN0L2xpc3AvZW1hY3MtbGlzcC9tYXAtdGVzdHMu ZWwKaW5kZXggODZjMGU5ZTA1MDMuLjIyMDQ3NDNmNzk0IDEwMDY0NAotLS0gYS90ZXN0L2xpc3Av ZW1hY3MtbGlzcC9tYXAtdGVzdHMuZWwKKysrIGIvdGVzdC9saXNwL2VtYWNzLWxpc3AvbWFwLXRl c3RzLmVsCkBAIC01NzcsNiArNTc3LDEzIEBAIHRlc3QtbWFwLWxldAogICAgIChzaG91bGQgKD0g YiAyKSkKICAgICAoc2hvdWxkLW5vdCBjKSkpCiAKKyhlcnQtZGVmdGVzdCB0ZXN0LW1hcC1sZXQt ZGVmYXVsdCAoKQorICAobWFwLWxldCAoKCdmb28gYSAzKQorICAgICAgICAgICAgKCdiYXogYiA0 KSkKKyAgICAgICcoKGZvbyAuIDEpKQorICAgIChzaG91bGQgKGVxdWFsIGEgMSkpCisgICAgKHNo b3VsZCAoZXF1YWwgYiA0KSkpKQorCiAoZXJ0LWRlZnRlc3QgdGVzdC1tYXAtbWVyZ2UgKCkKICAg IlRlc3QgYG1hcC1tZXJnZScuIgogICAoc2hvdWxkIChlcXVhbCAoc29ydCAobWFwLW1lcmdlICds aXN0ICcoYSAxKSAnKChiIC4gMikgKGMgLiAzKSkKQEAgLTYxNyw2ICs2MjQsNTggQEAgdGVzdC1t YXAtcGxpc3QtcGNhc2UKICAgICAgICAgICAgICAgICAgICAgIChsaXN0IG9uZSB0d28pKQogICAg ICAgICAgICAgICAgICAgICcoMSAyKSkpKSkKIAorKGVydC1kZWZ0ZXN0IHRlc3QtbWFwLXBsaXN0 LXBjYXNlLWRlZmF1bHQgKCkKKyAgKGxldCAoKHBsaXN0ICcoOnR3byAyKSkpCisgICAgKHNob3Vs ZCAoZXF1YWwgKHBjYXNlLWxldCAoKChtYXAgKDp0d28gdHdvIDMzKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICg6dGhyZWUgdGhyZWUgNDQpKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBwbGlzdCkpCisgICAgICAgICAgICAgICAgICAgICAobGlzdCB0d28g dGhyZWUpKQorICAgICAgICAgICAgICAgICAgICcoMiA0NCkpKSkpCisKKyhlcnQtZGVmdGVzdCB0 ZXN0LW1hcC1wY2FzZS1tYXRjaGVzICgpCisgIChsZXQgKChwbGlzdCAnKDp0d28gMikpKQorICAg IChzaG91bGQgKGVxdWFsIChwY2FzZSBwbGlzdAorICAgICAgICAgICAgICAgICAgICAgKChtYXAg KDp0d28gdHdvIDMzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKDp0aHJlZSB0aHJlZSkp CisgICAgICAgICAgICAgICAgICAgICAgKGxpc3QgdHdvIHRocmVlKSkKKyAgICAgICAgICAgICAg ICAgICAgIChfICdmYWlsKSkKKyAgICAgICAgICAgICAgICAgICAnKDIgbmlsKSkpCisKKyAgICAo c2hvdWxkIChlcXVhbCAocGNhc2UgcGxpc3QKKyAgICAgICAgICAgICAgICAgICAgICgobWFwICg6 dHdvIHR3byAzMykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICg6dGhyZWUgdGhyZWUgNDQp KQorICAgICAgICAgICAgICAgICAgICAgIChsaXN0IHR3byB0aHJlZSkpCisgICAgICAgICAgICAg ICAgICAgICAoXyAnZmFpbCkpCisgICAgICAgICAgICAgICAgICAgJygyIDQ0KSkpCisKKyAgICAo c2hvdWxkIChlcXVhbCAocGNhc2UgcGxpc3QKKyAgICAgICAgICAgICAgICAgICAgICgobWFwICg6 dHdvIHR3byAzMykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICg6dGhyZWUgYCgsYSAuICxi KSAnKDExIC4gMjIpKSkKKyAgICAgICAgICAgICAgICAgICAgICAobGlzdCB0d28gYSBiKSkKKyAg ICAgICAgICAgICAgICAgICAgIChfICdmYWlsKSkKKyAgICAgICAgICAgICAgICAgICAnKDIgMTEg MjIpKSkKKworICAgIChzaG91bGQgKGVxdWFsICdmYWlsCisgICAgICAgICAgICAgICAgICAgKHBj YXNlIHBsaXN0CisgICAgICAgICAgICAgICAgICAgICAoKG1hcCAoOnR3byB0d28gMzMpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAoOnRocmVlIGAoLGEgLiAsYikgNDQpKQorICAgICAgICAg ICAgICAgICAgICAgIChsaXN0IHR3byBhIGIpKQorICAgICAgICAgICAgICAgICAgICAgKF8gJ2Zh aWwpKSkpCisKKyAgICAoc2hvdWxkIChlcXVhbCAnZmFpbAorICAgICAgICAgICAgICAgICAgIChw Y2FzZSBwbGlzdAorICAgICAgICAgICAgICAgICAgICAgKChtYXAgKDp0d28gdHdvIDMzKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgKDp0aHJlZSBgKCxhIC4gLGIpIG5pbCkpCisgICAgICAg ICAgICAgICAgICAgICAgKGxpc3QgdHdvIGEgYikpCisgICAgICAgICAgICAgICAgICAgICAoXyAn ZmFpbCkpKSkKKworICAgIChzaG91bGQgKGVxdWFsICdmYWlsCisgICAgICAgICAgICAgICAgICAg KHBjYXNlIHBsaXN0CisgICAgICAgICAgICAgICAgICAgICAoKG1hcCAoOnR3byB0d28gMzMpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAoOnRocmVlIGAoLGEgLiAsYikpKQorICAgICAgICAg ICAgICAgICAgICAgIChsaXN0IHR3byBhIGIpKQorICAgICAgICAgICAgICAgICAgICAgKF8gJ2Zh aWwpKSkpKSkKKwogKGVydC1kZWZ0ZXN0IHRlc3QtbWFwLXNldGYtYWxpc3QtaW5zZXJ0LWtleSAo KQogICAobGV0ICgoYWxpc3QpKQogICAgIChzaG91bGQgKGVxdWFsIChzZXRmIChtYXAtZWx0IGFs aXN0ICdrZXkpICd2YWx1ZSkKLS0gCjIuMzQuMQoK --b1_L33PXXczl6jRKMeFsPxkvaryV5WWv1fNJQr06Sg5RgM-- From debbugs-submit-bounces@debbugs.gnu.org Fri Jul 28 14:02:21 2023 Received: (at 49407) by debbugs.gnu.org; 28 Jul 2023 18:02:21 +0000 Received: from localhost ([127.0.0.1]:46090 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qPRnB-0002JM-BG for submit@debbugs.gnu.org; Fri, 28 Jul 2023 14:02:21 -0400 Received: from mail-ej1-x634.google.com ([2a00:1450:4864:20::634]:50540) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qPRn6-0002J3-6y for 49407@debbugs.gnu.org; Fri, 28 Jul 2023 14:02:19 -0400 Received: by mail-ej1-x634.google.com with SMTP id a640c23a62f3a-99bc512526cso342676566b.1 for <49407@debbugs.gnu.org>; Fri, 28 Jul 2023 11:02:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tcd.ie; s=google21; t=1690567330; x=1691172130; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=PFQZNN89yGTMqkTTvntSXfLVI4KX9Jw83O9fLMgNdgk=; b=QynzdZaxaVQzegojlQrnsRMGcN36LDCCHzXPtqopndkd8UGnfm6Yp9U7GKFAUlJS+l U3lSPkjmxJV6ButJ6zazsk6x3h6WVVtLJmCpBJGBaHMsCh+9eUccLzbjAEmkCa6lisbw 9QZWOh+/a0+jcLvvz3QoIsApLuGqm7nMdQPsuZ3hSltPoAtIQoZK9yH/19brqwZoUCGt oi0NEbX6EPcOweik5hRG0+ru+J+g/jY19R2vrKAP1eZ0hyHJV15LuD4hvn65IPGqehHZ nb40qa+eqSQdS7+MXMhXynrnLN+4fs+mlYW0LO9UUFJXGa+TK9RfLXX8AzlfvrNcp3aB zt1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690567330; x=1691172130; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=PFQZNN89yGTMqkTTvntSXfLVI4KX9Jw83O9fLMgNdgk=; b=ksoZWC5CdanRgKzkCyf0Vl4Vx5juzYWQeKv9Of6Ma2dWlGGFD9/j8f5mRyIK9ZagWM 95AoJXJxiMka78zqEAt3Fxf8LrBdbO5W5XNHl0VxXTTOPMkuRO8dqLBfD7B0XLgtS3Oq VchkI7C9cLRQPMJvQqQIN+o+96A6kQYX6h2GeL757wZk+gBy+MFz16oiUHp5QKw1Xo7U wSN/cVfNA9j2cVRrGhijCaEfxmAwdWB0NLftq2nNMcLQJFGJ3a18MtNROHIuwcGuktzY 9tIEBOcN+weE+b3GXq4euJtBkbv1ODOv+/QE/Ch3X78G5CTpFYauo80UaXpLvSaGDV5h KVcw== X-Gm-Message-State: ABy/qLaGR9gs9EQuJ54ejsUXvGiQ939YZCqFIZ3K7ahHxGe/o6LeqTH6 w4sCKz193HhsZfMVhkBDsPK0Hg== X-Google-Smtp-Source: APBJJlH77L8rknyW+TjCY345RVjbAkISs/hdx0viU1D6V2AAb+dUZoIP8HIOfUxEAY0ezX1+E1HF/A== X-Received: by 2002:a17:906:7683:b0:997:aee1:74ee with SMTP id o3-20020a170906768300b00997aee174eemr97437ejm.14.1690567329964; Fri, 28 Jul 2023 11:02:09 -0700 (PDT) Received: from localhost (vpn-254-049.epfl.ch. [128.179.254.49]) by smtp.gmail.com with ESMTPSA id v8-20020a17090690c800b00997e99a662bsm2277400ejw.20.2023.07.28.11.02.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Jul 2023 11:02:09 -0700 (PDT) From: "Basil L. Contovounesios" To: Michael Heerdegen Subject: Re: bug#49407: Request: Specify default values in `map-let` in Map.el In-Reply-To: (Okam via "Bug reports for GNU Emacs, the Swiss army knife of text editors"'s message of "Thu, 27 Jul 2023 01:39:21 +0000") References: <87eec0klhu.fsf@gnus.org> <08a00b74-56f9-bb81-0411-36f9da8cf2d6@protonmail.com> <87r0p0wwbw.fsf@web.de> <87pm4fbapu.fsf@web.de> Date: Fri, 28 Jul 2023 20:02:08 +0200 Message-ID: <87jzujoqxr.fsf@epfl.ch> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 49407 Cc: Okam , Lars Ingebrigtsen , 49407@debbugs.gnu.org, Nicolas Petton , Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Okam via "Bug reports for GNU Emacs, the Swiss army knife of text editors" [2023-07-27 01:39 +0000] wrote: > From 99208ca640d4944c57082772702cb8534fe91d32 Mon Sep 17 00:00:00 2001 > From: Earl Hyatt I think your past contributions were under "Earl Hyatt ", right? Is okamsn@protonmail.com your current address? Eli, does it make a difference for the CA, do we need to update .mailmap, or anything like that? > Date: Thu, 20 Jul 2023 21:44:41 -0400 > Subject: [PATCH v3] Allow default values in 'map-let' and the pcase 'map' form > > * lisp/emacs-lisp/map.el (map-let, map) > (map--make-pcase-bindings): Add a third argument for specifying a > default value, like in 'map-elt'. (Bug#49407) > > * lisp/emacs-lisp/map.el (map--make-pcase-bindings): Clarify that keys > that aren't found aren't ignored, they actually get the value > nil (unless the new default value is given). The overall pattern can ^^ Two spaces here. [...] > +Each element in ARGS can be of the form (KEY PAT) or (KEY PAT > +DEFAULT), where KEY is the key sought in the map, PAT is a > +`pcase' pattern, and DEFAULT is the default value to use if KEY > +isn't found. Both KEY and DEFAULT are evaluated. If DEFAULT > +isn't given, then nil is used. FWIW, the form/structure can be kept on a single line, and a couple of passive voices avoided, by rewording as e.g. Each element of ARGS can be of the form (KEY PAT [DEFAULT]), which looks up KEY in the map and matches the associated value against `pcase' pattern PAT. DEFAULT specifies the fallback value to use when KEY is not present in the map. If omitted, it defaults to nil. Both KEY and DEFAULT are evaluated. > +The match fails if: > + > +- KEY is found and PAT does not match the associated value > + > +- KEY is not found, DEFAULT is given, and PAT does not match > + DEFAULT > + > +- KEY is not found, DEFAULT is not given, and PAT does not match > + nil" I find this partly redundant/repetitive, since we already know that PAT is meant to match either KEY's value (when found), or DEFAULT (which defaults to nil). What this doesn't make explicit (compared to the previous version) is what happens when there are multiple ARGS; specifically, when one or more of them don't match. > +KEYS can also be a list of (KEY VARNAME) pairs and > +\(KEY VARNAME DEFAULT) triples, in which case KEY and This could also use (KEY VARNAME [DEFAULT]) syntax, if preferred. Otherwise LGTM, thanks, -- Basil From debbugs-submit-bounces@debbugs.gnu.org Fri Jul 28 15:18:52 2023 Received: (at 49407) by debbugs.gnu.org; 28 Jul 2023 19:18:53 +0000 Received: from localhost ([127.0.0.1]:46145 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qPSzE-0004Ec-IB for submit@debbugs.gnu.org; Fri, 28 Jul 2023 15:18:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:50400) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qPSzB-0004EO-Du for 49407@debbugs.gnu.org; Fri, 28 Jul 2023 15:18:50 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qPSz4-0007k9-Js; Fri, 28 Jul 2023 15:18:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=rrkbssn1JiQHjKgvrfW1r+SQDUFRkEqYNNKLUxqKZlo=; b=JDdqsxf1aEGW hWAFsOpF1Rjrn8i790ByY/YAKRU2coGbiIMnrq1iHW0PYdsHSXFYGWncw7DblE0XUyWG0p8O+zf+8 fXjF3W2RhpAoq1GfQdUYrHzPE7JHz83loEr07uFBnnQoMRuN6DK/15AVUQbIDALSMEdOdpENaVE5B j2KDVmET1kWCNRqntPiebNtl14V11jmOAzd1QpPOtE/szcge++sYNaToIP9iJyKd8tdmgwUqkanqA 7lxzBcOuHi4/gtidTbwlEaeEKcZbc+fQWaouTc1abgoQ4tbYckwR5IBHbf6sgJir5YEy604i0zC4Z 3aWW0RYAYOdjgbt/ErYQPA==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qPSz4-0001gP-34; Fri, 28 Jul 2023 15:18:42 -0400 Date: Fri, 28 Jul 2023 22:19:34 +0300 Message-Id: <83tttnj12x.fsf@gnu.org> From: Eli Zaretskii To: "Basil L. Contovounesios" In-Reply-To: <87jzujoqxr.fsf@epfl.ch> (bug-gnu-emacs@gnu.org) Subject: Re: bug#49407: Request: Specify default values in `map-let` in Map.el References: <87eec0klhu.fsf@gnus.org> <08a00b74-56f9-bb81-0411-36f9da8cf2d6@protonmail.com> <87r0p0wwbw.fsf@web.de> <87pm4fbapu.fsf@web.de> <87jzujoqxr.fsf@epfl.ch> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 49407 Cc: michael_heerdegen@web.de, nicolas@petton.fr, okamsn@protonmail.com, monnier@iro.umontreal.ca, larsi@gnus.org, 49407@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Cc: Okam , Lars Ingebrigtsen , > 49407@debbugs.gnu.org, Nicolas Petton , > Stefan Monnier > Date: Fri, 28 Jul 2023 20:02:08 +0200 > From: "Basil L. Contovounesios" via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" > > Okam via "Bug reports for GNU Emacs, the Swiss army knife of text editors" [2023-07-27 01:39 +0000] wrote: > > > From 99208ca640d4944c57082772702cb8534fe91d32 Mon Sep 17 00:00:00 2001 > > From: Earl Hyatt > > I think your past contributions were under "Earl Hyatt > ", right? Is okamsn@protonmail.com your current > address? Eli, does it make a difference for the CA, do we need to > update .mailmap, or anything like that? The CA record is up to date for Earl Hyatt. No action is required. etc/AUTHORS only mentions the name, not the email address, so no action is needed there, either. From debbugs-submit-bounces@debbugs.gnu.org Fri Jul 28 20:37:54 2023 Received: (at 49407) by debbugs.gnu.org; 29 Jul 2023 00:37:54 +0000 Received: from localhost ([127.0.0.1]:46307 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qPXxx-0006az-Na for submit@debbugs.gnu.org; Fri, 28 Jul 2023 20:37:54 -0400 Received: from mail-40131.protonmail.ch ([185.70.40.131]:32145) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qPXxu-0006am-Qb for 49407@debbugs.gnu.org; Fri, 28 Jul 2023 20:37:52 -0400 Date: Sat, 29 Jul 2023 00:37:38 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1690591063; x=1690850263; bh=B9riizroyIvrOQ/SwugPUL/pSdNmP9uw//b/xMm7DZI=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=CQmkoIud8K9AhyQGNABtJbOTFDe7rOVI3F7VmiI6iVx3MUi4hAssF9YUPuXrWUHyk Zd37WgNmW1RMH79iX/ZMfIhHcADhcwpk+YIUe2X9QSNOrW1Pl7+ydNcQGf7og/JuDi OfdCkP1pyGWWpIPJPW3Q6UMd9NyagrdkQ7DSHYVejFGhSc607j7id7F4nS+0OrjFR3 JMzciCNiGgOZn5d9HoXZK6/ils3jHDVj5bFQYf7lITXhAjlodRDJHw5HgwGH+Bj1Wv QETY0Lyw6eMl96D8Y8sFOlyCjQ9ReWI5PskLO8xnEIkFnV+i1vgoHU9sHNiiBKTiEU iwc42L0p4pvDA== To: "Basil L. Contovounesios" , Michael Heerdegen From: Okam Subject: Re: bug#49407: Request: Specify default values in `map-let` in Map.el Message-ID: In-Reply-To: <87jzujoqxr.fsf@epfl.ch> References: <87eec0klhu.fsf@gnus.org> <08a00b74-56f9-bb81-0411-36f9da8cf2d6@protonmail.com> <87r0p0wwbw.fsf@web.de> <87pm4fbapu.fsf@web.de> <87jzujoqxr.fsf@epfl.ch> Feedback-ID: 25935600:user:proton MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_ImTLEthKxqZwwVt58WyheiOqXvAWciAcTgJCQmIi4" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 49407 Cc: Lars Ingebrigtsen , 49407@debbugs.gnu.org, Nicolas Petton , Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --b1_ImTLEthKxqZwwVt58WyheiOqXvAWciAcTgJCQmIi4 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Basil L. Contovounesios wrote: > Okam via "Bug reports for GNU Emacs, the Swiss army knife of text editors= " [2023-07-27 01:39 +0000] wrote: >=20 >> From 99208ca640d4944c57082772702cb8534fe91d32 Mon Sep 17 00:00:00 2001 >> From: Earl Hyatt >=20 > I think your past contributions were under "Earl Hyatt > ", right? Is okamsn@protonmail.com your current > address? Eli, does it make a difference for the CA, do we need to > update .mailmap, or anything like that? Yes, I changed addresses. The mailmap makes it look like I used the old=20 address in `git log`. Would it be OK to make it so that the old address=20 shows as the new one instead? >> Date: Thu, 20 Jul 2023 21:44:41 -0400 >> Subject: [PATCH v3] Allow default values in 'map-let' and the pcase 'map= ' form >> >> * lisp/emacs-lisp/map.el (map-let, map) >> (map--make-pcase-bindings): Add a third argument for specifying a >> default value, like in 'map-elt'. (Bug#49407) >> >> * lisp/emacs-lisp/map.el (map--make-pcase-bindings): Clarify that keys >> that aren't found aren't ignored, they actually get the value >> nil (unless the new default value is given). The overall pattern can > ^^ > Two spaces here. Fixed. >> +Each element in ARGS can be of the form (KEY PAT) or (KEY PAT >> +DEFAULT), where KEY is the key sought in the map, PAT is a >> +`pcase' pattern, and DEFAULT is the default value to use if KEY >> +isn't found. Both KEY and DEFAULT are evaluated. If DEFAULT >> +isn't given, then nil is used. >=20 > FWIW, the form/structure can be kept on a single line, and a couple of > passive voices avoided, by rewording as e.g. >=20 > Each element of ARGS can be of the form (KEY PAT [DEFAULT]), > which looks up KEY in the map and matches the associated value > against `pcase' pattern PAT. DEFAULT specifies the fallback > value to use when KEY is not present in the map. If omitted, it > defaults to nil. Both KEY and DEFAULT are evaluated. I have changed it to this. >> +The match fails if: >> + >> +- KEY is found and PAT does not match the associated value >> + >> +- KEY is not found, DEFAULT is given, and PAT does not match >> + DEFAULT >> + >> +- KEY is not found, DEFAULT is not given, and PAT does not match >> + nil" >=20 > I find this partly redundant/repetitive, since we already know that PAT > is meant to match either KEY's value (when found), or DEFAULT (which > defaults to nil). >=20 > What this doesn't make explicit (compared to the previous version) is > what happens when there are multiple ARGS; specifically, when one or > more of them don't match. I changed it to "An element of ARGS fails to match if PAT does not match=20 the associated value or the default value. The overall pattern fails to match if any element of ARGS fails to match." Does that work? >> +KEYS can also be a list of (KEY VARNAME) pairs and >> +\(KEY VARNAME DEFAULT) triples, in which case KEY and >=20 > This could also use (KEY VARNAME [DEFAULT]) syntax, if preferred. Changed. Thank you. --b1_ImTLEthKxqZwwVt58WyheiOqXvAWciAcTgJCQmIi4 Content-Type: text/x-patch; charset=UTF-8; name=v4-0001-Allow-default-values-in-map-let-and-the-pcase-map.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v4-0001-Allow-default-values-in-map-let-and-the-pcase-map.patch RnJvbSA3NDYxNmQwNzE3YzUyMDc0NzMyODU4N2NmMTU1MTM5OWViMTFhMzE4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh dGU6IFRodSwgMjAgSnVsIDIwMjMgMjE6NDQ6NDEgLTA0MDAKU3ViamVjdDogW1BBVENIIHY0XSBB bGxvdyBkZWZhdWx0IHZhbHVlcyBpbiAnbWFwLWxldCcgYW5kIHRoZSBwY2FzZSAnbWFwJyBmb3Jt CgoqIGxpc3AvZW1hY3MtbGlzcC9tYXAuZWwgKG1hcC1sZXQsIG1hcCkKKG1hcC0tbWFrZS1wY2Fz ZS1iaW5kaW5ncyk6IEFkZCBhIHRoaXJkIGFyZ3VtZW50IGZvciBzcGVjaWZ5aW5nIGEKZGVmYXVs dCB2YWx1ZSwgbGlrZSBpbiAnbWFwLWVsdCcuIChCdWcjNDk0MDcpCgoqIGxpc3AvZW1hY3MtbGlz cC9tYXAuZWwgKG1hcC0tbWFrZS1wY2FzZS1iaW5kaW5ncyk6IENsYXJpZnkgdGhhdCBrZXlzCnRo YXQgYXJlbid0IGZvdW5kIGFyZW4ndCBpZ25vcmVkLCB0aGV5IGFjdHVhbGx5IGdldCB0aGUgdmFs dWUKbmlsICh1bmxlc3MgdGhlIG5ldyBkZWZhdWx0IHZhbHVlIGlzIGdpdmVuKS4gIFRoZSBvdmVy YWxsIHBhdHRlcm4gY2FuCnN0aWxsIGZhaWwgdG8gbWF0Y2ggaWYgdGhlIHN1Yi1wYXR0ZXJuIGZv ciB0aGUgdW5mb3VuZCBrZXkgZG9lc24ndAptYXRjaCBuaWwuCgoqIHRlc3QvbGlzcC9lbWFjcy1s aXNwL21hcC10ZXN0cy5lbCAodGVzdC1tYXAtbGV0LWRlZmF1bHQpCih0ZXN0LW1hcC1wbGlzdC1w Y2FzZS1kZWZhdWx0LCB0ZXN0LW1hcC1wY2FzZS1tYXRjaGVzKTogQWRkIHRlc3RzLAppbmNsdWRp bmcgZm9yIHRoZSBhYm92ZSBpdGVtLgotLS0KIGxpc3AvZW1hY3MtbGlzcC9tYXAuZWwgICAgICAg ICAgICB8IDMzICsrKysrKysrKysrLS0tLS0tCiB0ZXN0L2xpc3AvZW1hY3MtbGlzcC9tYXAtdGVz dHMuZWwgfCA1OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5n ZWQsIDgyIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpc3Av ZW1hY3MtbGlzcC9tYXAuZWwgYi9saXNwL2VtYWNzLWxpc3AvbWFwLmVsCmluZGV4IDdhNDhiYTQ3 NDM0Li5iNTVlYjQzMTY2OCAxMDA2NDQKLS0tIGEvbGlzcC9lbWFjcy1saXNwL21hcC5lbAorKysg Yi9saXNwL2VtYWNzLWxpc3AvbWFwLmVsCkBAIC01MCwxOCArNTAsMjAgQEAgbWFwCiAKIEFSR1Mg aXMgYSBsaXN0IG9mIGVsZW1lbnRzIHRvIGJlIG1hdGNoZWQgaW4gdGhlIG1hcC4KIAotRWFjaCBl bGVtZW50IG9mIEFSR1MgY2FuIGJlIG9mIHRoZSBmb3JtIChLRVkgUEFUKSwgaW4gd2hpY2ggY2Fz ZSBLRVkgaXMKLWV2YWx1YXRlZCBhbmQgc2VhcmNoZWQgZm9yIGluIHRoZSBtYXAuICBUaGUgbWF0 Y2ggZmFpbHMgaWYgZm9yIGFueSBLRVkKLWZvdW5kIGluIHRoZSBtYXAsIHRoZSBjb3JyZXNwb25k aW5nIFBBVCBkb2Vzbid0IG1hdGNoIHRoZSB2YWx1ZQotYXNzb2NpYXRlZCB3aXRoIHRoZSBLRVku CitFYWNoIGVsZW1lbnQgb2YgQVJHUyBjYW4gYmUgb2YgdGhlIGZvcm0gKEtFWSBQQVQgW0RFRkFV TFRdKSwKK3doaWNoIGxvb2tzIHVwIEtFWSBpbiB0aGUgbWFwIGFuZCBtYXRjaGVzIHRoZSBhc3Nv Y2lhdGVkIHZhbHVlCithZ2FpbnN0IGBwY2FzZScgcGF0dGVybiBQQVQuICBERUZBVUxUIHNwZWNp ZmllcyB0aGUgZmFsbGJhY2sKK3ZhbHVlIHRvIHVzZSB3aGVuIEtFWSBpcyBub3QgcHJlc2VudCBp biB0aGUgbWFwLiAgSWYgb21pdHRlZCwgaXQKK2RlZmF1bHRzIHRvIG5pbC4gIEJvdGggS0VZIGFu ZCBERUZBVUxUIGFyZSBldmFsdWF0ZWQuCiAKIEVhY2ggZWxlbWVudCBjYW4gYWxzbyBiZSBhIFNZ TUJPTCwgd2hpY2ggaXMgYW4gYWJicmV2aWF0aW9uIG9mCiBhIChLRVkgUEFUKSB0dXBsZSBvZiB0 aGUgZm9ybSAoXFw9J1NZTUJPTCBTWU1CT0wpLiAgV2hlbiBTWU1CT0wKIGlzIGEga2V5d29yZCwg aXQgaXMgYW4gYWJicmV2aWF0aW9uIG9mIHRoZSBmb3JtICg6U1lNQk9MIFNZTUJPTCksCiB1c2Vm dWwgZm9yIGJpbmRpbmcgcGxpc3QgdmFsdWVzLgogCi1LZXlzIGluIEFSR1Mgbm90IGZvdW5kIGlu IHRoZSBtYXAgYXJlIGlnbm9yZWQsIGFuZCB0aGUgbWF0Y2ggZG9lc24ndAotZmFpbC4iCitBbiBl bGVtZW50IG9mIEFSR1MgZmFpbHMgdG8gbWF0Y2ggaWYgUEFUIGRvZXMgbm90IG1hdGNoIHRoZQor YXNzb2NpYXRlZCB2YWx1ZSBvciB0aGUgZGVmYXVsdCB2YWx1ZS4gIFRoZSBvdmVyYWxsIHBhdHRl cm4gZmFpbHMKK3RvIG1hdGNoIGlmIGFueSBlbGVtZW50IG9mIEFSR1MgZmFpbHMgdG8gbWF0Y2gu IgogICBgKGFuZCAocHJlZCBtYXBwKQogICAgICAgICAsQChtYXAtLW1ha2UtcGNhc2UtYmluZGlu Z3MgYXJncykpKQogCkBAIC03MSwxMiArNzMsMTMgQEAgbWFwLWxldAogS0VZUyBjYW4gYmUgYSBs aXN0IG9mIHN5bWJvbHMsIGluIHdoaWNoIGNhc2UgZWFjaCBlbGVtZW50IHdpbGwgYmUKIGJvdW5k IHRvIHRoZSBsb29rZWQgdXAgdmFsdWUgaW4gTUFQLgogCi1LRVlTIGNhbiBhbHNvIGJlIGEgbGlz dCBvZiAoS0VZIFZBUk5BTUUpIHBhaXJzLCBpbiB3aGljaCBjYXNlCi1LRVkgaXMgYW4gdW5xdW90 ZWQgZm9ybS4KK0tFWVMgY2FuIGFsc28gYmUgYSBsaXN0IG9mIChLRVkgVkFSTkFNRSBbREVGQVVM VF0pIHN1Ymxpc3RzLCBpbgord2hpY2ggY2FzZSBLRVkgYW5kIERFRkFVTFQgYXJlIHVucXVvdGVk IGZvcm1zLgogCiBNQVAgY2FuIGJlIGFuIGFsaXN0LCBwbGlzdCwgaGFzaC10YWJsZSwgb3IgYXJy YXkuIgogICAoZGVjbGFyZSAoaW5kZW50IDIpCi0gICAgICAgICAgIChkZWJ1ZyAoKCZyZXN0ICZv ciBzeW1ib2xwIChbZm9ybSBzeW1ib2xwXSkpIGZvcm0gYm9keSkpKQorICAgICAgICAgICAoZGVi dWcgKCgmcmVzdCAmb3Igc3ltYm9scCAoW2Zvcm0gc3ltYm9scCAmb3B0aW9uYWwgZm9ybV0pKQor ICAgICAgICAgICAgICAgICAgIGZvcm0gYm9keSkpKQogICBgKHBjYXNlLWxldCAoKCwobWFwLS1t YWtlLXBjYXNlLXBhdHRlcm5zIGtleXMpICxtYXApKQogICAgICAsQGJvZHkpKQogCkBAIC01OTUs MTEgKzU5OCwyMSBAQCBtYXAtaW50bwogICAgIChtYXAtaW50byBcXD0nKCgxIC4gMykpIFxcPSco aGFzaC10YWJsZSA6dGVzdCBlcWwpKSIKICAgKG1hcC0taW50by1oYXNoIG1hcCAoY2RyIHR5cGUp KSkKIAorKGRlZm1hY3JvIG1hcC0tcGNhc2UtbWFwLWVsdCAoa2V5IGRlZmF1bHQgbWFwKQorICAi QSBtYWNybyB0byBtYWtlIE1BUCB0aGUgbGFzdCBhcmd1bWVudCB0byBgbWFwLWVsdCcuCisKK1Ro aXMgYWxsb3dzIHVzaW5nIGRlZmF1bHQgdmFsdWVzIGZvciBgbWFwLWVsdCcsIHdoaWNoIGNhbid0 IGJlCitkb25lIHVzaW5nIGBwY2FzZS0tZmxpcCcuCisKK0tFWSBpcyB0aGUga2V5IHNvdWdodCBp biB0aGUgbWFwLiAgREVGQVVMVCBpcyB0aGUgZGVmYXVsdCB2YWx1ZS4iCisgIGAobWFwLWVsdCAs bWFwICxrZXkgLGRlZmF1bHQpKQorCiAoZGVmdW4gbWFwLS1tYWtlLXBjYXNlLWJpbmRpbmdzIChh cmdzKQogICAiUmV0dXJuIGEgbGlzdCBvZiBwY2FzZSBiaW5kaW5ncyBmcm9tIEFSR1MgdG8gdGhl IGVsZW1lbnRzIG9mIGEgbWFwLiIKICAgKG1hcGNhciAobGFtYmRhIChlbHQpCiAgICAgICAgICAg ICAoY29uZCAoKGNvbnNwIGVsdCkKLSAgICAgICAgICAgICAgICAgICBgKGFwcCAocGNhc2UtLWZs aXAgbWFwLWVsdCAsKGNhciBlbHQpKSAsKGNhZHIgZWx0KSkpCisgICAgICAgICAgICAgICAgICAg YChhcHAgKG1hcC0tcGNhc2UtbWFwLWVsdCAsKGNhciBlbHQpICwoY2FkZHIgZWx0KSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAsKGNhZHIgZWx0KSkpCiAgICAgICAgICAgICAgICAgICAoKGtl eXdvcmRwIGVsdCkKICAgICAgICAgICAgICAgICAgICAobGV0ICgodmFyIChpbnRlcm4gKHN1YnN0 cmluZyAoc3ltYm9sLW5hbWUgZWx0KSAxKSkpKQogICAgICAgICAgICAgICAgICAgICAgYChhcHAg KHBjYXNlLS1mbGlwIG1hcC1lbHQgLGVsdCkgLHZhcikpKQpkaWZmIC0tZ2l0IGEvdGVzdC9saXNw L2VtYWNzLWxpc3AvbWFwLXRlc3RzLmVsIGIvdGVzdC9saXNwL2VtYWNzLWxpc3AvbWFwLXRlc3Rz LmVsCmluZGV4IDg2YzBlOWUwNTAzLi4yMjA0NzQzZjc5NCAxMDA2NDQKLS0tIGEvdGVzdC9saXNw L2VtYWNzLWxpc3AvbWFwLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9lbWFjcy1saXNwL21hcC10 ZXN0cy5lbApAQCAtNTc3LDYgKzU3NywxMyBAQCB0ZXN0LW1hcC1sZXQKICAgICAoc2hvdWxkICg9 IGIgMikpCiAgICAgKHNob3VsZC1ub3QgYykpKQogCisoZXJ0LWRlZnRlc3QgdGVzdC1tYXAtbGV0 LWRlZmF1bHQgKCkKKyAgKG1hcC1sZXQgKCgnZm9vIGEgMykKKyAgICAgICAgICAgICgnYmF6IGIg NCkpCisgICAgICAnKChmb28gLiAxKSkKKyAgICAoc2hvdWxkIChlcXVhbCBhIDEpKQorICAgIChz aG91bGQgKGVxdWFsIGIgNCkpKSkKKwogKGVydC1kZWZ0ZXN0IHRlc3QtbWFwLW1lcmdlICgpCiAg ICJUZXN0IGBtYXAtbWVyZ2UnLiIKICAgKHNob3VsZCAoZXF1YWwgKHNvcnQgKG1hcC1tZXJnZSAn bGlzdCAnKGEgMSkgJygoYiAuIDIpIChjIC4gMykpCkBAIC02MTcsNiArNjI0LDU4IEBAIHRlc3Qt bWFwLXBsaXN0LXBjYXNlCiAgICAgICAgICAgICAgICAgICAgICAobGlzdCBvbmUgdHdvKSkKICAg ICAgICAgICAgICAgICAgICAnKDEgMikpKSkpCiAKKyhlcnQtZGVmdGVzdCB0ZXN0LW1hcC1wbGlz dC1wY2FzZS1kZWZhdWx0ICgpCisgIChsZXQgKChwbGlzdCAnKDp0d28gMikpKQorICAgIChzaG91 bGQgKGVxdWFsIChwY2FzZS1sZXQgKCgobWFwICg6dHdvIHR3byAzMykKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoOnRocmVlIHRocmVlIDQ0KSkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcGxpc3QpKQorICAgICAgICAgICAgICAgICAgICAgKGxpc3QgdHdv IHRocmVlKSkKKyAgICAgICAgICAgICAgICAgICAnKDIgNDQpKSkpKQorCisoZXJ0LWRlZnRlc3Qg dGVzdC1tYXAtcGNhc2UtbWF0Y2hlcyAoKQorICAobGV0ICgocGxpc3QgJyg6dHdvIDIpKSkKKyAg ICAoc2hvdWxkIChlcXVhbCAocGNhc2UgcGxpc3QKKyAgICAgICAgICAgICAgICAgICAgICgobWFw ICg6dHdvIHR3byAzMykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICg6dGhyZWUgdGhyZWUp KQorICAgICAgICAgICAgICAgICAgICAgIChsaXN0IHR3byB0aHJlZSkpCisgICAgICAgICAgICAg ICAgICAgICAoXyAnZmFpbCkpCisgICAgICAgICAgICAgICAgICAgJygyIG5pbCkpKQorCisgICAg KHNob3VsZCAoZXF1YWwgKHBjYXNlIHBsaXN0CisgICAgICAgICAgICAgICAgICAgICAoKG1hcCAo OnR3byB0d28gMzMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoOnRocmVlIHRocmVlIDQ0 KSkKKyAgICAgICAgICAgICAgICAgICAgICAobGlzdCB0d28gdGhyZWUpKQorICAgICAgICAgICAg ICAgICAgICAgKF8gJ2ZhaWwpKQorICAgICAgICAgICAgICAgICAgICcoMiA0NCkpKQorCisgICAg KHNob3VsZCAoZXF1YWwgKHBjYXNlIHBsaXN0CisgICAgICAgICAgICAgICAgICAgICAoKG1hcCAo OnR3byB0d28gMzMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoOnRocmVlIGAoLGEgLiAs YikgJygxMSAuIDIyKSkpCisgICAgICAgICAgICAgICAgICAgICAgKGxpc3QgdHdvIGEgYikpCisg ICAgICAgICAgICAgICAgICAgICAoXyAnZmFpbCkpCisgICAgICAgICAgICAgICAgICAgJygyIDEx IDIyKSkpCisKKyAgICAoc2hvdWxkIChlcXVhbCAnZmFpbAorICAgICAgICAgICAgICAgICAgIChw Y2FzZSBwbGlzdAorICAgICAgICAgICAgICAgICAgICAgKChtYXAgKDp0d28gdHdvIDMzKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgKDp0aHJlZSBgKCxhIC4gLGIpIDQ0KSkKKyAgICAgICAg ICAgICAgICAgICAgICAobGlzdCB0d28gYSBiKSkKKyAgICAgICAgICAgICAgICAgICAgIChfICdm YWlsKSkpKQorCisgICAgKHNob3VsZCAoZXF1YWwgJ2ZhaWwKKyAgICAgICAgICAgICAgICAgICAo cGNhc2UgcGxpc3QKKyAgICAgICAgICAgICAgICAgICAgICgobWFwICg6dHdvIHR3byAzMykKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICg6dGhyZWUgYCgsYSAuICxiKSBuaWwpKQorICAgICAg ICAgICAgICAgICAgICAgIChsaXN0IHR3byBhIGIpKQorICAgICAgICAgICAgICAgICAgICAgKF8g J2ZhaWwpKSkpCisKKyAgICAoc2hvdWxkIChlcXVhbCAnZmFpbAorICAgICAgICAgICAgICAgICAg IChwY2FzZSBwbGlzdAorICAgICAgICAgICAgICAgICAgICAgKChtYXAgKDp0d28gdHdvIDMzKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgKDp0aHJlZSBgKCxhIC4gLGIpKSkKKyAgICAgICAg ICAgICAgICAgICAgICAobGlzdCB0d28gYSBiKSkKKyAgICAgICAgICAgICAgICAgICAgIChfICdm YWlsKSkpKSkpCisKIChlcnQtZGVmdGVzdCB0ZXN0LW1hcC1zZXRmLWFsaXN0LWluc2VydC1rZXkg KCkKICAgKGxldCAoKGFsaXN0KSkKICAgICAoc2hvdWxkIChlcXVhbCAoc2V0ZiAobWFwLWVsdCBh bGlzdCAna2V5KSAndmFsdWUpCi0tIAoyLjM0LjEKCg== --b1_ImTLEthKxqZwwVt58WyheiOqXvAWciAcTgJCQmIi4-- From debbugs-submit-bounces@debbugs.gnu.org Sun Jul 30 09:53:33 2023 Received: (at control) by debbugs.gnu.org; 30 Jul 2023 13:53:33 +0000 Received: from localhost ([127.0.0.1]:49568 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qQ6rU-0001Wr-PE for submit@debbugs.gnu.org; Sun, 30 Jul 2023 09:53:33 -0400 Received: from mail-ej1-x62d.google.com ([2a00:1450:4864:20::62d]:42030) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qQ6rQ-0001WU-M1 for control@debbugs.gnu.org; Sun, 30 Jul 2023 09:53:30 -0400 Received: by mail-ej1-x62d.google.com with SMTP id a640c23a62f3a-99bc9e3cbf1so768302266b.0 for ; Sun, 30 Jul 2023 06:53:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tcd.ie; s=google21; t=1690725202; x=1691330002; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=+me/H7l0OsN1M8XYtGFl6HA4NTqp7Cfp/NK4LGVE6ZQ=; b=QiDoYLFrlV2DLIzzt/7R5HZBtngACj0ZfLaag7MpMV5EOqC+7x8ncwwiyzpgtRR/0p EDDUPYLmkwENZCQ95XPTwq4bbsV+LlmQ/R5X1o5HZyj8nfo/mlMU8wHCzhvmu0kCUlrl agA3B5sWSz4x0EXgS11WhQyUmtSwXj+JcwA1DeXSQGO8hI5BdhTR55tA/J1EvFfhE912 AsrK4Dd40sKNAWJADaXRHfrart/3PwQJCQu1XiW337Ux7B0gxzsEobAyMlKNrhOzA73i /rm0AH1/w8DV2kApnVpVHv1wmzsZ3KnNvl+FahuJg5XfEXFtGwYAGqW0EDVTZSnCa+vL sE5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690725202; x=1691330002; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=+me/H7l0OsN1M8XYtGFl6HA4NTqp7Cfp/NK4LGVE6ZQ=; b=TwI6FvjPsHr1SK6oxqScbEAJAiwtaYP5tHGNsP2t/K3GjZKO+lAYtVo5YExrgv7xHM M/hmCPf+ilL7SSh1kIVdOl4+LcWnQZEbg+WVXIbZlAxuxBDTSe1o8J7Nmdibdz1LrMiA q4ils6NGPPCTTk90F3Ap806MBHHvcTznac+IG5DeizHhBYDd1Z7vgkhoMoogv5vQ1J2F wpXQNHb3+DEwlOb7CyG0hiI6LPzprexcYv6EYuCRUq4e8uKdgQa8ojXFLEupJxnmW08G Rg7gUYDpe9UzlTenzT6zxnaOuzVyE+rW5uaCHU6jcfZTfkJJErmGZlhfV5MDCzxBt+Tn voFg== X-Gm-Message-State: ABy/qLYI3l0Y/KdiZDQuwHACgfzCf42tGMrCRowOXc5i+zIgsnGt+rXi 4/x3dBpcanru25DHj5AqyNtEAQ== X-Google-Smtp-Source: APBJJlHMQBXTIcd+akXdAzlwXQgGoAU1hIaKcCqJjMUYOyXopxj8NKSt650vmgWeR3j7X1uBPJBiqw== X-Received: by 2002:a17:907:7d8d:b0:99c:572:c0e4 with SMTP id oz13-20020a1709077d8d00b0099c0572c0e4mr2568694ejc.7.1690725202433; Sun, 30 Jul 2023 06:53:22 -0700 (PDT) Received: from localhost (vpn-253-184.epfl.ch. [128.179.253.184]) by smtp.gmail.com with ESMTPSA id w10-20020aa7da4a000000b0051a53d7b160sm4125951eds.80.2023.07.30.06.53.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 30 Jul 2023 06:53:21 -0700 (PDT) From: "Basil L. Contovounesios" To: Okam Subject: Re: bug#49407: Request: Specify default values in `map-let` in Map.el In-Reply-To: (Okam's message of "Sat, 29 Jul 2023 00:37:38 +0000") References: <87eec0klhu.fsf@gnus.org> <08a00b74-56f9-bb81-0411-36f9da8cf2d6@protonmail.com> <87r0p0wwbw.fsf@web.de> <87pm4fbapu.fsf@web.de> <87jzujoqxr.fsf@epfl.ch> Date: Sun, 30 Jul 2023 15:53:20 +0200 Message-ID: <87fs55h5f3.fsf@epfl.ch> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: control Cc: Michael Heerdegen , Lars Ingebrigtsen , Nicolas Petton , 49407-done@debbugs.gnu.org, Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain close 49407 30.1 quit Okam [2023-07-29 00:37 +0000] wrote: > Basil L. Contovounesios wrote: >> Okam [2023-07-27 01:39 +0000] wrote: >>> From: Earl Hyatt >> >> I think your past contributions were under "Earl Hyatt >> ", right? Is okamsn@protonmail.com your current >> address? > > Yes, I changed addresses. The mailmap makes it look like I used the old > address in `git log`. Oh, sorry, I actually didn't notice you had existing mailmap entries in place. > Would it be OK to make it so that the old address > shows as the new one instead? Is okamsn@protonmail.com your canonical address? If so, what we want is the following, right? --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=mailmap.diff diff --git a/.mailmap b/.mailmap index 8454eb9154c..0531cc0c290 100644 --- a/.mailmap +++ b/.mailmap @@ -51,8 +51,7 @@ David M. Koppelman Deniz Dogan Dick R. Chiang Dick R. Chiang dickmao -Earl Hyatt -Earl Hyatt +Earl Hyatt Edward M. Reingold Eli Zaretskii Emilio C. Lopes --=-=-= Content-Type: text/plain > I changed it to "An element of ARGS fails to match if PAT does not match > the associated value or the default value. The overall pattern fails > to match if any element of ARGS fails to match." Does that work? WFM, thank you! Installed and closing as done: Allow default values in 'map-let' and the pcase 'map' form 19777b7c864 2023-07-30 15:20:27 +0200 https://git.sv.gnu.org/cgit/emacs.git/commit/?id=19777b7c864 I'll also bump the map.el Version header in a week or so if no-one beats me to it. -- Basil --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 31 00:02:39 2023 Received: (at 49407-done) by debbugs.gnu.org; 31 Jul 2023 04:02:39 +0000 Received: from localhost ([127.0.0.1]:51541 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qQK7C-000550-NC for submit@debbugs.gnu.org; Mon, 31 Jul 2023 00:02:39 -0400 Received: from mout.web.de ([212.227.17.12]:48887) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qQK7A-00054n-BA for 49407-done@debbugs.gnu.org; Mon, 31 Jul 2023 00:02:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273; t=1690776138; x=1691380938; i=michael_heerdegen@web.de; bh=v4VzaWjjIiAwUmcB1kaSvA9wEje5/HBvN9Jc0OdAKH8=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date; b=O12D10Nr3n/cTND/njn0n2Cwyin/Wrs17dFeL7PIaJUWs4+sVCBtjJS9VKEcd2xvsQNkglC PFJg3Rnc+WXvKpdGMY+bSqNs4zN7Hci9FKLPMD13r7+sbDmN1/MpVNyQCpZGCm+AgkLoRTQNg QloqS0yk2UNdIDN8zN/M7/38P5Ep1/6JuVEoppWwHWV1/pMKwrIYBy/NFMWsJy1wkc1JFlZ0B 21rYH+uor9XsDMWlOq/nuiUZJv1mn8rKwdUXp+HG+Y2U9+ge/29buIv6B8DtsQrgbSqQttAUA hcmHwEWDnwcxSVlKzDdtoOXp+Oxu1HfJCvihDmmjXyrCfEPgxa5g== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([92.75.138.214]) by smtp.web.de (mrweb105 [213.165.67.124]) with ESMTPSA (Nemesis) id 1MadzU-1psv680Ioc-00bz3r; Mon, 31 Jul 2023 06:02:18 +0200 From: Michael Heerdegen To: "Basil L. Contovounesios" via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Subject: Re: bug#49407: Request: Specify default values in `map-let` in Map.el In-Reply-To: <87fs55h5f3.fsf@epfl.ch> (Basil L. Contovounesios's message of "Sun, 30 Jul 2023 15:53:20 +0200") References: <87eec0klhu.fsf@gnus.org> <08a00b74-56f9-bb81-0411-36f9da8cf2d6@protonmail.com> <87r0p0wwbw.fsf@web.de> <87pm4fbapu.fsf@web.de> <87jzujoqxr.fsf@epfl.ch> <87fs55h5f3.fsf@epfl.ch> Date: Mon, 31 Jul 2023 06:02:15 +0200 Message-ID: <87cz08wwxk.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Provags-ID: V03:K1:lmN/Cetx6ezDzjeUN2IJuJMLQDI4HkrwWDzy6kir7I3jZCHmgQw xzB/aJpKmHXX4uL3DuiFu4sEkvijjvRxjciBlgWRfVxXe3pZQ9NiTwuSbM3xN5tRBb4JJcY dUjrCHugEnlIUrOfr8O7gerMtmR/nemiMu5+DuO1jNttb3HuPGh40YvZk/nx4bwHQTRcAYu /+1DilM0QjwrsFTHDPG8g== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:WQ/ymdeJl9k=;kbT/h2v7COHXhO3b/S/Y0A9A4zE gsLqUhJIhU6NBEBEJ0Eb6fY0wMmUGzhxZ9q23RDTp3vZ/0sQ0i2rMMksO3DPGLuqZQUIoqKLl HpR3jXtALyVdi35X++byE/K1IKD8rin6+4xlhRISwmIGO3m/HMBf/WMzsZf2fpHC2R6P7ye1H 7hBj5WvI8WROmWlu8Sw0yyjlsMDsq2j8g5MXMxoYBwu/FIrzGiZ//1k0s3Q7+GYjokTgNUT5Y 97hCsMwCl2lasr82dbKu+61Ld0gb7WW0ZrGAWKxiy+KsGjpr5P2QJrwMLsHKH0966bt4urqfi gkOR7UgLtqiARFzmOP5LSP6NIHeHsJY0hgwfNc/F0f34fy9o7D2W8ikVxfvfhyb5y+vubW+PF Sms2uDlzsNwiB+llRVQ+GpOYa8X0yI0V7h58u+p+WUo/hn7bB/x18yG0CaVRaQsEiyd0sJrsa j4yuMUM42/WiucnWTB3BmmyVetKhE+BAeM3TtGEDyc4K1RUUNhIA+tbXyQrhIJdNqr+SbVZKc DJ27/e5XDMlEVlpg9zHvpLGBtkzOY+SP+9cs4IurGqiWxdGwHqVdhqL0tvl0trYdRycsZcX6O wVSSYiN/nkfvOx/13O267CTsbnvJjc6ZjcIvA0PkbO0QGYqUZCsCjpTMazxwR0m5JHmWls4FU tuE3ZaeAc4uA+J1DzbIyRNC2fTH/vd3AO6ftAMGz0HXKleBhmX3X6pi4OjWJ1sbElS4/YCFrF IJA/7HiSDTEEJ345Hll35pW61LLnz1xWOOm5Ly4vwEhC8XSIj3tXUDXWP5E8UJHaaDIwLGceU XZhPj0v8a8Buv0Fphv+MPLDIfzbf8spITapJYV+R9JQB5zjGmiP1RxurnBy3vmVZSa0ANZfBL WVFwsPC0iHBfNJdV85P6AqcDj0aAG1PffiC6Fukh3PSHK7bR+nR6F57ewnLyWk8/ZUfmui3jW BVW1ywmZEgQby9BW4HA1/Ev4E4U= X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 49407-done Cc: "Basil L. Contovounesios" , Nicolas Petton , Okam , Stefan Monnier , Lars Ingebrigtsen , 49407-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain "Basil L. Contovounesios" via "Bug reports for GNU Emacs, the Swiss army knife of text editors" writes: > WFM, thank you! Installed and closing as done: > > Allow default values in 'map-let' and the pcase 'map' form > 19777b7c864 2023-07-30 15:20:27 +0200 > https://git.sv.gnu.org/cgit/emacs.git/commit/?id=19777b7c864 Does this addition look appropriate? --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-Docstring-tweaks-in-map.el.patch Content-Transfer-Encoding: quoted-printable =46rom b2b6f34c08c17a9411c4264ea500b434c833ec04 Mon Sep 17 00:00:00 2001 From: Michael Heerdegen Date: Tue, 25 Jul 2023 20:38:46 +0200 Subject: [PATCH] ; Docstring tweaks in map.el * lisp/emacs-lisp/map.el (pcase-defmacro) : (map-let): Mention 'map-elt' where equality predicates are explained. Improve wording. =2D-- lisp/emacs-lisp/map.el | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/lisp/emacs-lisp/map.el b/lisp/emacs-lisp/map.el index b55eb431668..04c00a2e908 100644 =2D-- a/lisp/emacs-lisp/map.el +++ b/lisp/emacs-lisp/map.el @@ -57,9 +57,10 @@ map defaults to nil. Both KEY and DEFAULT are evaluated. Each element can also be a SYMBOL, which is an abbreviation of -a (KEY PAT) tuple of the form (\\=3D'SYMBOL SYMBOL). When SYMBOL -is a keyword, it is an abbreviation of the form (:SYMBOL SYMBOL), -useful for binding plist values. +a (KEY PAT) tuple of the form (\\=3D'SYMBOL SYMBOL). A keyword :FOO +is an abbreviation of the form (:FOO FOO), useful for binding plist value= s. + +See `map-elt' for an explanation of the used equality tests. An element of ARGS fails to match if PAT does not match the associated value or the default value. The overall pattern fails @@ -70,13 +71,13 @@ map (defmacro map-let (keys map &rest body) "Bind the variables in KEYS to the elements of MAP then evaluate BODY. -KEYS can be a list of symbols, in which case each element will be -bound to the looked up value in MAP. - -KEYS can also be a list of (KEY VARNAME [DEFAULT]) sublists, in -which case KEY and DEFAULT are unquoted forms. +Elements of the list KEYS can be symbols, in which case each +will be bound to the looked up value in MAP, or +(KEY VARNAME [DEFAULT]) sublists where KEY and DEFAULT are +unquoted forms. -MAP can be an alist, plist, hash-table, or array." +MAP can be an alist, plist, hash-table, or array. See `map-elt' +for an explanation of the used equality tests." (declare (indent 2) (debug ((&rest &or symbolp ([form symbolp &optional form])) form body))) =2D- 2.30.2 --=-=-= Content-Type: text/plain If it's not clear: I changed :SYMBOL to :FOO because the original text called SYMBOL a keyword and then used SYMBOL and :SYMBOL (although then only :SYMBOL would be the keyword) - I found that confusing. :KEYWORD would also be confusing, so I went with the placeholder "FOO". TIA, Michael. --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 06 09:31:31 2023 Received: (at 49407-done) by debbugs.gnu.org; 6 Aug 2023 13:31:31 +0000 Received: from localhost ([127.0.0.1]:58781 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qSdr0-0007WV-SR for submit@debbugs.gnu.org; Sun, 06 Aug 2023 09:31:31 -0400 Received: from mail-40134.protonmail.ch ([185.70.40.134]:10585) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qSdqx-0007WF-PU for 49407-done@debbugs.gnu.org; Sun, 06 Aug 2023 09:31:29 -0400 Date: Sun, 06 Aug 2023 13:31:15 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1691328681; x=1691587881; bh=drOBL5ByI3RHvLhhY7XA0/pCk8adJX4EYmabybW25p4=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=Aeqd1aH8c1Pp28dMeO3h45MGddEbtHKBIOxZHBisTRCVyouyQUNsrxnCsTK2YN8Ig MwYj76twPS56sDbYhmlGPk95XzufxYm19tVWkkI6PleJnbyxLm8KuMeuPZpM52em5O aTQqE8v8lZzhWplrvc1W3e4DhrwyJpEaHHdPjrQKFr0CHSm0joCcM04WHtXRqpAyQD mgB4sYkF4IF+StAa+eFa3mXJMLpHPA/KDdyobQn7KkfMEK3Mho+GS4KSUFD+6QjKbO DzST1YWdktqqbx3ikMHHN03cmjssaNK9FXUwbWcmluQNRpKoIG+Nxjh8C/y7TZn+cN w98puqbLMaqmg== To: "Basil L. Contovounesios" From: Okam Subject: Re: bug#49407: Request: Specify default values in `map-let` in Map.el Message-ID: In-Reply-To: <87fs55h5f3.fsf@epfl.ch> References: <87eec0klhu.fsf@gnus.org> <08a00b74-56f9-bb81-0411-36f9da8cf2d6@protonmail.com> <87r0p0wwbw.fsf@web.de> <87pm4fbapu.fsf@web.de> <87jzujoqxr.fsf@epfl.ch> <87fs55h5f3.fsf@epfl.ch> Feedback-ID: 25935600:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -1.0 (-) X-Debbugs-Envelope-To: 49407-done Cc: Michael Heerdegen , Lars Ingebrigtsen , Nicolas Petton , 49407-done@debbugs.gnu.org, Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.0 (--) Basil L. Contovounesios wrote: >> Would it be OK to make it so that the old address >> shows as the new one instead? >=20 > Is okamsn@protonmail.com your canonical address? > If so, what we want is the following, right? Yes, thank you. >=20 >> I changed it to "An element of ARGS fails to match if PAT does not match >> the associated value or the default value. The overall pattern fails >> to match if any element of ARGS fails to match." Does that work? >=20 > WFM, thank you! Installed and closing as done: >=20 > Allow default values in 'map-let' and the pcase 'map' form > 19777b7c864 2023-07-30 15:20:27 +0200 > https://git.sv.gnu.org/cgit/emacs.git/commit/?id=3D19777b7c864 >=20 > I'll also bump the map.el Version header in a week or so if no-one beats > me to it. Thanks! From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 08 08:41:39 2023 Received: (at 49407) by debbugs.gnu.org; 8 Aug 2023 12:41:39 +0000 Received: from localhost ([127.0.0.1]:35496 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qTM1r-0007OY-F0 for submit@debbugs.gnu.org; Tue, 08 Aug 2023 08:41:39 -0400 Received: from mail-lj1-x22d.google.com ([2a00:1450:4864:20::22d]:48397) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qTM1p-0007OE-8T for 49407@debbugs.gnu.org; Tue, 08 Aug 2023 08:41:38 -0400 Received: by mail-lj1-x22d.google.com with SMTP id 38308e7fff4ca-2b9b904bb04so91080221fa.1 for <49407@debbugs.gnu.org>; Tue, 08 Aug 2023 05:41:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tcd.ie; s=google21; t=1691498491; x=1692103291; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=yulN9ii0ooit0/PQOnmWmXrkyrf9MDAqHsCt6q0AuUw=; b=TFugMH6XZGICi5vVvWHT3Vn2hpwx3sG0SMm+UQOh3AQawJc0h+te3y1QNwaXqzKEd4 GUdw/2W1z3pmHFENb0Bja2l1OO7MGFKftLmglb2kVXAKxhIIVqJGJ1me0UgAOAazKsyv HZ1sKmP7rpNKWqi6xjVQKd0uo55lJDLFJYdnqGq0z7msO6H+8Yqsbh3znZ2MBkibcpjF /oMNu7hI2JA1vSeLBYIY9E+iK5rvj9HlDxvVG9+2HaB4bGOfRF4EL7gOmbCBkSNTnNeh 2SS7trnKTsO+c4GhZXX+hAm5dBD/KtnvCFdXv1NL4Ihc7yUcexeCWmO198NY8S02/1mc qALQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691498491; x=1692103291; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=yulN9ii0ooit0/PQOnmWmXrkyrf9MDAqHsCt6q0AuUw=; b=Xi7h3pGTbWJumFhoGat4/esg4xWJlSnh4PyIbgSLrf7coN5qTvq39Mb1kgjIK2fBiQ Dwng0MzjWyuwnRWQhtFCHypUhLe32zYSyDLlohaZzuU0mrD8jYajJn5WFfa7/JrAe6h1 BoNfv0aYFq1/moTBjwQ3Aj/To1lJx84MrgcClSOpHCQFRLJrcHxow3e+e/BbYDpmR03s NHoXcjPrQDn0/p2NikGl+fGbNua9rlJrCyKy/iBqpK8ysI4I0/RWf0FxhHnBQKmI1+vV EvhAEaIvEfAcpz+obyON8VGyPU/yM/85jWNiX8KmbgI+esf3phFlQj8dIUB0OzS8yKur GIEg== X-Gm-Message-State: AOJu0YwWSWjatOvagYEQl1CBBbWlRBJlhe5twxQ10+7b0bwCxeAoYkVm /5aOay4h/Er4oDrZYrGWZsBQ9A== X-Google-Smtp-Source: AGHT+IFyyixlHmiNGngtjN0KMoMRjS/e0qMVh3QklQ7Zu/goNNmUnesNjLoB+eoJaqo6fDGw8ygLmg== X-Received: by 2002:a2e:3011:0:b0:2b6:fa60:85a1 with SMTP id w17-20020a2e3011000000b002b6fa6085a1mr8637285ljw.21.1691498491083; Tue, 08 Aug 2023 05:41:31 -0700 (PDT) Received: from localhost ([89.19.67.19]) by smtp.gmail.com with ESMTPSA id c5-20020a05600c0ac500b003fc02218d6csm17939493wmr.25.2023.08.08.05.41.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Aug 2023 05:41:30 -0700 (PDT) From: "Basil L. Contovounesios" To: Michael Heerdegen Subject: Re: bug#49407: Request: Specify default values in `map-let` in Map.el In-Reply-To: <87cz08wwxk.fsf@web.de> (Michael Heerdegen's message of "Mon, 31 Jul 2023 06:02:15 +0200") References: <87eec0klhu.fsf@gnus.org> <08a00b74-56f9-bb81-0411-36f9da8cf2d6@protonmail.com> <87r0p0wwbw.fsf@web.de> <87pm4fbapu.fsf@web.de> <87jzujoqxr.fsf@epfl.ch> <87fs55h5f3.fsf@epfl.ch> <87cz08wwxk.fsf@web.de> Date: Tue, 08 Aug 2023 14:41:28 +0200 Message-ID: <87bkfhk8p3.fsf@epfl.ch> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 49407 Cc: Okam , Lars Ingebrigtsen , 49407@debbugs.gnu.org, Nicolas Petton , Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Michael Heerdegen [2023-07-31 06:02 +0200] wrote: > Does this addition look appropriate? Reads fine to me, so AFAIC feel free to install. Just a couple of thoughts inline: > diff --git a/lisp/emacs-lisp/map.el b/lisp/emacs-lisp/map.el > index b55eb431668..04c00a2e908 100644 > --- a/lisp/emacs-lisp/map.el > +++ b/lisp/emacs-lisp/map.el > @@ -57,9 +57,10 @@ map > defaults to nil. Both KEY and DEFAULT are evaluated. > > Each element can also be a SYMBOL, which is an abbreviation of > -a (KEY PAT) tuple of the form (\\='SYMBOL SYMBOL). When SYMBOL > -is a keyword, it is an abbreviation of the form (:SYMBOL SYMBOL), > -useful for binding plist values. > +a (KEY PAT) tuple of the form (\\='SYMBOL SYMBOL). A keyword :FOO > +is an abbreviation of the form (:FOO FOO), useful for binding plist values. If you prefer to keep the stronger connectedness(?) between the sentences, and/or avoid introducing a metaname with no inherent meaning: Specifically when SYMBOL is a keyword :KEY, it is an abbreviation of the form (:KEY KEY), which can be useful for binding plist values. > +See `map-elt' for an explanation of the used equality tests. s/used/relevant/ would avoid the passive voice, if you prefer. Or 'for details on key lookup', or ... [ Trying to get on Eli's non-naughty list. ] > If it's not clear: I changed :SYMBOL to :FOO because the original text > called SYMBOL a keyword and then used SYMBOL and :SYMBOL (although then > only :SYMBOL would be the keyword) - I found that confusing. :KEYWORD > would also be confusing, so I went with the placeholder "FOO". I'm confused, I thought FOO stood For Obfuscation Only ;). Thanks, -- Basil From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 08 08:46:46 2023 Received: (at 49407) by debbugs.gnu.org; 8 Aug 2023 12:46:46 +0000 Received: from localhost ([127.0.0.1]:35514 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qTM6n-0007XB-TT for submit@debbugs.gnu.org; Tue, 08 Aug 2023 08:46:46 -0400 Received: from mail-lj1-x22c.google.com ([2a00:1450:4864:20::22c]:47419) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qTM6l-0007Wy-Si for 49407@debbugs.gnu.org; Tue, 08 Aug 2023 08:46:44 -0400 Received: by mail-lj1-x22c.google.com with SMTP id 38308e7fff4ca-2b962c226ceso90058041fa.3 for <49407@debbugs.gnu.org>; Tue, 08 Aug 2023 05:46:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tcd.ie; s=google21; t=1691498798; x=1692103598; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=pECxWMSyTb6SjqgfFgSoz64i9fHBZ0H5L3D8lI6ZWZQ=; b=glH4RD3s/5tbfXFAqjaU8CsnxDCH6KQLQxmJErfyTj21Q6dJGpjiQzRHipsFvfbhT7 rUol3MYoIA9+dXsBpCWp8g9hQQ/Dh0WhG0dM5dq5S9iMBsBNWqa5CjUcaoks2q3bij4U CG6jNYEre01Iy/Nn5Oh2PY6W5N1pfDdsCwdm4wQxOjZQ1/vrsKu3MwY5o4K1jHeuU2SS N6oO0aw6A1fyyjcrDDwwORnlAEtFs1DTytaIZuBUBvEy+9z2uKm4jLGqSJg32WtYW4oH v6KEB/aUe7a2QreXaV9lHuStytPJ1ZQQIpJmf4paGiR1qgtFJt8gb3YrWX7DEkpQCFye 2MaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691498798; x=1692103598; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=pECxWMSyTb6SjqgfFgSoz64i9fHBZ0H5L3D8lI6ZWZQ=; b=W3G03BgwHt3Wv9dw4vuzEHRI9MCb8QjnEiOMz7+Nq8iKiVAM/SwuNoaJCk6ZiFsoBO mqmpIzd+nkNFwzMXg4FHcmm0rzyIu/E31hHg7/ql1aYAF7zi3MYJIhnqq5Unp25StoXZ uQ8T/GSutsMHGsfnOTdwDDuzXUVnGskqhDJHapstVvPBw16jFlGKtCenQDFbJRHcriOb FKA3cMqPDs6s8pHGFqU4OVzusT8AYhTJD0Bkr3Q4W9fcVkJeGdOATfbYXfVG8bCjBAr8 mQ9CzBeH+608ZBwSvuvJxV5CQ2kFq3cwOQ87rkzzUTcce2ZGX8Y6lShIM3mpCAEhPcRr 5GjQ== X-Gm-Message-State: AOJu0YycQ5uvbGgvwW8z0+jpVoe5WNCZiKIrL+zitwlAznGuIqhx81CJ 4/e2nLr+e67nbnWm0+Rc5KFA8A== X-Google-Smtp-Source: AGHT+IF5hyd5w7tsWHLp9GQmBDl/NAgGjOzJLhvWW4Y656R+2Fc/hVP4SZvDAzY0+E+MAoJcLClOQg== X-Received: by 2002:a2e:8706:0:b0:2b4:45bc:7bd with SMTP id m6-20020a2e8706000000b002b445bc07bdmr9995223lji.4.1691498797581; Tue, 08 Aug 2023 05:46:37 -0700 (PDT) Received: from localhost ([89.19.67.19]) by smtp.gmail.com with ESMTPSA id v20-20020a7bcb54000000b003fbfef555d2sm18075379wmj.23.2023.08.08.05.46.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Aug 2023 05:46:37 -0700 (PDT) From: "Basil L. Contovounesios" To: Okam Subject: Re: bug#49407: Request: Specify default values in `map-let` in Map.el In-Reply-To: (Okam's message of "Sun, 06 Aug 2023 13:31:15 +0000") References: <87eec0klhu.fsf@gnus.org> <08a00b74-56f9-bb81-0411-36f9da8cf2d6@protonmail.com> <87r0p0wwbw.fsf@web.de> <87pm4fbapu.fsf@web.de> <87jzujoqxr.fsf@epfl.ch> <87fs55h5f3.fsf@epfl.ch> Date: Tue, 08 Aug 2023 14:46:34 +0200 Message-ID: <87350tk8gl.fsf@epfl.ch> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 49407 Cc: Michael Heerdegen , Lars Ingebrigtsen , 49407@debbugs.gnu.org, Nicolas Petton , Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Okam [2023-08-06 13:31 +0000] wrote: > Basil L. Contovounesios wrote: >>> Would it be OK to make it so that the old address >>> shows as the new one instead? >> Is okamsn@protonmail.com your canonical address? >> If so, what we want is the following, right? > > Yes, thank you. Done: ; .mailmap: Flip entry. 91854ceaee3 2023-08-08 14:43:22 +0200 https://git.sv.gnu.org/cgit/emacs.git/commit/?id=91854ceaee3 Thanks, -- Basil From unknown Sun Sep 07 16:50:42 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Wed, 06 Sep 2023 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator