Hi Grant, We have some discussion of realted issues in the thread that starts at <http://mid.gmane.org/can7vk5r+2dhrajur8+ndmwsplhjtodrdjxoo0v027cjhy7g...@mail.gmail.com>.
2014ko abuztuak 22an, Grant Rettke-ek idatzi zuen: > > list/ob-R.el (org-babel-R-command-primary-prompt, > org-babel-R-evaluate-session): Former adds customizable prompt value > the latter utilizes it. > > My R prompt looks like this "ℝ> ". Babel needs to know more how to > handle various situations so the > regex used in `org-babel-R-evaluate-session' to identify the prompt > looks like this "^\\([ ]*[ℝ>+\\.][ ]?\\)+\\([[0-9]+\\|[ ]\\)". > It is required to handle various R prompt situations correctly. It > may change over time to handle more situations. The > user doesn't need to know about those details. The user only cares > about the R prompt alone. For example, when > they set the prompt in R it looks like this =options(prompt="ℝ> ")=, > it is very simple. It should be this simple for bable, too. > > This change adds a user customizable variable for the prompt from user > perspective `org-babel-R-command-primary-prompt'. That variable is > utilized in `org-babel-R-evaluate-session' where the full regular > expression to match the prompt is constructed. This makes it very > easy to handle a custom prompt since from the R side of things, the > value of `org-babel-R-command-primary-prompt' is the only thing that > the user needs to know to set. Via custom it looks like this > '(org-babel-R-command-primary-prompt "ℝ>"). > > TINYCHANGE > --- > lisp/ob-R.el | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/lisp/ob-R.el b/lisp/ob-R.el > index 41b943c..1cb675b 100644 > --- a/lisp/ob-R.el > +++ b/lisp/ob-R.el > @@ -87,6 +87,11 @@ this variable.") > :version "24.1" > :type 'string) > > +(defcustom org-babel-R-command-primary-prompt ">" > + "User configurable portion of the primary prompt." > + :group 'org-babel > + :type 'string) > + > (defvar ess-local-process-name) ; dynamically scoped > (defun org-babel-edit-prep:R (info) > (let ((session (cdr (assoc :session (nth 2 info))))) > @@ -413,6 +418,7 @@ last statement in BODY, as elisp." > (list body org-babel-R-eoe-indicator) > "\n")) > (inferior-ess-send-input)))))) "\n")))) > + (concat "^\\([ ]*[" > org-babel-R-command-primary-prompt "+\\.][ ]?\\)+\\([[0-9]+\\|[ ]\\)") line) I don’t think this does what you want it to: you’re inserting the contents of the variable inside a regex character class (delimited by []). See the patch I just sent <http://mid.gmane.org/871ts7r4ho....@gmail.com> for a different approach. -- Aaron Ecay