aboutsummaryrefslogtreecommitdiff
path: root/src/interp/iterator.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-05-11 03:28:45 +0000
committerdos-reis <gdr@axiomatics.org>2008-05-11 03:28:45 +0000
commit51422a0c6bc0128cd5635a01c402ef56ad4ed770 (patch)
treed7f4cb13310b177e1691acd1307eb420d70b2546 /src/interp/iterator.boot
parentd2412069e4fc43a4bc6cc28ce4c57e02f8baee41 (diff)
downloadopen-axiom-51422a0c6bc0128cd5635a01c402ef56ad4ed770.tar.gz
* interp/iterator.boot (compRepeatOrCollect): Don't iterator
variables and variables declared in a loop are local to that loop. * interp/g-error.boot (needsToSplitMessage): New. (errorSupervisor): Use it. * interp/compiler.boot (compSymbol): Highlight erron=eous symbol. * interp/wi1.boot (stackMessage): Remove duplicate. * algebra/ffcat.spad.pamphlet (FiniteFieldCategory): Tidy. * algebra/fff.spad.pamphlet (FiniteFieldFunctions): Likewie. * algebra/groebsol.spad.pamphlet (GroebnerSolve): Likewise. * algebra/intfact.spad.pamphlet (IntegerRoots): Likewise. * algebra/mkfunc.spad.pamphlet (InputForm): Likewise. * algebra/numtheor.spad.pamphlet (IntegerNumberTheoryFunctions): Likewise. * algebra/permgrps.spad.pamphlet (PermutationGroup): Likewise. * algebra/random.spad.pamphlet (RandomFloatDistributions): Likewise. * algebra/sgcf.spad.pamphlet (SymmetricGroupCombinatoricFunctions): Likewise. * algebra/triset.spad.pamphlet (PolynomialSetUtilitiesPackage): Likewise. * algebra/twofact.spad.pamphlet (TwoFactorize): Likewise.
Diffstat (limited to 'src/interp/iterator.boot')
-rw-r--r--src/interp/iterator.boot5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/interp/iterator.boot b/src/interp/iterator.boot
index 70a52f6d..d62f4939 100644
--- a/src/interp/iterator.boot
+++ b/src/interp/iterator.boot
@@ -132,7 +132,10 @@ compRepeatOrCollect(form,m,e) ==
(u:=modeIsAggregateOf('Vector,targetMode,e)) => CAR u
["Vector",m']
m'
- coerceExit([form',m'',e'],targetMode)
+ T := coerceExit([form',m'',e'],targetMode) or return nil
+ -- iterator variables and other variables declared in
+ -- in a loop are local to the loop.
+ [T.expr,T.mode,e]
--constructByModemap([x,source,e],target) ==
-- u:=