[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] [PATCH] ob-R.el: Add customizable R command primary prompt setti
From: |
Aaron Ecay |
Subject: |
Re: [O] [PATCH] ob-R.el: Add customizable R command primary prompt setting |
Date: |
Sat, 23 Aug 2014 04:34:09 -0400 |
User-agent: |
Notmuch/0.18.1+51~gbbbdf04 (http://notmuchmail.org) Emacs/24.4.50.2 (x86_64-unknown-linux-gnu) |
Hi Grant,
We have some discussion of realted issues in the thread that starts at
<http://mid.gmane.org/address@hidden>.
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/address@hidden> for a different
approach.
--
Aaron Ecay