[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] [PATCH] Add 'inline-only option to org-export-babel-evaluate
From: |
Eric Schulte |
Subject: |
Re: [O] [PATCH] Add 'inline-only option to org-export-babel-evaluate |
Date: |
Tue, 02 Apr 2013 16:14:19 -0600 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
I'm happy to apply this patch, however please also supply a patch which
updates the corresponding documentation.
Thanks!
Aaron Ecay <address@hidden> writes:
> * 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)
--
Eric Schulte
http://cs.unm.edu/~eschulte