aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1992-05-05 04:11:23 +0000
committerRichard M. Stallman1992-05-05 04:11:23 +0000
commit41f6016e2786444e68a8d9ef3fd8f5c62f983a97 (patch)
tree9e92833653efcde501b3ad8608e7b70f738b14be
parent51cbdde31cb4227567bf85b2f4a66cb68803a0c3 (diff)
downloademacs-41f6016e2786444e68a8d9ef3fd8f5c62f983a97.tar.gz
emacs-41f6016e2786444e68a8d9ef3fd8f5c62f983a97.zip
*** empty log message ***
-rw-r--r--lisp/terminal.el46
1 files changed, 17 insertions, 29 deletions
diff --git a/lisp/terminal.el b/lisp/terminal.el
index bae0d4c5639..314cc45d707 100644
--- a/lisp/terminal.el
+++ b/lisp/terminal.el
@@ -1079,35 +1079,23 @@ work with `terminfo' we will try to use it."
1079 ;;-- For disgusting programs. 1079 ;;-- For disgusting programs.
1080 ;; (VI? What losers need these, I wonder?) 1080 ;; (VI? What losers need these, I wonder?)
1081 "im=:ei=:dm=:ed=:mi:do=^p^j:nl=^p^j:bs:"))) 1081 "im=:ei=:dm=:ed=:mi:do=^p^j:nl=^p^j:bs:")))
1082 (if (fboundp 'start-subprocess) 1082 (let ((process-environment
1083 ;; this winning function would do everything, except that 1083 (cons "TERM=emacs-virtual"
1084 ;; rms doesn't want it. 1084 (cons (concat "TERMCAP=" termcap)
1085 (setq te-process (start-subprocess "terminal-emulator" 1085 process-environment))))
1086 program args 1086 (setq te-process
1087 'channel-type 'terminal 1087 (start-process "terminal-emulator" (current-buffer)
1088 'filter 'te-filter 1088 "/bin/sh" "-c"
1089 'buffer (current-buffer) 1089 ;; Yuck!!! Start a shell to set some terminal
1090 'sentinel 'te-sentinel 1090 ;; control characteristics. Then start the
1091 'modify-environment 1091 ;; "env" program to setup the terminal type
1092 (list (cons "TERM" "emacs-virtual") 1092 ;; Then finally start the program we wanted.
1093 (cons "TERMCAP" termcap)))) 1093 (format "%s; exec %s"
1094 ;; so instead we resort to this... 1094 te-stty-string
1095 (setq te-process (start-process "terminal-emulator" (current-buffer) 1095 (mapconcat 'te-quote-arg-for-sh
1096 "/bin/sh" "-c" 1096 (cons program args) " ")))))
1097 ;; Yuck!!! Start a shell to set some terminal 1097 (set-process-filter te-process 'te-filter)
1098 ;; control characteristics. Then start the 1098 (set-process-sentinel te-process 'te-sentinel))
1099 ;; "env" program to setup the terminal type
1100 ;; Then finally start the program we wanted.
1101 (format "%s; exec %s TERM=emacs-virtual %s %s"
1102 te-stty-string
1103 (te-quote-arg-for-sh
1104 (concat exec-directory "env"))
1105 (te-quote-arg-for-sh
1106 (concat "TERMCAP=" termcap))
1107 (mapconcat 'te-quote-arg-for-sh
1108 (cons program args) " "))))
1109 (set-process-filter te-process 'te-filter)
1110 (set-process-sentinel te-process 'te-sentinel)))
1111 (error (fundamental-mode) 1099 (error (fundamental-mode)
1112 (signal (car err) (cdr err)))) 1100 (signal (car err) (cdr err))))
1113 ;; sigh 1101 ;; sigh