emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] org mode R remote code evaluation


From: Michael Albinus
Subject: Re: [O] org mode R remote code evaluation
Date: Thu, 26 Sep 2013 10:11:35 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Alexander Vorobiev <address@hidden> writes:

> Michael,

Hi Alex,

> * this doesn't work
> #+BEGIN_SRC sql :engine postgresql :dir /grid: :results output
> select 1+2 as three;
> #+END_SRC
>
> /plinkx:grid:/tmp/sql-in-7928arv...done
> psql -A -F " " -f "c:/tmp/sql-in-7928arv" -o "c:/tmp/sql-out-7928Z_E" 
> -f c:/tmp/sql-in-7928arv -o c:/tmp/sql-out-7928Z_E
> No such file or directory 'c:/tmp/sql-in-7928arv'

Try this extended patch:

--8<---------------cut here---------------start------------->8---
diff --git a/lisp/ob-core.el b/lisp/ob-core.el
index 5a032a1..2789f47 100644
--- a/lisp/ob-core.el
+++ b/lisp/ob-core.el
@@ -2680,11 +2680,7 @@ Fixes a bug in
`tramp-handle-call-process-region'."
 
 (defun org-babel-local-file-name (file)
   "Return the local name component of FILE."
-  (if (file-remote-p file)
-      (let (localname)
-       (with-parsed-tramp-file-name file nil
-                                    localname))
-    file))
+  (or (file-remote-p file 'localname) file))
 
 (defun org-babel-process-file-name (name &optional no-quote-p)
   "Prepare NAME to be used in an external process.
@@ -2694,7 +2690,10 @@ remotely.  The file name is then processed by
   `expand-file-name'.
 Unless second argument NO-QUOTE-P is non-nil, the file name is
 additionally processed by `shell-quote-argument'"
   ((lambda (f) (if no-quote-p f (shell-quote-argument f)))
-   (expand-file-name (org-babel-local-file-name name))))
+   ;; We must apply `expand-file-name' on the whole filename.  If we
+   ;; would apply it on the local filename only, undesired effects
+   ;; like prepending a drive letter on MS Windows could happen.
+   (org-babel-local-file-name (expand-file-name name))))
 
 (defvar org-babel-temporary-directory)
 (unless (or noninteractive (boundp 'org-babel-temporary-directory))
@@ -2736,7 +2735,7 @@ of `org-babel-temporary-directory'."
   (if (file-remote-p default-directory)
       (let ((prefix
              (concat (file-remote-p default-directory)
-                     (expand-file-name prefix temporary-file-directory))))
+                     (expand-file-name prefix "/tmp/"))))
         (make-temp-file prefix nil suffix))
     (let ((temporary-file-directory
           (or (and (boundp 'org-babel-temporary-directory)
--8<---------------cut here---------------end--------------->8---

> Thanks
> Alex

Best regards, Michael.

PS: the analysis of your cygwin problem is delayed. I don't run MS
Windows on my machines, I need to hijack a machine from my wife or
somebody else for analysis.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]