Leo Alekseyev <dnqu...@gmail.com> writes:

> On Mon, Mar 5, 2012 at 10:24 AM, Eric Schulte <eric.schu...@gmx.com> wrote:
>> Andreas Leha <andreas.l...@med.uni-goettingen.de> writes:
>>> Eric Schulte <eric.schu...@gmx.com> writes:
>>>> Leo Alekseyev <dnqu...@gmail.com> writes:
>>>>> I was wondering if there was an easy way to execute some shell
>>>>> commands contained in a src block as root.  Alternatively, is there a
>>>>> quick way to export _just_ that one source block to a temp file so
>>>>> that I could run it as root manually?
>>>> Just call org-babel-tangle with a prefix argument and it only tangles
>>>> the current block
> Hi all,
> I just pulled a fresh version of org, and this tangling an individual
> block only works if there's a :tangle header argument present.  I
> don't think this is the intended behavior!  The problem, it seems, is
> that when :tangle is not present, the (or ...) in the code below
> always evaluates to true.
> #+begin_src emacs-lisp
>       (unless (or (cdr (assoc :tangle (nth 2 (org-babel-get-src-block-info))))
>                 target-file)
>       (setq target-file
>             (read-from-minibuffer "Tangle to: " (buffer-file-name)))))
> #+end_src

Thanks for raising this issue.  I can not apply patches to the git
repository until the recent git issues are sorted, so I am attaching the
patch to this email so that you can apply it locally if you like.  I
will push this up once our git repository is back in working order.


>From bfacabb33acb4d2dbcfd87b10e3488e43cf5d84a Mon Sep 17 00:00:00 2001
From: Eric Schulte <eric.schu...@gmx.com>
Date: Mon, 19 Mar 2012 10:44:43 -0400
Subject: [PATCH 2/2] Bring back prompt for single-block tangling.

* lisp/ob-tangle.el (org-babel-tangle): Bring back prompt for
  single-block tangling.
 lisp/ob-tangle.el |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/lisp/ob-tangle.el b/lisp/ob-tangle.el
index 5e498ab..b57d89d 100644
--- a/lisp/ob-tangle.el
+++ b/lisp/ob-tangle.el
@@ -186,7 +186,10 @@ exported source code blocks by language."
     (unless (org-babel-where-is-src-block-head)
       (error "Point is not currently inside of a code block"))
-      (unless (or (cdr (assoc :tangle (nth 2 (org-babel-get-src-block-info))))
+      (unless (or (not (string=
+			(cdr (assoc :tangle
+				    (nth 2 (org-babel-get-src-block-info))))
+			"no"))
 	(setq target-file
 	      (read-from-minibuffer "Tangle to: " (buffer-file-name)))))

Eric Schulte

Reply via email to