emacs-orgmode
[Top][All Lists]
Advanced

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

[Orgmode] [PATCH] [babel] R :session should respect ess-ask-for-ess-dire


From: Erik Iverson
Subject: [Orgmode] [PATCH] [babel] R :session should respect ess-ask-for-ess-directory set by user
Date: Sat, 21 Aug 2010 13:03:25 -0500
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.11) Gecko/20100713 Thunderbird/3.0.6

Hello,

I have (setq ess-ask-for-ess-directory nil) in my .emacs.  I.e., I don't
want to be asked to set my working directory.  As it stands, if we
run an R code block with the :session argument and no :dir argument,
ess-ask-for-ess-directory gets set to t.  I would prefer if I had
it previously set to nil, to do what ESS usually does to decide
which directory to use.

The following patch should do that, and below is some test code to
make sure it works in each of the 4 cases.

---
 lisp/ob-R.el |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/lisp/ob-R.el b/lisp/ob-R.el
index 2a11421..e767449 100644
--- a/lisp/ob-R.el
+++ b/lisp/ob-R.el
@@ -155,7 +155,8 @@ This function is called by `org-babel-execute-src-block'."
   "If there is not a current R process then create one."
   (unless (string= session "none")
     (let ((session (or session "*R*"))
-         (ess-ask-for-ess-directory (not (cdr (assoc :dir params)))))
+         (ess-ask-for-ess-directory
+          (and ess-ask-for-ess-directory (not (cdr (assoc :dir params))))))
       (if (org-babel-comint-buffer-livep session)
          session
        (save-window-excursion
--
1.7.0.4


;; test code below

(setq ess-ask-for-ess-directory t)

#+begin_src R :session

2 + 2

#+end_src

#+begin_src R :session :dir /tmp

2 + 2

#+end_src


(setq ess-ask-for-ess-directory nil)

#+begin_src R :session

2 + 2

#+end_src

#+begin_src R :session :dir /tmp

2 + 2

#+end_src



reply via email to

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