From 5827bb299c61677f2715840221c44da0bba84631 Mon Sep 17 00:00:00 2001 From: Bastien Guerry Date: Fri, 21 Dec 2012 08:49:33 +0100 Subject: [PATCH] Revert "Backport revno 111277 from Emacs trunk." This reverts commit 27bcf9a70b1137c88cf856719ab6fd74297286ef. Conflicts: lisp/ob.el --- lisp/ob-eval.el | 54 +++++++++++++++++++++++++----------------------------- 1 file changed, 25 insertions(+), 29 deletions(-) diff --git a/lisp/ob-eval.el b/lisp/ob-eval.el index 23e71433d..976b7b4d4 100644 --- a/lisp/ob-eval.el +++ b/lisp/ob-eval.el @@ -135,13 +135,14 @@ specifies the value of ERROR-BUFFER." current-prefix-arg shell-command-default-error-buffer t))) - (let ((input-file (org-babel-temp-file "input-")) - (error-file (if error-buffer (org-babel-temp-file "scor-") nil)) - (shell-file-name - (if (file-executable-p - (concat (file-remote-p default-directory) shell-file-name)) - shell-file-name - "/bin/sh")) + (let ((error-file + (if error-buffer + (make-temp-file + (expand-file-name "scor" + (if (featurep 'xemacs) + (temp-directory) + temporary-file-directory))) + nil)) exit-status) (if (or replace (and output-buffer @@ -151,14 +152,12 @@ specifies the value of ERROR-BUFFER." ;; Don't muck with mark unless REPLACE says we should. (goto-char start) (and replace (push-mark (point) 'nomsg)) - (write-region start end input-file) - (delete-region start end) (setq exit-status - (process-file shell-file-name input-file - (if error-file - (list output-buffer error-file) - t) - nil shell-command-switch command)) + (call-process-region start end shell-file-name t + (if error-file + (list output-buffer error-file) + t) + nil shell-command-switch command)) ;; It is rude to delete a buffer which the command is not using. ;; (let ((shell-buffer (get-buffer "*Shell Command Output*"))) ;; (and shell-buffer (not (eq shell-buffer (current-buffer))) @@ -177,14 +176,14 @@ specifies the value of ERROR-BUFFER." (progn (setq buffer-read-only nil) (delete-region (max start end) (point-max)) (delete-region (point-min) (min start end)) - (write-region (point-min) (point-max) input-file) - (delete-region (point-min) (point-max)) (setq exit-status - (process-file shell-file-name input-file - (if error-file - (list t error-file) - t) - nil shell-command-switch command))) + (call-process-region (point-min) (point-max) + shell-file-name t + (if error-file + (list t error-file) + t) + nil shell-command-switch + command))) ;; Clear the output buffer, then run the command with ;; output there. (let ((directory default-directory)) @@ -194,11 +193,11 @@ specifies the value of ERROR-BUFFER." (setq default-directory directory)) (erase-buffer))) (setq exit-status - (process-file shell-file-name nil - (if error-file - (list buffer error-file) - buffer) - nil shell-command-switch command))) + (call-process-region start end shell-file-name nil + (if error-file + (list buffer error-file) + buffer) + nil shell-command-switch command))) ;; Report the output. (with-current-buffer buffer (setq mode-line-process @@ -232,9 +231,6 @@ specifies the value of ERROR-BUFFER." ;; (kill-buffer buffer) )))) - (when (and input-file (file-exists-p input-file)) - (delete-file input-file)) - (when (and error-file (file-exists-p error-file)) (if (< 0 (nth 7 (file-attributes error-file))) (with-current-buffer (get-buffer-create error-buffer) -- 2.11.4.GIT