It is a shame that this can't be handled gracefully either through ESS or R code.
I agree it would be nice to raise a warning rather than hang waiting for a file which won't ever exist. So, how can we tell from the Babel source if the R session is remote? Thanks, Thomas Alexander Gerds <t...@biostat.ku.dk> writes: > yes, I am using ESS. ess-remote allows me to evaluate R-code from the local > emacs-session on a remote machine connected to via ssh. > > there are two problems: > > 1) the remote machine cannot write to org-babel-temp-file because the > tmp-directory exists on the local machine. here we could add > > > if(!file.exists(dirname(transfer.file))){dir.create(dirname(transfer.file))} > > in the middle of the variable org-babel-R-write-object-command > this would achieve that the file is at least generated on the remote host. > > 2) however, still the transfer file does not exist on the local > machine. there are several possiblities: > > a) tell org-babel-comint-eval-invisibly-and-wait-for-file > that the file is remote and then test if > (concat "/" username "@" host ":" file) exists instead of file. > > b) use tramp to transfer the file from the remote to the local > machine. the function ssh does define ssh-host and ssh-username, > however, calling ess-remote removes these variables again. > > c) tell org-babel-comint-eval-invisibly-and-wait-for-file not to wait > for file if it is remote > > my conclusion: it would be nice to have this functionality, but perhaps > it is not worth the efforts and it would be sufficient to avoid the > endless loop when waiting for a file which never will generated. > > cheers thomas > > > > Eric Schulte <schulte.e...@gmail.com> writes: > >> Bastien <b...@gnu.org> writes: >> >>> Hi Thomas, >>> thanks for the follow-up. >>> Thomas Alexander Gerds <t...@biostat.ku.dk> writes: >>> >>>> I think that I can describe the problem a bit better now. It is not >>>> related to the silent option but occurs whenever ":results value". >>>> Emacs freezes due to the following line in >>>> org-babel-comint-eval-invisibly-and-wait-for-file >>>> (while (not (file-exists-p file)) (sit-for (or period 0.25))) >>>> it seems that R cannot transfer the file and hence this is an >>>> endless loop. >>> I'm not knowledgeable enough in this area to provide a fix, maybe >>> someone else will. >>> >> >> Could this be a problem with whatever tool (I'm assuming ESS) you are >> using to maintain the R session and generate the R file? >> >> Perhaps babel needs to modify the R code used to create the file (held >> in the `org-babel-R-write-object-command' variable). Could you take a >> shot at providing another version of this variable? I don't really >> use R myself. >> >> Thanks, > -- > Thomas A. Gerds -- Assoc. Prof. Department of Biostatistics > University of Copenhagen, Ă˜ster Farimagsgade 5, 1014 Copenhagen, Denmark > Office: CSS-15.2.07 (Gamle Kommunehospital) > tel: 35327914 (sec: 35327901) -- Eric Schulte http://cs.unm.edu/~eschulte