Thread (10 messages) 10 messages, 4 authors, 2016-06-15

Re: [PATCH 3/3] gitk: Allow displaying time zones from author and commit timestamps

flat view

From: Anders Kaseorg <hidden>
Date: 2016-06-15 22:51:20

On Sun, 29 May 2011, Paul Mackerras wrote:
quoted
@@ -11018,7 +11018,18 @@ proc prefsok {} {
 proc formatdate {d} {
     global datetimeformat
     if {$d ne {}} {
-	set d [clock format [lindex $d 0] -format $datetimeformat]
+	if {[string match {*%[zZ]*} $datetimeformat]} {
+	    if {[catch {set d [clock format [lindex $d 0] -timezone [lindex $d 1] -format $datetimeformat]}]} {
+		# Tcl < 8.5 does not support -timezone.
+		global env
+		set zone [lindex $d 1]
+		set env(TZ) "IDK[string range $zone 0 2]:[string range $zone 3 end]"
What is this about?  Where is the IDK prefix for timezones defined or
described?
Yeah, sorry, that deserved a bit more explanation.  This is a kludge to 
get Tcl 8.4 to format dates in the right timezone.  IDK is an arbitrary 
made up 3-letter code (“I Don’t Know”), since a UTC offset can’t generally 
be converted into a zone name.  The format of TZ is described at:
http://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html

Actually, reading that again, I just realized that I need to invert the 
sign.  Also that it can be longer than 3 letters; I’ll use “Unknown” 
instead.
quoted
+		set d [clock format [lindex $d 0] -format $datetimeformat]
+		unset env(TZ)
Oops, we just lost any previous setting of TZ...
Good point.

Thanks for taking a look.  I’ll follow up with a fixed version.

Anders
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help