changeset 27789:eb273bf5c3a8

(Finsert_file_contents): Unbind the binding of standard-output done by temp_output_buffer_setup.
author Gerd Moellmann <gerd@gnu.org>
date Sun, 20 Feb 2000 21:53:35 +0000
parents 2b3531e522df
children 21ffa053e9fe
files src/fileio.c
diffstat 1 files changed, 10 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/fileio.c	Sun Feb 20 19:03:33 2000 +0000
+++ b/src/fileio.c	Sun Feb 20 21:53:35 2000 +0000
@@ -3543,9 +3543,15 @@
 	      else if (nread > 0)
 		{
 		  struct buffer *prev = current_buffer;
+		  int count1;
 
 		  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*");
+		  
 		  set_buffer_internal (XBUFFER (Vstandard_output));
 		  current_buffer->enable_multibyte_characters = Qnil;
 		  insert_1_both (read_buf, nread, nread, 0, 0, 0);
@@ -3553,6 +3559,10 @@
 		  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.  */
 		  specpdl_ptr--;