Thanks for the response.  At a minimum, I'd recommend changing the error 
message from "Not in a source block" to something more descriptive as most 
people's initial response will be, "uhhh, but it looks like I am."  
Ideally, an additional comment marker would delineate the source block from the 
meta-programmed variables to allow the edited source code's verbatim 
replacement.  Or it might make sense to have a setting that separates the 
tangled source file from the meta programmed variables.  Using your example 
above, it could tangle to something like the following:
#!/bin/sh
# 
[[file:~/tmp/test.org::org_gcr_2018-10-04T08-35-43-05-00_cosmicality_CCEACAA2-A6B3-4FDD-9259-7F633316F0CE][org_gcr_2018-10-04T08-35-43-05-00_cosmicality_CCEACAA2-A6B3-4FDD-9259-7F633316F0CE]].
 ./noideahowtonamethesegenerically.sh    # the naming seems tricky to me
echo $x# 
org_gcr_2018-10-04T08-35-43-05-00_cosmicality_CCEACAA2-A6B3-4FDD-9259-7F633316F0CE
ends here
If babel was starting anew, I'd prefer that as it seems cleaner than adding 
another comment (assumption: majority of languages have an include-like 
facility of some sort).  Given the number of languages currently supported, the 
additional comment delimiters seem less disruptive.

--Brad
    On Thursday, October 4, 2018, 8:19:30 AM PDT, Grant Rettke 
<g...@wisdomandwonder.com> wrote:  
 
 On Thu, Oct 4, 2018 at 2:09 AM Brad Knotwell <bknotw...@yahoo.com> wrote:
> I've been playing with org-babel-detangle and I've noticed something that's 
> either a bug or a limitation.  It's confusing enough that
> it's worth writing down if it's expected.  Basically, it doesn't work if 
> there are variables defined in the begin_src header.  I've
> attached an example below.  The first one won't detangle and the last two 
> will.

That is expected behavior. Org can only detangle the content of source
blocks. It can't deduce how that
source code got in there.

Maybe this example says it better:

#+begin_src sh sh :tangle hw.sh :var x=(random) :shebang #!/bin/sh
:comments link
echo $x
#+end_src

Tangles to

#!/bin/sh
# 
[[file:~/tmp/test.org::org_gcr_2018-10-04T08-35-43-05-00_cosmicality_CCEACAA2-A6B3-4FDD-9259-7F633316F0CE][org_gcr_2018-10-04T08-35-43-05-00_cosmicality_CCEACAA2-A6B3-4FDD-9259-7F633316F0CE]]
x='422131055910453451'
echo $x
# 
org_gcr_2018-10-04T08-35-43-05-00_cosmicality_CCEACAA2-A6B3-4FDD-9259-7F633316F0CE
ends here
  

Reply via email to