From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Michael Heerdegen Newsgroups: gmane.emacs.bugs Subject: bug#50195: [PATCH] Adding diary-offset, a diary-sexp offsetting another diary-sexp. Date: Thu, 26 Aug 2021 12:26:46 +0200 Message-ID: <874kbcijrt.fsf@web.de> References: <87fsuychjr.fsf@ypei.me> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="3173"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: 50195@debbugs.gnu.org To: Yuchen Pei Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Aug 26 12:28:14 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1mJCcH-0000Za-O5 for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 26 Aug 2021 12:28:13 +0200 Original-Received: from localhost ([::1]:49928 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mJCcG-0008SC-ID for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 26 Aug 2021 06:28:12 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39408) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mJCc6-0008Pb-Nb for bug-gnu-emacs@gnu.org; Thu, 26 Aug 2021 06:28:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:36867) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mJCc6-0004Zf-Fc for bug-gnu-emacs@gnu.org; Thu, 26 Aug 2021 06:28:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mJCc6-0008QU-2z for bug-gnu-emacs@gnu.org; Thu, 26 Aug 2021 06:28:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 26 Aug 2021 10:28:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 50195 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 50195-submit@debbugs.gnu.org id=B50195.162997362732327 (code B ref 50195); Thu, 26 Aug 2021 10:28:02 +0000 Original-Received: (at 50195) by debbugs.gnu.org; 26 Aug 2021 10:27:07 +0000 Original-Received: from localhost ([127.0.0.1]:48413 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mJCb9-0008PI-9y for submit@debbugs.gnu.org; Thu, 26 Aug 2021 06:27:07 -0400 Original-Received: from mout.web.de ([212.227.15.4]:55161) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mJCb3-0008Oj-BB for 50195@debbugs.gnu.org; Thu, 26 Aug 2021 06:27:01 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1629973607; bh=ecYSg9dhac/2aflRqkdR+M2A2uvbbaCgZ82VyQtDHfo=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=TgAakzkm7MveTN5hVTb7fPV2zRy1ScYpBwcBqwIi6IfnsRfRpUkZsa27QU5yZEKEp b1BAMeecDJ9cFeDX5ssKhcNmVkXtB8nmQJEICgBFvkYozlhe5HS0xev+a6fv9WbTv5 tjcnxkAHnDi5XDF/LejlUa+LR/YFJs++SxafqGGQ= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Original-Received: from drachen.dragon ([88.66.201.155]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1MElZP-1mG9ee2aa3-00GLO2; Thu, 26 Aug 2021 12:26:47 +0200 In-Reply-To: <87fsuychjr.fsf@ypei.me> (Yuchen Pei's message of "Wed, 25 Aug 2021 13:46:48 +1000") X-Provags-ID: V03:K1:61IUJwQwJYMabGG1O3Rjs+BO4yx+YQxaCMhDV0Q6sMeV8/rG5DI iD+J7XFQAGya7yxfchLDEye6c42R+dtTJRAuR0RaglvwW1vAH25y2uo/jo/7z39xLcQD4ji PrxfC+YvGK0frijM0V8QMsT0iiiL0CxWnMn85FbcyCgxOT8D885PeIp8isjPQcwXMXaNNd8 2b2dGKnEyauyUwO2D15cQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:uCbdNdbeMQ4=:zPmCCsWbLicwX/NFETuNrN Sy7seNgO8XBI5SUT3B6Y2xL+sDnGNspyjObP7RSo+mGP0Jna6mhOMUJUyz/FzlOjn71BN1gN/ llx/Miwma+YUjE/6ax4jpvr7MF6ub+o2CVn2H+X6y3M1GJUQMwKTkp2Fjc5wbdzhaC8KZeOQT 1hQ9AoJgYTVZjgGn3LyEICO/zcfa8ZxdXomwv0BvjLKR/Thh7MBi8Bi/p8LBpHRklpBaT6ky4 heK5zxQbwlEUZyGKCIFHZmNwRw+nNuVfMNZZeLnSVLzc5+WUFkTvvtoTj3PHf8925tCrcBQOW bSLkG3o83RRpd90p25dxhkFl9htNWMWIID6NZqPkhDrTdc63JqS2xkqHEd+Ttq7nSS+BARSMv QHm5Uuv4bkN19vqfdUBVWdBAU7ogZIPUzFfKXoJe6bXyZ0wZ9VYAgOEGhldbyba+E5O8RUxxl 3BKGVvoM8XXCHW42nfEsezLOJzAUqwbOtUmTJuu13lq0g8rVFzZpnkI0IDE+gjBv3GW9yktWr 9rgHquuVjcut9ToFjCTzuNUqLU2DAySDgBFC/Bxvpkq+8OCIkEYD1Zpnd8I1o9bugB/ojZRG3 zT5bG+POJACtju8cc1JTHBVC8ES5UIBhgW9DA8DvtZ+RuJ78HQhS5mlUXt9TEebejSSkU1WFX rc73AlLPpwq05QN0Ixrgm+b8QSLtR2n7agGcJe70vgCuKCezbXwxnsfD8eUVmJZP9EO3Fh5Ee fPdpgzjw0SyU+v0fpcf24Aomg12h/7xMZP2mHURPUdAvy/Z84yEop8eWPxgVkK7yndXpwPXr X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:212700 Archived-At: Yuchen Pei writes: > A bit like diary-remind, as a diary-sexp rather than reminder, and > also support both positive and negative offsets. Because we are just talking about it: my personal solution for this kind of problem: I extended the diary language with some date arithmetic functions and a `date-let' macro, that allows you to solve the same task like (date-let ((date+ date 2)) SEXP) An advantage is that this saves one layer of `eval', and it allows the delta of days to be an expression (that might depend on the DATE). I also worked on finer grained solutions for the problems of the kind "every Nth Xday of the month unless it's a day that fulfills some TEST (e.g., it's a holiday), then use an alternative date. Useful for specifying rules for garbage collection (real-life garbage, not Emacs gc). I planned to provide these things as a separate library, and I'm not against what has been supposed here, just wanted to mention an alternative view on the problem. Michael.