diff options
author | Bastien <bzg@gnu.org> | 2020-09-07 07:37:19 +0200 |
---|---|---|
committer | Bastien <bzg@gnu.org> | 2020-09-07 07:37:19 +0200 |
commit | 81d49b5adb42de41dba966c64b8b374f4ba08857 (patch) | |
tree | edfc83a8430a984b1629cd43dd7be373742e5ce1 | |
parent | 69a91ba8bca5a9c7e4f438aa50a5faad81b061f5 (diff) | |
download | org-mode-81d49b5adb42de41dba966c64b8b374f4ba08857.tar.gz |
ob-emacs-lisp.el: Don't wrap execution within `save-window-excursion'
* lisp/ob-emacs-lisp.el (org-babel-execute:emacs-lisp): Don't wrap
execution within `save-window-excursion'.
Reported-by: Ihor Radchenko <yantar92@gmail.com>
https://orgmode.org/list/87tv5vt545.fsf@gmail.com
-rw-r--r-- | lisp/ob-emacs-lisp.el | 49 |
1 files changed, 24 insertions, 25 deletions
diff --git a/lisp/ob-emacs-lisp.el b/lisp/ob-emacs-lisp.el index 4150f1f..a180381 100644 --- a/lisp/ob-emacs-lisp.el +++ b/lisp/ob-emacs-lisp.el @@ -61,31 +61,30 @@ by `org-edit-src-code'.") (defun org-babel-execute:emacs-lisp (body params) "Execute a block of emacs-lisp code with Babel." - (save-window-excursion - (let* ((lexical (cdr (assq :lexical params))) - (result-params (cdr (assq :result-params params))) - (body (format (if (member "output" result-params) - "(with-output-to-string %s\n)" - "(progn %s\n)") - (org-babel-expand-body:emacs-lisp body params))) - (result (eval (read (if (or (member "code" result-params) - (member "pp" result-params)) - (concat "(pp " body ")") - body)) - (org-babel-emacs-lisp-lexical lexical)))) - (org-babel-result-cond result-params - (let ((print-level nil) - (print-length nil)) - (if (or (member "scalar" result-params) - (member "verbatim" result-params)) - (format "%S" result) - (format "%s" result))) - (org-babel-reassemble-table - result - (org-babel-pick-name (cdr (assq :colname-names params)) - (cdr (assq :colnames params))) - (org-babel-pick-name (cdr (assq :rowname-names params)) - (cdr (assq :rownames params)))))))) + (let* ((lexical (cdr (assq :lexical params))) + (result-params (cdr (assq :result-params params))) + (body (format (if (member "output" result-params) + "(with-output-to-string %s\n)" + "(progn %s\n)") + (org-babel-expand-body:emacs-lisp body params))) + (result (eval (read (if (or (member "code" result-params) + (member "pp" result-params)) + (concat "(pp " body ")") + body)) + (org-babel-emacs-lisp-lexical lexical)))) + (org-babel-result-cond result-params + (let ((print-level nil) + (print-length nil)) + (if (or (member "scalar" result-params) + (member "verbatim" result-params)) + (format "%S" result) + (format "%s" result))) + (org-babel-reassemble-table + result + (org-babel-pick-name (cdr (assq :colname-names params)) + (cdr (assq :colnames params))) + (org-babel-pick-name (cdr (assq :rowname-names params)) + (cdr (assq :rownames params))))))) (defun org-babel-emacs-lisp-lexical (lexical) "Interpret :lexical source block argument. |