Symbol.st
changeset 5941 e194c325bee8
parent 5896 444e6b63acb5
child 6001 315a853c51cd
--- a/Symbol.st	Mon Sep 03 13:53:43 2001 +0200
+++ b/Symbol.st	Mon Sep 03 18:13:53 2001 +0200
@@ -529,12 +529,15 @@
     "return a String for storing the receiver"
 
     |sz "{Class: SmallInteger }" 
-     c|
+     c anyColon|
 
     (sz := self size) > 0 ifTrue:[  "/ sigh
         (self at:1) isLetter ifTrue:[
+            anyColon := false.
             2 to:sz do:[:index |
-                ((c := self at:index) isLetterOrDigit 
+                c := self at:index.
+                c == $: ifTrue:[ anyColon := true ].
+                (c isLetterOrDigit 
                  or:[c == $: 
                      and:[index == sz 
                           or:[(self at:(index+1)) isLetterOrDigit]]]
@@ -542,6 +545,11 @@
                     ^ '#' , super storeString 
                 ].
             ].
+            anyColon ifTrue:[
+                self last == $: ifFalse:[
+                    ^ '#' , super storeString 
+                ]
+            ].
             ^ '#' , self
         ]
     ].
@@ -559,6 +567,9 @@
       #'' storeString               
       #'''' storeString               
       #'_hello' storeString     
+      #'abcdef:'  storeString   
+      #'abc:def:'  storeString  
+      #'abc:def'  storeString  
     "
 
     "Modified: / 13.2.1998 / 22:06:15 / stefan"
@@ -686,5 +697,5 @@
 !Symbol class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Symbol.st,v 1.66 2001-07-31 15:05:59 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Symbol.st,v 1.67 2001-09-03 16:13:53 cg Exp $'
 ! !