From: Richard M. Stallman Date: Sat, 20 Nov 1993 22:21:30 +0000 (+0000) Subject: (tex-send-command): Wait for output first, X-Git-Tag: emacs-19.34~10763 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=30803a05ce0c34bc09196b748e4d50bce73df7eb;p=emacs.git (tex-send-command): Wait for output first, if text has not changed since previous tex-send-command. (tex-send-command-modified-tick): New buffer-local variable. --- diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el index eddf642468f..1d2e20a223a 100644 --- a/lisp/textmodes/tex-mode.el +++ b/lisp/textmodes/tex-mode.el @@ -791,6 +791,9 @@ line numbers for the errors." (set-buffer buffer) (setq default-directory directory)))) +(defvar tex-send-command-modified-tick 0) +(make-variable-buffer-local 'tex-send-command-modified-tick) + (defun tex-send-command (command &optional file background) "Send COMMAND to TeX shell process, substituting optional FILE for *. Do this in background if optional BACKGROUND is t. If COMMAND has no *, @@ -809,10 +812,15 @@ evaluates to a command string." (concat cmd " " file)) cmd) (if background "&" "")))) + ;; If text is unchanged since previous tex-send-command, + ;; we haven't got any output. So wait for output now. + (if (= (buffer-modified-tick) tex-send-command-modified-tick) + (accept-process-output proc)) (set-buffer (process-buffer proc)) (goto-char (process-mark proc)) (insert string) - (comint-send-input)))) + (comint-send-input) + (setq tex-send-command-modified-tick (buffer-modified-tick))))) (defun tex-delete-last-temp-files () "Delete any junk files from last temp file."