summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2006-02-21 22:04:51 +0000
committerBram Moolenaar <Bram@vim.org>2006-02-21 22:04:51 +0000
commit8f7fd65b249e9680866dab628622fe093ac2abc9 (patch)
treea1fb5dcec21a549dd31438f503c3121f234d3943
parent030f0dfad591422e64a75629a60309974af80938 (diff)
downloadvim-8f7fd65b249e9680866dab628622fe093ac2abc9.zip
updated for version 7.0203
-rw-r--r--src/fileio.c9
-rw-r--r--src/proto/message.pro3
2 files changed, 5 insertions, 7 deletions
diff --git a/src/fileio.c b/src/fileio.c
index 7cbbfb1ea..ed5a653d9 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -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
diff --git a/src/proto/message.pro b/src/proto/message.pro
index a4095f263..e02996486 100644
--- a/src/proto/message.pro
+++ b/src/proto/message.pro
@@ -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));