.
--- a/Parser.st Sat May 06 16:12:26 1995 +0200
+++ b/Parser.st Wed May 10 04:27:38 1995 +0200
@@ -41,7 +41,7 @@
COPYRIGHT (c) 1989 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.38 1995-05-06 14:12:26 claus Exp $
+$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.39 1995-05-10 02:27:38 claus Exp $
'!
!Parser class methodsFor:'documentation'!
@@ -62,7 +62,7 @@
version
"
-$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.38 1995-05-06 14:12:26 claus Exp $
+$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.39 1995-05-10 02:27:38 claus Exp $
"
!
@@ -1191,26 +1191,43 @@
undefError:aName position:pos1 to:pos2
"report an undefined variable error - return true, if it should be
- corrected"
-
- (requestor isNil or:[requestor isStream]) ifTrue:[
- warnedUndefVars notNil ifTrue:[
- (warnedUndefVars includes:aName) ifTrue:[
- "already warned about this one"
- ^ false
- ].
+ corrected. If not corrected, only one warning is made per undefined
+ variable."
+
+ |doCorrect|
+
+ "
+ alredy warned about this one ?
+ "
+ warnedUndefVars notNil ifTrue:[
+ (warnedUndefVars includes:aName) ifTrue:[
+ "already warned about this one"
+ ^ false
].
+ ].
+
+ (requestor isNil or:[requestor isStream]) ifTrue:[
aName first isUppercase ifFalse:[
self showErrorMessage:('Error: ' , aName , ' is undefined') position:pos1.
].
+ doCorrect := false.
+ ] ifFalse:[
+ "
+ ask requestor for correct/continue/abort ...
+ it is supposed to raise abort or return true/false.
+ True return means that correction is wanted.
+ "
+ doCorrect := self correctableError:('Error: ' , aName , ' is undefined') position:pos1 to:pos2
+ ].
+
+ doCorrect ifFalse:[
warnedUndefVars isNil ifTrue:[
warnedUndefVars := Set new.
].
warnedUndefVars add:aName.
- ^ false
].
- ^ self correctableError:('Error: ' , aName , ' is undefined') position:pos1 to:pos2
+ ^ doCorrect
!
identifierExpectedIn:what