Mercurial > emacs
changeset 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 | fa8f476affa7 |
children | 400ce24a5271 |
files | src/fileio.c |
diffstat | 1 files changed, 21 insertions(+), 19 deletions(-) [+] |
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. */