help-smalltalk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-smalltalk] Seaside fix, second part


From: Paolo Bonzini
Subject: [Help-smalltalk] Seaside fix, second part
Date: Sun, 07 Jun 2009 17:34:18 +0200
User-agent: Thunderbird 2.0.0.17 (X11/20081009)

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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]