[ESS] process-send-string 500 char limitation

Vitalie Spinu spinuvit at gmail.com
Mon Apr 13 19:26:46 CEST 2015


 >>> Tamas Papp on Mon, 13 Apr 2015 15:35:48 +0200 wrote:

 > PROCESS-SEND-STRING because Julia has no + prompt like R.

I don't quite understand. Julia waits for the remaining input, right? So
even if you split the code into several parts, it will be executed only
after the parsing succeeded or syntax error occurred.

 > Alternatives like writing code into a file exist, but would give the
 > wrong file & line number info.

This was the case before. Exactly 2 years ago when I wrote ess-julia all
errors were showing with precise location. Many things changed since
then and I guess most of it was lost.

I am too much out of julia and julia-mode right now to give concrete
indications. But the core of R source injection is in
ess--make-source-refd-command. Admittedly too stuffy and undocumented,
but it handles a bunch of possible cases, including remotes and write
permission problems on multiuser platforms that occurred in the past.

The idea is to store the evaluation location into a hash table and
associate it with the temp file. Then put a text property with
evaluation index on the executed text. The main advantage of this
approach is that if the surrounding code was changed and the piece in
question had moved, you will still be able to identify the code lines
precisely because text properties move together with the text.

  Vitalie



More information about the ESS-help mailing list