diff options
author | Richard M. Stallman <[email protected]> | 2002-04-13 17:49:34 +0000 |
---|---|---|
committer | Richard M. Stallman <[email protected]> | 2002-04-13 17:49:34 +0000 |
commit | 685fc579ad33256c0aa4407db483ff27b20f32af (patch) | |
tree | 025b2a5619812418bc179c474bc48ec37652a44c /src/fileio.c | |
parent | 3fd9494be46a04a821c22759d80131ebc136c57c (diff) |
(Finsert_file_contents):
Don't call temp_output_buffer_setup--do just part, by hand.
Diffstat (limited to 'src/fileio.c')
-rw-r--r-- | src/fileio.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/src/fileio.c b/src/fileio.c index 6abf102aa3..87a6a0da8b 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -3777,25 +3777,30 @@ actually used. */) else if (nread > 0) { struct buffer *prev = current_buffer; - int count1; + Lisp_Object buffer; + struct buffer *buf; record_unwind_protect (Fset_buffer, Fcurrent_buffer ()); - /* The call to temp_output_buffer_setup binds - standard-output. */ - count1 = specpdl_ptr - specpdl; - temp_output_buffer_setup (" *code-converting-work*"); + buffer = Fget_buffer_create (build_string (" *code-converting-work*")); + buf = XBUFFER (buffer); + + buf->directory = current_buffer->directory; + buf->read_only = Qnil; + buf->filename = Qnil; + buf->undo_list = Qt; + buf->overlays_before = Qnil; + buf->overlays_after = Qnil; - set_buffer_internal (XBUFFER (Vstandard_output)); - current_buffer->enable_multibyte_characters = Qnil; + set_buffer_internal (buf); + Ferase_buffer (); + buf->enable_multibyte_characters = Qnil; + insert_1_both (read_buf, nread, nread, 0, 0, 0); TEMP_SET_PT_BOTH (BEG, BEG_BYTE); val = call2 (Vset_auto_coding_function, filename, make_number (nread)); set_buffer_internal (prev); - - /* Remove the binding for standard-output. */ - unbind_to (count1, Qnil); /* Discard the unwind protect for recovering the current buffer. */ |