From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= Newsgroups: gmane.emacs.devel Subject: Re: cond* Date: Mon, 18 Dec 2023 10:08:33 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="40828"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: rms@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Dec 18 11:09:54 2023 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 1rFAZO-000AVH-AB for ged-emacs-devel@m.gmane-mx.org; Mon, 18 Dec 2023 11:09:54 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rFAYN-0001hv-EI; Mon, 18 Dec 2023 05:08:51 -0500 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 1rFAYM-0001gd-1A for emacs-devel@gnu.org; Mon, 18 Dec 2023 05:08:50 -0500 Original-Received: from mail-lf1-x133.google.com ([2a00:1450:4864:20::133]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rFAYK-0002Fe-Cd; Mon, 18 Dec 2023 05:08:49 -0500 Original-Received: by mail-lf1-x133.google.com with SMTP id 2adb3069b0e04-50e270639d9so2022944e87.3; Mon, 18 Dec 2023 02:08:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1702894125; x=1703498925; darn=gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=hhdAKFWlP59VjcjZYK0KmqlrvWWkT/42+RuVQtIKfEU=; b=EGRKRz2MPFIgFVxFV8t2EKC4DZ4ZNz7f1z41tlpNVzOZ4S2WPqH7qzhD1qJwspTtbE bvkDon6OQ3FYILBahhiqluVwIrmIMVtJzaCDeSS7xGMjJDwChp56Gz7M+LpkxvwFs5EP hT1CDhhKDm4BSg1R3qxxsDD0u0UaqnEjTkYDesYJfo+awaGQCHe0egHsopciSd//2xua /kmP9QGuy3Bs2fcjqiTq+11WxwLXlLsxH8HOczciiolBQP3ut6DIteqJETYLo4OSqIX0 71/QA5Bct2+gt/TqcDLnRmlnclVBAalW5TGtVFtnzc8UYVLWWN7B+8i1fYZiJrSy5iw2 8GIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702894125; x=1703498925; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hhdAKFWlP59VjcjZYK0KmqlrvWWkT/42+RuVQtIKfEU=; b=en9v2B6T4Lk1bTRanqBM7vUVSLhefobBHNpSDkDavMgke8sEclh/frPBKVjonI/Ss6 odnhufdyygzkU823teZ5dkTPUjrGwarzVZQ6wzGfA1+pXOBrVM+0BanIIM2e4TQ0m2Sh 6TwW7ExJ9zdKtyFzWhbbQ5EqtqcIL0LY4/xcDxzaGbtXB7yvVegz307b2JDNBBrpZdRm tKRhTGaa46smUYqmI0b62+ZkzHrwdQvSbyjR+Nu+zmgJV7cQ6RGz1k/gQWGHRcHRXr/n 1N/p0/UuVqlQn+3OQuVqc0+CQvqjrKROo2wSDJjxgMIM+YmgBVEBYqmfxJm4ZxJIuBOs FD4A== X-Gm-Message-State: AOJu0YymbJ717cTaZzigxXq8VoNvh0nHQ/5ER45PUXt7k1WGK9WNPF4Y jgmbdU+AC0MU8oh0FIDvQvkhJKLA85yyPDUxQ6Jnkg1s8qM= X-Google-Smtp-Source: AGHT+IGi77XCOo95qKktWfHyMcsmqXH28OngGp8ZdFhBcaOHl9rE/le9Lws6d+A/Uv/kvX5ynOAMyOn2ZpyZVhGwi/0= X-Received: by 2002:ac2:4ec4:0:b0:50e:3e3d:217c with SMTP id p4-20020ac24ec4000000b0050e3e3d217cmr143867lfr.84.1702894125088; Mon, 18 Dec 2023 02:08:45 -0800 (PST) In-Reply-To: Received-SPF: pass client-ip=2a00:1450:4864:20::133; envelope-from=joaotavora@gmail.com; helo=mail-lf1-x133.google.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, RCVD_IN_DNSWL_NONE=-0.0001, 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:313978 Archived-At: I think you definitely need to work on this part: ;; Extracts substructure and binds variables for the clause. ((match* `(expt ,foo ,bar) x) DO-THIS-IF-IT-MATCHED-THEN-EXIT...) ;; Bindings no longer in effect. ;; Extracts substructure and binds variables ;; for the rest of the cond*. ;; Like above but always falls thru to next clause. ;; All the variables mentioned in the pattern ;; are bound whether match succeeds or not. ;; If a value can be determined from an incomplete match, ;; the variable gets that value. ((match* `(expt ,foo ,bar) x)) (t (something-that-depends-on FOO BAR) ; is this how to use it? ) am I going to use BAR and FOO in a form that is not contained in any form that declares BAR and FOO as they are matched and bound? This would seem to be an unhygienic macro, it's asking for trouble and confuses the user's reading of byte compiler output, which is currently very competent at catching unused and potentially unbound variables (which become especially evident when flymake-mode is used) Jo=C3=A3o