Correct dependencies in the Makefile.

Also a new variable and better implementation around export
processing in the background.
This commit is contained in:
Carsten Dominik 2008-04-14 14:59:37 +02:00
parent 9546c15252
commit 62db67e9eb
32 changed files with 151 additions and 81 deletions

View File

@ -1,3 +1,13 @@
2008-04-14 Carsten Dominik <dominik@science.uva.nl>
* lisp/org-exp.el (org-export-run-in-background): New option.
* lisp/org.el (org-open-file): Allow a batch process to trigger
waiting after executing a system command.
* lisp/org-exp.el (org-export-icalendar): Allow a batch process to
trigger waiting after executing a system command.
2008-04-13 Carsten Dominik <dominik@science.uva.nl>
* lisp/org-table.el (org-table-make-reference): Extra parenthesis

View File

@ -262,4 +262,35 @@ push:
pushtag:
git-tag -m "Adding tag" -a $(TAG)
git-push git+ssh://repo.or.cz/srv/git/org-mode.git $(TAG)
git-push git+ssh://repo.or.cz/srv/git/org-mode.git $(TAG)
# Dependencies
lisp/org.elc: lisp/org-macs.elc lisp/org-compat.elc lisp/org-faces.elc
lisp/org-agenda.elc: lisp/org.elc
lisp/org-archive.elc: lisp/org.elc
lisp/org-bbdb.elc: lisp/org.elc
lisp/org-bibtex.elc: lisp/org.elc
lisp/org-clock.elc: lisp/org.elc
lisp/org-colview.elc: lisp/org.elc
lisp/org-compat.elc:
lisp/org-exp.elc: lisp/org.elc lisp/org-agenda.elc
lisp/org-export-latex.elc: lisp/org.elc lisp/org-exp.elc
lisp/org-faces.elc: lisp/org-macs.elc lisp/org-compat.elc
lisp/org-gnus.elc: lisp/org.elc
lisp/org-info.elc: lisp/org.elc
lisp/org-infojs.elc: lisp/org.elc lisp/org-exp.elc
lisp/org-irc.elc: lisp/org.elc
lisp/org-mac-message.elc: lisp/org.elc
lisp/org-macs.elc:
lisp/org-mew.elc: lisp/org.elc
lisp/org-mhe.elc: lisp/org.elc
lisp/org-mouse.elc: lisp/org.elc
lisp/org-publish.elc:
lisp/org-remember.elc: lisp/org.elc
lisp/org-rmail.elc: lisp/org.elc
lisp/org-table.elc: lisp/org.elc
lisp/org-vm.elc: lisp/org.elc
lisp/org-wl.elc: lisp/org.elc

View File

@ -22,9 +22,9 @@ messages, BBDB entries, and any files related to the projects. For
printing and sharing of notes, an Org-mode file can be exported as a
structured ASCII file, HTML, and LaTeX.
* Current Version (6.01) and Compatibility
* Current Version (6.02pre-01) and Compatibility
The current version is 6.01. To see what has changed in recent
The current version is 6.02pre-01. To see what has changed in recent
releases, check this [[file:Changes.html][list of user-visible changes]]. These descriptions
are extensive, to avoid that people will be printing the manual after
each incremental release. If you have an older version of the manual,
@ -40,7 +40,7 @@ but may lag a bit behind the website release.
**** Distribution
Download as [[file:org-6.01.zip][zip file]] or [[file:org-6.01.tar.gz][gzipped tar archive]]. These archives contain
Download as [[file:org-6.02pre-01.zip][zip file]] or [[file:org-6.02pre-01.tar.gz][gzipped tar archive]]. These archives contain
both the Lisp file org.el and the documentation in PDF and (TeX)Info
formats. A shell script to simplify upgrading to the newest release
has been posted [[http://www.philfam.co.uk/pete/GTD/org-mode/update-org.sh][here]].

View File

@ -1,7 +1,7 @@
The is a distribution of Org, a plain text notes and project planning
tool for Emacs.
The version of this release is: 6.01
The version of this release is: 6.02pre-01
The homepage of Org is at http://orgmode.org

View File

@ -3,7 +3,7 @@
@setfilename ../../info/org
@settitle The Org Manual
@set VERSION 6.01
@set VERSION 6.02pre-01
@set DATE April 2008
@dircategory Emacs
@ -6439,11 +6439,15 @@ produced. @xref{Text interpretation}, for more details.
@item C-c C-e
Dispatcher for export and publishing commands. Displays a help-window
listing the additional key(s) needed to launch an export or publishing
command. The prefix arg is passed through to the exporter.
command. The prefix arg is passed through to the exporter. If the option
@code{org-export-run-in-background} is set, Org will run the command in the
background if that seems useful for the specific command (i.e. commands that
write to a file).
@kindex C-u C-u C-c C-e
@item C-u C-u C-c C-e
Try to execute an export/publishing command in the background. This is only
allowed for commands that do not expect to use the output of the exporter.
Call an the exporter, but reverse the setting of
@code{org-export-run-in-background}, i.e. request background processing if
not set, or force processing in the current Emacs process if st.
@end table
@menu

View File

@ -1,5 +1,5 @@
% Reference Card for Org Mode
\def\orgversionnumber{6.01}
\def\orgversionnumber{6.02pre-01}
\def\versionyear{2008} % latest update
\def\year{2008} % latest copyright year

View File

@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.01
;; Version: 6.02pre-01
;;
;; This file is part of GNU Emacs.
;;

View File

@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.01
;; Version: 6.02pre-01
;;
;; This file is part of GNU Emacs.
;;

View File

@ -6,7 +6,7 @@
;; Thomas Baumann <thomas dot baumann at ch dot tum dot de>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.01
;; Version: 6.02pre-01
;;
;; This file is part of GNU Emacs.
;;

View File

@ -5,7 +5,7 @@
;; Author: Bastien Guerry <bzg at altern dot org>
;; Carsten Dominik <carsten dot dominik at gmail dot com>
;; Keywords: org, wp, remember
;; Version: 6.01
;; Version: 6.02pre-01
;;
;; This file is part of GNU Emacs.
;;

View File

@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.01
;; Version: 6.02pre-01
;;
;; This file is part of GNU Emacs.
;;

View File

@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.01
;; Version: 6.02pre-01
;;
;; This file is part of GNU Emacs.
;;

View File

@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.01
;; Version: 6.02pre-01
;;
;; This file is part of GNU Emacs.
;;

View File

@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.01
;; Version: 6.02pre-01
;;
;; This file is part of GNU Emacs.
;;
@ -49,6 +49,21 @@
;; FIXME
(defvar org-export-publishing-directory nil)
(defcustom org-export-run-in-background nil
"Non-nil means export and publishing commands will run in background.
This works by starting up a separate Emacs process visiting the same file
and doing the export from there.
Not all export commands are affected by this - only the ones which
actually write to a file, and that do not depend on the buffer state.
If this option is nil, you can still get background export by calling
`org-export' with a double prefix arg: `C-u C-u C-c C-e'.
If this option is t, the double prefix can be used to exceptionally
force an export command into the current process."
:group 'org-export-general
:type 'boolean)
(defcustom org-export-with-special-strings t
"Non-nil means, interpret \"\-\", \"--\" and \"---\" for export.
When this option is turned on, these strings will be exported as:
@ -747,9 +762,17 @@ modified) list.")
;;;###autoload
(defun org-export (&optional arg)
"Export dispatcher for Org-mode."
"Export dispatcher for Org-mode.
When `org-export-run-in-background' is non-nil, try to run the command
in the background. This will be done only for commands that write
to a file. For details see the docstring of `org-export-run-in-background'.
The prefix argument ARG will be passed to the exporter. However, if
ARG is a double universal prefix `C-u C-u', that means to inverse the
value of `org-export-run-in-background'."
(interactive "P")
(let ((help "[t] insert the export option template
(let* ((bg (org-xor (equal arg '(16)) org-export-run-in-background))
(help "[t] insert the export option template
\[v] limit export to visible part of outline tree
\[a] export as ASCII
@ -771,25 +794,25 @@ modified) list.")
\[P] publish current project
\[X] publish... (project will be prompted for)
\[A] publish all projects")
(cmds
'((?t org-insert-export-options-template nil)
(?v org-export-visible nil)
(?a org-export-as-ascii t)
(?h org-export-as-html t)
(?b org-export-as-html-and-open t)
(?H org-export-as-html-to-buffer nil)
(?R org-export-region-as-html t)
(?x org-export-as-xoxo t)
(?l org-export-as-latex t)
(?L org-export-as-latex-to-buffer nil)
(?i org-export-icalendar-this-file t)
(?I org-export-icalendar-all-agenda-files t)
(?c org-export-icalendar-combine-agenda-files t)
(?F org-publish-current-file t)
(?P org-publish-current-project t)
(?X org-publish t)
(?A org-publish-all t)))
r1 r2 ass)
(cmds
'((?t org-insert-export-options-template nil)
(?v org-export-visible nil)
(?a org-export-as-ascii t)
(?h org-export-as-html t)
(?b org-export-as-html-and-open t)
(?H org-export-as-html-to-buffer nil)
(?R org-export-region-as-html nil)
(?x org-export-as-xoxo t)
(?l org-export-as-latex t)
(?L org-export-as-latex-to-buffer nil)
(?i org-export-icalendar-this-file t)
(?I org-export-icalendar-all-agenda-files t)
(?c org-export-icalendar-combine-agenda-files t)
(?F org-publish-current-file t)
(?P org-publish-current-project t)
(?X org-publish t)
(?A org-publish-all t)))
r1 r2 ass)
(save-window-excursion
(delete-other-windows)
(with-output-to-temp-buffer "*Org Export/Publishing Help*"
@ -799,29 +822,27 @@ modified) list.")
(setq r2 (if (< r1 27) (+ r1 96) r1))
(unless (setq ass (assq r2 cmds))
(error "No command associated with key %c" r1))
(cond
((and (equal arg '(16)) (nth 2 ass))
(let ((p (start-process
(concat "Exporting " (file-name-nondirectory (buffer-file-name)))
"*Org Export Processes*"
"emacs" "-batch"
"-l" user-init-file
"--eval" "(require 'org-exp)"
(buffer-file-name)
(concat "Exporting " (file-name-nondirectory (buffer-file-name)))
"-f" (symbol-name (nth 1 ass)))))
(set-process-sentinel p 'org-export-process-sentinel)
(message "Process \"%s\": started in background" p)))
((equal arg '(16))
(error "Background processing for export command `%c' is not allowed"
(car ass)))
(t
(call-interactively (nth 1 ass))))))
(if (and bg (nth 2 ass))
;; execute in background
(let ((p (start-process
(concat "Exporting " (file-name-nondirectory (buffer-file-name)))
"*Org Processes*"
(expand-file-name invocation-name invocation-directory)
"-batch"
"-l" user-init-file
"--eval" "(require 'org-exp)"
"--eval" "(setq org-wait .2)"
(buffer-file-name)
"-f" (symbol-name (nth 1 ass)))))
(set-process-sentinel p 'org-export-process-sentinel)
(message "Background process \"%s\": started" p))
;; background processing not requested, or not possible
(call-interactively (nth 1 ass)))))
(defun org-export-process-sentinel (process status)
(if (string-match "\n+\\'" status)
(setq status (substring status 0 -1)))
(message "Process \"%s\": %s" process status))
(message "Background process \"%s\": %s" process status))
(defconst org-html-entities
'(("nbsp")
@ -2089,7 +2110,7 @@ a Lisp program could call this function in the following way:
(setq html (org-export-region-as-html beg end t 'string))
When called interactively, the output buffer is selected, and shown
in a window. A non-interactive call will only retunr the buffer."
in a window. A non-interactive call will only return the buffer."
(interactive "r\nP")
(when (interactive-p)
(setq buffer "*Org HTML Export*"))
@ -3398,7 +3419,9 @@ file and store it under the name `org-combined-agenda-icalendar-file'."
(org-finish-icalendar-file)
(set-buffer ical-buffer)
(save-buffer)
(run-hooks 'org-after-save-iCalendar-file-hook)))))
(run-hooks 'org-after-save-iCalendar-file-hook)
(and (boundp 'org-wait) (numberp org-wait) (sit-for org-wait))
))))
(org-release-buffers org-agenda-new-buffers))))
(defvar org-after-save-iCalendar-file-hook nil

View File

@ -4,7 +4,7 @@
;;
;; Emacs Lisp Archive Entry
;; Filename: org-export-latex.el
;; Version: 6.01
;; Version: 6.02pre-01
;; Author: Bastien Guerry <bzg AT altern DOT org>
;; Maintainer: Bastien Guerry <bzg AT altern DOT org>
;; Keywords: org, wp, tex

View File

@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.01
;; Version: 6.02pre-01
;;
;; This file is part of GNU Emacs.
;;

View File

@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.01
;; Version: 6.02pre-01
;;
;; This file is part of GNU Emacs.
;;

View File

@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.01
;; Version: 6.02pre-01
;;
;; This file is part of GNU Emacs.
;;

View File

@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.01
;; Version: 6.02pre-01
;;
;; This file is part of GNU Emacs.
;;

View File

@ -4,7 +4,7 @@
;;
;; Author: Philip Jackson <emacs@shellarchive.co.uk>
;; Keywords: erc, irc, link, org
;; Version: 6.01
;; Version: 6.02pre-01
;;
;; This file is part of GNU Emacs.
;;

View File

@ -3,7 +3,7 @@
;; Copyright (C) 2008 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;; Version: 6.01
;; Version: 6.02pre-01
;; Keywords: outlines, hypermedia, calendar, wp
;; This file is part of GNU Emacs.

View File

@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.01
;; Version: 6.02pre-01
;;
;; This file is part of GNU Emacs.
;;

View File

@ -4,7 +4,7 @@
;;
;; Emacs Lisp Archive Entry
;; Filename: org-mew.el
;; Version: 6.01
;; Version: 6.02pre-01
;; Author: Bastien Guerry <bzg AT altern DOT org>
;; Maintainer: Bastien Guerry <bzg AT altern DOT org>
;; Keywords: org, mail, Mew

View File

@ -5,7 +5,7 @@
;; Author: Thomas Baumann <thomas dot baumann at ch dot tum dot de>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.01
;; Version: 6.02pre-01
;;
;; This file is part of GNU Emacs.
;;

View File

@ -4,7 +4,7 @@
;;
;; Author: Piotr Zielinski <piotr dot zielinski at gmail dot com>
;; Maintainer: Carsten Dominik <carsten at orgmode dot org>
;; Version: 6.01
;; Version: 6.02pre-01
;;
;; This file is part of GNU Emacs.
;;

View File

@ -4,7 +4,7 @@
;; Author: David O'Toole <dto@gnu.org>
;; Maintainer: Bastien Guerry <bzg AT altern DOT org>
;; Keywords: hypermedia, outlines, wp
;; Version: 6.01
;; Version: 6.02pre-01
;; This file is part of GNU Emacs.
;;

View File

@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.01
;; Version: 6.02pre-01
;;
;; This file is part of GNU Emacs.
;;

View File

@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.01
;; Version: 6.02pre-01
;;
;; This file is part of GNU Emacs.
;;

View File

@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.01
;; Version: 6.02pre-01
;;
;; This file is part of GNU Emacs.
;;

View File

@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.01
;; Version: 6.02pre-01
;;
;; This file is part of GNU Emacs.
;;

View File

@ -5,7 +5,7 @@
;; Author: Tokuya Kameshima <kames at fa2 dot so-net dot ne dot jp>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.01
;; Version: 6.02pre-01
;;
;; This file is part of GNU Emacs.
;;

View File

@ -5,7 +5,7 @@
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
;; Version: 6.01
;; Version: 6.02pre-01
;;
;; This file is part of GNU Emacs.
;;
@ -93,7 +93,7 @@
;;; Version
(defconst org-version "6.01"
(defconst org-version "6.02pre-01"
"The version number of the file org.el.")
(defun org-version (&optional here)
@ -7024,7 +7024,7 @@ onto the ring."
;;; Following file links
(defvar org-wait nil)
(defun org-open-file (path &optional in-emacs line search)
"Open the file at PATH.
First, this expands any special file name abbreviations. Then the
@ -7080,7 +7080,9 @@ If the file does not exist, an error is thrown."
(save-match-data (shell-quote-argument file))
t t cmd)))
(save-window-excursion
(start-process-shell-command cmd nil cmd)))
(start-process-shell-command cmd nil cmd)
(and (boundp 'org-wait) (numberp org-wait) (sit-for org-wait))
))
((or (stringp cmd)
(eq cmd 'emacs))
(funcall (cdr (assq 'file org-link-frame-setup)) file)