Seaside fix, second part

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Seaside fix, second part

Paolo Bonzini-3
This was a bug in GSTParser, which compiled

     Object subclass: Foo [
         Generator := nil.
     ]

to

     Foo addClassVarName: #Generator value: [Generator := nil]

instead of

     Foo addClassVarName: #Generator value: [nil]

The effect was to nil out the global for the generator class, with
horrific effects on gst-remote's ability to load more packages (for
example to load Seaside-Development after Seaside).

The fix is a one liner:

--- a/packages/stinst/parser/GSTParser.st
+++ b/packages/stinst/parser/GSTParser.st
@@ -268,7 +268,7 @@ STInST.STFileInParser subclass: GSTFileInParser [
  self parserError: 'expected . or ]']].

          name := RBLiteralNode value: (node variable name asSymbol).
-        node := self makeSequenceNode: node.
+        node := self makeSequenceNode: node value.
          node := RBBlockNode body: node.

          stmt := RBMessageNode

This is reproducible also on platforms other than x86-64, of course.
Next on the list, gst-remote crashes when loading a nonexistent package.

Paolo



_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk