summaryrefslogtreecommitdiff
path: root/src/fileio.c
diff options
context:
space:
mode:
authorDave Love <fx@gnu.org>2000-05-24 14:13:20 +0000
committerDave Love <fx@gnu.org>2000-05-24 14:13:20 +0000
commitf8569325db7b3fc9a5849cb5cff32dd207be8522 (patch)
tree465c74db6e206966020ef27ef68855b07d30b460 /src/fileio.c
parent04545643a87afd0f2153c78d54405ed9e9a7838e (diff)
downloademacs-f8569325db7b3fc9a5849cb5cff32dd207be8522.tar.gz
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
Diffstat (limited to 'src/fileio.c')
-rw-r--r--src/fileio.c40
1 files changed, 21 insertions, 19 deletions
diff --git a/src/fileio.c b/src/fileio.c
index 19d80a9d2f0..47bc651a021 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -3643,6 +3643,8 @@ actually used.")
}
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 @@ actually used.")
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 @@ actually used.")
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 @@ actually used.")
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 @@ actually used.")
current_buffer->buffer_file_type = Qnil;
#endif
- notfound:
handled:
if (!NILP (visit))
@@ -4270,10 +4272,6 @@ actually used.")
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 @@ actually used.")
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. */