2014/1/11 Igor Stasenko <siguctua@gmail.com>
that could work, except that it will change the default behavior for compilation, and raise exception in cases if you wanna silently load code etc, which is unwanted.
i am also not sure the implementation of #translate is sound:
translate [ self compile ] on: ReparseAfterSourceEditing do: [ :ex | self source: ex newSource readStream. self compile ] . ^ ast
i bet it should be something like this:
translate | retry |
[ [ retry := false. self compile ] on: ReparseAfterSourceEditing do: [ :ex | self source: ex newSource readStream. retry := true. ]. retry ] whileTrue. ^ ast
On 11 January 2014 00:32, Nicolai Hess <nicolaihess@web.de> wrote:
Can someone take a look on my comment for issue 12442.
Calling compiler ..." translate" instead of "compile" makes sure that textchanges are reparsed and the textview is properly updated.
But I am not sure about the side effects and if this is the right place to change the compile call.
regards Nicolai
-- Best regards, Igor Stasenko.
BTW not only Nautilus suffers from this issue. Recompiling a method in Finder or in MessageBrowser are using ClassDescription>>compile: text classified: category withStamp: changeStamp notifying: requestor logSource: logSource too. Nicolai