From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Installing cond* in core Date: Sun, 17 Mar 2024 23:06:57 -0400 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="21373"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: emacs-devel@gnu.org To: Richard Stallman Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Mar 18 04:07:56 2024 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rm3Lv-0005ML-Tp for ged-emacs-devel@m.gmane-mx.org; Mon, 18 Mar 2024 04:07:56 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rm3L8-0005ix-20; Sun, 17 Mar 2024 23:07:06 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rm3L5-0005ig-Q1 for emacs-devel@gnu.org; Sun, 17 Mar 2024 23:07:03 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rm3L4-0007bo-68; Sun, 17 Mar 2024 23:07:03 -0400 Original-Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 8B68F80DB3; Sun, 17 Mar 2024 23:06:59 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1710731218; bh=jSPDQBach1gQNdRsdYCSBmQsup+ttlrTfT0RrrIrk/E=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=gTtAMR0IEZajZJMt3SBekCIa0wF3rj2GgS+9u4M94zxZvEZ8nVvRe1XiM8ivZl9xT WaT/ZLY+sGSVjJdYtcUDb7SRqE6pUFySE4G0vk9Ur4uN5xAlWs4aIuhnzrOEhIq/Ai 1MccKqU+YqElUfQ3VgBVP09qKtmpYdfGWRcectvv0NfNAnHgnTRVTcFLFvfykiU735 qKBsoob/X+nW4wyR8yqgrUwOxIGx8HcYdYAOY0AFg468cVoaKmBgaFo5T4/MNkv+yv 20k6QbVLDeNxcE7xDEbA+JXI5Es8VoqM9QbO0kATVTue+S5oAza9cQ/mofsAt8gQsn 72wPFTqUdegSw== Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 194B680C8F; Sun, 17 Mar 2024 23:06:58 -0400 (EDT) Original-Received: from alfajor (unknown [104.247.238.200]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id E733B120454; Sun, 17 Mar 2024 23:06:57 -0400 (EDT) In-Reply-To: (Richard Stallman's message of "Sun, 17 Mar 2024 22:42:34 -0400") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:317156 Archived-At: > > Same here. Are you referring to cases such as > > > (pcase EXP > > ((or `(,a ,b) > > 5) > > (BODY))) > > > where `a` and `b` will be bound to nil when EXP evaluates to 5? > > Yes. O, but here the (overall) pattern *does* match, and the semantics can be described as: any variable that is not bound by the specific match but that could be bound by other ways to match the pattern gets a nil binding. In the case of (cond* (:no-exit (match* PAT FORM) THEN) . ALWAYS) does that mean that the semantics you provide is in ALWAYS, the vars bound by PAT are bound to the matched values when PAT did match and they are all bound to nil otherwise? Or can some of the vars in PAT get bound to a non-nil value when PAT fails to match? If so, which ones? Stefan