ResourcePack.st
changeset 4332 767357a4294d
parent 4198 bb05c0ae2595
child 4402 1314cdc7b6ae
--- a/ResourcePack.st	Wed Nov 24 10:44:42 2004 +0100
+++ b/ResourcePack.st	Thu Nov 25 15:39:42 2004 +0100
@@ -737,24 +737,33 @@
     "Created: 6.9.1997 / 11:38:53 / cg"
 !
 
-processLine:aLine encoding:encodingSymbolOrEncoder file:fileName printErrorWith:printError
+processLine:lineString encoding:encodingSymbolOrEncoder file:fileName printErrorWith:printError
     "process a single valid line (i.e. #ifdef & #include has already been processed)"
 
-    |lineString name lineStream idx rest macroName value 
+    |name lineStream idx rest macroName value 
      conditional hasError decoder oldValue|
 
-    lineStream := ReadStream on:aLine.
+    lineStream := ReadStream on:lineString.
     lineStream signalAtEnd:false.
     lineStream skipSeparators.
-    lineStream peek == $' ifTrue:[
-        name := String 
+    lineStream peek == $# ifTrue:[
+        name := Array 
                     readFrom:lineStream 
-                    onError:[
+                    onError:[  
                                 printError value:('invalid line <' , lineString , '>').
                                 nil
                             ].
     ] ifFalse:[
-        name := lineStream upToSeparator.
+        lineStream peek == $' ifTrue:[
+            name := String 
+                        readFrom:lineStream 
+                        onError:[
+                                    printError value:('invalid line <' , lineString , '>').
+                                    nil
+                                ].
+        ] ifFalse:[
+            name := lineStream upToSeparator.
+        ].
     ].
 
     name notNil ifTrue:[
@@ -926,7 +935,6 @@
 
     errorHandler := [:ex | 
                         |con|
-
                         ('ResourcePack [warning]: ''' , ex description , '''') errorPrintCR.
                         ('ResourcePack [info]: file: ' , inStream pathName printString , ' line: ' , lineNumber printString , ': ''' , lineString , '''') errorPrintCR.
                         con := ex suspendedContext.
@@ -955,7 +963,7 @@
             "/ for your convenience: treat ; AND "/ as comment-line
             "/
             ((first == $;) or:[lineString startsWith:'"/']) ifFalse:[
-                first == $# ifTrue:[
+                ((first == $#) and:[(lineString startsWith:'#(') not]) ifTrue:[
                     "/ a directive
                     lineString := (lineString copyFrom:2) withoutSpaces.
 
@@ -1034,7 +1042,7 @@
                                 (lineString at:1) == $!! ifTrue:[
                                     "/ evaluate the rest
                                     Compiler evaluate:(lineString copyFrom:2)
-                                                      receiver:nil
+                                                      receiver:self
                                                       notifying:nil
                                                       compile:false.
                                 ] ifFalse:[
@@ -1072,7 +1080,7 @@
 !ResourcePack class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/ResourcePack.st,v 1.99 2004-07-06 12:32:18 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/ResourcePack.st,v 1.100 2004-11-25 14:39:42 cg Exp $'
 ! !
 
 ResourcePack initialize!