Kaynağa Gözat

Revert "Backport revno 111277 from Emacs trunk."

This reverts commit 27bcf9a70b1137c88cf856719ab6fd74297286ef.

Conflicts:
	lisp/ob.el
Bastien Guerry 12 yıl önce
ebeveyn
işleme
5827bb299c
1 değiştirilmiş dosya ile 25 ekleme ve 29 silme
  1. 25 29
      lisp/ob-eval.el

+ 25 - 29
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)