[O] Problem with ditaa when doing export from command line

2011-06-10 Thread Herbert Sitz
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




Re: [O] Problem with ditaa when doing export from command line

2011-06-10 Thread Carsten Dominik
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






Re: [O] Problem with ditaa when doing export from command line

2011-06-10 Thread Herbert Sitz
Carsten Dominik carsten.dominik at 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

2011-06-10 Thread Herbert Sitz
Herbert Sitz hsitz at 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

2011-06-10 Thread Nick Dokos
Herbert Sitz hs...@nwlink.com wrote:

 Carsten Dominik carsten.dominik at 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

2011-06-10 Thread Herbert Sitz
Nick Dokos nicholas.dokos at 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

2011-06-10 Thread Nick Dokos
Herbert Sitz hs...@nwlink.com wrote:

 Nick Dokos nicholas.dokos at 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

2011-06-10 Thread Herbert Sitz
Nick Dokos nicholas.dokos at 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