From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: [RFC] Slight change to asynchronous export Date: Wed, 30 Oct 2013 11:00:32 +0100 Message-ID: <8738njaxj3.fsf@gmail.com> References: <87fvrnawes.fsf@gmail.com> <8761shs3ab.fsf@Rainer.invalid> <87txg0cw5g.fsf@gmail.com> <0dccb1354fae8c7a3ce2c505e436bb2e@mail.rickster.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:50142) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VbSZc-0004H1-IQ for emacs-orgmode@gnu.org; Wed, 30 Oct 2013 06:00:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VbSZU-0006g0-4K for emacs-orgmode@gnu.org; Wed, 30 Oct 2013 06:00:24 -0400 Received: from mail-wi0-x22a.google.com ([2a00:1450:400c:c05::22a]:47460) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VbSZT-0006fm-Rj for emacs-orgmode@gnu.org; Wed, 30 Oct 2013 06:00:16 -0400 Received: by mail-wi0-f170.google.com with SMTP id ex4so3850795wid.1 for ; Wed, 30 Oct 2013 03:00:15 -0700 (PDT) In-Reply-To: <0dccb1354fae8c7a3ce2c505e436bb2e@mail.rickster.com> (Rick Frankel's message of "Tue, 29 Oct 2013 13:42:28 -0400") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Rick Frankel Cc: Achim Gratz , emacs-orgmode@gnu.org --=-=-= Content-Type: text/plain Helo, Rick Frankel writes: > On 2013-10-29 04:35, Nicolas Goaziou wrote: >> Achim Gratz 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 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-ox-Change-default-asynchronous-export-setup.patch >From 993105a2bdf70a146c302e10884da1f0de406a65 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou 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 --=-=-=--