On Fri, Dec 13, 2013 at 07:46:36PM +0000, Astril Hayato wrote: > Write the gitk config data to $XDG_CONFIG_HOME/git/gitk ($HOME/.config/git/gitk > by default) in line with the XDG specification. This makes it consistent with > git which also follows the spec. > > If $HOME/.gitk already exists use that for backward compatibility, so only new > installations are affected. Sounds reasonable... > @@ -12058,7 +12061,27 @@ namespace import ::msgcat::mc > ## And eventually load the actual message catalog > ::msgcat::mcload $gitk_msgsdir > > -catch {source ~/.gitk} > +catch { > + # follow the XDG base directory specification by default. See > + # http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html > + if {[info exists env(XDG_CONFIG_HOME)] && $env(XDG_CONFIG_HOME) ne ""} { > + # XDG_CONFIG_HOME environment variable is set > + set config_file [file join $env(XDG_CONFIG_HOME) git gitk] > + set config_file_tmp [file join $env(XDG_CONFIG_HOME) git gitk-tmp] > + } else { > + # default XDG_CONFIG_HOME > + set config_file "~/.config/git/gitk" > + set config_file_tmp "~/.config/git/gitk-tmp" > + } > + if {![file exists $config_file]} { > + if {![file exists [file dirname $config_file]]} { > + file mkdir [file dirname $config_file] > + } > + # for backward compatability use the old config file if it exists > + if {[file exists "~/.gitk"]} {set config_file "~/.gitk"} Don't we need to set config_file_tmp here too? And, do we really want to create the ~/.config/git directory if we are using the old-style ~/.gitk as the config file? Paul. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html