Re: [O] Problem with ditaa when doing export from command line
Nick Dokos hp.com> writes: >That's a quoting problem (you are on Windoze, right?) The command line >on Windoze sucks raw eggs (well, not just the command line, but I'm biased . You are correct, sir! Thanks, it is indeed a quoting problem. > > On Linux, I used two kinds of quotes in order to protect the > vulnerable characters > inside each lisp sexp (you could also use backslashes strategically): > >emacs -batch --visit foo.org --eval '(setq org-confirm-babel-evaluate > nil)'\ > --eval "(require 'ob-ditaa)"\ > --eval '(setq org-babel-temporary-directory "tmp")'\ > --eval '(setq org-ditaa-jar-path "/home/nick/elisp/org-mode/contrib/scripts/ditaa.jar")'\ > --funcall org-export-as-html > > Inconvenient, but it works. Okay, here's what seems to work on Windoze. Don't laugh: emacs -batch --visit foo.org ^ --eval ^"(setq org-confirm-babel-evaluate nil)^" ^ --eval ^"(require 'ob-ditaa)^" ^ --eval ^"(setq org-babel-temporary-directory \^"tmp\^")^" ^ --eval ^"(setq org-ditaa-jar-path \^"/home/nick/elisp/org-mode /contrib/scripts/ditaa.jar\^")^" ^ --funcall org-export-as-html There is actually some reason to the rhyme, which is explained here: http://blogs.msdn.com/b/twistylittlepassagesallalike/archive/2011/04/23/everyone-quotes-arguments-the-wrong-way.aspx Thanks again. -- Herb
Re: [O] Problem with ditaa when doing export from command line
Herbert Sitz wrote: > Nick Dokos hp.com> writes: > > Works fine for me here, so there is probably a syntax error in the lisp > > file(s) you load or the lisp code you eval - try using a minimal setup > > file as shown below: > > > > > > I do > > > >emacs -batch --visit=foo.org -l export.el --funcall org-export-as-html > > > > with export.el containing the following: > > > > --8<---cut here---start->8--- > > setq org-confirm-babel-evaluate nil) > > require 'ob-ditaa) > > setq org-babel-temporary-directory "tmp") > >setq org-ditaa-jar-path > >"/home/nick/elisp/org-mode/contrib/scripts/ditaa.jar") > > --8<---cut here---end--->8--- > > > > Nick -- Thanks very much, I did get it working with your help. > > However I could not get it to work if I used an --eval in the > command line, had to move the assignment into setting.el to get it to work. > Did you get it to work with an --eval statement in the command line? > That's probably a quoting problem (you are on Windoze, right?) The command line on Windoze sucks raw eggs (well, not just the command line, but I'm biased :-). On Linux, I used two kinds of quotes in order to protect the vulnerable characters inside each lisp sexp (you could also use backslashes strategically): emacs -batch --visit foo.org --eval '(setq org-confirm-babel-evaluate nil)'\ --eval "(require 'ob-ditaa)"\ --eval '(setq org-babel-temporary-directory "tmp")'\ --eval '(setq org-ditaa-jar-path "/home/nick/elisp/org-mode/contrib/scripts/ditaa.jar")'\ --funcall org-export-as-html Inconvenient, but it works. Nick
Re: [O] Problem with ditaa when doing export from command line
Nick Dokos hp.com> writes: > Works fine for me here, so there is probably a syntax error in the lisp > file(s) you load or the lisp code you eval - try using a minimal setup > file as shown below: > > > I do > >emacs -batch --visit=foo.org -l export.el --funcall org-export-as-html > > with export.el containing the following: > > --8<---cut here---start->8--- > setq org-confirm-babel-evaluate nil) > require 'ob-ditaa) > setq org-babel-temporary-directory "tmp") >setq org-ditaa-jar-path "/home/nick/elisp/org-mode/contrib/scripts/ditaa.jar") > --8<---cut here---end--->8--- > Nick -- Thanks very much, I did get it working with your help. However I could not get it to work if I used an --eval in the command line, had to move the assignment into setting.el to get it to work. Did you get it to work with an --eval statement in the command line? -- Herb
Re: [O] Problem with ditaa when doing export from command line
Herbert Sitz wrote: > Carsten Dominik gmail.com> writes: > > > On Jun 10, 2011, at 9:33 AM, Herbert Sitz wrote: > > > > > I'm trying to do an export by calling emacs from the command line like so: > > > > > > emacs -batch --visit=myfilename --funcall org-export-as-html > > > > maybe you need to do > > > > emacs -batch --visit=myfilename --eval '(setq org-confirm-babel-evaluate > > nil)' > --funcall org-export-as-html > > > > After adding the eval switch the export terminates shortly after starting. I > get messages: > - > Adding c:/Program Files (x86)/Emacs/EmacsW32/lisp/ to load-path > OVERVIEW > End of file during parsing > - > > Same message has happened in several files, doesn't matter whether there's > ditaa > code block in .org file or not. I also get basically same result if I load my > .emacs file explicitly, although in that case I see some 'Loading . . .' > messages before OVERVIEW and End of file message. > > > > Also, note that when you run emacs with -batch, you init file is *not* > evaluated, . . . > > Thanks for those tips, had forgotten about loading of settings, though .emacs > was still getting loaded. . . > Works fine for me here, so there is probably a syntax error in the lisp file(s) you load or the lisp code you eval - try using a minimal setup file as shown below: GNU Emacs 24.0.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.22.0) of 2011-04-13 Org-mode version 7.5 (baseline.273.g889a48) I do emacs -batch --visit=foo.org -l export.el --funcall org-export-as-html with export.el containing the following: --8<---cut here---start->8--- (setq org-confirm-babel-evaluate nil) (require 'ob-ditaa) (setq org-babel-temporary-directory "tmp") (setq org-ditaa-jar-path "/home/nick/elisp/org-mode/contrib/scripts/ditaa.jar") --8<---cut here---end--->8--- and foo.org containing the following: --8<---cut here---start->8--- * Export a picture Need to load ob-ditaa to execute these: #+begin_src ditaa :file image.png :cmdline -r :exports both +-+ | cBLU| | | |++ ||cPNK| ||| +++ #+end_src #+results: [[file:image.png]] #+begin_src ditaa :file image2.png :cmdline -r :exports both ++ +---++---+ || --+ ditaa +--> | | | Text | +---+|diagram| |Document| |!magic!|| | | {d}| | || | +---++ +---++---+ : ^ | Lots of work | +-+ #+end_src #+results: [[file:image2.png]] #+begin_src ditaa :file image3.png :cmdline -r :exports both /\/-\ | cRED | <- | cBLU| | page || page | ||| table | \/| | | | \-/ #+end_src #+results: [[file:image3.png]] --8<---cut here---end--->8--- Nick
Re: [O] Problem with ditaa when doing export from command line
Herbert Sitz nwlink.com> writes: > > Thanks for those tips, had forgotten about loading of settings, though .emacs > was still getting loaded. . . > That was a typo, meant to say, "I thought .emacs was still getting loaded."
Re: [O] Problem with ditaa when doing export from command line
Carsten Dominik gmail.com> writes: > On Jun 10, 2011, at 9:33 AM, Herbert Sitz wrote: > > > I'm trying to do an export by calling emacs from the command line like so: > > > > emacs -batch --visit=myfilename --funcall org-export-as-html > > maybe you need to do > > emacs -batch --visit=myfilename --eval '(setq org-confirm-babel-evaluate nil)' --funcall org-export-as-html > After adding the eval switch the export terminates shortly after starting. I get messages: - Adding c:/Program Files (x86)/Emacs/EmacsW32/lisp/ to load-path OVERVIEW End of file during parsing - Same message has happened in several files, doesn't matter whether there's ditaa code block in .org file or not. I also get basically same result if I load my .emacs file explicitly, although in that case I see some 'Loading . . .' messages before OVERVIEW and End of file message. > Also, note that when you run emacs with -batch, you init file is *not* evaluated, . . . Thanks for those tips, had forgotten about loading of settings, though .emacs was still getting loaded. . . > > P.S. How is the VIM port coming along? > It's coming along slowly but fairly steadily. I'm trying to wrap up the current loose ends and get a major update out. For first time I will have menu system and some (very) basic documentation. Lack of discoverability and docs have (understandably) hindered adoption for many people so far, I think. Regards, Herb
Re: [O] Problem with ditaa when doing export from command line
Hi Herbert, On Jun 10, 2011, at 9:33 AM, Herbert Sitz wrote: > I'm trying to do an export by calling emacs from the command line like so: > > emacs -batch --visit=myfilename --funcall org-export-as-html maybe you need to do emacs -batch --visit=myfilename --eval '(setq org-confirm-babel-evaluate nil)' --funcall org-export-as-html Also, note that when you run emacs with -batch, you init file is *not* evaluated, so it does not help to have settings there.. Any settings you need must be on the command line, of in a separate file that you will load with emacs -batch -l settings.el . For some background info on the prompt about evaluation, check out http://orgmode.org/manual/Code-evaluation-security.html#Code-evaluation-security - Carsten P.S. How is the VIM port coming along? > > The export works fine except the ditaa png from ditaa source block doesn't get > created. > > I've run the export from within emacs and the ditaa png does get created. The > export also stops to present me with dialog asking whether I want to process > the > ditaa code, to which I respond Yes. I don't get any dialog when I do the > export > from the command line. > > Is there some way to get the ditaa code working when I do the export from the > command line. > > I'm running this on Windows7 if that makes any difference. > > Thanks, > > Herb > > - Carsten
[O] Problem with ditaa when doing export from command line
I'm trying to do an export by calling emacs from the command line like so: emacs -batch --visit=myfilename --funcall org-export-as-html The export works fine except the ditaa png from ditaa source block doesn't get created. I've run the export from within emacs and the ditaa png does get created. The export also stops to present me with dialog asking whether I want to process the ditaa code, to which I respond Yes. I don't get any dialog when I do the export from the command line. Is there some way to get the ditaa code working when I do the export from the command line. I'm running this on Windows7 if that makes any difference. Thanks, Herb