Re: [O] Problem in tangle-mode -- WAS: Automatically adding local variables to tangled file

2013-06-10 Thread Eric Schulte
>>>
>>> I've added a :tangle-mode header argument which may be used to control
>>> the permissions of tangled files.  See the manual for instructions on
>>> it's usage.
>>
>>
>> Thanks a lot. I will try it out today or tomorrow.
>
> I did, and there is a problem with tangling multiple blocks into a
> single file:
>

Oh, stupid of me.  Thanks for sending this alert, I've just pushed up a
change which should fix this problem.  We now wait to set the file modes
until after all blocks are tangled and after the post-tangle-hook has
been run.

Thanks,

-- 
Eric Schulte
http://cs.unm.edu/~eschulte



[O] Problem in tangle-mode -- WAS: Automatically adding local variables to tangled file

2013-06-10 Thread Rainer M Krug
Rainer M Krug  writes:

> Eric Schulte  writes:
>

 We already set the permission of tangled files to be executable when
 they include a shebang line.  Perhaps we could add an option (or change
 the default) to set the permissions of tangled files to be read only.

 Perhaps this could be done using the post-tangle hook with something
 like the following.

 ;; -*- emacs-lisp -*-
 (defun org-babel-mark-tangled-as-read-only ()
   "Mark the current file read only.
 If it is executable keep it executable."
   (if (= #o755 (file-modes (buffer-file-name)))
   (set-file-modes (buffer-file-name) #o555)
   (set-file-modes (buffer-file-name) #o444)))

 (add-hook 'org-babel-post-tangle-hook 
 'org-babel-mark-tangled-as-read-only)

>>>
>>> I think that would be a good idea to add this in a way so that it is
>>> controled by a variable
>>
>> I've added a :tangle-mode header argument which may be used to control
>> the permissions of tangled files.  See the manual for instructions on
>> it's usage.
>
>
> Thanks a lot. I will try it out today or tomorrow.

I did, and there is a problem with tangling multiple blocks into a
single file:

The following does not work:

,
| #+PROPERTY: tangle-mode (identity #o444)
| #+PROPERTY: tangle ./tools.R
| * Two blocks
| Block 1
| #+begin_src R
|   suitName <- function(species)
| {
|   return( paste(species$layer, "suitability", sep="_") )
| }
| #+end_src  
| 
| Block 2
| #+begin_src R
|   statDistName <- function(species){
|   return( paste(species$layer, "disturbances_static", sep="_") )
|   }
| #+end_src  
`

It seems that the second block can not be written, as the file is
already set to read-only.

For the moment, I exclude this setting again but will try it out as son
as it is fixed.

Cheers,

Rainer


>
> 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

Skype:  RMkrug


pgptdQzb6gji1.pgp
Description: PGP signature