emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Rainer M Krug <Rainer@krugs.de>
To: Thorsten Jolitz <tjolitz@gmail.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: Folding in iESS R buffer
Date: Tue, 27 May 2014 10:30:30 +0200	[thread overview]
Message-ID: <m2ppizlj2x.fsf@krugs.de> (raw)
In-Reply-To: <87d2ez1vjq.fsf@gmail.com> (Thorsten Jolitz's message of "Tue, 27 May 2014 10:21:29 +0200")

[-- Attachment #1: Type: text/plain, Size: 6559 bytes --]

Thorsten Jolitz <tjolitz@gmail.com> writes:

> Rainer M Krug <Rainer@krugs.de> writes:
>
> Hi Rainer,
>
> sorry for the late reply, I was offline some time. 

No problem.

>
>> I have modified the variable transfer in ob-R.el so that the variable
>> transfer code is enclosed as can be seen below.
>>
>> My idea is that I can fold the R output so that the variable transfer is
>> collapsed. I understand that I can use one of the org-outside-org minor
>> modes [1] (presumibly utshine?) - but I can't figure out how.
>>
>> My questions are:
>>
>> 1) which enclosing should I use to fold the transfer code away?
>
> Outshine is like Org, no enclosing, but file structuring with
> (outcommented) headlines. 

So everything after the outcommented headline will be folded - so if I
only want to fold one part, I have to use

,----
| ## * If this is folded
|  SOME R CODE
| ## * This not anymore
|  SOME R CODE
`----

which I could fold to

,----
| ## * If this is folded [...]
| ## * This not anymore
|  SOME R CODE
`----

correct?

>
>> 2) which minor mode should I use for this and how can I configure it?
>
> I'm not sure if I understand. When you use ob-R.el, you work in Org
> files with R source blocks, right? 

Correct.

> When do you want to fold the R output below? When you are in org-mode
> or when editing source blocks in R-mode?

The evaluated code - not in the source code.

>
> In the former case, Org-mode is in charge and you don't need
> outshine. 

True.

> In the latter case, you could install outshine as described in the
> docs and then add outline-minor-mode to the ESS/R mode hook, i.e.

That's it.

>
> ,-------------------------------------------------------------------------------
> | ;; outline
> | (when (require 'outline nil t)
> |  (add-hook 'ess-mode-hook 'outline-minor-mode)) ; is that the hook for R-mode?
> | 
> | ;; outshine
> | (when (require 'outshine nil t)
> |  (add-hook 'outline-minor-mode-hook 'outshine-hook-function)
> |  (setq outshine-use-speed-commands t))
> `-------------------------------------------------------------------------------
>
> Outshine headlines are outcommented Org headlines, i.e. 
>
> ,----------------------------------
> | * Beginning org variable transfer
> `----------------------------------
>
> becomes 
>
> ,----------
> | ## * Beginning org variable transfer
> `----------
>
> in R-mode. 
>
> The R output would become an outshine-subtree with the header above,
> just like in Org-mode, possibly surrounded by other subtrees.

Sounds great - thanks a lot. I will try it out,

Rainer

>
>> --8<---------------cut here---------------start------------->8---
>>> ######################################################################
>> ## Beginning org variable transfer
>>   try(detach(.org_variables_), silent=TRUE)
>>   .org_variables_ <- new.env()
>>     assign( 'COLUMNS', read.table("/var/folders/50/wcr5bjwn75q595n6x82gxj280000gn/T/babel-74428N93/R-import-74428U4A", header=TRUE, row.names=1, sep="\t", as.is=TRUE ), envir = .org_variables_ ); lockBinding('COLUMNS', .org_variables_)
>>     assign( 'COLS_TO_EVAL', read.table("/var/folders/50/wcr5bjwn75q595n6x82gxj280000gn/T/babel-74428N93/R-import-74428hCH", header=TRUE, row.names=1, sep="\t", as.is=TRUE ), envir = .org_variables_ ); lockBinding('COLS_TO_EVAL', .org_variables_)
>>     assign( 'ALLSPECIES', read.table("/var/folders/50/wcr5bjwn75q595n6x82gxj280000gn/T/babel-74428N93/R-import-74428uMN", header=TRUE, row.names=1, sep="\t", as.is=TRUE ), envir = .org_variables_ ); lockBinding('ALLSPECIES', .org_variables_)
>>     assign( 'SPECIES', read.table("/var/folders/50/wcr5bjwn75q595n6x82gxj280000gn/T/babel-74428N93/R-import-744287WT", header=TRUE, row.names=1, sep="\t", as.is=TRUE ), envir = .org_variables_ ); lockBinding('SPECIES', .org_variables_)
>>     assign( 'YEARS', read.table("/var/folders/50/wcr5bjwn75q595n6x82gxj280000gn/T/babel-74428N93/R-import-74428IhZ", header=TRUE, row.names=1, sep="\t", as.is=TRUE ), envir = .org_variables_ ); lockBinding('YEARS', .org_variables_)
>>     assign('PRESENT', 2008, envir = .org_variables_); lockBinding('PRESENT', .org_variables_)
>>     assign('MINEFFORT', 3, envir = .org_variables_); lockBinding('MINEFFORT', .org_variables_)
>>     assign('PROPTRAIN', 0.6, envir = .org_variables_); lockBinding('PROPTRAIN', .org_variables_)
>>     assign('RNGSEED', 13, envir = .org_variables_); lockBinding('RNGSEED', .org_variables_)
>>     assign('RNGKIND', "Mersenne-Twister", envir = .org_variables_); lockBinding('RNGKIND', .org_variables_)
>>     assign('RNGNORMALKIND', "Inversion", envir = .org_variables_); lockBinding('RNGNORMALKIND', .org_variables_)
>>     assign('REFGRID', "./refGrid_8km.rds", envir = .org_variables_); lockBinding('REFGRID', .org_variables_)
>>     assign('IFN', "./__BOX__/IFN/DB_IFN/rds/tabplot.rds", envir = .org_variables_); lockBinding('IFN', .org_variables_)
>>     assign('IFNCOUNT', "./__BOX__/IFN/DB_IFN/rdsRasterized/tabplot.count.8km.rds", envir = .org_variables_); lockBinding('IFNCOUNT', .org_variables_)
>>     assign('IFNMEAN', "./__BOX__/IFN/DB_IFN/rdsRasterized/tabplot.mean.8km.rds", envir = .org_variables_); lockBinding('IFNMEAN', .org_variables_)
>>     assign('IFNPRES', "./__BOX__/IFN/DB_IFN/rdsRasterized/tabplot.pres.8km.rds", envir = .org_variables_); lockBinding('IFNPRES', .org_variables_)
>>     assign('IFNSD', "./__BOX__/IFN/DB_IFN/rdsRasterized/tabplot.sd.8km.rds", envir = .org_variables_); lockBinding('IFNSD', .org_variables_)
>>     assign('IFNTABTREE', "./__BOX__/IFN/DB_IFN/rds/tabtree.rds", envir = .org_variables_); lockBinding('IFNTABTREE', .org_variables_)
>>   lockEnvironment(.org_variables_)
>>   attach(.org_variables_)
>>   save(.org_variables_, file='org_variables.RData')
>> ## end org variable transfer
>> ######################################################################
>> --8<---------------cut here---------------end--------------->8---
>>
>>
>> Footnotes: 
>> [1]  http://orgmode.org/worg/org-tutorials/org-outside-org.html

-- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :       +33 - (0)9 53 10 27 44
Cell:       +33 - (0)6 85 62 59 98
Fax :       +33 - (0)9 58 10 27 44

Fax (D):    +49 - (0)3 21 21 25 22 44

email:      Rainer@krugs.de

Skype:      RMkrug

PGP: 0x0F52F982

[-- Attachment #2: Type: application/pgp-signature, Size: 494 bytes --]

  reply	other threads:[~2014-05-27  8:30 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-05 13:25 Folding in iESS R buffer Rainer M Krug
2014-05-27  8:21 ` Thorsten Jolitz
2014-05-27  8:30   ` Rainer M Krug [this message]
2014-05-27  9:00     ` Rainer M Krug
2014-05-27  9:43       ` Thorsten Jolitz
2014-05-27 12:13         ` Rainer M Krug
2014-05-27 21:42           ` Thorsten Jolitz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m2ppizlj2x.fsf@krugs.de \
    --to=rainer@krugs.de \
    --cc=emacs-orgmode@gnu.org \
    --cc=tjolitz@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).