]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
updated for version 7.0203
authorBram Moolenaar <Bram@vim.org>
Tue, 21 Feb 2006 22:04:51 +0000 (22:04 +0000)
committerBram Moolenaar <Bram@vim.org>
Tue, 21 Feb 2006 22:04:51 +0000 (22:04 +0000)
src/fileio.c
src/proto/message.pro

index 7cbbfb1ea39466af3ca04a5591ae51fb26dcc810..ed5a653d9bd5484ad36b54ee580b0b7e789b92db 100644 (file)
@@ -2318,16 +2318,13 @@ failed:
                p = msg_trunc_attr(IObuff, FALSE, 0);
            if (read_stdin || read_buffer || restart_edit != 0
                    || (msg_scrolled != 0 && !need_wait_return))
-           {
                /* Need to repeat the message after redrawing when:
                 * - When reading from stdin (the screen will be cleared next).
                 * - When restart_edit is set (otherwise there will be a delay
                 *   before redrawing).
                 * - When the screen was scrolled but there is no wait-return
                 *   prompt. */
-               set_keep_msg(p);
-               keep_msg_attr = 0;
-           }
+               set_keep_msg(p, 0);
            msg_scrolled_ign = FALSE;
        }
 
@@ -2335,6 +2332,7 @@ failed:
        if (newfile && (error
 #ifdef FEAT_MBYTE
                    || conv_error != 0
+                   || (illegal_byte > 0 && bad_char_behavior != BAD_KEEP)
 #endif
                    ))
            curbuf->b_p_ro = TRUE;
@@ -4377,8 +4375,7 @@ restore_backup:
                STRCAT(IObuff, shortmess(SHM_WRI) ? _(" [w]") : _(" written"));
        }
 
-       set_keep_msg(msg_trunc_attr(IObuff, FALSE, 0));
-       keep_msg_attr = 0;
+       set_keep_msg(msg_trunc_attr(IObuff, FALSE, 0), 0);
     }
 
     /* When written everything correctly: reset 'modified'.  Unless not
index a4095f263e29643df06435547f7171cb60c52c73..e0299648623a8cef6bab524ee5b1dcbdf77207a0 100644 (file)
@@ -16,7 +16,8 @@ int delete_first_msg __ARGS((void));
 void ex_messages __ARGS((exarg_T *eap));
 void msg_end_prompt __ARGS((void));
 void wait_return __ARGS((int redraw));
-void set_keep_msg __ARGS((char_u *s));
+void set_keep_msg __ARGS((char_u *s, int attr));
+void set_keep_msg_from_hist __ARGS((void));
 void msg_start __ARGS((void));
 void msg_starthere __ARGS((void));
 void msg_putchar __ARGS((int c));