Patch 7.4.1603

27 views
Skip to first unread message

Bram Moolenaar

unread,
Mar 19, 2016, 12:05:42 PM3/19/16
to vim...@googlegroups.com

Patch 7.4.1603
Problem: Timer with an ":echo" command messes up display.
Solution: Redraw depending on the mode. (Hirohito Higashi) Avoid the more
prompt being used recursively.
Files: src/screen.c, src/message.c


*** ../vim-7.4.1602/src/screen.c 2016-03-15 23:10:26.408712137 +0100
--- src/screen.c 2016-03-19 16:37:33.451331728 +0100
***************
*** 418,425 ****
void
redraw_after_callback()
{
! update_screen(0);
! setcursor();
cursor_on();
out_flush();
#ifdef FEAT_GUI
--- 418,432 ----
void
redraw_after_callback()
{
! if (State == HITRETURN || State == ASKMORE)
! ; /* do nothing */
! else if (State & CMDLINE)
! redrawcmdline();
! else if ((State & NORMAL) || (State & INSERT))
! {
! update_screen(0);
! setcursor();
! }
cursor_on();
out_flush();
#ifdef FEAT_GUI
*** ../vim-7.4.1602/src/message.c 2016-02-27 20:14:09.920546700 +0100
--- src/message.c 2016-03-19 17:00:33.752918078 +0100
***************
*** 870,875 ****
--- 870,877 ----
#ifdef USE_ON_FLY_SCROLL
dont_scroll = TRUE; /* disallow scrolling here */
#endif
+ cmdline_row = msg_row;
+
/* Avoid the sequence that the user types ":" at the hit-return prompt
* to start an Ex command, but the file-changed dialog gets in the
* way. */
***************
*** 2426,2431 ****
--- 2428,2434 ----
static int
do_more_prompt(int typed_char)
{
+ static int entered = FALSE;
int used_typed_char = typed_char;
int oldState = State;
int c;
***************
*** 2437,2442 ****
--- 2440,2452 ----
msgchunk_T *mp;
int i;

+ /* We get called recursively when a timer callback outputs a message. In
+ * that case don't show another prompt. Also when at the hit-Enter prompt.
+ */
+ if (entered || State == HITRETURN)
+ return FALSE;
+ entered = TRUE;
+
if (typed_char == 'G')
{
/* "g<": Find first line on the last page. */
***************
*** 2675,2680 ****
--- 2685,2691 ----
msg_col = Columns - 1;
#endif

+ entered = FALSE;
#ifdef FEAT_CON_DIALOG
return retval;
#else
*** ../vim-7.4.1602/src/version.c 2016-03-19 16:23:06.164391238 +0100
--- src/version.c 2016-03-19 16:29:14.732541070 +0100
***************
*** 750,751 ****
--- 750,753 ----
{ /* Add new patch number below this line */
+ /**/
+ 1603,
/**/

--
hundred-and-one symptoms of being an internet addict:
91. It's Saturday afternoon in the middle of May and you
are on computer.

/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
Reply all
Reply to author
Forward
0 new messages