Commit 59c4c60f authored by Andreas Schwab's avatar Andreas Schwab

(read_process_output): Make sure the current buffer is

always restored.
parent 409ea3a1
2009-05-02 Andreas Schwab <schwab@linux-m68k.org>
* process.c (read_process_output): Make sure the current buffer is
always restored.
* coding.c (record_conversion_result): Don't modify
Vlast_code_conversion_error for successful result.
(alloc_destination): Don't clobber conversion result. (Bug#1650)
......
......@@ -5185,7 +5185,6 @@ read_process_output (proc, channel)
register int nbytes;
char *chars;
register Lisp_Object outstream;
register struct buffer *old = current_buffer;
register struct Lisp_Process *p = XPROCESS (proc);
register int opoint;
struct coding_system *coding = proc_decode_coding_system[channel];
......@@ -5385,9 +5384,11 @@ read_process_output (proc, channel)
int opoint_byte;
Lisp_Object text;
struct buffer *b;
int count = SPECPDL_INDEX ();
odeactivate = Vdeactivate_mark;
record_unwind_protect (Fset_buffer, Fcurrent_buffer ());
Fset_buffer (p->buffer);
opoint = PT;
opoint_byte = PT_BYTE;
......@@ -5490,7 +5491,7 @@ read_process_output (proc, channel)
current_buffer->read_only = old_read_only;
SET_PT_BOTH (opoint, opoint_byte);
set_buffer_internal (old);
unbind_to (count, Qnil);
}
return nbytes;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment