899 |
(funcall compilation-process-setup-function)) |
(funcall compilation-process-setup-function)) |
900 |
;; Start the compilation. |
;; Start the compilation. |
901 |
(if (fboundp 'start-process) |
(if (fboundp 'start-process) |
902 |
(let* ((process-environment |
(let* ((process-environment process-environment) |
|
;; Don't override users' setting of $EMACS. |
|
|
(if (getenv "EMACS") |
|
|
process-environment |
|
|
(cons "EMACS=t" process-environment))) |
|
903 |
(proc (start-process-shell-command (downcase mode-name) |
(proc (start-process-shell-command (downcase mode-name) |
904 |
outbuf |
outbuf |
905 |
command))) |
command))) |
906 |
|
;; Set the terminal type |
907 |
|
(setq process-environment |
908 |
|
(if (and (boundp 'system-uses-terminfo) |
909 |
|
system-uses-terminfo) |
910 |
|
(list "TERM=dumb" "TERMCAP=" |
911 |
|
(format "COLUMNS=%d" (window-width))) |
912 |
|
(list "TERM=emacs" |
913 |
|
(format "TERMCAP=emacs:co#%d:tc=unknown:" |
914 |
|
(window-width))))) |
915 |
|
;; Set the EMACS variable, but |
916 |
|
;; don't override users' setting of $EMACS. |
917 |
|
(if (getenv "EMACS") |
918 |
|
(setq process-environment |
919 |
|
(cons "EMACS=t" process-environment))) |
920 |
(set-process-sentinel proc 'compilation-sentinel) |
(set-process-sentinel proc 'compilation-sentinel) |
921 |
(set-process-filter proc 'compilation-filter) |
(set-process-filter proc 'compilation-filter) |
922 |
(set-marker (process-mark proc) (point) outbuf) |
(set-marker (process-mark proc) (point) outbuf) |