OperatorTable addAssignOperator(":", "myAssignMethod")
"foo" : "bar"
That gives an error that a Sequence does not respond to “:” (“:” is still being treated as a message, not an operator).
I think it should get evaluated to myAssignMethod("foo", "bar") (since "foo" = "bar" becomes updateSlot("foo", "bar")), but it’s not. However:
OperatorTable addAssignOperator(":", "myAssignMethod")
doString("\"foo\" : \"bar\"")
that does work properly, and myAssignMethod gets called. So how do I get whatever processing happens on the code during doString() to work in the main code of the file?
Turns out this appears to be a bug in the Mac environment that was fixed recently; I was working off the MacPorts build of Io, and the ‘20090105’ version of the environment has this bug. Running the same code on the Windows/Linux binaries resulted in the expected behavior.