ChangeSet.st
changeset 3646 cecd3c25e5af
parent 3621 3979244930e1
child 3648 c66bc4f3ee3f
--- a/ChangeSet.st	Wed Nov 26 10:32:59 2014 +0100
+++ b/ChangeSet.st	Thu Nov 27 21:10:44 2014 +0100
@@ -3674,8 +3674,10 @@
 
 fileOut:aChangeSet on:outStreamArg withTimeStamp:stampIt withInitialize:initIt withDefinition:withDefinition methodFilter:methodFilter encoder:encoderOrNil
 
-    |collectionOfCategories versionMethods comment
-     nonMeta meta classesImplementingInitialize outStream|
+    |collectionOfCategories versionMethods extensionVersionMethods comment
+     nonMeta meta classesImplementingInitialize outStream
+     allMetaClassSelectors versionSelectors extensionVersionSelectors
+     allVersionMethods|
 
     changeSetBeingSaved := aChangeSet.
     self analyze.
@@ -3749,7 +3751,13 @@
     "/         (RCS expands this string, so its size is not constant)
     "/
     collectionOfCategories := meta categories asSortedCollection.
-    versionMethods := meta methods select:[:change |AbstractSourceCodeManager isVersionMethodSelector:change selector].
+
+    allMetaClassSelectors := meta methodDictionary keys.
+    versionSelectors := allMetaClassSelectors select:[:selector | AbstractSourceCodeManager isVersionMethodSelector:selector ].
+    versionMethods := versionSelectors collect:[:eachSelector | meta methodDictionary at:eachSelector].
+    extensionVersionSelectors := allMetaClassSelectors select:[:selector | AbstractSourceCodeManager isExtensionsVersionMethodSelector:selector ]. 
+    extensionVersionMethods := extensionVersionSelectors collect:[:eachSelector | meta methodDictionary at:eachSelector].
+    allVersionMethods := Set new addAll:versionMethods; addAll:extensionVersionMethods; yourself.
 
     collectionOfCategories notNil ifTrue:[
         "/
@@ -3770,7 +3778,7 @@
 "/                ].
 "/            ].
 
-            self fileOutCategory:'documentation' of:meta except:versionMethods only:nil methodFilter:methodFilter on:outStream.
+            self fileOutCategory:'documentation' of:meta except:allVersionMethods only:nil methodFilter:methodFilter on:outStream.
         ].
 
         "/
@@ -3824,7 +3832,7 @@
 
 
     "/
-    "/ finally, the previously skipped version method
+    "/ finally, the previously skipped version method(s) - but NOT the extension version methods
     "/
     versionMethods notEmpty ifTrue: [
         self fileOutCategory:'documentation' of:meta except:nil only:versionMethods methodFilter:methodFilter on:outStream.
@@ -4136,7 +4144,7 @@
 !
 
 version_SVN
-    ^ '$Id: ChangeSet.st,v 1.248 2014-08-21 18:05:33 vrany Exp $'
+    ^ '$Id: ChangeSet.st,v 1.249 2014-11-27 20:10:44 cg Exp $'
 ! !
 
 !ChangeSet::ClassSourceWriter::ClassInfo class methodsFor:'instance creation'!
@@ -4815,11 +4823,11 @@
 !ChangeSet class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic3/ChangeSet.st,v 1.248 2014-08-21 18:05:33 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic3/ChangeSet.st,v 1.249 2014-11-27 20:10:44 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic3/ChangeSet.st,v 1.248 2014-08-21 18:05:33 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic3/ChangeSet.st,v 1.249 2014-11-27 20:10:44 cg Exp $'
 !
 
 version_HG
@@ -4828,6 +4836,6 @@
 !
 
 version_SVN
-    ^ '$Id: ChangeSet.st,v 1.248 2014-08-21 18:05:33 vrany Exp $'
+    ^ '$Id: ChangeSet.st,v 1.249 2014-11-27 20:10:44 cg Exp $'
 ! !