comparison lisp/progmodes/compile.el @ 2472:f911936cec3f

(compilation-filter): New function. (compile-internal): Make it the process's filter.
author Roland McGrath <roland@gnu.org>
date Wed, 07 Apr 1993 18:34:17 +0000
parents c5e43751f9aa
children 57e371b49128
comparison
equal deleted inserted replaced
2471:c5e43751f9aa 2472:f911936cec3f
319 ;; Start the compilation. 319 ;; Start the compilation.
320 (let ((proc (start-process-shell-command (downcase mode-name) 320 (let ((proc (start-process-shell-command (downcase mode-name)
321 outbuf 321 outbuf
322 command))) 322 command)))
323 (set-process-sentinel proc 'compilation-sentinel) 323 (set-process-sentinel proc 'compilation-sentinel)
324 (set-process-filter proc 'compilation-filter)
324 (setq compilation-in-progress (cons proc compilation-in-progress)))) 325 (setq compilation-in-progress (cons proc compilation-in-progress))))
325 ;; Make it so the next C-x ` will use this buffer. 326 ;; Make it so the next C-x ` will use this buffer.
326 (setq compilation-last-buffer outbuf))) 327 (setq compilation-last-buffer outbuf)))
327 328
328 (defvar compilation-mode-map 329 (defvar compilation-mode-map
401 (if compilation-finish-function 402 (if compilation-finish-function
402 (funcall compilation-finish-function buffer msg))) 403 (funcall compilation-finish-function buffer msg)))
403 (set-buffer obuf)))) 404 (set-buffer obuf))))
404 (setq compilation-in-progress (delq proc compilation-in-progress)) 405 (setq compilation-in-progress (delq proc compilation-in-progress))
405 )))) 406 ))))
407
408 (defun compilation-filter (proc string)
409 "Process filter for compilation buffers.
410 Just inserts the text, but uses insert-before-markers."
411 (save-excursion
412 (set-buffer (process-buffer proc))
413 (let ((buffer-read-only nil))
414 (save-excursion
415 (goto-char (process-mark proc))
416 (insert-before-markers string)
417 (set-marker (process-mark proc) (point))))))
406 418
407 ;; Return the cdr of compilation-old-error-list for the error containing point. 419 ;; Return the cdr of compilation-old-error-list for the error containing point.
408 (defun compile-error-at-point () 420 (defun compile-error-at-point ()
409 (compile-reinitialize-errors nil (point)) 421 (compile-reinitialize-errors nil (point))
410 (let ((errors compilation-old-error-list)) 422 (let ((errors compilation-old-error-list))