--- a/Smalltalk.st Tue Dec 04 12:22:42 2012 +0000
+++ b/Smalltalk.st Tue Dec 04 17:54:57 2012 +0000
@@ -2062,7 +2062,6 @@
]
! !
-
!Smalltalk class methodsFor:'message control'!
silentLoading
@@ -6203,7 +6202,7 @@
"return a actual or expected (or most wanted) filename for aClassOrClassName
- only the base name (without directory part) and without suffix."
- |cls nonMetaclass nm nameWithPrefix nameWithoutPrefix compatQuery |
+ |cls nonMetaclass nm nameWithPrefix nameWithoutPrefix compatQuery compatPkg |
"/ This was added as an extension of libsvn - should be no longer needed
"/ JV@2012-09-25: but it actually is. The problem is that class filename
@@ -6217,60 +6216,65 @@
compatQuery := Smalltalk classNamed: 'SVN::CompatModeQuery'.
(compatQuery notNil
and:[compatQuery isLoaded
- and:[compatQuery query not]]) ifTrue:[
- nm := aClassOrClassName isBehavior
- ifTrue:[aClassOrClassName name]
- ifFalse:[aClassOrClassName].
- nm := nm copyReplaceAll:$: with:$_.
- ^nm
+ and:[compatQuery query not]]) ifTrue:[
+ nm := aClassOrClassName isBehavior
+ ifTrue:[aClassOrClassName name]
+ ifFalse:[aClassOrClassName].
+ nm := nm copyReplaceAll:$: with:$_.
+ ^nm
].
"/ Same for another query for new libscm...
compatQuery := Smalltalk classNamed: 'SCMCompatModeQuery'.
(compatQuery notNil
and:[compatQuery isLoaded
- and:[compatQuery query not]]) ifTrue:[
- nm := aClassOrClassName isBehavior
- ifTrue:[aClassOrClassName name]
- ifFalse:[aClassOrClassName].
- nm := nm copyReplaceAll:$: with:$_.
- ^nm
+ and:[(compatPkg := compatQuery query) notNil]]) ifTrue:[
+ | cls |
+
+ nm := aClassOrClassName isBehavior
+ ifTrue:[aClassOrClassName name]
+ ifFalse:[aClassOrClassName].
+ cls := Smalltalk at: nm asSymbol.
+ (cls notNil and:[cls package == compatPkg]) ifTrue:[
+ nm := nm copyReplaceAll:$: with:$_.
+ ^nm
+ ].
].
aClassOrClassName isBehavior ifTrue:[
- cls := aClassOrClassName.
+ cls := aClassOrClassName.
] ifFalse:[
- cls := Smalltalk classNamed:aClassOrClassName.
- cls isNil ifTrue:[
- nameWithPrefix := aClassOrClassName.
- nameWithoutPrefix := (aClassOrClassName copyFrom:(aClassOrClassName lastIndexOf:$:)+1).
- ].
+ cls := Smalltalk classNamed:aClassOrClassName.
+ cls isNil ifTrue:[
+ nameWithPrefix := aClassOrClassName.
+ nameWithoutPrefix := (aClassOrClassName copyFrom:(aClassOrClassName lastIndexOf:$:)+1).
+ ].
].
cls notNil ifTrue:[
- nonMetaclass := cls theNonMetaclass.
- nm := nonMetaclass getClassFilename.
- nm isNil ifTrue:[
- cls revisionInfo notNil ifTrue:[
- nm := cls revisionInfo fileName.
- ].
- ].
- nm notNil ifTrue:[
- ^ nm asFilename withoutSuffix baseName
- ].
- nameWithPrefix := nonMetaclass name.
- nameWithoutPrefix := nonMetaclass nameWithoutPrefix.
+ nonMetaclass := cls theNonMetaclass.
+ nm := nonMetaclass getClassFilename.
+ nm isNil ifTrue:[
+ cls revisionInfo notNil ifTrue:[
+ nm := cls revisionInfo fileName.
+ ].
+ ].
+ nm notNil ifTrue:[
+ ^ nm asFilename withoutSuffix baseName
+ ].
+ nameWithPrefix := nonMetaclass name.
+ nameWithoutPrefix := nonMetaclass nameWithoutPrefix.
].
CachedAbbreviations notNil ifTrue:[
- nameWithPrefix := nameWithPrefix asSymbol.
- (CachedAbbreviations includesKey:nameWithPrefix) ifTrue:[
- ^ (CachedAbbreviations at:nameWithPrefix) asFilename baseName
- ].
- nameWithoutPrefix := nameWithoutPrefix asSymbol.
- (CachedAbbreviations includesKey:nameWithoutPrefix) ifTrue:[
- ^ (CachedAbbreviations at:nameWithoutPrefix) asFilename baseName
- ].
+ nameWithPrefix := nameWithPrefix asSymbol.
+ (CachedAbbreviations includesKey:nameWithPrefix) ifTrue:[
+ ^ (CachedAbbreviations at:nameWithPrefix) asFilename baseName
+ ].
+ nameWithoutPrefix := nameWithoutPrefix asSymbol.
+ (CachedAbbreviations includesKey:nameWithoutPrefix) ifTrue:[
+ ^ (CachedAbbreviations at:nameWithoutPrefix) asFilename baseName
+ ].
].
^ nameWithPrefix copyReplaceAll:$: with:$_
@@ -6290,7 +6294,7 @@
"
"Modified: / 06-10-2006 / 16:16:01 / cg"
- "Modified: / 19-11-2012 / 22:58:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-12-2012 / 17:44:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
filenameAbbreviations
@@ -7846,13 +7850,13 @@
!Smalltalk class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.1000 2012/11/23 17:44:05 stefan Exp $'
+ ^ '$Id: Smalltalk.st 10879 2012-12-04 17:54:57Z vranyj1 $'
!
version_CVS
- ^ 'Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.1000 2012/11/23 17:44:05 stefan Exp '
+ ^ '§Header: /cvs/stx/stx/libbasic/Smalltalk.st,v 1.1000 2012/11/23 17:44:05 stefan Exp §'
!
version_SVN
- ^ '$Id:: Smalltalk.st 10876 2012-11-30 17:19:23Z vranyj1 $'
+ ^ '$Id:: Smalltalk.st 10879 2012-12-04 17:54:57Z vranyj1 $'
! !