Hi,

is it possible to export an org file from the command line, so that a
currently running Emacs instance is not disturbed? I want to export the
attached org file and run the included source blocks, so I have an
activity report in the end. I use the shell script pasted below, but
there are two problems:

- my Emacs instance is blocked during the execution of the shell
  scripts contained in the file
- the script globally sets org-confirm-babel-evaluate to nil for my
  Emacs instance

The second problem could possibly be solved with a local file variable.
But the first problem remains. If I use emacs instead of emacsclient, it
complains about a running Emacs instance.

  #!/bin/sh

  emacsclient -c \
  --eval "(progn
    (find-file \"macports.org\"))
    (setq org-confirm-babel-evaluate nil)
    (org-export-as-html 3)
    (kill-buffer)
    (delete-frame))"

I'm using Org-Mode 7.7.

Cheers,
Viktor
#+TITLE: MacPorts Update Report

* Helper functions                                                              
          :noexport:
** Set up =$PATH= environment

Set up =$PATH=:

#+begin_src sh :session port-update :results silent
PATH=$PATH:/opt/local/bin
#+end_src

** Table Header for the list of outdated ports

#+begin_src sh :session port-update :results silent
print_outdated_header() {
    echo \|Port\|Installed\|Available\|
    echo "|--|"
}
#+end_src

** Format each row of =port outdated= as table entry

#+begin_src sh :session port-update :results silent
format_port_outdated() {
    awk '{print "|" $1 "|" $2 "|" $4 "|"}'
}
#+end_src

* Outdated ports

The following ports are outdated:

#+begin_src sh :session port-update :results output raw :exports results
print_outdated_header
port -q outdated | format_port_outdated
#+end_src

The following outdated ports are requested:

#+begin_src sh :session port-update :results output raw :exports results
print_outdated_header
port -q outdated and requested | format_port_outdated
#+end_src

* Update log

#+begin_src sh :session port-update :exports results :results verbatim
for i in 1 2 3 4 5 6 7 8 9 0; do echo "."; done
#+end_src

Reply via email to