diff src/message.c @ 5430:7f341db39d5b v7.4.065

updated for version 7.4.065 Problem: When recording, the character typed at the hit-enter prompt is recorded twice. (Urtica Dioica) Solution: Avoid recording the character twice. (Christian Brabandt)
author Bram Moolenaar <bram@vim.org>
date Mon, 04 Nov 2013 02:01:01 +0100
parents 059c8a4b103f
children 136f05449f29
line wrap: on
line diff
--- a/src/message.c
+++ b/src/message.c
@@ -887,6 +887,8 @@ wait_return(redraw)
     int		oldState;
     int		tmpState;
     int		had_got_int;
+    int		save_Recording;
+    FILE	*save_scriptout;
 
     if (redraw == TRUE)
 	must_redraw = CLEAR;
@@ -957,11 +959,21 @@ wait_return(redraw)
 	     * typeahead buffer. */
 	    ++no_mapping;
 	    ++allow_keys;
+
+	    /* Temporarily disable Recording. If Recording is active, the
+	     * character will be recorded later, since it will be added to the
+	     * typebuf after the loop */
+	    save_Recording = Recording;
+	    save_scriptout = scriptout;
+	    Recording = FALSE;
+	    scriptout = NULL;
 	    c = safe_vgetc();
 	    if (had_got_int && !global_busy)
 		got_int = FALSE;
 	    --no_mapping;
 	    --allow_keys;
+	    Recording = save_Recording;
+	    scriptout = save_scriptout;
 
 #ifdef FEAT_CLIPBOARD
 	    /* Strange way to allow copying (yanking) a modeless selection at