diff -Naur mousepad-svn-r29637/src/file.c mousepad/src/file.c --- mousepad-svn-r29637/src/file.c 2007-11-16 05:20:21.000000000 +0500 +++ mousepad/src/file.c 2009-03-01 17:01:20.000000000 +0500 @@ -146,7 +146,7 @@ { FILE *fp; GtkTextIter start, end; - gchar *str; + gchar *str, last; gsize rbytes, wbytes; GError *err = NULL; @@ -156,6 +156,12 @@ gtk_text_buffer_get_end_iter(textbuffer, &end); str = gtk_text_buffer_get_text(textbuffer, &start, &end, TRUE); + gtk_text_iter_backward_chars(&end, 1); + last = gtk_text_iter_get_char(&end); + gtk_text_buffer_get_end_iter(textbuffer, &end); + if(last != '\n') + gtk_text_buffer_insert(textbuffer, &end, "\n", -1); + switch (fi->lineend) { case CR: convert_line_ending(&str, CR);