emacs-orgmode
[Top][All Lists]
Advanced

[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



reply via email to

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