changeset 630:a904e831b60f

*** empty log message ***
author Richard M. Stallman <rms@gnu.org>
date Tue, 05 May 1992 04:11:23 +0000
parents e47f9ff356ea
children 3c7da8664d12
files lisp/terminal.el
diffstat 1 files changed, 17 insertions(+), 29 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/terminal.el	Mon May 04 23:08:26 1992 +0000
+++ b/lisp/terminal.el	Tue May 05 04:11:23 1992 +0000
@@ -1079,35 +1079,23 @@
                      ;;-- For disgusting programs.
                      ;; (VI? What losers need these, I wonder?)
                      "im=:ei=:dm=:ed=:mi:do=^p^j:nl=^p^j:bs:")))
-	(if (fboundp 'start-subprocess)
-	    ;; this winning function would do everything, except that
-	    ;;  rms doesn't want it.
-	    (setq te-process (start-subprocess "terminal-emulator"
-			       program args
-			       'channel-type 'terminal
-			       'filter 'te-filter
-			       'buffer (current-buffer)
-			       'sentinel 'te-sentinel
-			       'modify-environment
-			         (list (cons "TERM" "emacs-virtual")
-				       (cons "TERMCAP" termcap))))
-	  ;; so instead we resort to this...
-	  (setq te-process (start-process "terminal-emulator" (current-buffer)
-			     "/bin/sh" "-c"
-			     ;; Yuck!!! Start a shell to set some terminal
-			     ;; control characteristics.  Then start the
-			     ;; "env" program to setup the terminal type
-			     ;; Then finally start the program we wanted.
-			     (format "%s; exec %s TERM=emacs-virtual %s %s"
-                                     te-stty-string
-				     (te-quote-arg-for-sh
-				       (concat exec-directory "env"))
-				     (te-quote-arg-for-sh
-				       (concat "TERMCAP=" termcap))
-				     (mapconcat 'te-quote-arg-for-sh
-						(cons program args) " "))))
-	  (set-process-filter te-process 'te-filter)
-	  (set-process-sentinel te-process 'te-sentinel)))
+	(let ((process-environment
+	       (cons "TERM=emacs-virtual"
+		     (cons (concat "TERMCAP=" termcap)
+			   process-environment))))
+	  (setq te-process
+		(start-process "terminal-emulator" (current-buffer)
+			       "/bin/sh" "-c"
+			       ;; Yuck!!! Start a shell to set some terminal
+			       ;; control characteristics.  Then start the
+			       ;; "env" program to setup the terminal type
+			       ;; Then finally start the program we wanted.
+			       (format "%s; exec %s"
+				       te-stty-string
+				       (mapconcat 'te-quote-arg-for-sh
+						  (cons program args) " ")))))
+	(set-process-filter te-process 'te-filter)
+	(set-process-sentinel te-process 'te-sentinel))
     (error (fundamental-mode)
 	   (signal (car err) (cdr err))))
   ;; sigh