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: Rainer@krugs.de Skype: RMkrug