I’m experimenting with tangling files in org-mode, and have found that certain files cause org-babel-tangle to die with an error (Org-mode version 8.3beta (release_8.3beta-884-g9ed426). Here’s a small example:
———————————— * Sample code #+BEGIN_SRC makefile :tangle makefile-main circle: @gfortran -c circle.f90 main: circle @gfortran -c main.f90 @gfortran circle.o main.o -o main clean: @rm -f *.o main #+END_SRC Run this block to tangle out the new files. #+BEGIN_SRC emacs-lisp (org-babel-tangle) #+END_SRC #+RESULTS: | makefile-main | In this block I use this header: #+BEGIN_EXAMPLE #+BEGIN_SRC sh :results raw #+END_EXAMPLE #+BEGIN_SRC sh :results raw replace make -f makefile-main clean main ./main #+END_SRC ———————————— When I run org-babel-tangle on this file (or press C-c C-c in the emacs-lisp block), I get the following error: Debugger entered--Lisp error: (wrong-type-argument stringp nil) string-match("-l \"\\(.+\\)\"" nil) org-babel-tangle-single-block(5) org-babel-tangle-collect-blocks(nil nil) org-babel-tangle() (progn (org-babel-tangle)) eval((progn (org-babel-tangle))) org-babel-execute:emacs-lisp("(org-babel-tangle)" ((:comments . "") (:shebang . "") (:cache . "no") (:padline . "") (:noweb . "no") (:tangle . "no") (:exports . "code") (:results . "replace") (:session . "none") (:hlines . "no") (:result-type . value) (:result-params "replace") (:rowname-names) (:colname-names))) org-babel-execute-src-block(nil) org-babel-execute-src-block-maybe() org-babel-execute-maybe() org-babel-execute-safely-maybe() run-hook-with-args-until-success(org-babel-execute-safely-maybe) org-ctrl-c-ctrl-c(nil) call-interactively(org-ctrl-c-ctrl-c nil nil) command-execute(org-ctrl-c-ctrl-c) Any ideas what’s going on? If I delete either of the two blocks at the bottom of the file (the EXAMPLE block or the final SRC block), it works fine. Thanks. Richard Stanton