Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Added regsub preference, and -prefix command line option. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
ddec185a0908608e2d42ed251b26d58b |
User & Date: | peter 2004-10-26 20:16:41.000 |
Context
2004-10-26
| ||
21:43 | Allow negative numbers in ClearCase revisions. check-in: 03aadb0443 user: peter tags: trunk | |
20:16 | Added regsub preference, and -prefix command line option. check-in: ddec185a09 user: peter tags: trunk | |
2004-10-21
| ||
21:37 | Made merge window variables separate per toplevel. Allow cursor keys to be used in merge text widget. Esc releases focus. Polished Merge Window. Removed Diff Options field since it was not used anymore. Clean Clip Diff data from CR since they disturbed diff. Added default x-padding of 5 to buttons. check-in: 06902f405e 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.6+ 2004-10-26" 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] |
︙ | ︙ | |||
1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 | } set range {} if {[info exists ::diff($top,range)] && \ [llength $::diff($top,range)] == 4} { set range $::diff($top,range) lappend opts -range $range } set differr [catch {eval DiffUtil::diffFiles $opts \ \$::diff($top,leftFile) \$::diff($top,rightFile)} diffres] # In conflict mode we can use the diff information collected when # parsing the conflict file. This makes sure the blocks in the conflict # file become change-blocks during merge. | > > > | 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 | } set range {} if {[info exists ::diff($top,range)] && \ [llength $::diff($top,range)] == 4} { set range $::diff($top,range) lappend opts -range $range } if {[llength $Pref(regsub)] > 0} { lappend opts -regsub $Pref(regsub) } set differr [catch {eval DiffUtil::diffFiles $opts \ \$::diff($top,leftFile) \$::diff($top,rightFile)} diffres] # In conflict mode we can use the diff information collected when # parsing the conflict file. This makes sure the blocks in the conflict # file become change-blocks during merge. |
︙ | ︙ | |||
3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 | $top.mo.mi add radiobutton -label "All spaces (-w)" \ -variable Pref(ignore) -value "-w" $top.mo.mi add separator $top.mo.mi add checkbutton -label "Case (-i)" \ -variable Pref(nocase) $top.mo.mi add checkbutton -label "Digits" \ -variable Pref(nodigit) menu $top.mo.mp $top.mo.mp add radiobutton -label "Nothing" -variable Pref(parse) -value 0 $top.mo.mp add radiobutton -label "Lines" -variable Pref(parse) -value 1 $top.mo.mp add radiobutton -label "Blocks (small)" -variable Pref(parse) \ -value 2 $top.mo.mp add radiobutton -label "Blocks" -variable Pref(parse) -value 3 | > > | 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 | $top.mo.mi add radiobutton -label "All spaces (-w)" \ -variable Pref(ignore) -value "-w" $top.mo.mi add separator $top.mo.mi add checkbutton -label "Case (-i)" \ -variable Pref(nocase) $top.mo.mi add checkbutton -label "Digits" \ -variable Pref(nodigit) $top.mo.mi add command -label "Regsub..." -underline 0 \ -command [list EditPrefRegsub $top] menu $top.mo.mp $top.mo.mp add radiobutton -label "Nothing" -variable Pref(parse) -value 0 $top.mo.mp add radiobutton -label "Lines" -variable Pref(parse) -value 1 $top.mo.mp add radiobutton -label "Blocks (small)" -variable Pref(parse) \ -value 2 $top.mo.mp add radiobutton -label "Blocks" -variable Pref(parse) -value 3 |
︙ | ︙ | |||
3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 | grid x .fo.bc -sticky we -padx 3 -pady 3 grid .fo.lf -sticky news -rowspan 5 grid columnconfigure .fo 0 -weight 1 grid rowconfigure .fo 1 -weight 1 exampleFont $lb } ##################################### # Registry section ##################################### proc makeRegistryFrame {w label key newvalue} { set old {} | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 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 | grid x .fo.bc -sticky we -padx 3 -pady 3 grid .fo.lf -sticky news -rowspan 5 grid columnconfigure .fo 0 -weight 1 grid rowconfigure .fo 1 -weight 1 exampleFont $lb } ########################### # Editor for ::Pref(regsub) ########################### proc EditPrefRegsubOk {top w} { set exa $::diff($top,prefregexa) set result {} for {set t 1} {[info exists ::diff($top,prefregexp$t)]} {incr t} { set RE $::diff($top,prefregexp$t) set Sub $::diff($top,prefregsub$t) if {$RE eq ""} continue if {[catch {regsub -all $RE $exa $Sub _} err]} { return } lappend result $RE $Sub } set ::Pref(regsub) $result destroy $w array unset ::diff $top,prefregexp* array unset ::diff $top,prefregsub* } proc EditPrefRegsubUpdate {top args} { set exa $::diff($top,prefregexa) set exa2 $::diff($top,prefregexa2) set ok $::widgets($top,prefRegsubOk) for {set t 1} {[info exists ::diff($top,prefregexp$t)]} {incr t} { set RE $::diff($top,prefregexp$t) set Sub $::diff($top,prefregsub$t) if {$RE eq ""} continue if {[catch {regsub -all $RE $exa $Sub result} err]} { set ::diff($top,prefregresult) "$t ERROR: $err" $ok configure -state disabled return } else { set exa $result } if {[catch {regsub -all $RE $exa2 $Sub result} err]} { set ::diff($top,prefregresult2) "$t ERROR: $err" $ok configure -state disabled return } else { set exa2 $result } } set ::diff($top,prefregresult2) $exa2 set ::diff($top,prefregresult) $exa $ok configure -state normal } proc AddPrefRegsub {top parent} { for {set t 1} {[winfo exists $parent.fr$t]} {incr t} { #Empty } set w [frame $parent.fr$t -bd 2 -relief groove -padx 3 -pady 3] label $w.l1 -text "Regexp:" -anchor "w" entry $w.e1 -textvariable ::diff($top,prefregexp$t) -width 60 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] } # Editor for ::Pref(regsub) proc EditPrefRegsub {top} { set w $top.prefregsub if {[winfo exists $w] && [winfo toplevel $w] eq $w} { wm deiconify $w raise $w focus $w } else { toplevel $w -padx 3 -pady 3 wm title $w "Preferences: Regsub" } button $w.b -text "Add" -padx 15 -command [list AddPrefRegsub $top $w] # Result example part 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 */" } frame $w.res -bd 2 -relief groove -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 AddPrefRegsub $top $w incr t } trace add variable ::diff($top,prefregexa) write \ [list EditPrefRegsubUpdate $top] trace add variable ::diff($top,prefregexa2) write \ [list EditPrefRegsubUpdate $top] EditPrefRegsubUpdate $top } ##################################### # Registry section ##################################### proc makeRegistryFrame {w label key newvalue} { set old {} |
︙ | ︙ | |||
4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 | -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. -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. | > > > | 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 | -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. |
︙ | ︙ | |||
5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 | } elseif {$nextArg eq "printFile"} { set opts(printFile) [file join [pwd] $arg] } elseif {$nextArg eq "revision"} { set opts(doptrev$revNo) $arg incr revNo } elseif {$nextArg eq "limitlines"} { set opts(limitlines) $arg } 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 "-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"} { | > > > > > > > > | 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 | } elseif {$nextArg eq "printFile"} { set opts(printFile) [file join [pwd] $arg] } elseif {$nextArg eq "revision"} { set opts(doptrev$revNo) $arg incr revNo } elseif {$nextArg eq "limitlines"} { set opts(limitlines) $arg } elseif {$nextArg eq "prefix"} { set RE [string map [list % $arg] {^.*?\m(%\w*).*$}] if {$Pref(nocase)} { 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"} { |
︙ | ︙ | |||
5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 | set Pref(bgnew1) \#a0ffa0 set Pref(bgnew2) \#e0e0ff set Pref(context) 0 set Pref(marklast) 1 set Pref(linewidth) 80 set Pref(lines) 60 set Pref(editor) "" # Directory diff options set Pref(comparelevel) 1 set Pref(recursive) 0 set Pref(dir,onlydiffs) 0 set Pref(nodir) 0 set Pref(autocompare) 1 | > > | 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 | set Pref(bgnew1) \#a0ffa0 set Pref(bgnew2) \#e0e0ff set Pref(context) 0 set Pref(marklast) 1 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 |
︙ | ︙ |