On 26/04/2022 16:07, Ihor Radchenko wrote: > > LGTM. I think you can go ahead and continue with the followup patch > making use of the new macro. The attached patch set is assumed to be complete. I have no chance to thoroughly test it. Existing unit tests pass for Emacs-26 and Emacs-27. Nothing has changed for Emacs-25, as for the "main" branch one test fails. I have not tried Emacs-28 or the current git version. In comparison to the previous patch version I have expanded the docstring and added a bit more tests. I have tried to support recently committed to Emacs 6-elements list for `encode-time', but I do not like the following compile-time warning: > In toplevel form: > org-macs.el:1397:23:Warning: encode-time called with 1 argument, but requires > 6+ I had to carve the patch originally posted by Paul Eggert for the Emacs repository to adapt it for the Org repository and to drop org-encode-time-1 chunks. https://debbugs.gnu.org/cgi/bugreport.cgi?bug=54764#10 The largest patch replaces all calls of `encode-time' to `org-encode-time' Goals of `org-encode-time': - it should work at the compile or load time to minimize runtime performance impact, - since both ways to call `encode-time' are necessary (in a half of cases a list returned by `decode-time' is available, in other cases timestamps are assembled from scratch, none is preferred), it should be convenient in both cases, - it should allow Org to work even if support of multiple `encode-time' arguments will be removed from Emacs, - it should allow to avoid a pitfall with Emacs-27+ `encode-time': DST argument is taken into account when the function called with single list argument but it is ignored when multiple arguments is passed. `org-encode-time' respects DST value unless it is running in Emacs-26 or earlier. I have not added special code for old versions considering it as graceful degradation. Finally, let me remind that these changes are result of the following discussions: Ignacio Casso to emacs-orgmode. [BUG] org-agenda thinks timestamps after 23:00 correspond to the next day. Tue, 29 Mar 2022 15:09:10 +0200. https://list.orgmode.org/PAXPR06MB7760238F410CBE3203F78EE0C61E9@PAXPR06MB7760.eurprd06.prod.outlook.com https://debbugs.gnu.org/cgi/bugreport.cgi?bug=54731 https://list.orgmode.org/8b85c879-4f9b-eac3-e700-f176cc588577@gmail.com #54731 - Please, revert part of dd0727e1ec1 related to Org mode (`encode-time') - GNU bug report logs https://debbugs.gnu.org/cgi/bugreport.cgi?bug=54764 https://list.orgmode.org/5ed963b2-3fa8-48d8-627e-bc0571d15b43@gmail.com #54764 - encode-time: make DST and TIMEZONE fields of the list argument optional ones - GNU bug report logs