On Wednesday, June 5, 2013, Darlan Cavalcante Moreira wrote:

>
> It's a good idea to have useful information in the tangled file that can
> help these functions. But since org-mode can already tangle with comments
> containing useful information, isn't this enough to detect that the file
> is a tangled file?


Yes and no. In regards to jumping to the source code, it would necessitate
a searching in the text, but it would be much easier to have it in a file
local variable. This is more standardized then a comment.


>
> On the other hand, a local variable in the tangled files to set the buffer
> to read-only could be very useful to avoid the mistake of editing the
> tangled files directly.


My reasoning - and I would make all tangled R files read only.

Cheers,

Rainer


>
> --
> Darlan
>
> At Wed, 05 Jun 2013 16:04:59 +0200,
> Rainer M Krug wrote:
> >
> > Hi
> >
> > I am trying to improve my workflow of literate programming of R in
> > org. My org file is tangled into many R files and I am using ESS to
> > debug.
> >
> > If an error occurs, I can jump via ESS to the .R file, and in a second
> > step via calling org-babel-tangle-jump-to-org into the org file where
> > the buggy line sits.
> >
> >
> > Now this is error prone, as one (or is it only me?) is easily tempted to
> > edit the R file which is reverted after the next tangle.
> >
> > So I was thinking: what about calling org-babel-tangle-jump-to-org
> > directly from ESS. Vitalie Spinu looked into this option, and came up
> with the
> > following suggestion:
> >
> > If the tangled .R file contains a local variable, one could easily
> > identify that it is a tangled file and call org-babel-tangle-jump-to-org
> > and would be at the line causing the error.
> >
> > Therefore my question:
> >
> > Would it be possible and reasonable, to add a local variable to each
> > tangled file which identifies the file as an file tangled from an org
> > mode file?
> >
> > He added the following to his config file to test the approach:
> >
> > ,----
> > |  (defvar org-babel-tangled-file nil
> > |      "If non-nill, current file was tangled with org-babel-tangle")
> > |    (put 'org-babel-tangled-file 'safe-local-variable 'booleanp)
> > |
> > |    (defun org-babel-mark-file-as-tangled ()
> > |      (add-file-local-variable 'org-babel-tangled-file t)
> > |      (basic-save-buffer))
> > |
> > |    (add-hook 'org-babel-post-tangle-hook
> 'org-babel-mark-file-as-tangled)
> > `----
> >
> > and he also already added automatic redirection to the org mode file via
> > org-babel-tangle-jump-to-org to ESS on SVN.
> >
> > To keep backwards compatibility, a variable
> > org-babel-tangle-add-tangled-file-variable could be introduced, which
> > can have the following values:
> >
> > - nil :: (default) do not add anything
> > - t :: org-babel-tangled-file is added as t to the tangled files
> > - "name" :: org-babel-tangled-file is set to the org file name
> > - "path" :: org-babel-tangled-file is set to the path of the org file
> > - "all" :: org-babel-tangled-file is set to the full name including path
> >            of the org file
> >
> > I can even imagine many more possibilities for the use of local file
> > variables to store meta data in the tangled file (VCS info comes to
> > mind, which would enable one to even go back to older revisions based on
> > the tangled code rather easily).
> >
> > Cheers,
> >
> > Rainer
> >
> > --
> > 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:      rai...@krugs.de <javascript:;>
> >
> > Skype:      RMkrug
>


-- 
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 (F):       +33 - (0)9 58 10 27 44

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

email:      rai...@krugs.de

Skype:      RMkrug

Reply via email to