emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: date-to-time API change in 30.5


From: Jon Leech
Subject: Re: date-to-time API change in 30.5
Date: Wed, 4 Jun 2025 17:25:55 -0400

On Wed, Jun 4, 2025 at 5:19 PM Charles Choi <kickingvegas@gmail.com> wrote:
Ulrich -

Thanks for replying. My responses below:


> On Jun 4, 2025, at 1:58 PM, Ulrich Müller <ulm@gentoo.org> wrote:
>
> Not sure what version you mean by 30.5 (there's no such version),
> but we made some changes to the code in the Git master branch.
> These were discussed here: https://debbugs.gnu.org/72570

Apparently I was made aware of this by a user using a recent checkout of Emacs with version 31.0.50.

To clarify (I was the reporting user), the version string that gets by the emacs-git 
AUR package (https://aur.archlinux.org/packages/emacs-git) uses the function below
pkgver() {
  cd "$srcdir/emacs-git"

  printf "%s.%s" \
    $(grep AC_INIT configure.ac | \
    awk -F',' '{ gsub("[ \\[\\]]","",$2); print $2 }') \
    $(git rev-list --count HEAD)
}
 which gives when installing 

Package (1)      Old Version       New Version       Net Change
aurto/emacs-git  31.0.50.178508-1  31.0.50.178508-1    0.00 MiB

and `C-u emacs-version` prints

GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.49, cairo version 1.18.4) of 2025-06-04

>
> AFAICT "2025-06-04T13:21:00 EDT" is not a valid ISO 8601 time format.
> The standard doesn't know about time zones like "EDT" (because these
> abbreviations are ambiguous, I suppose). Valid time zone designators
> in ISO 8601 are: "Z" for UTC or "±hhmm" (or "±hh:mm", "±hh") for a
> hours/minutes offset from UTC.
>
> Also, an ISO 8601 timestamp doesn't contain any whitespace.
>
> Therefore:
>
>   (date-to-time "2025-06-04T13:21:00 EDT") → Invalid date
>   (date-to-time "2025-06-04T13:21:00-0400") → (26688 32892)
>
> Note that less formal space-separated formats will also work:
>
>   (date-to-time "2025-06-04 13:21:00 EDT") → (26688 32892)
>   (date-to-time "2025-06-04 13:21:00 -0400") → (26688 32892)
>   (date-to-time "Wed 4 Jun 25 13:21 EDT") → (26688 32892)
>   (date-to-time "Jun 4 13:21 -0400 2025") → (26688 32892)
>   (date-to-time "2025 Jun 4 13:21:00 -0400") → (26688 32892)
>
> However, mixing the "T" from ISO 8601 with an informal time zone spec
> won't work (and I'd argue that it shouldn't).


Thanks for the elucidation. Will make change to avoid usage of “T”.


Charles



Charles Y. Choi, Ph.D.
kickingvegas@gmail.com



reply via email to

[Prev in Thread] Current Thread [Next in Thread]