diff --git a/ChangeLog b/ChangeLog index f066cff6..4cde9a7a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -118,6 +118,9 @@ CVS code - read_file() - Rename variable fileformat to format, to avoid confusion with the file_format enum type. (DLR) + load_buffer() + - Don't change the file format when we insert another file into + the current one. (DLR) do_insertfile() - Simplify by reusing variables whereever possible, and add a parameter execute to indicate whether or not to be in "Execute diff --git a/src/files.c b/src/files.c index 7e0c07dd..bcef6f13 100644 --- a/src/files.c +++ b/src/files.c @@ -466,7 +466,15 @@ void load_buffer(const char *name) } if (rc == 0) { + file_format fmt_save = fmt; + read_file(f, filename); + + /* If we're not loading into a new buffer, preserve the file + * format. */ + if (!new_buffer) + fmt = fmt_save; + #ifndef NANO_SMALL stat(filename, &originalfilestat); #endif