emacs-orgmode
[Top][All Lists]
Advanced

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

Re: Can you automatically noweb include?


From: William McCoy
Subject: Re: Can you automatically noweb include?
Date: Fri, 7 Aug 2020 18:01:59 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0

Yes, of course, that was it!  I ran into that issue a few months ago and then I forgot about again!

Thanks both for your help!

Bill

On 8/7/20 5:25 PM, Berry, Charles wrote:
Good catch. Also it works if you put the property block at the very beginning 
of the file.

This sometimes helps:

M-x org-lint RET

which in this case reports "Incorrect contents for PROPERTIES drawer"

which is a bit cryptic IMO, but does point to any issue with the property.

HTH,

Chuck

On Aug 7, 2020, at 2:18 PM, Thomas S. Dye <tsd@tsdye.online> wrote:

It works here if you remove the blank line between the headline and the 
PROPERTIES block.

William McCoy writes:

Chuck,

Thanks very much for your response.  I didn't know about those options.  When I
use C-c C-v C-i, I get the following:

Lang: python
Properties:
    :header-args    nil
    :header-args:python     nil
Header Arguments:
    :cache          no
    :exports        code
    :hlines         no
    :noweb          no
    :results        output replace
    :session        none
    :tangle         no

And C-c C-v C-v, shows that the import statements in the header do not get
expanded into the code block.

So I am obviously doing something wrong.  There appear to be no typos or
misspellings and the org file containing the coded is exactly this:

* Test of prologue header

:PROPERTIES:
:header-args:python+: :prologue "import numpy as np; import os"
:END:

#+BEGIN_SRC python :results output
print(np.__version__)
#+END_SRC

#+RESULTS:


My init file has no org babel header arguments defined.

I am using C-c C-v C-b or C-c C-v C-s to evaluate and I get

"Code block produced no output." in the mini-buffer.


If I use C-c C-c directly on the code block itself I get:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'np' is not defined

Is there something else I need to do to get babel to recognize the header-args?

Thanks


On 8/7/20 12:51 PM, Berry, Charles wrote:
On Aug 7, 2020, at 8:39 AM, William McCoy <wdm8588@gmail.com> wrote:

This use of :prologue appeared to me to be very useful.  But for some reason 
when I try it out it does not work for me.  I just get a message that the code 
block produced no output and that 'np' is not defined.  Just to check, when I 
put the import statements directly within my code block it works fine.

I am running:  Org mode version 9.3.7 (9.3.7-16-g521d7f-elpa

Any idea what I'm doing wrong?


It is sometimes useful to use C-c C-v C-i to see what header args org has 
detected for a source block. Misspelled words sometimes wreak havoc and 
invisible characters can cause real pain.


Also, it helps to use C-c C-v C-v to to see the expanded code block. When I do 
this with Kens' ECM, I get

import numpy as np; import os
print(np.__version__)

in the preview buffer.

HTH,

Chuck


On 8/6/20 2:12 PM, Ken Mankoff wrote:
Actual example:


* Prologue test
:PROPERTIES:
:header-args:python+: :prologue "import numpy as np; import os"
:END:

#+BEGIN_SRC python :results output
print(np.__version__)
#+END_SRC

#+RESULTS:
: 1.18.4




On Wed, Aug 5, 2020 at 3:03 PM Ken Mankoff <mankoff@gmail.com> wrote:
What about using :pre or :prologue and setting it at the header or document 
level?

Please excuse brevity. Sent from tiny pocket computer with non-haptic-feedback 
keyboard.

On Wed, Aug 5, 2020, 14:22 George Mauer <gmauer@gmail.com> wrote:
Use case:

I'm using ob-racket but this would apply just as well to a few other workflows 
I have with python or js.

I would like to write a helper function in a src block and then automatically 
have access to it in other src blocks further down the document. I don't really 
want a stateful session (nor does ob-racket support sessions) so I essentially 
want the equivalent of automatically including it everywhere so I don't have to 
type it out all the time (and have it screw up syntax coloring/indentation).

Is this currently possible? Does anyone have any ideas for how to extend things 
so it is?

--
Thomas S. Dye
https://tsdye.online/tsdye





reply via email to

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