@@ -2234,7 +2234,7 @@ proc makewindow {} {
22342234 global headctxmenu progresscanv progressitem progresscoords statusw
22352235 global fprogitem fprogcoord lastprogupdate progupdatepending
22362236 global rprogitem rprogcoord rownumsel numcommits
2237- global have_tk85 use_ttk NS
2237+ global have_tk85 have_tk86 use_ttk NS
22382238 global git_version
22392239 global worddiff
22402240
@@ -2732,8 +2732,13 @@ proc makewindow {} {
27322732 bind . <Key-Down> " selnextline 1"
27332733 bind . <Shift-Key-Up> " dofind -1 0"
27342734 bind . <Shift-Key-Down> " dofind 1 0"
2735- bindkey <Key-Right> " goforw"
2736- bindkey <Key-Left> " goback"
2735+ if {$have_tk86 } {
2736+ bindkey <<NextChar>> " goforw"
2737+ bindkey <<PrevChar>> " goback"
2738+ } else {
2739+ bindkey <Key-Right> " goforw"
2740+ bindkey <Key-Left> " goback"
2741+ }
27372742 bind . <Key-Prior> " selnextpage -1"
27382743 bind . <Key-Next> " selnextpage 1"
27392744 bind . <$M1B -Home> " allcanvs yview moveto 0.0"
@@ -7847,7 +7852,7 @@ proc gettreeline {gtf id} {
78477852 if {[ string index $fname 0] eq " \" " } {
78487853 set fname [ lindex $fname 0]
78497854 }
7850- set fname [ encoding convertfrom $fname ]
7855+ set fname [ encoding convertfrom utf-8 $fname ]
78517856 lappend treefilelist($id ) $fname
78527857 }
78537858 if {![ eof $gtf ] } {
@@ -8109,7 +8114,7 @@ proc gettreediffline {gdtf ids} {
81098114 if {[ string index $file 0] eq " \" " } {
81108115 set file [ lindex $file 0]
81118116 }
8112- set file [ encoding convertfrom $file ]
8117+ set file [ encoding convertfrom utf-8 $file ]
81138118 if {$file ne [ lindex $treediff end] } {
81148119 lappend treediff $file
81158120 lappend sublist $file
@@ -8254,7 +8259,7 @@ proc makediffhdr {fname ids} {
82548259 global ctext curdiffstart treediffs diffencoding
82558260 global ctext_file_names jump_to_here targetline diffline
82568261
8257- set fname [ encoding convertfrom $fname ]
8262+ set fname [ encoding convertfrom utf-8 $fname ]
82588263 set diffencoding [ get_path_encoding $fname ]
82598264 set i [ lsearch -exact $treediffs($ids) $fname ]
82608265 if {$i >= 0} {
@@ -8316,7 +8321,7 @@ proc parseblobdiffline {ids line} {
83168321
83178322 if {![ string compare -length 5 " diff " $line ] } {
83188323 if {![ regexp {^diff (--cc|--git) } $line m type] } {
8319- set line [ encoding convertfrom $line ]
8324+ set line [ encoding convertfrom utf-8 $line ]
83208325 $ctext insert end " $line \n " hunksep
83218326 continue
83228327 }
@@ -8365,7 +8370,7 @@ proc parseblobdiffline {ids line} {
83658370 makediffhdr $fname $ids
83668371
83678372 } elseif {![ string compare -length 16 " * Unmerged path " $line ] } {
8368- set fname [ encoding convertfrom [string range $line 16 end] ]
8373+ set fname [ encoding convertfrom utf-8 [string range $line 16 end] ]
83698374 $ctext insert end " \n "
83708375 set curdiffstart [ $ctext index " end - 1c" ]
83718376 lappend ctext_file_names $fname
@@ -8418,7 +8423,7 @@ proc parseblobdiffline {ids line} {
84188423 if {[ string index $fname 0] eq " \" " } {
84198424 set fname [ lindex $fname 0]
84208425 }
8421- set fname [ encoding convertfrom $fname ]
8426+ set fname [ encoding convertfrom utf-8 $fname ]
84228427 set i [ lsearch -exact $treediffs($ids) $fname ]
84238428 if {$i >= 0} {
84248429 setinlist difffilestart $i $curdiffstart
@@ -8437,6 +8442,7 @@ proc parseblobdiffline {ids line} {
84378442 set diffinhdr 0
84388443 return
84398444 }
8445+ set line [ encoding convertfrom utf-8 $line ]
84408446 $ctext insert end " $line \n " filesep
84418447
84428448 } else {
@@ -10195,7 +10201,7 @@ proc showrefs {} {
1019510201 text $top .list -background $bgcolor -foreground $fgcolor \
1019610202 -selectbackground $selectbgcolor -font mainfont \
1019710203 -xscrollcommand " $top .xsb set" -yscrollcommand " $top .ysb set" \
10198- -width 30 -height 20 -cursor $maincursor \
10204+ -width 60 -height 20 -cursor $maincursor \
1019910205 -spacing1 1 -spacing3 1 -state disabled
1020010206 $top .list tag configure highlight -background $selectbgcolor
1020110207 if {![ lsearch -exact $bglist $top .list] } {
@@ -12405,7 +12411,7 @@ proc cache_gitattr {attr pathlist} {
1240512411 foreach row [ split $rlist " \n " ] {
1240612412 if {[ regexp "(.*): $attr : (.*)" $row m path value] } {
1240712413 if {[ string index $path 0] eq " \" " } {
12408- set path [ encoding convertfrom [lindex $path 0] ]
12414+ set path [ encoding convertfrom utf-8 [lindex $path 0] ]
1240912415 }
1241012416 set path_attr_cache($attr ,$path ) $value
1241112417 }
@@ -12435,7 +12441,6 @@ if { [info exists ::env(GITK_MSGSDIR)] } {
1243512441 set gitk_prefix [ file dirname [file dirname [file normalize $argv0 ] ]]
1243612442 set gitk_libdir [ file join $gitk_prefix share gitk lib]
1243712443 set gitk_msgsdir [ file join $gitk_libdir msgs]
12438- unset gitk_prefix
1243912444}
1244012445
1244112446## Internationalization (i18n) through msgcat and gettext. See
@@ -12734,6 +12739,7 @@ set nullid2 "0000000000000000000000000000000000000001"
1273412739set nullfile " /dev/null"
1273512740
1273612741set have_tk85 [ expr {[package vcompare $tk_version " 8.5" ] >= 0}]
12742+ set have_tk86 [ expr {[package vcompare $tk_version " 8.6" ] >= 0}]
1273712743if {![ info exists have_ttk] } {
1273812744 set have_ttk [ llength [info commands ::ttk::style] ]
1273912745}
@@ -12798,28 +12804,32 @@ if {[expr {[exec git rev-parse --is-inside-work-tree] == "true"}]} {
1279812804set worktree [ gitworktree]
1279912805setcoords
1280012806makewindow
12801- catch {
12802- image create photo gitlogo -width 16 -height 16
12803-
12804- image create photo gitlogominus -width 4 -height 2
12805- gitlogominus put #C00000 -to 0 0 4 2
12806- gitlogo copy gitlogominus -to 1 5
12807- gitlogo copy gitlogominus -to 6 5
12808- gitlogo copy gitlogominus -to 11 5
12809- image delete gitlogominus
12810-
12811- image create photo gitlogoplus -width 4 -height 4
12812- gitlogoplus put #008000 -to 1 0 3 4
12813- gitlogoplus put #008000 -to 0 1 4 3
12814- gitlogo copy gitlogoplus -to 1 9
12815- gitlogo copy gitlogoplus -to 6 9
12816- gitlogo copy gitlogoplus -to 11 9
12817- image delete gitlogoplus
12818-
12819- image create photo gitlogo32 -width 32 -height 32
12820- gitlogo32 copy gitlogo -zoom 2 2
12821-
12822- wm iconphoto . -default gitlogo gitlogo32
12807+ if {$::tcl_platform(platform) eq {windows} && [ file exists $gitk_prefix /etc/git.ico] } {
12808+ wm iconbitmap . -default $gitk_prefix /etc/git.ico
12809+ } else {
12810+ catch {
12811+ image create photo gitlogo -width 16 -height 16
12812+
12813+ image create photo gitlogominus -width 4 -height 2
12814+ gitlogominus put #C00000 -to 0 0 4 2
12815+ gitlogo copy gitlogominus -to 1 5
12816+ gitlogo copy gitlogominus -to 6 5
12817+ gitlogo copy gitlogominus -to 11 5
12818+ image delete gitlogominus
12819+
12820+ image create photo gitlogoplus -width 4 -height 4
12821+ gitlogoplus put #008000 -to 1 0 3 4
12822+ gitlogoplus put #008000 -to 0 1 4 3
12823+ gitlogo copy gitlogoplus -to 1 9
12824+ gitlogo copy gitlogoplus -to 6 9
12825+ gitlogo copy gitlogoplus -to 11 9
12826+ image delete gitlogoplus
12827+
12828+ image create photo gitlogo32 -width 32 -height 32
12829+ gitlogo32 copy gitlogo -zoom 2 2
12830+
12831+ wm iconphoto . -default gitlogo gitlogo32
12832+ }
1282312833}
1282412834# wait for the window to become visible
1282512835tkwait visibility .
0 commit comments