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 Texmacs-dev@gnu.org https://lists.gnu.org/mailman/listinfo/texmacs-dev