diff src/fileio.c @ 29152:9e9b47b53f50

1999-06-01 Kenichi HANDA <handa@etl.go.jp> * fileio.c (Finsert_file_contents): Even if a file is not found, execute codes for setting up coding system. Call after-insert-file-functions unconditionally
author Dave Love <fx@gnu.org>
date Wed, 24 May 2000 14:11:50 +0000
parents 85822da9ece9
children 8b6842c36473
line wrap: on
line diff
--- a/src/fileio.c	Wed May 24 13:10:23 2000 +0000
+++ b/src/fileio.c	Wed May 24 14:11:50 2000 +0000
@@ -3643,6 +3643,8 @@
 	}
 
       setup_coding_system (Fcheck_coding_system (val), &coding);
+      /* Ensure we set Vlast_coding_system_used.  */
+      set_coding_system = 1;
 
       if (NILP (current_buffer->enable_multibyte_characters)
 	  && ! NILP (val))
@@ -3656,9 +3658,6 @@
       coding_system_decided = 1;
     }
 
-  /* Ensure we always set Vlast_coding_system_used.  */
-  set_coding_system = 1;
-
   /* If requested, replace the accessible part of the buffer
      with the file contents.  Avoid replacing text at the
      beginning or end of the buffer that matches the file contents;
@@ -4133,6 +4132,8 @@
     error ("IO error reading %s: %s",
 	   XSTRING (orig_filename)->data, emacs_strerror (errno));
 
+ notfound:
+
   if (! coding_system_decided)
     {
       /* The coding system is not yet decided.  Decide it by an
@@ -4195,6 +4196,8 @@
 	setup_coding_system (val, &temp_coding);
 	bcopy (&temp_coding, &coding, sizeof coding);
       }
+      /* Ensure we set Vlast_coding_system_used.  */
+      set_coding_system = 1;
 
       if (NILP (current_buffer->enable_multibyte_characters)
 	  && ! NILP (val))
@@ -4238,7 +4241,6 @@
     current_buffer->buffer_file_type = Qnil;
 #endif
 
- notfound:
  handled:
 
   if (!NILP (visit))
@@ -4270,10 +4272,6 @@
 	Fsignal (Qfile_error,
 		 Fcons (build_string ("not a regular file"),
 			Fcons (orig_filename, Qnil)));
-
-      /* If visiting nonexistent file, return nil.  */
-      if (current_buffer->modtime == -1)
-	report_file_error ("Opening input file", Fcons (orig_filename, Qnil));
     }
 
   /* Decode file format */
@@ -4298,20 +4296,24 @@
       update_compositions (PT, PT, CHECK_BORDER);
     }
 
-  if (inserted > 0)
+  p = Vafter_insert_file_functions;
+  while (!NILP (p))
     {
-      p = Vafter_insert_file_functions;
-      while (!NILP (p))
+      insval = call1 (Fcar (p), make_number (inserted));
+      if (!NILP (insval))
 	{
-	  insval = call1 (Fcar (p), make_number (inserted));
-	  if (!NILP (insval))
-	    {
-	      CHECK_NUMBER (insval, 0);
-	      inserted = XFASTINT (insval);
-	    }
-	  QUIT;
-	  p = Fcdr (p);
+	  CHECK_NUMBER (insval, 0);
+	  inserted = XFASTINT (insval);
 	}
+      QUIT;
+      p = Fcdr (p);
+    }
+
+  if (!NILP (visit)
+      && current_buffer->modtime == -1)
+    {
+      /* If visiting nonexistent file, return nil.  */
+      report_file_error ("Opening input file", Fcons (orig_filename, Qnil));
     }
 
   /* ??? Retval needs to be dealt with in all cases consistently.  */