diff src/message.c @ 280:453b78cb4881

updated for version 7.0075
author vimboss
date Sun, 22 May 2005 22:02:25 +0000
parents fb70e333c94e
children 0ad8528b8c05
line wrap: on
line diff
--- a/src/message.c
+++ b/src/message.c
@@ -844,9 +844,7 @@ wait_return(redraw)
     int		c;
     int		oldState;
     int		tmpState;
-#ifndef ORG_HITRETURN
     int		had_got_int;
-#endif
 
     if (redraw == TRUE)
 	must_redraw = CLEAR;
@@ -900,22 +898,22 @@ wait_return(redraw)
 #endif
 	hit_return_msg();
 
-#ifdef ORG_HITRETURN
-	do
-	{
-	    c = safe_vgetc();
-	} while (vim_strchr((char_u *)"\r\n: ", c) == NULL);
-	if (c == ':')			/* this can vi too (but not always!) */
-	    stuffcharReadbuff(c);
-#else
 	do
 	{
 	    /* Remember "got_int", if it is set vgetc() probably returns a
 	     * CTRL-C, but we need to loop then. */
 	    had_got_int = got_int;
+
+	    /* Don't do mappings here, we put the character back in the
+	     * typeahead buffer. */
+	    ++no_mapping;
+	    ++allow_keys;
 	    c = safe_vgetc();
 	    if (had_got_int && !global_busy)
 		got_int = FALSE;
+	    --no_mapping;
+	    --allow_keys;
+
 #ifdef FEAT_CLIPBOARD
 	    /* Strange way to allow copying (yanking) a modeless selection at
 	     * the hit-enter prompt.  Use CTRL-Y, because the same is used in
@@ -957,11 +955,16 @@ wait_return(redraw)
 #endif
 	    if (vim_strchr((char_u *)"\r\n ", c) == NULL && c != Ctrl_C)
 	{
-	    stuffcharReadbuff(c);
+	    char_u	buf[2];
+
+	    /* Put the character back in the typeahead buffer.  Don't use the
+	     * stuff buffer, because lmaps wouldn't work. */
+	    buf[0] = c;
+	    buf[1] = NUL;
+	    ins_typebuf(buf, REMAP_YES, 0, !KeyTyped, FALSE);
 	    do_redraw = TRUE;	    /* need a redraw even though there is
-				       something in the stuff buffer */
+				       typeahead */
 	}
-#endif
     }
     redir_off = FALSE;
 
@@ -1033,11 +1036,7 @@ hit_return_msg()
     if (got_int)
 	MSG_PUTS(_("Interrupt: "));
 
-#ifdef ORG_HITRETURN
-    MSG_PUTS_ATTR(_("Hit ENTER to continue"), hl_attr(HLF_R));
-#else
     MSG_PUTS_ATTR(_("Hit ENTER or type command to continue"), hl_attr(HLF_R));
-#endif
     if (!msg_use_printf())
 	msg_clr_eos();
 }