Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Mark file borders better in patch view. Added ignore keyword option to directory diff. Changed command line options to allow abbreviations. Error on bad command line args. Added -patch option. Release 2.0.7. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
ad6beaa1dd19d8e59121e1757bf42211 |
User & Date: | peter 2004-12-14 22:25:05.000 |
Context
2004-12-14
| ||
22:44 | *** empty log message *** check-in: b193701c70 user: peter tags: trunk | |
22:25 | Mark file borders better in patch view. Added ignore keyword option to directory diff. Changed command line options to allow abbreviations. Error on bad command line args. Added -patch option. Release 2.0.7. check-in: ad6beaa1dd user: peter tags: trunk | |
21:34 | *** empty log message *** check-in: 5a99c3da88 user: peter tags: trunk | |
Changes
Changes to src/eskil.tcl.
︙ | ︙ | |||
48 49 50 51 52 53 54 | # Add a dummy if it does not exist. proc addBalloon {args} {} } else { namespace import -force psballoon::addBalloon } set debug 0 | | | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | # Add a dummy if it does not exist. proc addBalloon {args} {} } else { namespace import -force psballoon::addBalloon } set debug 0 set diffver "Version 2.0.7 2004-12-14" set thisScript [file join [pwd] [info script]] set thisDir [file dirname $thisScript] # Follow any link set tmplink $thisScript while {[file type $tmplink] eq "link"} { set tmplink [file readlink $tmplink] |
︙ | ︙ | |||
1032 1033 1034 1035 1036 1037 1038 | set state newfile set style u set leftRE {^---\s+(.*)$} set rightRE {^\+\+\+\s+(.*)$} } if {$state eq "newfile" && [regexp $leftRE $line -> sub]} { emptyLine $top 1 | | | | | | | | 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 | set state newfile set style u set leftRE {^---\s+(.*)$} set rightRE {^\+\+\+\s+(.*)$} } if {$state eq "newfile" && [regexp $leftRE $line -> sub]} { emptyLine $top 1 insertLine $top 1 "" $divider patch insertLine $top 1 "" $sub patch insertLine $top 1 "" $divider patch addChange $top 4 change 0 0 0 0 continue } if {$state eq "newfile" && [regexp $rightRE $line -> sub]} { emptyLine $top 2 insertLine $top 2 "" $divider patch insertLine $top 2 "" $sub patch insertLine $top 2 "" $divider patch continue } # A new section in a -u style diff if {[regexp {^@@\s+-(\d+),\d+\s+\+(\d+),} $line -> sub1 sub2]} { if {$state eq "both"} { displayOnePatch $top $leftLines $rightLines \ $leftLine $rightLine |
︙ | ︙ | |||
3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 | -textvariable ::widgets($top,isearchLabel) addBalloon $top.ls "Incremental search indicator" canvas $top.c -width 6 -bd 0 -selectborderwidth 0 -highlightthickness 0 applyColor foreach w [list $top.ft1.tt $top.ft2.tt] { $w tag configure last -underline 1 $w tag raise sel bind $w <ButtonPress-3> "zoomRow %W %X %Y %x %y" bind $w <ButtonRelease-3> "unzoomRow %W" } foreach w [list $top.ft1.tl $top.ft2.tl] { $w tag configure align -underline 1 bind $w <ButtonPress-3> "rowPopup %W %X %Y %x %y" | > > > > | 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 | -textvariable ::widgets($top,isearchLabel) addBalloon $top.ls "Incremental search indicator" canvas $top.c -width 6 -bd 0 -selectborderwidth 0 -highlightthickness 0 applyColor foreach w [list $top.ft1.tt $top.ft2.tt] { # The last change in a row is underlined $w tag configure last -underline 1 # Each file in a patch view starts with a block of this type $w tag configure patch -background gray # Make sure selection is visible $w tag raise sel bind $w <ButtonPress-3> "zoomRow %W %X %Y %x %y" bind $w <ButtonRelease-3> "unzoomRow %W" } foreach w [list $top.ft1.tl $top.ft2.tl] { $w tag configure align -underline 1 bind $w <ButtonPress-3> "rowPopup %W %X %Y %x %y" |
︙ | ︙ | |||
3999 4000 4001 4002 4003 4004 4005 | label $w.l2 -text "Subst:" -anchor "w" entry $w.e2 -textvariable ::diff($top,prefregsub$t) grid $w.l1 $w.e1 -sticky we -padx 3 -pady 3 grid $w.l2 $w.e2 -sticky we -padx 3 -pady 3 grid columnconfigure $w 1 -weight 1 | | | 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 | label $w.l2 -text "Subst:" -anchor "w" entry $w.e2 -textvariable ::diff($top,prefregsub$t) grid $w.l1 $w.e1 -sticky we -padx 3 -pady 3 grid $w.l2 $w.e2 -sticky we -padx 3 -pady 3 grid columnconfigure $w 1 -weight 1 pack $w -side "top" -fill x -padx 3 -pady 3 trace add variable ::diff($top,prefregexp$t) write \ [list EditPrefRegsubUpdate $top] trace add variable ::diff($top,prefregsub$t) write \ [list EditPrefRegsubUpdate $top] } |
︙ | ︙ | |||
4030 4031 4032 4033 4034 4035 4036 | if {![info exists ::diff($top,prefregexa)]} { set ::diff($top,prefregexa) \ "An example TextString FOR_REGSUB /* Comment */" set ::diff($top,prefregexa2) \ "An example TextString FOR_REGSUB /* Comment */" } labelframe $w.res -text "Preprocessing result" -padx 3 -pady 3 | | | | | | | 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 | if {![info exists ::diff($top,prefregexa)]} { set ::diff($top,prefregexa) \ "An example TextString FOR_REGSUB /* Comment */" set ::diff($top,prefregexa2) \ "An example TextString FOR_REGSUB /* Comment */" } labelframe $w.res -text "Preprocessing result" -padx 3 -pady 3 label $w.res.l3 -text "Example 1:" -anchor "w" entry $w.res.e3 -textvariable ::diff($top,prefregexa) -width 60 label $w.res.l4 -text "Result 1:" -anchor "w" label $w.res.e4 -textvariable ::diff($top,prefregresult) \ -anchor "w" -width 10 label $w.res.l5 -text "Example 2:" -anchor "w" entry $w.res.e5 -textvariable ::diff($top,prefregexa2) label $w.res.l6 -text "Result 2:" -anchor "w" label $w.res.e6 -textvariable ::diff($top,prefregresult2) \ -anchor "w" -width 10 grid $w.res.l3 $w.res.e3 -sticky we -padx 3 -pady 3 grid $w.res.l4 $w.res.e4 -sticky we -padx 3 -pady 3 grid $w.res.l5 $w.res.e5 -sticky we -padx 3 -pady 3 grid $w.res.l6 $w.res.e6 -sticky we -padx 3 -pady 3 grid columnconfigure $w.res 1 -weight 1 # Buttons frame $w.fb -padx 3 -pady 3 button $w.fb.b1 -text "Ok" -command [list EditPrefRegsubOk $top $w] button $w.fb.b2 -text "Cancel" -command [list destroy $w] set ::widgets($top,prefRegsubOk) $w.fb.b1 grid $w.fb.b1 x $w.fb.b2 -sticky we grid columnconfigure $w.fb {0 2} -uniform a grid columnconfigure $w.fb 1 -weight 1 # Top layout pack $w.b -side "top" -anchor "w" -padx 3 -pady 3 pack $w.fb $w.res -side bottom -fill x -padx 3 -pady 3 # Fill in existing set t 1 foreach {RE Sub} $::Pref(regsub) { set ::diff($top,prefregexp$t) $RE set ::diff($top,prefregsub$t) $Sub |
︙ | ︙ | |||
4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 | return 0 } # Don't check further if any is a directory if {[file isdirectory $file1] || [file isdirectory $file2]} { return 0 } switch $Pref(comparelevel) { 1b - 1 { # Check contents internally set bufsz 65536 set eq 1 set ch1 [open $file1 r] set ch2 [open $file2 r] if {$Pref(comparelevel) eq "1b"} { fconfigure $ch1 -translation binary fconfigure $ch2 -translation binary } while {![eof $ch1] && ![eof $ch2]} { set f1 [read $ch1 $bufsz] set f2 [read $ch2 $bufsz] if {![string equal $f1 $f2]} { set eq 0 break } } if {([eof $ch1] + [eof $ch2]) < 2} { set eq 0 } close $ch1 close $ch2 } 2 { # Simple external diff set eq [expr {![catch {exec $::util(diffexe) $file1 $file2}]}] } 3 { # Ignore space set eq [expr {![catch {exec $::util(diffexe) -w $file1 $file2}]}] } 4 { # Ignore case set eq [expr {![catch {exec $::util(diffexe) -i $file1 $file2}]}] } | > > > > > < < < < < | 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 | return 0 } # Don't check further if any is a directory if {[file isdirectory $file1] || [file isdirectory $file2]} { return 0 } set ignorekey $Pref(dir,ignorekey) switch $Pref(comparelevel) { 1b - 1 { # Check contents internally set bufsz 65536 set eq 1 set ch1 [open $file1 r] set ch2 [open $file2 r] if {$Pref(comparelevel) eq "1b"} { fconfigure $ch1 -translation binary fconfigure $ch2 -translation binary } while {![eof $ch1] && ![eof $ch2]} { set f1 [read $ch1 $bufsz] set f2 [read $ch2 $bufsz] if {$ignorekey} { regsub -all {\$\w+:[^\$]*\$} $f1 {} f1 regsub -all {\$\w+:[^\$]*\$} $f2 {} f2 } if {![string equal $f1 $f2]} { set eq 0 break } } if {([eof $ch1] + [eof $ch2]) < 2} { set eq 0 } close $ch1 close $ch2 } 2 { # Simple external diff set eq [expr {![catch {exec $::util(diffexe) $file1 $file2}]}] } 3 { # Ignore space set eq [expr {![catch {exec $::util(diffexe) -w $file1 $file2}]}] } 4 { # Ignore case set eq [expr {![catch {exec $::util(diffexe) -i $file1 $file2}]}] } } return $eq } # Display two files in the directory windows and set up info for # interacting with them. # diff: Do they differ. |
︙ | ︙ | |||
4723 4724 4725 4726 4727 4728 4729 | -label "Internal compare (bin)" $top.mo.mc add radiobutton -variable Pref(comparelevel) -value 2 \ -label "Use Diff" $top.mo.mc add radiobutton -variable Pref(comparelevel) -value 3 \ -label "Diff, ignore blanks" $top.mo.mc add radiobutton -variable Pref(comparelevel) -value 4 \ -label "Diff, ignore case" | | | | 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 | -label "Internal compare (bin)" $top.mo.mc add radiobutton -variable Pref(comparelevel) -value 2 \ -label "Use Diff" $top.mo.mc add radiobutton -variable Pref(comparelevel) -value 3 \ -label "Diff, ignore blanks" $top.mo.mc add radiobutton -variable Pref(comparelevel) -value 4 \ -label "Diff, ignore case" $top.mo.mc add checkbutton -variable Pref(dir,ignorekey) \ -label "Ignore \$Keyword:\$" menubutton $top.mt -text "Tools" -underline 0 -menu $top.mt.m menu $top.mt.m $top.mt.m add command -label "New Diff Window" -underline 0 \ -command makeDiffWin $top.mt.m add command -label "Clip Diff" -underline 0 \ -command makeClipDiffWin |
︙ | ︙ | |||
5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 | Options: -nodiff : Normally, if there are enough information on the command line to run diff, Eskil will do so unless this option is specified. -dir : Start in directory diff mode. Ignores other args. -clip : Start in clip diff mode. Ignores other args. -noparse : Eskil can perform analysis of changed blocks to -line : improve display. See online help for details. -smallblock : The default. Do block analysis on small blocks. -block : Full block analysis. This can be slow if there are large change blocks. -char : The analysis of changes can be done on either -word : character or word basis. -char is the default. -noignore : Don't ignore any whitespace. -b : Ignore space changes. Default. -w : Ignore all spaces. -nocase : Ignore case changes. -nodigit : Ignore digit changes. -prefix <str> : Care mainly about words starting with "str". -r <ver> : Version info for CVS/RCS/ClearCase diff. -conflict : Treat file as a merge conflict file and enter merge mode. -o <file> : Specify merge result output file. -browse : Automatically bring up file dialog after starting. -server : Set up Eskil to be controllable from the outside. -print <file> : Generate postscript and exit. -limit <lines> : Do not process more than <lines> lines.} } proc parseCommandLine {} { global dirdiff Pref if {$::eskil(argc) == 0} { makeDiffWin return } set noautodiff 0 set autobrowse 0 set dodir 0 set doclip 0 set files "" set nextArg "" set revNo 1 foreach arg $::eskil(argv) { if {$nextArg != ""} { if {$nextArg eq "mergeFile"} { set opts(mergeFile) [file join [pwd] $arg] } elseif {$nextArg eq "printFile"} { set opts(printFile) [file join [pwd] $arg] } elseif {$nextArg eq "revision"} { | > > > > > > > > > > > > > > > > > > > > > > | 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 | Options: -nodiff : Normally, if there are enough information on the command line to run diff, Eskil will do so unless this option is specified. -dir : Start in directory diff mode. Ignores other args. -clip : Start in clip diff mode. Ignores other args. -patch : View patch file. -noparse : Eskil can perform analysis of changed blocks to -line : improve display. See online help for details. -smallblock : The default. Do block analysis on small blocks. -block : Full block analysis. This can be slow if there are large change blocks. -char : The analysis of changes can be done on either -word : character or word basis. -char is the default. -noignore : Don't ignore any whitespace. -b : Ignore space changes. Default. -w : Ignore all spaces. -nocase : Ignore case changes. -nodigit : Ignore digit changes. -nokeyword : In directory diff, ignore $ Keywords: $ -prefix <str> : Care mainly about words starting with "str". -r <ver> : Version info for CVS/RCS/ClearCase diff. -conflict : Treat file as a merge conflict file and enter merge mode. -o <file> : Specify merge result output file. -browse : Automatically bring up file dialog after starting. -server : Set up Eskil to be controllable from the outside. -print <file> : Generate postscript and exit. -limit <lines> : Do not process more than <lines> lines.} } # Go through all command line arguments proc parseCommandLine {} { global dirdiff Pref if {$::eskil(argc) == 0} { makeDiffWin return } set allOpts { -w --help -help -b -noignore -i -nocase -nodigit -nokeyword -prefix -noparse -line -smallblock -block -char -word -limit -nodiff -dir -clip -patch -browse -conflict -print -server -o -r } # If the first option is "--query", use it to ask about options. if {$::eskil(argc) == 2 && [lindex $::eskil(argv) 0] == "--query"} { set arg [lindex $::eskil(argv) 1] if {[lsearch -exact $allOpts $arg] < 0} { set match [lsearch -glob -all -inline $allOpts $arg*] } else { set match [list $arg] } puts [lsort -dictionary $match] exit } set noautodiff 0 set autobrowse 0 set dodir 0 set doclip 0 set files "" set nextArg "" set revNo 1 set dopatch 0 foreach arg $::eskil(argv) { if {$nextArg != ""} { if {$nextArg eq "mergeFile"} { set opts(mergeFile) [file join [pwd] $arg] } elseif {$nextArg eq "printFile"} { set opts(printFile) [file join [pwd] $arg] } elseif {$nextArg eq "revision"} { |
︙ | ︙ | |||
5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 | set RE "(?i)$RE" } set ::Pref(regsub) [list $RE {\1}] } set nextArg "" continue } if {$arg eq "-w"} { set Pref(ignore) "-w" } elseif {$arg eq "--help" || $arg eq "-help"} { printUsage exit } elseif {$arg eq "-b"} { set Pref(ignore) "-b" } elseif {$arg eq "-noignore"} { set Pref(ignore) " " } elseif {$arg eq "-i"} { set Pref(nocase) 1 } elseif {$arg eq "-nocase"} { set Pref(nocase) 1 } elseif {$arg eq "-nodigit"} { set Pref(nodigit) 1 } elseif {$arg eq "-prefix"} { set nextArg prefix } elseif {$arg eq "-noparse"} { set Pref(parse) 0 } elseif {$arg eq "-line"} { set Pref(parse) 1 } elseif {$arg eq "-smallblock"} { set Pref(parse) 2 } elseif {$arg eq "-block"} { set Pref(parse) 3 } elseif {$arg eq "-char"} { set Pref(lineparsewords) 0 } elseif {$arg eq "-word"} { set Pref(lineparsewords) 1 | > > > > > > > > > > > > > > > > > | | > > < < < | > | 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 | set RE "(?i)$RE" } set ::Pref(regsub) [list $RE {\1}] } set nextArg "" continue } # Take care of the special case of RCS style -r<rev> if {[string range $arg 0 1] eq "-r" && [string length $arg] > 2} { set opts(doptrev$revNo) [string range $arg 2 end] incr revNo continue } # Try to see if it is an unique abbreviation of an option. # If not, let it fall through to the file check. if {[lsearch -exact $allOpts $arg] < 0} { set match [lsearch -glob -all -inline $allOpts $arg*] if {[llength $match] == 1} { set arg [lindex $match 0] } } if {$arg eq "-w"} { set Pref(ignore) "-w" } elseif {$arg eq "--help" || $arg eq "-help"} { printUsage exit } elseif {$arg eq "-b"} { set Pref(ignore) "-b" } elseif {$arg eq "-noignore"} { set Pref(ignore) " " } elseif {$arg eq "-i"} { set Pref(nocase) 1 } elseif {$arg eq "-nocase"} { set Pref(nocase) 1 } elseif {$arg eq "-nodigit"} { set Pref(nodigit) 1 } elseif {$arg eq "-nokeyword"} { set Pref(dir,ignorekey) 1 } elseif {$arg eq "-prefix"} { set nextArg prefix } elseif {$arg eq "-noparse"} { set Pref(parse) 0 } elseif {$arg eq "-line"} { set Pref(parse) 1 } elseif {$arg eq "-smallblock"} { set Pref(parse) 2 } elseif {$arg eq "-block"} { set Pref(parse) 3 } elseif {$arg eq "-char"} { set Pref(lineparsewords) 0 } elseif {$arg eq "-word"} { set Pref(lineparsewords) 1 } elseif {$arg eq "-2nd"} { # Deprecated #set Pref(extralineparse) 1 } elseif {$arg eq "-no2nd"} { # Deprecated #set Pref(extralineparse) 0 } elseif {$arg eq "-limit"} { set nextArg limitlines } elseif {$arg eq "-nodiff"} { set noautodiff 1 } elseif {$arg eq "-dir"} { set dodir 1 } elseif {$arg eq "-clip"} { set doclip 1 } elseif {$arg eq "-patch"} { set dopatch 1 } elseif {$arg eq "-browse"} { set autobrowse 1 } elseif {$arg eq "-conflict"} { set opts(mode) "conflict" } elseif {$arg eq "-print"} { set nextArg printFile } elseif {$arg eq "-server"} { if {$::tcl_platform(platform) eq "windows"} { catch { package require dde dde servername Eskil } } else { tk appname Eskil } } elseif {$arg eq "-o"} { set nextArg mergeFile } elseif {$arg eq "-r"} { set nextArg revision } else { set apa [file normalize [file join [pwd] $arg]] if {![file exists $apa]} { puts "Bad argument: $arg" exit } else { lappend files $apa } } } # Do we start in clip diff mode? |
︙ | ︙ | |||
5350 5351 5352 5353 5354 5355 5356 | set fullname [file join [pwd] [lindex $files 0]] set fulldir [file dirname $fullname] if {$::diff($top,mode) eq "conflict"} { startConflictDiff $top $fullname after idle [list doDiff $top] return } | | | | 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 | set fullname [file join [pwd] [lindex $files 0]] set fulldir [file dirname $fullname] if {$::diff($top,mode) eq "conflict"} { startConflictDiff $top $fullname after idle [list doDiff $top] return } if {!$autobrowse && !$dopatch} { # Check for revision control set rev [DetectRevSystem $fullname] if {$rev ne ""} { startRevMode $top $rev $fullname if {$noautodiff} { enableRedo $top } else { after idle [list doDiff $top] } return } } # No revision control. Is it a patch file? set ::diff($top,leftDir) $fulldir set ::diff($top,leftFile) $fullname set ::diff($top,leftLabel) $fullname set ::diff($top,leftOK) 1 if {$dopatch || [regexp {\.(diff|patch)$} $fullname]} { set ::diff($top,mode) "patch" set ::diff($top,patchFile) $fullname set autobrowse 0 if {$noautodiff} { enableRedo $top } else { after idle [list doDiff $top] |
︙ | ︙ | |||
5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 | startRevMode $top "CVS" $fullname after idle [list doDiff $top] } } } } proc saveOptions {top} { global Pref # Check if the window size has changed set w $::widgets($top,wDiff1) if {[winfo reqwidth $w] != [winfo width $w] || \ [winfo reqheight $w] != [winfo height $w]} { | > | 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 | startRevMode $top "CVS" $fullname after idle [list doDiff $top] } } } } # Save options to file ~/.eskilrc proc saveOptions {top} { global Pref # Check if the window size has changed set w $::widgets($top,wDiff1) if {[winfo reqwidth $w] != [winfo width $w] || \ [winfo reqheight $w] != [winfo height $w]} { |
︙ | ︙ | |||
5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 | set Pref(linewidth) 80 set Pref(lines) 60 set Pref(editor) "" set Pref(regsub) {} # Directory diff options set Pref(comparelevel) 1 set Pref(recursive) 0 set Pref(dir,onlydiffs) 0 set Pref(nodir) 0 set Pref(autocompare) 1 # Backward compatibilty option set Pref(onlydiffs) -1 | > | 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 | set Pref(linewidth) 80 set Pref(lines) 60 set Pref(editor) "" set Pref(regsub) {} # Directory diff options set Pref(comparelevel) 1 set Pref(dir,ignorekey) 0 set Pref(recursive) 0 set Pref(dir,onlydiffs) 0 set Pref(nodir) 0 set Pref(autocompare) 1 # Backward compatibilty option set Pref(onlydiffs) -1 |
︙ | ︙ |