Fix a gdb-mi process filtering issue arising in ansi-color.el.

* lisp/ansi-color.el (ansi-color-process-output): Check for validity
of comint-last-output-start before using it.  This avoids a bad
interaction with gdb-mi's input/output buffer.
This commit is contained in:
Chong Yidong 2012-05-07 11:14:21 +08:00
parent fd075e7b2b
commit 18f0051578
2 changed files with 12 additions and 2 deletions

View file

@ -1,3 +1,9 @@
2012-05-07 Chong Yidong <cyd@gnu.org>
* ansi-color.el (ansi-color-process-output): Check for validity of
comint-last-output-start before using it. This avoids a bad
interaction with gdb-mi's input/output buffer.
2012-05-06 Glenn Morris <rgm@gnu.org>
* files.el (dir-locals-read-from-file):

View file

@ -217,8 +217,12 @@ The comint output is assumed to lie between the marker
`comint-last-output-start' and the process-mark.
This is a good function to put in `comint-output-filter-functions'."
(let ((start-marker (or comint-last-output-start
(point-min-marker)))
(let ((start-marker (if (and (markerp comint-last-output-start)
(eq (marker-buffer comint-last-output-start)
(current-buffer))
(marker-position comint-last-output-start))
comint-last-output-start
(point-min-marker)))
(end-marker (process-mark (get-buffer-process (current-buffer)))))
(cond ((eq ansi-color-for-comint-mode nil))
((eq ansi-color-for-comint-mode 'filter)