aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog4
-rw-r--r--src/boot/strap/tokens.clisp3
-rw-r--r--src/boot/tokens.boot1
-rw-r--r--src/interp/as.boot4
-rw-r--r--src/interp/ax.boot4
-rw-r--r--src/interp/bc-util.boot2
-rw-r--r--src/interp/br-con.boot6
-rw-r--r--src/interp/br-data.boot20
-rw-r--r--src/interp/br-op1.boot4
-rw-r--r--src/interp/br-op2.boot2
-rw-r--r--src/interp/br-saturn.boot6
-rw-r--r--src/interp/br-search.boot32
-rw-r--r--src/interp/br-util.boot2
-rw-r--r--src/interp/c-doc.boot42
-rw-r--r--src/interp/c-util.boot2
-rw-r--r--src/interp/category.boot2
-rw-r--r--src/interp/define.boot4
-rw-r--r--src/interp/format.boot2
-rw-r--r--src/interp/functor.boot16
-rw-r--r--src/interp/g-util.boot6
-rw-r--r--src/interp/guess.boot12
-rw-r--r--src/interp/ht-root.boot6
-rw-r--r--src/interp/ht-util.boot2
-rw-r--r--src/interp/htcheck.boot2
-rw-r--r--src/interp/htsetvar.boot2
-rw-r--r--src/interp/i-coerfn.boot14
-rw-r--r--src/interp/i-output.boot10
-rw-r--r--src/interp/i-syscmd.boot10
-rw-r--r--src/interp/i-util.boot2
-rw-r--r--src/interp/int-top.boot2
-rw-r--r--src/interp/interop.boot8
-rw-r--r--src/interp/match.boot8
-rw-r--r--src/interp/msgdb.boot6
-rw-r--r--src/interp/nruncomp.boot8
-rw-r--r--src/interp/nrunfast.boot22
-rw-r--r--src/interp/record.boot6
-rw-r--r--src/interp/showimp.boot26
-rw-r--r--src/interp/sys-utility.boot2
-rw-r--r--src/interp/topics.boot8
-rw-r--r--src/interp/word.boot20
40 files changed, 173 insertions, 167 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 9c754c8e..2d62f92f 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
+2011-04-17 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * boot/tokens.boot: Translate maxIndex to MAXINDEX.
+
2011-04-16 Gabriel Dos Reis <gdr@cs.tamu.edu>
* boot/tokens.boot (shoeIdChar): Accept "!" too.
diff --git a/src/boot/strap/tokens.clisp b/src/boot/strap/tokens.clisp
index 6d251628..ef543a5b 100644
--- a/src/boot/strap/tokens.clisp
+++ b/src/boot/strap/tokens.clisp
@@ -219,7 +219,8 @@
(LIST '|integer?| 'INTEGERP) (LIST '|lastNode| 'LAST)
(LIST 'LAST '|last|) (LIST '|list| 'LIST)
(LIST '|lowerCase?| 'LOWER-CASE-P)
- (LIST '|makeSymbol| 'INTERN) (LIST '|mkpf| 'MKPF)
+ (LIST '|makeSymbol| 'INTERN)
+ (LIST '|maxIndex| 'MAXINDEX) (LIST '|mkpf| 'MKPF)
(LIST '|nconc| 'NCONC)
(LIST '|newString| 'MAKE-STRING)
(LIST '|newVector| 'MAKE-ARRAY) (LIST '|nil| NIL)
diff --git a/src/boot/tokens.boot b/src/boot/tokens.boot
index 307da560..e01e8d6d 100644
--- a/src/boot/tokens.boot
+++ b/src/boot/tokens.boot
@@ -274,6 +274,7 @@ for i in [ _
["list", "LIST"] , _
["lowerCase?", "LOWER-CASE-P"], _
["makeSymbol", "INTERN"] , _
+ ["maxIndex", "MAXINDEX"] , _
["mkpf", "MKPF"] , _
["nconc", "NCONC"] , _
["newString", "MAKE-STRING"], _
diff --git a/src/interp/as.boot b/src/interp/as.boot
index d2f3eb55..5c15147c 100644
--- a/src/interp/as.boot
+++ b/src/interp/as.boot
@@ -319,7 +319,7 @@ asyExtractDescription str ==
trimComments str ==
str = nil or str = '"" => '""
- m := MAXINDEX str
+ m := maxIndex str
str := subString(str,0,m)
trimString str
@@ -702,7 +702,7 @@ asyAbbreviation(id,n) == chk(id,main) where --> n = number of arguments
a := createAbbreviation id => a
name := PNAME id
-- #name < 8 => makeSymbol UPCASE name
- parts := asySplit(name,MAXINDEX name)
+ parts := asySplit(name,maxIndex name)
newname := strconc/[asyShorten x for x in parts]
#newname < 8 => makeSymbol newname
tryname := subString(name,0,7)
diff --git a/src/interp/ax.boot b/src/interp/ax.boot
index 6f3fe6bd..4b38a678 100644
--- a/src/interp/ax.boot
+++ b/src/interp/ax.boot
@@ -332,12 +332,12 @@ getDefaultingOps catname ==
$infovec: local := getInfovec name
opTable := $infovec.1
$opList:local := nil
- for i in 0..MAXINDEX opTable repeat
+ for i in 0..maxIndex opTable repeat
op := opTable.i
i := i + 1
startIndex := opTable.i
stopIndex :=
- i + 1 > MAXINDEX opTable => MAXINDEX getCodeVector()
+ i + 1 > maxIndex opTable => maxIndex getCodeVector()
opTable.(i + 2)
curIndex := startIndex
while curIndex < stopIndex repeat
diff --git a/src/interp/bc-util.boot b/src/interp/bc-util.boot
index 6c2531dc..6061e577 100644
--- a/src/interp/bc-util.boot
+++ b/src/interp/bc-util.boot
@@ -93,7 +93,7 @@ bcOptional s ==
bcvspace() == bcHt '"\vspace{1}\newline "
-bcString2WordList s == fn(s,0,MAXINDEX s) where
+bcString2WordList s == fn(s,0,maxIndex s) where
fn(s,i,n) ==
i > n => nil
k := or/[j for j in i..n | s.j ~= char '_ ]
diff --git a/src/interp/br-con.boot b/src/interp/br-con.boot
index 3ad5882b..c0cea190 100644
--- a/src/interp/br-con.boot
+++ b/src/interp/br-con.boot
@@ -393,7 +393,7 @@ dbSearchOrder(conform,domname,$domain) == --domain = nil or set to live domain
catpredvec := first u
catinfo := second u
catvec := third u
- catforms := [[pakform,:pred] for i in 0..MAXINDEX catvec | test ] where
+ catforms := [[pakform,:pred] for i in 0..maxIndex catvec | test ] where
test() ==
pred := simpCatPredicate
p:=SUBLISLIS(rest conform,$FormalMapVariableList,kTestPred catpredvec.i)
@@ -1309,12 +1309,12 @@ PUT('Enumeration, 'documentation, substitute(MESSAGE, 'MESSAGE, '(
mkConArgSublis args ==
[[arg,:makeSymbol digits2Names PNAME arg] for arg in args
- | (s := PNAME arg) and "or"/[digit? s.i for i in 0..MAXINDEX s]]
+ | (s := PNAME arg) and "or"/[digit? s.i for i in 0..maxIndex s]]
digits2Names s ==
--This is necessary since arguments of conforms CANNOT have digits in TechExplorer
str := '""
- for i in 0..MAXINDEX s repeat
+ for i in 0..maxIndex s repeat
c := s.i
segment :=
n := digit? c =>
diff --git a/src/interp/br-data.boot b/src/interp/br-data.boot
index 7484ff44..9a6d4445 100644
--- a/src/interp/br-data.boot
+++ b/src/interp/br-data.boot
@@ -112,7 +112,7 @@ buildLibdbConEntry conname ==
and getConstructorModemapFromDB conname is [[.,t,:.],:.]
and t is ['CATEGORY,'package,:.] then kind := 'package
$kind :=
- pname.(MAXINDEX pname) = char '_& => 'x
+ pname.(maxIndex pname) = char '_& => 'x
DOWNCASE PNAME(kind).0
argl := rest $conform
conComments :=
@@ -187,7 +187,7 @@ buildLibOp(op,sig,pred) ==
buildLibdbString [header,# rest sig,$exposed?,sigpart,conform,predString,comments]
libdbTrim s ==
- k := MAXINDEX s
+ k := maxIndex s
k < 0 => s
for i in 0..k repeat
s.i = $Newline => s.i := char " "
@@ -195,7 +195,7 @@ libdbTrim s ==
checkCommentsForBraces(kind,sop,sigpart,comments) ==
count := 0
- for i in 0..MAXINDEX comments repeat
+ for i in 0..maxIndex comments repeat
c := comments.i
c = char '_{ => count := count + 1
c = char '_} =>
@@ -265,7 +265,7 @@ dbReadComments(n) ==
k := dbTickIndex(line,1,1)
line := subString(line,k + 1)
while not EOFP instream and (x := READLINE instream) and
- (k := MAXINDEX x) and (j := dbTickIndex(x,1,1)) and (j < k) and
+ (k := maxIndex x) and (j := dbTickIndex(x,1,1)) and (j < k) and
x.(j := j + 1) = char '_- and x.(j := j + 1) = char '_- repeat
xtralines := [subString(x,j + 1),:xtralines]
SHUT instream
@@ -313,7 +313,7 @@ dbSplit(line,n,k) ==
dbSpreadComments(line,n) ==
line = '"" => nil
k := charPosition(char '_-,line,n + 2)
- k >= MAXINDEX line => [subString(line,n)]
+ k >= maxIndex line => [subString(line,n)]
line.(k + 1) ~= char '_- =>
u := dbSpreadComments(line,k)
[strconc(subString(line,n,k - n),first u),:rest u]
@@ -380,7 +380,7 @@ spreadGlossText(line) ==
--where XXX is the file position of key1
--this is because grepping will only pick up the first 512 characters
line = '"" => nil
- MAXINDEX line > 500 => [subString(line,0,500),:spreadGlossText(subString(line,500))]
+ maxIndex line > 500 => [subString(line,0,500),:spreadGlossText(subString(line,500))]
[line]
getGlossLines instream ==
@@ -399,12 +399,12 @@ getGlossLines instream ==
#line = 0 => 'skip
n := charPosition($tick,line,0)
last := IFCAR text
- n > MAXINDEX line => --this line is continuation of previous line; concat it
+ n > maxIndex line => --this line is continuation of previous line; concat it
fill :=
#last = 0 =>
lastLineHadTick => '""
'"\blankline "
- #last > 0 and last.(MAXINDEX last) ~= $charBlank => $charBlank
+ #last > 0 and last.(maxIndex last) ~= $charBlank => $charBlank
'""
lastLineHadTick := false
text := [strconc(last,fill,line),:rest text]
@@ -433,7 +433,7 @@ mkUsersHashTable() == --called by buildDatabase (database.boot)
$usersTb
getDefaultPackageClients con == --called by mkUsersHashTable
- catname := makeSymbol subString(s := PNAME con,0,MAXINDEX s)
+ catname := makeSymbol subString(s := PNAME con,0,maxIndex s)
for [catAncestor,:.] in childrenOf([catname]) repeat
pakname := makeSymbol strconc(PNAME catAncestor,'"&")
if getCDTEntry(pakname,true) then acc := [pakname,:acc]
@@ -472,7 +472,7 @@ getImports conname == --called by mkUsersHashTable
infovec := dbInfovec conname or return nil
template := infovec.0
u := [doImport(i,template)
- for i in 5..(MAXINDEX template) | test] where
+ for i in 5..(maxIndex template) | test] where
test() == template.i is [op,:.] and IDENTP op
and not (op in '(Mapping Union Record Enumeration CONS QUOTE local))
doImport(x,template) ==
diff --git a/src/interp/br-op1.boot b/src/interp/br-op1.boot
index 6d3cf5b2..36098e3d 100644
--- a/src/interp/br-op1.boot
+++ b/src/interp/br-op1.boot
@@ -566,7 +566,7 @@ dbShowKind conform ==
conname := first conform
kind := getConstructorKindFromDB conname
kind = "domain" =>
- (s := PNAME conname).(MAXINDEX s) = '_& => '"default package"
+ (s := PNAME conname).(maxIndex s) = '_& => '"default package"
'"domain"
PNAME kind
@@ -846,7 +846,7 @@ dbExpandOpAlistIfNecessary(htPage,opAlist,which,needOrigins?,condition?) ==
packageSymbol := false
domform := htpProperty(htPage,'domname) or htpProperty(htPage,'conform)
if isDefaultPackageName opOf domform then
- catname := intern subString(s := PNAME opOf domform,0,MAXINDEX s)
+ catname := intern subString(s := PNAME opOf domform,0,maxIndex s)
packageSymbol := second domform
domform := [catname,:rest rest domform] --skip first argument ($)
docTable:= dbDocTable domform
diff --git a/src/interp/br-op2.boot b/src/interp/br-op2.boot
index 22ced871..47f0ab3f 100644
--- a/src/interp/br-op2.boot
+++ b/src/interp/br-op2.boot
@@ -310,7 +310,7 @@ whoUses(opSigList,conform) ==
template := $infovec . 0
found := false
opacc := nil
- for i in 7..MAXINDEX template repeat
+ for i in 7..maxIndex template repeat
item := template . i
item isnt [n,:op] or not MEMQ(op,opList) => 'skip
index := n
diff --git a/src/interp/br-saturn.boot b/src/interp/br-saturn.boot
index 72babbea..5080d6e4 100644
--- a/src/interp/br-saturn.boot
+++ b/src/interp/br-saturn.boot
@@ -241,7 +241,7 @@ writeSaturnLines lines ==
writeSaturn(line) ==
k := 0
- n := MAXINDEX line
+ n := maxIndex line
while --advance k if true
k > n => false
line.k ~= char '_\ => true
@@ -345,7 +345,7 @@ writeSaturnTable line ==
open := charPosition(char "{",line,0)
close:= charPosition(char "}",line,0)
open < close =>
- close := findBalancingBrace(line,open + 1,MAXINDEX line,0) or error '"no balancing brace"
+ close := findBalancingBrace(line,open + 1,maxIndex line,0) or error '"no balancing brace"
writeSaturnPrint subString(line,0,close + 1)
writeSaturnTable subString(line,close + 1)
$marg := $marg - 3
@@ -454,7 +454,7 @@ saturnTranText x ==
error nil
isMenuItemStyle? s ==
- 15 = ('"\menuitemstyle{" < s) => subString(s,15,(MAXINDEX s) - 15)
+ 15 = ('"\menuitemstyle{" < s) => subString(s,15,(maxIndex s) - 15)
nil
getCallBack callTail ==
diff --git a/src/interp/br-search.boot b/src/interp/br-search.boot
index 35a803d6..7529f96e 100644
--- a/src/interp/br-search.boot
+++ b/src/interp/br-search.boot
@@ -60,7 +60,7 @@ grepConstruct1(s,key) ==
--returns the name of file (WITHOUT .text.$SPADNUM on the end)
$key : local := key
if key = 'k and --convert 'k to 'y if name contains an "&"
- or/[s . i = char '_& for i in 0..MAXINDEX s] then key := 'y
+ or/[s . i = char '_& for i in 0..maxIndex s] then key := 'y
filter := pmTransFilter STRINGIMAGE s --parses and-or-not form
filter is ['error,:.] => filter --exit on parser error
pattern := mkGrepPattern(filter,key) --create string to pass to "grep"
@@ -91,7 +91,7 @@ grepForAbbrev(s,key) ==
s := STRINGIMAGE s
someLowerCaseChar := false
someUpperCaseChar := false
- for i in 0..MAXINDEX s repeat
+ for i in 0..maxIndex s repeat
c := s . i
lowerCase? c => return (someLowerCaseChar := true)
upperCase? c => someUpperCaseChar := true
@@ -139,11 +139,11 @@ grepf(pattern,s,not?) == --s=sourceFile or list of strings
pmTransFilter s ==
--result is either a string or (op ..) where op= and,or,not and arg are results
if $browseMixedCase = true then s := DOWNCASE s
- or/[isFilterDelimiter? s.i or s.i = $charUnderscore for i in 0..MAXINDEX s]
+ or/[isFilterDelimiter? s.i or s.i = $charUnderscore for i in 0..maxIndex s]
=> (parse := pmParseFromString s) and checkPmParse parse or
['error,'"Illegal search string",'"\vspace{3}\center{{\em Your search string} ",escapeSpecialChars s,'" {\em has incorrect syntax}}"]
or/[s . i = char '_* and s.(i + 1) = char '_*
- and (i=0 or s . (i - 1) ~= char $charUnderscore) for i in 0..(MAXINDEX s - 1)]
+ and (i=0 or s . (i - 1) ~= char $charUnderscore) for i in 0..(maxIndex s - 1)]
=> ['error,'"Illegal search string",'"\vspace{3}\center{Consecutive {\em *}'s are not allowed in search patterns}"]
s
@@ -199,8 +199,8 @@ pmPreparse s == hn fn(s,0,#s) where--stupid insertion of chars to get correct pa
strconc(subString(s,i,n - i + 1),$charUnderscore,gn(s,n + 1,j))
subString(s,i,j - i + 1)
-firstNonDelim(s,n) == or/[k for k in n..MAXINDEX s | not isFilterDelimiter? s.k]
-firstDelim(s,n) == or/[k for k in n..MAXINDEX s | isFilterDelimiter? s.k]
+firstNonDelim(s,n) == or/[k for k in n..maxIndex s | not isFilterDelimiter? s.k]
+firstDelim(s,n) == or/[k for k in n..maxIndex s | isFilterDelimiter? s.k]
isFilterDelimiter? c == MEMQ(c,$pmFilterDelimiters)
@@ -260,7 +260,7 @@ mkGrepPattern1(x,:options) == --called by mkGrepPattern (and grepConstructName?)
g s == --remove "*"s around pattern for text match
not ('w in $options) => s
if s.0 = char '_* then s := subString(s,1)
- if s.(k := MAXINDEX s) = char '_* then s := subString(s,0,k)
+ if s.(k := maxIndex s) = char '_* then s := subString(s,0,k)
s
h(sl,res) == --helper for wild cards
sl is [s,:r] => h(r,[$wild1,s,:res])
@@ -270,12 +270,12 @@ mkGrepPattern1(x,:options) == --called by mkGrepPattern (and grepConstructName?)
else if res is [.,p,:r] and p = $wild1 then res := r
strconc/nreverse res
remUnderscores s ==
- (k := charPosition(char $charUnderscore,s,0)) < MAXINDEX s =>
+ (k := charPosition(char $charUnderscore,s,0)) < maxIndex s =>
strconc(subString(s,0,k),'"[",s.(k + 1),'"]",
remUnderscores(subString(s,k + 2)))
s
split(s,char) ==
- max := MAXINDEX s + 1
+ max := maxIndex s + 1
f := -1
[subString(s,i,f-i)
while ((i := f + 1) <= max) and (f := charPosition(char,s,i))]
@@ -571,7 +571,7 @@ docSearch1(filter,doc) ==
removeSurroundingStars filter ==
key := STRINGIMAGE filter
if key.0 = char '_* then key := subString(key,1)
- if key.(max := MAXINDEX key) = char '_* then key := subString(key,0,max)
+ if key.(max := maxIndex key) = char '_* then key := subString(key,0,max)
key
showNamedDoc([kind,:lines],index) ==
@@ -581,7 +581,7 @@ sayDocMessage message ==
htSay('"{\em ")
if message is [leftEnd,left,middle,right,rightEnd] then
htSay(leftEnd,left,'"}")
- if left ~= '"" and left.(MAXINDEX left) = $blank then htBlank()
+ if left ~= '"" and left.(maxIndex left) = $blank then htBlank()
htSay middle
if right ~= '"" and right.0 = $blank then htBlank()
htSay('"{\em ",right,rightEnd)
@@ -602,7 +602,7 @@ stripOffSegments(s,n) ==
replaceTicksBySpaces s ==
n := -1
- max := MAXINDEX s
+ max := maxIndex s
while (n := charPosition(char '_`,s,n + 1)) <= max repeat
s.n := char " "
s
@@ -699,7 +699,7 @@ dbString2Words l ==
$dbDelimiters := [char " " , char "(", char ")"]
dbWordFrom(l,i) ==
- idxmax := MAXINDEX l
+ idxmax := maxIndex l
while idxmax >= i and l.i = char " " repeat i := i + 1
if idxmax >= i and member(l.i, $dbDelimiters) then return [l.i, i + 1]
k := or/[j for j in i..idxmax | not member(l.j, $dbDelimiters)] or return nil
@@ -880,7 +880,7 @@ mkDetailedGrepPattern(kind,name,nargs,argOrSig) == main where
b = '"[^`]*" or b = char '_. => a
strconc(a,$tick,b)
simp a ==
- m := MAXINDEX a
+ m := maxIndex a
m > 6 and a.(m-5) = char '_[ and a.(m-4) = char "^"
and a.(m-3) = $tick and a.(m-2) = char '_]
and a.(m-1) = char '_* and a.m = $tick
@@ -889,7 +889,7 @@ mkDetailedGrepPattern(kind,name,nargs,argOrSig) == main where
replaceGrepStar s ==
s = "" => s
- final := MAXINDEX s
+ final := maxIndex s
i := charPosition(char '_*,s,0)
i > final => s
strconc(subString(s,0,i),'"[^`]*",replaceGrepStar subString(s,i + 1))
@@ -900,7 +900,7 @@ standardizeSignature(s) == underscoreDollars
s.(k - 1) = char '_) => strconc('"(",s)
strconc('"(",subString(s,0,k),'")",subString(s,k))
-underscoreDollars(s) == fn(s,0,MAXINDEX s) where
+underscoreDollars(s) == fn(s,0,maxIndex s) where
fn(s,i,n) ==
i > n => '""
(m := charPosition(char '_$,s,i)) > n => subString(s,i)
diff --git a/src/interp/br-util.boot b/src/interp/br-util.boot
index 5ad260ae..5c8a5a15 100644
--- a/src/interp/br-util.boot
+++ b/src/interp/br-util.boot
@@ -536,7 +536,7 @@ isLoaded? conform ==
property(getConstructorAbbreviationFromDB opOf conform,'LOADED)
string2Integer s ==
- and/[digit? (s.i) for i in 0..MAXINDEX s] => readInteger s
+ and/[digit? (s.i) for i in 0..maxIndex s] => readInteger s
nil
dbGetInputString htPage ==
diff --git a/src/interp/c-doc.boot b/src/interp/c-doc.boot
index 2e57a549..6588afb1 100644
--- a/src/interp/c-doc.boot
+++ b/src/interp/c-doc.boot
@@ -256,7 +256,7 @@ transDoc(conname,doclist) ==
checkExtractItemList l == --items are separated by commas or end of line
acc := nil --l is list of remaining lines
while l repeat --stop when you get to a line with a colon
- m := MAXINDEX first l
+ m := maxIndex first l
k := charPosition(char '_:,first l,0)
k <= m => return nil
acc := [first l,:acc]
@@ -620,7 +620,7 @@ checkIndentedLines(u, margin) ==
newString2Words l ==
not string? l => [l]
- m := MAXINDEX l
+ m := maxIndex l
m = -1 => NIL
i := 0
[w while newWordFrom(l,i,m) is [w,i]]
@@ -640,7 +640,7 @@ newWordFrom(l,i,m) ==
[buf,i]
checkAddPeriod s == --No, just leave blank at the end (rdj: 10/18/91)
- m := MAXINDEX s
+ m := maxIndex s
lastChar := s . m
lastChar = char "!" or lastChar = char '_? or lastChar = char '_. => s
lastChar = char '_, or lastChar = char '_; =>
@@ -650,7 +650,7 @@ checkAddPeriod s == --No, just leave blank at the end (rdj: 10/18/91)
checkGetArgs u ==
NOT string? u => nil
- m := MAXINDEX u
+ m := maxIndex u
k := firstNonBlankPosition(u)
k > 0 => checkGetArgs subString(u,k)
stringPrefix?('"\spad{",u) =>
@@ -676,7 +676,7 @@ checkGetMargin lines ==
firstNonBlankPosition(x,:options) ==
start := IFCAR options or 0
k := -1
- for i in start..MAXINDEX x repeat
+ for i in start..maxIndex x repeat
if x.i ~= $charBlank then return (k := i)
k
@@ -687,7 +687,7 @@ checkAddIndented(x,margin) ==
strconc('"\indented{",STRINGIMAGE(k-margin),'"}{",checkAddSpaceSegments(subString(x,k),0),'"}")
checkAddSpaceSegments(u,k) ==
- m := MAXINDEX u
+ m := maxIndex u
i := charPosition($charBlank,u,k)
m < i => u
j := i
@@ -714,7 +714,7 @@ checkTrim($x,lines) == main where
trim(s) ==
k := wherePP(s)
return subString(s,k + 2)
- m := MAXINDEX s
+ m := maxIndex s
n := k + 2
for j in (k + 2)..m while s.j = $charBlank repeat (n := n + 1)
subString(s,n)
@@ -818,7 +818,7 @@ checkDecorate u ==
not spadflag and
(CHARP x and alphabetic? x and not MEMQ(x,$charExclusions) or
member(x,$argl)) => [$charRbrace,x,$charLbrace,'"\spad",:acc]
- not spadflag and string? x and ((x.0 ~= $charBack and digit?(x.(MAXINDEX x))) or x in '("true" "false")) =>
+ not spadflag and string? x and ((x.0 ~= $charBack and digit?(x.(maxIndex x))) or x in '("true" "false")) =>
[$charRbrace,x,$charLbrace,'"\spad",:acc] --wrap x1, alpha3, etc
xcount := (string? x => # x; 0)
xcount = 3 and x.1 = char 't and x.2 = char 'h =>
@@ -834,7 +834,7 @@ checkDecorate u ==
nreverse acc
hasNoVowels x ==
- max := MAXINDEX x
+ max := maxIndex x
x.max = char 'y => false
and/[not isVowel(x.i) for i in 0..max]
@@ -848,7 +848,7 @@ checkAddBackSlashes s ==
MEMQ(s,$charEscapeList) => strconc($charBack,c)
s
k := 0
- m := MAXINDEX s
+ m := maxIndex s
insertIndex := nil
while k <= m repeat
do
@@ -902,7 +902,7 @@ checkIeEg u ==
checkIeEgfun x ==
CHARP x => nil
x is '"" => nil
- m := MAXINDEX x
+ m := maxIndex x
for k in 0..(m - 3) repeat
x.(k + 1) = $charPeriod and x.(k + 3) = $charPeriod and
(x.k = char 'i and x.(k + 2) = char 'e and (key := '"that is")
@@ -934,7 +934,7 @@ checkSplitBrace x ==
#x = 1 => [x.0]
(u := checkSplitBackslash x)
and rest u => "append"/[checkSplitBrace y for y in u]
- m := MAXINDEX x
+ m := maxIndex x
(u := checkSplitOn x)
and rest u => "append"/[checkSplitBrace y for y in u]
(u := checkSplitPunctuation x)
@@ -943,7 +943,7 @@ checkSplitBrace x ==
checkSplitBackslash x ==
not string? x => [x]
- m := MAXINDEX x
+ m := maxIndex x
(k := charPosition($charBack,x,0)) < m =>
m = 1 or alphabetic?(x . (k + 1)) => --starts with a backslash so..
(k := charPosition($charBack,x,1)) < m => --..see if there is another
@@ -959,7 +959,7 @@ checkSplitBackslash x ==
checkSplitPunctuation x ==
not string? x => [x]
- m := MAXINDEX x
+ m := maxIndex x
m < 1 => [x]
lastchar := x.m
lastchar = $charPeriod and x.(m - 1) = $charPeriod =>
@@ -986,7 +986,7 @@ checkSplitPunctuation x ==
checkSplitOn(x) ==
not string? x => [x]
l := $charSplitList
- m := MAXINDEX x
+ m := maxIndex x
while l repeat
char := first l
do
@@ -998,7 +998,7 @@ checkSplitOn(x) ==
null l => [x]
k = -1 => [char]
k = 0 => [char,subString(x,1)]
- k = MAXINDEX x => [subString(x,0,k),char]
+ k = maxIndex x => [subString(x,0,k),char]
[subString(x,0,k),char,:checkSplitOn subString(x,k + 1)]
@@ -1111,7 +1111,7 @@ checkLookForRightBrace(u) == --return line beginning with right brace
checkInteger s ==
CHARP s => false
s = '"" => false
- and/[digit? s.i for i in 0..MAXINDEX s]
+ and/[digit? s.i for i in 0..maxIndex s]
checkTransformFirsts(opname,u,margin) ==
--case 1: \spad{...
@@ -1125,7 +1125,7 @@ checkTransformFirsts(opname,u,margin) ==
margin > 0 =>
s := leftTrim u
strconc(fillerSpaces margin,checkTransformFirsts(opname,s,0))
- m := MAXINDEX u
+ m := maxIndex u
m < 2 => u
u.0 = $charBack => u
alphabetic? u.0 =>
@@ -1153,7 +1153,7 @@ checkTransformFirsts(opname,u,margin) ==
#(p := symbolName infixOp) = 1 and (open := p.0) and
(close := LASSOC(open,$checkPrenAlist)) => --have an open bracket
l := getMatchingRightPren(u,k + 1,open,close)
- if l > MAXINDEX u then l := k - 1
+ if l > maxIndex u then l := k - 1
strconc('"\spad{",subString(u,0,l + 1),'"}",subString(u,l + 1))
strconc('"\spad{",subString(u,0,k),'"}",subString(u,k))
l := checkSkipBlanks(u,k,m) or return u
@@ -1183,7 +1183,7 @@ checkTransformFirsts(opname,u,margin) ==
getMatchingRightPren(u,j,open,close) ==
count := 0
- m := MAXINDEX u
+ m := maxIndex u
for i in j..m repeat
c := u . i
do
@@ -1309,7 +1309,7 @@ checkDecorateForHt u ==
-- not spadflag and string? x and (member(x,$argl) or #x = 1
-- and alphabetic? x.0) and not (x in '("a" "A")) =>
-- checkDocError1 ['"Naked ",x]
--- not spadflag and string? x and (not x.0 = $charBack and not digit?(x.0) and digit?(x.(MAXINDEX x))or x in '("true" "false"))
+-- not spadflag and string? x and (not x.0 = $charBack and not digit?(x.0) and digit?(x.(maxIndex x))or x in '("true" "false"))
-- => checkDocError1 ["Naked ",x]
u := rest u
u
diff --git a/src/interp/c-util.boot b/src/interp/c-util.boot
index 08e48948..7cdab710 100644
--- a/src/interp/c-util.boot
+++ b/src/interp/c-util.boot
@@ -949,7 +949,7 @@ sublisV(p,e) ==
suba(p,e) ==
string? e => e
-- no need to descend vectors unless they are categories
- categoryObject? e => LIST2VEC [suba(p,e.i) for i in 0..MAXINDEX e]
+ categoryObject? e => LIST2VEC [suba(p,e.i) for i in 0..maxIndex e]
atom e => (y:= ASSQ(e,p) => rest y; e)
u:= suba(p,first e)
v:= suba(p,rest e)
diff --git a/src/interp/category.boot b/src/interp/category.boot
index 26a55326..46f0b7ea 100644
--- a/src/interp/category.boot
+++ b/src/interp/category.boot
@@ -76,7 +76,7 @@ CategoryPrint(D,$e) ==
SAY("This has an alternate view: slot ",rest u," corresponds to ",first u)
for u in third D.4 repeat
SAY("This has a local domain: slot ",rest u," corresponds to ",first u)
- for j in 6..MAXINDEX D repeat
+ for j in 6..maxIndex D repeat
u:= D.j
null u => SAY "another domain"
atom first u => SAY("Alternate View corresponding to: ",u)
diff --git a/src/interp/define.boot b/src/interp/define.boot
index 6875e76e..47c9f581 100644
--- a/src/interp/define.boot
+++ b/src/interp/define.boot
@@ -134,7 +134,7 @@ makeDomainTemplate vec ==
--NOTES: This function is called at compile time to create the template
-- (slot 0 of the infovec); called by getInfovecCode from compDefineFunctor1
newVec := newShell # vec
- for index in 0..MAXINDEX vec repeat
+ for index in 0..maxIndex vec repeat
item := vec.index
null item => nil
newVec.index :=
@@ -333,7 +333,7 @@ extendsCategoryBasic(dom,u,v) ==
uVec := (compMakeCategoryObject(u,$EmptyEnvironment)).expr
isCategoryForm(v,nil) => catExtendsCat?(u,v,uVec)
v is ['SIGNATURE,op,sig] =>
- or/[uVec.i is [[=op,=sig],:.] for i in 6..MAXINDEX uVec]
+ or/[uVec.i is [[=op,=sig],:.] for i in 6..maxIndex uVec]
u is ['CATEGORY,.,:l] =>
v is ['IF,:.] => member(v,l)
nil
diff --git a/src/interp/format.boot b/src/interp/format.boot
index e1caca8a..ff7a9781 100644
--- a/src/interp/format.boot
+++ b/src/interp/format.boot
@@ -587,7 +587,7 @@ linearFormatForm(op,argl) ==
s:= PNAME op
indexList:= [readInteger PNAME d for i in 1.. while
(digit? (d:= s.(idxmax:= i)))]
- cleanOp:= makeSymbol (strconc/[PNAME s.i for i in idxmax..MAXINDEX s])
+ cleanOp:= makeSymbol (strconc/[PNAME s.i for i in idxmax..maxIndex s])
fnArgs:=
indexList.0 > 0 =>
concat('"(",formatArgList take(-indexList.0,argl),'")")
diff --git a/src/interp/functor.boot b/src/interp/functor.boot
index 91db6581..a8311049 100644
--- a/src/interp/functor.boot
+++ b/src/interp/functor.boot
@@ -86,7 +86,7 @@ DomainPrint1(D,brief,$e) ==
if i=1 and vector? uu.5 then
vv:= COPY_-SEQ uu.5
uu.5:= vv
- for j in 0..MAXINDEX vv repeat
+ for j in 0..maxIndex vv repeat
if vector? vv.j then
l:= ASSQ(keyItem vv.j,Sublis)
if l
@@ -99,7 +99,7 @@ DomainPrint1(D,brief,$e) ==
vv.j:= name
if i>1 then
uu.1:= uu.2:= uu.5:= '"As in first view"
- for i in 6..MAXINDEX uu repeat
+ for i in 6..maxIndex uu repeat
uu.i:= DomainPrintSubst(uu.i,Sublis)
if vector? uu.i then
name:=DPname()
@@ -122,7 +122,7 @@ DPname() ==
PacPrint v ==
vv:= COPY_-SEQ v
- for j in 0..MAXINDEX vv repeat
+ for j in 0..maxIndex vv repeat
if vector? vv.j then
l:= ASSQ(keyItem vv.j,Sublis)
if l
@@ -231,7 +231,7 @@ compCategories1(u,v) ==
NewbFVectorCopy(u,domName) ==
v:= newShell # u
for i in 0..5 repeat v.i:= u.i
- for i in 6..MAXINDEX v | cons? u.i repeat
+ for i in 6..maxIndex v | cons? u.i repeat
v.i:= [function Undef,[domName,i],:first u.i]
v
@@ -442,7 +442,7 @@ DescendCodeAdd1(base,flag,target,formalArgs,formalArgModes) ==
--we match signatures
cat:= (compMakeCategoryObject(target,e)).expr
instantiatedBase:= genvar()
- n:=MAXINDEX cat
+ n:=maxIndex cat
code:=
[u
for i in 6..n | cons? cat.i and cons? (sig:= first cat.i)
@@ -822,7 +822,7 @@ getViewsConditions u ==
DescendCodeVarAdd(base,flag) ==
princview := first $catvecList
[SetFunctionSlots(sig,substitute('ELT,'CONST,implem),flag,'adding) repeat
- for i in 6..MAXINDEX princview |
+ for i in 6..maxIndex princview |
princview.i is [sig:=[op,types],:.] and
LASSOC([base,:substitute(base,'$,types)],get(op,'modemap,$e)) is
[[pred,implem]]]
@@ -898,7 +898,7 @@ encodeItem x ==
getCaps x ==
s:= STRINGIMAGE x
- clist:= [c for i in 0..MAXINDEX s | upperCase? (c:= s.i)]
+ clist:= [c for i in 0..maxIndex s | upperCase? (c:= s.i)]
null clist => '"__"
strconc/[first clist,:[L_-CASE u for u in rest clist]]
@@ -929,7 +929,7 @@ alistSize c ==
count(CDAR x,level+1)+count(rest x,level)
addSuffix(n,u) ==
- alphabetic?((s:= STRINGIMAGE u).(MAXINDEX s)) =>
+ alphabetic?((s:= STRINGIMAGE u).(maxIndex s)) =>
makeSymbol strconc(s,STRINGIMAGE n)
INTERNL strconc(s,STRINGIMAGE ";",STRINGIMAGE n)
diff --git a/src/interp/g-util.boot b/src/interp/g-util.boot
index 6e5da354..90e10318 100644
--- a/src/interp/g-util.boot
+++ b/src/interp/g-util.boot
@@ -766,7 +766,7 @@ trimString s ==
leftTrim rightTrim s
leftTrim s ==
- k := MAXINDEX s
+ k := maxIndex s
k < 0 => s
s.0 = $blank =>
for i in 0..k while s.i = $blank repeat (j := i)
@@ -774,7 +774,7 @@ leftTrim s ==
s
rightTrim s == -- assumed a non-empty string
- k := MAXINDEX s
+ k := maxIndex s
k < 0 => s
s.k = $blank =>
for i in k..0 by -1 while s.i = $blank repeat (j := i)
@@ -873,7 +873,7 @@ $beginEndList := '(
isDefaultPackageName x ==
s := symbolName x
- stringChar(s,MAXINDEX s) = char '_&
+ stringChar(s,maxIndex s) = char '_&
isDefaultPackageForm? x ==
x is [op,:.] and IDENTP op and isDefaultPackageName op
diff --git a/src/interp/guess.boot b/src/interp/guess.boot
index f2b81b18..380a751d 100644
--- a/src/interp/guess.boot
+++ b/src/interp/guess.boot
@@ -69,13 +69,13 @@ wordsOfString(s) == [UPCASE x for x in wordsOfStringKeepCase s]
wordsOfStringKeepCase s == wordsOfString1(s,0) or [COPY s]
wordsOfString1(s,j) ==
- k := or/[i for i in j..(MAXINDEX(s)-1) | upperCase? s.i] =>
+ k := or/[i for i in j..(maxIndex(s)-1) | upperCase? s.i] =>
tailWords:=
upperCase? s.(k+1) =>
- n:= or/[i for i in (k+2)..(MAXINDEX(s)-1)|not upperCase? s.i]
+ n:= or/[i for i in (k+2)..(maxIndex(s)-1)|not upperCase? s.i]
null n => [subString(s,k)]
n > k+1 => [subString(s,k,n-k-1),:wordsOfString1(s,n-1)]
- m := or/[i for i in (k+2)..(MAXINDEX(s)-1) | upperCase? s.i] =>
+ m := or/[i for i in (k+2)..(maxIndex(s)-1) | upperCase? s.i] =>
[subString(s,k,m-k),:wordsOfString1(s,m)]
[subString(s,k)]
k > j+1 => [subString(s,j,k-j),:tailWords]
@@ -83,7 +83,7 @@ wordsOfString1(s,j) ==
nil
wordKeys s ==
- removeDuplicates [UPCASE s.0,:fn(s,1,-1,MAXINDEX s,nil)] where fn(s,i,lastKeyIndex,n,acc) ==
+ removeDuplicates [UPCASE s.0,:fn(s,1,-1,maxIndex s,nil)] where fn(s,i,lastKeyIndex,n,acc) ==
i > n => acc
upperCase? s.i =>
-- i = lastKeyIndex + 1 => fn(s,i + 1,i,n,[s.i,:rest acc])
@@ -283,7 +283,7 @@ deltaWordEntry(word,entry) ==
--+ Note these are optimized definitions below-- see commented out versions
--+ to understand the algorithm
canForgeWord(word,entry) ==
- forge(word,0,MAXINDEX word,entry,0,MAXINDEX entry,0)
+ forge(word,0,maxIndex word,entry,0,maxIndex entry,0)
forge(word,w,W,entry,e,E,n) ==
w > W =>
@@ -314,7 +314,7 @@ forge(word,w,W,entry,e,E,n) ==
--+ DO NOT REMOVE DEFINITIONS BELOW which explain the algorithm
--+ canForgeWord(word,entry) ==--
---+ [d,i,s,t] := forge(word,0,MAXINDEX word,entry,0,MAXINDEX entry,0,0,0,0)
+--+ [d,i,s,t] := forge(word,0,maxIndex word,entry,0,maxIndex entry,0,0,0,0)
--+ --d=deletions, i=insertions, s=substitutions, t=transpositions
--+ --list is formed only for tuning purposes-- remove later on
--+ d + i + s + t
diff --git a/src/interp/ht-root.boot b/src/interp/ht-root.boot
index 8fb7e57b..5604cf01 100644
--- a/src/interp/ht-root.boot
+++ b/src/interp/ht-root.boot
@@ -145,7 +145,7 @@ htGlossPage(htPage,pattern,tryAgain?) ==
['"Glossary items matching {\em ",pattern,'"}"]
null lines =>
tryAgain? and #pattern > 0 =>
- (pattern.(k := MAXINDEX(pattern))) = char 's =>
+ (pattern.(k := maxIndex(pattern))) = char 's =>
htGlossPage(htPage,subString(pattern,0,k),true)
upperCase? pattern.0 =>
htGlossPage(htPage,DOWNCASE pattern,false)
@@ -269,12 +269,12 @@ htTutorialSearch pattern ==
mkUnixPattern s ==
u := mkUpDownPattern s
- starPositions := reverse [i for i in 1..(-1 + MAXINDEX u) | u.i = $wild]
+ starPositions := reverse [i for i in 1..(-1 + maxIndex u) | u.i = $wild]
for i in starPositions repeat
u := strconc(subString(u,0,i),'".*",subString(u,i + 1))
if u.0 ~= $wild then u := strconc('"[^a-zA-Z]",u)
else u := subString(u,1)
- if u.(k := MAXINDEX u) ~= $wild then u := strconc(u,'"[^a-zA-Z]")
+ if u.(k := maxIndex u) ~= $wild then u := strconc(u,'"[^a-zA-Z]")
else u := subString(u,0,k)
u
diff --git a/src/interp/ht-util.boot b/src/interp/ht-util.boot
index 61781d39..3e443a60 100644
--- a/src/interp/ht-util.boot
+++ b/src/interp/ht-util.boot
@@ -134,7 +134,7 @@ htpLabelFilteredInputString(htPage, label) ==
replacePercentByDollar props.0
nil
-replacePercentByDollar s == fn(s,0,MAXINDEX s) where
+replacePercentByDollar s == fn(s,0,maxIndex s) where
fn(s,i,n) ==
i > n => '""
(m := charPosition(char "%",s,i)) > n => subString(s,i)
diff --git a/src/interp/htcheck.boot b/src/interp/htcheck.boot
index 088fc2b2..843ab674 100644
--- a/src/interp/htcheck.boot
+++ b/src/interp/htcheck.boot
@@ -107,7 +107,7 @@ getHtMacroItem line ==
i = m => 0
j := charPosition(char '_],line,i + 1)
digitString := subString(line,i + 1,j - i - 1)
- and/[digit? digitString.i for i in 0..MAXINDEX digitString]
+ and/[digit? digitString.i for i in 0..maxIndex digitString]
=> readInteger digitString
return nil
[command,:numOfArgs]
diff --git a/src/interp/htsetvar.boot b/src/interp/htsetvar.boot
index 6acb52c4..796760e5 100644
--- a/src/interp/htsetvar.boot
+++ b/src/interp/htsetvar.boot
@@ -271,7 +271,7 @@ htCheck(checker,value) ==
parseWord x ==
string? x =>
- and/[digit? x.i for i in 0..MAXINDEX x] => readInteger x
+ and/[digit? x.i for i in 0..maxIndex x] => readInteger x
makeSymbol x
x
diff --git a/src/interp/i-coerfn.boot b/src/interp/i-coerfn.boot
index 4ef7dc9f..cfda1e30 100644
--- a/src/interp/i-coerfn.boot
+++ b/src/interp/i-coerfn.boot
@@ -1651,21 +1651,21 @@ V2M(u,[.,D],[.,R]) ==
canCoerce(D,R)
-- first see if we are coercing a vector of vectors
D is ['Vector,E] and
- isRectangularVector(u,MAXINDEX u,MAXINDEX u.0) =>
+ isRectangularVector(u,maxIndex u,maxIndex u.0) =>
LIST2VEC
[LIST2VEC [objValUnwrap(coerceInt(objNewWrap(x.j,E),R))
- for j in 0..MAXINDEX(x:=u.i)] for i in 0..MAXINDEX u]
+ for j in 0..maxIndex(x:=u.i)] for i in 0..maxIndex u]
-- if not, try making it into a 1 by n matrix
coercionFailure()
--LIST2VEC [LIST2VEC [objValUnwrap(coerceInt(objNewWrap(u.i,D),R))
--- for i in 0..MAXINDEX(u)]]
+-- for i in 0..maxIndex(u)]]
V2Rm(u,[.,D],[.,n,m,R]) ==
u = '_$fromCoerceable_$ => nil
D is [.,E,:.] and isRectangularVector(u,n-1,m-1) =>
LIST2VEC
[LIST2VEC [objValUnwrap(coerceInt(objNewWrap(x.j,E),R))
- for j in 0..MAXINDEX(x:=u.i)] for i in 0..MAXINDEX u]
+ for j in 0..maxIndex(x:=u.i)] for i in 0..maxIndex u]
coercionFailure()
V2Sm(u,[.,D],[.,n,R]) ==
@@ -1673,12 +1673,12 @@ V2Sm(u,[.,D],[.,n,R]) ==
D is [.,E,:.] and isRectangularVector(u,n-1,n-1) =>
LIST2VEC
[LIST2VEC [objValUnwrap(coerceInt(objNewWrap(x.j,E),R))
- for j in 0..MAXINDEX(x:=u.i)] for i in 0..MAXINDEX u]
+ for j in 0..maxIndex(x:=u.i)] for i in 0..maxIndex u]
coercionFailure()
isRectangularVector(x,p,q) ==
- MAXINDEX x = p =>
- and/[q=MAXINDEX x.i for i in 0..p]
+ maxIndex x = p =>
+ and/[q=maxIndex x.i for i in 0..p]
-- Polynomial and Expression to Univariate series types
diff --git a/src/interp/i-output.boot b/src/interp/i-output.boot
index 20c46997..0d84f83d 100644
--- a/src/interp/i-output.boot
+++ b/src/interp/i-output.boot
@@ -447,7 +447,7 @@ atom2String x ==
appChar(string,x,y,d) ==
if CHARP string then string := PNAME string
line:= LASSOC(y,d) =>
- if MAXINDEX string = 1 and string.0 = char "%" then
+ if maxIndex string = 1 and string.0 = char "%" then
string.1 = char "b" =>
bumpDeltaIfTrue:= true
string.0:= EBCDIC 29
@@ -497,7 +497,7 @@ outputTran x ==
strconc('"_"",x,'"_"")
string? x => x
vector? x =>
- outputTran ['BRACKET,['AGGLST,:[x.i for i in 0..MAXINDEX x]]]
+ outputTran ['BRACKET,['AGGLST,:[x.i for i in 0..maxIndex x]]]
integer? x =>
MINUSP x => ["-",MINUS x]
x
@@ -733,12 +733,12 @@ outputTranMatrix x ==
["MATRIX",:x]
--keyedSystemError("S2GE0016",['"outputTranMatrix",
-- '"improper internal form for matrix found in output routines"])
- ["MATRIX",nil,:[outtranRow x.i for i in 0..MAXINDEX x]] where
+ ["MATRIX",nil,:[outtranRow x.i for i in 0..maxIndex x]] where
outtranRow x ==
not vector? x =>
keyedSystemError("S2GE0016",['"outputTranMatrix",
'"improper internal form for matrix found in output routines"])
- ["ROW",:[outputTran x.i for i in 0..MAXINDEX x]]
+ ["ROW",:[outputTran x.i for i in 0..maxIndex x]]
mkSuperSub(op,argl) ==
$linearFormatScripts => linearFormatForm(op,argl)
@@ -748,7 +748,7 @@ mkSuperSub(op,argl) ==
s:= PNAME op
indexList:= [readInteger PNAME d for i in 1.. while
(digit? (d:= s.(idxmax:= i)))]
- cleanOp:= makeSymbol (strconc/[PNAME s.i for i in idxmax..MAXINDEX s])
+ cleanOp:= makeSymbol (strconc/[PNAME s.i for i in idxmax..maxIndex s])
-- if there is just a subscript use the SUB special form
#indexList=2 =>
subPart:= ['SUB,cleanOp,:take(indexList.1,argl)]
diff --git a/src/interp/i-syscmd.boot b/src/interp/i-syscmd.boot
index 8812989c..2c540536 100644
--- a/src/interp/i-syscmd.boot
+++ b/src/interp/i-syscmd.boot
@@ -205,7 +205,7 @@ commandAmbiguityError(kind,x,u) ==
getSystemCommandLine() ==
p := STRPOS('")",$currentLine,0,NIL)
line := if p then subString($currentLine,p) else $currentLine
- idxmax:= MAXINDEX line
+ idxmax:= maxIndex line
for i in 0..idxmax while stringChar(line,i) ~= char " " repeat
index:= i
if index=idxmax then line := '""
@@ -2039,7 +2039,7 @@ writify ob ==
HPUT($seen, ob, nob)
HPUT($seen, nob, nob)
nob
- n := QVMAXINDEX ob
+ n := maxIndex ob
nob := newVector(n+1)
HPUT($seen, ob, nob)
HPUT($seen, nob, nob)
@@ -2182,7 +2182,7 @@ dewritify ob ==
nob.rest := dewritifyInner qcdr
nob
vector? ob =>
- n := QVMAXINDEX ob
+ n := maxIndex ob
nob := newVector(n+1)
HPUT($seen, ob, nob)
HPUT($seen, nob, nob)
@@ -2578,7 +2578,7 @@ processSynonymLine line ==
value := removeKeyFromLine line where
removeKeyFromLine line ==
line := dropLeadingBlanks line
- mx := MAXINDEX line
+ mx := maxIndex line
for i in 0..mx repeat
stringChar(line,i) = char " " =>
return (for j in (i+1)..mx repeat
@@ -2769,7 +2769,7 @@ removeUndoLines u == --called by writeInputLines
if s1 ~= '")redo" then
m := charPosition(char '_),s1,0)
code :=
- m < MAXINDEX s1 => s1.(m + 1)
+ m < maxIndex s1 => s1.(m + 1)
char 'a
s2 := trimString subString(s1,0,m)
n :=
diff --git a/src/interp/i-util.boot b/src/interp/i-util.boot
index 3204a731..c15dea3b 100644
--- a/src/interp/i-util.boot
+++ b/src/interp/i-util.boot
@@ -143,7 +143,7 @@ makeInitialModemapFrame() ==
COPY $InitialModemapFrame
isCapitalWord x ==
- (y := PNAME x) and and/[upperCase? y.i for i in 0..MAXINDEX y]
+ (y := PNAME x) and and/[upperCase? y.i for i in 0..maxIndex y]
mkPredList listOfEntries ==
[['%ieq,['%head,"#1"],i] for arg in listOfEntries for i in 0..]
diff --git a/src/interp/int-top.boot b/src/interp/int-top.boot
index e7db6a29..a4d1bf5c 100644
--- a/src/interp/int-top.boot
+++ b/src/interp/int-top.boot
@@ -279,7 +279,7 @@ mkLineList lines ==
nonBlank str ==
value := false
- for i in 0..MAXINDEX str repeat
+ for i in 0..maxIndex str repeat
str.i ~= char " " =>
value := true
return value
diff --git a/src/interp/interop.boot b/src/interp/interop.boot
index 62cb156f..0fd5a1db 100644
--- a/src/interp/interop.boot
+++ b/src/interp/interop.boot
@@ -459,11 +459,11 @@ hashNewLookupInTable(op,sig,dollar,[domain,opvec],flag) ==
someMatch := false
numvec := getDomainByteVector domain
predvec := domain.3
- max := MAXINDEX opvec
+ max := maxIndex opvec
k := getOpCode(op,opvec,max) or return
flag => newLookupInAddChain(op,sig,domain,dollar)
nil
- idxmax := MAXINDEX numvec
+ idxmax := maxIndex numvec
start := opvec.k
finish :=
QSGREATERP(max,k) => opvec.(QSPLUS(k,2))
@@ -536,7 +536,7 @@ hashNewLookupInCategories(op,sig,dom,dollar) ==
valueList := [dom,:[dom.(5+i) for i in 1..(# rest dom.0)]]
valueList := [MKQ val for val in valueList]
nsig := MSUBST(dom.0,dollar.0,sig)
- for i in 0..MAXINDEX packageVec |
+ for i in 0..maxIndex packageVec |
(entry := packageVec.i) and entry ~= true repeat
package :=
vector? entry =>
@@ -552,7 +552,7 @@ hashNewLookupInCategories(op,sig,dom,dollar) ==
--vector? infovec => ----new world
true => ----new world
opvec := infovec.1
- max := MAXINDEX opvec
+ max := maxIndex opvec
code := getOpCode(op,opvec,max)
null code => nil
byteVector := CDDDR infovec.3
diff --git a/src/interp/match.boot b/src/interp/match.boot
index e146cd74..9897ff71 100644
--- a/src/interp/match.boot
+++ b/src/interp/match.boot
@@ -65,7 +65,7 @@ charPosition(c,t,startpos) ==
k := k+1
k
-rightCharPosition(c,t,startpos) == --startpos often equals MAXINDEX t (rightmost)
+rightCharPosition(c,t,startpos) == --startpos often equals maxIndex t (rightmost)
k := startpos
for i in startpos..0 by -1 while c ~= ELT(t,i) repeat (k := k - 1)
k
@@ -119,7 +119,7 @@ patternCheck pattern == main where
subString(s,i)
pos(c,s) ==
i := 0
- n := MAXINDEX s
+ n := maxIndex s
acc := nil
repeat
k := charPosition(c,s,i)
@@ -127,12 +127,12 @@ patternCheck pattern == main where
acc := [k,:acc]
i := k + 1
equal(p,n,c) ==
- n > MAXINDEX p => false
+ n > maxIndex p => false
p.n = c
wild(p,u) ==
for id in u repeat
c := char id
- not(or/[p.i = c for i in 0..MAXINDEX(p)]) => return c
+ not(or/[p.i = c for i in 0..maxIndex(p)]) => return c
match?(pattern,subject) == --returns index of first character that matches
basicMatch?(pattern,DOWNCASE subject)
diff --git a/src/interp/msgdb.boot b/src/interp/msgdb.boot
index 4103a927..9700f7d5 100644
--- a/src/interp/msgdb.boot
+++ b/src/interp/msgdb.boot
@@ -99,7 +99,7 @@ string2Words l ==
[w while wordFrom(l,i) is [w,i]]
wordFrom(l,i) ==
- idxmax := MAXINDEX l
+ idxmax := maxIndex l
k := or/[j for j in i..idxmax | stringChar(l,j) ~= char " "] or return nil
buf := '""
while k < idxmax and (c := stringChar(l,k)) ~= char " " repeat
@@ -644,9 +644,9 @@ brightPrint0AsTeX(x, out == $OutputStream) ==
blankIndicator x ==
if IDENTP x then x := symbolName x
- not string? x or MAXINDEX x < 1 => nil
+ not string? x or maxIndex x < 1 => nil
stringChar(x,0) = char "%" and stringChar(x,1) = char "x" =>
- MAXINDEX x > 1 => readInteger subString(x,2)
+ maxIndex x > 1 => readInteger subString(x,2)
1
nil
diff --git a/src/interp/nruncomp.boot b/src/interp/nruncomp.boot
index e9709f63..147f7875 100644
--- a/src/interp/nruncomp.boot
+++ b/src/interp/nruncomp.boot
@@ -426,7 +426,7 @@ stuffDomainSlots dollar ==
function lookupComplete
template := infovec.0
if template.5 then stuffSlot(dollar,5,template.5)
- for i in (6 + # rest domname)..MAXINDEX template | item := template.i repeat
+ for i in (6 + # rest domname)..maxIndex template | item := template.i repeat
stuffSlot(dollar,i,item)
dollar.1 := LIST(lookupFunction,dollar,infovec.1)
dollar.2 := infovec.2
@@ -436,13 +436,13 @@ stuffDomainSlots dollar ==
bitVector := dollar.3
predvec := first proto4
packagevec := second proto4
- auxvec := LIST2VEC [fn for i in 0..MAXINDEX predvec] where fn() ==
+ auxvec := LIST2VEC [fn for i in 0..maxIndex predvec] where fn() ==
not testBitVector(bitVector,predvec.i) => nil
packagevec.i or true
[auxvec,:CDDR proto4]
getLookupFun infovec ==
- MAXINDEX infovec = 4 => infovec.4
+ maxIndex infovec = 4 => infovec.4
'lookupIncomplete
makeSpadConstant [fn,dollar,slot] ==
@@ -565,7 +565,7 @@ buildFunctor($definition is [name,:args],sig,code,$locals,$e) ==
NRTcheckVector domainShell ==
--RETURNS: an alist (((op,sig),:pred) ...) of missing functions
alist := nil
- for i in $NRTbase..MAXINDEX domainShell repeat
+ for i in $NRTbase..maxIndex domainShell repeat
--Vector elements can be one of
-- (a) T -- item was marked
-- (b) NIL -- ???
diff --git a/src/interp/nrunfast.boot b/src/interp/nrunfast.boot
index 5c91fc85..216521a9 100644
--- a/src/interp/nrunfast.boot
+++ b/src/interp/nrunfast.boot
@@ -76,7 +76,7 @@ getDomainCategoriesVector dom ==
getDomainCompleteCategories dom ==
vec := getDomainCategoriesVector dom
cats := nil
- for i in 0..MAXINDEX vec repeat
+ for i in 0..maxIndex vec repeat
cats := [newExpandLocalType(vec.i,dom,dom), :cats]
nreverse cats
@@ -184,11 +184,11 @@ newLookupInTable(op,sig,dollar,[domain,opvec],flag) ==
someMatch := false
numvec := getDomainByteVector domain
predvec := domain.3
- max := MAXINDEX opvec
+ max := maxIndex opvec
k := getOpCode(op,opvec,max) or return
flag => newLookupInAddChain(op,sig,domain,dollar)
nil
- idxmax := MAXINDEX numvec
+ idxmax := maxIndex numvec
start := opvec.k
finish :=
QSGREATERP(max,k) => opvec.(QSPLUS(k,2))
@@ -313,7 +313,7 @@ newLookupInCategories(op,sig,dom,dollar) ==
valueList := [dom,:[dom.(5+i) for i in 1..(# rest dom.0)]]
valueList := [MKQ val for val in valueList]
nsig := MSUBST(dom.0,dollar.0,sig)
- for i in 0..MAXINDEX packageVec |
+ for i in 0..maxIndex packageVec |
(entry := packageVec.i) and entry ~= 'T repeat
package :=
vector? entry =>
@@ -329,7 +329,7 @@ newLookupInCategories(op,sig,dom,dollar) ==
--vector? infovec => ----new world
true => ----new world
opvec := infovec.1
- max := MAXINDEX opvec
+ max := maxIndex opvec
code := getOpCode(op,opvec,max)
null code => nil
byteVector := CDDDR infovec.3
@@ -391,7 +391,7 @@ newLookupInCategories1(op,sig,dom,dollar) ==
valueList := [dom,:[dom.(5+i) for i in 1..(# rest dom.0)]]
valueList := [MKQ val for val in valueList]
nsig := MSUBST(dom.0,dollar.0,sig)
- for i in 0..MAXINDEX packageVec | (entry := packageVec.i)
+ for i in 0..maxIndex packageVec | (entry := packageVec.i)
and (vector? entry or (predIndex := rest (node := catVec.i)) and
(predIndex = 0 or testBitVector(predvec,predIndex))) repeat
package :=
@@ -407,7 +407,7 @@ newLookupInCategories1(op,sig,dom,dollar) ==
success :=
vector? infovec =>
opvec := infovec.1
- max := MAXINDEX opvec
+ max := maxIndex opvec
code := getOpCode(op,opvec,max)
null code => nil
byteVector := CDDR infovec.3
@@ -545,9 +545,9 @@ lookupInDomainByName(op,domain,arg) ==
opvec := domain . 1 . 2
numvec := getDomainByteVector domain
predvec := domain.3
- max := MAXINDEX opvec
+ max := maxIndex opvec
k := getOpCode(op,opvec,max) or return nil
- idxmax := MAXINDEX numvec
+ idxmax := maxIndex numvec
start := opvec.k
finish :=
QSGREATERP(max,k) => opvec.(QSPLUS(k,2))
@@ -709,13 +709,13 @@ newHasTest(domform,catOrAtt) ==
newHasAttribute(eval mkEvalable domform,catOrAtt)
lazyMatchAssocV(x,auxvec,catvec,domain) == --new style slot4
- n := MAXINDEX catvec
+ n := maxIndex catvec
xop := first x
or/[auxvec.i for i in 0..n |
xop = first (lazyt := vectorRef(catvec,i)) and lazyMatch(x,lazyt,domain,domain)]
lazyMatchAssocV1(x,vec,domain) == --old style slot4
- n := MAXINDEX vec
+ n := maxIndex vec
xop := first x
or/[rest vectorRef(vec,i) for i in 0..n |
xop = first (lazyt := first vectorRef(vec,i)) and lazyMatch(x,lazyt,domain,domain)]
diff --git a/src/interp/record.boot b/src/interp/record.boot
index 625ef097..f1561208 100644
--- a/src/interp/record.boot
+++ b/src/interp/record.boot
@@ -237,14 +237,14 @@ htFile2InputFile(pathname,:option) ==
htCommandToInputLine s == fn(s,0) where fn(s,init) ==
--similar to htTrimAtBackSlash except removes all \
- k := or/[i for i in init..MAXINDEX s | s.i = char '_\] =>
+ k := or/[i for i in init..maxIndex s | s.i = char '_\] =>
member(s.(k + 1),[char 'f,char 'b]) => subString(s,init,k - init)
strconc(subString(s,init,k - init),fn(s,k + 1))
subString(s,init)
htTrimAtBackSlash s ==
backslash := char '_\
- k := or/[i for i in 0..MAXINDEX s | s.i = backslash
+ k := or/[i for i in 0..maxIndex s | s.i = backslash
and member(s.(i + 1),[char 'f,char 'b])] => subString(s,0,k - 1)
s
@@ -267,7 +267,7 @@ recordAndPrintTest md == --called by recordAndPrint
string? $currentLine => [$currentLine]
fn $currentLine where fn x ==
x is [y,:r] =>
- y.(k := MAXINDEX y) = char '__ =>
+ y.(k := maxIndex y) = char '__ =>
u := fn r
[strconc(subString(y,0,k),'" ",first u),:rest u]
[y,:fn r]
diff --git a/src/interp/showimp.boot b/src/interp/showimp.boot
index 47260bb3..dca66b20 100644
--- a/src/interp/showimp.boot
+++ b/src/interp/showimp.boot
@@ -81,7 +81,7 @@ showImp(dom,:options) ==
u := SORTBY('CDDR,defexports)
while u repeat
[.,.,:key] := first u
- defop := makeSymbol(subString((s := PNAME first key),0,MAXINDEX s))
+ defop := makeSymbol(subString((s := PNAME first key),0,maxIndex s))
domainForm := [defop,:CDDR key]
sayBrightly ["Default functions from",:bright form2String domainForm,'":"]
u := showDomainsOp1(u,key)
@@ -164,7 +164,7 @@ devaluateSlotDomain(u,dollar) ==
getCategoriesOfDomain domain ==
predkeyVec := domain.4.0
catforms := second domain.4
- [fn for i in 0..MAXINDEX predkeyVec | test] where
+ [fn for i in 0..maxIndex predkeyVec | test] where
test() == predkeyVec.i and
(x := catforms . i) isnt ['DomainSubstitutionMacro,:.]
fn() ==
@@ -230,7 +230,7 @@ showAttributes dom ==
showGoGet dom ==
numvec := CDDR dom.4
- for i in 6..MAXINDEX dom | (slot := dom.i) is ['newGoGet,dol,index,:op] repeat
+ for i in 6..maxIndex dom | (slot := dom.i) is ['newGoGet,dol,index,:op] repeat
numOfArgs := numvec.index
whereNumber := numvec.(index := index + 1)
signumList :=
@@ -279,7 +279,7 @@ dcSlots con ==
name := abbreviation? con or con
$infovec: local := getInfovec name
template := $infovec.0
- for i in 5..MAXINDEX template repeat
+ for i in 5..maxIndex template repeat
sayBrightlyNT bright i
item := template.i
item is [n,:op] and integer? n => dcOpLatchPrint(op,n)
@@ -336,12 +336,12 @@ dcOpTable con ==
template := $infovec.0
$predvec: local := getConstructorPredicatesFromDB con
opTable := $infovec.1
- for i in 0..MAXINDEX opTable repeat
+ for i in 0..maxIndex opTable repeat
op := opTable.i
i := i + 1
startIndex := opTable.i
stopIndex :=
- i + 1 > MAXINDEX opTable => MAXINDEX getCodeVector()
+ i + 1 > maxIndex opTable => maxIndex getCodeVector()
opTable.(i + 2)
curIndex := startIndex
while curIndex < stopIndex repeat
@@ -378,7 +378,7 @@ dcPreds con ==
name := abbreviation? con or con
$infovec: local := getInfovec name
$predvec:= getConstructorPredicatesFromDB con
- for i in 0..MAXINDEX $predvec repeat
+ for i in 0..maxIndex $predvec repeat
sayBrightlyNT bright (i + 1)
sayBrightly pred2English $predvec.i
@@ -403,7 +403,7 @@ dcCats con ==
catpredvec := first u
catinfo := second u
catvec := third u
- for i in 0..MAXINDEX catvec repeat
+ for i in 0..maxIndex catvec repeat
sayBrightlyNT bright i
form := catvec.i
predNumber := catpredvec.i
@@ -421,7 +421,7 @@ dcCats1 con ==
u := $infovec.3
catvec := second u
catinfo := first u
- for i in 0..MAXINDEX catvec repeat
+ for i in 0..maxIndex catvec repeat
sayBrightlyNT bright i
[form,:predNumber] := catvec.i
suffix :=
@@ -444,7 +444,7 @@ dcData con ==
dcData1 vec
dcData1 vec ==
- n := MAXINDEX vec
+ n := maxIndex vec
tens := n quo 10
for i in 0..tens repeat
start := 10*i
@@ -464,7 +464,7 @@ dcSize(:options) ==
name := abbreviation? con or con
infovec := getInfovec name
template := infovec.0
- maxindex := MAXINDEX template
+ maxindex := maxIndex template
latch := 0 --# of go get slots
lazy := 0 --# of lazy domain slots
fun := 0 --# of function slots
@@ -483,7 +483,7 @@ dcSize(:options) ==
catvec :=
vector? CDDR slot4 => second slot4
third slot4
- n := MAXINDEX catvec
+ n := maxIndex catvec
cSize := sum(nodeSize(2),vectorSize(# first slot4),vectorSize(n + 1),
nodeSize(+/[numberOfNodes catvec.i for i in 0..n]))
codeVector :=
@@ -544,7 +544,7 @@ template con ==
ppTemplate getInfovec(con).0
ppTemplate vec ==
- for i in 0..MAXINDEX vec repeat
+ for i in 0..maxIndex vec repeat
sayBrightlyNT bright i
pp vec.i
diff --git a/src/interp/sys-utility.boot b/src/interp/sys-utility.boot
index 9bff9b41..f5e1e7aa 100644
--- a/src/interp/sys-utility.boot
+++ b/src/interp/sys-utility.boot
@@ -294,7 +294,7 @@ minimalise x ==
if not sameObject?(z,rest x) then x.rest := z
hashCheck(x,ht)
vector? x =>
- for i in 0..MAXINDEX x repeat
+ for i in 0..maxIndex x repeat
x.i := min(x.i,ht)
hashCheck(x,ht)
string? x => hashCheck(x,ht)
diff --git a/src/interp/topics.boot b/src/interp/topics.boot
index 0f2091f0..40aa687c 100644
--- a/src/interp/topics.boot
+++ b/src/interp/topics.boot
@@ -94,11 +94,11 @@ mkTopicHashTable() == --given $groupAssoc = ((extended .
while not EOFP instream repeat
line := READLINE instream
while blankLine? line repeat line := READLINE instream
- m := MAXINDEX line --file "topics.data" has form:
+ m := maxIndex line --file "topics.data" has form:
m = -1 => 'skip --1 ConstructorName:
line.0 = char '_- => 'skip --2 constructorName or operation name
line := trimString line --3-n ...
- m := MAXINDEX line -- (blank line) ...
+ m := maxIndex line -- (blank line) ...
line.m ~= (char '_:) => systemError('"wrong heading")
con := makeSymbol subString(line,0,m)
alist := [lst while not EOFP instream and
@@ -129,7 +129,7 @@ mkTopicHashTable() == --given $groupAssoc = ((extended .
$conTopicHash --keys are ops or 'constructor', values are codes
blankLine? line ==
- MAXINDEX line = -1 or and/[line . j = (char '_ ) for j in 0..MAXINDEX line]
+ maxIndex line = -1 or and/[line . j = (char '_ ) for j in 0..maxIndex line]
string2OpAlist s ==
m := #s
@@ -145,7 +145,7 @@ string2OpAlist s ==
getDefaultProps name ==
u := HGET($defaultsHash,name)
- if (s := PNAME name).(m := MAXINDEX s) = char '? then u := ['p,:u]
+ if (s := PNAME name).(m := maxIndex s) = char '? then u := ['p,:u]
if s.m = char "!" then u := ['destructive,:u]
u
diff --git a/src/interp/word.boot b/src/interp/word.boot
index b39c79c9..ab749561 100644
--- a/src/interp/word.boot
+++ b/src/interp/word.boot
@@ -108,13 +108,13 @@ wordsOfString(s) == [UPCASE x for x in wordsOfStringKeepCase s]
wordsOfStringKeepCase s == wordsOfString1(s,0) or [COPY s]
wordsOfString1(s,j) ==
- k := or/[i for i in j..(MAXINDEX(s)-1) | isBreakCharacter s.i] =>
+ k := or/[i for i in j..(maxIndex(s)-1) | isBreakCharacter s.i] =>
tailWords:=
isBreakCharacter s.(k+1) =>
- n:= or/[i for i in (k+2)..(MAXINDEX(s)-1)|not isBreakCharacter s.i]
+ n:= or/[i for i in (k+2)..(maxIndex(s)-1)|not isBreakCharacter s.i]
null n => [subString(s,k)]
n > k+1 => [subString(s,k,n-k-1),:wordsOfString1(s,n-1)]
- m := or/[i for i in (k+2)..(MAXINDEX(s)-1) | isBreakCharacter s.i] =>
+ m := or/[i for i in (k+2)..(maxIndex(s)-1) | isBreakCharacter s.i] =>
[subString(s,k,m-k),:wordsOfString1(s,m)]
[subString(s,k)]
k > j+1 => [subString(s,j,k-j),:tailWords]
@@ -274,7 +274,7 @@ findApproximateWords(word,table) ==
for [x,:.] in alist repeat
k := deltaWordEntry(upperWord,UPCASE COPY x)
k < lastThreshold => vec.k := [x,:vec.k]
- or/[vec.k for k in 0..MAXINDEX vec]
+ or/[vec.k for k in 0..maxIndex vec]
guessFromList(key,stringList) ==
threshold := MAX(3,(# key)/2)
@@ -282,7 +282,7 @@ guessFromList(key,stringList) ==
for x in stringList repeat
k := deltaWordEntry(key,x)
k < threshold => vec.k := [x,:vec.k]
- or/[vec.k for k in 0..MAXINDEX vec]
+ or/[vec.k for k in 0..maxIndex vec]
deltaWordEntry(word,entry) ==
word = entry => 0
@@ -292,7 +292,7 @@ deltaWordEntry(word,entry) ==
--+ Note these are optimized definitions below-- see commented out versions
--+ to understand the algorithm
canForgeWord(word,entry) ==
- forge(word,0,MAXINDEX word,entry,0,MAXINDEX entry,0)
+ forge(word,0,maxIndex word,entry,0,maxIndex entry,0)
forge(word,w,W,entry,e,E,n) ==
w > W =>
@@ -323,7 +323,7 @@ forge(word,w,W,entry,e,E,n) ==
--+ DO NOT REMOVE DEFINITIONS BELOW which explain the algorithm
--+ canForgeWord(word,entry) ==--
---+ [d,i,s,t] := forge(word,0,MAXINDEX word,entry,0,MAXINDEX entry,0,0,0,0)
+--+ [d,i,s,t] := forge(word,0,maxIndex word,entry,0,maxIndex entry,0,0,0,0)
--+ --d=deletions, i=insertions, s=substitutions, t=transpositions
--+ --list is formed only for tuning purposes-- remove later on
--+ d + i + s + t
@@ -368,13 +368,13 @@ patternTran pattern ==
maskConvert DOWNCASE pattern
hasWildCard? str ==
- or/[str.i = '_? and (i=0 or not(str.(i-1) = '__ )) for i in 0..MAXINDEX str]
+ or/[str.i = '_? and (i=0 or not(str.(i-1) = '__ )) for i in 0..maxIndex str]
maskConvert str ==
--replace all ? not preceded by an underscore by &
buf:= GETSTR(#str)
j:= 0 --index into res
- final := MAXINDEX str
+ final := maxIndex str
for i in 0..final repeat
c := str.i
if c = char "__" and i < final then
@@ -397,6 +397,6 @@ suffix?(s,t) ==
obSearch x ==
vec:= OBARRAY()
pattern:= PNAME x
- [y for i in 0..MAXINDEX OBARRAY() |
+ [y for i in 0..maxIndex OBARRAY() |
(IDENTP (y := vec.i) or CVEC y) and match?(pattern,COPY y)]