Reduced dependencies jv
authorJan Vrany <jan.vrany@fit.cvut.cz>
Thu, 05 May 2016 00:28:47 +0200
branchjv
changeset 3841 a22f33410bdf
parent 3840 ed93a7b7b73a
child 3850 ca4ea3855eef
Reduced dependencies ...on stx:goodies/refaxctoryBrowser, JavaScript and on stx:libbasic3.
BlockNode.st
BreakpointAnalyzer.st
BreakpointDescription.st
BreakpointQuery.st
CompilationErrorHandlerQuery.st
Explainer.st
InstrumentingCompiler.st
Make.proto
ParseNodeValidator.st
ParseNodeVisitor.st
Parser.st
PluggableParseNodeVisitor.st
SelectorNode.st
Switch.st
UndefinedSuperclassError.st
UndefinedVariableError.st
UndefinedVariableNotification.st
bc.mak
bmake.bat
extensions.st
mingwmake.bat
stx_libcomp.st
vcmake.bat
--- a/BlockNode.st	Thu May 05 06:48:27 2016 +0200
+++ b/BlockNode.st	Thu May 05 00:28:47 2016 +0200
@@ -567,7 +567,7 @@
     "/ Do not encode source position if not available.
     "/ Note, that JavaScriptCompiler has no sourceposX pseudo instruction
     "/ support, so in this case, do not emit it.
-    (startPosition notNil and:[ (aCompiler isKindOf: JavaScriptCompiler) not]) ifTrue:[ 
+    (startPosition notNil and:[ (aCompiler isKindOf: (Smalltalk at:#JavaScriptCompiler)) not]) ifTrue:[ 
         self codeSourcePosition: startPosition on: aStream for: aCompiler.
     ].
 
@@ -606,7 +606,7 @@
     code at:pos+2 put:(aStream position + 1)
 
     "Modified: / 26-06-1997 / 10:48:56 / cg"
-    "Modified (comment): / 11-06-2015 / 23:04:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 05-05-2016 / 00:13:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !BlockNode methodsFor:'code generation helpers'!
--- a/BreakpointAnalyzer.st	Thu May 05 06:48:27 2016 +0200
+++ b/BreakpointAnalyzer.st	Thu May 05 00:28:47 2016 +0200
@@ -1,5 +1,18 @@
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
 "{ Package: 'stx:libcomp' }"
 
+"{ NameSpace: Smalltalk }"
+
 Parser variableSubclass:#BreakpointAnalyzer
 	instanceVariableNames:'messageSendMap'
 	classVariableNames:''
@@ -7,6 +20,21 @@
 	category:'System-Compiler-Debugging'
 !
 
+!BreakpointAnalyzer class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+! !
 
 !BreakpointAnalyzer methodsFor:'accessing'!
 
--- a/BreakpointDescription.st	Thu May 05 06:48:27 2016 +0200
+++ b/BreakpointDescription.st	Thu May 05 00:28:47 2016 +0200
@@ -1,3 +1,14 @@
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
 "{ Package: 'stx:libcomp' }"
 
 "{ NameSpace: Smalltalk }"
@@ -11,6 +22,20 @@
 
 !BreakpointDescription class methodsFor:'documentation'!
 
+copyright
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
 documentation
 "
     I describe a breakpoint: its state (enabled/disabled),
--- a/BreakpointQuery.st	Thu May 05 06:48:27 2016 +0200
+++ b/BreakpointQuery.st	Thu May 05 00:28:47 2016 +0200
@@ -1,5 +1,18 @@
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
 "{ Package: 'stx:libcomp' }"
 
+"{ NameSpace: Smalltalk }"
+
 Query subclass:#BreakpointQuery
 	instanceVariableNames:''
 	classVariableNames:''
@@ -9,6 +22,20 @@
 
 !BreakpointQuery class methodsFor:'documentation'!
 
+copyright
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
 documentation
 "
     BreakpointQuery is a query used to pass list of breakpoints
--- a/CompilationErrorHandlerQuery.st	Thu May 05 06:48:27 2016 +0200
+++ b/CompilationErrorHandlerQuery.st	Thu May 05 00:28:47 2016 +0200
@@ -1,3 +1,14 @@
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
 "{ Package: 'stx:libcomp' }"
 
 "{ NameSpace: Smalltalk }"
@@ -9,6 +20,21 @@
 	category:'System-Compiler'
 !
 
+!CompilationErrorHandlerQuery class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+! !
 
 !CompilationErrorHandlerQuery class methodsFor:'documentation'!
 
--- a/Explainer.st	Thu May 05 06:48:27 2016 +0200
+++ b/Explainer.st	Thu May 05 00:28:47 2016 +0200
@@ -869,7 +869,7 @@
                 "/ TODO: generate a short documentation string (comment plus interface)
                 "/ and return { #html->htmlText . #text->regularText}
                 "/ so caller can extrat what he wants to see...
-                ^ (HTMLDocGenerator htmlDocOf:val).
+                ^ ((Smalltalk at:#HTMLDocGenerator) htmlDocOf:val).
             ].
             explanation := explanation , '\' withCRs , string , ' is '.
             explanation := explanation , (val isLoaded ifTrue:['a'] ifFalse:['an autoloaded']).
@@ -908,6 +908,7 @@
     "Created: / 14-10-2010 / 11:33:04 / cg"
     "Modified: / 14-02-2012 / 15:31:28 / cg"
     "Modified (comment): / 28-02-2012 / 10:45:48 / cg"
+    "Modified: / 05-05-2016 / 00:25:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 explainHereIn:aClass
@@ -1888,10 +1889,10 @@
     |visitor|
 
     "/ hack, allowing to deal with both types of AST (sigh)
-    (tree isKindOf:RBProgramNode) ifTrue:[
-        visitor := RBPluggableProgramNodeVisitor new.
+    (tree isKindOf:(Smalltalk at:#RBProgramNode)) ifTrue:[
+        visitor := (Smalltalk at:#RBPluggableProgramNodeVisitor) new.
         visitor 
-            actionForNodeClass:RBAssignmentNode 
+            actionForNodeClass:(Smalltalk at:#RBAssignmentNode)
             put:[:node |
                 |leftSide expr|
 
@@ -1918,7 +1919,9 @@
                 true "/ yes - visit subnodes
             ].        
         visitor visit:tree.
-    ].    
+    ].
+
+    "Modified (format): / 05-05-2016 / 00:19:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 addTypesOfInstvar:instVarName inClass:aClass fromExistingInstancesTo:setOfTypes
--- a/InstrumentingCompiler.st	Thu May 05 06:48:27 2016 +0200
+++ b/InstrumentingCompiler.st	Thu May 05 00:28:47 2016 +0200
@@ -1,3 +1,14 @@
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
 "{ Package: 'stx:libcomp' }"
 
 "{ NameSpace: Smalltalk }"
@@ -109,6 +120,20 @@
 
 !InstrumentingCompiler class methodsFor:'documentation'!
 
+copyright
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
 documentation
 "
     an experiment - recompile classes using this compiler adds instrumentation code.
--- a/Make.proto	Thu May 05 06:48:27 2016 +0200
+++ b/Make.proto	Thu May 05 00:28:47 2016 +0200
@@ -34,7 +34,7 @@
 # add the path(es) here:,
 # ********** OPTIONAL: MODIFY the next lines ***
 # LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/refactoring -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libbasic3
+LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/libbasic
 
 
 # if you need any additional defines for embedded C code,
@@ -85,13 +85,20 @@
 		sed -e "s/\"\$$SVN\-Revision:\".*\"\$$\"/\"\$$SVN-Revision:\"\'$$rev2\'\"\$$\"/g" $< > .stx_libcomp.svn.st; \
 	fi
 	$(MAKE) CC="$(CLASSLIB_CC)" OPT="$(OPT)" SEPINITCODE="$(SEPINITCODE)" STC="$(STC)" STFILE=.stx_libcomp.svn $(C_RULE);
-	sed -i -e "s/\".stx_libcomp.svn.st\");/\"\stx_libcomp.st\");/g" .stx_libcomp.svn.c
+	sed -i -e "s/\".stx_libcomp.svn.st\");/\"stx_libcomp.st\");/g" .stx_libcomp.svn.c
 	$(MAKE) .stx_libcomp.svn.$(O)
 	@mv .stx_libcomp.svn.$(O) stx_libcomp.$(O)
 endif
 
 
 
+# Enforce recompilation of package definition class if Mercurial working
+# copy state changes. Together with --guessVersion it ensures that package
+# definition class always contains correct binary revision string.
+ifneq (**NOHG**, $(shell hg root 2> /dev/null || echo -n '**NOHG**'))
+stx_libcomp.$(O): $(shell hg root)/.hg/dirstate
+endif
+
 
 
 
--- a/ParseNodeValidator.st	Thu May 05 06:48:27 2016 +0200
+++ b/ParseNodeValidator.st	Thu May 05 00:28:47 2016 +0200
@@ -1,5 +1,7 @@
 "{ Package: 'stx:libcomp' }"
 
+"{ NameSpace: Smalltalk }"
+
 ParseNodeVisitor subclass:#ParseNodeValidator
 	instanceVariableNames:'stack source'
 	classVariableNames:''
@@ -172,3 +174,4 @@
 version_CVS
     ^ '$Header: /cvs/stx/stx/libcomp/ParseNodeValidator.st,v 1.8 2011-08-25 13:38:46 vrany Exp $'
 ! !
+
--- a/ParseNodeVisitor.st	Thu May 05 06:48:27 2016 +0200
+++ b/ParseNodeVisitor.st	Thu May 05 00:28:47 2016 +0200
@@ -1,3 +1,14 @@
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
 "{ Package: 'stx:libcomp' }"
 
 "{ NameSpace: Smalltalk }"
@@ -11,6 +22,20 @@
 
 !ParseNodeVisitor class methodsFor:'documentation'!
 
+copyright
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
 documentation
 "
     a whitebox expandable abstract parsenode visitor.
--- a/Parser.st	Thu May 05 06:48:27 2016 +0200
+++ b/Parser.st	Thu May 05 00:28:47 2016 +0200
@@ -1443,41 +1443,6 @@
     "Modified (format): / 23-12-2015 / 17:33:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-checkMethod:aString in:aClass ignoreErrors:ignoreErrors ignoreWarnings:ignoreWarnings
-    "parse a method in a given class.
-     Return a parser (if ok), nil (empty) or #Error (syntax).
-     The parser can be queried for selector, receiver, args, locals,
-     used selectors, modified instvars, referenced classvars etc.
-     The noErrors and noWarnings arguments specify if error and warning
-     messages should be sent to the Transcript or suppressed."
-
-    |parser tree|
-
-    aString isNil ifTrue:[^ nil].
-    parser := self for:(ReadStream on:aString) in:aClass.
-    parser ignoreErrors:ignoreErrors.
-    parser ignoreWarnings:ignoreWarnings.
-    tree := parser parseMethod.
-    "/ (parser errorFlag or:[tree == #Error]) ifTrue:[^ nil].
-
-    RBReadBeforeWrittenTester searchForReadBeforeWrittenIn:tree
-
-    "
-     self
-        checkMethod:'foo
-                        |local1 local2 local3|
-
-                        local1 := local2.
-                        ^ local3
-                    '
-        in:UndefinedObject
-        ignoreErrors:true
-        ignoreWarnings:true
-    "
-
-    "Modified: / 30.10.1997 / 16:38:31 / cg"
-!
-
 parseExpression:aString
     "parse aString as an expression;
      Return the parseTree (if ok), nil (for an empty string
@@ -11550,6 +11515,15 @@
     source := aCompiler currentSource.
     badName := source copyFrom:pos1 to:pos2.
 
+    (Smalltalk at:#RenameTemporaryRefactoring) isNil ifTrue:[
+        [
+            Smalltalk loadPackage: #'stx:goodies/refactoryBrowser/refactoring'
+        ] on: PackageLoadError do:[:err |  
+            Dialog warn:'Sorry - no refactoring support available'.
+            ^ self
+        ]
+    ].
+
     node := DoWhatIMeanSupport
                 findNodeForInterval:(pos1 to:pos2)
                 in:source.
@@ -11575,7 +11549,7 @@
         ^ nil
     ].
 
-    refactoring := RenameTemporaryRefactoring
+    refactoring := (Smalltalk at:#RenameTemporaryRefactoring)
                         renameTemporaryFrom:node sourceInterval
                         to:newName
                         in:nil
@@ -11588,6 +11562,8 @@
     refactoring checkPreconditions.
     refactoring transform.
     ^ refactoring newSource
+
+    "Modified: / 05-05-2016 / 00:23:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !Parser::CorrectByMakingValidHexConstant class methodsFor:'queries'!
--- a/PluggableParseNodeVisitor.st	Thu May 05 06:48:27 2016 +0200
+++ b/PluggableParseNodeVisitor.st	Thu May 05 00:28:47 2016 +0200
@@ -1,3 +1,14 @@
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
 "{ Package: 'stx:libcomp' }"
 
 "{ NameSpace: Smalltalk }"
@@ -11,6 +22,20 @@
 
 !PluggableParseNodeVisitor class methodsFor:'documentation'!
 
+copyright
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
 documentation
 "
     a pluggable node visitor.
--- a/SelectorNode.st	Thu May 05 06:48:27 2016 +0200
+++ b/SelectorNode.st	Thu May 05 00:28:47 2016 +0200
@@ -1,5 +1,18 @@
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
 "{ Package: 'stx:libcomp' }"
 
+"{ NameSpace: Smalltalk }"
+
 ParseNode subclass:#SelectorNode
 	instanceVariableNames:'value'
 	classVariableNames:''
@@ -9,6 +22,20 @@
 
 !SelectorNode class methodsFor:'documentation'!
 
+copyright
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
 documentation
 "
     A (helper) node that represents a selector (or its part).
--- a/Switch.st	Thu May 05 06:48:27 2016 +0200
+++ b/Switch.st	Thu May 05 00:28:47 2016 +0200
@@ -11,6 +11,8 @@
 "
 "{ Package: 'stx:libcomp' }"
 
+"{ NameSpace: Smalltalk }"
+
 Object subclass:#Switch
 	instanceVariableNames:'expressions values default'
 	classVariableNames:''
--- a/UndefinedSuperclassError.st	Thu May 05 06:48:27 2016 +0200
+++ b/UndefinedSuperclassError.st	Thu May 05 00:28:47 2016 +0200
@@ -1,5 +1,18 @@
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
 "{ Package: 'stx:libcomp' }"
 
+"{ NameSpace: Smalltalk }"
+
 ParseError subclass:#UndefinedSuperclassError
 	instanceVariableNames:''
 	classVariableNames:''
@@ -7,6 +20,21 @@
 	category:'System-Compiler'
 !
 
+!UndefinedSuperclassError class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+! !
 
 !UndefinedSuperclassError class methodsFor:'documentation'!
 
--- a/UndefinedVariableError.st	Thu May 05 06:48:27 2016 +0200
+++ b/UndefinedVariableError.st	Thu May 05 00:28:47 2016 +0200
@@ -1,5 +1,18 @@
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
 "{ Package: 'stx:libcomp' }"
 
+"{ NameSpace: Smalltalk }"
+
 ParseError subclass:#UndefinedVariableError
 	instanceVariableNames:''
 	classVariableNames:''
@@ -7,6 +20,21 @@
 	category:'System-Compiler'
 !
 
+!UndefinedVariableError class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+! !
 
 !UndefinedVariableError class methodsFor:'documentation'!
 
--- a/UndefinedVariableNotification.st	Thu May 05 06:48:27 2016 +0200
+++ b/UndefinedVariableNotification.st	Thu May 05 00:28:47 2016 +0200
@@ -1,5 +1,18 @@
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
 "{ Package: 'stx:libcomp' }"
 
+"{ NameSpace: Smalltalk }"
+
 Notification subclass:#UndefinedVariableNotification
 	instanceVariableNames:'parser'
 	classVariableNames:''
@@ -7,6 +20,21 @@
 	category:'System-Compiler'
 !
 
+!UndefinedVariableNotification class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+! !
 
 !UndefinedVariableNotification methodsFor:'accessing'!
 
--- a/bc.mak	Thu May 05 06:48:27 2016 +0200
+++ b/bc.mak	Thu May 05 00:28:47 2016 +0200
@@ -38,7 +38,7 @@
 
 
 
-LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\refactoring -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libbasic3
+LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libbasic
 LOCALDEFINES=
 
 STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) $(COMMONSYMBOLS) -varPrefix=$(LIBNAME)
@@ -140,3 +140,12 @@
 $(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
+
+# **Must be at end**
+
+# Enforce recompilation of package definition class if Mercurial working
+# copy state changes. Together with --guessVersion it ensures that package
+# definition class always contains correct binary revision string.
+!IFDEF HGROOT
+$(OUTDIR)stx_libcomp.$(O): $(HGROOT)\.hg\dirstate
+!ENDIF
--- a/bmake.bat	Thu May 05 06:48:27 2016 +0200
+++ b/bmake.bat	Thu May 05 00:28:47 2016 +0200
@@ -4,9 +4,13 @@
 @REM do not edit - automatically generated from ProjectDefinition
 @REM -------
 @SET DEFINES=
+@REM Kludge got Mercurial, cannot be implemented in Borland make
+@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
+@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
 
 make.exe -N -f bc.mak  %DEFINES% %*
 
 
+@IF "%1" EQU "test" exit /b 0
 
 
--- a/extensions.st	Thu May 05 06:48:27 2016 +0200
+++ b/extensions.st	Thu May 05 00:28:47 2016 +0200
@@ -24,6 +24,7 @@
 
 !stx_libcomp class methodsFor:'documentation'!
 
-extensionsVersion_CVS
-    ^ '$Header: /cvs/stx/stx/libcomp/extensions.st,v 1.5 2013-04-16 07:21:33 vrany Exp $'
+extensionsVersion_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
--- a/mingwmake.bat	Thu May 05 06:48:27 2016 +0200
+++ b/mingwmake.bat	Thu May 05 00:28:47 2016 +0200
@@ -4,6 +4,9 @@
 @REM do not edit - automatically generated from ProjectDefinition
 @REM -------
 @SET DEFINES=
+@REM Kludge got Mercurial, cannot be implemented in Borland make
+@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
+@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
 
 @pushd ..\rules
 @call find_mingw.bat
@@ -11,5 +14,6 @@
 make.exe -N -f bc.mak %DEFINES% %USEMINGW_ARG% %*
 
 
+@IF "%1" EQU "test" exit /b 0
 
 
--- a/stx_libcomp.st	Thu May 05 06:48:27 2016 +0200
+++ b/stx_libcomp.st	Thu May 05 00:28:47 2016 +0200
@@ -78,7 +78,7 @@
      by searching along the inheritance chain of all of my classes."
 
     ^ #(
-        #'stx:libbasic'    "Autoload - superclass of ParseNodeValidator"
+        #'stx:libbasic'    "CompiledCode - superclass of InstrumentedMethod"
     )
 !
 
@@ -93,10 +93,6 @@
      by searching all classes (and their packages) which are referenced by my classes."
 
     ^ #(
-        #'stx:goodies/refactoryBrowser/lint'    "RBReadBeforeWrittenTester - referenced by Parser class>>checkMethod:in:ignoreErrors:ignoreWarnings:"
-        #'stx:goodies/refactoryBrowser/parser'    "RBAssignmentNode - referenced by Explainer class>>addTypesAssignedToLocal:inTree:to:"
-        #'stx:goodies/refactoryBrowser/refactoring'    "RenameTemporaryRefactoring - referenced by Parser::CorrectByInteractiveRename>>fixFrom:to:for:"
-        #'stx:libbasic3'    "HTMLDocGenerator - referenced by Explainer class>>explainGlobalOrPoolVariable:inClass:short:"
     )
 !
 
@@ -344,6 +340,10 @@
     ^ '$Header$'
 !
 
+version_HG
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$ Id $'
 ! !
--- a/vcmake.bat	Thu May 05 06:48:27 2016 +0200
+++ b/vcmake.bat	Thu May 05 00:28:47 2016 +0200
@@ -10,9 +10,14 @@
     popd
 )
 @SET DEFINES=
+@REM Kludge got Mercurial, cannot be implemented in Borland make
+@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
+@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
+
 
 make.exe -N -f bc.mak -DUSEVC=1 %DEFINES% %*
 
 
+@IF "%1" EQU "test" exit /b 0