18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
#
#----------------------------------------------------------------------
# $Revision$
#----------------------------------------------------------------------
# Helpers, replace with sugar macros or mathops if available in 8.5
proc + {a b} { expr {$a + $b} }
proc - {a b} { expr {$a - $b} }
# Format a line number for printing
# It will always be maxlen chars wide.
proc FormatLineno {lineno maxlen} {
if {[string is integer -strict $lineno]} {
set res [format "%d: " $lineno]
} else {
# Non-numerical linenumbers might turn up in some cases
set res $lineno
if {[string length $res] > $maxlen} {
set res [string range $res 0 [expr {$maxlen - 1}]]
}
}
if {[string length $res] < $maxlen} {
set res [format "%*s" $maxlen $res]
}
return $res
}
|
<
<
<
<
|
|
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
#
#----------------------------------------------------------------------
# $Revision$
#----------------------------------------------------------------------
# Format a line number for printing
# It will always be maxlen chars wide.
proc FormatLineno {lineno maxlen} {
if {[string is integer -strict $lineno]} {
set res [format "%d: " $lineno]
} else {
# Non-numerical linenumbers might turn up in some cases
set res $lineno
if {[string length $res] > $maxlen} {
set res [string range $res 0 [- $maxlen 1]]
}
}
if {[string length $res] < $maxlen} {
set res [format "%*s" $maxlen $res]
}
return $res
}
|
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
|
if {[string index $value end] eq "\n"} {
set newline 1
set value [string trimright $value "\n"]
}
set len [string length $value]
while {$chars + $len > $wraplength} {
set wrap [expr {$wraplength - $chars}]
set val1 [string range $value 0 [expr {$wrap - 1}]]
set value [string range $value $wrap end]
# The newline has its own element to simplify finding
# it later.
lappend line $val1 $tag "\n" {} $linepad {}
set chars $maxlen
incr wrapc
set len [string length $value]
|
|
|
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
|
if {[string index $value end] eq "\n"} {
set newline 1
set value [string trimright $value "\n"]
}
set len [string length $value]
while {$chars + $len > $wraplength} {
set wrap [expr {$wraplength - $chars}]
set val1 [string range $value 0 [- $wrap 1]]
set value [string range $value $wrap end]
# The newline has its own element to simplify finding
# it later.
lappend line $val1 $tag "\n" {} $linepad {}
set chars $maxlen
incr wrapc
set len [string length $value]
|