[local-time-devel] [PATCH] Make local-time operate correctly with timezones

Maciej Katafiasz mathrick at gmail.com
Sat Aug 8 18:07:56 UTC 2009


On Sat, Aug 8, 2009 at 7:02 PM, Attila Lendvai<attila.lendvai at gmail.com> wrote:
> couldn't (... &key (timezone nil timezone-provided?)) work, together
> with an assert and a type check?
>
> or am i way off?

Nope, it couldn't. The problem is not the arglist, but where it's
called. Namely, DECODE-TIMESTAMP is called by WITH-DECODED-TIMESTAMP,
which originally took no offset parameter. It in turn was called in
several other places (coming from ADJUST-TIMESTAMP expansion) which
provided no way to specify either the timezone or the offset and
simply assumed that offset zero was meant, and for that used hardcoded
+UTC-ZONE+. So in the middle of an API centered around explicit
offsets, suddenly a timezone sprang up, and one you couldn't change at
that.

It's not pretty, but fixing this would need a lot more review of the
code for this kind of inconsistencies, plus restructuring it in a way
that'd have a lot more chances to break some clients. That's why we
wanted to get the patch reviewed and opinionated before going down an
uncertain route. It's quite probably possible to fix it up, but needs
more time and work, so we'd like a green light for the general
approach first.

Cheers,
Maciej




More information about the local-time-devel mailing list