[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] Python code block hangs with :session if python-mode is loaded
From: |
Richard Stanton |
Subject: |
Re: [O] Python code block hangs with :session if python-mode is loaded |
Date: |
Sat, 31 Mar 2012 16:02:04 -0700 |
> If I do not have (require 'python-mode) in my init.el, the following also
> works fine:
>
> #+begin_src python :results output :session print "%d + %d = %d" % (2, 3,
> 2+3)
> 2**5
> #+end_src
>
> #+RESULTS:
> : 2 + 3 = 5
> : 32
>
> However, if (require 'python-mode) is in my init.el file, pressing C-c C-c in
> the second code block causes Emacs to hang with the message "Executing
> python code block". I can get out by pressing C-g, but it never returns
> otherwise.
A quick follow-up, in case it's useful:
1) This is with org-mode 7.8.07, but the same occurred with 7.8.06, in both
cases running under Emacs 23.0.94, and I get the same behavior under both OS X
and Windows.
2) If I toggle debug-on-quit, here's what I see when I press C-g:
Debugger entered--Lisp error: (quit)
accept-process-output(#<process Python>)
(while (progn (goto-char comint-last-input-end) (not (save-excursion (and
(re-search-forward (regexp-quote org-babel-python-eoe-indicator) nil t)
(re-search-forward comint-prompt-regexp nil t))))) (accept-process-output
(get-buffer-process (current-buffer))))
(progn (goto-char (process-mark (get-buffer-process (current-buffer)))) (let
((start (point)) (end (point-max))) (setq dangling-text (buffer-substring start
end)) (delete-region start end)) (input-body body) (send-wait) (send-wait)
(insert org-babel-python-eoe-indicator) (send-wait) (while (progn (goto-char
comint-last-input-end) (not (save-excursion (and (re-search-forward
(regexp-quote org-babel-python-eoe-indicator) nil t) (re-search-forward
comint-prompt-regexp nil t))))) (accept-process-output (get-buffer-process
(current-buffer)))) (goto-char (process-mark (get-buffer-process
(current-buffer)))) (insert dangling-text))
(unwind-protect (progn (goto-char (process-mark (get-buffer-process
(current-buffer)))) (let ((start (point)) (end (point-max))) (setq
dangling-text (buffer-substring start end)) (delete-region start end))
(input-body body) (send-wait) (send-wait) (insert
org-babel-python-eoe-indicator) (send-wait) (while (progn (goto-char
comint-last-input-end) (not (save-excursion (and (re-search-forward ... nil t)
(re-search-forward comint-prompt-regexp nil t))))) (accept-process-output
(get-buffer-process (current-buffer)))) (goto-char (process-mark
(get-buffer-process (current-buffer)))) (insert dangling-text)) (remove-hook
(quote comint-output-filter-functions) (quote my-filt)))
(progn (fset (quote my-filt) (function* (lambda (text) (block my-filt (setq
string-buffer (concat string-buffer text)))))) (add-hook (quote
comint-output-filter-functions) (quote my-filt)) (unwind-protect (progn
(goto-char (process-mark (get-buffer-process (current-buffer)))) (let ((start
(point)) (end (point-max))) (setq dangling-text (buffer-substring start end))
(delete-region start end)) (input-body body) (send-wait) (send-wait) (insert
org-babel-python-eoe-indicator) (send-wait) (while (progn (goto-char
comint-last-input-end) (not (save-excursion (and ... ...))))
(accept-process-output (get-buffer-process (current-buffer)))) (goto-char
(process-mark (get-buffer-process (current-buffer)))) (insert dangling-text))
(remove-hook (quote comint-output-filter-functions) (quote my-filt))))
(unwind-protect (progn (fset (quote my-filt) (function* (lambda (text) (block
my-filt (setq string-buffer (concat string-buffer text)))))) (add-hook (quote
comint-output-filter-functions) (quote my-filt)) (unwind-protect (progn
(goto-char (process-mark (get-buffer-process (current-buffer)))) (let ((start
(point)) (end (point-max))) (setq dangling-text (buffer-substring start end))
(delete-region start end)) (input-body body) (send-wait) (send-wait) (insert
org-babel-python-eoe-indicator) (send-wait) (while (progn (goto-char
comint-last-input-end) (not (save-excursion ...))) (accept-process-output
(get-buffer-process (current-buffer)))) (goto-char (process-mark
(get-buffer-process (current-buffer)))) (insert dangling-text)) (remove-hook
(quote comint-output-filter-functions) (quote my-filt)))) (if --cl-letf-bound--
(fset (quote my-filt) --cl-letf-save--) (fmakunbound (quote my-filt))))
(let* ((--cl-letf-bound-- (fboundp (quote my-filt))) (--cl-letf-save-- (and
--cl-letf-bound-- (symbol-function (quote my-filt))))) (unwind-protect (progn
(fset (quote my-filt) (function* (lambda (text) (block my-filt (setq
string-buffer ...))))) (add-hook (quote comint-output-filter-functions) (quote
my-filt)) (unwind-protect (progn (goto-char (process-mark (get-buffer-process
...))) (let ((start ...) (end ...)) (setq dangling-text (buffer-substring start
end)) (delete-region start end)) (input-body body) (send-wait) (send-wait)
(insert org-babel-python-eoe-indicator) (send-wait) (while (progn (goto-char
comint-last-input-end) (not ...)) (accept-process-output (get-buffer-process
...))) (goto-char (process-mark (get-buffer-process ...))) (insert
dangling-text)) (remove-hook (quote comint-output-filter-functions) (quote
my-filt)))) (if --cl-letf-bound-- (fset (quote my-filt) --cl-letf-save--)
(fmakunbound (quote my-filt)))))
(letf (((symbol-function (quote my-filt)) (function* (lambda (text) (block
my-filt (setq string-buffer (concat string-buffer text))))))) (add-hook (quote
comint-output-filter-functions) (quote my-filt)) (unwind-protect (progn
(goto-char (process-mark (get-buffer-process (current-buffer)))) (let ((start
(point)) (end (point-max))) (setq dangling-text (buffer-substring start end))
(delete-region start end)) (input-body body) (send-wait) (send-wait) (insert
org-babel-python-eoe-indicator) (send-wait) (while (progn (goto-char
comint-last-input-end) (not (save-excursion (and ... ...))))
(accept-process-output (get-buffer-process (current-buffer)))) (goto-char
(process-mark (get-buffer-process (current-buffer)))) (insert dangling-text))
(remove-hook (quote comint-output-filter-functions) (quote my-filt))))
(letf* (((symbol-function (quote my-filt)) (function* (lambda (text) (block
my-filt (setq string-buffer (concat string-buffer text))))))) (add-hook (quote
comint-output-filter-functions) (quote my-filt)) (unwind-protect (progn
(goto-char (process-mark (get-buffer-process (current-buffer)))) (let ((start
(point)) (end (point-max))) (setq dangling-text (buffer-substring start end))
(delete-region start end)) (input-body body) (send-wait) (send-wait) (insert
org-babel-python-eoe-indicator) (send-wait) (while (progn (goto-char
comint-last-input-end) (not (save-excursion (and ... ...))))
(accept-process-output (get-buffer-process (current-buffer)))) (goto-char
(process-mark (get-buffer-process (current-buffer)))) (insert dangling-text))
(remove-hook (quote comint-output-filter-functions) (quote my-filt))))
(flet ((my-filt (text) (setq string-buffer (concat string-buffer text))))
(add-hook (quote comint-output-filter-functions) (quote my-filt))
(unwind-protect (progn (goto-char (process-mark (get-buffer-process
(current-buffer)))) (let ((start (point)) (end (point-max))) (setq
dangling-text (buffer-substring start end)) (delete-region start end))
(input-body body) (send-wait) (send-wait) (insert
org-babel-python-eoe-indicator) (send-wait) (while (progn (goto-char
comint-last-input-end) (not (save-excursion (and ... ...))))
(accept-process-output (get-buffer-process (current-buffer)))) (goto-char
(process-mark (get-buffer-process (current-buffer)))) (insert dangling-text))
(remove-hook (quote comint-output-filter-functions) (quote my-filt))))
(let ((string-buffer "") dangling-text raw) (flet ((my-filt (text) (setq
string-buffer (concat string-buffer text)))) (add-hook (quote
comint-output-filter-functions) (quote my-filt)) (unwind-protect (progn
(goto-char (process-mark (get-buffer-process (current-buffer)))) (let ((start
(point)) (end (point-max))) (setq dangling-text (buffer-substring start end))
(delete-region start end)) (input-body body) (send-wait) (send-wait) (insert
org-babel-python-eoe-indicator) (send-wait) (while (progn (goto-char
comint-last-input-end) (not (save-excursion ...))) (accept-process-output
(get-buffer-process (current-buffer)))) (goto-char (process-mark
(get-buffer-process (current-buffer)))) (insert dangling-text)) (remove-hook
(quote comint-output-filter-functions) (quote my-filt)))) (if (and t body
(string-match (replace-regexp-in-string "\n" "[
\n]+" (regexp-quote (or body ""))) string-buffer)) (setq raw (substring
string-buffer (match-end 0)))) (split-string string-buffer
comint-prompt-regexp))
(progn (unless (org-babel-comint-buffer-livep session) (error "buffer %s
doesn't exist or has no process" session)) (set-buffer session) (let
((string-buffer "") dangling-text raw) (flet ((my-filt (text) (setq
string-buffer (concat string-buffer text)))) (add-hook (quote
comint-output-filter-functions) (quote my-filt)) (unwind-protect (progn
(goto-char (process-mark (get-buffer-process ...))) (let ((start ...) (end
...)) (setq dangling-text (buffer-substring start end)) (delete-region start
end)) (input-body body) (send-wait) (send-wait) (insert
org-babel-python-eoe-indicator) (send-wait) (while (progn (goto-char
comint-last-input-end) (not ...)) (accept-process-output (get-buffer-process
...))) (goto-char (process-mark (get-buffer-process ...))) (insert
dangling-text)) (remove-hook (quote comint-output-filter-functions) (quote
my-filt)))) (if (and t body (string-match (replace-regexp-in-string "\n" "[
\n]+" (regexp-quote (or body ""))) string-buffer)) (setq raw (substring
string-buffer (match-end 0)))) (split-string string-buffer
comint-prompt-regexp)))
(unwind-protect (progn (unless (org-babel-comint-buffer-livep session) (error
"buffer %s doesn't exist or has no process" session)) (set-buffer session) (let
((string-buffer "") dangling-text raw) (flet ((my-filt (text) (setq
string-buffer (concat string-buffer text)))) (add-hook (quote
comint-output-filter-functions) (quote my-filt)) (unwind-protect (progn
(goto-char (process-mark ...)) (let (... ...) (setq dangling-text ...)
(delete-region start end)) (input-body body) (send-wait) (send-wait) (insert
org-babel-python-eoe-indicator) (send-wait) (while (progn ... ...)
(accept-process-output ...)) (goto-char (process-mark ...)) (insert
dangling-text)) (remove-hook (quote comint-output-filter-functions) (quote
my-filt)))) (if (and t body (string-match (replace-regexp-in-string "\n" "[
\n]+" (regexp-quote ...)) string-buffer)) (setq raw (substring string-buffer
(match-end 0)))) (split-string string-buffer comint-prompt-regexp)))
(set-match-data save-match-data-internal (quote evaporate)))
(let ((save-match-data-internal (match-data))) (unwind-protect (progn (unless
(org-babel-comint-buffer-livep session) (error "buffer %s doesn't exist or has
no process" session)) (set-buffer session) (let ((string-buffer "")
dangling-text raw) (flet ((my-filt (text) (setq string-buffer ...))) (add-hook
(quote comint-output-filter-functions) (quote my-filt)) (unwind-protect (progn
(goto-char ...) (let ... ... ...) (input-body body) (send-wait) (send-wait)
(insert org-babel-python-eoe-indicator) (send-wait) (while ... ...) (goto-char
...) (insert dangling-text)) (remove-hook (quote
comint-output-filter-functions) (quote my-filt)))) (if (and t body
(string-match (replace-regexp-in-string "\n" "[
\n]+" ...) string-buffer)) (setq raw (substring string-buffer (match-end 0))))
(split-string string-buffer comint-prompt-regexp))) (set-match-data
save-match-data-internal (quote evaporate))))
(save-match-data (unless (org-babel-comint-buffer-livep session) (error
"buffer %s doesn't exist or has no process" session)) (set-buffer session) (let
((string-buffer "") dangling-text raw) (flet ((my-filt (text) (setq
string-buffer (concat string-buffer text)))) (add-hook (quote
comint-output-filter-functions) (quote my-filt)) (unwind-protect (progn
(goto-char (process-mark (get-buffer-process ...))) (let ((start ...) (end
...)) (setq dangling-text (buffer-substring start end)) (delete-region start
end)) (input-body body) (send-wait) (send-wait) (insert
org-babel-python-eoe-indicator) (send-wait) (while (progn (goto-char
comint-last-input-end) (not ...)) (accept-process-output (get-buffer-process
...))) (goto-char (process-mark (get-buffer-process ...))) (insert
dangling-text)) (remove-hook (quote comint-output-filter-functions) (quote
my-filt)))) (if (and t body (string-match (replace-regexp-in-string "\n" "[
\n]+" (regexp-quote (or body ""))) string-buffer)) (setq raw (substring
string-buffer (match-end 0)))) (split-string string-buffer
comint-prompt-regexp)))
(save-excursion (save-match-data (unless (org-babel-comint-buffer-livep
session) (error "buffer %s doesn't exist or has no process" session))
(set-buffer session) (let ((string-buffer "") dangling-text raw) (flet
((my-filt (text) (setq string-buffer (concat string-buffer text)))) (add-hook
(quote comint-output-filter-functions) (quote my-filt)) (unwind-protect (progn
(goto-char (process-mark ...)) (let (... ...) (setq dangling-text ...)
(delete-region start end)) (input-body body) (send-wait) (send-wait) (insert
org-babel-python-eoe-indicator) (send-wait) (while (progn ... ...)
(accept-process-output ...)) (goto-char (process-mark ...)) (insert
dangling-text)) (remove-hook (quote comint-output-filter-functions) (quote
my-filt)))) (if (and t body (string-match (replace-regexp-in-string "\n" "[
\n]+" (regexp-quote ...)) string-buffer)) (setq raw (substring string-buffer
(match-end 0)))) (split-string string-buffer comint-prompt-regexp))))
(org-babel-comint-in-buffer session (let ((string-buffer "") dangling-text
raw) (flet ((my-filt (text) (setq string-buffer (concat string-buffer text))))
(add-hook (quote comint-output-filter-functions) (quote my-filt))
(unwind-protect (progn (goto-char (process-mark (get-buffer-process ...))) (let
((start ...) (end ...)) (setq dangling-text (buffer-substring start end))
(delete-region start end)) (input-body body) (send-wait) (send-wait) (insert
org-babel-python-eoe-indicator) (send-wait) (while (progn (goto-char
comint-last-input-end) (not ...)) (accept-process-output (get-buffer-process
...))) (goto-char (process-mark (get-buffer-process ...))) (insert
dangling-text)) (remove-hook (quote comint-output-filter-functions) (quote
my-filt)))) (if (and t body (string-match (replace-regexp-in-string "\n" "[
\n]+" (regexp-quote (or body ""))) string-buffer)) (setq raw (substring
string-buffer (match-end 0)))) (split-string string-buffer
comint-prompt-regexp)))
(org-babel-comint-with-output (session org-babel-python-eoe-indicator t body)
(input-body body) (send-wait) (send-wait) (insert
org-babel-python-eoe-indicator) (send-wait))
(butlast (org-babel-comint-with-output (session
org-babel-python-eoe-indicator t body) (input-body body) (send-wait)
(send-wait) (insert org-babel-python-eoe-indicator) (send-wait)) 2)
(mapconcat (function org-babel-trim) (butlast (org-babel-comint-with-output
(session org-babel-python-eoe-indicator t body) (input-body body) (send-wait)
(send-wait) (insert org-babel-python-eoe-indicator) (send-wait)) 2) "\n")
(cond ((eql result-type (quote output)) (mapconcat (function org-babel-trim)
(butlast (org-babel-comint-with-output (session org-babel-python-eoe-indicator
t body) (input-body body) (send-wait) (send-wait) (insert
org-babel-python-eoe-indicator) (send-wait)) 2) "\n")) ((eql result-type (quote
value)) (let ((tmp-file (org-babel-temp-file "python-")))
(org-babel-comint-with-output (session org-babel-python-eoe-indicator nil body)
(let ((comint-process-echoes nil)) (input-body body) (dump-last-value tmp-file
(member "pp" result-params)) (send-wait) (send-wait) (insert
org-babel-python-eoe-indicator) (send-wait))) (org-babel-eval-read-file
tmp-file))))
(case result-type (output (mapconcat (function org-babel-trim) (butlast
(org-babel-comint-with-output (session org-babel-python-eoe-indicator t body)
(input-body body) (send-wait) (send-wait) (insert
org-babel-python-eoe-indicator) (send-wait)) 2) "\n")) (value (let ((tmp-file
(org-babel-temp-file "python-"))) (org-babel-comint-with-output (session
org-babel-python-eoe-indicator nil body) (let ((comint-process-echoes nil))
(input-body body) (dump-last-value tmp-file (member "pp" result-params))
(send-wait) (send-wait) (insert org-babel-python-eoe-indicator) (send-wait)))
(org-babel-eval-read-file tmp-file))))
((lambda (results) (unless (string= (substring org-babel-python-eoe-indicator
1 -1) results) (if (or (member "code" result-params) (member "pp"
result-params) (and (member "output" result-params) (not (member "table"
result-params)))) results (org-babel-python-table-or-string results)))) (case
result-type (output (mapconcat (function org-babel-trim) (butlast
(org-babel-comint-with-output (session org-babel-python-eoe-indicator t body)
(input-body body) (send-wait) (send-wait) (insert
org-babel-python-eoe-indicator) (send-wait)) 2) "\n")) (value (let ((tmp-file
(org-babel-temp-file "python-"))) (org-babel-comint-with-output (session
org-babel-python-eoe-indicator nil body) (let ((comint-process-echoes nil))
(input-body body) (dump-last-value tmp-file (member "pp" result-params))
(send-wait) (send-wait) (insert org-babel-python-eoe-indicator) (send-wait)))
(org-babel-eval-read-file tmp-file)))))
(progn (fset (quote input-body) (function* (lambda (body) (block input-body
(mapc (lambda (line) (insert line) (send-wait)) (split-string body "[
\n]")) (send-wait))))) ((lambda (results) (unless (string= (substring
org-babel-python-eoe-indicator 1 -1) results) (if (or (member "code"
result-params) (member "pp" result-params) (and (member "output" result-params)
(not ...))) results (org-babel-python-table-or-string results)))) (case
result-type (output (mapconcat (function org-babel-trim) (butlast
(org-babel-comint-with-output (session org-babel-python-eoe-indicator t body)
(input-body body) (send-wait) (send-wait) (insert
org-babel-python-eoe-indicator) (send-wait)) 2) "\n")) (value (let ((tmp-file
(org-babel-temp-file "python-"))) (org-babel-comint-with-output (session
org-babel-python-eoe-indicator nil body) (let (...) (input-body body)
(dump-last-value tmp-file ...) (send-wait) (send-wait) (insert
org-babel-python-eoe-indicator) (send-wait))) (org-babel-eval-read-file
tmp-file))))))
(unwind-protect (progn (fset (quote input-body) (function* (lambda (body)
(block input-body (mapc (lambda ... ... ...) (split-string body "[
\n]")) (send-wait))))) ((lambda (results) (unless (string= (substring
org-babel-python-eoe-indicator 1 -1) results) (if (or (member "code"
result-params) (member "pp" result-params) (and ... ...)) results
(org-babel-python-table-or-string results)))) (case result-type (output
(mapconcat (function org-babel-trim) (butlast (org-babel-comint-with-output ...
... ... ... ... ...) 2) "\n")) (value (let ((tmp-file ...))
(org-babel-comint-with-output (session org-babel-python-eoe-indicator nil body)
(let ... ... ... ... ... ... ...)) (org-babel-eval-read-file tmp-file)))))) (if
--cl-letf-bound-- (fset (quote input-body) --cl-letf-save--) (fmakunbound
(quote input-body))))
(let* ((--cl-letf-bound-- (fboundp (quote input-body))) (--cl-letf-save--
(and --cl-letf-bound-- (symbol-function (quote input-body))))) (unwind-protect
(progn (fset (quote input-body) (function* (lambda (body) (block input-body
(mapc ... ...) (send-wait))))) ((lambda (results) (unless (string= (substring
org-babel-python-eoe-indicator 1 -1) results) (if (or ... ... ...) results
(org-babel-python-table-or-string results)))) (case result-type (output
(mapconcat (function org-babel-trim) (butlast ... 2) "\n")) (value (let (...)
(org-babel-comint-with-output ... ...) (org-babel-eval-read-file tmp-file))))))
(if --cl-letf-bound-- (fset (quote input-body) --cl-letf-save--) (fmakunbound
(quote input-body)))))
(letf (((symbol-function (quote input-body)) (function* (lambda (body) (block
input-body (mapc (lambda ... ... ...) (split-string body "[
\n]")) (send-wait)))))) ((lambda (results) (unless (string= (substring
org-babel-python-eoe-indicator 1 -1) results) (if (or (member "code"
result-params) (member "pp" result-params) (and (member "output" result-params)
(not ...))) results (org-babel-python-table-or-string results)))) (case
result-type (output (mapconcat (function org-babel-trim) (butlast
(org-babel-comint-with-output (session org-babel-python-eoe-indicator t body)
(input-body body) (send-wait) (send-wait) (insert
org-babel-python-eoe-indicator) (send-wait)) 2) "\n")) (value (let ((tmp-file
(org-babel-temp-file "python-"))) (org-babel-comint-with-output (session
org-babel-python-eoe-indicator nil body) (let (...) (input-body body)
(dump-last-value tmp-file ...) (send-wait) (send-wait) (insert
org-babel-python-eoe-indicator) (send-wait))) (org-babel-eval-read-file
tmp-file))))))
(progn (fset (quote dump-last-value) (function* (lambda (tmp-file pp) (block
dump-last-value (mapc (lambda (statement) (insert statement) (send-wait)) (if
pp (list "import pprint" ...) (list ...))))))) (letf (((symbol-function (quote
input-body)) (function* (lambda (body) (block input-body (mapc ... ...)
(send-wait)))))) ((lambda (results) (unless (string= (substring
org-babel-python-eoe-indicator 1 -1) results) (if (or (member "code"
result-params) (member "pp" result-params) (and ... ...)) results
(org-babel-python-table-or-string results)))) (case result-type (output
(mapconcat (function org-babel-trim) (butlast (org-babel-comint-with-output ...
... ... ... ... ...) 2) "\n")) (value (let ((tmp-file ...))
(org-babel-comint-with-output (session org-babel-python-eoe-indicator nil body)
(let ... ... ... ... ... ... ...)) (org-babel-eval-read-file tmp-file)))))))
(unwind-protect (progn (fset (quote dump-last-value) (function* (lambda
(tmp-file pp) (block dump-last-value (mapc (lambda ... ... ...) (if pp ...
...)))))) (letf (((symbol-function (quote input-body)) (function* (lambda
(body) (block input-body ... ...))))) ((lambda (results) (unless (string=
(substring org-babel-python-eoe-indicator 1 -1) results) (if (or ... ... ...)
results (org-babel-python-table-or-string results)))) (case result-type (output
(mapconcat (function org-babel-trim) (butlast ... 2) "\n")) (value (let (...)
(org-babel-comint-with-output ... ...) (org-babel-eval-read-file
tmp-file))))))) (if --cl-letf-bound-- (fset (quote dump-last-value)
--cl-letf-save--) (fmakunbound (quote dump-last-value))))
(let* ((--cl-letf-bound-- (fboundp (quote dump-last-value)))
(--cl-letf-save-- (and --cl-letf-bound-- (symbol-function (quote
dump-last-value))))) (unwind-protect (progn (fset (quote dump-last-value)
(function* (lambda (tmp-file pp) (block dump-last-value (mapc ... ...)))))
(letf (((symbol-function (quote input-body)) (function* (lambda ... ...))))
((lambda (results) (unless (string= ... results) (if ... results ...))) (case
result-type (output (mapconcat ... ... "\n")) (value (let ... ... ...)))))) (if
--cl-letf-bound-- (fset (quote dump-last-value) --cl-letf-save--) (fmakunbound
(quote dump-last-value)))))
(letf (((symbol-function (quote dump-last-value)) (function* (lambda
(tmp-file pp) (block dump-last-value (mapc (lambda ... ... ...) (if pp ...
...))))))) (letf (((symbol-function (quote input-body)) (function* (lambda
(body) (block input-body (mapc ... ...) (send-wait)))))) ((lambda (results)
(unless (string= (substring org-babel-python-eoe-indicator 1 -1) results) (if
(or (member "code" result-params) (member "pp" result-params) (and ... ...))
results (org-babel-python-table-or-string results)))) (case result-type (output
(mapconcat (function org-babel-trim) (butlast (org-babel-comint-with-output ...
... ... ... ... ...) 2) "\n")) (value (let ((tmp-file ...))
(org-babel-comint-with-output (session org-babel-python-eoe-indicator nil body)
(let ... ... ... ... ... ... ...)) (org-babel-eval-read-file tmp-file)))))))
(progn (fset (quote send-wait) (function* (lambda nil (block send-wait
(comint-send-input nil t) (sleep-for 0 5))))) (letf (((symbol-function (quote
dump-last-value)) (function* (lambda (tmp-file pp) (block dump-last-value (mapc
... ...)))))) (letf (((symbol-function (quote input-body)) (function* (lambda
(body) (block input-body ... ...))))) ((lambda (results) (unless (string=
(substring org-babel-python-eoe-indicator 1 -1) results) (if (or ... ... ...)
results (org-babel-python-table-or-string results)))) (case result-type (output
(mapconcat (function org-babel-trim) (butlast ... 2) "\n")) (value (let (...)
(org-babel-comint-with-output ... ...) (org-babel-eval-read-file
tmp-file))))))))
(unwind-protect (progn (fset (quote send-wait) (function* (lambda nil (block
send-wait (comint-send-input nil t) (sleep-for 0 5))))) (letf
(((symbol-function (quote dump-last-value)) (function* (lambda (tmp-file pp)
(block dump-last-value ...))))) (letf (((symbol-function (quote input-body))
(function* (lambda ... ...)))) ((lambda (results) (unless (string= ... results)
(if ... results ...))) (case result-type (output (mapconcat ... ... "\n"))
(value (let ... ... ...))))))) (if --cl-letf-bound-- (fset (quote send-wait)
--cl-letf-save--) (fmakunbound (quote send-wait))))
(let* ((--cl-letf-bound-- (fboundp (quote send-wait))) (--cl-letf-save-- (and
--cl-letf-bound-- (symbol-function (quote send-wait))))) (unwind-protect (progn
(fset (quote send-wait) (function* (lambda nil (block send-wait
(comint-send-input nil t) (sleep-for 0 5))))) (letf (((symbol-function (quote
dump-last-value)) (function* (lambda ... ...)))) (letf (((symbol-function ...)
(function* ...))) ((lambda (results) (unless ... ...)) (case result-type
(output ...) (value ...)))))) (if --cl-letf-bound-- (fset (quote send-wait)
--cl-letf-save--) (fmakunbound (quote send-wait)))))
(letf (((symbol-function (quote send-wait)) (function* (lambda nil (block
send-wait (comint-send-input nil t) (sleep-for 0 5)))))) (letf
(((symbol-function (quote dump-last-value)) (function* (lambda (tmp-file pp)
(block dump-last-value (mapc ... ...)))))) (letf (((symbol-function (quote
input-body)) (function* (lambda (body) (block input-body ... ...))))) ((lambda
(results) (unless (string= (substring org-babel-python-eoe-indicator 1 -1)
results) (if (or ... ... ...) results (org-babel-python-table-or-string
results)))) (case result-type (output (mapconcat (function org-babel-trim)
(butlast ... 2) "\n")) (value (let (...) (org-babel-comint-with-output ... ...)
(org-babel-eval-read-file tmp-file))))))))
(letf* (((symbol-function (quote send-wait)) (function* (lambda nil (block
send-wait (comint-send-input nil t) (sleep-for 0 5))))) ((symbol-function
(quote dump-last-value)) (function* (lambda (tmp-file pp) (block
dump-last-value (mapc (lambda ... ... ...) (if pp ... ...))))))
((symbol-function (quote input-body)) (function* (lambda (body) (block
input-body (mapc (lambda ... ... ...) (split-string body "[
\n]")) (send-wait)))))) ((lambda (results) (unless (string= (substring
org-babel-python-eoe-indicator 1 -1) results) (if (or (member "code"
result-params) (member "pp" result-params) (and (member "output" result-params)
(not ...))) results (org-babel-python-table-or-string results)))) (case
result-type (output (mapconcat (function org-babel-trim) (butlast
(org-babel-comint-with-output (session org-babel-python-eoe-indicator t body)
(input-body body) (send-wait) (send-wait) (insert
org-babel-python-eoe-indicator) (send-wait)) 2) "\n")) (value (let ((tmp-file
(org-babel-temp-file "python-"))) (org-babel-comint-with-output (session
org-babel-python-eoe-indicator nil body) (let (...) (input-body body)
(dump-last-value tmp-file ...) (send-wait) (send-wait) (insert
org-babel-python-eoe-indicator) (send-wait))) (org-babel-eval-read-file
tmp-file))))))
(flet ((send-wait nil (comint-send-input nil t) (sleep-for 0 5))
(dump-last-value (tmp-file pp) (mapc (lambda (statement) (insert statement)
(send-wait)) (if pp (list "import pprint" (format "open('%s',
'w').write(pprint.pformat(_))" (org-babel-process-file-name tmp-file ...)))
(list (format "open('%s', 'w').write(str(_))" (org-babel-process-file-name
tmp-file ...)))))) (input-body (body) (mapc (lambda (line) (insert line)
(send-wait)) (split-string body "[
\n]")) (send-wait))) ((lambda (results) (unless (string= (substring
org-babel-python-eoe-indicator 1 -1) results) (if (or (member "code"
result-params) (member "pp" result-params) (and (member "output" result-params)
(not ...))) results (org-babel-python-table-or-string results)))) (case
result-type (output (mapconcat (function org-babel-trim) (butlast
(org-babel-comint-with-output (session org-babel-python-eoe-indicator t body)
(input-body body) (send-wait) (send-wait) (insert
org-babel-python-eoe-indicator) (send-wait)) 2) "\n")) (value (let ((tmp-file
(org-babel-temp-file "python-"))) (org-babel-comint-with-output (session
org-babel-python-eoe-indicator nil body) (let (...) (input-body body)
(dump-last-value tmp-file ...) (send-wait) (send-wait) (insert
org-babel-python-eoe-indicator) (send-wait))) (org-babel-eval-read-file
tmp-file))))))
org-babel-python-evaluate-session(#<buffer *Python*> "print \"%d + %d = %d\"
% (2, 3, 2+3)\n2**5" output ("output" "replace"))
(if session (org-babel-python-evaluate-session session body result-type
result-params) (org-babel-python-evaluate-external-process body result-type
result-params preamble))
org-babel-python-evaluate(#<buffer *Python*> "print \"%d + %d = %d\" % (2, 3,
2+3)\n2**5" output ("output" "replace") nil)
(let* ((session (org-babel-python-initiate-session (cdr (assoc :session
params)))) (result-params (cdr (assoc :result-params params))) (result-type
(cdr (assoc :result-type params))) (return-val (when (and (eq result-type
(quote value)) (not session)) (cdr (assoc :return params)))) (preamble (cdr
(assoc :preamble params))) (full-body (org-babel-expand-body:generic (concat
body (if return-val (format "return %s" return-val) "")) params
(org-babel-variable-assignments:python params))) (result
(org-babel-python-evaluate session full-body result-type result-params
preamble))) (org-babel-reassemble-table result (org-babel-pick-name (cdr (assoc
:colname-names params)) (cdr (assoc :colnames params))) (org-babel-pick-name
(cdr (assoc :rowname-names params)) (cdr (assoc :rownames params)))))
org-babel-execute:python("print \"%d + %d = %d\" % (2, 3, 2+3)\n2**5"
((:comments . "") (:shebang . "") (:cache . "no") (:padline . "") (:noweb .
"no") (:tangle . "no") (:exports . "code") (:results . "replace output")
(:hlines . "no") (:padnewline . "yes") (:session) (:result-type . output)
(:result-params "output" "replace") (:rowname-names) (:colname-names)))
funcall(org-babel-execute:python "print \"%d + %d = %d\" % (2, 3, 2+3)\n2**5"
((:comments . "") (:shebang . "") (:cache . "no") (:padline . "") (:noweb .
"no") (:tangle . "no") (:exports . "code") (:results . "replace output")
(:hlines . "no") (:padnewline . "yes") (:session) (:result-type . output)
(:result-params "output" "replace") (:rowname-names) (:colname-names)))
((lambda (result) (if (and (eq (cdr (assoc :result-type params)) (quote
value)) (or (member "vector" result-params) (member "table" result-params))
(not (listp result))) (list (list result)) result)) (funcall cmd body params))
(setq result ((lambda (result) (if (and (eq (cdr (assoc :result-type params))
(quote value)) (or (member "vector" result-params) (member "table"
result-params)) (not (listp result))) (list (list result)) result)) (funcall
cmd body params)))
(if (and (not arg) new-hash (equal new-hash old-hash)) (save-excursion
(goto-char (org-babel-where-is-src-block-result nil info)) (end-of-line 1)
(forward-char 1) (setq result (org-babel-read-result)) (message
(replace-regexp-in-string "%" "%%" (format "%S" result))) result) (message
"executing %s code block%s..." (capitalize lang) (if (nth 4 info) (format "
(%s)" (nth 4 info)) "")) (setq result ((lambda (result) (if (and (eq (cdr ...)
(quote value)) (or (member "vector" result-params) (member "table"
result-params)) (not (listp result))) (list (list result)) result)) (funcall
cmd body params))) (when (cdr (assoc :file params)) (when result
(with-temp-file (cdr (assoc :file params)) (insert (org-babel-format-result
result (cdr (assoc :sep ...)))))) (setq result (cdr (assoc :file params))))
(org-babel-insert-result result result-params info new-hash indent lang)
(run-hooks (quote org-babel-after-execute-hook)) result)
(progn (fset (quote call-process-region) (function* (lambda (&rest args)
(block call-process-region (apply (quote
org-babel-tramp-handle-call-process-region) args))))) (flet ((lang-check (f)
(let ((f (intern ...))) (when (fboundp f) f)))) (setq cmd (or (lang-check lang)
(lang-check (symbol-name (cdr (assoc lang org-src-lang-modes)))) (error "No
org-babel-execute function for %s!" lang)))) (if (and (not arg) new-hash (equal
new-hash old-hash)) (save-excursion (goto-char
(org-babel-where-is-src-block-result nil info)) (end-of-line 1) (forward-char
1) (setq result (org-babel-read-result)) (message (replace-regexp-in-string "%"
"%%" (format "%S" result))) result) (message "executing %s code block%s..."
(capitalize lang) (if (nth 4 info) (format " (%s)" (nth 4 info)) "")) (setq
result ((lambda (result) (if (and (eq ... ...) (or ... ...) (not ...)) (list
(list result)) result)) (funcall cmd body params))) (when (cdr (assoc :file
params)) (when result (with-temp-file (cdr (assoc :file params)) (insert
(org-babel-format-result result (cdr ...))))) (setq result (cdr (assoc :file
params)))) (org-babel-insert-result result result-params info new-hash indent
lang) (run-hooks (quote org-babel-after-execute-hook)) result))
(unwind-protect (progn (fset (quote call-process-region) (function* (lambda
(&rest args) (block call-process-region (apply (quote
org-babel-tramp-handle-call-process-region) args))))) (flet ((lang-check (f)
(let ((f ...)) (when (fboundp f) f)))) (setq cmd (or (lang-check lang)
(lang-check (symbol-name (cdr ...))) (error "No org-babel-execute function for
%s!" lang)))) (if (and (not arg) new-hash (equal new-hash old-hash))
(save-excursion (goto-char (org-babel-where-is-src-block-result nil info))
(end-of-line 1) (forward-char 1) (setq result (org-babel-read-result)) (message
(replace-regexp-in-string "%" "%%" (format "%S" result))) result) (message
"executing %s code block%s..." (capitalize lang) (if (nth 4 info) (format "
(%s)" (nth 4 info)) "")) (setq result ((lambda (result) (if (and ... ... ...)
(list ...) result)) (funcall cmd body params))) (when (cdr (assoc :file
params)) (when result (with-temp-file (cdr (assoc :file params)) (insert
(org-babel-format-result result ...)))) (setq result (cdr (assoc :file
params)))) (org-babel-insert-result result result-params info new-hash indent
lang) (run-hooks (quote org-babel-after-execute-hook)) result)) (if
--cl-letf-bound-- (fset (quote call-process-region) --cl-letf-save--)
(fmakunbound (quote call-process-region))))
(let* ((--cl-letf-bound-- (fboundp (quote call-process-region)))
(--cl-letf-save-- (and --cl-letf-bound-- (symbol-function (quote
call-process-region))))) (unwind-protect (progn (fset (quote
call-process-region) (function* (lambda (&rest args) (block call-process-region
(apply ... args))))) (flet ((lang-check (f) (let (...) (when ... f)))) (setq
cmd (or (lang-check lang) (lang-check (symbol-name ...)) (error "No
org-babel-execute function for %s!" lang)))) (if (and (not arg) new-hash (equal
new-hash old-hash)) (save-excursion (goto-char
(org-babel-where-is-src-block-result nil info)) (end-of-line 1) (forward-char
1) (setq result (org-babel-read-result)) (message (replace-regexp-in-string "%"
"%%" (format "%S" result))) result) (message "executing %s code block%s..."
(capitalize lang) (if (nth 4 info) (format " (%s)" (nth 4 info)) "")) (setq
result ((lambda (result) (if ... ... result)) (funcall cmd body params))) (when
(cdr (assoc :file params)) (when result (with-temp-file (cdr ...) (insert
...))) (setq result (cdr (assoc :file params)))) (org-babel-insert-result
result result-params info new-hash indent lang) (run-hooks (quote
org-babel-after-execute-hook)) result)) (if --cl-letf-bound-- (fset (quote
call-process-region) --cl-letf-save--) (fmakunbound (quote
call-process-region)))))
(letf (((symbol-function (quote call-process-region)) (function* (lambda
(&rest args) (block call-process-region (apply (quote
org-babel-tramp-handle-call-process-region) args)))))) (flet ((lang-check (f)
(let ((f (intern ...))) (when (fboundp f) f)))) (setq cmd (or (lang-check lang)
(lang-check (symbol-name (cdr (assoc lang org-src-lang-modes)))) (error "No
org-babel-execute function for %s!" lang)))) (if (and (not arg) new-hash (equal
new-hash old-hash)) (save-excursion (goto-char
(org-babel-where-is-src-block-result nil info)) (end-of-line 1) (forward-char
1) (setq result (org-babel-read-result)) (message (replace-regexp-in-string "%"
"%%" (format "%S" result))) result) (message "executing %s code block%s..."
(capitalize lang) (if (nth 4 info) (format " (%s)" (nth 4 info)) "")) (setq
result ((lambda (result) (if (and (eq ... ...) (or ... ...) (not ...)) (list
(list result)) result)) (funcall cmd body params))) (when (cdr (assoc :file
params)) (when result (with-temp-file (cdr (assoc :file params)) (insert
(org-babel-format-result result (cdr ...))))) (setq result (cdr (assoc :file
params)))) (org-babel-insert-result result result-params info new-hash indent
lang) (run-hooks (quote org-babel-after-execute-hook)) result))
(letf* (((symbol-function (quote call-process-region)) (function* (lambda
(&rest args) (block call-process-region (apply (quote
org-babel-tramp-handle-call-process-region) args)))))) (flet ((lang-check (f)
(let ((f (intern ...))) (when (fboundp f) f)))) (setq cmd (or (lang-check lang)
(lang-check (symbol-name (cdr (assoc lang org-src-lang-modes)))) (error "No
org-babel-execute function for %s!" lang)))) (if (and (not arg) new-hash (equal
new-hash old-hash)) (save-excursion (goto-char
(org-babel-where-is-src-block-result nil info)) (end-of-line 1) (forward-char
1) (setq result (org-babel-read-result)) (message (replace-regexp-in-string "%"
"%%" (format "%S" result))) result) (message "executing %s code block%s..."
(capitalize lang) (if (nth 4 info) (format " (%s)" (nth 4 info)) "")) (setq
result ((lambda (result) (if (and (eq ... ...) (or ... ...) (not ...)) (list
(list result)) result)) (funcall cmd body params))) (when (cdr (assoc :file
params)) (when result (with-temp-file (cdr (assoc :file params)) (insert
(org-babel-format-result result (cdr ...))))) (setq result (cdr (assoc :file
params)))) (org-babel-insert-result result result-params info new-hash indent
lang) (run-hooks (quote org-babel-after-execute-hook)) result))
(flet ((call-process-region (&rest args) (apply (quote
org-babel-tramp-handle-call-process-region) args))) (flet ((lang-check (f) (let
((f (intern ...))) (when (fboundp f) f)))) (setq cmd (or (lang-check lang)
(lang-check (symbol-name (cdr (assoc lang org-src-lang-modes)))) (error "No
org-babel-execute function for %s!" lang)))) (if (and (not arg) new-hash (equal
new-hash old-hash)) (save-excursion (goto-char
(org-babel-where-is-src-block-result nil info)) (end-of-line 1) (forward-char
1) (setq result (org-babel-read-result)) (message (replace-regexp-in-string "%"
"%%" (format "%S" result))) result) (message "executing %s code block%s..."
(capitalize lang) (if (nth 4 info) (format " (%s)" (nth 4 info)) "")) (setq
result ((lambda (result) (if (and (eq ... ...) (or ... ...) (not ...)) (list
(list result)) result)) (funcall cmd body params))) (when (cdr (assoc :file
params)) (when result (with-temp-file (cdr (assoc :file params)) (insert
(org-babel-format-result result (cdr ...))))) (setq result (cdr (assoc :file
params)))) (org-babel-insert-result result result-params info new-hash indent
lang) (run-hooks (quote org-babel-after-execute-hook)) result))
(unwind-protect (flet ((call-process-region (&rest args) (apply (quote
org-babel-tramp-handle-call-process-region) args))) (flet ((lang-check (f) (let
((f ...)) (when (fboundp f) f)))) (setq cmd (or (lang-check lang) (lang-check
(symbol-name (cdr ...))) (error "No org-babel-execute function for %s!"
lang)))) (if (and (not arg) new-hash (equal new-hash old-hash)) (save-excursion
(goto-char (org-babel-where-is-src-block-result nil info)) (end-of-line 1)
(forward-char 1) (setq result (org-babel-read-result)) (message
(replace-regexp-in-string "%" "%%" (format "%S" result))) result) (message
"executing %s code block%s..." (capitalize lang) (if (nth 4 info) (format "
(%s)" (nth 4 info)) "")) (setq result ((lambda (result) (if (and ... ... ...)
(list ...) result)) (funcall cmd body params))) (when (cdr (assoc :file
params)) (when result (with-temp-file (cdr (assoc :file params)) (insert
(org-babel-format-result result ...)))) (setq result (cdr (assoc :file
params)))) (org-babel-insert-result result result-params info new-hash indent
lang) (run-hooks (quote org-babel-after-execute-hook)) result)) (setq
call-process-region (quote org-babel-call-process-region-original)))
(let* ((lang (nth 0 info)) (params (if params (org-babel-process-params
(org-babel-merge-params (nth 2 info) params)) (nth 2 info))) (cache\? (and (not
arg) (cdr (assoc :cache params)) (string= "yes" (cdr (assoc :cache params)))))
(result-params (cdr (assoc :result-params params))) (new-hash (when cache\?
(org-babel-sha1-hash info))) (old-hash (when cache\?
(org-babel-current-result-hash))) (body (setf (nth 1 info) (if
(org-babel-noweb-p params :eval) (org-babel-expand-noweb-references info) (nth
1 info)))) (dir (cdr (assoc :dir params))) (default-directory (or (and dir
(file-name-as-directory dir)) default-directory))
(org-babel-call-process-region-original (if (boundp (quote
org-babel-call-process-region-original)) org-babel-call-process-region-original
(symbol-function (quote call-process-region)))) (indent (car (last info)))
result cmd) (unwind-protect (flet ((call-process-region (&rest args) (apply
(quote org-babel-tramp-handle-call-process-region) args))) (flet ((lang-check
(f) (let (...) (when ... f)))) (setq cmd (or (lang-check lang) (lang-check
(symbol-name ...)) (error "No org-babel-execute function for %s!" lang)))) (if
(and (not arg) new-hash (equal new-hash old-hash)) (save-excursion (goto-char
(org-babel-where-is-src-block-result nil info)) (end-of-line 1) (forward-char
1) (setq result (org-babel-read-result)) (message (replace-regexp-in-string "%"
"%%" (format "%S" result))) result) (message "executing %s code block%s..."
(capitalize lang) (if (nth 4 info) (format " (%s)" (nth 4 info)) "")) (setq
result ((lambda (result) (if ... ... result)) (funcall cmd body params))) (when
(cdr (assoc :file params)) (when result (with-temp-file (cdr ...) (insert
...))) (setq result (cdr (assoc :file params)))) (org-babel-insert-result
result result-params info new-hash indent lang) (run-hooks (quote
org-babel-after-execute-hook)) result)) (setq call-process-region (quote
org-babel-call-process-region-original))))
(progn (let* ((lang (nth 0 info)) (params (if params
(org-babel-process-params (org-babel-merge-params (nth 2 info) params)) (nth 2
info))) (cache\? (and (not arg) (cdr (assoc :cache params)) (string= "yes" (cdr
(assoc :cache params))))) (result-params (cdr (assoc :result-params params)))
(new-hash (when cache\? (org-babel-sha1-hash info))) (old-hash (when cache\?
(org-babel-current-result-hash))) (body (setf (nth 1 info) (if
(org-babel-noweb-p params :eval) (org-babel-expand-noweb-references info) (nth
1 info)))) (dir (cdr (assoc :dir params))) (default-directory (or (and dir
(file-name-as-directory dir)) default-directory))
(org-babel-call-process-region-original (if (boundp (quote
org-babel-call-process-region-original)) org-babel-call-process-region-original
(symbol-function (quote call-process-region)))) (indent (car (last info)))
result cmd) (unwind-protect (flet ((call-process-region (&rest args) (apply
(quote org-babel-tramp-handle-call-process-region) args))) (flet ((lang-check
(f) (let ... ...))) (setq cmd (or (lang-check lang) (lang-check ...) (error "No
org-babel-execute function for %s!" lang)))) (if (and (not arg) new-hash (equal
new-hash old-hash)) (save-excursion (goto-char
(org-babel-where-is-src-block-result nil info)) (end-of-line 1) (forward-char
1) (setq result (org-babel-read-result)) (message (replace-regexp-in-string "%"
"%%" ...)) result) (message "executing %s code block%s..." (capitalize lang)
(if (nth 4 info) (format " (%s)" ...) "")) (setq result ((lambda ... ...)
(funcall cmd body params))) (when (cdr (assoc :file params)) (when result
(with-temp-file ... ...)) (setq result (cdr ...))) (org-babel-insert-result
result result-params info new-hash indent lang) (run-hooks (quote
org-babel-after-execute-hook)) result)) (setq call-process-region (quote
org-babel-call-process-region-original)))))
(if (org-babel-confirm-evaluate (let ((i info)) (setf (nth 2 i)
(org-babel-merge-params (nth 2 info) params)) i)) (progn (let* ((lang (nth 0
info)) (params (if params (org-babel-process-params (org-babel-merge-params ...
params)) (nth 2 info))) (cache\? (and (not arg) (cdr (assoc :cache params))
(string= "yes" (cdr ...)))) (result-params (cdr (assoc :result-params params)))
(new-hash (when cache\? (org-babel-sha1-hash info))) (old-hash (when cache\?
(org-babel-current-result-hash))) (body (setf (nth 1 info) (if
(org-babel-noweb-p params :eval) (org-babel-expand-noweb-references info) (nth
1 info)))) (dir (cdr (assoc :dir params))) (default-directory (or (and dir
(file-name-as-directory dir)) default-directory))
(org-babel-call-process-region-original (if (boundp (quote
org-babel-call-process-region-original)) org-babel-call-process-region-original
(symbol-function (quote call-process-region)))) (indent (car (last info)))
result cmd) (unwind-protect (flet ((call-process-region (&rest args) (apply ...
args))) (flet ((lang-check ... ...)) (setq cmd (or ... ... ...))) (if (and (not
arg) new-hash (equal new-hash old-hash)) (save-excursion (goto-char ...)
(end-of-line 1) (forward-char 1) (setq result ...) (message ...) result)
(message "executing %s code block%s..." (capitalize lang) (if ... ... ""))
(setq result (... ...)) (when (cdr ...) (when result ...) (setq result ...))
(org-babel-insert-result result result-params info new-hash indent lang)
(run-hooks (quote org-babel-after-execute-hook)) result)) (setq
call-process-region (quote org-babel-call-process-region-original))))))
(when (org-babel-confirm-evaluate (let ((i info)) (setf (nth 2 i)
(org-babel-merge-params (nth 2 info) params)) i)) (let* ((lang (nth 0 info))
(params (if params (org-babel-process-params (org-babel-merge-params (nth 2
info) params)) (nth 2 info))) (cache\? (and (not arg) (cdr (assoc :cache
params)) (string= "yes" (cdr (assoc :cache params))))) (result-params (cdr
(assoc :result-params params))) (new-hash (when cache\? (org-babel-sha1-hash
info))) (old-hash (when cache\? (org-babel-current-result-hash))) (body (setf
(nth 1 info) (if (org-babel-noweb-p params :eval)
(org-babel-expand-noweb-references info) (nth 1 info)))) (dir (cdr (assoc :dir
params))) (default-directory (or (and dir (file-name-as-directory dir))
default-directory)) (org-babel-call-process-region-original (if (boundp (quote
org-babel-call-process-region-original)) org-babel-call-process-region-original
(symbol-function (quote call-process-region)))) (indent (car (last info)))
result cmd) (unwind-protect (flet ((call-process-region (&rest args) (apply
(quote org-babel-tramp-handle-call-process-region) args))) (flet ((lang-check
(f) (let ... ...))) (setq cmd (or (lang-check lang) (lang-check ...) (error "No
org-babel-execute function for %s!" lang)))) (if (and (not arg) new-hash (equal
new-hash old-hash)) (save-excursion (goto-char
(org-babel-where-is-src-block-result nil info)) (end-of-line 1) (forward-char
1) (setq result (org-babel-read-result)) (message (replace-regexp-in-string "%"
"%%" ...)) result) (message "executing %s code block%s..." (capitalize lang)
(if (nth 4 info) (format " (%s)" ...) "")) (setq result ((lambda ... ...)
(funcall cmd body params))) (when (cdr (assoc :file params)) (when result
(with-temp-file ... ...)) (setq result (cdr ...))) (org-babel-insert-result
result result-params info new-hash indent lang) (run-hooks (quote
org-babel-after-execute-hook)) result)) (setq call-process-region (quote
org-babel-call-process-region-original)))))
(let ((info (or info (org-babel-get-src-block-info)))) (when
(org-babel-confirm-evaluate (let ((i info)) (setf (nth 2 i)
(org-babel-merge-params (nth 2 info) params)) i)) (let* ((lang (nth 0 info))
(params (if params (org-babel-process-params (org-babel-merge-params ...
params)) (nth 2 info))) (cache\? (and (not arg) (cdr (assoc :cache params))
(string= "yes" (cdr ...)))) (result-params (cdr (assoc :result-params params)))
(new-hash (when cache\? (org-babel-sha1-hash info))) (old-hash (when cache\?
(org-babel-current-result-hash))) (body (setf (nth 1 info) (if
(org-babel-noweb-p params :eval) (org-babel-expand-noweb-references info) (nth
1 info)))) (dir (cdr (assoc :dir params))) (default-directory (or (and dir
(file-name-as-directory dir)) default-directory))
(org-babel-call-process-region-original (if (boundp (quote
org-babel-call-process-region-original)) org-babel-call-process-region-original
(symbol-function (quote call-process-region)))) (indent (car (last info)))
result cmd) (unwind-protect (flet ((call-process-region (&rest args) (apply ...
args))) (flet ((lang-check ... ...)) (setq cmd (or ... ... ...))) (if (and (not
arg) new-hash (equal new-hash old-hash)) (save-excursion (goto-char ...)
(end-of-line 1) (forward-char 1) (setq result ...) (message ...) result)
(message "executing %s code block%s..." (capitalize lang) (if ... ... ""))
(setq result (... ...)) (when (cdr ...) (when result ...) (setq result ...))
(org-babel-insert-result result result-params info new-hash indent lang)
(run-hooks (quote org-babel-after-execute-hook)) result)) (setq
call-process-region (quote org-babel-call-process-region-original))))))
org-babel-execute-src-block(nil ("python" "print \"%d + %d = %d\" % (2, 3,
2+3)\n2**5" ((:comments . "") (:shebang . "") (:cache . "no") (:padline . "")
(:noweb . "no") (:tangle . "no") (:exports . "code") (:results . "replace
output") (:hlines . "no") (:padnewline . "yes") (:session) (:result-type .
output) (:result-params "output" "replace") (:rowname-names) (:colname-names))
"" nil 0))
(progn (org-babel-eval-wipe-error-buffer) (org-babel-execute-src-block
current-prefix-arg info) t)
(if info (progn (org-babel-eval-wipe-error-buffer)
(org-babel-execute-src-block current-prefix-arg info) t) nil)
(let ((info (org-babel-get-src-block-info))) (if info (progn
(org-babel-eval-wipe-error-buffer) (org-babel-execute-src-block
current-prefix-arg info) t) nil))
org-babel-execute-src-block-maybe()
(or (org-babel-execute-src-block-maybe) (org-babel-lob-execute-maybe))
org-babel-execute-maybe()
(if org-babel-no-eval-on-ctrl-c-ctrl-c nil (org-babel-execute-maybe))
(unless org-babel-no-eval-on-ctrl-c-ctrl-c (org-babel-execute-maybe))
org-babel-execute-safely-maybe()
run-hook-with-args-until-success(org-babel-execute-safely-maybe)
(cond ((or (and (boundp (quote org-clock-overlays)) org-clock-overlays)
org-occur-highlights org-latex-fragment-image-overlays) (and (boundp (quote
org-clock-overlays)) (org-clock-remove-overlays)) (org-remove-occur-highlights)
(org-remove-latex-fragment-image-overlays) (message "Temporary
highlights/overlays removed from current buffer")) ((and (local-variable-p
(quote org-finish-function) (current-buffer)) (fboundp org-finish-function))
(funcall org-finish-function)) ((run-hook-with-args-until-success (quote
org-ctrl-c-ctrl-c-hook))) ((org-in-regexp org-ts-regexp-both)
(org-timestamp-change 0 (quote day))) ((or (looking-at org-property-start-re)
(org-at-property-p)) (call-interactively (quote org-property-action)))
((org-at-target-p) (call-interactively (quote org-update-radio-target-regexp)))
((and (org-in-regexp "\\[\\([0-9]*%\\|[0-9]*/[0-9]*\\)\\]") (or
(org-at-heading-p) (org-at-item-p))) (call-interactively (quote
org-update-statistics-cookies))) ((org-at-heading-p) (call-interactively (quote
org-set-tags))) ((org-at-table\.el-p) (message "Use C-c ' to edit table.el
tables")) ((org-at-table-p) (org-table-maybe-eval-formula) (if arg
(call-interactively (quote org-table-recalculate))
(org-table-maybe-recalculate-line)) (call-interactively (quote
org-table-align)) (orgtbl-send-table (quote maybe))) ((or
(org-footnote-at-reference-p) (org-footnote-at-definition-p))
(call-interactively (quote org-footnote-action))) ((org-at-item-checkbox-p)
(let* ((cbox (match-string 1)) (struct (org-list-struct)) (old-struct
(copy-tree struct)) (parents (org-list-parents-alist struct)) (orderedp
(org-entry-get nil "ORDERED")) (firstp (= (org-list-get-top-point struct)
(point-at-bol))) block-item) (let ((new-box (cond (... "[-]") (... nil) (... "[
]") (t "[X]")))) (if (and firstp arg) (mapc (lambda (pos)
(org-list-set-checkbox pos struct new-box)) (org-list-get-all-items
(point-at-bol) struct (org-list-prevs-alist struct))) (org-list-set-checkbox
(point-at-bol) struct new-box))) (org-list-struct-fix-ind struct parents 2)
(org-list-struct-fix-item-end struct) (let ((prevs (org-list-prevs-alist
struct))) (org-list-struct-fix-bul struct prevs) (org-list-struct-fix-ind
struct parents) (setq block-item (org-list-struct-fix-box struct parents prevs
orderedp))) (org-list-struct-apply-struct struct old-struct)
(org-update-checkbox-count-maybe) (when block-item (message "Checkboxes were
removed due to unchecked box at line %d" (org-current-line block-item))) (when
firstp (org-list-send-list (quote maybe))))) ((org-at-item-p) (let* ((struct
(org-list-struct)) (firstp (= (org-list-get-top-point struct) (point-at-bol)))
old-struct) (when arg (setq old-struct (copy-tree struct)) (if firstp (mapc
(lambda (pos) (unless ... ...)) (org-list-get-all-items (point-at-bol) struct
(org-list-prevs-alist struct))) (org-list-set-checkbox (point-at-bol) struct "[
]"))) (org-list-write-struct struct (org-list-parents-alist struct) old-struct)
(when arg (org-update-checkbox-count-maybe)) (when firstp (org-list-send-list
(quote maybe))))) ((save-excursion (beginning-of-line 1) (looking-at
org-dblock-start-re)) (beginning-of-line 1) (save-excursion
(org-update-dblock))) ((save-excursion (beginning-of-line 1) (looking-at "[
]*#\\+\\([A-Z]+\\)")) (cond ((equal (match-string 1) "TBLFM")
(save-excursion (beginning-of-line 1) (skip-chars-backward "
\n ") (if (org-at-table-p) (org-call-with-arg (quote
org-table-recalculate) (or arg t))))) (t (let
((org-inhibit-startup-visibility-stuff t) (org-startup-align-all-tables nil))
(when (boundp (quote org-table-coordinate-overlays)) (mapc (quote
delete-overlay) org-table-coordinate-overlays) (setq
org-table-coordinate-overlays nil)) (org-save-outline-visibility (quote
use-markers) (org-mode-restart))) (message "Local setup has been refreshed"))))
((org-clock-update-time-maybe)) (t (or (run-hook-with-args-until-success (quote
org-ctrl-c-ctrl-c-final-hook)) (error "C-c C-c can do nothing useful at this
location"))))
(let ((org-enable-table-editor t)) (cond ((or (and (boundp (quote
org-clock-overlays)) org-clock-overlays) org-occur-highlights
org-latex-fragment-image-overlays) (and (boundp (quote org-clock-overlays))
(org-clock-remove-overlays)) (org-remove-occur-highlights)
(org-remove-latex-fragment-image-overlays) (message "Temporary
highlights/overlays removed from current buffer")) ((and (local-variable-p
(quote org-finish-function) (current-buffer)) (fboundp org-finish-function))
(funcall org-finish-function)) ((run-hook-with-args-until-success (quote
org-ctrl-c-ctrl-c-hook))) ((org-in-regexp org-ts-regexp-both)
(org-timestamp-change 0 (quote day))) ((or (looking-at org-property-start-re)
(org-at-property-p)) (call-interactively (quote org-property-action)))
((org-at-target-p) (call-interactively (quote org-update-radio-target-regexp)))
((and (org-in-regexp "\\[\\([0-9]*%\\|[0-9]*/[0-9]*\\)\\]") (or
(org-at-heading-p) (org-at-item-p))) (call-interactively (quote
org-update-statistics-cookies))) ((org-at-heading-p) (call-interactively (quote
org-set-tags))) ((org-at-table\.el-p) (message "Use C-c ' to edit table.el
tables")) ((org-at-table-p) (org-table-maybe-eval-formula) (if arg
(call-interactively (quote org-table-recalculate))
(org-table-maybe-recalculate-line)) (call-interactively (quote
org-table-align)) (orgtbl-send-table (quote maybe))) ((or
(org-footnote-at-reference-p) (org-footnote-at-definition-p))
(call-interactively (quote org-footnote-action))) ((org-at-item-checkbox-p)
(let* ((cbox (match-string 1)) (struct (org-list-struct)) (old-struct
(copy-tree struct)) (parents (org-list-parents-alist struct)) (orderedp
(org-entry-get nil "ORDERED")) (firstp (= (org-list-get-top-point struct)
(point-at-bol))) block-item) (let ((new-box (cond ... ... ... ...))) (if (and
firstp arg) (mapc (lambda ... ...) (org-list-get-all-items ... struct ...))
(org-list-set-checkbox (point-at-bol) struct new-box)))
(org-list-struct-fix-ind struct parents 2) (org-list-struct-fix-item-end
struct) (let ((prevs (org-list-prevs-alist struct))) (org-list-struct-fix-bul
struct prevs) (org-list-struct-fix-ind struct parents) (setq block-item
(org-list-struct-fix-box struct parents prevs orderedp)))
(org-list-struct-apply-struct struct old-struct)
(org-update-checkbox-count-maybe) (when block-item (message "Checkboxes were
removed due to unchecked box at line %d" (org-current-line block-item))) (when
firstp (org-list-send-list (quote maybe))))) ((org-at-item-p) (let* ((struct
(org-list-struct)) (firstp (= (org-list-get-top-point struct) (point-at-bol)))
old-struct) (when arg (setq old-struct (copy-tree struct)) (if firstp (mapc
(lambda ... ...) (org-list-get-all-items ... struct ...))
(org-list-set-checkbox (point-at-bol) struct "[ ]"))) (org-list-write-struct
struct (org-list-parents-alist struct) old-struct) (when arg
(org-update-checkbox-count-maybe)) (when firstp (org-list-send-list (quote
maybe))))) ((save-excursion (beginning-of-line 1) (looking-at
org-dblock-start-re)) (beginning-of-line 1) (save-excursion
(org-update-dblock))) ((save-excursion (beginning-of-line 1) (looking-at "[
]*#\\+\\([A-Z]+\\)")) (cond ((equal (match-string 1) "TBLFM") (save-excursion
(beginning-of-line 1) (skip-chars-backward "
\n ") (if (org-at-table-p) (org-call-with-arg ... ...)))) (t (let
((org-inhibit-startup-visibility-stuff t) (org-startup-align-all-tables nil))
(when (boundp ...) (mapc ... org-table-coordinate-overlays) (setq
org-table-coordinate-overlays nil)) (org-save-outline-visibility (quote
use-markers) (org-mode-restart))) (message "Local setup has been refreshed"))))
((org-clock-update-time-maybe)) (t (or (run-hook-with-args-until-success (quote
org-ctrl-c-ctrl-c-final-hook)) (error "C-c C-c can do nothing useful at this
location")))))
org-ctrl-c-ctrl-c(nil)
call-interactively(org-ctrl-c-ctrl-c nil nil)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [O] Python code block hangs with :session if python-mode is loaded,
Richard Stanton <=