From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms1.migadu.com with LMTPS id 6PXcId1hEWZcIQAAe85BDQ:P1 (envelope-from ) for ; Sat, 06 Apr 2024 16:53:17 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id 6PXcId1hEWZcIQAAe85BDQ (envelope-from ) for ; Sat, 06 Apr 2024 16:53:17 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=gmail.com (policy=none); 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" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1712415197; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to: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; bh=m5+CYKZ7tN6ba5Sd0mJbKigLb4cy2IiYNIsk9Fyf1Jw=; b=UJ+yCOc0wMETIH8GR0l88s/tX8j3QC6+kisCY9+LJ16uW4GLZp8OlNlnZx9TVuCBsUltEz v9fF7y/fv+HxUK1K8BjSRkpDeJs1noZ/HX3aUegoKKbx5h0M8NJ3Oe00TOIr34NbRJ4SUD fbtTVggnyQlYlOuWdOP5XPxhEcLLDhdjIB2XY/zApZ6Gs2gmxuqChAVEGBik5YSjKttTZ7 DKI7kbMU/f/AZA8WUu1WkAf1Qs+23ycBMn1NtH7K1NG26MJzrisLGSgEnDV7B1htIymSy8 wmaukH6p5zozNyEdLSewrLnOyX3XhuD4nDFuqCQr0b2VoBIQyH4+9yI5m0Sc2w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=gmail.com (policy=none); 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" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1712415197; a=rsa-sha256; cv=none; b=cG8GZwE37lxyh7NeJytAx1dZk9G/maGmAEsfbZicEIomyg3v21YPbsZw9s2TGbY6XTRzJO Gj1XDK0ZPcA+MfMPdq8YdeFXMNkMv1vgP94EfPOv1mcY9qwiUsInT0qioHYwvGC6Ap3Ikn tNFIZClrVQj8pWrNCe3N4DdnkIqkxCJksJcI2iOm7iiFHAFb3RBz00SkbNzDlM1g8Dqbh9 iseCl2scZHqIYicK9Yb706vi17QAvRcjSlcJoObEEi7fVvlnY7PBc3nYrz6GoBK9i/Qbky 08oI4s5NvHIcsJrFGxC9kXRDbZ3EM/JOK65bYXMjP/gDjIyfNHb0ugTUe1K+og== 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 2AF9F57DE for ; Sat, 06 Apr 2024 16:53:16 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rt7P4-0000B9-AQ; Sat, 06 Apr 2024 10:52:22 -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 1rt7Oy-00005K-Ct for emacs-orgmode@gnu.org; Sat, 06 Apr 2024 10:52:16 -0400 Received: from ciao.gmane.io ([116.202.254.214]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rt7Ow-0006YF-LO for emacs-orgmode@gnu.org; Sat, 06 Apr 2024 10:52:16 -0400 Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1rt7Or-0006QQ-C2 for emacs-orgmode@gnu.org; Sat, 06 Apr 2024 16:52:09 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: emacs-orgmode@gnu.org From: Max Nikulin Subject: Re: [POLL] Dealing with +1m/y repeaters when jumping to impossible date (should 05-31 +1m be 07-01 or 06-30?) Date: Sat, 6 Apr 2024 21:52:00 +0700 Message-ID: References: <87frvzodze.fsf@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit User-Agent: Mozilla Thunderbird Content-Language: en-US, ru-RU In-Reply-To: <87frvzodze.fsf@localhost> Received-SPF: pass client-ip=116.202.254.214; envelope-from=geo-emacs-orgmode@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: 27 X-Spam_score: 2.7 X-Spam_bar: ++ X-Spam_report: (2.7 / 5.0 requ) BAYES_00=-1.9, DKIM_ADSP_CUSTOM_MED=0.001, FORGED_GMAIL_RCVD=1, FORGED_MUA_MOZILLA=2.309, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, NML_ADSP_CUSTOM_MED=0.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_SBL_A=0.1 autolearn=no 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-Spam-Score: -5.75 X-Migadu-Scanner: mx11.migadu.com X-Spam-Score: -5.75 X-Migadu-Queue-Id: 2AF9F57DE X-TUID: MKqJNgren5xP On 06/04/2024 01:34, Ihor Radchenko wrote: > Generally, I did see several requests to change the strategy when > calculating next month/year. However, that would be a breaking change. > I'd only go for it if people are strongly in favor of the change. > So, changing this to a poll. I think the following should be taken into account: behavior of popular calendar applications, specifications they implement, libraries that likely used to create such applications. Should it be configurable per user, per file, or even per rule (timestamp with repeater)? I am not familiar with RFC5545 iCalendar, so I am unsure what options it recommends. An example of recently designed library (however Org does not support calendars with leap *months*): "Handling unusual dates: leap days, leap months, and skipped or repeated periods" (Temporal proposal for JavaScript) > When Temporal encounters inputs representing a month and/or day that > doesn't exist in the desired calendar year, by default (overridable in > with or from via the overflow option) the inputs will be adjusted using > the following algorithm: > > - First, pick the closest day in the same month. If there are two > equally-close dates in that month, pick the later one. > - If the month is a leap month that doesn't exist in the desired year, > then pick another date according to the cultural conventions of that > calendar's users. Usually this will result in the same day in the month > before or the month after where that month would normally fall in a leap > year. > - Otherwise, pick the closest date to the provided date that is still in > the same year. If there are two equally-close dates, pick the later one. > - If the entire year doesn't exist, then pick the closest date to the > provided date. If there are two equally-close dates, pick the later one.