From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:403:4789::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id aDIZHwpmz2RveAAASxT56A (envelope-from ) for ; Sun, 06 Aug 2023 11:21:14 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:4789::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id iO5gHgpmz2S0oAAAG6o9tA (envelope-from ) for ; Sun, 06 Aug 2023 11:21:14 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id E74015E82B for ; Sun, 6 Aug 2023 11:21:13 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=vodafonemail.de header.s=vfde-mb-mr2-21dec header.b=JUO8G8Nu; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=quarantine) header.from=vodafonemail.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1691313674; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=UQsgvdwP/YoBA4S7DVMzbT4Dq7MLQYrAQaPrLwZV9BI=; b=gG3sckSHvOpWn78U0zcU0FHCCRBxIFP/tdpa8KVK/ZQBxFvY2ZMDoI+1/d5arYuc3uOnYT N3WUbD8aRmHz6V1jkgV8VznvHpNJfwHb/mch+LLoJ+xQB3SaWtPAwn0pafsiIvUE3cqqds Uj3D3iTg5Sfyh03/6IwHyLOdQEUpUCzNQt7VRrRzXUmX55c4d5mlaySZRDCCnXWmtk80E9 U6bbRVjVu63m6RwOcqlDPW9lgv6KCaoIkxde2kZFCUvvGmSeGtkZpHTahkHMkJDy4e18MW L6tqSYhKPByLB2sXdxpaWEoSTcIqov0nWfKpTuRF625Lcz/iD8Ol1Fb7vWKK+w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=vodafonemail.de header.s=vfde-mb-mr2-21dec header.b=JUO8G8Nu; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=quarantine) header.from=vodafonemail.de ARC-Seal: i=1; s=key1; d=yhetil.org; t=1691313674; a=rsa-sha256; cv=none; b=XhRLj5z6qM1qXqi79NCfgt6pW3LCetjRXh00/v1yDU3AdTet6k+vnmSpbGpJdGeWPVTz5U LL+fLuYGF6shCFaDbMSfiVpHb6Ig1oQ88mD3zvcq0+DJ7NpI7lGgCY7c2RyqnIskurZ/2c iW/PcSzXjRVN11ZtGYt+KVCLNAnZC6JGKZv8eLbHZF3V9QjQwFN9CLcimuuxtCV8f7Fjfv u4uLD/8sEadHAo5bqHha1ILPLm8WiVnMCXk94z4w0uSOkWKGB8viyuMgxF0qV6wfs06LPW KrxNtNCSp/oxogTyBY/TSmekJaqJNEOf36Updn+6tIbPz4HYuDRXraXiLgxb6Q== Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qSZvz-00043m-Oj; Sun, 06 Aug 2023 05:20:23 -0400 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 1qSZvx-000437-Ng for emacs-orgmode@gnu.org; Sun, 06 Aug 2023 05:20:21 -0400 Received: from mr5.vodafonemail.de ([145.253.228.165]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qSZvv-00082O-01 for emacs-orgmode@gnu.org; Sun, 06 Aug 2023 05:20:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vodafonemail.de; s=vfde-mb-mr2-21dec; t=1691313610; bh=UQsgvdwP/YoBA4S7DVMzbT4Dq7MLQYrAQaPrLwZV9BI=; h=Message-ID:Date:User-Agent:Subject:Content-Language:To:References: From:In-Reply-To:Content-Type:From; b=JUO8G8NuZBFs2b6VGBdtFwJvRM3r3tggYpsdTuGY9JvaMNX8XeQUSsqa9WTrU3fMV MokCL0SwLrwAQmNpGFAUHkhT/Leb68EXQCFzB2rptr55JVqTE9wQQU65paECFZr+FJ jR/cjcUYSRMNpKQ7FCzWgEhhXV670H04JGskX8NY= Received: from smtp.vodafone.de (unknown [10.0.0.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by mr5.vodafonemail.de (Postfix) with ESMTPS id 4RJYnj70N4z1y8X; Sun, 6 Aug 2023 09:20:09 +0000 (UTC) Received: from [192.168.178.41] (port-92-194-196-106.dynamic.as20676.net [92.194.196.106]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp.vodafone.de (Postfix) with ESMTPSA id 4RJYnZ3vS4zMkrv; Sun, 6 Aug 2023 09:19:59 +0000 (UTC) Message-ID: Date: Sun, 6 Aug 2023 11:19:54 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.1 Subject: Re: org-agenda queries for absent properties Content-Language: de-DE-frami, en-US To: Ihor Radchenko Cc: Org-mode References: <9132e58f-d89e-f7df-bbe4-43d53a2367d2@vodafonemail.de> <87o7jsinoo.fsf@localhost> <3ac83971-2805-cfde-28a3-891814b95c25@vodafonemail.de> <87wmyendr7.fsf@localhost> <8c28a287-1a00-4bd2-7180-57e769425e85@vodafonemail.de> <87r0ogip0d.fsf@localhost> From: Jens Schmidt In-Reply-To: <87r0ogip0d.fsf@localhost> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-purgate-type: clean X-purgate: clean X-purgate-size: 1755 X-purgate-ID: 155817::1691313605-927F2A5E-3DC2CF02/0/0 Received-SPF: pass client-ip=145.253.228.165; envelope-from=jschmidt4gnu@vodafonemail.de; helo=mr5.vodafonemail.de X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 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, NICE_REPLY_A=-0.089, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Queue-Id: E74015E82B X-Migadu-Scanner: mx1.migadu.com X-Spam-Score: -8.32 X-Migadu-Spam-Score: -8.32 X-TUID: Ttebc3u3ihYo On 2023-08-06 09:55, Ihor Radchenko wrote: >> But from here it gets more intersting: >> >> - The code uses subre "\\\\-" in property names to (supposedly) allow >> for inclusion of minus characters in property names, which (probably) >> could be confused with term negation. > > Not probably. It is known to be confused. > https://orgmode.org/list/87jzv67k3p.fsf@localhost Right. But the issue back then appeared because the subre for property names does not match minus characters, just alnums and underscores: \\([[:alnum:]_]+\\) What I'm trying to convey is: If we match plain minus characters in above subre, these will be greedily goobled up including any following operator, which makes the whole thing uniquely an operator term. If there is no following operator, but something else, the whole regexp backtracks and (hopefully) matches a following negative term. >> - Even more, IMO one could do away completely with the minus-quoting and >> unquoting, since the overall regexp should allow for unambiguously >> matching minus characters both >> >> + in {tag regexps} (because of "{[^}]+}" gobbling them) and >> >> + in property names (because a property name must always be followed >> by some operator) >> >> *without* them getting confused with term negation. >> >> Or do I miss something here? A cursory test with sth like >> >> +foo-bar="xxx"-patchday=202302 >> >> seems to work fine. > > Agree. Ah, OK. I thought you wouldn't. Let me redo this thing as I think it is correct (including let-binding common subres as you suggested). I will also add tests for matching property names having minuses and then we can see how it goes.