vani...@debian.org (Rémi Vanicat) writes: > Maurizio Vitale <m...@cuma.i-did-not-set--mail-host-address--so-tickle-me> > writes: > >> I'd find useful to use tramp syntax in the :tangle specification. >> In my case it would be to specify sudo when tangling config files that >> are supposed to go to areas not writable by the user running Emacs. >> Something like: >> >> #+begin_src sh :tangle /sudo::/etc/my_config_file >> ... >> #+end_src >> >> other people might be interested in remote access to tangle targets. >> >> Is there a way to achieve the above? >> >> If I try to tangle the above, I get something along the lines that >> "tramp cannot append to file". Would it be possible to have org-babel to >> (optionally) tangle to a buffer and then save to file in one go? > > It's a bug of append-file. We could not use it: (code by Alexey Voinov, > stolen from magit):
Well that was solved quickly. Thanks Rémi, I've applied that with a couple of minor changes. Dan > > diff --git a/contrib/babel/lisp/org-babel-tangle.el > b/contrib/babel/lisp/org-babel-tangle.el > index dd76195..c4ea0d8 100644 > --- a/contrib/babel/lisp/org-babel-tangle.el > +++ b/contrib/babel/lisp/org-babel-tangle.el > @@ -127,7 +127,12 @@ exported source code blocks by language." > (insert (concat she-bang "\n")) > (setq she-banged (cons file-name she-banged))) > (org-babel-spec-to-string spec) > - (append-to-file nil nil file-name)) > + (let ((content (buffer-string))) > + (with-temp-buffer > + (insert-file-contents file-name) > + (goto-char (point-max)) > + (insert content) > + (write-region nil nil ignore-file)))) > ;; update counter > (setq block-counter (+ 1 block-counter)) > (add-to-list 'path-collector file-name))))) _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode