--- a/AbstractSettingsApplication.st Fri Feb 21 13:04:43 2020 +0100
+++ b/AbstractSettingsApplication.st Fri Feb 21 13:59:26 2020 +0100
@@ -854,10 +854,6 @@
!
modifiedChannel
-
- modifiedChannel isNil ifTrue:[
- modifiedChannel := false asValue.
- ].
^ modifiedChannel
! !
@@ -1013,11 +1009,13 @@
<modifier: #super> "must be called if redefined"
super initialize.
+ modifiedChannel := false asValue.
resources := self class classResources.
currentUserPrefs isNil ifTrue:[ self initializeCurrentUserPreferences ].
settingsString := (UISpecification from:(self class windowSpec)) window label.
didModifySettings := false.
+
"/ self readSettings.
"Modified: / 08-02-2017 / 00:29:53 / cg"
@@ -2818,23 +2816,17 @@
!AbstractSettingsApplication::ByteCodeCompilerSettingsAppl methodsFor:'actions'!
basicReadSettings
- self
- readAspects:(self simpleAspects)
- from:ParserFlags.
+ self readAspects:(self simpleAspects) from:ParserFlags.
self constantFoldingSelection
value:(self class constantFoldingOptions indexOf:Compiler foldConstants ifAbsent:3).
self supportsJustInTimeCompilation ifTrue:[
- self fullDebugSupport value:(ObjectMemory fullSingleStepSupport ? false)
+ self justInTimeCompilation value:(ObjectMemory justInTimeCompilation).
+ self fullDebugSupport value:(ObjectMemory fullSingleStepSupport).
] ifFalse:[
- self fullDebugSupport value:(ParserFlags fullLineNumberInfo)
- ].
-
- self supportsJustInTimeCompilation ifTrue:[
- self justInTimeCompilation value:(ObjectMemory justInTimeCompilation ? false)
- ] ifFalse:[
- self justInTimeCompilation value:false
+ self justInTimeCompilation value:false.
+ self fullDebugSupport value:(ParserFlags fullLineNumberInfo).
].
self warnAboutMissingMethodComment value:(UserPreferences current enforceComment).
@@ -2847,9 +2839,7 @@
extensionSettingsChanged := ParserFlags allowSqueakExtensions ~= self allowSqueakExtensions.
- self
- writeAspects:(self simpleAspects)
- to:ParserFlags.
+ self writeAspects:(self simpleAspects) to:ParserFlags.
ParserFlags lineNumberInfo:(self fullDebugSupport value ifTrue:[#full] ifFalse:[true]).
@@ -2935,81 +2925,40 @@
!AbstractSettingsApplication::ByteCodeCompilerSettingsAppl methodsFor:'aspects'!
allowAssignmentToPoolVariable
-
- allowAssignmentToPoolVariable isNil ifTrue:[
- allowAssignmentToPoolVariable := ParserFlags allowAssignmentToPoolVariable asValue.
- allowAssignmentToPoolVariable onChangeSend:#updateModifiedChannel to:self.
- ].
^ allowAssignmentToPoolVariable.
"Created: / 12-09-2011 / 17:26:01 / cg"
!
allowDollarInIdentifier
-
- allowDollar isNil ifTrue:[
- allowDollar := ParserFlags allowDollarInIdentifier asValue.
- allowDollar onChangeSend:#updateModifiedChannel to:self.
- allowDollar addDependent:self.
- ].
^ allowDollar.
!
allowDolphinExtensions
-
- allowDolphinExtensions isNil ifTrue:[
- allowDolphinExtensions := ParserFlags allowDolphinExtensions asValue.
- allowDolphinExtensions onChangeSend:#updateModifiedChannel to:self.
- ].
^ allowDolphinExtensions.
!
allowEmptyStatements
-
- allowEmptyStatements isNil ifTrue:[
- allowEmptyStatements := ParserFlags allowEmptyStatements asValue.
- allowEmptyStatements onChangeSend:#updateModifiedChannel to:self.
- "/ allowEmptyStatements addDependent:self.
- ].
^ allowEmptyStatements.
"Created: / 20-11-2006 / 22:35:10 / cg"
!
allowExtendedBinarySelectors
-
- allowExtendedBinarySelectors isNil ifTrue:[
- allowExtendedBinarySelectors := (ParserFlags allowExtendedBinarySelectors ? false) asValue.
- allowExtendedBinarySelectors onChangeSend:#updateModifiedChannel to:self.
- ].
^ allowExtendedBinarySelectors.
!
allowFixedPointLiterals
-
- allowFixedPointLiterals isNil ifTrue:[
- allowFixedPointLiterals := (ParserFlags allowFixedPointLiterals ? false) asValue.
- allowFixedPointLiterals onChangeSend:#updateModifiedChannel to:self.
- ].
+ "holds true, if nnnsn (FixedPoint / ScaledDecimal) literals are allowed."
+
^ allowFixedPointLiterals.
!
allowOldStyleAssignment
-
- allowOldStyleAssignment isNil ifTrue:[
- allowOldStyleAssignment := ParserFlags allowOldStyleAssignment asValue.
- allowOldStyleAssignment onChangeSend:#updateModifiedChannel to:self.
- ].
^ allowOldStyleAssignment.
!
allowParagraphInIdentifier
-
- allowParagraph isNil ifTrue:[
- allowParagraph := ParserFlags allowParagraphInIdentifier asValue.
- allowParagraph onChangeSend:#updateModifiedChannel to:self.
- allowParagraph addDependent:self.
- ].
^ allowParagraph.
"Created: / 16-11-2016 / 22:38:18 / cg"
@@ -3018,10 +2967,6 @@
allowQualifiedNames
"true, if '#{..}' and 'namespace.varName' qualified names are allowed"
- allowQualifiedNames isNil ifTrue:[
- allowQualifiedNames := ParserFlags allowQualifiedNames asValue.
- allowQualifiedNames onChangeSend:#updateModifiedChannel to:self.
- ].
^ allowQualifiedNames.
"Modified (comment): / 23-09-2018 / 01:08:42 / Claus Gittinger"
@@ -3031,10 +2976,6 @@
"if true, 'self', 'super', 'thisContext', 'nil', 'true' and 'false' are allowed
as unary message selectors."
- allowReservedWordsAsSelectors isNil ifTrue:[
- allowReservedWordsAsSelectors := ParserFlags allowReservedWordsAsSelectors asValue.
- allowReservedWordsAsSelectors onChangeSend:#updateModifiedChannel to:self.
- ].
^ allowReservedWordsAsSelectors.
"Modified (comment): / 25-06-2019 / 11:16:36 / Claus Gittinger"
@@ -3042,49 +2983,24 @@
allowSqueakExtensions
- allowSqueakExtensions isNil ifTrue:[
- allowSqueakExtensions := ParserFlags allowSqueakExtensions asValue.
- allowSqueakExtensions onChangeSend:#updateModifiedChannel to:self.
- ].
^ allowSqueakExtensions.
!
allowUnderscoreInIdentifier
-
- allowUnderscore isNil ifTrue:[
- allowUnderscore := ParserFlags allowUnderscoreInIdentifier asValue.
- allowUnderscore onChangeSend:#updateModifiedChannel to:self.
- allowUnderscore addDependent:self.
- ].
^ allowUnderscore.
!
allowVisualAgeESSymbolLiterals
-
- allowVisualAgeESSymbolLiterals isNil ifTrue:[
- allowVisualAgeESSymbolLiterals := ParserFlags allowVisualAgeESSymbolLiterals asValue.
- allowVisualAgeESSymbolLiterals onChangeSend:#updateModifiedChannel to:self.
- ].
^ allowVisualAgeESSymbolLiterals.
!
allowVisualAgePrimitives
-
- allowVisualAgePrimitives isNil ifTrue:[
- allowVisualAgePrimitives := ParserFlags allowVisualAgePrimitives asValue.
- allowVisualAgePrimitives onChangeSend:#updateModifiedChannel to:self.
- ].
^ allowVisualAgePrimitives.
"Created: / 07-02-2012 / 17:06:19 / cg"
!
arraysAreImmutable
-
- immutableArrays isNil ifTrue:[
- immutableArrays := ParserFlags arraysAreImmutable asValue.
- immutableArrays onChangeSend:#updateModifiedChannel to:self.
- ].
^ immutableArrays.
!
@@ -3105,9 +3021,9 @@
!
constantFoldingSelection
+ | index |
constantFoldingSelection isNil ifTrue:[
- | index |
index := self class constantFoldingOptions indexOf:Compiler foldConstants ifAbsent:3.
constantFoldingSelection := index asValue.
constantFoldingSelection onChangeSend:#updateModifiedChannel to:self.
@@ -3116,29 +3032,16 @@
!
enableDollar
-
- enableDollar isNil ifTrue:[
- enableDollar := true asValue.
- enableDollar addDependent:self.
- ].
^ enableDollar.
!
enableParagraph
-
- enableParagraph isNil ifTrue:[
- enableParagraph := true asValue.
- enableParagraph addDependent:self.
- ].
^ enableParagraph.
"Created: / 16-11-2016 / 22:39:57 / cg"
!
enableUnderscore
- enableUnderscore isNil ifTrue:[
- enableUnderscore := true asValue.
- ].
^ enableUnderscore.
!
@@ -3171,141 +3074,72 @@
!
stringsAreImmutable
-
- immutableStrings isNil ifTrue:[
- immutableStrings := ParserFlags arraysAreImmutable asValue.
- immutableStrings onChangeSend:#updateModifiedChannel to:self.
- ].
^ immutableStrings.
!
warnAboutBadComments
- warnAboutBadComments isNil ifTrue:[
- warnAboutBadComments := ParserFlags warnAboutBadComments asValue.
- warnAboutBadComments onChangeSend:#updateModifiedChannel to:self.
- ].
^ warnAboutBadComments.
!
warnAboutMissingMethodComment
-
- warnAboutMissingMethodComment isNil ifTrue:[
- warnAboutMissingMethodComment := UserPreferences current enforceComment asValue.
- warnAboutMissingMethodComment onChangeSend:#updateModifiedChannel to:self.
- ].
^ warnAboutMissingMethodComment.
"Created: / 17-07-2010 / 14:39:25 / cg"
!
warnAboutNonLowercaseLocalVariableNames
- warnAboutNonLowercaseLocalVariableNames isNil ifTrue:[
- warnAboutNonLowercaseLocalVariableNames := ParserFlags warnAboutNonLowercaseLocalVariableNames asValue.
- warnAboutNonLowercaseLocalVariableNames onChangeSend:#updateModifiedChannel to:self.
- ].
^ warnAboutNonLowercaseLocalVariableNames.
"Modified: / 22-10-2006 / 02:30:57 / cg"
!
warnAboutPossibleSTCCompilationProblems
-
- warnAboutPossibleSTCCompilationProblems isNil ifTrue:[
- warnAboutPossibleSTCCompilationProblems := ParserFlags warnAboutPossibleSTCCompilationProblems asValue.
- warnAboutPossibleSTCCompilationProblems onChangeSend:#updateModifiedChannel to:self.
- ].
^ warnAboutPossibleSTCCompilationProblems.
"Created: / 20-11-2006 / 22:41:07 / cg"
!
warnAboutPossiblyUnimplementedSelectors
-
- warnAboutPossiblyUnimplementedSelectors isNil ifTrue:[
- warnAboutPossiblyUnimplementedSelectors := ParserFlags warnAboutPossiblyUnimplementedSelectors asValue.
- warnAboutPossiblyUnimplementedSelectors onChangeSend:#updateModifiedChannel to:self.
- ].
^ warnAboutPossiblyUnimplementedSelectors.
"Created: / 20-11-2006 / 22:41:07 / cg"
!
warnAboutPossiblyUninitializedLocals
-
- warnAboutPossiblyUninitializedLocals isNil ifTrue:[
- warnAboutPossiblyUninitializedLocals := ParserFlags warnAboutPossiblyUninitializedLocals asValue.
- warnAboutPossiblyUninitializedLocals onChangeSend:#updateModifiedChannel to:self.
- ].
^ warnAboutPossiblyUninitializedLocals.
"Created: / 23-04-2019 / 23:16:25 / Claus Gittinger"
!
warnAboutReferenceToPrivateClass
- warnAboutReferenceToPrivateClass isNil ifTrue:[
- warnAboutReferenceToPrivateClass := ParserFlags warnAboutReferenceToPrivateClass asValue.
- warnAboutReferenceToPrivateClass onChangeSend:#updateModifiedChannel to:self.
- ].
^ warnAboutReferenceToPrivateClass.
!
warnAboutShortLocalVariableNames
- warnAboutShortLocalVariableNames isNil ifTrue:[
- warnAboutShortLocalVariableNames := ParserFlags warnAboutShortLocalVariableNames asValue.
- warnAboutShortLocalVariableNames onChangeSend:#updateModifiedChannel to:self.
- ].
^ warnAboutShortLocalVariableNames.
!
warnAboutWrongVariableNames
- warnAboutWrongVariableNames isNil ifTrue:[
- warnAboutWrongVariableNames := ParserFlags warnAboutWrongVariableNames asValue.
- warnAboutWrongVariableNames onChangeSend:#updateModifiedChannel to:self.
- ].
^ warnAboutWrongVariableNames.
!
warnCommonMistakes
-
- warnCommonMistakes isNil ifTrue:[
- warnCommonMistakes := ParserFlags warnCommonMistakes asValue.
- warnCommonMistakes onChangeSend:#updateModifiedChannel to:self.
- ].
^ warnCommonMistakes.
!
warnDollarInIdentifier
-
- warnDollar isNil ifTrue:[
- warnDollar := ParserFlags warnDollarInIdentifier asValue.
- warnDollar onChangeSend:#updateModifiedChannel to:self.
- ].
^ warnDollar.
!
warnInconsistentReturnValues
- warnInconsistentReturnValues isNil ifTrue:[
- warnInconsistentReturnValues := ParserFlags warnInconsistentReturnValues asValue.
- warnInconsistentReturnValues onChangeSend:#updateModifiedChannel to:self.
- ].
^ warnInconsistentReturnValues.
!
warnOldStyleAssignment
-
- warnOldStyle isNil ifTrue:[
- warnOldStyle := ParserFlags warnOldStyleAssignment asValue.
- warnOldStyle onChangeSend:#updateModifiedChannel to:self.
- ].
^ warnOldStyle.
!
warnPlausibilityChecks
-
- warnPlausibilityChecks isNil ifTrue:[
- warnPlausibilityChecks := ParserFlags warnPlausibilityChecks asValue.
- warnPlausibilityChecks onChangeSend:#updateModifiedChannel to:self.
- ].
^ warnPlausibilityChecks.
"Created: / 19-01-2012 / 10:57:29 / cg"
@@ -3315,69 +3149,48 @@
"holds true, if possible incompatibilities (with other ST systems)
are to be warned about"
- warnCompatibility isNil ifTrue:[
- warnCompatibility := ParserFlags warnPossibleIncompatibilities asValue.
- warnCompatibility onChangeSend:#updateModifiedChannel to:self.
- ].
^ warnCompatibility.
!
warnSTXSpecials
-
- warnSTX isNil ifTrue:[
- warnSTX := ParserFlags warnSTXSpecials asValue.
- warnSTX onChangeSend:#updateModifiedChannel to:self.
- ].
^ warnSTX.
!
warnUnderscoreInIdentifier
-
- warnUnderscore isNil ifTrue:[
- warnUnderscore := ParserFlags warnUnderscoreInIdentifier asValue.
- warnUnderscore onChangeSend:#updateModifiedChannel to:self.
- ].
^ warnUnderscore.
!
warnUnusedVars
-
- warnUnusedVars isNil ifTrue:[
- warnUnusedVars := ParserFlags warnUnusedVars asValue.
- warnUnusedVars onChangeSend:#updateModifiedChannel to:self.
- ].
^ warnUnusedVars.
!
warnings
-
- warnings isNil ifTrue:[
- warnings := ParserFlags warnings asValue.
- warnings addDependent:self.
- warnings changed.
- warnings onChangeSend:#updateModifiedChannel to:self.
- ].
^ warnings.
! !
!AbstractSettingsApplication::ByteCodeCompilerSettingsAppl methodsFor:'change & update'!
update:something with:aParameter from:changedObject
+ |eUnderscore eDollar eParagraph|
+
changedObject == self warnings ifTrue:[
changedObject value ifTrue:[
- self enableUnderscore value:self allowUnderscoreInIdentifier value.
- self enableDollar value:self allowDollarInIdentifier value.
- self enableParagraph value:self allowParagraphInIdentifier value.
+ eUnderscore := self allowUnderscoreInIdentifier value.
+ eDollar := self allowUnderscoreInIdentifier value.
+ eParagraph := self allowParagraphInIdentifier value.
] ifFalse:[
- self enableUnderscore value:false.
- self enableDollar value:false.
- self enableParagraph value:false.
- ].
+ eUnderscore := eDollar := eParagraph := false.
+ ].
+ self enableUnderscore value:eUnderscore.
+ self enableDollar value:eDollar.
+ self enableParagraph value:eParagraph.
^ self
].
- (changedObject == self allowDollarInIdentifier
- or:[changedObject == self allowParagraphInIdentifier
- or:[changedObject == self allowUnderscoreInIdentifier]]) ifTrue:[
+
+ (changedObject == allowDollar
+ or:[changedObject == allowParagraph
+ or:[changedObject == allowUnderscore]]
+ ) ifTrue:[
self warnings changed.
^ self
].
@@ -3393,6 +3206,131 @@
^ 'Launcher/compilerSettings.html'
! !
+!AbstractSettingsApplication::ByteCodeCompilerSettingsAppl methodsFor:'initialization'!
+
+initialize
+ super initialize.
+
+ enableDollar := ValueHolder with:true.
+ enableDollar addDependent:self.
+
+ enableUnderscore := ValueHolder with:true.
+ enableUnderscore addDependent:self.
+
+ enableParagraph := ValueHolder with:true.
+ enableParagraph addDependent:self.
+
+ immutableStrings := ValueHolder with:(ParserFlags arraysAreImmutable).
+ immutableStrings onChangeSend:#updateModifiedChannel to:self.
+
+ warnAboutBadComments := ValueHolder with:(ParserFlags warnAboutBadComments).
+ warnAboutBadComments onChangeSend:#updateModifiedChannel to:self.
+
+ warnAboutMissingMethodComment := ValueHolder with:(UserPreferences current enforceComment).
+ warnAboutMissingMethodComment onChangeSend:#updateModifiedChannel to:self.
+
+ warnAboutNonLowercaseLocalVariableNames := ValueHolder with:(ParserFlags warnAboutNonLowercaseLocalVariableNames).
+ warnAboutNonLowercaseLocalVariableNames onChangeSend:#updateModifiedChannel to:self.
+
+ warnAboutPossibleSTCCompilationProblems := ValueHolder with:(ParserFlags warnAboutPossibleSTCCompilationProblems).
+ warnAboutPossibleSTCCompilationProblems onChangeSend:#updateModifiedChannel to:self.
+
+ allowDollar := ValueHolder with:(ParserFlags allowDollarInIdentifier).
+ allowDollar onChangeSend:#updateModifiedChannel to:self.
+ allowDollar addDependent:self.
+
+ allowFixedPointLiterals := ValueHolder with:(ParserFlags allowFixedPointLiterals).
+ allowFixedPointLiterals onChangeSend:#updateModifiedChannel to:self.
+
+ allowExtendedBinarySelectors := ValueHolder with:(ParserFlags allowExtendedBinarySelectors).
+ allowExtendedBinarySelectors onChangeSend:#updateModifiedChannel to:self.
+
+ allowAssignmentToPoolVariable := ValueHolder with:(ParserFlags allowAssignmentToPoolVariable).
+ allowAssignmentToPoolVariable onChangeSend:#updateModifiedChannel to:self.
+
+ allowDolphinExtensions := ValueHolder with:(ParserFlags allowDolphinExtensions).
+ allowDolphinExtensions onChangeSend:#updateModifiedChannel to:self.
+
+ allowEmptyStatements := ValueHolder with:(ParserFlags allowEmptyStatements).
+ allowEmptyStatements onChangeSend:#updateModifiedChannel to:self.
+
+ allowOldStyleAssignment := ValueHolder with:(ParserFlags allowOldStyleAssignment).
+ allowOldStyleAssignment onChangeSend:#updateModifiedChannel to:self.
+
+ allowParagraph := ValueHolder with:(ParserFlags allowParagraphInIdentifier).
+ allowParagraph onChangeSend:#updateModifiedChannel to:self.
+ allowParagraph addDependent:self.
+
+ allowQualifiedNames := ValueHolder with:(ParserFlags allowQualifiedNames).
+ allowQualifiedNames onChangeSend:#updateModifiedChannel to:self.
+
+ allowReservedWordsAsSelectors := ValueHolder with:(ParserFlags allowReservedWordsAsSelectors).
+ allowReservedWordsAsSelectors onChangeSend:#updateModifiedChannel to:self.
+
+ allowSqueakExtensions := ValueHolder with:(ParserFlags allowSqueakExtensions).
+ allowSqueakExtensions onChangeSend:#updateModifiedChannel to:self.
+
+ allowUnderscore := ValueHolder with:(ParserFlags allowUnderscoreInIdentifier).
+ allowUnderscore onChangeSend:#updateModifiedChannel to:self.
+ allowUnderscore addDependent:self.
+
+ allowVisualAgeESSymbolLiterals := ValueHolder with:(ParserFlags allowVisualAgeESSymbolLiterals).
+ allowVisualAgeESSymbolLiterals onChangeSend:#updateModifiedChannel to:self.
+
+ allowVisualAgePrimitives := ValueHolder with:(ParserFlags allowVisualAgePrimitives).
+ allowVisualAgePrimitives onChangeSend:#updateModifiedChannel to:self.
+
+ immutableArrays := ValueHolder with:(ParserFlags arraysAreImmutable).
+ immutableArrays onChangeSend:#updateModifiedChannel to:self.
+
+ warnAboutPossiblyUnimplementedSelectors := ValueHolder with:(ParserFlags warnAboutPossiblyUnimplementedSelectors).
+ warnAboutPossiblyUnimplementedSelectors onChangeSend:#updateModifiedChannel to:self.
+
+ warnAboutPossiblyUninitializedLocals := ValueHolder with:(ParserFlags warnAboutPossiblyUninitializedLocals).
+ warnAboutPossiblyUninitializedLocals onChangeSend:#updateModifiedChannel to:self.
+
+ warnAboutReferenceToPrivateClass := ValueHolder with:(ParserFlags warnAboutReferenceToPrivateClass).
+ warnAboutReferenceToPrivateClass onChangeSend:#updateModifiedChannel to:self.
+
+ warnAboutShortLocalVariableNames := ValueHolder with:(ParserFlags warnAboutShortLocalVariableNames).
+ warnAboutShortLocalVariableNames onChangeSend:#updateModifiedChannel to:self.
+
+ warnAboutWrongVariableNames := ValueHolder with:(ParserFlags warnAboutWrongVariableNames).
+ warnAboutWrongVariableNames onChangeSend:#updateModifiedChannel to:self.
+
+ warnCommonMistakes := ValueHolder with:(ParserFlags warnCommonMistakes).
+ warnCommonMistakes onChangeSend:#updateModifiedChannel to:self.
+
+ warnDollar := ValueHolder with:(ParserFlags warnDollarInIdentifier).
+ warnDollar onChangeSend:#updateModifiedChannel to:self.
+
+ warnInconsistentReturnValues := ValueHolder with:(ParserFlags warnInconsistentReturnValues).
+ warnInconsistentReturnValues onChangeSend:#updateModifiedChannel to:self.
+
+ warnOldStyle := ValueHolder with:(ParserFlags warnOldStyleAssignment).
+ warnOldStyle onChangeSend:#updateModifiedChannel to:self.
+
+ warnPlausibilityChecks := ValueHolder with:(ParserFlags warnPlausibilityChecks).
+ warnPlausibilityChecks onChangeSend:#updateModifiedChannel to:self.
+
+ warnCompatibility := ValueHolder with:(ParserFlags warnPossibleIncompatibilities).
+ warnCompatibility onChangeSend:#updateModifiedChannel to:self.
+
+ warnSTX := ValueHolder with:(ParserFlags warnSTXSpecials).
+ warnSTX onChangeSend:#updateModifiedChannel to:self.
+
+ warnUnderscore := ValueHolder with:(ParserFlags warnUnderscoreInIdentifier).
+ warnUnderscore onChangeSend:#updateModifiedChannel to:self.
+
+ warnUnusedVars := ValueHolder with:(ParserFlags warnUnusedVars).
+ warnUnusedVars onChangeSend:#updateModifiedChannel to:self.
+
+ warnings := ValueHolder with:(ParserFlags warnings).
+ warnings addDependent:self.
+ warnings changed.
+ warnings onChangeSend:#updateModifiedChannel to:self.
+! !
+
!AbstractSettingsApplication::ByteCodeCompilerSettingsAppl methodsFor:'queries'!
hasUnsavedChanges