Danilo,
[...]
> Não sei por qual razão, quando o statement é passado para ser
> executado, o smalltalk "come" o final dele. Dessa forma, quando tento
> executar o UPDATE, o programa me retorna erro de sintaxe.
[...]
> wstm := wstm copyFrom: 1 to: (wstm size - 4).
[...]
Aqui você está "comendo o final do texto" de propósito. E logo na linha
seguinte passa a ser o meio do texto de modo que imagino que não é disso
que você está falando. Só achei o -4 meio estranho - você não só apaga a
',' e o CR e LF mas também o caracter final do resultado de (self
asSql: (wrow at: (wnom asSymbol))). É sempre um espaço ou algo assim?
Eu aproveitaria os recursos interativos do ambiente de programação.
Execute a expressão passo a passo no "debugger" (sem entrar em cada
submétodo na primeira vez) e uso os inspetores para ver os detalhes de
cada objeto envolvido.
Boa sorte!
-- Jecel