Subject: bug#13290: 24.2.91; [PATCH] Comint can stall emacs with non-trivial input senders

From: Vitalie Spinu <[email-masked]>
Date: Sun, 06 Jan 2013 15:55:04 +0100

Would you mind adding this to emacs-24? This one really makes our life
at ESS difficult, and I cannot see a reliable workaround on our side.

Comint tweak, on the other side, is harmless and will preclude similar
problems in the future.  

    Thanks, 
    Vitalie

  >> Vitalie Spinu <[email-masked]>
  >> on Thu, 03 Jan 2013 11:47:44 +0100 wrote:

  >> Glenn Morris <[email-masked]>
  >> on Thu, 03 Jan 2013 01:49:03 -0500 wrote:

  >> Vitalie Spinu wrote:
  >> The problem is that, occasionally, comint-input-sender might be a
  >> non-trivial function and could take care of process output itself.

  >> Thanks for the report. Could you give an example of this happening in
  >> practice?

  VS> Yes,  this was happening in ESS under some specific
  VS> conditions. Particularly when the user wants to evaluate the code
  VS> linewise, i.e. each line of code is echoed in the comint buffer, and
  VS> then the output is immediately inserted after that line.

  VS> This is implemented in comint-input-sender function, and it does nothing
  VS> else than just send input line by line and wait after each line for the
  VS> process output. Thus, after the execution of comint-input-sender there
  VS> was no process output left, and comint was waiting for nothing.

  VS> Cases like above, when both input and output should be manipulated, are
  VS> not easily implemented in comint-preoutput-filter-functions.

  VS>     Vitalie