Helo, Rick Frankel <r...@rickster.com> writes:
> On 2013-10-29 04:35, Nicolas Goaziou wrote: >> Achim Gratz <strom...@nexgo.de> writes: >> >> Nicolas Goaziou writes: >> At the moment, by default, external emacs process for asynchronous >> export is called with: >> >> /path/to/emacs -Q --batch -l org-export-async-init-file ... export >> stuff... >> >> where `org-export-async-init-file' defaults to `user-init-file'. It is, >> by default, not the same as calling "emacs", because of the "-Q". >> >> That's a good thing, I'd say. There is a lot of stuff going on in init >> files that you most likely don't want done when firing Emacs off in the >> background. That is especially true of some site-init files that you >> typically have no control over. >> >> As I said, it wouldn't be worse than the current situation. >> >> If you don't make this the default then no harm is done, I guess. >> >> The whole point of this change is to change the default value. If >> there's no interest in it, I won't bother making it. > > I'm all for it. The current default is, IMHO, the worst of both worlds > since, by loading my init but leaving out site-lisp i end up w/ the > wrong org loaded (the one from the default distribution, not > site-lisp) unless I make explicit reference to the development org in > site-lisp. For reference, here is the suggested patch. Is there any strong point against it? Regards, -- Nicolas Goaziou
>From 993105a2bdf70a146c302e10884da1f0de406a65 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou <n.goaz...@gmail.com> Date: Mon, 28 Oct 2013 18:56:04 +0100 Subject: [PATCH] ox: Change default asynchronous export setup * lisp/ox.el (org-export-async-init-file): Change default value and allowed values. (org-export-async-start): Apply change to the variable. --- lisp/ox.el | 37 +++++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/lisp/ox.el b/lisp/ox.el index 141abc4..20d7107 100644 --- a/lisp/ox.el +++ b/lisp/ox.el @@ -839,15 +839,23 @@ automatically. But you can retrieve them with \\[org-export-stack]." :package-version '(Org . "8.0") :type 'boolean) -(defcustom org-export-async-init-file user-init-file +(defcustom org-export-async-init-file nil "File used to initialize external export process. -Value must be an absolute file name. It defaults to user's -initialization file. Though, a specific configuration makes the -process faster and the export more portable." + +Value must be either nil or an absolute file name. When nil, the +external process is launched like a regular Emacs session, +loading user's initialization file and any site specific +configuration. If a file is provided, it, and only it, is loaded +at start-up. + +Therefore, using a specific configuration makes the process to +load faster and the export more portable." :group 'org-export-general :version "24.4" - :package-version '(Org . "8.0") - :type '(file :must-match t)) + :package-version '(Org . "8.3") + :type '(choice + (const :tag "Regular startup" nil) + (file :tag "Specific start-up file" :must-match t))) (defcustom org-export-dispatch-use-expert-ui nil "Non-nil means using a non-intrusive `org-export-dispatch'. @@ -5552,12 +5560,17 @@ and `org-export-to-file' for more specialized functions." (let* ((process-connection-type nil) (,proc-buffer (generate-new-buffer-name "*Org Export Process*")) (,process - (start-process - "org-export-process" ,proc-buffer - (expand-file-name invocation-name invocation-directory) - "-Q" "--batch" - "-l" org-export-async-init-file - "-l" ,temp-file))) + (apply + #'start-process + (append + (list "org-export-process" + ,proc-buffer + (expand-file-name invocation-name invocation-directory) + "--batch") + (if org-export-async-init-file + (list "-Q" "-l" org-export-async-init-file) + (list "-l" user-init-file)) + (list "-l" ,temp-file))))) ;; Register running process in stack. (org-export-add-to-stack (get-buffer ,proc-buffer) nil ,process) ;; Set-up sentinel in order to catch results. -- 1.8.4.2