changeset 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 e14d013611e7
children d37ac023fc64
files src/message.c src/version.c
diffstat 2 files changed, 14 insertions(+), 0 deletions(-) [+]
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
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    65,
+/**/
     64,
 /**/
     63,