From mboxrd@z Thu Jan 1 00:00:00 1970 From: Aaron Ecay Subject: [PATCH] Add 'inline-only option to org-export-babel-evaluate Date: Mon, 1 Apr 2013 01:44:45 -0400 Message-ID: <1364795085-14578-1-git-send-email-aaronecay@gmail.com> Return-path: Received: from eggs.gnu.org ([208.118.235.92]:38211) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UMXY3-0006Nz-Iz for emacs-orgmode@gnu.org; Mon, 01 Apr 2013 01:44:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UMXY1-0001h0-31 for emacs-orgmode@gnu.org; Mon, 01 Apr 2013 01:44:51 -0400 Received: from mail-qa0-f51.google.com ([209.85.216.51]:42839) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UMXY0-0001gv-Ua for emacs-orgmode@gnu.org; Mon, 01 Apr 2013 01:44:49 -0400 Received: by mail-qa0-f51.google.com with SMTP id hg5so710547qab.3 for ; Sun, 31 Mar 2013 22:44:48 -0700 (PDT) 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: emacs-orgmode@gnu.org * lisp/ob-exp.el (org-export-babel-evaluate): Update defcustom to provide 'inline-only option (org-babel-exp-results): Implement 'inline-only for org-export-babel-evaluate This is useful because there is no way for inline results to be stored. The imagined usecase is that all non-inline source blocks will be evaluated manually by the user. Inline blocks, however, must be evaluated during export, or they will be simply deleted by the exporter. --- lisp/ob-exp.el | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lisp/ob-exp.el b/lisp/ob-exp.el index 0d98690..6783bd5 100644 --- a/lisp/ob-exp.el +++ b/lisp/ob-exp.el @@ -52,10 +52,13 @@ (defcustom org-export-babel-evaluate t "Switch controlling code evaluation during export. When set to nil no code will be evaluated as part of the export -process." +process. When set to 'inline-only, only inline code blocks will +be executed." :group 'org-babel :version "24.1" - :type 'boolean) + :type '(choice (const :tag "Never" nil) + (const :tag "Only inline code" inline-only) + (const :tag "Always" t))) (put 'org-export-babel-evaluate 'safe-local-variable (lambda (x) (eq x nil))) (defun org-babel-exp-get-export-buffer () @@ -378,7 +381,9 @@ Results are prepared in a manner suitable for export by org-mode. This function is called by `org-babel-exp-do-export'. The code block will be evaluated. Optional argument SILENT can be used to inhibit insertion of results into the buffer." - (when (and org-export-babel-evaluate + (when (and (or (eq org-export-babel-evaluate t) + (and (eq type 'inline) + (eq org-export-babel-evaluate 'inline-only))) (not (and hash (equal hash (org-babel-current-result-hash))))) (let ((lang (nth 0 info)) (body (if (org-babel-noweb-p (nth 2 info) :eval) -- 1.8.2