Eskil

Diff
Login

Differences From Artifact [c49914e1c9]:

To Artifact [a8781cde29]:


152
153
154
155
156
157
158
159
160

161
162
163
164
165
166
167
168
169
    }
}

#Count how many characters are common between the lines
proc comparelines2 {line1 line2} {
    comparelines $line1 $line2 res1 res2

    set len1 [llength $res1]
    for {set t 0; set sum1 0} {$t < $len1} {incr t 2} {

        incr sum1 [string length [lindex $res1 $t]]
    } 

    return $sum1
}

#Decide how to display change blocks
proc compareblocks {block1 block2} {
    set size1 [llength $block1]







|
|
>
|
|







152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
    }
}

#Count how many characters are common between the lines
proc comparelines2 {line1 line2} {
    comparelines $line1 $line2 res1 res2

    #Add lengths of every other element of res1 
    set sum1 0
    foreach {same dummy} $res1 {
        incr sum1 [string length $same]
    }

    return $sum1
}

#Decide how to display change blocks
proc compareblocks {block1 block2} {
    set size1 [llength $block1]
182
183
184
185
186
187
188
189

190
191
192
193
194

195
196
197
198
199
200
201
        set asym a
    }

    set result {}
    foreach line $block1 {
        set bestscore 0
        set bestline 0
        for {set i 0} {$i < $size2} {incr i} {

            set x [comparelines2 $line [lindex $block2 $i]]
            if {$x > $bestscore} {
                set bestscore $x
                set bestline $i
            }

        }
        lappend result $bestline
    }

    #Check that $result is in order
    if {$size1 > 1} {
        set bad ""







|
>
|




>







183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
        set asym a
    }

    set result {}
    foreach line $block1 {
        set bestscore 0
        set bestline 0
        set i 0
        foreach line2 $block2 {  
            set x [comparelines2 $line $line2]
            if {$x > $bestscore} {
                set bestscore $x
                set bestline $i
            }
            incr i
        }
        lappend result $bestline
    }

    #Check that $result is in order
    if {$size1 > 1} {
        set bad ""