emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] Babel: Why does noweb work differently depending on 'call depth'?


From: address@hidden
Subject: [O] Babel: Why does noweb work differently depending on 'call depth'?
Date: Sat, 23 Jun 2018 15:08:42 +0200 (CEST)

Hi list,

have spent hours with trying to de-mystify this issue, but no chance to get it.
Any hints or doc references are welcome.


Given a src block with a simple if clause depending on parameter p1:

#+NAME: decider
#+BEGIN_SRC emacs-lisp :var p1="tbd" :results output
  (cond ((equal p1 "valA")(print "VALUE A"))
        ((equal p1 "valB")(print "B VALUE"))
        (t (print (concat "ERROR: p1=>|" p1 "|< not handled" ))) )
#+END_SRC


Why does the following noweb call result in the t condition (and not in valB as 
expected)
although the p1 value seems to be received by the decider block:

#+BEGIN_SRC shell :var x="valB" :noweb yes :results output raw
echo -n <<decider(p1="$x")>>
#+END_SRC
== ERROR: p1=>|valB|< not handled


while hard coded param value will work (valA chosen to differentiate from x):

#+BEGIN_SRC shell :var x="valB" :noweb yes :results output raw
echo -n <<decider(p1="valA")>>
#+END_SRC

#+RESULTS:
VALUE A

Hard coded "valB" will work as well.

Different Linux Emacsen with org-mode 9+ show same results.

Thank you very much in advance,

Jherek



reply via email to

[Prev in Thread] Current Thread [Next in Thread]