Symbol.st
changeset 267 54bcd20b369d
parent 252 cf6eef7703ad
child 268 e69e68148505
--- a/Symbol.st	Sat Feb 18 01:55:51 1995 +0100
+++ b/Symbol.st	Sat Feb 18 02:22:37 1995 +0100
@@ -21,7 +21,7 @@
 COPYRIGHT (c) 1988 by Claus Gittinger
 	      All Rights Reserved
 
-$Header: /cvs/stx/stx/libbasic/Symbol.st,v 1.15 1995-02-15 10:25:05 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Symbol.st,v 1.16 1995-02-18 01:22:37 claus Exp $
 '!
 
 !Symbol class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
 
 version
 "
-$Header: /cvs/stx/stx/libbasic/Symbol.st,v 1.15 1995-02-15 10:25:05 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Symbol.st,v 1.16 1995-02-18 01:22:37 claus Exp $
 "
 !
 
@@ -97,26 +97,27 @@
      symbol is returned. To use it for enum-type symbols, make certain, that the
      names are unique (for example by including the classes name as a prefix-string)."
 
-    |newSym len|
+    |sym len|
 
-    aString knownAsSymbol ifTrue:[
-	^ aString asSymbol
+    sym := aString asSymbolIfInterned.
+    sym notNil ifTrue:[
+	^ sym
     ].
 
     "
      create a new uninterned instance first
     "
     len := aString size.
-    newSym := super basicNew:len.
-    newSym replaceFrom:1 to:len with:aString.
+    sym := super basicNew:len.
+    sym replaceFrom:1 to:len with:aString.
 
     "now, intern it"
 %{
     extern OBJ _INTERNSYMBOL();
 
-    newSym = _INTERNSYMBOL(newSym, (OBJ *)0, __context);
+    sym = _INTERNSYMBOL(sym, (OBJ *)0, __context);
 %}.
-    ^ newSym
+    ^ sym
 !
 
 internCharacter:aCharacter