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 <[email protected]> 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
>