diff options
| author | Richard M. Stallman | 1992-05-05 04:11:23 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1992-05-05 04:11:23 +0000 |
| commit | 41f6016e2786444e68a8d9ef3fd8f5c62f983a97 (patch) | |
| tree | 9e92833653efcde501b3ad8608e7b70f738b14be | |
| parent | 51cbdde31cb4227567bf85b2f4a66cb68803a0c3 (diff) | |
| download | emacs-41f6016e2786444e68a8d9ef3fd8f5c62f983a97.tar.gz emacs-41f6016e2786444e68a8d9ef3fd8f5c62f983a97.zip | |
*** empty log message ***
| -rw-r--r-- | lisp/terminal.el | 46 |
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 |