The string is which timezone in Calendar.Timezone will be used, or a string to identify the "tzdata" timezone (Europe/Stockholm-like).
The "locale" timezone is a magic timezone that will, from the TZ string and/or localtime() function, determine which timezone the locale settings are put to. If it fails, it will default to Timezone.localtime(), which uses localtime() for time offset and names.
Like this:
| > Calendar.Timezone["locale"]; | (2) Result: Rule.Timezone(Europe/Stockholm) ... | orchid% TZ=UTC pike | Pike v7.7 release 11 running Hilfe v3.5 (Incremental Pike Frontend) | > Calendar.Timezone["locale"]; | (1) Result: Timezone(UTC)
Changing [pike]/lib/modules/Calendar.pmod/localization.h helps, but how is this done for every recompile of xenofarm?
It isn't. It's just for your install. So this isn't a fix to the original problem with xenofarm.
| > Calendar.Timezone["locale"]; | (2) Result: Rule.Timezone(Europe/Stockholm) ... | orchid% TZ=UTC pike
That was actually the answer I was hoping for. When I do:
export TZ=Europe/Amsterdam
Everything works just fine. Except for the second problem :)
Calendar.Timezone["locale"];
(1) Result: Timezone.localtime() alpha:/home/marc/Projects/Pike/xeno# export TZ=Europe/Amsterdam alpha:/home/marc/Projects/Pike/xeno# pike Pike v7.7 release 13 running Hilfe v3.5 (Incremental Pike Frontend)
Calendar.Timezone["locale"];
(1) Result: Rule.Timezone(Europe/Amsterdam)
Thanks Allot.
Marc
pike-devel@lists.lysator.liu.se