@@ -2777,23 +2777,11 @@ proc doprogupdate {} {
27772777}
27782778
27792779proc savestuff {w} {
2780- global canv canv2 canv3 mainfont textfont uifont tabstop
2781- global stuffsaved findmergefiles maxgraphpct
2782- global maxwidth showneartags showlocalchanges
27832780 global viewname viewfiles viewargs viewargscmd viewperm nextviewnum
2784- global cmitmode wrapcomment datetimeformat limitdiffs
2785- global colors uicolor bgcolor fgcolor diffcolors diffcontext selectbgcolor
2786- global uifgcolor uifgdisabledcolor
2787- global headbgcolor headfgcolor headoutlinecolor remotebgcolor
2788- global tagbgcolor tagfgcolor tagoutlinecolor
2789- global reflinecolor filesepbgcolor filesepfgcolor
2790- global mergecolors foundbgcolor currentsearchhitbgcolor
2791- global linehoverbgcolor linehoverfgcolor linehoveroutlinecolor circlecolors
2792- global mainheadcirclecolor workingfilescirclecolor indexcirclecolor
2793- global linkfgcolor circleoutlinecolor
2794- global autoselect autosellen extdifftool perfile_attrs markbgcolor use_ttk
2795- global hideremotes want_ttk maxrefs visiblerefs
2781+ global use_ttk
2782+ global stuffsaved
27962783 global config_file config_file_tmp
2784+ global config_variables
27972785
27982786 if {$stuffsaved } return
27992787 if {![winfo viewable .]} return
@@ -2805,59 +2793,10 @@ proc savestuff {w} {
28052793 if {$::tcl_platform(platform) eq {windows}} {
28062794 file attributes $config_file_tmp -hidden true
28072795 }
2808- puts $f [list set mainfont $mainfont ]
2809- puts $f [list set textfont $textfont ]
2810- puts $f [list set uifont $uifont ]
2811- puts $f [list set tabstop $tabstop ]
2812- puts $f [list set findmergefiles $findmergefiles ]
2813- puts $f [list set maxgraphpct $maxgraphpct ]
2814- puts $f [list set maxwidth $maxwidth ]
2815- puts $f [list set cmitmode $cmitmode ]
2816- puts $f [list set wrapcomment $wrapcomment ]
2817- puts $f [list set autoselect $autoselect ]
2818- puts $f [list set autosellen $autosellen ]
2819- puts $f [list set showneartags $showneartags ]
2820- puts $f [list set maxrefs $maxrefs ]
2821- puts $f [list set visiblerefs $visiblerefs ]
2822- puts $f [list set hideremotes $hideremotes ]
2823- puts $f [list set showlocalchanges $showlocalchanges ]
2824- puts $f [list set datetimeformat $datetimeformat ]
2825- puts $f [list set limitdiffs $limitdiffs ]
2826- puts $f [list set uicolor $uicolor ]
2827- puts $f [list set want_ttk $want_ttk ]
2828- puts $f [list set bgcolor $bgcolor ]
2829- puts $f [list set fgcolor $fgcolor ]
2830- puts $f [list set uifgcolor $uifgcolor ]
2831- puts $f [list set uifgdisabledcolor $uifgdisabledcolor ]
2832- puts $f [list set colors $colors ]
2833- puts $f [list set diffcolors $diffcolors ]
2834- puts $f [list set mergecolors $mergecolors ]
2835- puts $f [list set markbgcolor $markbgcolor ]
2836- puts $f [list set diffcontext $diffcontext ]
2837- puts $f [list set selectbgcolor $selectbgcolor ]
2838- puts $f [list set foundbgcolor $foundbgcolor ]
2839- puts $f [list set currentsearchhitbgcolor $currentsearchhitbgcolor ]
2840- puts $f [list set extdifftool $extdifftool ]
2841- puts $f [list set perfile_attrs $perfile_attrs ]
2842- puts $f [list set headbgcolor $headbgcolor ]
2843- puts $f [list set headfgcolor $headfgcolor ]
2844- puts $f [list set headoutlinecolor $headoutlinecolor ]
2845- puts $f [list set remotebgcolor $remotebgcolor ]
2846- puts $f [list set tagbgcolor $tagbgcolor ]
2847- puts $f [list set tagfgcolor $tagfgcolor ]
2848- puts $f [list set tagoutlinecolor $tagoutlinecolor ]
2849- puts $f [list set reflinecolor $reflinecolor ]
2850- puts $f [list set filesepbgcolor $filesepbgcolor ]
2851- puts $f [list set filesepfgcolor $filesepfgcolor ]
2852- puts $f [list set linehoverbgcolor $linehoverbgcolor ]
2853- puts $f [list set linehoverfgcolor $linehoverfgcolor ]
2854- puts $f [list set linehoveroutlinecolor $linehoveroutlinecolor ]
2855- puts $f [list set mainheadcirclecolor $mainheadcirclecolor ]
2856- puts $f [list set workingfilescirclecolor $workingfilescirclecolor ]
2857- puts $f [list set indexcirclecolor $indexcirclecolor ]
2858- puts $f [list set circlecolors $circlecolors ]
2859- puts $f [list set linkfgcolor $linkfgcolor ]
2860- puts $f [list set circleoutlinecolor $circleoutlinecolor ]
2796+ foreach var_name $config_variables {
2797+ upvar #0 $var_name var
2798+ puts $f [list set $var_name $var ]
2799+ }
28612800
28622801 puts $f " set geometry(main) [ wm geometry .] "
28632802 puts $f " set geometry(state) [ wm state .] "
@@ -12171,6 +12110,19 @@ catch {
1217112110 source $config_file
1217212111}
1217312112
12113+ set config_variables {
12114+ mainfont textfont uifont tabstop findmergefiles maxgraphpct maxwidth
12115+ cmitmode wrapcomment autoselect autosellen showneartags maxrefs visiblerefs
12116+ hideremotes showlocalchanges datetimeformat limitdiffs uicolor want_ttk
12117+ bgcolor fgcolor uifgcolor uifgdisabledcolor colors diffcolors mergecolors
12118+ markbgcolor diffcontext selectbgcolor foundbgcolor currentsearchhitbgcolor
12119+ extdifftool perfile_attrs headbgcolor headfgcolor headoutlinecolor
12120+ remotebgcolor tagbgcolor tagfgcolor tagoutlinecolor reflinecolor
12121+ filesepbgcolor filesepfgcolor linehoverbgcolor linehoverfgcolor
12122+ linehoveroutlinecolor mainheadcirclecolor workingfilescirclecolor
12123+ indexcirclecolor circlecolors linkfgcolor circleoutlinecolor
12124+ }
12125+
1217412126parsefont mainfont $mainfont
1217512127eval font create mainfont [fontflags mainfont]
1217612128eval font create mainfontbold [fontflags mainfont 1]
0 commit comments