I am trying to make it easier to work with R in TeXmacs. What often happens is
that in an interactive session I type
in many commands one after the other - each in its own input. at some point
everything works, and I'd like to just copy them all into a script, or maybe
into one multiline input.
So, I'd like to be able to select text, and copy just the R part. That would be
parts between
<|input>
and
</input>
Since I don't know scheme well, or maybe not at all, I thought to pipe
selection through an external program.
To do that, I first duplicated the end of
progs/convert/rewrite/init-rewrite.scm into my init-r.scm (the part that deals
with converting to verbatim), and modified verbatim to read verbatimR. I did
manage to have that pipe though an external program. But I am encountering a
strange problem:
When I select regular text, and do edit->copy to->verbatimR
all works well, the text I select is piped to the external program.
However, if I select several input/output fields from an R session, then I seem
to get nothing. Even for a simple expression with a formula in it, nothing is
copied.
Below is the code - this just duplicates the functionality of "verbatim", with
a new name "verbatimR". (i.e. no piping to external program, yet)
This code works for simple text, but not for complicated text, and I don't
understand why...
-------
(tm-define (texmacs->verbatimR x . opts)
(if (list-1? opts) (set! opts (car opts)))
(let* ((wrap? (== (assoc-ref opts "texmacs->verbatimR:wrap") "on"))
(enc (or (assoc-ref opts "texmacs->verbatimR:encoding") "iso-8859-1")))
(cpp-texmacs->verbatim x wrap? enc)))
(tm-define (verbatimR->texmacs x . opts)
(if (list-1? opts) (set! opts (car opts)))
(let* ((wrap? (== (assoc-ref opts "verbatimR->texmacs:wrap") "on"))
(enc (or (assoc-ref opts "verbatimR->texmacs:encoding") "iso-8859-1")))
(cpp-verbatim->texmacs x wrap? enc)))
(tm-define (verbatimR-snippet->texmacs x . opts)
(if (list-1? opts) (set! opts (car opts)))
(let* ((wrap? (== (assoc-ref opts "verbatimR->texmacs:wrap") "on"))
(enc (or (assoc-ref opts "verbatimR->texmacs:encoding") "iso-8859-1")))
(cpp-verbatim-snippet->texmacs x wrap? enc)))
(define-format verbatimR
(:name "VerbatimR")
(:suffix "txtR"))
(converter verbatimR-document texmacs-tree
(:function-with-options verbatimR->texmacs)
(:option "verbatimR->texmacs:wrap" "off")
(:option "verbatimR->texmacs:encoding" "utf-8"))
(converter verbatimR-snippet texmacs-tree
(:function-with-options verbatimR-snippet->texmacs)
(:option "verbatimR->texmacs:wrap" "off")
(:option "verbatimR->texmacs:encoding" "utf-8"))
(converter texmacs-tree verbatimR-document
(:function-with-options texmacs->verbatimR)
(:option "texmacs->verbatimR:wrap" "off")
(:option "texmacs->verbatimR:encoding" "utf-8"))
(converter texmacs-tree verbatimR-snippet
(:function-with-options texmacs->verbatimR)
(:option "texmacs->verbatimR:wrap" "off")
(:option "texmacs->verbatimR:encoding" "utf-8"))
------------
Does anyone have an idea what the problem is?
Thanks,
Michael
_______________________________________________
Texmacs-dev mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/texmacs-dev