Grumble. Okay, this is sorted/ There are amazing numbers of not-quite-right
examples on the web.

Thanks, Tom, I now have the below, which works.

#+TITLE: Console Tic Tac Toe
#+SUBTITLE: A Literate Program in EMACS Org-Mode
#+AUTHOR: Charlie Martin
#+STARTUP: showall

#+BEGIN_SRC python :tangle yes :noweb yes
  import sys
  import os

  def main(args):
      <<initialize-the-game-board>>

  if __name__ == "__main__":
      main(sys.argv)
#+END_SRC

#+NAME: initialize-the-game-board
#+BEGIN_SRC python
  board = [[-1 for x in range(3)] for y in range(3)]
#+END_SRC




On Fri, Nov 24, 2017 at 5:26 PM, Thomas S. Dye <t...@tsdye.com> wrote:

> Aloha Charlie,
>
> Charles R (Charlie) Martin writes:
>
> > I'm trying to get literate programming with `:noweb` syntax working in
> > org-mode. I think I'm down to about the minimum case:
> >
> >         #+TITLE: Console Tic Tac Toe
> >     #+SUBTITLE: A Literate Program in EMACS Org-Mode
> >     #+AUTHOR: Charlie Martin
> >     #+STARTUP: showall
> >
> >     #+BEGIN_SRC python :tangle yes :noweb
> >       import sys
> >       import os
> >
> >       def main(args):
> >           <<initialize-the-game-board>>
> >
> >       if __name__ == "__main__":
> >           main(sys.argv)
> >     #+END_SRC
> >
> >     #+NAME: initialize-the-game-board
> >     #+BEGIN_SRC python :tangle yes :noweb
> >       board = [[-1 for x in range(3)] for y in range(3)]
> >     #+END_SRC
> >
> > but when I tangle it I get:
> >
> >     import sys
> >     import os
> >
> >     def main(args):
> >         <<initialize-the-game-board>>
> >
> >     if __name__ == "__main__":
> >         main(sys.argv)
> >
> >     board = [[-1 for x in range(3)] for y in range(3)]
> >
> > I've tried permuting the argument, flags, and so on to no avail.
> >
> > EMACS version is 25.3.1 MacOS, org-mode 9.1.3
>
> I think it should be :noweb yes
>
> hth,
> Tom
>
> --
> Thomas S. Dye
> http://www.tsdye.com
>

Reply via email to