updated for version 7.0002
diff --git a/src/Makefile b/src/Makefile
index 46a40ad..d59f32a 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -432,7 +432,7 @@
 #CONF_OPT_FEAT = --with-features=small
 #CONF_OPT_FEAT = --with-features=normal
 #CONF_OPT_FEAT = --with-features=big
-CONF_OPT_FEAT = --with-features=huge
+#CONF_OPT_FEAT = --with-features=huge
 
 # COMPILED BY - For including a specific e-mail address for ":version".
 #CONF_OPT_COMPBY = "--with-compiledby=John Doe <JohnDoe@yahoo.com>"
@@ -493,7 +493,7 @@
 
 # Often used for GCC: mixed optimizing, lot of optimizing, debugging
 #CFLAGS = -g -O2 -fno-strength-reduce -Wall -Wshadow -Wmissing-prototypes
-CFLAGS = -g -O2 -fno-strength-reduce -Wall -Wmissing-prototypes
+#CFLAGS = -g -O2 -fno-strength-reduce -Wall -Wmissing-prototypes
 #CFLAGS = -O6 -fno-strength-reduce -Wall -Wshadow -Wmissing-prototypes
 #CFLAGS = -g -DDEBUG -Wall -Wshadow -Wmissing-prototypes
 #CFLAGS = -g -O2 -DSTARTUPTIME=\"vimstartup\" -fno-strength-reduce -Wall -Wmissing-prototypes
diff --git a/src/buffer.c b/src/buffer.c
index 83b570f..27f64bd 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -4579,7 +4579,7 @@
     }
 #endif
     if (buf->b_fname == NULL)
-	return _("[No File]");
+	return _("[No Name]");
     return NULL;
 }
 
diff --git a/src/eval.c b/src/eval.c
index 2e339e6..561857a 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -599,6 +599,20 @@
 }
 
 /*
+ * Skip over an expression at "*pp".
+ * Return FAIL for an error, OK otherwise.
+ */
+    int
+skip_expr(pp)
+    char_u	**pp;
+{
+    var		retvar;
+
+    *pp = skipwhite(*pp);
+    return eval1(pp, &retvar, FALSE);
+}
+
+/*
  * Top level evaluation function, returning a string.
  * Return pointer to allocated memory, or NULL for failure.
  */
@@ -3375,6 +3389,20 @@
 	    buf = buflist_findname(name);
 	    vim_free(name);
 	}
+	if (buf == NULL)
+	{
+	    /* No full path name match, try a match with a URL or a "nofile"
+	     * buffer, these don't use the full path. */
+	    for (buf = firstbuf; buf != NULL; buf = buf->b_next)
+		if (buf->b_fname != NULL
+			&& (path_with_url(buf->b_fname)
+#ifdef FEAT_QUICKFIX
+			    || bt_nofile(buf)
+#endif
+			   )
+			&& STRCMP(buf->b_fname, avar->var_val.var_string) == 0)
+		    break;
+	}
     }
     return buf;
 }
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index e6036ca..ad612cd 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -4573,7 +4573,7 @@
     buf_T	*buf;
 #ifdef FEAT_MULTI_LANG
     int		len;
-    char_u	*lang = NULL;
+    char_u	*lang;
 #endif
 
     if (eap != NULL)
@@ -4613,13 +4613,7 @@
 
 #ifdef FEAT_MULTI_LANG
     /* Check for a specified language */
-    len = STRLEN(arg);
-    if (len >= 3 && arg[len - 3] == '@' && ASCII_ISALPHA(arg[len - 2])
-					       && ASCII_ISALPHA(arg[len - 1]))
-    {
-	lang = arg + len - 2;
-	lang[-1] = NUL;		/* remove the '@' */
-    }
+    lang = check_help_lang(arg);
 #endif
 
     /* When no argument given go to the index. */
@@ -4748,6 +4742,28 @@
 }
 
 
+#if defined(FEAT_MULTI_LANG) || defined(PROTO)
+/*
+ * In an argument search for a language specifiers in the form "@xx".
+ * Changes the "@" to NUL if found, and returns a pointer to "xx".
+ * Returns NULL if not found.
+ */
+    char_u *
+check_help_lang(arg)
+    char_u *arg;
+{
+    int len = STRLEN(arg);
+
+    if (len >= 3 && arg[len - 3] == '@' && ASCII_ISALPHA(arg[len - 2])
+					       && ASCII_ISALPHA(arg[len - 1]))
+    {
+	arg[len - 3] = NUL;		/* remove the '@' */
+	return arg + len - 2;
+    }
+    return NULL;
+}
+#endif
+
 /*
  * Return a heuristic indicating how well the given string matches.  The
  * smaller the number, the better the match.  This is the order of priorities,
@@ -5180,7 +5196,9 @@
     garray_T	ga;
     int		i, j;
     int		len;
+#ifdef FEAT_MULTI_LANG
     char_u	lang[2];
+#endif
     char_u	ext[5];
     char_u	fname[8];
     int		filecount;
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index c4b9012..af8d3fc 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -2319,8 +2319,8 @@
 	}
     }
 						/* no arguments allowed */
-    if (!ni && !(ea.argt & EXTRA) && *ea.arg != NUL &&
-				 vim_strchr((char_u *)"|\"", *ea.arg) == NULL)
+    if (!ni && !(ea.argt & EXTRA) && *ea.arg != NUL
+			      && vim_strchr((char_u *)"|\"", *ea.arg) == NULL)
     {
 	errormsg = (char_u *)_(e_trailing);
 	goto doend;
@@ -3885,6 +3885,17 @@
     has_wildcards = mch_has_wildcard(eap->arg);
     for (p = eap->arg; *p; )
     {
+#ifdef FEAT_EVAL
+	/* Skip over `=expr`, wildcards in it are not expanded. */
+	if (p[0] == '`' && p[1] == '=')
+	{
+	    p += 2;
+	    (void)skip_expr(&p);
+	    if (*p == '`')
+		++p;
+	    continue;
+	}
+#endif
 	/*
 	 * Quick check if this cannot be the start of a special string.
 	 * Also removes backslash before '%', '#' and '<'.
@@ -4157,6 +4168,18 @@
 	    if (*p == NUL)		/* stop at NUL after CTRL-V */
 		break;
 	}
+
+#ifdef FEAT_EVAL
+	/* Skip over `=expr` when wildcards are expanded. */
+	else if (p[0] == '`' && p[1] == '=')
+	{
+	    p += 2;
+	    (void)skip_expr(&p);
+	    if (*p == '`')
+		++p;
+	}
+#endif
+
 	/* Check for '"': start of comment or '|': next command */
 	/* :@" and :*" do not start a comment!
 	 * :redir @" doesn't either. */
diff --git a/src/fileio.c b/src/fileio.c
index e8d4e27..a0947aa 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -5290,8 +5290,11 @@
 	    }
 	    if (p == NULL || buf->b_fname == NULL)
 		buf->b_fname = buf->b_ffname;
-	    mf_fullname(buf->b_ml.ml_mfp);
 	}
+
+	/* Always make the swap file name a full path, a "nofile" buffer may
+	 * also have a swap file. */
+	mf_fullname(buf->b_ml.ml_mfp);
     }
 #ifdef FEAT_WINDOWS
     status_redraw_all();
diff --git a/src/gui_mac.c b/src/gui_mac.c
index 2b74c63..e6a8433 100644
--- a/src/gui_mac.c
+++ b/src/gui_mac.c
@@ -74,6 +74,9 @@
 # endif
 #endif
 
+/* Vim's Scrap flavor. */
+#define VIMSCRAPFLAVOR 'VIM!'
+
 /* CARBON version only tested with Project Builder under MacOS X */
 #undef USE_CARBONIZED
 #if (defined(__APPLE_CC__) || defined(__MRC__)) && defined(TARGET_API_MAC_CARBON)
@@ -326,7 +329,7 @@
  */
 
 #ifdef USE_AEVENT
-OSErr HandleUnusedParms (const AppleEvent *theAEvent);
+OSErr HandleUnusedParms(const AppleEvent *theAEvent);
 #endif
 
 /*
@@ -511,7 +514,7 @@
     if (*error)
     {
 #ifdef USE_SIOUX
-	printf ("fname_from_AEDesc: AECountItems error: %d\n", error);
+	printf("fname_from_AEDesc: AECountItems error: %d\n", error);
 #endif
 	return(fnames);
     }
@@ -535,13 +538,13 @@
 	    /* Caller is able to clean up */
 	    /* TODO: Should be clean up or not? For safety. */
 #ifdef USE_SIOUX
-	    printf ("aevt_odoc: AEGetNthPtr error: %d\n", newError);
+	    printf("aevt_odoc: AEGetNthPtr error: %d\n", newError);
 #endif
 	    return(fnames);
 	}
 
 	/* Convert the FSSpec to a pathname */
-	fnames[fileCount - 1] = FullPathFromFSSpec_save (fileToOpen);
+	fnames[fileCount - 1] = FullPathFromFSSpec_save(fileToOpen);
     }
 
     return (fnames);
@@ -574,7 +577,7 @@
  * When the editor receives this event, determine whether the specified
  * file is open. If it is, return the modification date/time for that file
  * in the appropriate location specified in the structure. If the file is
- * not opened, put the value fnfErr (file not found) in that location.
+ * not opened, put the value fnfErr(file not found) in that location.
  *
  */
 
@@ -591,7 +594,8 @@
 # pragma options align=reset
 #endif
 
-pascal OSErr Handle_KAHL_SRCH_AE (const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
+    pascal OSErr
+Handle_KAHL_SRCH_AE(const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
 {
     OSErr	error = noErr;
     buf_T	*buf;
@@ -604,16 +608,16 @@
     if (error)
     {
 #ifdef USE_SIOUX
-	printf ("KAHL_SRCH: AEGetParamPtr error: %d\n", error);
+	printf("KAHL_SRCH: AEGetParamPtr error: %d\n", error);
 #endif
 	return(error);
     }
 
-    error = HandleUnusedParms (theAEvent);
+    error = HandleUnusedParms(theAEvent);
     if (error)
     {
 #ifdef USE_SIOUX
-	printf ("KAHL_SRCH: HandleUnusedParms error: %d\n", error);
+	printf("KAHL_SRCH: HandleUnusedParms error: %d\n", error);
 #endif
 	return(error);
     }
@@ -634,10 +638,10 @@
 	*SearchData.theDate = buf->b_mtime;
 
 #ifdef USE_SIOUX
-    printf ("KAHL_SRCH: file \"%#s\" {%d}", SearchData.theFile.name,SearchData.theFile.parID);
+    printf("KAHL_SRCH: file \"%#s\" {%d}", SearchData.theFile.name,SearchData.theFile.parID);
     if (foundFile == false)
-	printf (" NOT");
-    printf (" found. [date %lx, %lx]\n", *SearchData.theDate, buf->b_mtime_read);
+	printf(" NOT");
+    printf(" found. [date %lx, %lx]\n", *SearchData.theDate, buf->b_mtime_read);
 #endif
 
     return error;
@@ -684,7 +688,8 @@
 # pragma options align=reset
 #endif
 
-pascal OSErr Handle_KAHL_MOD_AE (const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
+    pascal OSErr
+Handle_KAHL_MOD_AE(const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
 {
     OSErr	error = noErr;
     AEDescList	replyList;
@@ -694,11 +699,11 @@
 
     theFile.saved = 0;
 
-    error = HandleUnusedParms (theAEvent);
+    error = HandleUnusedParms(theAEvent);
     if (error)
     {
 #ifdef USE_SIOUX
-	printf ("KAHL_MOD: HandleUnusedParms error: %d\n", error);
+	printf("KAHL_MOD: HandleUnusedParms error: %d\n", error);
 #endif
 	return(error);
     }
@@ -712,7 +717,7 @@
     if (error)
     {
 #ifdef USE_SIOUX
-	printf ("KAHL_MOD: AECreateList error: %d\n", error);
+	printf("KAHL_MOD: AECreateList error: %d\n", error);
 #endif
 	return(error);
     }
@@ -720,12 +725,12 @@
 #if 0
     error = AECountItems(&replyList, &numFiles);
 #ifdef USE_SIOUX
-    printf ("KAHL_MOD ReplyList: %x %x\n", replyList.descriptorType, replyList.dataHandle);
-    printf ("KAHL_MOD ItemInList: %d\n", numFiles);
+    printf("KAHL_MOD ReplyList: %x %x\n", replyList.descriptorType, replyList.dataHandle);
+    printf("KAHL_MOD ItemInList: %d\n", numFiles);
 #endif
 
-    /* AEPutKeyDesc (&replyList, keyAEPnject, &aDesc)
-     * AEPutKeyPtr  (&replyList, keyAEPosition, typeChar, (Ptr)&theType,
+    /* AEPutKeyDesc(&replyList, keyAEPnject, &aDesc)
+     * AEPutKeyPtr(&replyList, keyAEPosition, typeChar, (Ptr)&theType,
      * sizeof(DescType))
      */
 
@@ -739,37 +744,37 @@
 	    /* Add this file to the list */
 	    theFile.theFile = buf->b_FSSpec;
 	    theFile.theDate = buf->b_mtime;
-/*	    theFile.theDate = time (NULL) & (time_t) 0xFFFFFFF0; */
-	    error = AEPutPtr (&replyList, numFiles, typeChar, (Ptr) &theFile, sizeof(theFile));
+/*	    theFile.theDate = time(NULL) & (time_t) 0xFFFFFFF0; */
+	    error = AEPutPtr(&replyList, numFiles, typeChar, (Ptr) &theFile, sizeof(theFile));
 #ifdef USE_SIOUX
 	    if (numFiles == 0)
-		printf ("KAHL_MOD: ");
+		printf("KAHL_MOD: ");
 	    else
-		printf (", ");
-	    printf ("\"%#s\" {%d} [date %lx, %lx]", theFile.theFile.name, theFile.theFile.parID, theFile.theDate, buf->b_mtime_read);
+		printf(", ");
+	    printf("\"%#s\" {%d} [date %lx, %lx]", theFile.theFile.name, theFile.theFile.parID, theFile.theDate, buf->b_mtime_read);
 	    if (error)
-		printf (" (%d)", error);
+		printf(" (%d)", error);
 	    numFiles++;
 #endif
 	};
 
 #ifdef USE_SIOUX
-    printf ("\n");
+    printf("\n");
 #endif
 
 #if 0
     error = AECountItems(&replyList, &numFiles);
 #ifdef USE_SIOUX
-    printf ("KAHL_MOD ItemInList: %d\n", numFiles);
+    printf("KAHL_MOD ItemInList: %d\n", numFiles);
 #endif
 #endif
 
     /* We can add data only if something to reply */
-    error = AEPutParamDesc (theReply, keyDirectObject, &replyList);
+    error = AEPutParamDesc(theReply, keyDirectObject, &replyList);
 
 #ifdef USE_SIOUX
     if (error)
-	printf ("KAHL_MOD: AEPutParamDesc error: %d\n", error);
+	printf("KAHL_MOD: AEPutParamDesc error: %d\n", error);
 #endif
 
     if (replyList.dataHandle)
@@ -819,7 +824,8 @@
 # pragma options align=reset
 #endif
 
-pascal OSErr Handle_KAHL_GTTX_AE (const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
+    pascal OSErr
+Handle_KAHL_GTTX_AE(const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
 {
     OSErr	error = noErr;
     buf_T	*buf;
@@ -839,7 +845,7 @@
     if (error)
     {
 #ifdef USE_SIOUX
-	printf ("KAHL_GTTX: AEGetParamPtr error: %d\n", error);
+	printf("KAHL_GTTX: AEGetParamPtr error: %d\n", error);
 #endif
 	return(error);
     }
@@ -854,7 +860,7 @@
 
     if (foundFile)
     {
-	BufferSize = 0; /* GetHandleSize (GetTextData.theText); */
+	BufferSize = 0; /* GetHandleSize(GetTextData.theText); */
 	for (lineno = 0; lineno <= buf->b_ml.ml_line_count; lineno++)
 	{
 	    /* Must use the right buffer */
@@ -863,48 +869,48 @@
 	    lineStart = BufferSize;
 	    BufferSize += linesize;
 	    /* Resize handle to linesize+1 to include the linefeed */
-	    SetHandleSize (GetTextData.theText, BufferSize);
-	    if (GetHandleSize (GetTextData.theText) != BufferSize)
+	    SetHandleSize(GetTextData.theText, BufferSize);
+	    if (GetHandleSize(GetTextData.theText) != BufferSize)
 	    {
 	#ifdef USE_SIOUX
-		printf ("KAHL_GTTX: SetHandleSize increase: %d, size %d\n",
+		printf("KAHL_GTTX: SetHandleSize increase: %d, size %d\n",
 			linesize, BufferSize);
 	#endif
 		break; /* Simple handling for now */
 	    }
 	    else
 	    {
-		HLock (GetTextData.theText);
+		HLock(GetTextData.theText);
 		fullbuffer = (char_u *) *GetTextData.theText;
-		STRCPY ((char_u *) (fullbuffer + lineStart), line);
+		STRCPY((char_u *)(fullbuffer + lineStart), line);
 		fullbuffer[BufferSize-1] = '\r';
-		HUnlock (GetTextData.theText);
+		HUnlock(GetTextData.theText);
 	    }
 	}
 	if (fullbuffer != NULL)
 	{
-	    HLock (GetTextData.theText);
+	    HLock(GetTextData.theText);
 	    fullbuffer[BufferSize-1] = 0;
-	    HUnlock (GetTextData.theText);
+	    HUnlock(GetTextData.theText);
 	}
 	if (foundFile == false)
 	    *GetTextData.theDate = fnfErr;
 	else
-/*	    *GetTextData.theDate = time (NULL) & (time_t) 0xFFFFFFF0;*/
+/*	    *GetTextData.theDate = time(NULL) & (time_t) 0xFFFFFFF0;*/
 	    *GetTextData.theDate = buf->b_mtime;
     }
 #ifdef USE_SIOUX
-    printf ("KAHL_GTTX: file \"%#s\" {%d} [date %lx, %lx]", GetTextData.theFile.name, GetTextData.theFile.parID, *GetTextData.theDate, buf->b_mtime_read);
+    printf("KAHL_GTTX: file \"%#s\" {%d} [date %lx, %lx]", GetTextData.theFile.name, GetTextData.theFile.parID, *GetTextData.theDate, buf->b_mtime_read);
     if (foundFile == false)
-	printf (" NOT");
-    printf (" found. (BufferSize = %d)\n", BufferSize);
+	printf(" NOT");
+    printf(" found. (BufferSize = %d)\n", BufferSize);
 #endif
 
-    error = HandleUnusedParms (theAEvent);
+    error = HandleUnusedParms(theAEvent);
     if (error)
     {
 #ifdef USE_SIOUX
-	printf ("KAHL_GTTX: HandleUnusedParms error: %d\n", error);
+	printf("KAHL_GTTX: HandleUnusedParms error: %d\n", error);
 #endif
 	return(error);
     }
@@ -917,48 +923,45 @@
  */
 
 /* Taken from MoreAppleEvents:ProcessHelpers*/
-pascal	OSErr	FindProcessBySignature( const OSType targetType,
+pascal	OSErr	FindProcessBySignature(const OSType targetType,
 					const OSType targetCreator,
-					      ProcessSerialNumberPtr psnPtr )
+					      ProcessSerialNumberPtr psnPtr)
 {
     OSErr	anErr = noErr;
     Boolean	lookingForProcess = true;
 
     ProcessInfoRec  infoRec;
 
-    infoRec.processInfoLength = sizeof( ProcessInfoRec );
+    infoRec.processInfoLength = sizeof(ProcessInfoRec);
     infoRec.processName = nil;
     infoRec.processAppSpec = nil;
 
     psnPtr->lowLongOfPSN = kNoProcess;
     psnPtr->highLongOfPSN = kNoProcess;
 
-    while ( lookingForProcess )
+    while (lookingForProcess)
     {
-	anErr = GetNextProcess( psnPtr );
-	if ( anErr != noErr )
-	{
+	anErr = GetNextProcess(psnPtr);
+	if (anErr != noErr)
 	    lookingForProcess = false;
-	}
 	else
 	{
-	    anErr = GetProcessInformation( psnPtr, &infoRec );
-	    if ( ( anErr == noErr )
-		 && ( infoRec.processType == targetType )
-		 && ( infoRec.processSignature == targetCreator ) )
-	    {
+	    anErr = GetProcessInformation(psnPtr, &infoRec);
+	    if ((anErr == noErr)
+		    && (infoRec.processType == targetType)
+		    && (infoRec.processSignature == targetCreator))
 		lookingForProcess = false;
-	    }
 	}
     }
 
     return anErr;
 }//end FindProcessBySignature
 
-void Send_KAHL_MOD_AE (buf_T *buf)
+    void
+Send_KAHL_MOD_AE(buf_T *buf)
 {
-    OSErr   anErr = noErr;
-    AEDesc  targetAppDesc = { typeNull, nil };
+    OSErr	anErr = noErr;
+    AEDesc	targetAppDesc = { typeNull, nil };
     ProcessSerialNumber	    psn = { kNoProcess, kNoProcess };
     AppleEvent	theReply = { typeNull, nil };
     AESendMode	sendMode;
@@ -967,48 +970,48 @@
     ModificationInfo ModData;
 
 
-    anErr = FindProcessBySignature( 'APPL', 'CWIE', &psn );
+    anErr = FindProcessBySignature('APPL', 'CWIE', &psn);
 #ifdef USE_SIOUX
-    printf ("CodeWarrior is");
+    printf("CodeWarrior is");
     if (anErr != noErr)
-	printf (" NOT");
-    printf (" running\n");
+	printf(" NOT");
+    printf(" running\n");
 #endif
-    if ( anErr == noErr )
+    if (anErr == noErr)
     {
-	anErr = AECreateDesc (typeProcessSerialNumber, &psn,
-			      sizeof( ProcessSerialNumber ), &targetAppDesc);
+	anErr = AECreateDesc(typeProcessSerialNumber, &psn,
+			      sizeof(ProcessSerialNumber), &targetAppDesc);
 
-	if ( anErr == noErr )
+	if (anErr == noErr)
 	{
 	    anErr = AECreateAppleEvent( 'KAHL', 'MOD ', &targetAppDesc,
 					kAutoGenerateReturnID, kAnyTransactionID, &theEvent);
 	}
 
-	AEDisposeDesc( &targetAppDesc );
+	AEDisposeDesc(&targetAppDesc);
 
 	/* Add the parms */
 	ModData.theFile = buf->b_FSSpec;
 	ModData.theDate = buf->b_mtime;
 
 	if (anErr == noErr)
-	    anErr =AEPutParamPtr (&theEvent, keyDirectObject, typeChar, &ModData, sizeof(ModData));
+	    anErr = AEPutParamPtr(&theEvent, keyDirectObject, typeChar, &ModData, sizeof(ModData));
 
-	if ( idleProcUPP == nil )
+	if (idleProcUPP == nil)
 	    sendMode = kAENoReply;
 	else
 	    sendMode = kAEWaitReply;
 
-	if ( anErr == noErr )
-	    anErr = AESend( &theEvent, &theReply, sendMode, kAENormalPriority, kNoTimeOut, idleProcUPP, nil );
-	if ( anErr == noErr  &&  sendMode == kAEWaitReply )
+	if (anErr == noErr)
+	    anErr = AESend(&theEvent, &theReply, sendMode, kAENormalPriority, kNoTimeOut, idleProcUPP, nil);
+	if (anErr == noErr  &&  sendMode == kAEWaitReply)
 	{
 #ifdef USE_SIOUX
-	    printf ("KAHL_MOD: Send error: %d\n", anErr);
+	    printf("KAHL_MOD: Send error: %d\n", anErr);
 #endif
-/*	    anErr =  AEHGetHandlerError( &theReply );*/
+/*	    anErr =  AEHGetHandlerError(&theReply);*/
 	}
-	(void) AEDisposeDesc( &theReply );
+	(void) AEDisposeDesc(&theReply);
     }
 }
 #endif /* FEAT_CW_EDITOR */
@@ -1024,7 +1027,8 @@
  * Handle the Unused parms of an AppleEvent
  */
 
-OSErr HandleUnusedParms (const AppleEvent *theAEvent)
+    OSErr
+HandleUnusedParms(const AppleEvent *theAEvent)
 {
     OSErr	error;
     long	actualSize;
@@ -1086,7 +1090,8 @@
    endRange are all negative, there is no selection range specified.
  */
 
-pascal OSErr HandleODocAE (const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
+    pascal OSErr
+HandleODocAE(const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
 {
     /*
      * TODO: Clean up the code with convert the AppleEvent into
@@ -1107,7 +1112,7 @@
     long	lnum;
 
 #ifdef USE_SIOUX
-    printf ("aevt_odoc:\n");
+    printf("aevt_odoc:\n");
 #endif
 
     /* the direct object parameter is the list of aliases to files (one or more) */
@@ -1115,7 +1120,7 @@
     if (error)
     {
 #ifdef USE_SIOUX
-	printf ("aevt_odoc: AEGetParamDesc error: %d\n", error);
+	printf("aevt_odoc: AEGetParamDesc error: %d\n", error);
 #endif
 	return(error);
     }
@@ -1129,13 +1134,13 @@
     if (error)
     {
 #ifdef USE_SIOUX
-	printf ("aevt_odoc: AEGetParamPtr error: %d\n", error);
+	printf("aevt_odoc: AEGetParamPtr error: %d\n", error);
 #endif
 	return(error);
     }
 
 #ifdef USE_SIOUX
-    printf ("aevt_odoc: lineNum: %d, startRange %d, endRange %d, [date %lx]\n",
+    printf("aevt_odoc: lineNum: %d, startRange %d, endRange %d, [date %lx]\n",
 	    thePosition.lineNum, thePosition.startRange, thePosition.endRange,
 	    thePosition.theDate);
 #endif
@@ -1216,11 +1221,11 @@
   finished:
     AEDisposeDesc(&theList); /* dispose what we allocated */
 
-    error = HandleUnusedParms (theAEvent);
+    error = HandleUnusedParms(theAEvent);
     if (error)
     {
 #ifdef USE_SIOUX
-	printf ("aevt_odoc: HandleUnusedParms error: %d\n", error);
+	printf("aevt_odoc: HandleUnusedParms error: %d\n", error);
 #endif
 	return(error);
     }
@@ -1231,15 +1236,16 @@
  *
  */
 
-pascal OSErr Handle_aevt_oapp_AE (const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
+    pascal OSErr
+Handle_aevt_oapp_AE(const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
 {
     OSErr	error = noErr;
 
 #ifdef USE_SIOUX
-    printf ("aevt_oapp:\n");
+    printf("aevt_oapp:\n");
 #endif
 
-    error = HandleUnusedParms (theAEvent);
+    error = HandleUnusedParms(theAEvent);
     if (error)
     {
 	return(error);
@@ -1252,15 +1258,16 @@
  *
  */
 
-pascal OSErr Handle_aevt_quit_AE (const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
+    pascal OSErr
+Handle_aevt_quit_AE(const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
 {
     OSErr	error = noErr;
 
 #ifdef USE_SIOUX
-    printf ("aevt_quit\n");
+    printf("aevt_quit\n");
 #endif
 
-    error = HandleUnusedParms (theAEvent);
+    error = HandleUnusedParms(theAEvent);
     if (error)
     {
 	return(error);
@@ -1276,15 +1283,16 @@
  *
  */
 
-pascal OSErr Handle_aevt_pdoc_AE (const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
+    pascal OSErr
+Handle_aevt_pdoc_AE(const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
 {
     OSErr	error = noErr;
 
 #ifdef USE_SIOUX
-    printf ("aevt_pdoc:\n");
+    printf("aevt_pdoc:\n");
 #endif
 
-    error = HandleUnusedParms (theAEvent);
+    error = HandleUnusedParms(theAEvent);
     if (error)
     {
 	return(error);
@@ -1298,15 +1306,16 @@
  *
  * (Just get rid of all the parms)
  */
-pascal OSErr Handle_unknown_AE (const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
+    pascal OSErr
+Handle_unknown_AE(const AppleEvent *theAEvent, AppleEvent *theReply, long refCon)
 {
     OSErr	error = noErr;
 
 #ifdef USE_SIOUX
-    printf ("Unknown Event: %x\n", theAEvent->descriptorType);
+    printf("Unknown Event: %x\n", theAEvent->descriptorType);
 #endif
 
-    error = HandleUnusedParms (theAEvent);
+    error = HandleUnusedParms(theAEvent);
     if (error)
     {
 	return(error);
@@ -1324,7 +1333,8 @@
 /*
  * Install the various AppleEvent Handlers
  */
-OSErr   InstallAEHandlers (void)
+    OSErr
+InstallAEHandlers(void)
 {
     OSErr   error;
 
@@ -1438,7 +1448,7 @@
  *  Returns the index inside the menu wher
  */
     short /* Shoulde we return MenuItemIndex? */
-gui_mac_get_menu_item_index (pMenu)
+gui_mac_get_menu_item_index(pMenu)
     vimmenu_T *pMenu;
 {
     short	index;
@@ -1475,7 +1485,7 @@
 }
 
     static vimmenu_T *
-gui_mac_get_vim_menu (menuID, itemIndex, pMenu)
+gui_mac_get_vim_menu(menuID, itemIndex, pMenu)
     short	menuID;
     short	itemIndex;
     vimmenu_T	*pMenu;
@@ -1529,7 +1539,7 @@
  */
     pascal
     void
-gui_mac_drag_thumb (ControlHandle theControl, short partCode)
+gui_mac_drag_thumb(ControlHandle theControl, short partCode)
 {
     scrollbar_T		*sb;
     int			value, dragging;
@@ -1538,13 +1548,13 @@
 
     theControlToUse = dragged_sb;
 
-    sb = gui_find_scrollbar((long) GetControlReference (theControlToUse));
+    sb = gui_find_scrollbar((long) GetControlReference(theControlToUse));
 
     if (sb == NULL)
 	return;
 
     /* Need to find value by diff between Old Poss New Pos */
-    value = GetControl32BitValue (theControlToUse);
+    value = GetControl32BitValue(theControlToUse);
     dragging = (partCode != 0);
 
     /* When "allow_scrollbar" is FALSE still need to remember the new
@@ -1556,7 +1566,7 @@
 
     pascal
     void
-gui_mac_scroll_action (ControlHandle theControl, short partCode)
+gui_mac_scroll_action(ControlHandle theControl, short partCode)
 {
     /* TODO: have live support */
     scrollbar_T *sb, *sb_info;
@@ -1566,7 +1576,7 @@
     int		dragging = FALSE;
     int		dont_scroll_save = dont_scroll;
 
-    sb = gui_find_scrollbar((long) GetControlReference (theControl));
+    sb = gui_find_scrollbar((long)GetControlReference(theControl));
 
     if (sb == NULL)
 	return;
@@ -1648,7 +1658,7 @@
  * TODO: Add support for potential TOOLBAR
  */
     void
-gui_mac_doInContentClick (theEvent, whichWindow)
+gui_mac_doInContentClick(theEvent, whichWindow)
     EventRecord *theEvent;
     WindowPtr	 whichWindow;
 {
@@ -1660,10 +1670,10 @@
     short		dblClick;
 
     thePoint = theEvent->where;
-    GlobalToLocal (&thePoint);
-    SelectWindow (whichWindow);
+    GlobalToLocal(&thePoint);
+    SelectWindow(whichWindow);
 
-    thePortion = FindControl (thePoint, whichWindow, &theControl);
+    thePortion = FindControl(thePoint, whichWindow, &theControl);
 
     if (theControl != NUL)
     {
@@ -1685,7 +1695,7 @@
 #endif
 	    /* pass 0 as the part to tell gui_mac_drag_thumb, that the mouse
 	     * button has been released */
-	    gui_mac_drag_thumb (theControl, 0); /* Should it be thePortion ? (Dany) */
+	    gui_mac_drag_thumb(theControl, 0); /* Should it be thePortion ? (Dany) */
 	    dragged_sb = NULL;
 	}
     }
@@ -1731,7 +1741,7 @@
 #endif
 #endif
 	{
-	    SetRect (&dragRect, FILL_X(X_2_COL(thePoint.h)),
+	    SetRect(&dragRect, FILL_X(X_2_COL(thePoint.h)),
 				FILL_Y(Y_2_ROW(thePoint.v)),
 				FILL_X(X_2_COL(thePoint.h)+1),
 				FILL_Y(Y_2_ROW(thePoint.v)+1));
@@ -1746,7 +1756,7 @@
  * Handle the click in the titlebar (to move the window)
  */
     void
-gui_mac_doInDragClick (where, whichWindow)
+gui_mac_doInDragClick(where, whichWindow)
     Point	where;
     WindowPtr	whichWindow;
 {
@@ -1755,11 +1765,11 @@
 
     /* TODO: may try to prevent move outside screen? */
 #ifdef USE_CARBONIZED
-    movingLimitsPtr = GetRegionBounds ( GetGrayRgn(), &movingLimits );
+    movingLimitsPtr = GetRegionBounds(GetGrayRgn(), &movingLimits);
 #else
     movingLimitsPtr = &(*GetGrayRgn())->rgnBBox;
 #endif
-    DragWindow (whichWindow, where, movingLimitsPtr);
+    DragWindow(whichWindow, where, movingLimitsPtr);
 }
 
 /*
@@ -1779,7 +1789,7 @@
 #ifdef USE_CARBONIZED
     Rect	    NewContentRect;
 
-    resizeLimitsPtr = GetRegionBounds ( GetGrayRgn(), &resizeLimits );
+    resizeLimitsPtr = GetRegionBounds(GetGrayRgn(), &resizeLimits);
 #else
     resizeLimits = qd.screenBits.bounds;
 #endif
@@ -1919,17 +1929,17 @@
     whichWindow = (WindowPtr) event->message;
 
     /* Save Current Port */
-    GetPort (&savePort);
+    GetPort(&savePort);
 
     /* Select the Window's Port */
 #ifdef USE_CARBONIZED
-    SetPortWindowPort (whichWindow);
+    SetPortWindowPort(whichWindow);
 #else
-    SetPort (whichWindow);
+    SetPort(whichWindow);
 #endif
 
     /* Let's update the window */
-      BeginUpdate (whichWindow);
+      BeginUpdate(whichWindow);
 	/* Redraw the biggest rectangle covering the area
 	 * to be updated.
 	 */
@@ -1945,9 +1955,9 @@
 	updateRgn = whichWindow->visRgn;
 #endif
 	/* Use the HLock useless in Carbon? Is it harmful?*/
-	HLock ((Handle) updateRgn);
+	HLock((Handle) updateRgn);
 #ifdef USE_CARBONIZED
-	  updateRectPtr = GetRegionBounds ( updateRgn, &updateRect );
+	  updateRectPtr = GetRegionBounds(updateRgn, &updateRect);
 # if 0
 	  /* Code from original Carbon Port (using GetWindowRegion.
 	   * I believe the UpdateRgn is already in local (Dany)
@@ -1966,33 +1976,33 @@
 	  gui_mch_set_bg_color(gui.back_pixel);
 	  if (updateRectPtr->left < FILL_X(0))
 	  {
-	    SetRect (&rc, 0, 0, FILL_X(0), FILL_Y(Rows));
-	    EraseRect (&rc);
+	    SetRect(&rc, 0, 0, FILL_X(0), FILL_Y(Rows));
+	    EraseRect(&rc);
 	  }
 	  if (updateRectPtr->top < FILL_Y(0))
 	  {
-	    SetRect (&rc, 0, 0, FILL_X(Columns), FILL_Y(0));
-	    EraseRect (&rc);
+	    SetRect(&rc, 0, 0, FILL_X(Columns), FILL_Y(0));
+	    EraseRect(&rc);
 	  }
 	  if (updateRectPtr->right > FILL_X(Columns))
 	  {
-	    SetRect (&rc, FILL_X(Columns), 0,
+	    SetRect(&rc, FILL_X(Columns), 0,
 			   FILL_X(Columns) + gui.border_offset, FILL_Y(Rows));
-	    EraseRect (&rc);
+	    EraseRect(&rc);
 	  }
 	  if (updateRectPtr->bottom > FILL_Y(Rows))
 	  {
-	    SetRect (&rc, 0, FILL_Y(Rows), FILL_X(Columns) + gui.border_offset,
+	    SetRect(&rc, 0, FILL_Y(Rows), FILL_X(Columns) + gui.border_offset,
 					    FILL_Y(Rows) + gui.border_offset);
-	    EraseRect (&rc);
+	    EraseRect(&rc);
 	  }
-	HUnlock ((Handle) updateRgn);
+	HUnlock((Handle) updateRgn);
 #ifdef USE_CARBONIZED
-	DisposeRgn (updateRgn);
+	DisposeRgn(updateRgn);
 #endif
 
 	/* Update scrollbars */
-	DrawControls (whichWindow);
+	DrawControls(whichWindow);
 
 	/* Update the GrowBox */
 	/* Taken from FAQ 33-27 */
@@ -2004,15 +2014,15 @@
 	growRect.top  = growRect.bottom - 15;
 	growRect.left = growRect.right  - 15;
 #endif
-	GetClip (saveRgn);
-	ClipRect (&growRect);
-	DrawGrowIcon (whichWindow);
-	SetClip (saveRgn);
-	DisposeRgn (saveRgn);
-      EndUpdate (whichWindow);
+	GetClip(saveRgn);
+	ClipRect(&growRect);
+	DrawGrowIcon(whichWindow);
+	SetClip(saveRgn);
+	DisposeRgn(saveRgn);
+      EndUpdate(whichWindow);
 
     /* Restore original Port */
-    SetPort (savePort);
+    SetPort(savePort);
 }
 
 /*
@@ -2040,8 +2050,8 @@
 
 #if 0	/* Removed by Dany as per above June 2001 */
 	a_bool = false;
-	SetPreserveGlyph (a_bool);
-	SetOutlinePreferred (a_bool);
+	SetPreserveGlyph(a_bool);
+	SetOutlinePreferred(a_bool);
 #endif
     }
 }
@@ -2099,8 +2109,20 @@
 
     /* Intercept CTRL-C */
     if (theEvent->modifiers & controlKey)
+    {
 	if (key_char == Ctrl_C && ctrl_c_interrupts)
 	    got_int = TRUE;
+	else if ((theEvent->modifiers & ~(controlKey|shiftKey)) == 0
+		&& (key_char == '2' || key_char == '6'))
+	{
+	    /* CTRL-^ and CTRL-@ don't work in the normal way. */
+	    if (key_char == '2')
+		key_char = Ctrl_AT;
+	    else
+		key_char = Ctrl_HAT;
+	    theEvent->modifiers = 0;
+	}
+    }
 
     /* Intercept CMD-. */
     if (theEvent->modifiers & cmdKey)
@@ -2143,8 +2165,8 @@
 			key_char = special_keys[i].vim_code0;
 		    else
 # endif
-			key_char = TO_SPECIAL( special_keys[i].vim_code0,
-						special_keys[i].vim_code1 );
+			key_char = TO_SPECIAL(special_keys[i].vim_code0,
+						special_keys[i].vim_code1);
 		    key_char = simplify_key(key_char,&modifiers);
 		    break;
 		}
@@ -2162,36 +2184,38 @@
     {
 #if 1
     /* Clear modifiers when only one modifier is set */
-	if( (modifiers == MOD_MASK_SHIFT) ||
-	    (modifiers == MOD_MASK_CTRL)  ||
-	    (modifiers == MOD_MASK_ALT))
+	if ((modifiers == MOD_MASK_SHIFT)
+		|| (modifiers == MOD_MASK_CTRL)
+		|| (modifiers == MOD_MASK_ALT))
 	    modifiers = 0;
 #else
-	if( modifiers & MOD_MASK_CTRL)
+	if (modifiers & MOD_MASK_CTRL)
 	    modifiers = modifiers & ~MOD_MASK_CTRL;
-	if( modifiers & MOD_MASK_ALT)
+	if (modifiers & MOD_MASK_ALT)
 	    modifiers = modifiers & ~MOD_MASK_ALT;
-	if( modifiers & MOD_MASK_SHIFT)
+	if (modifiers & MOD_MASK_SHIFT)
 	    modifiers = modifiers & ~MOD_MASK_SHIFT;
 #endif
     }
-	if( modifiers )
+	if (modifiers)
 	{
-	    string[ len++ ] = CSI;
-	    string[ len++ ] = KS_MODIFIER;
-	    string[ len++ ] = modifiers;
+	    string[len++] = CSI;
+	    string[len++] = KS_MODIFIER;
+	    string[len++] = modifiers;
 	}
 
-	if( IS_SPECIAL( key_char ) )
+	if (IS_SPECIAL(key_char))
 	{
-	    string[ len++ ] = CSI;
-	    string[ len++ ] = K_SECOND( key_char );
-	    string[ len++ ] = K_THIRD( key_char );
+	    string[len++] = CSI;
+	    string[len++] = K_SECOND(key_char);
+	    string[len++] = K_THIRD(key_char);
 	}
 	else
 	{
 #ifdef FEAT_MBYTE
-	    if (input_conv.vc_type != CONV_NONE)
+	    /* Convert characters when needed (e.g., from MacRoman to latin1).
+	     * This doesn't work for the NUL byte. */
+	    if (input_conv.vc_type != CONV_NONE && key_char > 0)
 	    {
 		char_u	from[2], *to;
 		int	l;
@@ -2236,13 +2260,13 @@
  * Handle MouseClick
  */
     void
-gui_mac_doMouseDownEvent (theEvent)
+gui_mac_doMouseDownEvent(theEvent)
     EventRecord *theEvent;
 {
     short		thePart;
     WindowPtr		whichWindow;
 
-    thePart = FindWindow (theEvent->where, &whichWindow);
+    thePart = FindWindow(theEvent->where, &whichWindow);
 
     switch (thePart)
     {
@@ -2251,19 +2275,19 @@
 	    break;
 
 	case (inMenuBar):
-	    gui_mac_handle_menu(MenuSelect (theEvent->where));
+	    gui_mac_handle_menu(MenuSelect(theEvent->where));
 	    break;
 
 	case (inContent):
-	    gui_mac_doInContentClick (theEvent, whichWindow);
+	    gui_mac_doInContentClick(theEvent, whichWindow);
 	    break;
 
 	case (inDrag):
-	    gui_mac_doInDragClick (theEvent->where, whichWindow);
+	    gui_mac_doInDragClick(theEvent->where, whichWindow);
 	    break;
 
 	case (inGrow):
-	    gui_mac_doInGrowClick (theEvent->where, whichWindow);
+	    gui_mac_doInGrowClick(theEvent->where, whichWindow);
 	    break;
 
 	case (inGoAway):
@@ -2285,18 +2309,18 @@
  * [this event is a moving in and out of a region]
  */
     void
-gui_mac_doMouseMovedEvent (event)
+gui_mac_doMouseMovedEvent(event)
     EventRecord *event;
 {
     Point   thePoint;
     int_u   vimModifiers;
 
     thePoint = event->where;
-    GlobalToLocal (&thePoint);
+    GlobalToLocal(&thePoint);
     vimModifiers = EventModifiers2VimMouseModifiers(event->modifiers);
 
     if (!Button())
-	gui_mouse_moved (thePoint.h, thePoint.v);
+	gui_mouse_moved(thePoint.h, thePoint.v);
     else
 #ifdef USE_CTRLCLICKMENU
 	if (!clickIsPopup)
@@ -2305,7 +2329,7 @@
 					     thePoint.v, FALSE, vimModifiers);
 
     /* Reset the region from which we move in and out */
-    SetRect (&dragRect, FILL_X(X_2_COL(thePoint.h)),
+    SetRect(&dragRect, FILL_X(X_2_COL(thePoint.h)),
 			FILL_Y(Y_2_ROW(thePoint.v)),
 			FILL_X(X_2_COL(thePoint.h)+1),
 			FILL_Y(Y_2_ROW(thePoint.v)+1));
@@ -2319,7 +2343,7 @@
  * Handle the mouse release
  */
     void
-gui_mac_doMouseUpEvent (theEvent)
+gui_mac_doMouseUpEvent(theEvent)
     EventRecord *theEvent;
 {
     Point   thePoint;
@@ -2331,7 +2355,7 @@
     dragRectEnbl = FALSE;
     dragRectControl = kCreateEmpty;
     thePoint = theEvent->where;
-    GlobalToLocal (&thePoint);
+    GlobalToLocal(&thePoint);
 
     vimModifiers = EventModifiers2VimMouseModifiers(theEvent->modifiers);
 #ifdef USE_CTRLCLICKMENU
@@ -2341,8 +2365,7 @@
 	clickIsPopup = FALSE;
     }
 #endif
-    gui_send_mouse_event
-      (MOUSE_RELEASE, thePoint.h, thePoint.v, FALSE, vimModifiers);
+    gui_send_mouse_event(MOUSE_RELEASE, thePoint.h, thePoint.v, FALSE, vimModifiers);
 }
 
 #ifdef USE_MOUSEWHEEL
@@ -2431,7 +2454,7 @@
 	/* Handle the menu CntxMenuID, CntxMenuItem */
 	/* The submenu can be handle directly by gui_mac_handle_menu */
 	/* But what about the current menu, is the meny changed by ContextualMenuSelect */
-	gui_mac_handle_menu ((CntxMenuID << 16) + CntxMenuItem);
+	gui_mac_handle_menu((CntxMenuID << 16) + CntxMenuItem);
     }
     else if (CntxMenuID == kCMShowHelpSelected)
     {
@@ -2464,9 +2487,9 @@
 	{
 #ifndef USE_CARBONIZED
 	    /* Desk Accessory doesn't exist in Carbon */
-	    appleMenu = GetMenuHandle (menu);
-	    GetMenuItemText (appleMenu, item, itemName);
-	    (void) OpenDeskAcc (itemName);
+	    appleMenu = GetMenuHandle(menu);
+	    GetMenuItemText(appleMenu, item, itemName);
+	    (void) OpenDeskAcc(itemName);
 #endif
 	}
     }
@@ -2477,7 +2500,7 @@
 	if (theVimMenu)
 	    gui_menu_cb(theVimMenu);
     }
-    HiliteMenu (0);
+    HiliteMenu(0);
 }
 
 /*
@@ -2485,7 +2508,7 @@
  */
 
     void
-gui_mac_handle_event (event)
+gui_mac_handle_event(event)
     EventRecord *event;
 {
     OSErr	error;
@@ -2509,7 +2532,7 @@
     {
 	case (keyDown):
 	case (autoKey):
-	    gui_mac_doKeyEvent (event);
+	    gui_mac_doKeyEvent(event);
 	    break;
 
 	case (keyUp):
@@ -2525,7 +2548,7 @@
 	    break;
 
 	case (updateEvt):
-	    gui_mac_doUpdateEvent (event);
+	    gui_mac_doUpdateEvent(event);
 	    break;
 
 	case (diskEvt):
@@ -2533,17 +2556,17 @@
 	    break;
 
 	case (activateEvt):
-	    gui_mac_doActivateEvent (event);
+	    gui_mac_doActivateEvent(event);
 	    break;
 
 	case (osEvt):
 	    switch ((event->message >> 24) & 0xFF)
 	    {
 		case (0xFA): /* mouseMovedMessage */
-		    gui_mac_doMouseMovedEvent (event);
+		    gui_mac_doMouseMovedEvent(event);
 		    break;
 		case (0x01): /* suspendResumeMessage */
-		    gui_mac_doSuspendEvent (event);
+		    gui_mac_doSuspendEvent(event);
 		    break;
 	    }
 	    break;
@@ -2565,7 +2588,7 @@
 
 
     GuiFont
-gui_mac_find_font (font_name)
+gui_mac_find_font(font_name)
     char_u *font_name;
 {
     char_u	c;
@@ -2590,12 +2613,12 @@
     pFontName[0] = STRLEN(font_name);
     *p = c;
 
-    GetFNum (pFontName, &font_id);
+    GetFNum(pFontName, &font_id);
 #else
     /* name = C2Pascal_save(menu->dname); */
     fontNamePtr = C2Pascal_save_and_remove_backslash(font_name);
 
-    GetFNum (fontNamePtr, &font_id);
+    GetFNum(fontNamePtr, &font_id);
 #endif
 
 
@@ -2603,7 +2626,7 @@
     {
 	/* Oups, the system font was it the one the user want */
 
-	GetFontName (0, systemFontname);
+	GetFontName(0, systemFontname);
 	if (!EqualString(pFontName, systemFontname, false, false))
 	    return NOFONT;
     }
@@ -2709,36 +2732,36 @@
     SIOUXSettings.showstatusline = true;
     SIOUXSettings.toppixel = 300;
     SIOUXSettings.leftpixel = 10;
-    InstallConsole (1); /* fileno(stdout) = 1, on page 430 of MSL C */
-    printf ("Debugging console enabled\n");
-    /*	SIOUXSetTitle ((char_u *) "Vim Stdout"); */
+    InstallConsole(1); /* fileno(stdout) = 1, on page 430 of MSL C */
+    printf("Debugging console enabled\n");
+    /*	SIOUXSetTitle((char_u *) "Vim Stdout"); */
 #endif
 
-    pomme = NewMenu (256, "\p\024"); /* 0x14= = Apple Menu */
+    pomme = NewMenu(256, "\p\024"); /* 0x14= = Apple Menu */
 
-    AppendMenu (pomme, "\pAbout VIM");
+    AppendMenu(pomme, "\pAbout VIM");
 #ifndef USE_CARBONIZED
-    AppendMenu (pomme, "\p-");
-    AppendResMenu (pomme, 'DRVR');
+    AppendMenu(pomme, "\p-");
+    AppendResMenu(pomme, 'DRVR');
 #endif
 
-    InsertMenu (pomme, 0);
+    InsertMenu(pomme, 0);
 
     DrawMenuBar();
 
 
 #ifndef USE_OFFSETED_WINDOW
-    SetRect (&windRect, 10, 48, 10+80*7 + 16, 48+24*11);
+    SetRect(&windRect, 10, 48, 10+80*7 + 16, 48+24*11);
 #else
-    SetRect (&windRect, 300, 40, 300+80*7 + 16, 40+24*11);
+    SetRect(&windRect, 300, 40, 300+80*7 + 16, 40+24*11);
 #endif
 
 
 #ifdef USE_CARBONIZED
     CreateNewWindow(kDocumentWindowClass,
 		kWindowResizableAttribute | kWindowCollapseBoxAttribute,
-		&windRect, &gui.VimWindow );
-    SetPortWindowPort ( gui.VimWindow );
+		&windRect, &gui.VimWindow);
+    SetPortWindowPort(gui.VimWindow);
 #else
     gui.VimWindow = NewCWindow(nil, &windRect, "\pgVim on Macintosh", true, documentProc,
 			(WindowPtr) -1L, false, 0);
@@ -2753,11 +2776,11 @@
     gui.in_focus = TRUE; /* For the moment -> syn. of front application */
 
 #if TARGET_API_MAC_CARBON
-    gScrollAction = NewControlActionUPP (gui_mac_scroll_action);
-    gScrollDrag   = NewControlActionUPP (gui_mac_drag_thumb);
+    gScrollAction = NewControlActionUPP(gui_mac_scroll_action);
+    gScrollDrag   = NewControlActionUPP(gui_mac_drag_thumb);
 #else
-    gScrollAction = NewControlActionProc (gui_mac_scroll_action);
-    gScrollDrag   = NewControlActionProc (gui_mac_drag_thumb);
+    gScrollAction = NewControlActionProc(gui_mac_scroll_action);
+    gScrollDrag   = NewControlActionProc(gui_mac_drag_thumb);
 #endif
 
     /* Getting a handle to the Help menu */
@@ -2769,7 +2792,7 @@
 # endif
 
     if (gui.MacOSHelpMenu != nil)
-	gui.MacOSHelpItems = CountMenuItems (gui.MacOSHelpMenu);
+	gui.MacOSHelpItems = CountMenuItems(gui.MacOSHelpMenu);
     else
 	gui.MacOSHelpItems = 0;
 #endif
@@ -2781,25 +2804,25 @@
 #endif
 #ifdef USE_EXE_NAME
 # ifndef USE_FIND_BUNDLE_PATH
-    HGetVol (volName, &applVRefNum, &applDirID);
+    HGetVol(volName, &applVRefNum, &applDirID);
     /* TN2015: mention a possible bad VRefNum */
-    FSMakeFSSpec (applVRefNum, applDirID, "\p", &applDir);
+    FSMakeFSSpec(applVRefNum, applDirID, "\p", &applDir);
 # else
     /* OSErr GetApplicationBundleFSSpec(FSSpecPtr theFSSpecPtr)
      * of TN2015
      * This technic remove the ../Contents/MacOS/etc part
      */
-    (void) GetCurrentProcess(&psn);
+    (void)GetCurrentProcess(&psn);
     /* if (err != noErr) return err; */
 
-    (void) GetProcessBundleLocation(&psn, &applFSRef);
+    (void)GetProcessBundleLocation(&psn, &applFSRef);
     /* if (err != noErr) return err; */
 
-    (void) FSGetCatalogInfo(&applFSRef, kFSCatInfoNone, NULL, NULL, &applDir, NULL);
+    (void)FSGetCatalogInfo(&applFSRef, kFSCatInfoNone, NULL, NULL, &applDir, NULL);
 
     /* This technic return NIL when we disallow_gui */
 # endif
-    exe_name = FullPathFromFSSpec_save (applDir);
+    exe_name = FullPathFromFSSpec_save(applDir);
 #endif
 
 #ifdef USE_VIM_CREATOR_ID
@@ -2925,28 +2948,28 @@
     SIOUXSettings.showstatusline = true;
     SIOUXSettings.toppixel = 300;
     SIOUXSettings.leftpixel = 10;
-    InstallConsole (1); /* fileno(stdout) = 1, on page 430 of MSL C */
-    printf ("Debugging console enabled\n");
-    /*	SIOUXSetTitle ((char_u *) "Vim Stdout"); */
+    InstallConsole(1); /* fileno(stdout) = 1, on page 430 of MSL C */
+    printf("Debugging console enabled\n");
+    /*	SIOUXSetTitle((char_u *) "Vim Stdout"); */
 #endif
 
-    pomme = NewMenu (256, "\p\024"); /* 0x14= = Apple Menu */
+    pomme = NewMenu(256, "\p\024"); /* 0x14= = Apple Menu */
 
-    AppendMenu (pomme, "\pAbout VIM");
+    AppendMenu(pomme, "\pAbout VIM");
 #ifndef USE_CARBONIZED
-    AppendMenu (pomme, "\p-");
-    AppendResMenu (pomme, 'DRVR');
+    AppendMenu(pomme, "\p-");
+    AppendResMenu(pomme, 'DRVR');
 #endif
 
-    InsertMenu (pomme, 0);
+    InsertMenu(pomme, 0);
 
     DrawMenuBar();
 
 
 #ifndef USE_OFFSETED_WINDOW
-    SetRect (&windRect, 10, 48, 10+80*7 + 16, 48+24*11);
+    SetRect(&windRect, 10, 48, 10+80*7 + 16, 48+24*11);
 #else
-    SetRect (&windRect, 300, 40, 300+80*7 + 16, 40+24*11);
+    SetRect(&windRect, 300, 40, 300+80*7 + 16, 40+24*11);
 #endif
 
     gui.VimWindow = NewCWindow(nil, &windRect, "\pgVim on Macintosh", true,
@@ -2959,7 +2982,7 @@
     InstallReceiveHandler((DragReceiveHandlerUPP)receiveHandler,
 	    gui.VimWindow, NULL);
 #ifdef USE_CARBONIZED
-    SetPortWindowPort ( gui.VimWindow );
+    SetPortWindowPort(gui.VimWindow);
 #else
     SetPort(gui.VimWindow);
 #endif
@@ -2972,11 +2995,11 @@
     gui.in_focus = TRUE; /* For the moment -> syn. of front application */
 
 #if TARGET_API_MAC_CARBON
-    gScrollAction = NewControlActionUPP (gui_mac_scroll_action);
-    gScrollDrag   = NewControlActionUPP (gui_mac_drag_thumb);
+    gScrollAction = NewControlActionUPP(gui_mac_scroll_action);
+    gScrollDrag   = NewControlActionUPP(gui_mac_drag_thumb);
 #else
-    gScrollAction = NewControlActionProc (gui_mac_scroll_action);
-    gScrollDrag   = NewControlActionProc (gui_mac_drag_thumb);
+    gScrollAction = NewControlActionProc(gui_mac_scroll_action);
+    gScrollDrag   = NewControlActionProc(gui_mac_drag_thumb);
 #endif
 
     /* Getting a handle to the Help menu */
@@ -2988,7 +3011,7 @@
 # endif
 
     if (gui.MacOSHelpMenu != nil)
-	gui.MacOSHelpItems = CountMenuItems (gui.MacOSHelpMenu);
+	gui.MacOSHelpItems = CountMenuItems(gui.MacOSHelpMenu);
     else
 	gui.MacOSHelpItems = 0;
 #endif
@@ -3123,7 +3146,7 @@
     OSStatus	status;
 
     /* Carbon >= 1.0.2, MacOS >= 8.5 */
-    status = GetWindowBounds (gui.VimWindow, kWindowStructureRgn, &bounds);
+    status = GetWindowBounds(gui.VimWindow, kWindowStructureRgn, &bounds);
 
     if (status != noErr)
 	return FAIL;
@@ -3164,10 +3187,10 @@
     if (gui.which_scrollbars[SBAR_LEFT])
     {
 #ifdef USE_CARBONIZED
-	VimPort = GetWindowPort ( gui.VimWindow );
-	GetPortBounds (VimPort, &VimBound);
+	VimPort = GetWindowPort(gui.VimWindow);
+	GetPortBounds(VimPort, &VimBound);
 	VimBound.left = -gui.scrollbar_width; /* + 1;*/
-	SetPortBounds (VimPort, &VimBound);
+	SetPortBounds(VimPort, &VimBound);
     /*	GetWindowBounds(gui.VimWindow, kWindowGlobalPortRgn, &winPortRect); ??*/
 #else
 	gui.VimWindow->portRect.left = -gui.scrollbar_width; /* + 1;*/
@@ -3177,10 +3200,10 @@
     else
     {
 #ifdef USE_CARBONIZED
-	VimPort = GetWindowPort ( gui.VimWindow );
-	GetPortBounds (VimPort, &VimBound);
+	VimPort = GetWindowPort(gui.VimWindow);
+	GetPortBounds(VimPort, &VimBound);
 	VimBound.left = 0;
-	SetPortBounds (VimPort, &VimBound);
+	SetPortBounds(VimPort, &VimBound);
 #else
 	gui.VimWindow->portRect.left = 0;
 #endif;
@@ -3241,20 +3264,20 @@
     }
     else
     {
-	font = gui_mac_find_font (font_name);
+	font = gui_mac_find_font(font_name);
 
 	if (font == NOFONT)
 	    return FAIL;
     }
     gui.norm_font = font;
 
-    TextSize (font >> 16);
-    TextFont (font & 0xFFFF);
+    TextSize(font >> 16);
+    TextFont(font & 0xFFFF);
 
-    GetFontInfo (&font_info);
+    GetFontInfo(&font_info);
 
     gui.char_ascent = font_info.ascent;
-    gui.char_width  = CharWidth ('_');
+    gui.char_width  = CharWidth('_');
     gui.char_height = font_info.ascent + font_info.descent + p_linespace;
 
     return OK;
@@ -3266,7 +3289,7 @@
 {
     FontInfo    font_info;
 
-    GetFontInfo (&font_info);
+    GetFontInfo(&font_info);
     gui.char_height = font_info.ascent + font_info.descent + p_linespace;
     gui.char_ascent = font_info.ascent + p_linespace / 2;
     return OK;
@@ -3425,10 +3448,10 @@
     }
     else
     {
-	if (STRICMP (name, "hilite") == 0)
+	if (STRICMP(name, "hilite") == 0)
 	{
-	    LMGetHiliteRGB (&MacColor);
-	    return (RGB (MacColor.red >> 8, MacColor.green >> 8, MacColor.blue >> 8));
+	    LMGetHiliteRGB(&MacColor);
+	    return (RGB(MacColor.red >> 8, MacColor.green >> 8, MacColor.blue >> 8));
 	}
 	/* Check if the name is one of the colors we know */
 	for (i = 0; i < sizeof(table) / sizeof(table[0]); i++)
@@ -3504,7 +3527,7 @@
     TheColor.green = Green(color) * 0x0101;
     TheColor.blue = Blue(color) * 0x0101;
 
-    RGBForeColor (&TheColor);
+    RGBForeColor(&TheColor);
 }
 
 /*
@@ -3520,7 +3543,7 @@
     TheColor.green = Green(color) * 0x0101;
     TheColor.blue = Blue(color) * 0x0101;
 
-    RGBBackColor (&TheColor);
+    RGBBackColor(&TheColor);
 }
 
     void
@@ -3597,31 +3620,31 @@
 #endif
     {
 	/* Use old-style, non-antialiased QuickDraw text rendering. */
-	TextMode (srcCopy);
-	TextFace (normal);
+	TextMode(srcCopy);
+	TextFace(normal);
 
     /*  SelectFont(hdc, gui.currFont); */
 
 	if (flags & DRAW_TRANSP)
 	{
-	    TextMode (srcOr);
+	    TextMode(srcOr);
 	}
 
-	MoveTo (TEXT_X(col), TEXT_Y(row));
-	DrawText ((char *)s, 0, len);
+	MoveTo(TEXT_X(col), TEXT_Y(row));
+	DrawText((char *)s, 0, len);
 
 
 	if (flags & DRAW_BOLD)
 	{
-	    TextMode (srcOr);
-	    MoveTo (TEXT_X(col) + 1, TEXT_Y(row));
-	    DrawText ((char *)s, 0, len);
+	    TextMode(srcOr);
+	    MoveTo(TEXT_X(col) + 1, TEXT_Y(row));
+	    DrawText((char *)s, 0, len);
 	}
 
 	if (flags & DRAW_UNDERL)
 	{
-	    MoveTo (FILL_X(col), FILL_Y(row + 1) - 1);
-	    LineTo (FILL_X(col + len) - 1, FILL_Y(row + 1) - 1);
+	    MoveTo(FILL_X(col), FILL_Y(row + 1) - 1);
+	    LineTo(FILL_X(col + len) - 1, FILL_Y(row + 1) - 1);
 	}
     }
 
@@ -3649,7 +3672,7 @@
     void
 gui_mch_beep()
 {
-    SysBeep (1); /* Should this be 0? (????) */
+    SysBeep(1); /* Should this be 0? (????) */
 }
 
     void
@@ -3740,7 +3763,7 @@
 
     gui_mch_set_fg_color(color);
 
-    FrameRect (&rc);
+    FrameRect(&rc);
 }
 
 /*
@@ -3767,7 +3790,7 @@
 
     gui_mch_set_fg_color(color);
 
-    PaintRect (&rc);
+    PaintRect(&rc);
 }
 
 
@@ -3791,7 +3814,7 @@
      */
     EventRecord theEvent;
 
-    if (EventAvail (everyEvent, &theEvent))
+    if (EventAvail(everyEvent, &theEvent))
 	if (theEvent.what != nullEvent)
 	    gui_mch_wait_for_chars(0);
 }
@@ -3806,7 +3829,7 @@
 #endif
     pascal
     Boolean
-WaitNextEventWrp (EventMask eventMask, EventRecord *theEvent, UInt32 sleep, RgnHandle mouseRgn)
+WaitNextEventWrp(EventMask eventMask, EventRecord *theEvent, UInt32 sleep, RgnHandle mouseRgn)
 {
     if (((long) sleep) < -1)
 	sleep = 32767;
@@ -3857,7 +3880,7 @@
 	else*/ if (dragRectControl == kCreateRect)
 	{
 	    dragRgn = cursorRgn;
-	    RectRgn (dragRgn, &dragRect);
+	    RectRgn(dragRgn, &dragRect);
 	    dragRectControl = kNothing;
 	}
 	/*
@@ -3871,12 +3894,12 @@
 	    sleeppyTick = 60*wtime/1000;
 	else
 	    sleeppyTick = 32767;
-	if (WaitNextEventWrp (mask, &event, sleeppyTick, dragRgn))
+	if (WaitNextEventWrp(mask, &event, sleeppyTick, dragRgn))
 	{
 #ifdef USE_SIOUX
 	    if (!SIOUXHandleOneEvent(&event))
 #endif
-		gui_mac_handle_event (&event);
+		gui_mac_handle_event(&event);
 	    if (input_available())
 	    {
 		allow_scrollbar = FALSE;
@@ -3929,7 +3952,7 @@
     rc.bottom = FILL_Y(row2 + 1);
 
     gui_mch_set_bg_color(gui.back_pixel);
-    EraseRect (&rc);
+    EraseRect(&rc);
 }
 
 /*
@@ -3970,7 +3993,7 @@
     rc.bottom = FILL_Y(gui.scroll_region_bot + 1);
 
     gui_mch_set_bg_color(gui.back_pixel);
-    ScrollRect (&rc, 0, -num_lines * gui.char_height, (RgnHandle) nil);
+    ScrollRect(&rc, 0, -num_lines * gui.char_height, (RgnHandle) nil);
 
     gui_clear_block(gui.scroll_region_bot - num_lines + 1,
 						       gui.scroll_region_left,
@@ -3995,7 +4018,7 @@
 
     gui_mch_set_bg_color(gui.back_pixel);
 
-    ScrollRect (&rc, 0, gui.char_height * num_lines, (RgnHandle) nil);
+    ScrollRect(&rc, 0, gui.char_height * num_lines, (RgnHandle) nil);
 
     /* Update gui.cursor_row if the cursor scrolled or copied over */
     if (gui.cursor_row >= gui.row
@@ -4028,6 +4051,7 @@
     ScrapFlavorFlags	scrapFlags;
     ScrapRef    scrap = nil;
     OSStatus	error;
+    int		flavor;
 #else
     long	scrapOffset;
     long	scrapSize;
@@ -4038,19 +4062,31 @@
 
 
 #ifdef USE_CARBONIZED
-    error = GetCurrentScrap (&scrap);
+    error = GetCurrentScrap(&scrap);
     if (error != noErr)
 	return;
 
-    error = GetScrapFlavorFlags(scrap, kScrapFlavorTypeText, &scrapFlags);
-    if (error != noErr)
-	return;
+    flavor = 0;
+    error = GetScrapFlavorFlags(scrap, VIMSCRAPFLAVOR, &scrapFlags);
+    if (error == noErr)
+    {
+	error = GetScrapFlavorSize(scrap, VIMSCRAPFLAVOR, &scrapSize);
+	if (error == noErr && scrapSize > 1)
+	    flavor = 1;
+    }
 
-    error = GetScrapFlavorSize (scrap, kScrapFlavorTypeText, &scrapSize);
-    if (error != noErr)
-	return;
+    if (flavor == 0)
+    {
+	error = GetScrapFlavorFlags(scrap, kScrapFlavorTypeText, &scrapFlags);
+	if (error != noErr)
+	    return;
 
-    ReserveMem (scrapSize);
+	error = GetScrapFlavorSize(scrap, kScrapFlavorTypeText, &scrapSize);
+	if (error != noErr)
+	    return;
+    }
+
+    ReserveMem(scrapSize);
 #else
     /* Call to LoadScrap seem to avoid problem with crash on first paste */
     scrapSize = LoadScrap();
@@ -4061,23 +4097,28 @@
     {
 #ifdef USE_CARBONIZED
 	/* In CARBON we don't need a Handle, a pointer is good */
-	textOfClip = NewHandle (scrapSize);
+	textOfClip = NewHandle(scrapSize);
 	/* tempclip = lalloc(scrapSize+1, TRUE); */
 #else
 	textOfClip = NewHandle(0);
 #endif
-	HLock (textOfClip);
+	HLock(textOfClip);
 #ifdef USE_CARBONIZED
-	error = GetScrapFlavorData (scrap, kScrapFlavorTypeText, &scrapSize, *textOfClip);
+	error = GetScrapFlavorData(scrap,
+		flavor ? VIMSCRAPFLAVOR : kScrapFlavorTypeText,
+		&scrapSize, *textOfClip);
 #else
 	scrapSize = GetScrap(textOfClip, 'TEXT', &scrapOffset);
 #endif
 
-	type = (strchr(*textOfClip, '\r') != NULL) ? MLINE : MCHAR;
+	if (flavor)
+	    type = **textOfClip;
+	else
+	    type = (strchr(*textOfClip, '\r') != NULL) ? MLINE : MCHAR;
 
 	tempclip = lalloc(scrapSize+1, TRUE);
-	STRNCPY(tempclip, *textOfClip, scrapSize);
-	tempclip[scrapSize] = 0;
+	STRNCPY(tempclip, *textOfClip + flavor, scrapSize - flavor);
+	tempclip[scrapSize - flavor] = 0;
 
 	searchCR = (char *)tempclip;
 	while (searchCR != NULL)
@@ -4184,15 +4225,23 @@
 	ZeroScrap();
 #endif
 
+#ifdef USE_CARBONIZED
+	textOfClip = NewHandle(scrapSize + 1);
+#else
 	textOfClip = NewHandle(scrapSize);
+#endif
 	HLock(textOfClip);
 
-	STRNCPY(*textOfClip, str, scrapSize);
 #ifdef USE_CARBONIZED
-	GetCurrentScrap (&scrap);
+	**textOfClip = type;
+	STRNCPY(*textOfClip + 1, str, scrapSize);
+	GetCurrentScrap(&scrap);
 	PutScrapFlavor(scrap, kScrapFlavorTypeText, kScrapFlavorMaskNone,
-			scrapSize, *textOfClip);
+		scrapSize, *textOfClip + 1);
+	PutScrapFlavor(scrap, VIMSCRAPFLAVOR, kScrapFlavorMaskNone,
+		scrapSize + 1, *textOfClip);
 #else
+	STRNCPY(*textOfClip, str, scrapSize);
 	PutScrap(scrapSize, 'TEXT', *textOfClip);
 #endif
 	HUnlock(textOfClip);
@@ -4211,7 +4260,7 @@
 {
     Rect	VimBound;
 
-/*  HideWindow (gui.VimWindow); */
+/*  HideWindow(gui.VimWindow); */
 #ifdef USE_CARBONIZED
     GetWindowBounds(gui.VimWindow, kWindowGlobalPortRgn, &VimBound);
 #else
@@ -4231,7 +4280,7 @@
     SetWindowBounds(gui.VimWindow, kWindowGlobalPortRgn, &VimBound);
 #endif
 
-    ShowWindow (gui.VimWindow);
+    ShowWindow(gui.VimWindow);
 }
 
 /*
@@ -4321,11 +4370,11 @@
 #endif
     {
 	/* Carbon suggest use of
-	 * OSStatus CreateNewMenu ( MenuID, MenuAttributes, MenuRef *);
-	 * OSStatus SetMenuTitle ( MenuRef, ConstStr255Param title );
+	 * OSStatus CreateNewMenu(MenuID, MenuAttributes, MenuRef *);
+	 * OSStatus SetMenuTitle(MenuRef, ConstStr255Param title);
 	 */
 	menu->submenu_id = next_avail_id;
-	menu->submenu_handle = NewMenu (menu->submenu_id, name);
+	menu->submenu_handle = NewMenu(menu->submenu_id, name);
 	next_avail_id++;
     }
 
@@ -4341,7 +4390,7 @@
 #ifdef USE_HELPMENU
 	if (menu->submenu_id != kHMHelpMenuID)
 #endif
-	    InsertMenu (menu->submenu_handle, menu_after_me); /* insert before */
+	    InsertMenu(menu->submenu_handle, menu_after_me); /* insert before */
 #if 1
 	/* Vim should normally update it. TODO: verify */
 	DrawMenuBar();
@@ -4351,7 +4400,7 @@
     {
 	/* Adding as a submenu */
 
-	index = gui_mac_get_menu_item_index (menu);
+	index = gui_mac_get_menu_item_index(menu);
 
 	/* Call InsertMenuItem followed by SetMenuItemText
 	 * to avoid special character recognition by InsertMenuItem
@@ -4363,7 +4412,7 @@
 	InsertMenu(menu->submenu_handle, hierMenu);
     }
 
-    vim_free (name);
+    vim_free(name);
 
 #if 0
     /* Done by Vim later on */
@@ -4502,7 +4551,7 @@
 gui_mch_destroy_menu(menu)
     vimmenu_T	*menu;
 {
-    short	index = gui_mac_get_menu_item_index (menu);
+    short	index = gui_mac_get_menu_item_index(menu);
 
     if (index > 0)
     {
@@ -4513,20 +4562,20 @@
 #endif
 	{
 	    /* For now just don't delete help menu items. (Huh? Dany) */
-	    DeleteMenuItem (menu->parent->submenu_handle, index);
+	    DeleteMenuItem(menu->parent->submenu_handle, index);
 
 	    /* Delete the Menu if it was a hierarchical Menu */
 	    if (menu->submenu_id != 0)
 	    {
-		DeleteMenu (menu->submenu_id);
-		DisposeMenu (menu->submenu_handle);
+		DeleteMenu(menu->submenu_id);
+		DisposeMenu(menu->submenu_handle);
 	    }
 	}
 #ifdef USE_HELPMENU
 # ifdef DEBUG_MAC_MENU
 	else
 	{
-	    printf ("gmdm 1\n");
+	    printf("gmdm 1\n");
 	}
 # endif
 #endif
@@ -4534,7 +4583,7 @@
 #ifdef DEBUG_MAC_MENU
       else
       {
-	printf ("gmdm 2\n");
+	printf("gmdm 2\n");
       }
 #endif
     }
@@ -4545,8 +4594,8 @@
 	if (menu->submenu_id != kHMHelpMenuID)
 #endif
 	{
-	    DeleteMenu (menu->submenu_id);
-	    DisposeMenu (menu->submenu_handle);
+	    DeleteMenu(menu->submenu_id);
+	    DisposeMenu(menu->submenu_handle);
 	}
     }
     /* Shouldn't this be already done by Vim. TODO: Check */
@@ -4562,7 +4611,7 @@
     int		grey;
 {
     /* TODO: Check if menu really exists */
-    short index = gui_mac_get_menu_item_index (menu);
+    short index = gui_mac_get_menu_item_index(menu);
 /*
     index = menu->index;
 */
@@ -4593,7 +4642,7 @@
     int		hidden;
 {
     /* There's no hidden mode on MacOS */
-    gui_mch_menu_grey (menu, hidden);
+    gui_mch_menu_grey(menu, hidden);
 }
 
 
@@ -4622,7 +4671,7 @@
 	HideControl(sb->id);
 
 #ifdef DEBUG_MAC_SB
-    printf ("enb_sb (%x) %x\n",sb->id, flag);
+    printf("enb_sb (%x) %x\n",sb->id, flag);
 #endif
 }
 
@@ -4637,7 +4686,7 @@
     SetControl32BitMinimum (sb->id, 0);
     SetControl32BitValue   (sb->id, val);
 #ifdef DEBUG_MAC_SB
-    printf ("thumb_sb (%x) %x, %x,%x\n",sb->id, val, size, max);
+    printf("thumb_sb (%x) %x, %x,%x\n",sb->id, val, size, max);
 #endif
 }
 
@@ -4652,13 +4701,13 @@
     gui_mch_set_bg_color(gui.back_pixel);
 /*  if (gui.which_scrollbars[SBAR_LEFT])
     {
-	MoveControl (sb->id, x-16, y);
-	SizeControl (sb->id, w + 1, h);
+	MoveControl(sb->id, x-16, y);
+	SizeControl(sb->id, w + 1, h);
     }
     else
     {
-	MoveControl (sb->id, x, y);
-	SizeControl (sb->id, w + 1, h);
+	MoveControl(sb->id, x, y);
+	SizeControl(sb->id, w + 1, h);
     }*/
     if (sb == &gui.bottom_sbar)
 	h += 1;
@@ -4668,10 +4717,10 @@
     if (gui.which_scrollbars[SBAR_LEFT])
 	x -= 15;
 
-    MoveControl (sb->id, x, y);
-    SizeControl (sb->id, w, h);
+    MoveControl(sb->id, x, y);
+    SizeControl(sb->id, w, h);
 #ifdef DEBUG_MAC_SB
-    printf ("size_sb (%x) %x, %x, %x, %x\n",sb->id, x, y, w, h);
+    printf("size_sb (%x) %x, %x, %x, %x\n",sb->id, x, y, w, h);
 #endif
 }
 
@@ -4687,7 +4736,7 @@
     bounds.right = -10;
     bounds.left = -16;
 
-    sb->id = NewControl (gui.VimWindow,
+    sb->id = NewControl(gui.VimWindow,
 			 &bounds,
 			 "\pScrollBar",
 			 TRUE,
@@ -4701,7 +4750,7 @@
 #endif
 			 (long) sb->ident);
 #ifdef DEBUG_MAC_SB
-    printf ("create_sb (%x) %x\n",sb->id, orient);
+    printf("create_sb (%x) %x\n",sb->id, orient);
 #endif
 }
 
@@ -4710,9 +4759,9 @@
     scrollbar_T *sb;
 {
     gui_mch_set_bg_color(gui.back_pixel);
-    DisposeControl (sb->id);
+    DisposeControl(sb->id);
 #ifdef DEBUG_MAC_SB
-    printf ("dest_sb (%x) \n",sb->id);
+    printf("dest_sb (%x) \n",sb->id);
 #endif
 }
 
@@ -4818,7 +4867,7 @@
     OSErr		error;
 
     /* Get Navigation Service Defaults value */
-    NavGetDefaultDialogOptions (&navOptions);
+    NavGetDefaultDialogOptions(&navOptions);
 
 
     /* TODO: If we get a :browse args, set the Multiple bit. */
@@ -4828,8 +4877,8 @@
 			    /*	 |  kNavAllowMultipleFiles */
 				 |  kNavAllowStationery;
 
-    (void) C2PascalString (title,   &navOptions.message);
-    (void) C2PascalString (dflt,    &navOptions.savedFileName);
+    (void) C2PascalString(title,   &navOptions.message);
+    (void) C2PascalString(dflt,    &navOptions.savedFileName);
     /* Could set clientName?
      *		 windowTitle? (there's no title bar?)
      */
@@ -4837,7 +4886,7 @@
     if (saving)
     {
 	/* Change first parm AEDesc (typeFSS) *defaultLocation to match dflt */
-	NavPutFile (NULL, &reply, &navOptions, NULL, 'TEXT', 'VIM!', NULL);
+	NavPutFile(NULL, &reply, &navOptions, NULL, 'TEXT', 'VIM!', NULL);
 	if (!reply.validRecord)
 	    return NULL;
     }
@@ -4851,7 +4900,7 @@
 
     fnames = new_fnames_from_AEDesc(&reply.selection, &numFiles, &error);
 
-    NavDisposeReply (&reply);
+    NavDisposeReply(&reply);
 
     if (fnames)
     {
@@ -4870,26 +4919,26 @@
 
     /* TODO: split dflt in path and filename */
 
-    (void) C2PascalString (title,   &Prompt);
-    (void) C2PascalString (dflt,    &DefaultName);
-    (void) C2PascalString (initdir, &Directory);
+    (void) C2PascalString(title,   &Prompt);
+    (void) C2PascalString(dflt,    &DefaultName);
+    (void) C2PascalString(initdir, &Directory);
 
     if (saving)
     {
 	/* Use a custon filter instead of nil FAQ 9-4 */
-	StandardPutFile (Prompt, DefaultName,  &reply);
+	StandardPutFile(Prompt, DefaultName,  &reply);
 	if (!reply.sfGood)
 	    return NULL;
     }
     else
     {
-	StandardGetFile (nil, -1, fileTypes, &reply);
+	StandardGetFile(nil, -1, fileTypes, &reply);
 	if (!reply.sfGood)
 	    return NULL;
     }
 
     /* Work fine but append a : for new file */
-    return (FullPathFromFSSpec_save (reply.sfFile));
+    return (FullPathFromFSSpec_save(reply.sfFile));
 
     /* Shorten the file name if possible */
 /*    mch_dirname(IObuff, IOSIZE);
@@ -4943,9 +4992,9 @@
 {
 #if 0 /* USE_CARBONIZED */
     /* Untested */
-    MoveDialogItem (theDialog, itemNumber, X, Y);
+    MoveDialogItem(theDialog, itemNumber, X, Y);
     if (inBox != nil)
-	GetDialogItem (theDialog, itemNumber, &itemType, &itemHandle, inBox);
+	GetDialogItem(theDialog, itemNumber, &itemType, &itemHandle, inBox);
 #else
     short	itemType;
     Handle	itemHandle;
@@ -4955,14 +5004,14 @@
     if (inBox != nil)
 	itemBox = inBox;
 
-    GetDialogItem (theDialog, itemNumber, &itemType, &itemHandle, itemBox);
-    OffsetRect (itemBox, -itemBox->left, -itemBox->top);
-    OffsetRect (itemBox, X, Y);
+    GetDialogItem(theDialog, itemNumber, &itemType, &itemHandle, itemBox);
+    OffsetRect(itemBox, -itemBox->left, -itemBox->top);
+    OffsetRect(itemBox, X, Y);
     /* To move a control (like a button) we need to call both
      * MoveControl and SetDialogItem. FAQ 6-18 */
     if (1) /*(itemType & kControlDialogItem) */
-	MoveControl ((ControlRef) itemHandle, X, Y);
-    SetDialogItem (theDialog, itemNumber, itemType, itemHandle, itemBox);
+	MoveControl((ControlRef) itemHandle, X, Y);
+    SetDialogItem(theDialog, itemNumber, itemType, itemHandle, itemBox);
 #endif
 }
 
@@ -4977,7 +5026,7 @@
     Handle	itemHandle;
     Rect	itemBox;
 
-    GetDialogItem (theDialog, itemNumber, &itemType, &itemHandle, &itemBox);
+    GetDialogItem(theDialog, itemNumber, &itemType, &itemHandle, &itemBox);
 
     /* When width or height is zero do not change it */
     if (width  == 0)
@@ -4986,7 +5035,7 @@
 	height = itemBox.bottom - itemBox.top;
 
 #if 0 /* USE_CARBONIZED */
-    SizeDialogItem (theDialog, itemNumber, width, height); /* Untested */
+    SizeDialogItem(theDialog, itemNumber, width, height); /* Untested */
 #else
     /* Resize the bounding box */
     itemBox.right  = itemBox.left + width;
@@ -4995,10 +5044,10 @@
     /* To resize a control (like a button) we need to call both
      * SizeControl and SetDialogItem. (deducted from FAQ 6-18) */
     if (itemType & kControlDialogItem)
-	SizeControl ((ControlRef) itemHandle, width, height);
+	SizeControl((ControlRef) itemHandle, width, height);
 
     /* Configure back the item */
-    SetDialogItem (theDialog, itemNumber, itemType, itemHandle, &itemBox);
+    SetDialogItem(theDialog, itemNumber, itemType, itemHandle, &itemBox);
 #endif
 }
 
@@ -5012,12 +5061,12 @@
     Handle	itemHandle;
     Rect	itemBox;
 
-    GetDialogItem (theDialog, itemNumber, &itemType, &itemHandle, &itemBox);
+    GetDialogItem(theDialog, itemNumber, &itemType, &itemHandle, &itemBox);
 
     if (itemType & kControlDialogItem)
-	SetControlTitle ((ControlRef) itemHandle, itemName);
+	SetControlTitle((ControlRef) itemHandle, itemName);
     else
-	SetDialogItemText (itemHandle, itemName);
+	SetDialogItemText(itemHandle, itemName);
 }
 
     int
@@ -5072,7 +5121,7 @@
     vertical = (vim_strchr(p_go, GO_VERTICAL) != NULL);
 
     /* Create a new Dialog Box from template. */
-    theDialog = GetNewDialog (129, nil, (WindowRef) -1);
+    theDialog = GetNewDialog(129, nil, (WindowRef) -1);
 
     /* Get the WindowRef */
     theWindow = GetDialogWindow(theDialog);
@@ -5083,15 +5132,15 @@
      *    within a visible window. (non-Carbon MacOS 9)
      * Could be avoided by changing the resource.
      */
-    HideWindow (theWindow);
+    HideWindow(theWindow);
 
     /* Change the graphical port to the dialog,
      * so we can measure the text with the proper font */
-    GetPort (&oldPort);
+    GetPort(&oldPort);
 #ifdef USE_CARBONIZED
-    SetPortDialogPort (theDialog);
+    SetPortDialogPort(theDialog);
 #else
-    SetPort (theDialog);
+    SetPort(theDialog);
 #endif
 
     /* Get the info about the default text,
@@ -5102,12 +5151,12 @@
     /*	Set the dialog title */
     if (title != NULL)
     {
-	(void) C2PascalString (title, &PascalTitle);
-	SetWTitle (theWindow, PascalTitle);
+	(void) C2PascalString(title, &PascalTitle);
+	SetWTitle(theWindow, PascalTitle);
     }
 
     /* Creates the buttons and add them to the Dialog Box. */
-    buttonDITL = GetResource ('DITL', 130);
+    buttonDITL = GetResource('DITL', 130);
     buttonChar = buttons;
     button = 0;
 
@@ -5126,30 +5175,30 @@
 	name[0] = len;
 
 	/* Add the button */
-	AppendDITL (theDialog, buttonDITL, overlayDITL); /* appendDITLRight); */
+	AppendDITL(theDialog, buttonDITL, overlayDITL); /* appendDITLRight); */
 
 	/* Change the button's name */
-	macSetDialogItemText (theDialog, button, name);
+	macSetDialogItemText(theDialog, button, name);
 
 	/* Resize the button to fit its name */
-	width = StringWidth (name) + 2 * dfltButtonEdge;
+	width = StringWidth(name) + 2 * dfltButtonEdge;
 	/* Limite the size of any button to an acceptable value. */
 	/* TODO: Should be based on the message width */
 	if (width > maxButtonWidth)
 	    width = maxButtonWidth;
-	macSizeDialogItem (theDialog, button, width, 0);
+	macSizeDialogItem(theDialog, button, width, 0);
 
 	totalButtonWidth += width;
 
 	if (width > widestButton)
 	    widestButton = width;
     }
-    ReleaseResource (buttonDITL);
+    ReleaseResource(buttonDITL);
     lastButton = button;
 
     /* Add the icon to the Dialog Box. */
     iconItm.idx = lastButton + 1;
-    iconDITL = GetResource ('DITL', 131);
+    iconDITL = GetResource('DITL', 131);
     switch (type)
     {
 	case VIM_GENERIC:  useIcon = kNoteIcon;
@@ -5159,41 +5208,41 @@
 	case VIM_QUESTION: useIcon = kNoteIcon;
 	default:      useIcon = kStopIcon;
     };
-    AppendDITL (theDialog, iconDITL, overlayDITL);
-    ReleaseResource (iconDITL);
-    GetDialogItem (theDialog, iconItm.idx, &itemType, &itemHandle, &box);
+    AppendDITL(theDialog, iconDITL, overlayDITL);
+    ReleaseResource(iconDITL);
+    GetDialogItem(theDialog, iconItm.idx, &itemType, &itemHandle, &box);
     /* TODO: Should the item be freed? */
-    iconHandle = GetIcon (useIcon);
-    SetDialogItem (theDialog, iconItm.idx, itemType, iconHandle, &box);
+    iconHandle = GetIcon(useIcon);
+    SetDialogItem(theDialog, iconItm.idx, itemType, iconHandle, &box);
 
     /* Add the message to the Dialog box. */
     messageItm.idx = lastButton + 2;
-    messageDITL = GetResource ('DITL', 132);
-    AppendDITL (theDialog, messageDITL, overlayDITL);
-    ReleaseResource (messageDITL);
-    GetDialogItem (theDialog, messageItm.idx, &itemType, &itemHandle, &box);
-    (void) C2PascalString (message, &name);
-    SetDialogItemText (itemHandle, name);
-    messageItm.width = StringWidth (name);
+    messageDITL = GetResource('DITL', 132);
+    AppendDITL(theDialog, messageDITL, overlayDITL);
+    ReleaseResource(messageDITL);
+    GetDialogItem(theDialog, messageItm.idx, &itemType, &itemHandle, &box);
+    (void) C2PascalString(message, &name);
+    SetDialogItemText(itemHandle, name);
+    messageItm.width = StringWidth(name);
 
     /* Add the input box if needed */
     if (textfield != NULL)
     {
 	/* Cheat for now reuse the message and convet to text edit */
 	inputItm.idx = lastButton + 3;
-	inputDITL = GetResource ('DITL', 132);
-	AppendDITL (theDialog, inputDITL, overlayDITL);
-	ReleaseResource (inputDITL);
-	GetDialogItem (theDialog, inputItm.idx, &itemType, &itemHandle, &box);
-/*	  SetDialogItem (theDialog, inputItm.idx, kEditTextDialogItem, itemHandle, &box);*/
-	(void) C2PascalString (textfield, &name);
-	SetDialogItemText (itemHandle, name);
-	inputItm.width = StringWidth (name);
+	inputDITL = GetResource('DITL', 132);
+	AppendDITL(theDialog, inputDITL, overlayDITL);
+	ReleaseResource(inputDITL);
+	GetDialogItem(theDialog, inputItm.idx, &itemType, &itemHandle, &box);
+/*	  SetDialogItem(theDialog, inputItm.idx, kEditTextDialogItem, itemHandle, &box);*/
+	(void) C2PascalString(textfield, &name);
+	SetDialogItemText(itemHandle, name);
+	inputItm.width = StringWidth(name);
     }
 
     /* Set the <ENTER> and <ESC> button. */
-    SetDialogDefaultItem (theDialog, dfltbutton);
-    SetDialogCancelItem (theDialog, 0);
+    SetDialogDefaultItem(theDialog, dfltbutton);
+    SetDialogCancelItem(theDialog, 0);
 
     /* Reposition element */
 
@@ -5202,26 +5251,26 @@
 	vertical = TRUE;
 
     /* Place icon */
-    macMoveDialogItem (theDialog, iconItm.idx, dfltIconSideSpace, dfltElementSpacing, &box);
+    macMoveDialogItem(theDialog, iconItm.idx, dfltIconSideSpace, dfltElementSpacing, &box);
     iconItm.box.right = box.right;
     iconItm.box.bottom = box.bottom;
 
     /* Place Message */
     messageItm.box.left = iconItm.box.right + dfltIconSideSpace;
-    macSizeDialogItem (theDialog, messageItm.idx, 0,  messageLines * (textFontInfo.ascent + textFontInfo.descent));
-    macMoveDialogItem (theDialog, messageItm.idx, messageItm.box.left, dfltElementSpacing, &messageItm.box);
+    macSizeDialogItem(theDialog, messageItm.idx, 0,  messageLines * (textFontInfo.ascent + textFontInfo.descent));
+    macMoveDialogItem(theDialog, messageItm.idx, messageItm.box.left, dfltElementSpacing, &messageItm.box);
 
     /* Place Input */
     if (textfield != NULL)
     {
 	inputItm.box.left = messageItm.box.left;
 	inputItm.box.top  = messageItm.box.bottom + dfltElementSpacing;
-	macSizeDialogItem (theDialog, inputItm.idx, 0, textFontInfo.ascent + textFontInfo.descent);
-	macMoveDialogItem (theDialog, inputItm.idx, inputItm.box.left, inputItm.box.top, &inputItm.box);
+	macSizeDialogItem(theDialog, inputItm.idx, 0, textFontInfo.ascent + textFontInfo.descent);
+	macMoveDialogItem(theDialog, inputItm.idx, inputItm.box.left, inputItm.box.top, &inputItm.box);
 	/* Convert the static text into a text edit.
 	 * For some reason this change need to be done last (Dany) */
-	GetDialogItem (theDialog, inputItm.idx, &itemType, &itemHandle, &inputItm.box);
-	SetDialogItem (theDialog, inputItm.idx, kEditTextDialogItem, itemHandle, &inputItm.box);
+	GetDialogItem(theDialog, inputItm.idx, &itemType, &itemHandle, &inputItm.box);
+	SetDialogItem(theDialog, inputItm.idx, kEditTextDialogItem, itemHandle, &inputItm.box);
 	SelectDialogItemText(theDialog, inputItm.idx, 0, 32767);
     }
 
@@ -5240,12 +5289,12 @@
     for (button=1; button <= lastButton; button++)
     {
 
-	macMoveDialogItem (theDialog, button, buttonItm.box.left, buttonItm.box.top, &box);
+	macMoveDialogItem(theDialog, button, buttonItm.box.left, buttonItm.box.top, &box);
 	/* With vertical, it's better to have all button the same lenght */
 	if (vertical)
 	{
-	    macSizeDialogItem (theDialog, button, widestButton, 0);
-	    GetDialogItem (theDialog, button, &itemType, &itemHandle, &box);
+	    macSizeDialogItem(theDialog, button, widestButton, 0);
+	    GetDialogItem(theDialog, button, &itemType, &itemHandle, &box);
 	}
 	/* Calculate position of next button */
 	if (vertical)
@@ -5260,7 +5309,7 @@
 
 #ifdef USE_CARBONIZED
     /* Magic resize */
-    AutoSizeDialog (theDialog);
+    AutoSizeDialog(theDialog);
     /* Need a horizontal resize anyway so not that useful */
 #endif
 
@@ -5269,27 +5318,27 @@
 /*  BringToFront(theWindow); */
     SelectWindow(theWindow);
 
-/*  DrawDialog (theDialog); */
+/*  DrawDialog(theDialog); */
 #if 0
-    GetPort (&oldPort);
+    GetPort(&oldPort);
 #ifdef USE_CARBONIZED
-    SetPortDialogPort (theDialog);
+    SetPortDialogPort(theDialog);
 #else
-    SetPort (theDialog);
+    SetPort(theDialog);
 #endif
 #endif
 
     /* Hang until one of the button is hit */
     do
     {
-	ModalDialog (nil, &itemHit);
+	ModalDialog(nil, &itemHit);
     } while ((itemHit < 1) || (itemHit > lastButton));
 
     /* Copy back the text entered by the user into the param */
     if (textfield != NULL)
     {
-	GetDialogItem (theDialog, inputItm.idx, &itemType, &itemHandle, &box);
-	GetDialogItemText (itemHandle, (char_u *) &name);
+	GetDialogItem(theDialog, inputItm.idx, &itemType, &itemHandle, &box);
+	GetDialogItemText(itemHandle, (char_u *) &name);
 #if IOSIZE < 256
 	/* Truncate the name to IOSIZE if needed */
 	if (name[0] > IOSIZE)
@@ -5300,10 +5349,10 @@
     }
 
     /* Restore the original graphical port */
-    SetPort (oldPort);
+    SetPort(oldPort);
 
     /* Get ride of th edialog (free memory) */
-    DisposeDialog (theDialog);
+    DisposeDialog(theDialog);
 
     return itemHit;
 /*
@@ -5339,8 +5388,8 @@
 		    pError[0] = STRLEN(p);
 
 		STRNCPY(&pError[1], p, pError[0]);
-		ParamText (pError, nil, nil, nil);
-		Alert (128, nil);
+		ParamText(pError, nil, nil, nil);
+		Alert(128, nil);
 		break;
 		/* TODO: handled message longer than 256 chars
 		 *	 use auto-sizeable alert
@@ -5388,8 +5437,8 @@
     CursorDevicePtr myMouse;
     Point	    where;
 
-    if (   NGetTrapAddress (_CursorDeviceDispatch, ToolTrap)
-	!= NGetTrapAddress (_Unimplemented,   ToolTrap) )
+    if (   NGetTrapAddress(_CursorDeviceDispatch, ToolTrap)
+	!= NGetTrapAddress(_Unimplemented,   ToolTrap))
     {
 	/* New way */
 
@@ -5407,9 +5456,9 @@
 	    /* Get the next cursor device */
 	    CursorDeviceNextDevice(&myMouse);
 	}
-	while ( (myMouse != nil) && (myMouse->cntButtons != 1) );
+	while ((myMouse != nil) && (myMouse->cntButtons != 1));
 
-	CursorDeviceMoveTo (myMouse, x, y);
+	CursorDeviceMoveTo(myMouse, x, y);
     }
     else
     {
@@ -5445,10 +5494,10 @@
     GrafPtr	savePort;
 
     /* Save Current Port: On MacOS X we seem to lose the port */
-    GetPort (&savePort); /*OSX*/
+    GetPort(&savePort); /*OSX*/
 
-    GetMouse (&where);
-    LocalToGlobal (&where); /*OSX*/
+    GetMouse(&where);
+    LocalToGlobal(&where); /*OSX*/
     CntxMenu = menu->submenu_handle;
 
     /* TODO: Get the text selection from Vim */
@@ -5463,7 +5512,7 @@
 	    /* Handle the menu CntxMenuID, CntxMenuItem */
 	    /* The submenu can be handle directly by gui_mac_handle_menu */
 	    /* But what about the current menu, is the menu changed by ContextualMenuSelect */
-	    gui_mac_handle_menu ((CntxMenuID << 16) + CntxMenuItem);
+	    gui_mac_handle_menu((CntxMenuID << 16) + CntxMenuItem);
 	}
 	else if (CntxMenuID == kCMShowHelpSelected)
 	{
@@ -5472,7 +5521,7 @@
     }
 
     /* Restore original Port */
-    SetPort (savePort); /*OSX*/
+    SetPort(savePort); /*OSX*/
 #endif
 }
 
@@ -5482,10 +5531,10 @@
 mch_post_buffer_write(buf_T *buf)
 {
 # ifdef USE_SIOUX
-    printf ("Writing Buf...\n");
+    printf("Writing Buf...\n");
 # endif
-    GetFSSpecFromPath (buf->b_ffname, &buf->b_FSSpec);
-    Send_KAHL_MOD_AE (buf);
+    GetFSSpecFromPath(buf->b_ffname, &buf->b_FSSpec);
+    Send_KAHL_MOD_AE(buf);
 }
 #endif
 
@@ -5521,7 +5570,7 @@
  */
 
     int
-C2PascalString (CString, PascalString)
+C2PascalString(CString, PascalString)
     char_u  *CString;
     Str255  *PascalString;
 {
@@ -5546,7 +5595,7 @@
 }
 
     int
-GetFSSpecFromPath (file, fileFSSpec)
+GetFSSpecFromPath(file, fileFSSpec)
     char_u *file;
     FSSpec *fileFSSpec;
 {
@@ -5555,17 +5604,17 @@
     CInfoPBRec	myCPB;
     OSErr	err;
 
-    (void) C2PascalString (file, &filePascal);
+    (void) C2PascalString(file, &filePascal);
 
     myCPB.dirInfo.ioNamePtr   = filePascal;
     myCPB.dirInfo.ioVRefNum   = 0;
     myCPB.dirInfo.ioFDirIndex = 0;
     myCPB.dirInfo.ioDrDirID   = 0;
 
-    err= PBGetCatInfo (&myCPB, false);
+    err= PBGetCatInfo(&myCPB, false);
 
     /*    vRefNum, dirID, name */
-    FSMakeFSSpec (0, 0, filePascal, fileFSSpec);
+    FSMakeFSSpec(0, 0, filePascal, fileFSSpec);
 
     /* TODO: Use an error code mechanism */
     return 0;
@@ -5575,7 +5624,7 @@
  * Convert a FSSpec to a fuill path
  */
 
-char_u *FullPathFromFSSpec_save (FSSpec file)
+char_u *FullPathFromFSSpec_save(FSSpec file)
 {
     /*
      * TODO: Add protection for 256 char max.
@@ -5603,7 +5652,7 @@
 #ifdef USE_UNIXFILENAME
     /* Get the default volume */
     /* TODO: Remove as this only work if Vim is on the Boot Volume*/
-    error=HGetVol ( NULL, &dfltVol_vRefNum, &dfltVol_dirID );
+    error=HGetVol(NULL, &dfltVol_vRefNum, &dfltVol_dirID);
 
     if (error)
       return NULL;
@@ -5622,7 +5671,7 @@
 
     /* As ioFDirIndex = 0, get the info of ioNamePtr,
        which is relative to ioVrefNum, ioDirID */
-    error = PBGetCatInfo (&theCPB, false);
+    error = PBGetCatInfo(&theCPB, false);
 
     /* If we are called for a new file we expect fnfErr */
     if ((error) && (error != fnfErr))
@@ -5671,20 +5720,20 @@
     {
 	/* If the file to be saved already exists, we can get its full path
 	   by converting its FSSpec into an FSRef. */
-	error=FSpMakeFSRef (&file, &refFile);
+	error=FSpMakeFSRef(&file, &refFile);
 	if (error)
 	    return NULL;
 
-	status=FSRefMakePath (&refFile, (UInt8 *) path, pathSize);
+	status=FSRefMakePath(&refFile, (UInt8 *) path, pathSize);
 	if (status)
 	    return NULL;
     }
 
     /* Add a slash at the end if needed */
     if (folder)
-	STRCAT (path, "/");
+	STRCAT(path, "/");
 
-    return (vim_strsave (path));
+    return (vim_strsave(path));
 #else
     /* TODO: Get rid of all USE_UNIXFILENAME below */
     /* Set ioNamePtr, it's the same area which is always reused. */
@@ -5695,7 +5744,7 @@
     theCPB.dirInfo.ioDrParID = file.parID;
     theCPB.dirInfo.ioDrDirID = file.parID;
 
-    if ((TRUE) && (file.parID != fsRtDirID /*fsRtParID*/ ))
+    if ((TRUE) && (file.parID != fsRtDirID /*fsRtParID*/))
     do
     {
 	theCPB.dirInfo.ioFDirIndex = -1;
@@ -5706,7 +5755,7 @@
 
 	/* As ioFDirIndex = -1, get the info of ioDrDirID, */
 	/*  *ioNamePtr[0 TO 31] will be updated		   */
-	error = PBGetCatInfo (&theCPB,false);
+	error = PBGetCatInfo(&theCPB,false);
 
 	if (error)
 	  return NULL;
@@ -5734,7 +5783,7 @@
 
     /* As ioFDirIndex = -1, get the info of ioDrDirID, */
     /*	*ioNamePtr[0 TO 31] will be updated	       */
-    error = PBGetCatInfo (&theCPB,false);
+    error = PBGetCatInfo(&theCPB,false);
 
     if (error)
       return NULL;
@@ -5763,7 +5812,7 @@
 
     /* Append final path separator if it's a folder */
     if (folder)
-	STRCAT (fname, ":");
+	STRCAT(fname, ":");
 
     /* As we use Unix File Name for MacOS X convert it */
 #ifdef USE_UNIXFILENAME
@@ -5780,7 +5829,7 @@
     }
 #endif
 
-    return (vim_strsave (fname));
+    return (vim_strsave(fname));
 #endif
 }
 
diff --git a/src/gui_w32.c b/src/gui_w32.c
index df07953..a3a7ffa 100644
--- a/src/gui_w32.c
+++ b/src/gui_w32.c
@@ -818,9 +818,11 @@
     {
 	if (strstr(buf, title) != NULL)
 	{
-	    /* Found it.  Store the window ref. and quit searching. */
+	    /* Found it.  Store the window ref. and quit searching if MDI
+	     * works. */
 	    vim_parent_hwnd = FindWindowEx(hwnd, NULL, "MDIClient", NULL);
-	    return FALSE;
+	    if (vim_parent_hwnd != NULL)
+		return FALSE;
 	}
     }
     return TRUE;	/* continue searching */
diff --git a/src/memline.c b/src/memline.c
index 7c18663..7a0210f 100644
--- a/src/memline.c
+++ b/src/memline.c
@@ -1518,7 +1518,7 @@
 	    {
 		MSG_PUTS(_("         file name: "));
 		if (b0.b0_fname[0] == NUL)
-		    MSG_PUTS(_("[No File]"));
+		    MSG_PUTS(_("[No Name]"));
 		else
 		    msg_outtrans(b0.b0_fname);
 
@@ -3781,7 +3781,7 @@
 	 * Change the ".swp" extension to find another file that can be used.
 	 * First decrement the last char: ".swo", ".swn", etc.
 	 * If that still isn't enough decrement the last but one char: ".svz"
-	 * Can happen when editing many "No File" buffers.
+	 * Can happen when editing many "No Name" buffers.
 	 */
 	if (fname[n - 1] == 'a')	/* ".s?a" */
 	{
diff --git a/src/normal.c b/src/normal.c
index 89196da..222e475 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -5186,7 +5186,23 @@
 	if (cap->count1 - 1 >= curwin->w_cursor.lnum)
 	    curwin->w_cursor.lnum = 1;
 	else
-	    curwin->w_cursor.lnum -= cap->count1 - 1;
+	{
+#ifdef FEAT_FOLDING
+	    if (hasAnyFolding(curwin))
+	    {
+		/* Count a fold for one screen line. */
+		for (n = cap->count1 - 1; n > 0
+			    && curwin->w_cursor.lnum > curwin->w_topline; --n)
+		{
+		    (void)hasFolding(curwin->w_cursor.lnum,
+						&curwin->w_cursor.lnum, NULL);
+		    --curwin->w_cursor.lnum;
+		}
+	    }
+	    else
+#endif
+		curwin->w_cursor.lnum -= cap->count1 - 1;
+	}
     }
     else
     {
@@ -5222,8 +5238,23 @@
 	    if (n > 0 && used > curwin->w_height)
 		--n;
 	}
-	else
+	else /* (cap->cmdchar == 'H') */
+	{
 	    n = cap->count1 - 1;
+#ifdef FEAT_FOLDING
+	    if (hasAnyFolding(curwin))
+	    {
+		/* Count a fold for one screen line. */
+		lnum = curwin->w_topline;
+		while (n-- > 0 && lnum < curwin->w_botline - 1)
+		{
+		    hasFolding(lnum, NULL, &lnum);
+		    ++lnum;
+		}
+		n = lnum - curwin->w_topline;
+	    }
+#endif
+	}
 	curwin->w_cursor.lnum = curwin->w_topline + n;
 	if (curwin->w_cursor.lnum > curbuf->b_ml.ml_line_count)
 	    curwin->w_cursor.lnum = curbuf->b_ml.ml_line_count;
diff --git a/src/os_mac.c b/src/os_mac.c
index 0f6a76c..d38f12a 100644
--- a/src/os_mac.c
+++ b/src/os_mac.c
@@ -527,7 +527,7 @@
      */
     EventRecord theEvent;
 
-    if (EventAvail (keyDownMask, &theEvent))
+    if (EventAvail(keyDownMask, &theEvent))
 	if ((theEvent.message & charCodeMask) == Ctrl_C && ctrl_c_interrupts)
 	    got_int = TRUE;
 #if 0
diff --git a/src/os_msdos.c b/src/os_msdos.c
index 2d8b127..92b14ea 100644
--- a/src/os_msdos.c
+++ b/src/os_msdos.c
@@ -2987,7 +2987,12 @@
 mch_can_exe(name)
     char_u	*name;
 {
-    return (searchpath(name) != NULL);
+    char	*p;
+
+    p = searchpath(name);
+    if (p == NULL || mch_isdir(p))
+	return FALSE;
+    return TRUE;
 }
 #endif
 
diff --git a/src/os_win32.c b/src/os_win32.c
index 74b8960..434362b 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -1519,29 +1519,45 @@
 # include <shellapi.h>	/* required for FindExecutable() */
 #endif
 
+/*
+ * Return TRUE if "name" is in $PATH.
+ * TODO: Should also check if it's really executable.
+ */
     static int
 executable_exists(char *name)
 {
-    char location[2 * _MAX_PATH + 2];
-    char widename[2 * _MAX_PATH];
+    char	*dum;
+    char	fname[_MAX_PATH];
 
-    /* There appears to be a bug in FindExecutableA() on Windows NT.
-     * Use FindExecutableW() instead... */
-    if (g_PlatformId == VER_PLATFORM_WIN32_NT)
+#ifdef FEAT_MBYTE
+    if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
     {
-	MultiByteToWideChar(CP_ACP, 0, (LPCTSTR)name, -1,
-						 (LPWSTR)widename, _MAX_PATH);
-	if (FindExecutableW((LPCWSTR)widename, (LPCWSTR)"",
-					    (LPWSTR)location) > (HINSTANCE)32)
-	    return TRUE;
+	WCHAR	*p = enc_to_ucs2(name, NULL);
+	WCHAR	fnamew[_MAX_PATH];
+	WCHAR	*dumw;
+	long	n;
+
+	if (p != NULL)
+	{
+	    n = (long)SearchPathW(NULL, p, NULL, _MAX_PATH, fnamew, &dumw);
+	    vim_free(p);
+	    if (n > 0 || GetLastError() != ERROR_CALL_NOT_IMPLEMENTED)
+	    {
+		if (n == 0)
+		    return FALSE;
+		if (GetFileAttributesW(fnamew) & FILE_ATTRIBUTE_DIRECTORY)
+		    return FALSE;
+		return TRUE;
+	    }
+	    /* Retry with non-wide function (for Windows 98). */
+	}
     }
-    else
-    {
-	if (FindExecutableA((LPCTSTR)name, (LPCTSTR)"",
-					    (LPTSTR)location) > (HINSTANCE)32)
-	    return TRUE;
-    }
-    return FALSE;
+#endif
+    if (SearchPath(NULL, name, NULL, _MAX_PATH, fname, &dum) == 0)
+	return FALSE;
+    if (mch_isdir(fname))
+	return FALSE;
+    return TRUE;
 }
 
 #ifdef FEAT_GUI_W32
diff --git a/src/po/Makefile b/src/po/Makefile
index d549130..364210c 100644
--- a/src/po/Makefile
+++ b/src/po/Makefile
@@ -97,8 +97,8 @@
 # Convert ru.po to create ru.cp1251.po.
 ru.cp1251.po: ru.po
 	rm -f ru.cp1251.po
-	iconv -f koi8-r -t cp1251 ru.po | \
-		sed -e 's/charset=koi8-r/charset=cp1251/' -e 's/# Original translations/# Generated from ru.po, DO NOT EDIT/' > ru.cp1251.po
+	iconv -f utf-8 -t cp1251 ru.po | \
+		sed -e 's/charset=utf-8/charset=cp1251/' -e 's/# Original translations/# Generated from ru.po, DO NOT EDIT/' > ru.cp1251.po
 
 check:
 	@if test "x" = "x$(prefix)"; then \
diff --git a/src/po/ru.cp1251.po b/src/po/ru.cp1251.po
index f0b0ac2..85b1d68 100644
--- a/src/po/ru.cp1251.po
+++ b/src/po/ru.cp1251.po
@@ -9,10 +9,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Vim 6.3a\n"
+"Project-Id-Version: Vim 6.3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-05-10 21:37+0400\n"
-"PO-Revision-Date: 2004-05-10 21:37+0400\n"
+"POT-Creation-Date: 2004-06-15 09:39+0400\n"
+"PO-Revision-Date: 2004-05-19 00:23+0400\n"
 "Last-Translator: vassily ragosin <vrr@users.sourceforge.net>\n"
 "Language-Team: vassily ragosin <vrr@users.sourceforge.net>\n"
 "MIME-Version: 1.0\n"
@@ -27,172 +27,172 @@
 msgid "E83: Cannot allocate buffer, using other one..."
 msgstr "E83: Íåâîçìîæíî âûäåëèòü ïàìÿòü äëÿ áóôåðà, èñïîëüçóåì äðóãîé áóôåð..."
 
-#: buffer.c:805
+#: buffer.c:808
 #, c-format
 msgid "E515: No buffers were unloaded"
 msgstr "E515: Íè îäèí áóôåð íå áûë âûãðóæåí èç ïàìÿòè"
 
-#: buffer.c:807
+#: buffer.c:810
 #, c-format
 msgid "E516: No buffers were deleted"
 msgstr "E516: Íè îäèí áóôåð íå áûë óäàë¸í"
 
-#: buffer.c:809
+#: buffer.c:812
 #, c-format
 msgid "E517: No buffers were wiped out"
 msgstr "E517: Íè îäèí áóôåð íå áûë î÷èùåí"
 
-#: buffer.c:817
+#: buffer.c:820
 msgid "1 buffer unloaded"
 msgstr "Îäèí áóôåð âûãðóæåí èç ïàìÿòè"
 
-#: buffer.c:819
+#: buffer.c:822
 #, c-format
 msgid "%d buffers unloaded"
 msgstr "Âñåãî âûãðóæåíî áóôåðîâ èç ïàìÿòè: %d"
 
-#: buffer.c:824
+#: buffer.c:827
 msgid "1 buffer deleted"
 msgstr "Îäèí áóôåð óäàë¸í"
 
-#: buffer.c:826
+#: buffer.c:829
 #, c-format
 msgid "%d buffers deleted"
 msgstr "Âñåãî óäàëåíî áóôåðîâ: %d"
 
-#: buffer.c:831
+#: buffer.c:834
 msgid "1 buffer wiped out"
 msgstr "Îäèí áóôåð î÷èùåí"
 
-#: buffer.c:833
+#: buffer.c:836
 #, c-format
 msgid "%d buffers wiped out"
 msgstr "Âñåãî î÷èùåíî áóôåðîâ: %d"
 
-#: buffer.c:894
+#: buffer.c:897
 msgid "E84: No modified buffer found"
 msgstr "E84: Èçìåí¸ííûõ áóôåðîâ íå îáíàðóæåíî"
 
 #. back where we started, didn't find anything.
-#: buffer.c:933
+#: buffer.c:936
 msgid "E85: There is no listed buffer"
 msgstr "E85: Áóôåðû â ñïèñêå îòñóòñòâóþò"
 
-#: buffer.c:945
+#: buffer.c:948
 #, c-format
 msgid "E86: Buffer %ld does not exist"
 msgstr "E86: Áóôåð %ld íå ñóùåñòâóåò"
 
-#: buffer.c:948
+#: buffer.c:951
 msgid "E87: Cannot go beyond last buffer"
 msgstr "E87: Ýòî ïîñëåäíèé áóôåð"
 
-#: buffer.c:950
+#: buffer.c:953
 msgid "E88: Cannot go before first buffer"
 msgstr "E88: Ýòî ïåðâûé áóôåð"
 
-#: buffer.c:988
+#: buffer.c:991
 #, c-format
 msgid "E89: No write since last change for buffer %ld (add ! to override)"
 msgstr "E89: Èçìåíåíèÿ â áóôåðå %ld íå ñîõðàíåíû (!, ÷òîáû îáîéòè ïðîâåðêó)"
 
-#: buffer.c:1005
+#: buffer.c:1008
 msgid "E90: Cannot unload last buffer"
 msgstr "E90: Íåâîçìîæíî âûãðóçèòü èç ïàìÿòè ïîñëåäíèé áóôåð"
 
-#: buffer.c:1538
+#: buffer.c:1544
 msgid "W14: Warning: List of file names overflow"
 msgstr "W14: Ïðåäóïðåæäåíèå: ïåðåïîëíåíèå ñïèñêà èì¸í ôàéëîâ"
 
-#: buffer.c:1709
+#: buffer.c:1716
 #, c-format
 msgid "E92: Buffer %ld not found"
 msgstr "E92: Áóôåð %ld íå íàéäåí"
 
-#: buffer.c:1940
+#: buffer.c:1947
 #, c-format
 msgid "E93: More than one match for %s"
 msgstr "E93: Íåñêîëüêî ñîîòâåòñòâèé äëÿ %s"
 
-#: buffer.c:1942
+#: buffer.c:1949
 #, c-format
 msgid "E94: No matching buffer for %s"
 msgstr "E94: Íåò ñîîòâåòñòâóþùåãî %s áóôåðà"
 
-#: buffer.c:2337
+#: buffer.c:2344
 #, c-format
 msgid "line %ld"
 msgstr "ñòðîêà %ld"
 
-#: buffer.c:2420
+#: buffer.c:2429
 msgid "E95: Buffer with this name already exists"
 msgstr "E95: Áóôåð ñ òàêèì èìåíåì óæå ñóùåñòâóåò"
 
-#: buffer.c:2713
+#: buffer.c:2724
 msgid " [Modified]"
 msgstr " [Èçìåí¸í]"
 
-#: buffer.c:2718
+#: buffer.c:2729
 msgid "[Not edited]"
 msgstr "[Íå ðåäàêòèðîâàëñÿ]"
 
-#: buffer.c:2723
+#: buffer.c:2734
 msgid "[New file]"
 msgstr "[Íîâûé ôàéë]"
 
-#: buffer.c:2724
+#: buffer.c:2735
 msgid "[Read errors]"
 msgstr "[Îøèáêè ÷òåíèÿ]"
 
-#: buffer.c:2726 fileio.c:2112
+#: buffer.c:2737 fileio.c:2124
 msgid "[readonly]"
 msgstr "[òîëüêî äëÿ ÷òåíèÿ]"
 
-#: buffer.c:2747
+#: buffer.c:2758
 #, c-format
 msgid "1 line --%d%%--"
 msgstr "Îäíà ñòðîêà --%d%%--"
 
-#: buffer.c:2749
+#: buffer.c:2760
 #, c-format
 msgid "%ld lines --%d%%--"
 msgstr "%ld ñòð. --%d%%--"
 
-#: buffer.c:2756
+#: buffer.c:2767
 #, c-format
 msgid "line %ld of %ld --%d%%-- col "
 msgstr "ñòð. %ld èç %ld --%d%%-- êîë. "
 
-#: buffer.c:2864
+#: buffer.c:2875
 msgid "[No file]"
 msgstr "[Íåò ôàéëà]"
 
 #. must be a help buffer
-#: buffer.c:2904
+#: buffer.c:2915
 msgid "help"
 msgstr "ñïðàâêà"
 
-#: buffer.c:3463 screen.c:5075
+#: buffer.c:3474 screen.c:5079
 msgid "[help]"
 msgstr "[ñïðàâêà]"
 
-#: buffer.c:3495 screen.c:5081
+#: buffer.c:3506 screen.c:5085
 msgid "[Preview]"
 msgstr "[Ïðåäïðîñìîòð]"
 
-#: buffer.c:3775
+#: buffer.c:3786
 msgid "All"
 msgstr "Âåñü"
 
-#: buffer.c:3775
+#: buffer.c:3786
 msgid "Bot"
 msgstr "Âíèçó"
 
-#: buffer.c:3777
+#: buffer.c:3788
 msgid "Top"
 msgstr "Íàâåðõó"
 
-#: buffer.c:4523
+#: buffer.c:4536
 #, c-format
 msgid ""
 "\n"
@@ -201,15 +201,15 @@
 "\n"
 "# Ñïèñîê áóôåðîâ:\n"
 
-#: buffer.c:4556
+#: buffer.c:4569
 msgid "[Error List]"
 msgstr "[Ñïèñîê îøèáîê]"
 
-#: buffer.c:4569 memline.c:1520
+#: buffer.c:4582 memline.c:1521
 msgid "[No File]"
 msgstr "[Íåò ôàéëà]"
 
-#: buffer.c:4882
+#: buffer.c:4895
 msgid ""
 "\n"
 "--- Signs ---"
@@ -217,12 +217,12 @@
 "\n"
 "--- Çíà÷êè ---"
 
-#: buffer.c:4901
+#: buffer.c:4914
 #, c-format
 msgid "Signs for %s:"
 msgstr "Çíà÷êè äëÿ %s:"
 
-#: buffer.c:4907
+#: buffer.c:4920
 #, c-format
 msgid "    line=%ld  id=%d  name=%s"
 msgstr "    ñòðîêà=%ld  id=%d  èìÿ=%s"
@@ -473,7 +473,7 @@
 #. * this way has the compelling advantage that translations need not to
 #. * be touched at all.  See below what 'ok' and 'ync' are used for.
 #.
-#: eval.c:3687 gui.c:4382 gui_gtk.c:2059
+#: eval.c:3687 gui.c:4385 gui_gtk.c:2059
 msgid "&Ok"
 msgstr "&Ok"
 
@@ -498,121 +498,121 @@
 msgid "E655: Too many symbolic links (cycle?)"
 msgstr "E656: Ñëèøêîì ìíîãî ñèìâîëè÷åñêèõ ññûëîê (öèêë?)"
 
-#: eval.c:6609
+#: eval.c:6626
 msgid "E240: No connection to Vim server"
 msgstr "E240: Íåò ñâÿçè ñ ñåðâåðîì Vim"
 
-#: eval.c:6706
+#: eval.c:6724
 msgid "E277: Unable to read a server reply"
 msgstr "E227: Ñåðâåð íå îòâå÷àåò"
 
-#: eval.c:6734
+#: eval.c:6752
 msgid "E258: Unable to send to client"
 msgstr "E258: Íå ìîãó îòâåòèòü êëèåíòó"
 
-#: eval.c:6782
+#: eval.c:6800
 #, c-format
 msgid "E241: Unable to send to %s"
 msgstr "E241: Íå ìîãó îòïðàâèòü ñîîáùåíèå äëÿ %s"
 
-#: eval.c:6882
+#: eval.c:6900
 msgid "(Invalid)"
 msgstr "(Íåïðàâèëüíî)"
 
-#: eval.c:8060
+#: eval.c:8078
 #, c-format
 msgid "E121: Undefined variable: %s"
 msgstr "E121: Íåîïðåäåëåííàÿ ïåðåìåííàÿ: %s"
 
-#: eval.c:8492
+#: eval.c:8510
 #, c-format
 msgid "E461: Illegal variable name: %s"
 msgstr "E461: Íåäîïóñòèìîå èìÿ ïåðåìåííîé: %s"
 
-#: eval.c:8784
+#: eval.c:8802
 #, c-format
 msgid "E122: Function %s already exists, add ! to replace it"
 msgstr "E122: Ôóíêöèÿ %s óæå ñóùåñòâóåò. Äîáàâüòå !, ÷òîáû çàìåíèòü å¸."
 
-#: eval.c:8857
+#: eval.c:8875
 #, c-format
 msgid "E123: Undefined function: %s"
 msgstr "E123: Íåîïðåäåëåííàÿ ôóíêöèÿ: %s"
 
-#: eval.c:8870
+#: eval.c:8888
 #, c-format
 msgid "E124: Missing '(': %s"
 msgstr "E124: Ïðîïóùåíà '(': %s"
 
-#: eval.c:8903
+#: eval.c:8921
 #, c-format
 msgid "E125: Illegal argument: %s"
 msgstr "E125: Íåäîïóñòèìûé ïàðàìåòð: %s"
 
-#: eval.c:8982
+#: eval.c:9000
 msgid "E126: Missing :endfunction"
 msgstr "E126: Ïðîïóùåíà êîìàíäà :endfunction"
 
-#: eval.c:9089
+#: eval.c:9107
 #, c-format
 msgid "E127: Cannot redefine function %s: It is in use"
 msgstr "E127: Íåâîçìîæíî ïåðåîïðåäåëèòü ôóíêöèþ %s, îíà èñïîëüçóåòñÿ"
 
-#: eval.c:9159
+#: eval.c:9177
 msgid "E129: Function name required"
 msgstr "E129: Òðåáóåòñÿ èìÿ ôóíêöèè"
 
-#: eval.c:9210
+#: eval.c:9228
 #, c-format
 msgid "E128: Function name must start with a capital: %s"
 msgstr "E128: Èìÿ ôóíêöèè äîëæíî íà÷èíàòüñÿ ñ ïðîïèñíîé áóêâû: %s"
 
-#: eval.c:9402
+#: eval.c:9420
 #, c-format
 msgid "E130: Undefined function: %s"
 msgstr "E130: Ôóíêöèÿ %s íå îïðåäåëåíà"
 
-#: eval.c:9407
+#: eval.c:9425
 #, c-format
 msgid "E131: Cannot delete function %s: It is in use"
 msgstr "E131: Íåâîçìîæíî óäàëèòü ôóíêöèþ %s, îíà èñïîëüçóåòñÿ"
 
-#: eval.c:9455
+#: eval.c:9473
 msgid "E132: Function call depth is higher than 'maxfuncdepth'"
 msgstr "E132: Ãëóáèíà âûçîâà ôóíêöèè áîëüøå, ÷åì çíà÷åíèå 'maxfuncdepth'"
 
 #. always scroll up, don't overwrite
-#: eval.c:9508
+#: eval.c:9526
 #, c-format
 msgid "calling %s"
 msgstr "âûçîâ %s"
 
-#: eval.c:9570
+#: eval.c:9588
 #, c-format
 msgid "%s aborted"
 msgstr "%s ïðåðâàíà"
 
-#: eval.c:9572
+#: eval.c:9590
 #, c-format
 msgid "%s returning #%ld"
 msgstr "%s âîçâðàùàåò #%ld"
 
-#: eval.c:9579
+#: eval.c:9597
 #, c-format
 msgid "%s returning \"%s\""
 msgstr "%s âîçâðàùàåò \"%s\""
 
 #. always scroll up, don't overwrite
-#: eval.c:9595 ex_cmds2.c:2365
+#: eval.c:9613 ex_cmds2.c:2370
 #, c-format
 msgid "continuing in %s"
 msgstr "ïðîäîëæåíèå â %s"
 
-#: eval.c:9621
+#: eval.c:9639
 msgid "E133: :return not inside a function"
 msgstr "E133: êîìàíäà :return âíå ôóíêöèè"
 
-#: eval.c:9952
+#: eval.c:9970
 #, c-format
 msgid ""
 "\n"
@@ -728,7 +728,7 @@
 msgid "Illegal starting char"
 msgstr "Íåäîïóñòèìûé íà÷àëüíûé ñèìâîë"
 
-#: ex_cmds.c:2097 ex_cmds.c:2362 ex_cmds2.c:763
+#: ex_cmds.c:2097 ex_cmds2.c:761
 msgid "Save As"
 msgstr "Ñîõðàíèòü êàê"
 
@@ -756,11 +756,11 @@
 msgid "E141: No file name for buffer %ld"
 msgstr "E141: Áóôåð %ld íå ñâÿçàí ñ èìåíåì ôàéëà"
 
-#: ex_cmds.c:2405
+#: ex_cmds.c:2406
 msgid "E142: File not written: Writing is disabled by 'write' option"
 msgstr "E142: Ôàéë íå ñîõðàí¸í: çàïèñü îòêëþ÷åíà îïöèåé 'write'"
 
-#: ex_cmds.c:2425
+#: ex_cmds.c:2426
 #, c-format
 msgid ""
 "'readonly' option is set for \"%.*s\".\n"
@@ -769,68 +769,68 @@
 "Äëÿ \"%.*s\" âêëþ÷åíà îïöèÿ 'readonly'.\n"
 "Çàïèñàòü?"
 
-#: ex_cmds.c:2597
+#: ex_cmds.c:2599
 msgid "Edit File"
 msgstr "Ðåäàêòèðîâàíèå ôàéëà"
 
-#: ex_cmds.c:3205
+#: ex_cmds.c:3206
 #, c-format
 msgid "E143: Autocommands unexpectedly deleted new buffer %s"
 msgstr "E143: Àâòîêîìàíäû íåîæèäàííî óáèëè íîâûé áóôåð %s"
 
-#: ex_cmds.c:3339
+#: ex_cmds.c:3340
 msgid "E144: non-numeric argument to :z"
 msgstr "E144: Ïàðàìåòð êîìàíäû :z äîëæåí áûòü ÷èñëîì"
 
-#: ex_cmds.c:3424
+#: ex_cmds.c:3425
 msgid "E145: Shell commands not allowed in rvim"
 msgstr "E145: Èñïîëüçîâàíèå êîìàíä îáîëî÷êè íå äîïóñêàåòñÿ â rvim."
 
-#: ex_cmds.c:3531
+#: ex_cmds.c:3532
 msgid "E146: Regular expressions can't be delimited by letters"
 msgstr "E146: Ðåãóëÿðíûå âûðàæåíèÿ íå ìîãóò ðàçäåëÿòüñÿ áóêâàìè"
 
-#: ex_cmds.c:3877
+#: ex_cmds.c:3878
 #, c-format
 msgid "replace with %s (y/n/a/q/l/^E/^Y)?"
 msgstr "çàìåíèòü íà %s? (y/n/a/q/l/^E/^Y)"
 
-#: ex_cmds.c:4270
+#: ex_cmds.c:4271
 msgid "(Interrupted) "
 msgstr "(Ïðåðâàíî)"
 
-#: ex_cmds.c:4274
+#: ex_cmds.c:4275
 msgid "1 substitution"
 msgstr "Îäíà çàìåíà"
 
-#: ex_cmds.c:4276
+#: ex_cmds.c:4277
 #, c-format
 msgid "%ld substitutions"
 msgstr "%ld çàìåí"
 
-#: ex_cmds.c:4279
+#: ex_cmds.c:4280
 msgid " on 1 line"
 msgstr " â îäíîé ñòðîêå"
 
-#: ex_cmds.c:4281
+#: ex_cmds.c:4282
 #, c-format
 msgid " on %ld lines"
 msgstr " â %ld ñòð."
 
-#: ex_cmds.c:4332
+#: ex_cmds.c:4333
 msgid "E147: Cannot do :global recursive"
 msgstr "E147: Êîìàíäà :global íå ìîæåò áûòü ðåêóðñèâíîé"
 
-#: ex_cmds.c:4367
+#: ex_cmds.c:4368
 msgid "E148: Regular expression missing from global"
 msgstr "E148: Â êîìàíäå :global ïðîïóùåíî ðåãóëÿðíîå âûðàæåíèå"
 
-#: ex_cmds.c:4416
+#: ex_cmds.c:4417
 #, c-format
 msgid "Pattern found in every line: %s"
 msgstr "Ñîîòâåòñòâèå øàáëîíó íàéäåíî íà êàæäîé ñòðîêå: %s"
 
-#: ex_cmds.c:4497
+#: ex_cmds.c:4498
 #, c-format
 msgid ""
 "\n"
@@ -841,96 +841,96 @@
 "# Ïîñëåäíÿÿ ñòðîêà äëÿ çàìåíû:\n"
 "$"
 
-#: ex_cmds.c:4598
+#: ex_cmds.c:4599
 msgid "E478: Don't panic!"
 msgstr "E478: Ñïîêîéñòâèå, òîëüêî ñïîêîéñòâèå!"
 
-#: ex_cmds.c:4650
+#: ex_cmds.c:4651
 #, c-format
 msgid "E661: Sorry, no '%s' help for %s"
 msgstr "E661: ê ñîæàëåíèþ, ñïðàâêà '%s' äëÿ %s îòñóòñòâóåò"
 
-#: ex_cmds.c:4653
+#: ex_cmds.c:4654
 #, c-format
 msgid "E149: Sorry, no help for %s"
 msgstr "E149: Ê ñîæàëåíèþ ñïðàâêà äëÿ %s îòñóòñòâóåò"
 
-#: ex_cmds.c:4687
+#: ex_cmds.c:4688
 #, c-format
 msgid "Sorry, help file \"%s\" not found"
 msgstr "Èçâèíèòå, ôàéë ñïðàâêè \"%s\" íå íàéäåí"
 
-#: ex_cmds.c:5170
+#: ex_cmds.c:5191
 #, c-format
 msgid "E150: Not a directory: %s"
 msgstr "E150: %s íå ÿâëÿåòñÿ êàòàëîãîì"
 
-#: ex_cmds.c:5309
+#: ex_cmds.c:5330
 #, c-format
 msgid "E152: Cannot open %s for writing"
 msgstr "E152: Íåâîçìîæíî îòêðûòü %s äëÿ çàïèñè"
 
-#: ex_cmds.c:5345
+#: ex_cmds.c:5366
 #, c-format
 msgid "E153: Unable to open %s for reading"
 msgstr "E153: Íåâîçìîæíî îòêðûòü %s äëÿ ÷òåíèÿ"
 
-#: ex_cmds.c:5367
+#: ex_cmds.c:5388
 #, c-format
 msgid "E670: Mix of help file encodings within a language: %s"
 msgstr "E670: Ôàéëû ñïðàâêè èñïîëüçóþò ðàçíûå êîäèðîâêè äëÿ îäíîãî ÿçûêà: %s"
 
-#: ex_cmds.c:5445
+#: ex_cmds.c:5466
 #, c-format
 msgid "E154: Duplicate tag \"%s\" in file %s"
 msgstr "E154: Ïîâòîðÿþùàÿñÿ ìåòêà \"%s\" â ôàéëå %s"
 
-#: ex_cmds.c:5557
+#: ex_cmds.c:5578
 #, c-format
 msgid "E160: Unknown sign command: %s"
 msgstr "E160: Íåèçâåñòíàÿ êîìàíäà çíà÷êà %s"
 
-#: ex_cmds.c:5577
+#: ex_cmds.c:5598
 msgid "E156: Missing sign name"
 msgstr "E156: Ïðîïóùåíî èìÿ çíà÷êà"
 
-#: ex_cmds.c:5623
+#: ex_cmds.c:5644
 msgid "E612: Too many signs defined"
 msgstr "E612: Îïðåäåëåíî ñëèøêîì ìíîãî çíà÷êîâ"
 
-#: ex_cmds.c:5691
+#: ex_cmds.c:5712
 #, c-format
 msgid "E239: Invalid sign text: %s"
 msgstr "E239: Íåïðàâèëüíûé òåêñò çíà÷êà: %s"
 
-#: ex_cmds.c:5722 ex_cmds.c:5913
+#: ex_cmds.c:5743 ex_cmds.c:5934
 #, c-format
 msgid "E155: Unknown sign: %s"
 msgstr "E155: Íåèçâåñòíûé çíà÷îê: %s"
 
-#: ex_cmds.c:5771
+#: ex_cmds.c:5792
 msgid "E159: Missing sign number"
 msgstr "E159: Ïðîïóùåí íîìåð çíà÷êà"
 
-#: ex_cmds.c:5853
+#: ex_cmds.c:5874
 #, c-format
 msgid "E158: Invalid buffer name: %s"
 msgstr "E158: Íåïðàâèëüíîå èìÿ áóôåðà: %s"
 
-#: ex_cmds.c:5892
+#: ex_cmds.c:5913
 #, c-format
 msgid "E157: Invalid sign ID: %ld"
 msgstr "E157: Íåïðàâèëüíûé ID çíà÷êà: %ld"
 
-#: ex_cmds.c:5962
+#: ex_cmds.c:5983
 msgid " (NOT FOUND)"
 msgstr " (ÍÅ ÍÀÉÄÅÍÎ)"
 
-#: ex_cmds.c:5964
+#: ex_cmds.c:5985
 msgid " (not supported)"
 msgstr " (íå ïîääåðæèâàåòñÿ)"
 
-#: ex_cmds.c:6063
+#: ex_cmds.c:6084
 msgid "[Deleted]"
 msgstr "[Óäàëåíî]"
 
@@ -938,7 +938,7 @@
 msgid "Entering Debug mode.  Type \"cont\" to continue."
 msgstr "Âêëþ÷¸í ðåæèì îòëàäêè. Äëÿ ïðîäîëæåíèÿ íàáåðèòå \"cont\""
 
-#: ex_cmds2.c:96 ex_docmd.c:966
+#: ex_cmds2.c:96 ex_docmd.c:968
 #, c-format
 msgid "line %ld: %s"
 msgstr "ñòðîêà %ld: %s"
@@ -972,7 +972,7 @@
 msgid "Save changes to \"%.*s\"?"
 msgstr "Ñîõðàíèòü èçìåíåíèÿ â \"%.*s\"?"
 
-#: ex_cmds2.c:788 ex_docmd.c:9378
+#: ex_cmds2.c:788 ex_docmd.c:9398
 msgid "Untitled"
 msgstr "Áåç èìåíè"
 
@@ -1003,168 +1003,168 @@
 msgid "E666: compiler not supported: %s"
 msgstr "E666: êîìïèëÿòîð íå ïîääåðæèâàåòñÿ: %s"
 
-#: ex_cmds2.c:1897
+#: ex_cmds2.c:1901
 #, c-format
 msgid "Searching for \"%s\" in \"%s\""
 msgstr "Ïîèñê \"%s\" â \"%s\""
 
-#: ex_cmds2.c:1919
+#: ex_cmds2.c:1923
 #, c-format
 msgid "Searching for \"%s\""
 msgstr "Ïîèñê \"%s\""
 
-#: ex_cmds2.c:1940
+#: ex_cmds2.c:1945
 #, c-format
 msgid "not found in 'runtimepath': \"%s\""
 msgstr "íå íàéäåíî â 'runtimepath': \"%s\""
 
-#: ex_cmds2.c:1974
+#: ex_cmds2.c:1979
 msgid "Source Vim script"
 msgstr "Âûïîëíèòü ñöåíàðèé Vim"
 
-#: ex_cmds2.c:2164
+#: ex_cmds2.c:2169
 #, c-format
 msgid "Cannot source a directory: \"%s\""
 msgstr "Íåëüçÿ ñ÷èòàòü êàòàëîã: \"%s\""
 
-#: ex_cmds2.c:2202
+#: ex_cmds2.c:2207
 #, c-format
 msgid "could not source \"%s\""
 msgstr "íåâîçìîæíî ñ÷èòàòü \"%s\""
 
-#: ex_cmds2.c:2204
+#: ex_cmds2.c:2209
 #, c-format
 msgid "line %ld: could not source \"%s\""
 msgstr "ñòðîêà %ld: íåâîçìîæíî ñ÷èòàòü \"%s\""
 
-#: ex_cmds2.c:2218
+#: ex_cmds2.c:2223
 #, c-format
 msgid "sourcing \"%s\""
 msgstr "ñ÷èòûâàíèå ñöåíàðèÿ \"%s\""
 
-#: ex_cmds2.c:2220
+#: ex_cmds2.c:2225
 #, c-format
 msgid "line %ld: sourcing \"%s\""
 msgstr "ñòðîêà %ld: ñ÷èòûâàíèå \"%s\""
 
-#: ex_cmds2.c:2363
+#: ex_cmds2.c:2368
 #, c-format
 msgid "finished sourcing %s"
 msgstr "ñ÷èòûâàíèå ñöåíàðèÿ %s çàâåðøåíî"
 
-#: ex_cmds2.c:2707
+#: ex_cmds2.c:2712
 msgid "W15: Warning: Wrong line separator, ^M may be missing"
 msgstr ""
 "W15: Ïðåäóïðåæäåíèå: íåïðàâèëüíûé ðàçäåëèòåëü ñòðîêè. Âîçìîæíî ïðîïóùåíî ^M"
 
-#: ex_cmds2.c:2756
+#: ex_cmds2.c:2761
 msgid "E167: :scriptencoding used outside of a sourced file"
 msgstr "E167: Êîìàíäà :scriptencoding èñïîëüçóåòñÿ âíå ôàéëà ñöåíàðèÿ"
 
-#: ex_cmds2.c:2789
+#: ex_cmds2.c:2794
 msgid "E168: :finish used outside of a sourced file"
 msgstr "E168: Êîìàíäà :finish èñïîëüçóåòñÿ âíå ôàéëà ñöåíàðèÿ"
 
-#: ex_cmds2.c:3238
+#: ex_cmds2.c:3243
 #, c-format
 msgid "Page %d"
 msgstr "Ñòðàíèöà %d"
 
-#: ex_cmds2.c:3394
+#: ex_cmds2.c:3399
 msgid "No text to be printed"
 msgstr "Ïå÷àòàòü íå÷åãî"
 
-#: ex_cmds2.c:3472
+#: ex_cmds2.c:3477
 #, c-format
 msgid "Printing page %d (%d%%)"
 msgstr "Ïå÷àòü ñòð. %d (%d%%)"
 
-#: ex_cmds2.c:3484
+#: ex_cmds2.c:3489
 #, c-format
 msgid " Copy %d of %d"
 msgstr " Êîïèÿ %d èç %d"
 
-#: ex_cmds2.c:3542
+#: ex_cmds2.c:3547
 #, c-format
 msgid "Printed: %s"
 msgstr "Íàïå÷àòàíî: %s"
 
-#: ex_cmds2.c:3549
+#: ex_cmds2.c:3554
 #, c-format
 msgid "Printing aborted"
 msgstr "Ïå÷àòü ïðåêðàùåíà"
 
-#: ex_cmds2.c:3914
+#: ex_cmds2.c:3919
 msgid "E455: Error writing to PostScript output file"
 msgstr "E455: Îøèáêà çàïèñè â ôàéë PostScript"
 
-#: ex_cmds2.c:4189
+#: ex_cmds2.c:4194
 #, c-format
 msgid "E624: Can't open file \"%s\""
 msgstr "E624: Íåâîçìîæíî îòêðûòü ôàéë \"%s\""
 
-#: ex_cmds2.c:4199 ex_cmds2.c:4824
+#: ex_cmds2.c:4204 ex_cmds2.c:4829
 #, c-format
 msgid "E457: Can't read PostScript resource file \"%s\""
 msgstr "E457: Íåâîçìîæíî ïðî÷èòàòü ôàéë ðåñóðñîâ PostScript \"%s\""
 
-#: ex_cmds2.c:4207
+#: ex_cmds2.c:4212
 #, c-format
 msgid "E618: file \"%s\" is not a PostScript resource file"
 msgstr "E618: ôàéë \"%s\" íå ÿâëÿåòñÿ ôàéëîì ðåñóðñîâ PostScript"
 
-#: ex_cmds2.c:4222 ex_cmds2.c:4242 ex_cmds2.c:4257 ex_cmds2.c:4279
+#: ex_cmds2.c:4227 ex_cmds2.c:4247 ex_cmds2.c:4262 ex_cmds2.c:4284
 #, c-format
 msgid "E619: file \"%s\" is not a supported PostScript resource file"
 msgstr "E619: ôàéë \"%s\" íå ÿâëÿåòñÿ äîïóñòèìûì ôàéëîì ðåñóðñîâ PostScript"
 
-#: ex_cmds2.c:4309
+#: ex_cmds2.c:4314
 #, c-format
 msgid "E621: \"%s\" resource file has wrong version"
 msgstr "E621: ôàéë ðåñóðñîâ \"%s\" íåèçâåñòíîé âåðñèè"
 
-#: ex_cmds2.c:4776
+#: ex_cmds2.c:4781
 msgid "E324: Can't open PostScript output file"
 msgstr "E324: Íåâîçìîæíî îòêðûòü ôàéë PostScript"
 
-#: ex_cmds2.c:4809
+#: ex_cmds2.c:4814
 #, c-format
 msgid "E456: Can't open file \"%s\""
 msgstr "E456: Íåâîçìîæíî îòêðûòü ôàéë \"%s\""
 
-#: ex_cmds2.c:4928
+#: ex_cmds2.c:4933
 msgid "E456: Can't find PostScript resource file \"prolog.ps\""
 msgstr "E456: Ôàéë ðåñóðñîâ PostScript \"prolog.ps\" íå íàéäåí"
 
-#: ex_cmds2.c:4959
+#: ex_cmds2.c:4964
 #, c-format
 msgid "E456: Can't find PostScript resource file \"%s.ps\""
 msgstr "E456: Ôàéë ðåñóðñîâ PostScript \"%s.ps\" íå íàéäåí"
 
-#: ex_cmds2.c:4977
+#: ex_cmds2.c:4982
 #, c-format
 msgid "E620: Unable to convert from multi-byte to \"%s\" encoding"
 msgstr ""
 "E620: Ïðåîáðàçîâàíèå èç ìóëüòèáàéòíûõ ñèìâîëîâ â êîäèðîâêó \"%s\" íåâîçìîæíî"
 
-#: ex_cmds2.c:5102
+#: ex_cmds2.c:5107
 msgid "Sending to printer..."
 msgstr "Îòïðàâêà íà ïå÷àòü..."
 
-#: ex_cmds2.c:5106
+#: ex_cmds2.c:5111
 msgid "E365: Failed to print PostScript file"
 msgstr "E365: Íå óäàëîñü âûïîëíèòü ïå÷àòü ôàéëà PostScript"
 
-#: ex_cmds2.c:5108
+#: ex_cmds2.c:5113
 msgid "Print job sent."
 msgstr "Çàäàíèå íà ïå÷àòü îòïðàâëåíî."
 
-#: ex_cmds2.c:5618
+#: ex_cmds2.c:5623
 #, c-format
 msgid "Current %slanguage: \"%s\""
 msgstr "Àêòèâíûé %sÿçûê: \"%s\""
 
-#: ex_cmds2.c:5629
+#: ex_cmds2.c:5634
 #, c-format
 msgid "E197: Cannot set language to \"%s\""
 msgstr "E197: Íåâîçìîæíî ñìåíèòü ÿçûê íà \"%s\""
@@ -1178,74 +1178,74 @@
 msgid "E501: At end-of-file"
 msgstr "E501: Â êîíöå ôàéëà"
 
-#: ex_docmd.c:669
+#: ex_docmd.c:670
 msgid "E169: Command too recursive"
 msgstr "E169: Cëèøêîì ðåêóðñèâíàÿ êîìàíäà"
 
-#: ex_docmd.c:1229
+#: ex_docmd.c:1232
 #, c-format
 msgid "E605: Exception not caught: %s"
 msgstr "E605: Èñêëþ÷èòåëüíàÿ ñèòóàöèÿ íå îáðàáîòàíà: %s"
 
-#: ex_docmd.c:1317
+#: ex_docmd.c:1320
 msgid "End of sourced file"
 msgstr "Êîíåö ñ÷èòàííîãî ôàéëà"
 
-#: ex_docmd.c:1318
+#: ex_docmd.c:1321
 msgid "End of function"
 msgstr "Êîíåö ôóíêöèè"
 
-#: ex_docmd.c:1907
+#: ex_docmd.c:1910
 msgid "E464: Ambiguous use of user-defined command"
 msgstr "E464: Íåîäíîçíà÷íîå èñïîëüçîâàíèå êîìàíäû ïîëüçîâàòåëÿ"
 
-#: ex_docmd.c:1921
+#: ex_docmd.c:1924
 msgid "E492: Not an editor command"
 msgstr "E492: Ýòî íå êîìàíäà ðåäàêòîðà"
 
-#: ex_docmd.c:2028
+#: ex_docmd.c:2031
 msgid "E493: Backwards range given"
 msgstr "E493: Çàäàí îáðàòíûé äèàïàçîí"
 
-#: ex_docmd.c:2037
+#: ex_docmd.c:2040
 msgid "Backwards range given, OK to swap"
 msgstr "Çàäàí îáðàòíûé äèàïàçîí, ìåíÿåì ãðàíèöû ìåñòàìè"
 
-#: ex_docmd.c:2160
+#: ex_docmd.c:2163
 msgid "E494: Use w or w>>"
 msgstr "E494: Èñïîëüçóéòå w èëè w>>"
 
-#: ex_docmd.c:3786
+#: ex_docmd.c:3789
 msgid "E319: Sorry, the command is not available in this version"
 msgstr "E319: Èçâèíèòå, ýòà êîìàíäà íåäîñòóïíà â äàííîé âåðñèè"
 
-#: ex_docmd.c:3989
+#: ex_docmd.c:3992
 msgid "E172: Only one file name allowed"
 msgstr "E172: Ðàçðåøåíî èñïîëüçîâàòü òîëüêî îäíî èìÿ ôàéëà"
 
-#: ex_docmd.c:4569
+#: ex_docmd.c:4572
 msgid "1 more file to edit.  Quit anyway?"
 msgstr "1 ôàéë îæèäàåò ðåäàêòèðîâàíèÿ. Âûéòè?"
 
-#: ex_docmd.c:4572
+#: ex_docmd.c:4575
 #, c-format
 msgid "%d more files to edit.  Quit anyway?"
 msgstr "Åñòü íåîòðåäàêòèðîâàííûå ôàéëû (%d). Âûéòè?"
 
-#: ex_docmd.c:4579
+#: ex_docmd.c:4582
 msgid "E173: 1 more file to edit"
 msgstr "E173: 1 ôàéë îæèäàåò ðåäàêòèðîâàíèÿ."
 
-#: ex_docmd.c:4581
+#: ex_docmd.c:4584
 #, c-format
 msgid "E173: %ld more files to edit"
 msgstr "E173: Åñòü íåîòðåäàêòèðîâàííûå ôàéëû (%d)."
 
-#: ex_docmd.c:4676
+#: ex_docmd.c:4679
 msgid "E174: Command already exists: add ! to replace it"
 msgstr "E174: Êîìàíäà óæå ñóùåñòâóåò. Äîáàâüòå ! äëÿ çàìåíû."
 
-#: ex_docmd.c:4787
+#: ex_docmd.c:4790
 msgid ""
 "\n"
 "    Name        Args Range Complete  Definition"
@@ -1253,177 +1253,177 @@
 "\n"
 "    Èìÿ      Ïàðàì. Äèàï. Äîïîëí.    Îïðåäåëåíèå"
 
-#: ex_docmd.c:4876
+#: ex_docmd.c:4879
 msgid "No user-defined commands found"
 msgstr "Êîìàíäû, îïðåäåë¸ííûå ïîëüçîâàòåëåì, íå îáíàðóæåíû."
 
-#: ex_docmd.c:4908
+#: ex_docmd.c:4911
 msgid "E175: No attribute specified"
 msgstr "E175: ïàðàìåòð íå çàäàí"
 
-#: ex_docmd.c:4960
+#: ex_docmd.c:4963
 msgid "E176: Invalid number of arguments"
 msgstr "E176: Íåïðàâèëüíîå êîëè÷åñòâî ïàðàìåòðîâ"
 
-#: ex_docmd.c:4975
+#: ex_docmd.c:4978
 msgid "E177: Count cannot be specified twice"
 msgstr "E177: ×èñëî-ïðèñòàâêó íåëüçÿ óêàçûâàòü äâàæäû"
 
-#: ex_docmd.c:4985
+#: ex_docmd.c:4988
 msgid "E178: Invalid default value for count"
 msgstr "E178: Íåïðàâèëüíîå çíà÷åíèå ÷èñëà-ïðèñòàâêè ïî óìîë÷àíèþ"
 
-#: ex_docmd.c:5016
+#: ex_docmd.c:5019
 msgid "E179: argument required for complete"
 msgstr "E179: äëÿ çàâåðøåíèÿ òðåáóåòñÿ óêàçàòü ïàðàìåòð"
 
-#: ex_docmd.c:5048
+#: ex_docmd.c:5051
 #, c-format
 msgid "E180: Invalid complete value: %s"
 msgstr "E180: Íåïðàâèëüíîå çíà÷åíèå äîïîëíåíèÿ: %s"
 
-#: ex_docmd.c:5057
+#: ex_docmd.c:5060
 msgid "E468: Completion argument only allowed for custom completion"
 msgstr ""
 "E468: Ïàðàìåòð àâòîäîïîëíåíèÿ ìîæíî èñïîëüçîâàòü òîëüêî ñ îñîáûì äîïîëíåíèåì"
 
-#: ex_docmd.c:5063
+#: ex_docmd.c:5066
 msgid "E467: Custom completion requires a function argument"
 msgstr "E467: Îñîáîå äîïîëíåíèå òðåáóåò óêàçàíèÿ ïàðàìåòðà ôóíêöèè"
 
-#: ex_docmd.c:5074
+#: ex_docmd.c:5077
 #, c-format
 msgid "E181: Invalid attribute: %s"
 msgstr "E181: Íåïðàâèëüíûé àòðèáóò: %s"
 
-#: ex_docmd.c:5117
+#: ex_docmd.c:5120
 msgid "E182: Invalid command name"
 msgstr "E182: Íåïðàâèëüíîå èìÿ êîìàíäû"
 
-#: ex_docmd.c:5132
+#: ex_docmd.c:5135
 msgid "E183: User defined commands must start with an uppercase letter"
 msgstr "E183: Êîìàíäà ïîëüçîâàòåëÿ äîëæíà íà÷èíàòüñÿ ñ çàãëàâíîé áóêâû"
 
-#: ex_docmd.c:5203
+#: ex_docmd.c:5206
 #, c-format
 msgid "E184: No such user-defined command: %s"
 msgstr "E184: Íåò òàêîé êîìàíäû ïîëüçîâàòåëÿ: %s"
 
-#: ex_docmd.c:5664
+#: ex_docmd.c:5667
 #, c-format
 msgid "E185: Cannot find color scheme %s"
 msgstr "E185: Öâåòîâàÿ ñõåìà %s íå íàéäåíà"
 
-#: ex_docmd.c:5672
+#: ex_docmd.c:5675
 msgid "Greetings, Vim user!"
 msgstr "Ïðèâåò, ïîëüçîâàòåëü Vim!"
 
-#: ex_docmd.c:6389
+#: ex_docmd.c:6393
 msgid "Edit File in new window"
 msgstr "Ðåäàêòèðîâàòü ôàéë â íîâîì îêíå"
 
-#: ex_docmd.c:6684
+#: ex_docmd.c:6688
 msgid "No swap file"
 msgstr "Áåç ñâîï-ôàéëà"
 
-#: ex_docmd.c:6788
+#: ex_docmd.c:6792
 msgid "Append File"
 msgstr "Äîáàâèòü ôàéë"
 
-#: ex_docmd.c:6852
+#: ex_docmd.c:6856
 msgid "E186: No previous directory"
 msgstr "E186: Íåò ïðåäûäóùåãî êàòàëîãà"
 
-#: ex_docmd.c:6934
+#: ex_docmd.c:6938
 msgid "E187: Unknown"
 msgstr "E187: Íåèçâåñòíî"
 
-#: ex_docmd.c:7019
+#: ex_docmd.c:7023
 msgid "E465: :winsize requires two number arguments"
 msgstr "E465: êîìàíäà :winsize òðåáóåò óêàçàíèÿ äâóõ ÷èñëîâûõ ïàðàìåòðîâ"
 
-#: ex_docmd.c:7075
+#: ex_docmd.c:7079
 #, c-format
 msgid "Window position: X %d, Y %d"
 msgstr "Ïîëîæåíèå îêíà: X %d, Y %d"
 
-#: ex_docmd.c:7080
+#: ex_docmd.c:7084
 msgid "E188: Obtaining window position not implemented for this platform"
 msgstr "E188: Â äàííîé ñèñòåìå îïðåäåëåíèå ïîëîæåíèÿ îêíà íå ðàáîòàåò"
 
-#: ex_docmd.c:7090
+#: ex_docmd.c:7094
 msgid "E466: :winpos requires two number arguments"
 msgstr "E466: êîìàíäà :winpos òðåáóåò óêàçàíèÿ äâóõ ÷èñëîâûõ ïàðàìåòðîâ"
 
-#: ex_docmd.c:7368
+#: ex_docmd.c:7372
 msgid "Save Redirection"
 msgstr "Ïåðåíàïðàâëåíèå çàïèñè"
 
-#: ex_docmd.c:7558
+#: ex_docmd.c:7562
 msgid "Save View"
 msgstr "Ñîõðàíåíèå âèäà"
 
-#: ex_docmd.c:7559
+#: ex_docmd.c:7563
 msgid "Save Session"
 msgstr "Ñîõðàíåíèå ñåàíñà"
 
-#: ex_docmd.c:7561
+#: ex_docmd.c:7565
 msgid "Save Setup"
 msgstr "Ñîõðàíåíèå íàñòðîåê"
 
-#: ex_docmd.c:7713
+#: ex_docmd.c:7717
 #, c-format
 msgid "E189: \"%s\" exists (add ! to override)"
 msgstr "E189: \"%s\" ñóùåñòâóåò (!, ÷òîáû îáîéòè ïðîâåðêó)"
 
-#: ex_docmd.c:7718
+#: ex_docmd.c:7722
 #, c-format
 msgid "E190: Cannot open \"%s\" for writing"
 msgstr "E190: Íåâîçìîæíî îòêðûòü äëÿ çàïèñè \"%s\""
 
 #. set mark
-#: ex_docmd.c:7742
+#: ex_docmd.c:7746
 msgid "E191: Argument must be a letter or forward/backward quote"
 msgstr "E191: Ïàðàìåòð äîëæåí áûòü ïðÿìîé/îáðàòíîé êàâû÷êîé èëè áóêâîé"
 
-#: ex_docmd.c:7784
+#: ex_docmd.c:7788
 msgid "E192: Recursive use of :normal too deep"
 msgstr "E192: Ñëèøêîì ãëóáîêàÿ ðåêóðñèÿ ïðè èñïîëüçîâàíèè êîìàíäû :normal"
 
-#: ex_docmd.c:8302
+#: ex_docmd.c:8306
 msgid "E194: No alternate file name to substitute for '#'"
 msgstr "E194: Íåò ñîñåäíåãî èìåíè ôàéëà äëÿ çàìåíû '#'"
 
-#: ex_docmd.c:8333
+#: ex_docmd.c:8337
 msgid "E495: no autocommand file name to substitute for \"<afile>\""
 msgstr "E495: Íåò àâòîêîìàíäíîãî èìåíè ôàéëà äëÿ çàìåíû \"<afile>\""
 
-#: ex_docmd.c:8341
+#: ex_docmd.c:8345
 msgid "E496: no autocommand buffer number to substitute for \"<abuf>\""
 msgstr "E496: Íåò àâòîêîìàíäíîãî íîìåðà áóôåðà äëÿ çàìåíû \"<abuf>\""
 
-#: ex_docmd.c:8352
+#: ex_docmd.c:8356
 msgid "E497: no autocommand match name to substitute for \"<amatch>\""
 msgstr "E497: Íåò àâòîêîìàíäíîãî èìåíè ñîîòâåòñòâèÿ äëÿ çàìåíû \"<amatch>\""
 
-#: ex_docmd.c:8362
+#: ex_docmd.c:8366
 msgid "E498: no :source file name to substitute for \"<sfile>\""
 msgstr "E498: íåò èìåíè ôàéëà :source äëÿ çàìåíû \"<sfile>\""
 
-#: ex_docmd.c:8403
+#: ex_docmd.c:8407
 #, no-c-format
 msgid "E499: Empty file name for '%' or '#', only works with \":p:h\""
 msgstr "E499: Ïóñòîå èìÿ ôàéëà äëÿ '%' èëè '#', âîçìîæíî òîëüêî c \":p:h\""
 
-#: ex_docmd.c:8405
+#: ex_docmd.c:8409
 msgid "E500: Evaluates to an empty string"
 msgstr "E500: Ðåçóëüòàòîì âûðàæåíèÿ ÿâëÿåòñÿ ïóñòàÿ ñòðîêà"
 
-#: ex_docmd.c:9360
+#: ex_docmd.c:9380
 msgid "E195: Cannot open viminfo file for reading"
 msgstr "E195: Íåâîçìîæíî îòêðûòü ôàéë viminfo äëÿ ÷òåíèÿ"
 
-#: ex_docmd.c:9533
+#: ex_docmd.c:9553
 msgid "E196: No digraphs in this version"
 msgstr "E196: Â ýòîé âåðñèè äèãðàôû íå ðàáîòàþò"
 
@@ -1482,7 +1482,7 @@
 msgid "Error and interrupt"
 msgstr "Îøèáêà è ïðåðûâàíèå"
 
-#: ex_eval.c:754 gui.c:4381
+#: ex_eval.c:754 gui.c:4384
 msgid "Error"
 msgstr "Îøèáêà"
 
@@ -1558,19 +1558,19 @@
 msgid "E193: :endfunction not inside a function"
 msgstr "E193: êîìàíäà :endfunction ìîæåò èñïîëüçîâàòüñÿ òîëüêî âíóòðè ôóíêöèè"
 
-#: ex_getln.c:3296
+#: ex_getln.c:3299
 msgid "tagname"
 msgstr "èìÿ ìåòêè"
 
-#: ex_getln.c:3299
+#: ex_getln.c:3302
 msgid " kind file\n"
 msgstr " òèï ôàéëà\n"
 
-#: ex_getln.c:4752
+#: ex_getln.c:4768
 msgid "'history' option is zero"
 msgstr "çíà÷åíèå îïöèè 'history' ðàâíî íóëþ"
 
-#: ex_getln.c:5023
+#: ex_getln.c:5039
 #, c-format
 msgid ""
 "\n"
@@ -1579,259 +1579,259 @@
 "\n"
 "# %s, èñòîðèÿ (íà÷èíàÿ îò ñâåæåãî ê ñòàðîìó):\n"
 
-#: ex_getln.c:5024
+#: ex_getln.c:5040
 msgid "Command Line"
 msgstr "Êîìàíäíàÿ ñòðîêà"
 
-#: ex_getln.c:5025
+#: ex_getln.c:5041
 msgid "Search String"
 msgstr "Ñòðîêà ïîèñêà"
 
-#: ex_getln.c:5026
+#: ex_getln.c:5042
 msgid "Expression"
 msgstr "Âûðàæåíèå"
 
-#: ex_getln.c:5027
+#: ex_getln.c:5043
 msgid "Input Line"
 msgstr "Ñòðîêà ââîäà"
 
-#: ex_getln.c:5065
+#: ex_getln.c:5081
 msgid "E198: cmd_pchar beyond the command length"
 msgstr "E198: cmd_pchar áîëüøå äëèíû êîìàíäû"
 
-#: ex_getln.c:5242
+#: ex_getln.c:5258
 msgid "E199: Active window or buffer deleted"
 msgstr "E199: Óäàëåíî àêòèâíîå îêíî èëè áóôåð"
 
-#: fileio.c:377
+#: fileio.c:378
 msgid "Illegal file name"
 msgstr "Íåäîïóñòèìîå èìÿ ôàéëà"
 
-#: fileio.c:401 fileio.c:535 fileio.c:2913 fileio.c:2954
+#: fileio.c:402 fileio.c:540 fileio.c:2925 fileio.c:2966
 msgid "is a directory"
 msgstr "ÿâëÿåòñÿ êàòàëîãîì"
 
-#: fileio.c:403
+#: fileio.c:404
 msgid "is not a file"
 msgstr "íå ÿâëÿåòñÿ ôàéëîì"
 
-#: fileio.c:557 fileio.c:4131
+#: fileio.c:562 fileio.c:4143
 msgid "[New File]"
 msgstr "[Íîâûé ôàéë]"
 
-#: fileio.c:590
+#: fileio.c:595
 msgid "[Permission Denied]"
 msgstr "[Äîñòóï çàïðåù¸í]"
 
-#: fileio.c:694
+#: fileio.c:706
 msgid "E200: *ReadPre autocommands made the file unreadable"
 msgstr "E200:  ðåçóëüòàòå âûïîëíåíèÿ àâòîêîìàíä *ReadPre ôàéë ñòàë íå÷èòàåìûì"
 
-#: fileio.c:696
+#: fileio.c:708
 msgid "E201: *ReadPre autocommands must not change current buffer"
 msgstr "E201: àâòîêîìàíäû *ReadPre íå äîëæíû èçìåíÿòü àêòèâíûé áóôåð"
 
-#: fileio.c:717
+#: fileio.c:729
 msgid "Vim: Reading from stdin...\n"
 msgstr "Vim: âûïîëíÿåòñÿ ÷òåíèå èç ñòàíäàðòíîãî ïîòîêà ââîäà stdin...\n"
 
-#: fileio.c:723
+#: fileio.c:735
 msgid "Reading from stdin..."
 msgstr "Âûïîëíÿåòñÿ ÷òåíèå èç ñòàíäàðòíîãî ïîòîêà ââîäà stdin..."
 
 #. Re-opening the original file failed!
-#: fileio.c:1000
+#: fileio.c:1012
 msgid "E202: Conversion made file unreadable!"
 msgstr "E202:  ðåçóëüòàòå ïðåîáðàçîâàíèÿ ôàéë ñòàë íå÷èòàåìûì!"
 
-#: fileio.c:2090
+#: fileio.c:2102
 msgid "[fifo/socket]"
 msgstr "[fifo/ãíåçäî]"
 
-#: fileio.c:2097
+#: fileio.c:2109
 msgid "[fifo]"
 msgstr "[fifo]"
 
-#: fileio.c:2104
+#: fileio.c:2116
 msgid "[socket]"
 msgstr "[ãíåçäî]"
 
-#: fileio.c:2112
+#: fileio.c:2124
 msgid "[RO]"
 msgstr "[RO]"
 
-#: fileio.c:2122
+#: fileio.c:2134
 msgid "[CR missing]"
 msgstr "[ïðîïóùåíû ñèìâîëû CR]"
 
-#: fileio.c:2127
+#: fileio.c:2139
 msgid "[NL found]"
 msgstr "[Îáíàðóæåíû ñèìâîëû NL]"
 
-#: fileio.c:2132
+#: fileio.c:2144
 msgid "[long lines split]"
 msgstr "[äëèííûå ñòðîêè ðàçáèòû]"
 
-#: fileio.c:2138 fileio.c:4115
+#: fileio.c:2150 fileio.c:4127
 msgid "[NOT converted]"
 msgstr "[ÁÅÇ ïðåîáðàçîâàíèé]"
 
-#: fileio.c:2143 fileio.c:4120
+#: fileio.c:2155 fileio.c:4132
 msgid "[converted]"
 msgstr "[ïåðåêîäèðîâàíî]"
 
-#: fileio.c:2150 fileio.c:4145
+#: fileio.c:2162 fileio.c:4157
 msgid "[crypted]"
 msgstr "[çàøèôðîâàíî]"
 
-#: fileio.c:2157
+#: fileio.c:2169
 msgid "[CONVERSION ERROR]"
 msgstr "[ÎØÈÁÊÀ ÏÐÅÎÁÐÀÇÎÂÀÍÈß]"
 
-#: fileio.c:2163
+#: fileio.c:2175
 #, c-format
 msgid "[ILLEGAL BYTE in line %ld]"
 msgstr "[ÍÅÄÎÏÓÑÒÈÌÛÉ ÁÀÉÒ â ñòðîêå %ld]"
 
-#: fileio.c:2170
+#: fileio.c:2182
 msgid "[READ ERRORS]"
 msgstr "[ÎØÈÁÊÈ ×ÒÅÍÈß]"
 
-#: fileio.c:2386
+#: fileio.c:2398
 msgid "Can't find temp file for conversion"
 msgstr "Âðåìåííûé ôàéë äëÿ ïåðåêîäèðîâàíèÿ íå íàéäåí"
 
-#: fileio.c:2393
+#: fileio.c:2405
 msgid "Conversion with 'charconvert' failed"
 msgstr "Ïðåîáðàçîâàíèå ñ ïîìîùüþ 'charconvert' íå âûïîëíåíî"
 
-#: fileio.c:2396
+#: fileio.c:2408
 msgid "can't read output of 'charconvert'"
 msgstr "íåâîçìîæíî ïðî÷èòàòü âûâîä 'charconvert'"
 
-#: fileio.c:2796
+#: fileio.c:2808
 msgid "E203: Autocommands deleted or unloaded buffer to be written"
 msgstr ""
 "E203: Áóôåð, êîòîðûé òðåáîâàëîñü çàïèñàòü, óäàë¸í èëè âûãðóæåí àâòîêîìàíäîé"
 
-#: fileio.c:2819
+#: fileio.c:2831
 msgid "E204: Autocommand changed number of lines in unexpected way"
 msgstr "E204: Êîëè÷åñòâî ñòðîê èçìåíåíî àâòîêîìàíäîé íåîæèäàííûì îáðàçîì"
 
-#: fileio.c:2857
+#: fileio.c:2869
 msgid "NetBeans dissallows writes of unmodified buffers"
 msgstr "NetBeans íå ïîçâîëÿåò âûïîëíÿòü çàïèñü íåèçìåí¸ííûõ áóôåðîâ"
 
-#: fileio.c:2865
+#: fileio.c:2877
 msgid "Partial writes disallowed for NetBeans buffers"
 msgstr "×àñòè÷íàÿ çàïèñü áóôåðîâ NetBeans íå äîïóñêàåòñÿ"
 
-#: fileio.c:2919 fileio.c:2937
+#: fileio.c:2931 fileio.c:2949
 msgid "is not a file or writable device"
 msgstr "íå ÿâëÿåòñÿ ôàéëîì èëè óñòðîéñòâîì, äîñòóïíûì äëÿ çàïèñè"
 
-#: fileio.c:2989
+#: fileio.c:3001
 msgid "is read-only (add ! to override)"
 msgstr "îòêðûò òîëüêî äëÿ ÷òåíèÿ (!, ÷òîáû îáîéòè ïðîâåðêó)"
 
-#: fileio.c:3335
+#: fileio.c:3347
 msgid "E506: Can't write to backup file (add ! to override)"
 msgstr "E506: Çàïèñü â ðåçåðâíûé ôàéë íåâîçìîæíà (!, ÷òîáû îáîéòè ïðîâåðêó)"
 
-#: fileio.c:3347
+#: fileio.c:3359
 msgid "E507: Close error for backup file (add ! to override)"
 msgstr "E507: Îøèáêà çàêðûòèÿ ðåçåðâíîãî ôàéëà (!, ÷òîáû îáîéòè ïðîâåðêó)"
 
-#: fileio.c:3349
+#: fileio.c:3361
 msgid "E508: Can't read file for backup (add ! to override)"
 msgstr "E508: Íåâîçìîæíî ïðî÷èòàòü ðåçåðâíûé ôàéë (!, ÷òîáû îáîéòè ïðîâåðêó)"
 
-#: fileio.c:3365
+#: fileio.c:3377
 msgid "E509: Cannot create backup file (add ! to override)"
 msgstr "E509: Íåâîçìîæíî ñîçäàòü ðåçåðâíûé ôàéë (!, ÷òîáû îáîéòè ïðîâåðêó)"
 
-#: fileio.c:3468
+#: fileio.c:3480
 msgid "E510: Can't make backup file (add ! to override)"
 msgstr "E510: Íåâîçìîæíî ñîçäàòü ðåçåðâíûé ôàéë (!, ÷òîáû îáîéòè ïðîâåðêó)"
 
-#: fileio.c:3530
+#: fileio.c:3542
 msgid "E460: The resource fork would be lost (add ! to override)"
 msgstr "E460: Âèëêà ðåñóðñà áóäåò ïîòåðÿíà (!, ÷òîáû îáîéòè ïðîâåðêó)"
 
-#: fileio.c:3640
+#: fileio.c:3652
 msgid "E214: Can't find temp file for writing"
 msgstr "E214: Âðåìåííûé ôàéë äëÿ çàïèñè íå íàéäåí"
 
-#: fileio.c:3658
+#: fileio.c:3670
 msgid "E213: Cannot convert (add ! to write without conversion)"
 msgstr "E213: Ïåðåêîäèðîâêà íåâîçìîæíà (! äëÿ çàïèñè áåç ïåðåêîäèðîâêè)"
 
-#: fileio.c:3693
+#: fileio.c:3705
 msgid "E166: Can't open linked file for writing"
 msgstr "E166: Íåâîçìîæíî îòêðûòü ñâÿçàííûé ôàéë äëÿ çàïèñè"
 
-#: fileio.c:3697
+#: fileio.c:3709
 msgid "E212: Can't open file for writing"
 msgstr "E212: Íåâîçìîæíî îòêðûòü ôàéë äëÿ çàïèñè"
 
-#: fileio.c:3959
+#: fileio.c:3971
 msgid "E667: Fsync failed"
 msgstr "E667: Íå óäàëîñü âûïîëíèòü ôóíêöèþ fsync()"
 
-#: fileio.c:3966
+#: fileio.c:3978
 msgid "E512: Close failed"
 msgstr "E512: Îïåðàöèÿ çàêðûòèÿ íå óäàëàñü"
 
-#: fileio.c:4037
+#: fileio.c:4049
 msgid "E513: write error, conversion failed"
 msgstr "E513: Îøèáêà çàïèñè, ïðåîáðàçîâàíèå íå óäàëîñü"
 
-#: fileio.c:4043
+#: fileio.c:4055
 msgid "E514: write error (file system full?)"
 msgstr "E514: îøèáêà çàïèñè (íåò ñâîáîäíîãî ìåñòà?)"
 
-#: fileio.c:4110
+#: fileio.c:4122
 msgid " CONVERSION ERROR"
 msgstr " ÎØÈÁÊÀ ÏÐÅÎÁÐÀÇÎÂÀÍÈß"
 
-#: fileio.c:4126
+#: fileio.c:4138
 msgid "[Device]"
 msgstr "[Óñòðîéñòâî]"
 
-#: fileio.c:4131
+#: fileio.c:4143
 msgid "[New]"
 msgstr "[Íîâûé]"
 
-#: fileio.c:4153
+#: fileio.c:4165
 msgid " [a]"
 msgstr " [a]"
 
-#: fileio.c:4153
+#: fileio.c:4165
 msgid " appended"
 msgstr " äîáàâëåíî"
 
-#: fileio.c:4155
+#: fileio.c:4167
 msgid " [w]"
 msgstr " [w]"
 
-#: fileio.c:4155
+#: fileio.c:4167
 msgid " written"
 msgstr " çàïèñàíî"
 
-#: fileio.c:4205
+#: fileio.c:4217
 msgid "E205: Patchmode: can't save original file"
 msgstr "E205: Ðåæèì çàïëàòêè: íåâîçìîæíî ñîõðàíåíèå èñõîäíîãî ôàéëà"
 
-#: fileio.c:4227
+#: fileio.c:4239
 msgid "E206: patchmode: can't touch empty original file"
 msgstr ""
 "E206: Ðåæèì çàïëàòêè: íåâîçìîæíî ñìåíèòü ïàðàìåòðû ïóñòîãî èñõîäíîãî ôàéëà"
 
-#: fileio.c:4242
+#: fileio.c:4254
 msgid "E207: Can't delete backup file"
 msgstr "E207: Íåâîçìîæíî óäàëèòü ðåçåðâíûé ôàéë"
 
-#: fileio.c:4306
+#: fileio.c:4318
 msgid ""
 "\n"
 "WARNING: Original file may be lost or damaged\n"
@@ -1839,96 +1839,96 @@
 "\n"
 "ÏÐÅÄÓÏÐÅÆÄÅÍÈÅ: Èñõîäíûé ôàéë ìîæåò áûòü óòðà÷åí èëè ïîâðåæä¸í\n"
 
-#: fileio.c:4308
+#: fileio.c:4320
 msgid "don't quit the editor until the file is successfully written!"
 msgstr "íå âûõîäèòå èç ðåäàêòîðà, ïîêà ôàéë íå áóäåò óñïåøíî çàïèñàí!"
 
-#: fileio.c:4397
+#: fileio.c:4409
 msgid "[dos]"
 msgstr "[dos]"
 
-#: fileio.c:4397
+#: fileio.c:4409
 msgid "[dos format]"
 msgstr "[ôîðìàò dos]"
 
-#: fileio.c:4404
+#: fileio.c:4416
 msgid "[mac]"
 msgstr "[mac]"
 
-#: fileio.c:4404
+#: fileio.c:4416
 msgid "[mac format]"
 msgstr "[ôîðìàò mac]"
 
-#: fileio.c:4411
+#: fileio.c:4423
 msgid "[unix]"
 msgstr "[unix]"
 
-#: fileio.c:4411
+#: fileio.c:4423
 msgid "[unix format]"
 msgstr "[ôîðìàò unix]"
 
-#: fileio.c:4438
+#: fileio.c:4450
 msgid "1 line, "
 msgstr "1 ñòðîêà, "
 
-#: fileio.c:4440
+#: fileio.c:4452
 #, c-format
 msgid "%ld lines, "
 msgstr "ñòðîê: %ld, "
 
-#: fileio.c:4443
+#: fileio.c:4455
 msgid "1 character"
 msgstr "1 ñèìâîë"
 
-#: fileio.c:4445
+#: fileio.c:4457
 #, c-format
 msgid "%ld characters"
 msgstr "ñèìâîëîâ: %ld"
 
-#: fileio.c:4455
+#: fileio.c:4467
 msgid "[noeol]"
 msgstr "[noeol]"
 
-#: fileio.c:4455
+#: fileio.c:4467
 msgid "[Incomplete last line]"
 msgstr "[Íåçàâåðø¸ííàÿ ïîñëåäíÿÿ ñòðîêà]"
 
 #. don't overwrite messages here
 #. must give this prompt
 #. don't use emsg() here, don't want to flush the buffers
-#: fileio.c:4474
+#: fileio.c:4486
 msgid "WARNING: The file has been changed since reading it!!!"
 msgstr "ÏÐÅÄÓÏÐÅÆÄÅÍÈÅ: Ôàéë èçìåí¸í ñ ìîìåíòà ÷òåíèÿ!!!"
 
-#: fileio.c:4476
+#: fileio.c:4488
 msgid "Do you really want to write to it"
 msgstr "Ñåðü¸çíî õîòèòå çàïèñàòü â ýòîò ôàéë"
 
-#: fileio.c:5726
+#: fileio.c:5738
 #, c-format
 msgid "E208: Error writing to \"%s\""
 msgstr "E208: Îøèáêà çàïèñè â \"%s\""
 
-#: fileio.c:5733
+#: fileio.c:5745
 #, c-format
 msgid "E209: Error closing \"%s\""
 msgstr "E209: Îøèáêà çàêðûòèÿ \"%s\""
 
-#: fileio.c:5736
+#: fileio.c:5748
 #, c-format
 msgid "E210: Error reading \"%s\""
 msgstr "E210: Îøèáêà ÷òåíèÿ \"%s\""
 
-#: fileio.c:5970
+#: fileio.c:5982
 msgid "E246: FileChangedShell autocommand deleted buffer"
 msgstr "E246: Áóôåð óäàë¸í ïðè âûïîëíåíèè àâòîêîìàíäû FileChangedShell"
 
-#: fileio.c:5977
+#: fileio.c:5989
 #, c-format
 msgid "E211: Warning: File \"%s\" no longer available"
 msgstr "E211: Ïðåäóïðåæäåíèå: ôàéë \"%s\" áîëüøå íå äîñòóïåí"
 
-#: fileio.c:5991
+#: fileio.c:6003
 #, c-format
 msgid ""
 "W12: Warning: File \"%s\" has changed and the buffer was changed in Vim as "
@@ -1937,34 +1937,34 @@
 "W12: Ïðåäóïðåæäåíèå: ôàéë \"%s\" è áóôåð Vim áûëè èçìåíåíû íåçàâèñèìî äðóã "
 "îò äðóãà"
 
-#: fileio.c:5994
+#: fileio.c:6006
 #, c-format
 msgid "W11: Warning: File \"%s\" has changed since editing started"
 msgstr ""
 "W11: Ïðåäóïðåæäåíèå: ôàéë \"%s\" áûë èçìåí¸í ïîñëå íà÷àëà ðåäàêòèðîâàíèÿ"
 
-#: fileio.c:5996
+#: fileio.c:6008
 #, c-format
 msgid "W16: Warning: Mode of file \"%s\" has changed since editing started"
 msgstr ""
 "W16: Ïðåäóïðåæäåíèå: ðåæèì äîñòóïà ê ôàéëó \"%s\" áûë èçìåí¸í ïîñëå íà÷àëà "
 "ðåäàêòèðîâàíèÿ"
 
-#: fileio.c:6006
+#: fileio.c:6018
 #, c-format
 msgid "W13: Warning: File \"%s\" has been created after editing started"
 msgstr ""
 "W13: Ïðåäóïðåæäåíèå: ôàéë \"%s\" áûë ñîçäàí ïîñëå íà÷àëà ðåäàêòèðîâàíèÿ"
 
-#: fileio.c:6019
+#: fileio.c:6031
 msgid "See \":help W11\" for more info."
 msgstr "Ñì. äîïîëíèòåëüíóþ èíôîðìàöèþ â \":help W11\"."
 
-#: fileio.c:6033
+#: fileio.c:6045
 msgid "Warning"
 msgstr "Ïðåäóïðåæäåíèå"
 
-#: fileio.c:6034
+#: fileio.c:6046
 msgid ""
 "&OK\n"
 "&Load File"
@@ -1972,43 +1972,43 @@
 "&OK\n"
 "&Çàãðóçèòü ôàéë"
 
-#: fileio.c:6140
+#: fileio.c:6152
 #, c-format
 msgid "E462: Could not prepare for reloading \"%s\""
 msgstr "E462: Íåâîçìîæíî ïîäãîòîâèòüñÿ ê ïåðåçàãðóçêå \"%s\""
 
-#: fileio.c:6159
+#: fileio.c:6171
 #, c-format
 msgid "E321: Could not reload \"%s\""
 msgstr "E321: Íåâîçìîæíî âûïîëíèòü ïåðåçàãðóçêó \"%s\""
 
-#: fileio.c:6740
+#: fileio.c:6752
 msgid "--Deleted--"
 msgstr "--Óäàëåíî--"
 
 #. the group doesn't exist
-#: fileio.c:6900
+#: fileio.c:6912
 #, c-format
 msgid "E367: No such group: \"%s\""
 msgstr "E367: Ãðóïïà \"%s\" íå ñóùåñòâóåò"
 
-#: fileio.c:7026
+#: fileio.c:7038
 #, c-format
 msgid "E215: Illegal character after *: %s"
 msgstr "E215: Íåäîïóñòèìûå ñèìâîëû ïîñëå *: %s"
 
-#: fileio.c:7038
+#: fileio.c:7050
 #, c-format
 msgid "E216: No such event: %s"
 msgstr "E216: Íåñóùåñòâóþùåå ñîáûòèå: %s"
 
-#: fileio.c:7040
+#: fileio.c:7052
 #, c-format
 msgid "E216: No such group or event: %s"
 msgstr "E216: Íåñóùåñòâóþùàÿ ãðóïïà èëè ñîáûòèå: %s"
 
 #. Highlight title
-#: fileio.c:7198
+#: fileio.c:7210
 msgid ""
 "\n"
 "--- Auto-Commands ---"
@@ -2016,39 +2016,39 @@
 "\n"
 "--- Àâòîêîìàíäû ---"
 
-#: fileio.c:7469
+#: fileio.c:7481
 msgid "E217: Can't execute autocommands for ALL events"
 msgstr "E217: Íåâîçìîæíî âûïîëíèòü àâòîêîìàíäû äëÿ ÂÑÅÕ ñîáûòèé"
 
-#: fileio.c:7492
+#: fileio.c:7504
 msgid "No matching autocommands"
 msgstr "Íåò ïîäõîäÿùèõ àâòîêîìàíä"
 
-#: fileio.c:7813
+#: fileio.c:7825
 msgid "E218: autocommand nesting too deep"
 msgstr "E218: ñëèøêîì ãëóáîêî âëîæåííûå àâòîêîìàíäû"
 
-#: fileio.c:8088
+#: fileio.c:8100
 #, c-format
 msgid "%s Auto commands for \"%s\""
 msgstr "%s Àâòîêîìàíäû äëÿ \"%s\""
 
-#: fileio.c:8096
+#: fileio.c:8108
 #, c-format
 msgid "Executing %s"
 msgstr "Âûïîëíåíèå %s"
 
 #. always scroll up, don't overwrite
-#: fileio.c:8164
+#: fileio.c:8176
 #, c-format
 msgid "autocommand %s"
 msgstr "àâòîêîìàíäà %s"
 
-#: fileio.c:8731
+#: fileio.c:8743
 msgid "E219: Missing {."
 msgstr "E219: Ïðîïóùåíà {."
 
-#: fileio.c:8733
+#: fileio.c:8745
 msgid "E220: Missing }."
 msgstr "E220: Ïðîïóùåíà }."
 
@@ -2070,39 +2070,39 @@
 msgid "E222: Add to read buffer"
 msgstr "E222: Äîáàâëåíèå â áóôåð ÷òåíèÿ"
 
-#: getchar.c:2198
+#: getchar.c:2208
 msgid "E223: recursive mapping"
 msgstr "E223: ðåêóðñèâíàÿ ïðèâÿçêà"
 
-#: getchar.c:3077
+#: getchar.c:3087
 #, c-format
 msgid "E224: global abbreviation already exists for %s"
 msgstr "E224: óæå åñòü ãëîáàëüíîå ñîêðàùåíèå äëÿ %s"
 
-#: getchar.c:3080
+#: getchar.c:3090
 #, c-format
 msgid "E225: global mapping already exists for %s"
 msgstr "E225: óæå åñòü ãëîáàëüíàÿ ïðèâÿçêà äëÿ %s"
 
-#: getchar.c:3212
+#: getchar.c:3222
 #, c-format
 msgid "E226: abbreviation already exists for %s"
 msgstr "E226: óæå åñòü ñîêðàùåíèå äëÿ %s"
 
-#: getchar.c:3215
+#: getchar.c:3225
 #, c-format
 msgid "E227: mapping already exists for %s"
 msgstr "E227: óæå åñòü ïðèâÿçêà äëÿ %s"
 
-#: getchar.c:3279
+#: getchar.c:3289
 msgid "No abbreviation found"
 msgstr "Ñîêðàùåíèÿ íå íàéäåíû"
 
-#: getchar.c:3281
+#: getchar.c:3291
 msgid "No mapping found"
 msgstr "Ïðèâÿçêè íå íàéäåíû"
 
-#: getchar.c:4173
+#: getchar.c:4183
 msgid "E228: makemap: Illegal mode"
 msgstr "E228: makemap: íåäîïóñòèìûé ðåæèì"
 
@@ -2128,7 +2128,7 @@
 msgid "E599: Value of 'imactivatekey' is invalid"
 msgstr "E599: íåïðàâèëüíîå çíà÷åíèå îïöèè 'imactivatekey'"
 
-#: gui.c:4061
+#: gui.c:4064
 #, c-format
 msgid "E254: Cannot allocate color %s"
 msgstr "E254: Íåâîçìîæíî íàçíà÷èòü öâåò %s"
@@ -2170,7 +2170,7 @@
 msgid "Vim dialog"
 msgstr "Äèàëîãîâîå îêíî Vim"
 
-#: gui_beval.c:101 gui_w32.c:3829
+#: gui_beval.c:101 gui_w32.c:3978
 msgid "E232: Cannot create BalloonEval with both message and callback"
 msgstr ""
 "E232: \"Ïóçûðü\" äëÿ âû÷èñëåíèé, âêëþ÷àþùèé è ñîîáùåíèå, è îáðàòíûé âûçîâ, "
@@ -2180,7 +2180,7 @@
 msgid "Vim dialog..."
 msgstr "Äèàëîãîâîå îêíî Vim..."
 
-#: gui_gtk.c:2060 message.c:2993
+#: gui_gtk.c:2060 message.c:2999
 msgid ""
 "&Yes\n"
 "&No\n"
@@ -2303,16 +2303,24 @@
 "\n"
 "Îòïðàâêà ñîîáùåíèÿ äëÿ óíè÷òîæåíèÿ ïðîöåññà-ïîòîìêà.\n"
 
-#: gui_w32.c:829
+#: gui_w32.c:839
+msgid "E671: Cannot find window title \"%s\""
+msgstr "E671: Îêíî ñ çàãîëîâêîì \"%s\" íå îáíàðóæåíî"
+
+#: gui_w32.c:847
 #, c-format
 msgid "E243: Argument not supported: \"-%s\"; Use the OLE version."
 msgstr "E243: Ïàðàìåòð íå ïîääåðæèâàåòñÿ: \"-%s\"; èñïîëüçóéòå âåðñèþ OLE."
 
-#: gui_w48.c:2090
+#: gui_w32.c:1100
+msgid "E672: Unable to open window inside MDI application"
+msgstr "E672: Íåâîçìîæíî îòêðûòü îêíî âíóòðè ïðèëîæåíèÿ MDI"
+
+#: gui_w48.c:2163
 msgid "Find string (use '\\\\' to find  a '\\')"
 msgstr "Ïîèñê ñòðîêè (èñïîëüçóéòå '\\\\' äëÿ ïîèñêà '\\')"
 
-#: gui_w48.c:2115
+#: gui_w48.c:2188
 msgid "Find & Replace (use '\\\\' to find  a '\\')"
 msgstr "Ïîèñê è çàìåíà (èñïîëüçóéòå '\\\\' äëÿ ïîèñêà '\\')"
 
@@ -2353,6 +2361,7 @@
 msgstr "Font1: %s\n"
 
 #: gui_x11.c:2184
+#, c-format
 msgid "Font%ld width is not twice that of font0\n"
 msgstr "Øèðèíà øðèôòà font%ld äîëæíà áûòü âäâîå áîëüøå øèðèíû øðèôòà font0\n"
 
@@ -2933,47 +2942,47 @@
 msgid "Invalid argument for"
 msgstr "Íåäîïóñòèìûå àðãóìåíòû äëÿ"
 
-#: main.c:466
+#: main.c:469
 msgid "This Vim was not compiled with the diff feature."
 msgstr ""
 "Äàííûé Vim áûë ñêîìïèëèðîâàí ñ âûêëþ÷åííîé îñîáåííîñòüþ ïðîñìîòðà îòëè÷èé"
 
-#: main.c:932
+#: main.c:935
 msgid "Attempt to open script file again: \""
 msgstr "Ïîïûòêà ïîâòîðíîãî îòêðûòèÿ ôàéëà ñöåíàðèÿ: \""
 
-#: main.c:941
+#: main.c:944
 msgid "Cannot open for reading: \""
 msgstr "Íåâîçìîæíî îòêðûòü äëÿ ÷òåíèÿ: \""
 
-#: main.c:985
+#: main.c:988
 msgid "Cannot open for script output: \""
 msgstr "Íåâîçìîæíî îòêðûòü äëÿ âûâîäà ñöåíàðèÿ: \""
 
-#: main.c:1132
+#: main.c:1135
 #, c-format
 msgid "%d files to edit\n"
 msgstr "Ôàéëîâ äëÿ ðåäàêòèðîâàíèÿ: %d\n"
 
-#: main.c:1233
+#: main.c:1236
 msgid "Vim: Warning: Output is not to a terminal\n"
 msgstr "Vim: Ïðåäóïðåæäåíèå: Âûâîä îñóùåñòâëÿåòñÿ íå íà òåðìèíàë\n"
 
-#: main.c:1235
+#: main.c:1238
 msgid "Vim: Warning: Input is not from a terminal\n"
 msgstr "Vim: Ïðåäóïðåæäåíèå: Ââîä ïðîèñõîäèò íå ñ òåðìèíàëà\n"
 
 #. just in case..
-#: main.c:1297
+#: main.c:1306
 msgid "pre-vimrc command line"
 msgstr "êîìàíäíàÿ ñòðîêà ïåðåä âûïîëíåíèåì vimrc"
 
-#: main.c:1338
+#: main.c:1347
 #, c-format
 msgid "E282: Cannot read from \"%s\""
 msgstr "E282: Íåâîçìîæíî âûïîëíèòü ÷òåíèå èç \"%s\""
 
-#: main.c:2411
+#: main.c:2420
 msgid ""
 "\n"
 "More info with: \"vim -h\"\n"
@@ -2981,23 +2990,23 @@
 "\n"
 "Äîïîëíèòåëüíàÿ èíôîðìàöèÿ: \"vim -h\"\n"
 
-#: main.c:2444
+#: main.c:2453
 msgid "[file ..]       edit specified file(s)"
 msgstr "[ôàéë ..] ðåäàêòèðîâàíèå óêàçàííûõ ôàéëîâ"
 
-#: main.c:2445
+#: main.c:2454
 msgid "-               read text from stdin"
 msgstr "-                ÷òåíèå òåêñòà èç ïîòîêà ââîäà stdin"
 
-#: main.c:2446
+#: main.c:2455
 msgid "-t tag          edit file where tag is defined"
 msgstr "-t ìåòêà         ðåäàêòèðîâàíèå ôàéëà ñ óêàçàííîé ìåòêîé"
 
-#: main.c:2448
+#: main.c:2457
 msgid "-q [errorfile]  edit file with first error"
 msgstr "-q [ôàéë îøèáîê] ðåäàêòèðîâàíèå ôàéëà ñ ïåðâîé îøèáêîé"
 
-#: main.c:2457
+#: main.c:2466
 msgid ""
 "\n"
 "\n"
@@ -3007,11 +3016,11 @@
 "\n"
 "Èñïîëüçîâàíèå:"
 
-#: main.c:2460
+#: main.c:2469
 msgid " vim [arguments] "
 msgstr " vim [àðãóìåíòû] "
 
-#: main.c:2464
+#: main.c:2473
 msgid ""
 "\n"
 "   or:"
@@ -3019,7 +3028,7 @@
 "\n"
 "   èëè:"
 
-#: main.c:2467
+#: main.c:2476
 msgid ""
 "\n"
 "\n"
@@ -3029,244 +3038,244 @@
 "\n"
 "Àðãóìåíòû:\n"
 
-#: main.c:2468
+#: main.c:2477
 msgid "--\t\t\tOnly file names after this"
 msgstr "--\t\t\tÄàëåå óêàçûâàþòñÿ òîëüêî èìåíà ôàéëîâ"
 
-#: main.c:2470
+#: main.c:2479
 msgid "--literal\t\tDon't expand wildcards"
 msgstr "--literal\t\tÍå âûïîëíÿòü ïîäñòàíîâêó ïî ìàñêå"
 
-#: main.c:2473
+#: main.c:2482
 msgid "-register\t\tRegister this gvim for OLE"
 msgstr "-register\t\tÇàðåãèñòðèðîâàòü ýòîò gvim äëÿ OLE"
 
-#: main.c:2474
+#: main.c:2483
 msgid "-unregister\t\tUnregister gvim for OLE"
 msgstr "-unregister\t\tÎòêëþ÷èòü ðåãèñòðàöèþ äàííîãî gvim äëÿ OLE"
 
-#: main.c:2477
+#: main.c:2486
 msgid "-g\t\t\tRun using GUI (like \"gvim\")"
 msgstr "-g\t\t\tÇàïóñòèòü ñ ãðàôè÷åñêèì èíòåðôåéñîì (êàê \"gvim\")"
 
-#: main.c:2478
+#: main.c:2487
 msgid "-f  or  --nofork\tForeground: Don't fork when starting GUI"
 msgstr "-f  èëè --nofork\t àêòèâíîé çàäà÷å: Íå âûïîëíÿòü fork ïðè çàïóñêå GUI"
 
-#: main.c:2480
+#: main.c:2489
 msgid "-v\t\t\tVi mode (like \"vi\")"
 msgstr "-v\t\t\tÐåæèì Vi (êàê \"vi\")"
 
-#: main.c:2481
+#: main.c:2490
 msgid "-e\t\t\tEx mode (like \"ex\")"
 msgstr "-e\t\t\tÐåæèì Ex (êàê \"ex\")"
 
-#: main.c:2482
+#: main.c:2491
 msgid "-s\t\t\tSilent (batch) mode (only for \"ex\")"
 msgstr "-s\t\t\tÒèõèé (ïàêåòíûé) ðåæèì (òîëüêî äëÿ \"ex\")"
 
-#: main.c:2484
+#: main.c:2493
 msgid "-d\t\t\tDiff mode (like \"vimdiff\")"
 msgstr "-d\t\t\tÐåæèì îòëè÷èé (êàê \"vimdiff\")"
 
-#: main.c:2486
+#: main.c:2495
 msgid "-y\t\t\tEasy mode (like \"evim\", modeless)"
 msgstr "-y\t\t\tÏðîñòîé ðåæèì (êàê \"evim\", áåçðåæèìíûé)"
 
-#: main.c:2487
+#: main.c:2496
 msgid "-R\t\t\tReadonly mode (like \"view\")"
 msgstr "-R\t\t\tÒîëüêî äëÿ ÷òåíèÿ (êàê \"view\")"
 
-#: main.c:2488
+#: main.c:2497
 msgid "-Z\t\t\tRestricted mode (like \"rvim\")"
 msgstr "-Z\t\t\tÎãðàíè÷åííûé ðåæèì (êàê \"rvim\")"
 
-#: main.c:2489
+#: main.c:2498
 msgid "-m\t\t\tModifications (writing files) not allowed"
 msgstr "-m\t\t\tÁåç âîçìîæíîñòè ñîõðàíåíèÿ èçìåíåíèé (çàïèñè ôàéëîâ)"
 
-#: main.c:2490
+#: main.c:2499
 msgid "-M\t\t\tModifications in text not allowed"
 msgstr "-M\t\t\tÁåç âîçìîæíîñòè âíåñåíèÿ èçìåíåíèé â òåêñò"
 
-#: main.c:2491
+#: main.c:2500
 msgid "-b\t\t\tBinary mode"
 msgstr "-b\t\t\tÁèíàðíûé ðåæèì"
 
-#: main.c:2493
+#: main.c:2502
 msgid "-l\t\t\tLisp mode"
 msgstr "-l\t\t\tÐåæèì Lisp"
 
-#: main.c:2495
+#: main.c:2504
 msgid "-C\t\t\tCompatible with Vi: 'compatible'"
 msgstr "-C\t\t\tÐåæèì ñîâìåñòèìîñòè ñ Vi: 'compatible'"
 
-#: main.c:2496
+#: main.c:2505
 msgid "-N\t\t\tNot fully Vi compatible: 'nocompatible'"
 msgstr "-N\t\t\tÐåæèì íåïîëíîé ñîâìåñòèìîñòè ñ Vi: 'nocompatible'"
 
-#: main.c:2497
+#: main.c:2506
 msgid "-V[N]\t\tVerbose level"
 msgstr "-V[N]\t\tÓðîâåíü ïîäðîáíîñòè ñîîáùåíèé"
 
-#: main.c:2498
+#: main.c:2507
 msgid "-D\t\t\tDebugging mode"
 msgstr "-D\t\t\tÐåæèì îòëàäêè"
 
-#: main.c:2499
+#: main.c:2508
 msgid "-n\t\t\tNo swap file, use memory only"
 msgstr "-n\t\t\tÁåç ñâîï-ôàéëà, èñïîëüçóåòñÿ òîëüêî ïàìÿòü"
 
-#: main.c:2500
+#: main.c:2509
 msgid "-r\t\t\tList swap files and exit"
 msgstr "-r\t\t\tÂûâåñòè ñïèñîê ñâîï-ôàéëîâ è çàâåðøèòü ðàáîòó"
 
-#: main.c:2501
+#: main.c:2510
 msgid "-r (with file name)\tRecover crashed session"
 msgstr "-r (ñ èìåíåì ôàéëà)\tÂîññòàíîâèòü àâàðèéíî çàâåðø¸ííûé ñåàíñ"
 
-#: main.c:2502
+#: main.c:2511
 msgid "-L\t\t\tSame as -r"
 msgstr "-L\t\t\tÒî æå, ÷òî è -r"
 
-#: main.c:2504
+#: main.c:2513
 msgid "-f\t\t\tDon't use newcli to open window"
 msgstr "-f\t\t\tÍå èñïîëüçîâàòü newcli äëÿ îòêðûòèÿ îêíà"
 
-#: main.c:2505
+#: main.c:2514
 msgid "-dev <device>\t\tUse <device> for I/O"
 msgstr "-dev <óñòðîéñòâî>\t\tÈñïîëüçîâàòü äëÿ I/O óêàçàííîå <óñòðîéñòâî>"
 
-#: main.c:2508
+#: main.c:2517
 msgid "-A\t\t\tstart in Arabic mode"
 msgstr "-A\t\t\tÇàïóñê â Àðàáñêîì ðåæèìå"
 
-#: main.c:2511
+#: main.c:2520
 msgid "-H\t\t\tStart in Hebrew mode"
 msgstr "-H\t\t\tÇàïóñê â ðåæèìå \"Èâðèò\""
 
-#: main.c:2514
+#: main.c:2523
 msgid "-F\t\t\tStart in Farsi mode"
 msgstr "-F\t\t\tÇàïóñê â ðåæèìå \"Ôàðñè\""
 
-#: main.c:2516
+#: main.c:2525
 msgid "-T <terminal>\tSet terminal type to <terminal>"
 msgstr "-T <òåðìèíàë>\tÍàçíà÷èòü óêàçàííûé òèï <òåðìèíàëà>"
 
-#: main.c:2517
+#: main.c:2526
 msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc"
 msgstr "-u <vimrc>\t\tÈñïîëüçîâàòü <vimrc> âìåñòî ëþáûõ ôàéëîâ .vimrc"
 
-#: main.c:2519
+#: main.c:2528
 msgid "-U <gvimrc>\t\tUse <gvimrc> instead of any .gvimrc"
 msgstr "-U <gvimrc>\t\tÈñïîëüçîâàòü <gvimrc> âìåñòî ëþáûõ ôàéëîâ .gvimrc"
 
-#: main.c:2521
+#: main.c:2530
 msgid "--noplugin\t\tDon't load plugin scripts"
 msgstr "--noplugin\t\tÍå çàãðóæàòü ñöåíàðèè ìîäóëåé"
 
-#: main.c:2522
+#: main.c:2531
 msgid "-o[N]\t\tOpen N windows (default: one for each file)"
 msgstr "-o[N]\t\tÎòêðûòü N îêîí (ïî óìîë÷àíèþ: ïî îäíîìó íà êàæäûé ôàéë)"
 
-#: main.c:2523
+#: main.c:2532
 msgid "-O[N]\t\tLike -o but split vertically"
 msgstr "-O[N]\t\tÒî æå, ÷òî è -o, íî ñ âåðòèêàëüíûì ðàçäåëåíèåì îêîí"
 
-#: main.c:2524
+#: main.c:2533
 msgid "+\t\t\tStart at end of file"
 msgstr "+\t\t\tÍà÷àòü ðåäàêòèðîâàíèå â êîíöå ôàéëà"
 
-#: main.c:2525
+#: main.c:2534
 msgid "+<lnum>\t\tStart at line <lnum>"
 msgstr "+<lnum>\t\tÍà÷àòü ðåäàêòèðîâàíèå â ñòðîêå ñ íîìåðîì <lnum>"
 
-#: main.c:2527
+#: main.c:2536
 msgid "--cmd <command>\tExecute <command> before loading any vimrc file"
 msgstr "--cmd <êîìàíäà>\tÂûïîëíèòü <êîìàíäó> ïåðåä çàãðóçêîé ôàéëà vimrc"
 
-#: main.c:2529
+#: main.c:2538
 msgid "-c <command>\t\tExecute <command> after loading the first file"
 msgstr "-c <êîìàíäà>\t\tÂûïîëíèòü <êîìàíäó> ïîñëå çàãðóçêè ïåðâîãî ôàéëà"
 
-#: main.c:2530
+#: main.c:2539
 msgid "-S <session>\t\tSource file <session> after loading the first file"
 msgstr "-S <ñåàíñ>\t\tÏðî÷èòàòü ñöåíàðèé <ñåàíñà> ïîñëå çàãðóçêè ïåðâîãî ôàéëà"
 
-#: main.c:2531
+#: main.c:2540
 msgid "-s <scriptin>\tRead Normal mode commands from file <scriptin>"
 msgstr "-s <ñöåíàðèé>\tÏðî÷èòàòü êîìàíäû Îáû÷íîãî ðåæèìà èç ôàéëà <ñöåíàðèÿ>"
 
-#: main.c:2532
+#: main.c:2541
 msgid "-w <scriptout>\tAppend all typed commands to file <scriptout>"
 msgstr "-w <ñöåíàðèé>\tÄîáàâëÿòü âñå ââåä¸ííûå êîìàíäû â ôàéë <ñöåíàðèÿ>"
 
-#: main.c:2533
+#: main.c:2542
 msgid "-W <scriptout>\tWrite all typed commands to file <scriptout>"
 msgstr "-W <ñöåíàðèé>\tÇàïèñàòü âñå ââåä¸ííûå êîìàíäû â ôàéë <ñöåíàðèÿ>"
 
-#: main.c:2535
+#: main.c:2544
 msgid "-x\t\t\tEdit encrypted files"
 msgstr "-x\t\t\tÐåäàêòèðîâàíèå çàøèôðîâàííûõ ôàéëîâ"
 
-#: main.c:2539
+#: main.c:2548
 msgid "-display <display>\tConnect vim to this particular X-server"
 msgstr "-display <ýêðàí>\tÏîäñîåäèíèòü vim ê óêàçàííîìó ñåðâåðó X"
 
-#: main.c:2541
+#: main.c:2550
 msgid "-X\t\t\tDo not connect to X server"
 msgstr "-X\t\t\tÍå âûïîëíÿòü ñîåäèíåíèå ñ ñåðâåðîì X"
 
-#: main.c:2544
+#: main.c:2553
 msgid "--remote <files>\tEdit <files> in a Vim server if possible"
 msgstr "--remote <ôàéëû>\tÏî âîçìîæíîñòè ðåäàêòèðîâàòü <ôàéëû> íà ñåðâåðå Vim"
 
-#: main.c:2545
+#: main.c:2554
 msgid "--remote-silent <files>  Same, don't complain if there is no server"
 msgstr "--remote-silent <ôàéëû>  Òî æå, íî áåç æàëîá íà îòñóòñòâèå ñåðâåðà"
 
-#: main.c:2546
+#: main.c:2555
 msgid ""
 "--remote-wait <files>  As --remote but wait for files to have been edited"
 msgstr ""
 "--remote-wait <ôàéëû>  Òî æå, ÷òî è --remote, íî ñ îæèäàíèåì çàâåðøåíèÿ"
 
-#: main.c:2547
+#: main.c:2556
 msgid ""
 "--remote-wait-silent <files>  Same, don't complain if there is no server"
 msgstr ""
 "--remote-wait-silent <ôàéëû>  Òî æå, íî áåç æàëîá íà îòñóòñòâèå ñåðâåðà"
 
-#: main.c:2548
+#: main.c:2557
 msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit"
 msgstr "--remote-send <êíîïêè>\tÎòïðàâèòü <êíîïêè> íà ñåðâåð Vim è âûéòè"
 
-#: main.c:2549
+#: main.c:2558
 msgid "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result"
 msgstr "--remote-expr <âûðàæ>\tÂû÷èñëèòü <âûðàæ> íà ñåðâåðå Vim è íàïå÷àòàòü"
 
-#: main.c:2550
+#: main.c:2559
 msgid "--serverlist\t\tList available Vim server names and exit"
 msgstr "--serverlist\t\tÏîêàçàòü ñïèñîê èì¸í ñåðâåðîâ Vim è çàâåðøèòü ðàáîòó"
 
-#: main.c:2551
+#: main.c:2560
 msgid "--servername <name>\tSend to/become the Vim server <name>"
 msgstr ""
 "--servername <èìÿ>\tÎòïðàâèòü íà/ñòàòü ñåðâåðîì Vim ñ óêàçàííûì <èìåíåì>"
 
-#: main.c:2554
+#: main.c:2563
 msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo"
 msgstr "-i <viminfo>\t\tÈñïîëüçîâàòü âìåñòî .viminfo ôàéë <viminfo>"
 
-#: main.c:2556
+#: main.c:2565
 msgid "-h  or  --help\tPrint Help (this message) and exit"
 msgstr "-h èëè --help\tÂûâåñòè ñïðàâêó (ýòî ñîîáùåíèå) è çàâåðøèòü ðàáîòó"
 
-#: main.c:2557
+#: main.c:2566
 msgid "--version\t\tPrint version information and exit"
 msgstr "--version\t\tÂûâåñòè èíôîðìàöèþ î âåðñèè Vim è çàâåðøèòü ðàáîòó"
 
-#: main.c:2561
+#: main.c:2570
 msgid ""
 "\n"
 "Arguments recognised by gvim (Motif version):\n"
@@ -3274,7 +3283,7 @@
 "\n"
 "Àðãóìåíòû äëÿ gvim (âåðñèÿ Motif):\n"
 
-#: main.c:2565
+#: main.c:2574
 msgid ""
 "\n"
 "Arguments recognised by gvim (neXtaw version):\n"
@@ -3282,7 +3291,7 @@
 "\n"
 "Àðãóìåíòû äëÿ gvim (âåðñèÿ neXtaw):\n"
 
-#: main.c:2567
+#: main.c:2576
 msgid ""
 "\n"
 "Arguments recognised by gvim (Athena version):\n"
@@ -3290,75 +3299,75 @@
 "\n"
 "Àðãóìåíòû äëÿ gvim (âåðñèÿ Athena):\n"
 
-#: main.c:2571
+#: main.c:2580
 msgid "-display <display>\tRun vim on <display>"
 msgstr "-display <äèñïëåé>\tÇàïóñòèòü vim íà óêàçàííîì <äèñïëåå>"
 
-#: main.c:2572
+#: main.c:2581
 msgid "-iconic\t\tStart vim iconified"
 msgstr "-iconic\t\tÇàïóñòèòü vim â ñâ¸ðíóòîì âèäå"
 
-#: main.c:2574
+#: main.c:2583
 msgid "-name <name>\t\tUse resource as if vim was <name>"
 msgstr "-name <èìÿ>\t\tÈñïîëüçîâàòü ðåñóðñ, êàê åñëè áû vim áûë <èìåíåì>"
 
-#: main.c:2575
+#: main.c:2584
 msgid "\t\t\t  (Unimplemented)\n"
 msgstr "\t\t\t  (Íå ðåàëèçîâàíî)\n"
 
-#: main.c:2577
+#: main.c:2586
 msgid "-background <color>\tUse <color> for the background (also: -bg)"
 msgstr ""
 "-background <öâåò>\tÈñïîëüçîâàòü óêàçàííûé <öâåò> äëÿ ôîíà (òàêæå: -bg)"
 
-#: main.c:2578
+#: main.c:2587
 msgid "-foreground <color>\tUse <color> for normal text (also: -fg)"
 msgstr ""
 "-foreground <öâåò>\tÈñïîëüçîâàòü <öâåò> äëÿ îáû÷íîãî òåêñòà (òàêæå: -fg)"
 
-#: main.c:2579 main.c:2599
+#: main.c:2588 main.c:2608
 msgid "-font <font>\t\tUse <font> for normal text (also: -fn)"
 msgstr "-font <øðèôò>\t\tÈñïîëüçîâàòü <øðèôò> äëÿ îáû÷íîãî òåêñòà (òàêæå: -fn)"
 
-#: main.c:2580
+#: main.c:2589
 msgid "-boldfont <font>\tUse <font> for bold text"
 msgstr "-boldfont <øðèôò>\tÈñïîëüçîâàòü <øðèôò> äëÿ æèðíîãî òåêñòà"
 
-#: main.c:2581
+#: main.c:2590
 msgid "-italicfont <font>\tUse <font> for italic text"
 msgstr "-italicfont <øðèôò>\tÈñïîëüçîâàòü <øðèôò> äëÿ íàêëîííîãî òåêñòà"
 
-#: main.c:2582 main.c:2600
+#: main.c:2591 main.c:2609
 msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)"
 msgstr ""
 "-geometry <ãåîìåòðèÿ>\tÈñïîëüçîâàòü íà÷àëüíóþ <ãåîìåòðèþ> (òàêæå: -geom)"
 
-#: main.c:2583
+#: main.c:2592
 msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)"
 msgstr "-borderwidth <øèðèíà>\tÈñïîëüçîâàòü <øèðèíó> áîðäþðà (òàêæå: -bw)"
 
-#: main.c:2584
+#: main.c:2593
 msgid "-scrollbarwidth <width>  Use a scrollbar width of <width> (also: -sw)"
 msgstr ""
 "-scrollbarwidth <øèðèíà> Èñïîëüçîâàòü øèðèíó ïîëîñû ïðîêðóòêè (òàêæå: -sw)"
 
-#: main.c:2586
+#: main.c:2595
 msgid "-menuheight <height>\tUse a menu bar height of <height> (also: -mh)"
 msgstr "-menuheight <âûñîòà>\tÈñïîëüçîâàòü <âûñîòó> ìåíþ (òàêæå: -mh)"
 
-#: main.c:2588 main.c:2601
+#: main.c:2597 main.c:2610
 msgid "-reverse\t\tUse reverse video (also: -rv)"
 msgstr "-reverse\t\tÈñïîëüçîâàòü èíâåðñíûé âèäåîðåæèì (òàêæå: -rv)"
 
-#: main.c:2589
+#: main.c:2598
 msgid "+reverse\t\tDon't use reverse video (also: +rv)"
 msgstr "+reverse\t\tÍå èñïîëüçîâàòü èíâåðñíûé âèäåîðåæèì (òàêæå: +rv)"
 
-#: main.c:2590
+#: main.c:2599
 msgid "-xrm <resource>\tSet the specified resource"
 msgstr "-xrm <ðåñóðñ>\tÓñòàíîâèòü óêàçàííûé <ðåñóðñ>"
 
-#: main.c:2593
+#: main.c:2602
 msgid ""
 "\n"
 "Arguments recognised by gvim (RISC OS version):\n"
@@ -3366,15 +3375,15 @@
 "\n"
 "Àðãóìåíòû äëÿ gvim (âåðñèÿ RISC OS):\n"
 
-#: main.c:2594
+#: main.c:2603
 msgid "--columns <number>\tInitial width of window in columns"
 msgstr "--columns <÷èñëî>\tÏåðâîíà÷àëüíàÿ øèðèíà îêíà â êîëîíêàõ"
 
-#: main.c:2595
+#: main.c:2604
 msgid "--rows <number>\tInitial height of window in rows"
 msgstr "--rows <÷èñëî>\tÏåðâîíà÷àëüíàÿ âûñîòà îêíà â ñòðîêàõ"
 
-#: main.c:2598
+#: main.c:2607
 msgid ""
 "\n"
 "Arguments recognised by gvim (GTK+ version):\n"
@@ -3382,48 +3391,48 @@
 "\n"
 "Àðãóìåíòû äëÿ gvim (âåðñèÿ GTK+):\n"
 
-#: main.c:2602
+#: main.c:2611
 msgid "-display <display>\tRun vim on <display> (also: --display)"
 msgstr ""
 "-display <äèñïëåé>\tÇàïóñòèòü vim íà óêàçàííîì <äèñïëåå> (òàêæå: --display)"
 
-#: main.c:2604
+#: main.c:2613
 msgid "--role <role>\tSet a unique role to identify the main window"
 msgstr ""
 "--role <ðîëü>\tÓñòàíîâèòü óíèêàëüíóþ <ðîëü> äëÿ èäåíòèôèêàöèè ãëàâíîãî îêíà"
 
-#: main.c:2606
+#: main.c:2615
 msgid "--socketid <xid>\tOpen Vim inside another GTK widget"
 msgstr "--socketid <xid>\tÎòêðûòü Vim âíóòðè äðóãîãî êîìïîíåíòà GTK"
 
-#: main.c:2609
+#: main.c:2618
 msgid "-P <parent title>\tOpen Vim inside parent application"
 msgstr "-P <çàãîëîâîê ðîäèòåëÿ>\tÎòêðûòü Vim â ðîäèòåëüñêîì ïðèëîæåíèè"
 
-#: main.c:2847
+#: main.c:2856
 msgid "No display"
 msgstr "Íåò äèñïëåÿ"
 
 #. Failed to send, abort.
-#: main.c:2862
+#: main.c:2871
 msgid ": Send failed.\n"
 msgstr ": Îòïðàâêà íå óäàëàñü.\n"
 
 #. Let vim start normally.
-#: main.c:2868
+#: main.c:2877
 msgid ": Send failed. Trying to execute locally\n"
 msgstr ": Îòïðàâêà íå óäàëàñü. Ïîïûòêà ìåñòíîãî âûïîëíåíèÿ\n"
 
-#: main.c:2906 main.c:2927
+#: main.c:2915 main.c:2936
 #, c-format
 msgid "%d of %d edited"
 msgstr "îòðåäàêòèðîâàíî %d èç %d"
 
-#: main.c:2949
+#: main.c:2958
 msgid "No display: Send expression failed.\n"
 msgstr "Íåò äèñïëåÿ: îòïðàâêà âûðàæåíèÿ íå óäàëàñü.\n"
 
-#: main.c:2961
+#: main.c:2970
 msgid ": Send expression failed.\n"
 msgstr ": Îòïðàâêà âûðàæåíèÿ íå óäàëàñü.\n"
 
@@ -3543,23 +3552,23 @@
 msgid "E293: block was not locked"
 msgstr "E293: áëîê íå çàáëîêèðîâàí"
 
-#: memfile.c:1005
+#: memfile.c:1010
 msgid "E294: Seek error in swap file read"
 msgstr "E294: Îøèáêà ïîèñêà ïðè ÷òåíèè ñâîï-ôàéëà"
 
-#: memfile.c:1010
+#: memfile.c:1015
 msgid "E295: Read error in swap file"
 msgstr "E295: Îøèáêà ÷òåíèÿ ñâîï-ôàéëà"
 
-#: memfile.c:1062
+#: memfile.c:1067
 msgid "E296: Seek error in swap file write"
 msgstr "E296: Îøèáêà ïîèñêà ïðè çàïèñè ñâîï-ôàéëà"
 
-#: memfile.c:1080
+#: memfile.c:1085
 msgid "E297: Write error in swap file"
 msgstr "E297: Îøèáêà ïðè çàïèñè ñâîï-ôàéëà"
 
-#: memfile.c:1277
+#: memfile.c:1282
 msgid "E300: Swap file already exists (symlink attack?)"
 msgstr ""
 "E300: Ñâîï-ôàéë óæå ñóùåñòâóåò (àòàêà ñ èñïîëüçîâàíèåì ñèìâîëüíîé ññûëêè?)"
@@ -3577,44 +3586,44 @@
 msgstr "E298: Íå ïîëó÷åí áëîê íîìåð 2?"
 
 #. could not (re)open the swap file, what can we do????
-#: memline.c:443
+#: memline.c:444
 msgid "E301: Oops, lost the swap file!!!"
 msgstr "E301: Îé, ïîòåðÿëñÿ ñâîï-ôàéë!!!"
 
-#: memline.c:448
+#: memline.c:449
 msgid "E302: Could not rename swap file"
 msgstr "E302: Íåâîçìîæíî ïåðåèìåíîâàòü ñâîï-ôàéë"
 
-#: memline.c:518
+#: memline.c:519
 #, c-format
 msgid "E303: Unable to open swap file for \"%s\", recovery impossible"
 msgstr ""
 "E303: Íå óäàëîñü îòêðûòü ñâîï-ôàéë äëÿ \"%s\", âîññòàíîâëåíèå íåâîçìîæíî"
 
-#: memline.c:617
+#: memline.c:618
 msgid "E304: ml_timestamp: Didn't get block 0??"
 msgstr "E304: ml_timestamp: Íå ïîëó÷åí áëîê 0??"
 
-#: memline.c:757
+#: memline.c:758
 #, c-format
 msgid "E305: No swap file found for %s"
 msgstr "E305: Ñâîï-ôàéë äëÿ %s íå íàéäåí"
 
-#: memline.c:767
+#: memline.c:768
 msgid "Enter number of swap file to use (0 to quit): "
 msgstr ""
 "Ââåäèòå íîìåð ñâîï-ôàéëà, êîòîðûé ñëåäóåò èñïîëüçîâàòü (0 äëÿ âûõîäà): "
 
-#: memline.c:812
+#: memline.c:813
 #, c-format
 msgid "E306: Cannot open %s"
 msgstr "E306: Íå ìîãó îòêðûòü %s"
 
-#: memline.c:834
+#: memline.c:835
 msgid "Unable to read block 0 from "
 msgstr "Íåâîçìîæíî ïðî÷èòàòü áëîê 0 èç "
 
-#: memline.c:837
+#: memline.c:838
 msgid ""
 "\n"
 "Maybe no changes were made or Vim did not update the swap file."
@@ -3622,28 +3631,28 @@
 "\n"
 "Íåò èçìåíåíèé, èëè Vim íå ñìîã îáíîâèòü ñâîï-ôàéë"
 
-#: memline.c:847 memline.c:864
+#: memline.c:848 memline.c:865
 msgid " cannot be used with this version of Vim.\n"
 msgstr " íåëüçÿ èñïîëüçîâàòü â äàííîé âåðñèè Vim.\n"
 
-#: memline.c:849
+#: memline.c:850
 msgid "Use Vim version 3.0.\n"
 msgstr "Èñïîëüçóéòå Vim âåðñèè 3.0.\n"
 
-#: memline.c:855
+#: memline.c:856
 #, c-format
 msgid "E307: %s does not look like a Vim swap file"
 msgstr "E307: %s íå ÿâëÿåòñÿ ñâîï-ôàéëîì Vim"
 
-#: memline.c:868
+#: memline.c:869
 msgid " cannot be used on this computer.\n"
 msgstr " íåëüçÿ èñïîëüçîâàòü íà ýòîì êîìïüþòåðå.\n"
 
-#: memline.c:870
+#: memline.c:871
 msgid "The file was created on "
 msgstr "Ôàéë áûë ñîçäàí "
 
-#: memline.c:874
+#: memline.c:875
 msgid ""
 ",\n"
 "or the file has been damaged."
@@ -3651,82 +3660,82 @@
 ",\n"
 "ëèáî ôàéë áûë ïîâðåæä¸í."
 
-#: memline.c:903
+#: memline.c:904
 #, c-format
 msgid "Using swap file \"%s\""
 msgstr "Èñïîëüçóåòñÿ ñâîï-ôàéë \"%s\""
 
-#: memline.c:909
+#: memline.c:910
 #, c-format
 msgid "Original file \"%s\""
 msgstr "Èñõîäíûé ôàéë \"%s\""
 
-#: memline.c:922
+#: memline.c:923
 msgid "E308: Warning: Original file may have been changed"
 msgstr "E308: Ïðåäóïðåæäåíèå: èñõîäíûé ôàéë ìîã áûòü èçìåí¸í"
 
-#: memline.c:975
+#: memline.c:976
 #, c-format
 msgid "E309: Unable to read block 1 from %s"
 msgstr "E309: Íåâîçìîæíî ïðî÷èòàòü áëîê 1 èç %s"
 
-#: memline.c:979
+#: memline.c:980
 msgid "???MANY LINES MISSING"
 msgstr "???ÎÒÑÓÒÑÒÂÓÅÒ ÌÍÎÃÎ ÑÒÐÎÊ"
 
-#: memline.c:995
+#: memline.c:996
 msgid "???LINE COUNT WRONG"
 msgstr "???ÍÅÏÐÀÂÈËÜÍÎÅ ÇÍÀ×ÅÍÈÅ Ñ×ÅÒ×ÈÊÀ ÑÒÐÎÊ"
 
-#: memline.c:1002
+#: memline.c:1003
 msgid "???EMPTY BLOCK"
 msgstr "???ÏÓÑÒÎÉ ÁËÎÊ"
 
-#: memline.c:1028
+#: memline.c:1029
 msgid "???LINES MISSING"
 msgstr "???ÎÒÑÓÒÑÒÂÓÞÒ ÑÒÐÎÊÈ"
 
-#: memline.c:1060
+#: memline.c:1061
 #, c-format
 msgid "E310: Block 1 ID wrong (%s not a .swp file?)"
 msgstr "E310: íåïðàâèëüíûé áëîê 1 ID (%s íå ÿâëÿåòñÿ ôàéëîì .swp?)"
 
-#: memline.c:1065
+#: memline.c:1066
 msgid "???BLOCK MISSING"
 msgstr "???ÏÐÎÏÓÙÅÍ ÁËÎÊ"
 
-#: memline.c:1081
+#: memline.c:1082
 msgid "??? from here until ???END lines may be messed up"
 msgstr "???ñòðîêè ìîãóò áûòü èñïîð÷åíû îòñþäà äî ???ÊÎÍÖÀ"
 
-#: memline.c:1097
+#: memline.c:1098
 msgid "??? from here until ???END lines may have been inserted/deleted"
 msgstr "???ñòðîêè ìîãëè áûòü âñòàâëåíû èëè óäàëåíû îòñþäà äî ???ÊÎÍÖÀ"
 
-#: memline.c:1117
+#: memline.c:1118
 msgid "???END"
 msgstr "???ÊÎÍÅÖ"
 
-#: memline.c:1143
+#: memline.c:1144
 msgid "E311: Recovery Interrupted"
 msgstr "E311: Âîññòàíîâëåíèå ïðåðâàíî"
 
-#: memline.c:1148
+#: memline.c:1149
 msgid ""
 "E312: Errors detected while recovering; look for lines starting with ???"
 msgstr ""
 "E312: Âî âðåìÿ âîññòàíîâëåíèÿ îáíàðóæåíû îøèáêè; ñì. ñòðîêè, íà÷èíàþùèåñÿ "
 "ñ ???"
 
-#: memline.c:1150
+#: memline.c:1151
 msgid "See \":help E312\" for more information."
 msgstr "Ñì. äîïîëíèòåëüíóþ èíôîðìàöèþ â ñïðàâî÷íèêå (\":help E312\")"
 
-#: memline.c:1155
+#: memline.c:1156
 msgid "Recovery completed. You should check if everything is OK."
 msgstr "Âîññòàíîâëåíèå çàâåðøåíî. Ïðîâåðüòå, âñ¸ ëè â ïîðÿäêå."
 
-#: memline.c:1156
+#: memline.c:1157
 msgid ""
 "\n"
 "(You might want to write out this file under another name\n"
@@ -3734,11 +3743,11 @@
 "\n"
 "(Ìîæåòå çàïèñàòü ôàéë ïîä äðóãèì èìåíåì è ñðàâíèòü åãî ñ èñõîäíûì\n"
 
-#: memline.c:1157
+#: memline.c:1158
 msgid "and run diff with the original file to check for changes)\n"
 msgstr "ôàéëîì ïðè ïîìîùè ïðîãðàììû diff).\n"
 
-#: memline.c:1158
+#: memline.c:1159
 msgid ""
 "Delete the .swp file afterwards.\n"
 "\n"
@@ -3747,51 +3756,51 @@
 "\n"
 
 #. use msg() to start the scrolling properly
-#: memline.c:1214
+#: memline.c:1215
 msgid "Swap files found:"
 msgstr "Îáíàðóæåíû ñâîï-ôàéëû:"
 
-#: memline.c:1392
+#: memline.c:1393
 msgid "   In current directory:\n"
 msgstr "   Â òåêóùåì êàòàëîãå:\n"
 
-#: memline.c:1394
+#: memline.c:1395
 msgid "   Using specified name:\n"
 msgstr "   Ñ óêàçàííûì èìåíåì:\n"
 
-#: memline.c:1398
+#: memline.c:1399
 msgid "   In directory "
 msgstr "   Â êàòàëîãå   "
 
-#: memline.c:1416
+#: memline.c:1417
 msgid "      -- none --\n"
 msgstr "      -- íåò --\n"
 
-#: memline.c:1488
+#: memline.c:1489
 msgid "          owned by: "
 msgstr "          âëàäåëåö: "
 
-#: memline.c:1490
+#: memline.c:1491
 msgid "   dated: "
 msgstr "    äàòà: "
 
-#: memline.c:1494 memline.c:3684
+#: memline.c:1495 memline.c:3685
 msgid "             dated: "
 msgstr "              äàòà: "
 
-#: memline.c:1510
+#: memline.c:1511
 msgid "         [from Vim version 3.0]"
 msgstr "         [îò Vim âåðñèè 3.0]"
 
-#: memline.c:1514
+#: memline.c:1515
 msgid "         [does not look like a Vim swap file]"
 msgstr "         [íå ÿâëÿåòñÿ ñâîï-ôàéëîì Vim]"
 
-#: memline.c:1518
+#: memline.c:1519
 msgid "         file name: "
 msgstr "         èìÿ ôàéëà: "
 
-#: memline.c:1524
+#: memline.c:1525
 msgid ""
 "\n"
 "          modified: "
@@ -3799,15 +3808,15 @@
 "\n"
 "           èçìåí¸í: "
 
-#: memline.c:1525
+#: memline.c:1526
 msgid "YES"
 msgstr "ÄÀ"
 
-#: memline.c:1525
+#: memline.c:1526
 msgid "no"
 msgstr "íåò"
 
-#: memline.c:1529
+#: memline.c:1530
 msgid ""
 "\n"
 "         user name: "
@@ -3815,11 +3824,11 @@
 "\n"
 "      ïîëüçîâàòåëü: "
 
-#: memline.c:1536
+#: memline.c:1537
 msgid "   host name: "
 msgstr "  êîìïüþòåð: "
 
-#: memline.c:1538
+#: memline.c:1539
 msgid ""
 "\n"
 "         host name: "
@@ -3827,7 +3836,7 @@
 "\n"
 "         êîìïüþòåð: "
 
-#: memline.c:1544
+#: memline.c:1545
 msgid ""
 "\n"
 "        process ID: "
@@ -3835,11 +3844,11 @@
 "\n"
 "           ïðîöåññ: "
 
-#: memline.c:1550
+#: memline.c:1551
 msgid " (still running)"
 msgstr " (åù¸ âûïîëíÿåòñÿ)"
 
-#: memline.c:1562
+#: memline.c:1563
 msgid ""
 "\n"
 "         [not usable with this version of Vim]"
@@ -3847,7 +3856,7 @@
 "\n"
 "         [íå ïðèãîäåí äëÿ èñïîëüçîâàíèÿ ñ äàííîé âåðñèåé Vim]"
 
-#: memline.c:1565
+#: memline.c:1566
 msgid ""
 "\n"
 "         [not usable on this computer]"
@@ -3855,92 +3864,92 @@
 "\n"
 "         [íå ïðèãîäåí äëÿ èñïîëüçîâàíèÿ íà ýòîì êîìïüþòåðå]"
 
-#: memline.c:1570
+#: memline.c:1571
 msgid "         [cannot be read]"
 msgstr "         [íå ÷èòàåòñÿ]"
 
-#: memline.c:1574
+#: memline.c:1575
 msgid "         [cannot be opened]"
 msgstr "         [íå îòêðûâàåòñÿ]"
 
-#: memline.c:1764
+#: memline.c:1765
 msgid "E313: Cannot preserve, there is no swap file"
 msgstr "E313: Íåâîçìîæíî îáíîâèòü ñâîï-ôàéë, ïîñêîëüêó îí íå îáíàðóæåí"
 
-#: memline.c:1817
+#: memline.c:1818
 msgid "File preserved"
 msgstr "Ñâîï-ôàéë îáíîâë¸í"
 
-#: memline.c:1819
+#: memline.c:1820
 msgid "E314: Preserve failed"
 msgstr "E314: Íåóäà÷íàÿ ïîïûòêà îáíîâëåíèÿ ñâîï-ôàéëà"
 
-#: memline.c:1890
+#: memline.c:1891
 #, c-format
 msgid "E315: ml_get: invalid lnum: %ld"
 msgstr "E315: ml_get: íåïðàâèëüíîå çíà÷åíèå lnum: %ld"
 
-#: memline.c:1916
+#: memline.c:1917
 #, c-format
 msgid "E316: ml_get: cannot find line %ld"
 msgstr "E316: ml_get: íåâîçìîæíî íàéòè ñòðîêó %ld"
 
-#: memline.c:2306
+#: memline.c:2307
 msgid "E317: pointer block id wrong 3"
 msgstr "íåïðàâèëüíîå çíà÷åíèå óêàçàòåëÿ áëîêà 3"
 
-#: memline.c:2386
+#: memline.c:2387
 msgid "stack_idx should be 0"
 msgstr "çíà÷åíèå stack_idx äîëæíî áûòü ðàâíî 0"
 
-#: memline.c:2448
+#: memline.c:2449
 msgid "E318: Updated too many blocks?"
 msgstr "E318: Îáíîâëåíî ñëèøêîì ìíîãî áëîêîâ?"
 
-#: memline.c:2630
+#: memline.c:2631
 msgid "E317: pointer block id wrong 4"
 msgstr "E317: íåïðàâèëüíîå çíà÷åíèå óêàçàòåëÿ áëîêà 4"
 
-#: memline.c:2657
+#: memline.c:2658
 msgid "deleted block 1?"
 msgstr "óäàë¸í áëîê 1?"
 
-#: memline.c:2857
+#: memline.c:2858
 #, c-format
 msgid "E320: Cannot find line %ld"
 msgstr "E320: Ñòðîêà %ld íå îáíàðóæåíà"
 
-#: memline.c:3100
+#: memline.c:3101
 msgid "E317: pointer block id wrong"
 msgstr "E317: íåïðàâèëüíîå çíà÷åíèå óêàçàòåëÿ áëîêà"
 
-#: memline.c:3116
+#: memline.c:3117
 msgid "pe_line_count is zero"
 msgstr "çíà÷åíèå pe_line_count ðàâíî íóëþ"
 
-#: memline.c:3145
+#: memline.c:3146
 #, c-format
 msgid "E322: line number out of range: %ld past the end"
 msgstr "E322: íîìåð ñòðîêè çà ïðåäåëàìè äèàïàçîíà: %ld"
 
-#: memline.c:3149
+#: memline.c:3150
 #, c-format
 msgid "E323: line count wrong in block %ld"
 msgstr "E323: íåïðàâèëüíîå çíà÷åíèå ñ÷¸ò÷èêà ñòðîê â áëîêå %ld"
 
-#: memline.c:3198
+#: memline.c:3199
 msgid "Stack size increases"
 msgstr "Ðàçìåð ñòåêà óâåëè÷åí"
 
-#: memline.c:3244
+#: memline.c:3245
 msgid "E317: pointer block id wrong 2"
 msgstr "E317: íåïðàâèëüíîå çíà÷åíèå óêàçàòåëÿ áëîêà 2"
 
-#: memline.c:3674
+#: memline.c:3675
 msgid "E325: ATTENTION"
 msgstr "E325: ÂÍÈÌÀÍÈÅ"
 
-#: memline.c:3675
+#: memline.c:3676
 msgid ""
 "\n"
 "Found a swap file by the name \""
@@ -3948,17 +3957,17 @@
 "\n"
 "Îáíàðóæåí ñâîï-ôàéë ñ èìåíåì \""
 
-#: memline.c:3679
+#: memline.c:3680
 msgid "While opening file \""
 msgstr "Ïðè îòêðûòèè ôàéëà: \""
 
-#: memline.c:3688
+#: memline.c:3689
 msgid "      NEWER than swap file!\n"
 msgstr "                    Áîëåå ÑÂÅÆÈÉ, ÷åì ñâîï-ôàéë!\n"
 
 #. Some of these messages are long to allow translation to
 #. * other languages.
-#: memline.c:3692
+#: memline.c:3693
 msgid ""
 "\n"
 "(1) Another program may be editing the same file.\n"
@@ -3970,11 +3979,11 @@
 "    Åñëè ýòî òàê, òî áóäüòå âíèìàòåëüíû ïðè âíåñåíèè èçìåíåíèé,\n"
 "    ÷òîáû ó âàñ íå ïîÿâèëîñü äâà ðàçíûõ âàðèàíòà îäíîãî è òîãî æå ôàéëà.\n"
 
-#: memline.c:3693
+#: memline.c:3694
 msgid "    Quit, or continue with caution.\n"
 msgstr "    Çàâåðøèòå ðàáîòó èëè ïðîäîëæàéòå ñ îñòîðîæíîñòüþ.\n"
 
-#: memline.c:3694
+#: memline.c:3695
 msgid ""
 "\n"
 "(2) An edit session for this file crashed.\n"
@@ -3982,11 +3991,11 @@
 "\n"
 "(2) Ïðåäûäóùèé ñåàíñ ðåäàêòèðîâàíèÿ ýòîãî ôàéëà çàâåðø¸í àâàðèéíî.\n"
 
-#: memline.c:3695
+#: memline.c:3696
 msgid "    If this is the case, use \":recover\" or \"vim -r "
 msgstr "     ýòîì ñëó÷àå, èñïîëüçóéòå êîìàíäó \":recover\" èëè \"vim -r "
 
-#: memline.c:3697
+#: memline.c:3698
 msgid ""
 "\"\n"
 "    to recover the changes (see \":help recovery\").\n"
@@ -3994,11 +4003,11 @@
 "\"\n"
 "    äëÿ âîññòàíîâëåíèÿ èçìåíåíèé (ñì. \":help âîññòàíîâëåíèå\").\n"
 
-#: memline.c:3698
+#: memline.c:3699
 msgid "    If you did this already, delete the swap file \""
 msgstr "    Åñëè âû óæå âûïîëíÿëè ýòó îïåðàöèþ, óäàëèòå ñâîï-ôàéë \""
 
-#: memline.c:3700
+#: memline.c:3701
 msgid ""
 "\"\n"
 "    to avoid this message.\n"
@@ -4006,23 +4015,23 @@
 "\"\n"
 "    ÷òîáû èçáåæàòü ïîÿâëåíèÿ ýòîãî ñîîáùåíèÿ â áóäóùåì.\n"
 
-#: memline.c:3714 memline.c:3718
+#: memline.c:3715 memline.c:3719
 msgid "Swap file \""
 msgstr "Ñâîï-ôàéë \""
 
-#: memline.c:3715 memline.c:3721
+#: memline.c:3716 memline.c:3722
 msgid "\" already exists!"
 msgstr "\" óæå ñóùåñòâóåò!"
 
-#: memline.c:3724
+#: memline.c:3725
 msgid "VIM - ATTENTION"
 msgstr "VIM - ÂÍÈÌÀÍÈÅ"
 
-#: memline.c:3726
+#: memline.c:3727
 msgid "Swap file already exists!"
 msgstr "Ñâîï-ôàéë óæå ñóùåñòâóåò!"
 
-#: memline.c:3730
+#: memline.c:3731
 msgid ""
 "&Open Read-Only\n"
 "&Edit anyway\n"
@@ -4036,7 +4045,7 @@
 "&Q Âûõîä\n"
 "&A Ïðåðâàòü"
 
-#: memline.c:3732
+#: memline.c:3733
 msgid ""
 "&Open Read-Only\n"
 "&Edit anyway\n"
@@ -4052,7 +4061,7 @@
 "&A Ïðåðâàòü\n"
 "&D Óäàëèòü"
 
-#: memline.c:3789
+#: memline.c:3790
 msgid "E326: Too many swap files found"
 msgstr "E326: Îáíàðóæåíî ñëèøêîì ìíîãî ñâîï-ôàéëîâ"
 
@@ -4160,11 +4169,11 @@
 msgid " (RET: line, SPACE: page, d: half page, q: quit)"
 msgstr " (RET: ñòðîêà, SPACE: ñòðàíèöà, d: ïîëñòðàíèöû, q: âûõîä)"
 
-#: message.c:2976 message.c:2991
+#: message.c:2982 message.c:2997
 msgid "Question"
 msgstr "Âîïðîñ"
 
-#: message.c:2978
+#: message.c:2984
 msgid ""
 "&Yes\n"
 "&No"
@@ -4172,7 +4181,7 @@
 "&Äà\n"
 "&Íåò"
 
-#: message.c:3011
+#: message.c:3017
 msgid ""
 "&Yes\n"
 "&No\n"
@@ -4186,16 +4195,16 @@
 "&Ïîòåðÿòü âñå\n"
 "Î&òìåíà"
 
-#: message.c:3052
+#: message.c:3058
 msgid "Save File dialog"
 msgstr "Ñîõðàíåíèå ôàéëà"
 
-#: message.c:3054
+#: message.c:3060
 msgid "Open File dialog"
 msgstr "Îòêðûòèå ôàéëà"
 
 #. TODO: non-GUI file selector here
-#: message.c:3125
+#: message.c:3131
 msgid "E338: Sorry, no file browser in console mode"
 msgstr ""
 "E338: Èçâèíèòå, íî â êîíñîëüíîì ðåæèìå íåò ïðîâîäíèêà ïî ôàéëîâîé ñèñòåìå"
@@ -4374,36 +4383,36 @@
 msgid "E658: NetBeans connection lost for buffer %ld"
 msgstr "E658: Ïîòåðÿíî ñîåäèíåíèå ñ NetBeans äëÿ áóôåðà %ld"
 
-#: normal.c:2980
+#: normal.c:2983
 msgid "Warning: terminal cannot highlight"
 msgstr "Ïðåäóïðåæäåíèå: òåðìèíàë íå ìîæåò âûïîëíÿòü ïîäñâåòêó"
 
-#: normal.c:3276
+#: normal.c:3279
 msgid "E348: No string under cursor"
 msgstr "E348: Íåò ñòðîêè â ïîçèöèè êóðñîðà"
 
-#: normal.c:3278
+#: normal.c:3281
 msgid "E349: No identifier under cursor"
 msgstr "E349: Íåò èìåíè â ïîçèöèè êóðñîðà"
 
-#: normal.c:4519
+#: normal.c:4522
 msgid "E352: Cannot erase folds with current 'foldmethod'"
 msgstr ""
 "E352: Íåâîçìîæíî ñòåðåòü ñêëàäêè ñ òåêóùèì çíà÷åíèåì îïöèè 'foldmethod'"
 
-#: normal.c:6740
+#: normal.c:6743
 msgid "E664: changelist is empty"
 msgstr "E664: ñïèñîê èçìåíåíèé ïóñòîé"
 
-#: normal.c:6742
+#: normal.c:6745
 msgid "E662: At start of changelist"
 msgstr "E662:  íà÷àëå ñïèñêà èçìåíåíèé"
 
-#: normal.c:6744
+#: normal.c:6747
 msgid "E663: At end of changelist"
 msgstr "E662: Â êîíöå ñïèñêà èçìåíåíèé"
 
-#: normal.c:8005
+#: normal.c:8009
 msgid "Type  :quit<Enter>  to exit Vim"
 msgstr "Ââåäèòå :quit<Enter>  äëÿ âûõîäà èç Vim"
 
@@ -4442,40 +4451,40 @@
 msgstr "Èçìåíåíû îòñòóïû â ñòðîêàõ (%ld) "
 
 #. must display the prompt
-#: ops.c:1675
+#: ops.c:1688
 msgid "cannot yank; delete anyway"
 msgstr "ñêîïèðîâàòü íå óäàëîñü, óäàëåíèå âûïîëíåíî"
 
-#: ops.c:2261
+#: ops.c:2274
 msgid "1 line changed"
 msgstr "èçìåíåíà 1 ñòðîêà"
 
-#: ops.c:2263
+#: ops.c:2276
 #, c-format
 msgid "%ld lines changed"
 msgstr "èçìåíåíî ñòðîê: %ld"
 
-#: ops.c:2647
+#: ops.c:2660
 #, c-format
 msgid "freeing %ld lines"
 msgstr "î÷èùåíî ñòðîê: %ld"
 
-#: ops.c:2928
+#: ops.c:2941
 msgid "1 line yanked"
 msgstr "ñêîïèðîâàíà îäíà ñòðîêà"
 
-#: ops.c:2930
+#: ops.c:2943
 #, c-format
 msgid "%ld lines yanked"
 msgstr "ñêîïèðîâàíî ñòðîê: %ld"
 
-#: ops.c:3215
+#: ops.c:3228
 #, c-format
 msgid "E353: Nothing in register %s"
 msgstr "E353:  ðåãèñòðå %s íè÷åãî íåò"
 
 #. Highlight title
-#: ops.c:3766
+#: ops.c:3779
 msgid ""
 "\n"
 "--- Registers ---"
@@ -4483,11 +4492,11 @@
 "\n"
 "--- Ðåãèñòðû ---"
 
-#: ops.c:5075
+#: ops.c:5088
 msgid "Illegal register name"
 msgstr "Íåäîïóñòèìîå èìÿ ðåãèñòðà"
 
-#: ops.c:5163
+#: ops.c:5176
 #, c-format
 msgid ""
 "\n"
@@ -4496,32 +4505,32 @@
 "\n"
 "# Ðåãèñòðû:\n"
 
-#: ops.c:5213
+#: ops.c:5226
 #, c-format
 msgid "E574: Unknown register type %d"
 msgstr "E574: Íåèçâåñòíûé òèï ðåãèñòðà %d"
 
-#: ops.c:5698
+#: ops.c:5711
 #, c-format
 msgid "E354: Invalid register name: '%s'"
 msgstr "E354: Íåäîïóñòèìîå èìÿ ðåãèñòðà: '%s'"
 
-#: ops.c:6058
+#: ops.c:6071
 #, c-format
 msgid "%ld Cols; "
 msgstr "Êîëîíîê: %ld; "
 
-#: ops.c:6065
+#: ops.c:6078
 #, c-format
 msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes"
 msgstr "Âûäåëåíî %s%ld èç %ld ñòðîê; %ld èç %ld ñëîâ; %ld èç %ld áàéò"
 
-#: ops.c:6081
+#: ops.c:6094
 #, c-format
 msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld"
 msgstr "Êîë. %s èç %s;  ñòð. %ld èç %ld; ñëîâî %ld èç %ld; áàéò %ld èç %ld"
 
-#: ops.c:6092
+#: ops.c:6105
 #, c-format
 msgid "(+%ld for BOM)"
 msgstr "(+%ld ñ ó÷¸òîì BOM)"
@@ -4648,47 +4657,47 @@
 "E537: Çíà÷åíèå îïöèÿ 'commentstring' äîëæíî áûòü ïóñòîé ñòðîêîé èëè "
 "ñîäåðæàòü %s"
 
-#: option.c:5679
+#: option.c:5682
 msgid "E538: No mouse support"
 msgstr "E538: Ìûøü íå ïîääåðæèâàåòñÿ"
 
-#: option.c:5947
+#: option.c:5950
 msgid "E540: Unclosed expression sequence"
 msgstr "E540: Íåçàêðûòàÿ ïîñëåäîâàòåëüíîñòü âûðàæåíèÿ"
 
-#: option.c:5951
+#: option.c:5954
 msgid "E541: too many items"
 msgstr "E541: ñëèøêîì ìíîãî ýëåìåíòîâ"
 
-#: option.c:5953
+#: option.c:5956
 msgid "E542: unbalanced groups"
 msgstr "E542: íåñáàëàíñèðîâàííûå ãðóïïû"
 
-#: option.c:6193
+#: option.c:6196
 msgid "E590: A preview window already exists"
 msgstr "E590: Îêíî ïðåäïðîñìîòðà óæå åñòü"
 
-#: option.c:6450
+#: option.c:6453
 msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'"
 msgstr ""
 "W17: Àðàáñêèé òðåáóåò èñïîëüçîâàíèÿ UTF-8, ââåäèòå ':set encoding=utf-8'"
 
-#: option.c:6783
+#: option.c:6786
 #, c-format
 msgid "E593: Need at least %d lines"
 msgstr "E593: Íóæíî õîòÿ áû %d ñòðîê"
 
-#: option.c:6793
+#: option.c:6796
 #, c-format
 msgid "E594: Need at least %d columns"
 msgstr "E594: Íóæíî õîòÿ áû %d êîëîíîê"
 
-#: option.c:7100
+#: option.c:7103
 #, c-format
 msgid "E355: Unknown option: %s"
 msgstr "E355: Íåèçâåñòíàÿ îïöèÿ: %s"
 
-#: option.c:7220
+#: option.c:7223
 msgid ""
 "\n"
 "--- Terminal codes ---"
@@ -4696,7 +4705,7 @@
 "\n"
 "--- Òåðìèíàëüíûå êîäû ---"
 
-#: option.c:7222
+#: option.c:7225
 msgid ""
 "\n"
 "--- Global option values ---"
@@ -4704,7 +4713,7 @@
 "\n"
 "--- Ãëîáàëüíûå çíà÷åíèÿ îïöèé ---"
 
-#: option.c:7224
+#: option.c:7227
 msgid ""
 "\n"
 "--- Local option values ---"
@@ -4712,7 +4721,7 @@
 "\n"
 "--- Ìåñòíûå çíà÷åíèÿ îïöèé ---"
 
-#: option.c:7226
+#: option.c:7229
 msgid ""
 "\n"
 "--- Options ---"
@@ -4720,16 +4729,16 @@
 "\n"
 "--- Îïöèè ---"
 
-#: option.c:7932
+#: option.c:7935
 msgid "E356: get_varp ERROR"
 msgstr "E356: ÎØÈÁÊÀ get_varp"
 
-#: option.c:8903
+#: option.c:8906
 #, c-format
 msgid "E357: 'langmap': Matching character missing for %s"
 msgstr "E357: 'langmap': Íåò ñîîòâåòñòâóþùåãî ñèìâîëà äëÿ %s"
 
-#: option.c:8937
+#: option.c:8940
 #, c-format
 msgid "E358: 'langmap': Extra characters after semicolon: %s"
 msgstr "E358: 'langmap': Ëèøíèå ñèìâîëû ïîñëå òî÷êè ñ çàïÿòîé: %s"
@@ -4764,81 +4773,81 @@
 msgid "Vim exiting with %d\n"
 msgstr "Ïðåêðàùåíèå ðàáîòû Vim ñ êîäîì %d\n"
 
-#: os_amiga.c:937
+#: os_amiga.c:941
 msgid "cannot change console mode ?!\n"
 msgstr "íåâîçìîæíî ñìåíèòü ðåæèì êîíñîëè?!\n"
 
-#: os_amiga.c:1003
+#: os_amiga.c:1012
 msgid "mch_get_shellsize: not a console??\n"
 msgstr "mch_get_shellsize: íå â êîíñîëè??\n"
 
 #. if Vim opened a window: Executing a shell may cause crashes
-#: os_amiga.c:1152
+#: os_amiga.c:1161
 msgid "E360: Cannot execute shell with -f option"
 msgstr "E360: Íåâîçìîæíî âûïîëíèòü îáîëî÷êó ñ àðãóìåíòîì -f"
 
-#: os_amiga.c:1193 os_amiga.c:1283
+#: os_amiga.c:1202 os_amiga.c:1292
 msgid "Cannot execute "
 msgstr "Íåâîçìîæíî âûïîëíèòü "
 
-#: os_amiga.c:1196 os_amiga.c:1293
+#: os_amiga.c:1205 os_amiga.c:1302
 msgid "shell "
 msgstr "îáîëî÷êà "
 
-#: os_amiga.c:1216 os_amiga.c:1318
+#: os_amiga.c:1225 os_amiga.c:1327
 msgid " returned\n"
 msgstr " çàâåðøèëà ðàáîòó\n"
 
-#: os_amiga.c:1459
+#: os_amiga.c:1468
 msgid "ANCHOR_BUF_SIZE too small."
 msgstr "ñëèøêîì ìàëàÿ âåëè÷èíà ANCHOR_BUF_SIZE."
 
-#: os_amiga.c:1463
+#: os_amiga.c:1472
 msgid "I/O ERROR"
 msgstr "ÎØÈÁÊÀ ÂÂÎÄÀ/ÂÛÂÎÄÀ"
 
-#: os_mswin.c:539
+#: os_mswin.c:548
 msgid "...(truncated)"
 msgstr "...(îáðåçàíî)"
 
-#: os_mswin.c:641
+#: os_mswin.c:650
 msgid "'columns' is not 80, cannot execute external commands"
 msgstr "Çíà÷åíèå îïöèè 'columns' íå ðàâíî 80, âíåøíèå ïðîãðàììû íå âûïîëíÿþòñÿ"
 
-#: os_mswin.c:1973
+#: os_mswin.c:1982
 msgid "E237: Printer selection failed"
 msgstr "E327: Íåóäà÷íîå çàâåðøåíèå âûáîðà ïðèíòåðà"
 
-#: os_mswin.c:2013
+#: os_mswin.c:2022
 #, c-format
 msgid "to %s on %s"
 msgstr "â %s íà %s"
 
-#: os_mswin.c:2028
+#: os_mswin.c:2037
 #, c-format
 msgid "E613: Unknown printer font: %s"
 msgstr "E613: Íåèçâåñòíûé øðèôò ïðèíòåðà: %s"
 
-#: os_mswin.c:2077 os_mswin.c:2087
+#: os_mswin.c:2086 os_mswin.c:2096
 #, c-format
 msgid "E238: Print error: %s"
 msgstr "E238: Îøèáêà ïå÷àòè: %s"
 
-#: os_mswin.c:2088
+#: os_mswin.c:2097
 msgid "Unknown"
 msgstr "Íåèçâåñòíî"
 
-#: os_mswin.c:2115
+#: os_mswin.c:2124
 #, c-format
 msgid "Printing '%s'"
 msgstr "Ïå÷àòü '%s'"
 
-#: os_mswin.c:3204
+#: os_mswin.c:3213
 #, c-format
 msgid "E244: Illegal charset name \"%s\" in font name \"%s\""
 msgstr "E244: Íåäîïóñòèìîå èìÿ êîäèðîâêè \"%s\" â èìåíè øðèôòà \"%s\""
 
-#: os_mswin.c:3212
+#: os_mswin.c:3221
 #, c-format
 msgid "E245: Illegal char '%c' in font name \"%s\""
 msgstr "E245: Íåäîïóñòèìûé ñèìâîë '%c' â èìåíè øðèôòà \"%s\""
@@ -4874,15 +4883,15 @@
 "\n"
 "Vim: Îøèáêà X\n"
 
-#: os_unix.c:1334
+#: os_unix.c:1338
 msgid "Testing the X display failed"
 msgstr "Ïðîâåðêà äèñïëåÿ X çàâåðøåíà íåóäà÷íî"
 
-#: os_unix.c:1473
+#: os_unix.c:1477
 msgid "Opening the X display timed out"
 msgstr "Îòêðûòèå äèñïëåÿ X íå âûïîëíåíî â îòâåä¸ííîå âðåìÿ"
 
-#: os_unix.c:3227 os_unix.c:3907
+#: os_unix.c:3234 os_unix.c:3914
 msgid ""
 "\n"
 "Cannot execute shell "
@@ -4890,7 +4899,7 @@
 "\n"
 "Íåâîçìîæíî çàïóñòèòü îáîëî÷êó "
 
-#: os_unix.c:3275
+#: os_unix.c:3282
 msgid ""
 "\n"
 "Cannot execute shell sh\n"
@@ -4898,7 +4907,7 @@
 "\n"
 "Íåâîçìîæíî çàïóñòèòü îáîëî÷êó sh\n"
 
-#: os_unix.c:3279 os_unix.c:3913
+#: os_unix.c:3286 os_unix.c:3920
 msgid ""
 "\n"
 "shell returned "
@@ -4906,7 +4915,7 @@
 "\n"
 "Îáîëî÷êà çàâåðøèëà ðàáîòó "
 
-#: os_unix.c:3414
+#: os_unix.c:3421
 msgid ""
 "\n"
 "Cannot create pipes\n"
@@ -4914,7 +4923,7 @@
 "\n"
 "Íåâîçìîæíî ñîçäàòü òðóáû\n"
 
-#: os_unix.c:3429
+#: os_unix.c:3436
 msgid ""
 "\n"
 "Cannot fork\n"
@@ -4922,7 +4931,7 @@
 "\n"
 "Íåâîçìîæíî âûïîëíèòü fork()\n"
 
-#: os_unix.c:3920
+#: os_unix.c:3927
 msgid ""
 "\n"
 "Command terminated\n"
@@ -4930,27 +4939,27 @@
 "\n"
 "Âûïîëíåíèå êîìàíäû ïðåðâàíî\n"
 
-#: os_unix.c:4184 os_unix.c:4309 os_unix.c:5975
+#: os_unix.c:4191 os_unix.c:4316 os_unix.c:5982
 msgid "XSMP lost ICE connection"
 msgstr "XSMP óòåðÿíî ñîåäèíåíèå ICE"
 
-#: os_unix.c:5558
+#: os_unix.c:5565
 msgid "Opening the X display failed"
 msgstr "Íåóäà÷íîå îòêðûòèå äèñïëåÿ X"
 
-#: os_unix.c:5880
+#: os_unix.c:5887
 msgid "XSMP handling save-yourself request"
 msgstr "XSMP îáðàáàòûâàåò çàïðîñ ñàìîñîõðàíåíèÿ"
 
-#: os_unix.c:5999
+#: os_unix.c:6006
 msgid "XSMP opening connection"
 msgstr "XSMP îòêðûâàåò ñîåäèíåíèå"
 
-#: os_unix.c:6018
+#: os_unix.c:6025
 msgid "XSMP ICE connection watch failed"
 msgstr "XSMP ïîòåðÿíî ñëåæåíèå çà ñîåäèíåíèåì ICE"
 
-#: os_unix.c:6038
+#: os_unix.c:6045
 #, c-format
 msgid "XSMP SmcOpenConnection failed: %s"
 msgstr "XSMP íåóäà÷íî âûïîëíåíî SmcOpenConnection: %s"
@@ -4975,33 +4984,33 @@
 msgid "Could not fix up function pointers to the DLL!"
 msgstr "Íåâîçìîæíî èñïðàâèòü óêàçàòåëè ôóíêöèé äëÿ DLL!"
 
-#: os_win16.c:342 os_win32.c:3216
+#: os_win16.c:342 os_win32.c:3248
 #, c-format
 msgid "shell returned %d"
 msgstr "çàâåðøåíèå ðàáîòû îáîëî÷êè ñ êîäîì %d"
 
-#: os_win32.c:2674
+#: os_win32.c:2706
 #, c-format
 msgid "Vim: Caught %s event\n"
 msgstr "Vim: Ïåðåõâà÷åíî ñîáûòèå %s\n"
 
-#: os_win32.c:2676
+#: os_win32.c:2708
 msgid "close"
 msgstr "çàêðûòèå"
 
-#: os_win32.c:2678
+#: os_win32.c:2710
 msgid "logoff"
 msgstr "îòêëþ÷åíèå"
 
-#: os_win32.c:2679
+#: os_win32.c:2711
 msgid "shutdown"
 msgstr "çàâåðøåíèå"
 
-#: os_win32.c:3169
+#: os_win32.c:3201
 msgid "E371: Command not found"
 msgstr "E371: Êîìàíäà íå íàéäåíà"
 
-#: os_win32.c:3182
+#: os_win32.c:3214
 msgid ""
 "VIMRUN.EXE not found in your $PATH.\n"
 "External commands will not pause after completion.\n"
@@ -5011,7 +5020,7 @@
 "Âíåøíèå êîìàíäû íå áóäóò îñòàíàâëèâàòüñÿ ïîñëå âûïîëíåíèÿ.\n"
 "Äîïîëíèòåëüíàÿ èíôîðìàöèÿ â :help win32-vimrun"
 
-#: os_win32.c:3185
+#: os_win32.c:3217
 msgid "Vim Warning"
 msgstr "Ïðåäóïðåæäåíèå Vim"
 
@@ -5219,75 +5228,75 @@
 msgid "+--%3ld lines folded "
 msgstr "+--%3ld ñòðîê â ñêëàäêå"
 
-#: screen.c:7996
+#: screen.c:8000
 msgid " VREPLACE"
 msgstr " ÂÈÐÒÓÀËÜÍÀß ÇÀÌÅÍÀ"
 
-#: screen.c:8000
+#: screen.c:8004
 msgid " REPLACE"
 msgstr " ÇÀÌÅÍÀ"
 
-#: screen.c:8005
+#: screen.c:8009
 msgid " REVERSE"
 msgstr " ÎÁÐÀÒÍÀß"
 
-#: screen.c:8007
+#: screen.c:8011
 msgid " INSERT"
 msgstr " ÂÑÒÀÂÊÀ"
 
-#: screen.c:8010
+#: screen.c:8014
 msgid " (insert)"
 msgstr " (âñòàâêà)"
 
-#: screen.c:8012
+#: screen.c:8016
 msgid " (replace)"
 msgstr " (çàìåíà)"
 
-#: screen.c:8014
+#: screen.c:8018
 msgid " (vreplace)"
 msgstr " (âèðòóàëüíàÿ çàìåíà)"
 
-#: screen.c:8017
+#: screen.c:8021
 msgid " Hebrew"
 msgstr " Èâðèò"
 
-#: screen.c:8028
+#: screen.c:8032
 msgid " Arabic"
 msgstr " Àðàáñêèé"
 
-#: screen.c:8031
+#: screen.c:8035
 msgid " (lang)"
 msgstr " (ÿçûê)"
 
-#: screen.c:8035
+#: screen.c:8039
 msgid " (paste)"
 msgstr " (âêëåéêà)"
 
-#: screen.c:8048
+#: screen.c:8052
 msgid " VISUAL"
 msgstr " ÂÈÇÓÀËÜÍÛÉ ÐÅÆÈÌ"
 
-#: screen.c:8049
+#: screen.c:8053
 msgid " VISUAL LINE"
 msgstr " ÂÈÇÓÀËÜÍÀß ÑÒÐÎÊÀ"
 
-#: screen.c:8050
+#: screen.c:8054
 msgid " VISUAL BLOCK"
 msgstr " ÂÈÇÓÀËÜÍÛÉ ÁËÎÊ"
 
-#: screen.c:8051
+#: screen.c:8055
 msgid " SELECT"
 msgstr " ÂÛÄÅËÅÍÈÅ"
 
-#: screen.c:8052
+#: screen.c:8056
 msgid " SELECT LINE"
 msgstr " ÂÛÄÅËÅÍÈÅ ÑÒÐÎÊÈ"
 
-#: screen.c:8053
+#: screen.c:8057
 msgid " SELECT BLOCK"
 msgstr " ÂÛÄÅËÅÍÈÅ ÁËÎÊÀ"
 
-#: screen.c:8068 screen.c:8131
+#: screen.c:8072 screen.c:8135
 msgid "recording"
 msgstr "çàïèñü"
 
@@ -5318,53 +5327,53 @@
 msgid "E386: Expected '?' or '/'  after ';'"
 msgstr "E386: Ïîñëå ';' îæèäàåòñÿ ââîä '?' èëè '/'"
 
-#: search.c:3759
+#: search.c:3768
 msgid " (includes previously listed match)"
 msgstr " (âêëþ÷àåò ðàííåå ïîêàçàííûå ñîîòâåòñòâèÿ)"
 
 #. cursor at status line
-#: search.c:3779
+#: search.c:3788
 msgid "--- Included files "
 msgstr "--- Âêëþ÷¸ííûå ôàéëû "
 
-#: search.c:3781
+#: search.c:3790
 msgid "not found "
 msgstr "íå íàéäåíî "
 
-#: search.c:3782
+#: search.c:3791
 msgid "in path ---\n"
 msgstr "ïî ïóòè ---\n"
 
-#: search.c:3839
+#: search.c:3848
 msgid "  (Already listed)"
 msgstr " (Óæå ïîêàçàíî)"
 
-#: search.c:3841
+#: search.c:3850
 msgid "  NOT FOUND"
 msgstr " ÍÅ ÍÀÉÄÅÍÎ"
 
-#: search.c:3893
+#: search.c:3902
 #, c-format
 msgid "Scanning included file: %s"
 msgstr "Ïðîñìîòð âêëþ÷¸ííûõ ôàéëîâ: %s"
 
-#: search.c:4111
+#: search.c:4120
 msgid "E387: Match is on current line"
 msgstr "E387: Ñîîòâåòñòâèå â òåêóùåé ñòðîêå"
 
-#: search.c:4254
+#: search.c:4263
 msgid "All included files were found"
 msgstr "Íàéäåíû âñå âêëþ÷¸ííûå ôàéëû"
 
-#: search.c:4256
+#: search.c:4265
 msgid "No included files"
 msgstr "Âêëþ÷¸ííûõ ôàéëîâ íåò"
 
-#: search.c:4272
+#: search.c:4281
 msgid "E388: Couldn't find definition"
 msgstr "E388: Îïðåäåëåíèå íå íàéäåíî"
 
-#: search.c:4274
+#: search.c:4283
 msgid "E389: Couldn't find pattern"
 msgstr "E389: Øàáëîí íå íàéäåí"
 
@@ -5789,7 +5798,7 @@
 msgstr "E440: ïîòåðÿíà ñòðîêà îòìåíû"
 
 #. Only MS VC 4.1 and earlier can do Win32s
-#: version.c:721
+#: version.c:707
 msgid ""
 "\n"
 "MS-Windows 16/32 bit GUI version"
@@ -5797,7 +5806,7 @@
 "\n"
 "Âåðñèÿ ñ ãðàôè÷åñêèì èíòåðôåéñîì äëÿ MS-Windows 16/32 áèò"
 
-#: version.c:723
+#: version.c:709
 msgid ""
 "\n"
 "MS-Windows 32 bit GUI version"
@@ -5805,15 +5814,15 @@
 "\n"
 "Âåðñèÿ ñ ãðàôè÷åñêèì èíòåðôåéñîì äëÿ MS-Windows 32 áèò"
 
-#: version.c:726
+#: version.c:712
 msgid " in Win32s mode"
 msgstr " â ðåæèìå Win32s"
 
-#: version.c:728
+#: version.c:714
 msgid " with OLE support"
 msgstr " ñ ïîääåðæêîé OLE"
 
-#: version.c:731
+#: version.c:717
 msgid ""
 "\n"
 "MS-Windows 32 bit console version"
@@ -5821,7 +5830,7 @@
 "\n"
 "Êîíñîëüíàÿ âåðñèÿ äëÿ MS-Windows 32 áèò"
 
-#: version.c:735
+#: version.c:721
 msgid ""
 "\n"
 "MS-Windows 16 bit version"
@@ -5829,7 +5838,7 @@
 "\n"
 "Âåðñèÿ äëÿ MS-Windows 16 áèò"
 
-#: version.c:739
+#: version.c:725
 msgid ""
 "\n"
 "32 bit MS-DOS version"
@@ -5837,7 +5846,7 @@
 "\n"
 "Âåðñèÿ äëÿ MS-DOS 32 áèò"
 
-#: version.c:741
+#: version.c:727
 msgid ""
 "\n"
 "16 bit MS-DOS version"
@@ -5845,7 +5854,7 @@
 "\n"
 "Âåðñèÿ äëÿ MS-DOS 16 áèò"
 
-#: version.c:747
+#: version.c:733
 msgid ""
 "\n"
 "MacOS X (unix) version"
@@ -5853,7 +5862,7 @@
 "\n"
 "Âåðñèÿ äëÿ MacOS X (unix)"
 
-#: version.c:749
+#: version.c:735
 msgid ""
 "\n"
 "MacOS X version"
@@ -5861,7 +5870,7 @@
 "\n"
 "Âåðñèÿ äëÿ MacOS X"
 
-#: version.c:752
+#: version.c:738
 msgid ""
 "\n"
 "MacOS version"
@@ -5869,7 +5878,7 @@
 "\n"
 "Âåðñèÿ äëÿ MacOS"
 
-#: version.c:757
+#: version.c:743
 msgid ""
 "\n"
 "RISC OS version"
@@ -5877,7 +5886,7 @@
 "\n"
 "Âåðñèÿ äëÿ RISC OS"
 
-#: version.c:767
+#: version.c:753
 msgid ""
 "\n"
 "Included patches: "
@@ -5885,11 +5894,11 @@
 "\n"
 "Çàïëàòêè: "
 
-#: version.c:793 version.c:1161
+#: version.c:779 version.c:1147
 msgid "Modified by "
 msgstr "Ñ èçìåíåíèÿìè, âíåñ¸ííûìè "
 
-#: version.c:800
+#: version.c:786
 msgid ""
 "\n"
 "Compiled "
@@ -5897,11 +5906,11 @@
 "\n"
 "Ñêîìïèëèðîâàí "
 
-#: version.c:803
+#: version.c:789
 msgid "by "
 msgstr " "
 
-#: version.c:815
+#: version.c:801
 msgid ""
 "\n"
 "Huge version "
@@ -5909,7 +5918,7 @@
 "\n"
 "Îãðîìíàÿ âåðñèÿ "
 
-#: version.c:818
+#: version.c:804
 msgid ""
 "\n"
 "Big version "
@@ -5917,7 +5926,7 @@
 "\n"
 "Áîëüøàÿ âåðñèÿ "
 
-#: version.c:821
+#: version.c:807
 msgid ""
 "\n"
 "Normal version "
@@ -5925,7 +5934,7 @@
 "\n"
 "Îáû÷íàÿ âåðñèÿ "
 
-#: version.c:824
+#: version.c:810
 msgid ""
 "\n"
 "Small version "
@@ -5933,7 +5942,7 @@
 "\n"
 "Ìàëàÿ âåðñèÿ "
 
-#: version.c:826
+#: version.c:812
 msgid ""
 "\n"
 "Tiny version "
@@ -5941,231 +5950,231 @@
 "\n"
 "Âåðñèÿ \"Êðîõà\" "
 
-#: version.c:832
+#: version.c:818
 msgid "without GUI."
 msgstr "áåç ãðàôè÷åñêîãî èíòåðôåéñà."
 
-#: version.c:837
+#: version.c:823
 msgid "with GTK2-GNOME GUI."
 msgstr "ñ ãðàôè÷åñêèì èíòåðôåéñîì GTK2-GNOME."
 
-#: version.c:839
+#: version.c:825
 msgid "with GTK-GNOME GUI."
 msgstr "ñ ãðàôè÷åñêèì èíòåðôåéñîì GTK-GNOME."
 
-#: version.c:843
+#: version.c:829
 msgid "with GTK2 GUI."
 msgstr "ñ ãðàôè÷åñêèì èíòåðôåéñîì GTK2."
 
-#: version.c:845
+#: version.c:831
 msgid "with GTK GUI."
 msgstr "ñ ãðàôè÷åñêèì èíòåðôåéñîì GTK."
 
-#: version.c:850
+#: version.c:836
 msgid "with X11-Motif GUI."
 msgstr "ñ ãðàôè÷åñêèì èíòåðôåéñîì X11-Motif."
 
-#: version.c:854
+#: version.c:840
 msgid "with X11-neXtaw GUI."
 msgstr "ñ ãðàôè÷åñêèì èíòåðôåéñîì X11-neXtaw."
 
-#: version.c:856
+#: version.c:842
 msgid "with X11-Athena GUI."
 msgstr "ñ ãðàôè÷åñêèì èíòåðôåéñîì X11-Athena."
 
-#: version.c:860
+#: version.c:846
 msgid "with BeOS GUI."
 msgstr "ñ ãðàôè÷åñêèì èíòåðôåéñîì BeOS."
 
-#: version.c:863
+#: version.c:849
 msgid "with Photon GUI."
 msgstr "ñ ãðàôè÷åñêèì èíòåðôåéñîì Photon."
 
-#: version.c:866
+#: version.c:852
 msgid "with GUI."
 msgstr "ñ ãðàôè÷åñêèì èíòåðôåéñîì."
 
-#: version.c:869
+#: version.c:855
 msgid "with Carbon GUI."
 msgstr "ñ ãðàôè÷åñêèì èíòåðôåéñîì Carbon."
 
-#: version.c:872
+#: version.c:858
 msgid "with Cocoa GUI."
 msgstr "ñ ãðàôè÷åñêèì èíòåðôåéñîì Cocoa."
 
-#: version.c:875
+#: version.c:861
 msgid "with (classic) GUI."
 msgstr "ñ êëàññè÷åñêèì ãðàôè÷åñêèì èíòåðôåéñîì."
 
-#: version.c:886
+#: version.c:872
 msgid "  Features included (+) or not (-):\n"
 msgstr "  Âêëþ÷¸ííûå (+) è îòêëþ÷¸ííûå (-) îñîáåííîñòè:\n"
 
-#: version.c:898
+#: version.c:884
 msgid "   system vimrc file: \""
 msgstr "            îáùåñèñòåìíûé ôàéë vimrc: \""
 
-#: version.c:903
+#: version.c:889
 msgid "     user vimrc file: \""
 msgstr "         ïîëüçîâàòåëüñêèé ôàéë vimrc: \""
 
-#: version.c:908
+#: version.c:894
 msgid " 2nd user vimrc file: \""
 msgstr "  âòîðîé ïîëüçîâàòåëüñêèé ôàéë vimrc: \""
 
-#: version.c:913
+#: version.c:899
 msgid " 3rd user vimrc file: \""
 msgstr "  òðåòèé ïîëüçîâàòåëüñêèé ôàéë vimrc: \""
 
-#: version.c:918
+#: version.c:904
 msgid "      user exrc file: \""
 msgstr "          ïîëüçîâàòåëüñêèé ôàéë exrc: \""
 
-#: version.c:923
+#: version.c:909
 msgid "  2nd user exrc file: \""
 msgstr "   âòîðîé ïîëüçîâàòåëüñêèé ôàéë exrc: \""
 
-#: version.c:929
+#: version.c:915
 msgid "  system gvimrc file: \""
 msgstr "           îáùåñèñòåìíûé ôàéë gvimrc: \""
 
-#: version.c:933
+#: version.c:919
 msgid "    user gvimrc file: \""
 msgstr "        ïîëüçîâàòåëüñêèé ôàéë gvimrc: \""
 
-#: version.c:937
+#: version.c:923
 msgid "2nd user gvimrc file: \""
 msgstr " âòîðîé ïîëüçîâàòåëüñêèé ôàéë gvimrc: \""
 
-#: version.c:942
+#: version.c:928
 msgid "3rd user gvimrc file: \""
 msgstr " òðåòèé ïîëüçîâàòåëüñêèé ôàéë gvimrc: \""
 
-#: version.c:949
+#: version.c:935
 msgid "    system menu file: \""
 msgstr "             îáùåñèñòåìíûé ôàéë ìåíþ: \""
 
-#: version.c:957
+#: version.c:943
 msgid "  fall-back for $VIM: \""
 msgstr "          çíà÷åíèå $VIM ïî óìîë÷àíèþ: \""
 
-#: version.c:963
+#: version.c:949
 msgid " f-b for $VIMRUNTIME: \""
 msgstr "   çíà÷åíèå $VIMRUNTIME ïî óìîë÷àíèþ: \""
 
-#: version.c:967
+#: version.c:953
 msgid "Compilation: "
 msgstr "Ïàðàìåòðû êîìïèëÿöèè: "
 
-#: version.c:973
+#: version.c:959
 msgid "Compiler: "
 msgstr "Êîìïèëÿòîð: "
 
-#: version.c:978
+#: version.c:964
 msgid "Linking: "
 msgstr "Ñáîðêà: "
 
-#: version.c:983
+#: version.c:969
 msgid "  DEBUG BUILD"
 msgstr "  ÎÒËÀÄÎ×ÍÀß ÑÁÎÐÊÀ"
 
-#: version.c:1022
+#: version.c:1008
 msgid "VIM - Vi IMproved"
 msgstr "VIM ::: Vi IMproved (Óëó÷øåííûé Vi) ::: Ðóññêàÿ âåðñèÿ"
 
-#: version.c:1024
+#: version.c:1010
 msgid "version "
 msgstr "âåðñèÿ "
 
-#: version.c:1025
+#: version.c:1011
 msgid "by Bram Moolenaar et al."
 msgstr "Áðàì Ìîîëåíààð è äðóãèå"
 
-#: version.c:1029
+#: version.c:1015
 msgid "Vim is open source and freely distributable"
 msgstr "Vim ýòî ñâîáîäíî ðàñïðîñòðàíÿåìàÿ ïðîãðàììà ñ îòêðûòûì êîäîì"
 
-#: version.c:1031
+#: version.c:1017
 msgid "Help poor children in Uganda!"
 msgstr "Áåäíûì äåòÿì â Óãàíäå íóæíà âàøà ïîìîùü!"
 
-#: version.c:1032
+#: version.c:1018
 msgid "type  :help iccf<Enter>       for information "
 msgstr "íàáåðèòå :help iccf<Enter>       äëÿ äîïîëíèòåëüíîé èíôîðìàöèè"
 
-#: version.c:1034
+#: version.c:1020
 msgid "type  :q<Enter>               to exit         "
 msgstr "íàáåðèòå :q<Enter>               ÷òîáû âûéòè èç ïðîãðàììû     "
 
-#: version.c:1035
+#: version.c:1021
 msgid "type  :help<Enter>  or  <F1>  for on-line help"
 msgstr "íàáåðèòå :help<Enter> èëè <F1>   äëÿ ïîëó÷åíèÿ ñïðàâêè        "
 
-#: version.c:1036
+#: version.c:1022
 msgid "type  :help version6<Enter>   for version info"
 msgstr "íàáåðèòå :help version6<Enter>   ÷òîáû óçíàòü îá ýòîé âåðñèè  "
 
-#: version.c:1039
+#: version.c:1025
 msgid "Running in Vi compatible mode"
 msgstr "Ðàáîòà â Vi-ñîâìåñòèìîì ðåæèìå"
 
-#: version.c:1040
+#: version.c:1026
 msgid "type  :set nocp<Enter>        for Vim defaults"
 msgstr "íàáåðèòå :set nocp<Enter>        äëÿ ïåðåõîäà â ðåæèì Vim     "
 
-#: version.c:1041
+#: version.c:1027
 msgid "type  :help cp-default<Enter> for info on this"
 msgstr "íàáåðèòå :help cp-default<Enter> äëÿ äîïîëíèòåëüíîé èíôîðìàöèè"
 
-#: version.c:1056
+#: version.c:1042
 msgid "menu  Help->Orphans           for information    "
 msgstr "ìåíþ Ñïðàâêà->Ñèðîòû             äëÿ ïîëó÷åíèÿ èíôîðìàöèè     "
 
-#: version.c:1058
+#: version.c:1044
 msgid "Running modeless, typed text is inserted"
 msgstr "Áåçðåæèìíàÿ ðàáîòû, âñòàâêà ââåä¸ííîãî òåêñòà"
 
-#: version.c:1059
+#: version.c:1045
 msgid "menu  Edit->Global Settings->Toggle Insert Mode  "
 msgstr "ìåíþ Ïðàâêà->Îáùèå Íàñòðîéêè->Ðåæèì Âñòàâêè                     "
 
-#: version.c:1060
+#: version.c:1046
 msgid "                              for two modes      "
 msgstr "                                 äëÿ äâóõ ðåæèìîâ               "
 
-#: version.c:1064
+#: version.c:1050
 msgid "menu  Edit->Global Settings->Toggle Vi Compatible"
 msgstr "ìåíþ Ïðàâêà->Îáùèå Íàñòðîéêè->Ñîâìåñòèìîñòü ñ Vi                "
 
-#: version.c:1065
+#: version.c:1051
 msgid "                              for Vim defaults   "
 msgstr "                                 äëÿ ïåðåõîäà â ðåæèì Vim       "
 
-#: version.c:1112
+#: version.c:1098
 msgid "Sponsor Vim development!"
 msgstr "Ïîìîãèòå â ðàçðàáîòêå Vim!"
 
-#: version.c:1113
+#: version.c:1099
 msgid "Become a registered Vim user!"
 msgstr "Ñòàíüòå çàðåãèñòðèðîâàííûì ïîëüçîâàòåëåì Vim!"
 
-#: version.c:1116
+#: version.c:1102
 msgid "type  :help sponsor<Enter>    for information "
 msgstr "íàáåðèòå :help sponsor<Enter>    äëÿ ïîëó÷åíèÿ èíôîðìàöèè     "
 
-#: version.c:1117
+#: version.c:1103
 msgid "type  :help register<Enter>   for information "
 msgstr "íàáåðèòå :help register<Enter>   äëÿ ïîëó÷åíèÿ èíôîðìàöèè     "
 
-#: version.c:1119
+#: version.c:1105
 msgid "menu  Help->Sponsor/Register  for information    "
 msgstr "ìåíþ Ñïðàâêà->Ïîìîùü/Ðåãèñòðàöèÿ äëÿ ïîëó÷åíèÿ èíôîðìàöèè       "
 
-#: version.c:1129
+#: version.c:1115
 msgid "WARNING: Windows 95/98/ME detected"
 msgstr "ÏÐÅÄÓÏÐÅÆÄÅÍÈÅ: îáíàðóæåíà Windows 95/98/ME"
 
-#: version.c:1132
+#: version.c:1118
 msgid "type  :help windows95<Enter>  for info on this"
 msgstr "íàáåðèòå :help windows95<Enter>  äëÿ ïîëó÷åíèÿ èíôîðìàöèè     "
 
@@ -6202,7 +6211,7 @@
 msgid "E447: Can't find file \"%s\" in path"
 msgstr "E447: Ôàéë \"%s\" íå íàéäåí ïî èçâåñòíûì ïóòÿì"
 
-#: if_perl.xs:326 globals.h:1232
+#: if_perl.xs:326 globals.h:1241
 #, c-format
 msgid "E370: Could not load library %s"
 msgstr "E370: Íåâîçìîæíî çàãðóçèòü áèáëèîòåêó %s"
@@ -6254,7 +6263,7 @@
 msgid "Path length too long!"
 msgstr "Ñëèøêîì äëèííûé ïóòü!"
 
-#: globals.h:1022
+#: globals.h:1031
 msgid "--No lines in buffer--"
 msgstr "-- Íåò ñòðîê â áóôåðå --"
 
@@ -6262,397 +6271,395 @@
 #. * The error messages that can be shared are included here.
 #. * Excluded are errors that are only used once and debugging messages.
 #.
-#: globals.h:1185
+#: globals.h:1194
 msgid "E470: Command aborted"
 msgstr "E470: Âûïîëíåíèå êîìàíäû ïðåðâàíî"
 
-#: globals.h:1186
+#: globals.h:1195
 msgid "E471: Argument required"
 msgstr "E471: Òðåáóåòñÿ óêàçàòü ïàðàìåòð"
 
-#: globals.h:1187
+#: globals.h:1196
 msgid "E10: \\ should be followed by /, ? or &"
 msgstr "E10: Ïîñëå \\ äîëæåí èäòè ñèìâîë /, ? èëè &"
 
-#: globals.h:1189
+#: globals.h:1198
 msgid "E11: Invalid in command-line window; <CR> executes, CTRL-C quits"
 msgstr ""
 "E11: Íåäîïóñòèìî â îêíå êîìàíäíîé ñòðîêè; <CR> âûïîëíåíèå, CTRL-C âûõîä"
 
-#: globals.h:1191
+#: globals.h:1200
 msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search"
 msgstr ""
 "E12: Êîìàíäà íå äîïóñêàåòñÿ â exrc/vimrc â òåêóùåì êàòàëîãå èëè ïîèñêå ìåòîê"
 
-#: globals.h:1193
+#: globals.h:1202
 msgid "E171: Missing :endif"
 msgstr "E171: Îòñóòñòâóåò êîìàíäà :endif"
 
-#: globals.h:1194
+#: globals.h:1203
 msgid "E600: Missing :endtry"
 msgstr "E600: Îòñóòñòâóåò êîìàíäà :endtry"
 
-#: globals.h:1195
+#: globals.h:1204
 msgid "E170: Missing :endwhile"
 msgstr "E170: Îòñóòñòâóåò êîìàíäà :endwhile"
 
-#: globals.h:1196
+#: globals.h:1205
 msgid "E588: :endwhile without :while"
 msgstr "E588: Êîìàíäà :endwhile áåç ïàðíîé êîìàíäû :while"
 
-#: globals.h:1198
+#: globals.h:1207
 msgid "E13: File exists (add ! to override)"
 msgstr "E13: Ôàéë ñóùåñòâóåò (äëÿ ïåðåçàïèñè äîáàâüòå !)"
 
-#: globals.h:1199
+#: globals.h:1208
 msgid "E472: Command failed"
 msgstr "E472: Íå óäàëîñü âûïîëíèòü êîìàíäó"
 
-#: globals.h:1201
+#: globals.h:1210
 #, c-format
 msgid "E234: Unknown fontset: %s"
 msgstr "E234: Íåèçâåñòíûé øðèôòîâîé íàáîð: %s"
 
-#: globals.h:1205
+#: globals.h:1214
 #, c-format
 msgid "E235: Unknown font: %s"
 msgstr "E235: Íåèçâåñòíûé øðèôò: %s"
 
-#: globals.h:1208
+#: globals.h:1217
 #, c-format
 msgid "E236: Font \"%s\" is not fixed-width"
 msgstr "E236: Øðèôò \"%s\" íå ÿâëÿåòñÿ ìîíîøèðèííûì øðèôòîì"
 
-#: globals.h:1210
+#: globals.h:1219
 msgid "E473: Internal error"
 msgstr "E473: Âíóòðåííÿÿ îøèáêà"
 
-#: globals.h:1211
+#: globals.h:1220
 msgid "Interrupted"
 msgstr "Ïðåðâàíî"
 
-#: globals.h:1212
+#: globals.h:1221
 msgid "E14: Invalid address"
 msgstr "E14: Íåäîïóñòèìûé àäðåñ"
 
-#: globals.h:1213
+#: globals.h:1222
 msgid "E474: Invalid argument"
 msgstr "E474: Íåäîïóñòèìûé àðãóìåíò"
 
-#: globals.h:1214
+#: globals.h:1223
 #, c-format
 msgid "E475: Invalid argument: %s"
 msgstr "E475: Íåäîïóñòèìûé àðãóìåíò: %s"
 
-#: globals.h:1216
+#: globals.h:1225
 #, c-format
 msgid "E15: Invalid expression: %s"
 msgstr "E15: Íåäîïóñòèìîå âûðàæåíèå: %s"
 
-#: globals.h:1218
+#: globals.h:1227
 msgid "E16: Invalid range"
 msgstr "E16: Íåäîïóñòèìûé äèàïàçîí"
 
-#: globals.h:1219
+#: globals.h:1228
 msgid "E476: Invalid command"
 msgstr "E476: Íåäîïóñòèìàÿ êîìàíäà"
 
-#: globals.h:1221
+#: globals.h:1230
 #, c-format
 msgid "E17: \"%s\" is a directory"
 msgstr "E17: \"%s\" ÿâëÿåòñÿ êàòàëîãîì"
 
-#: globals.h:1224
+#: globals.h:1233
 msgid "E18: Unexpected characters before '='"
 msgstr "E18: Ïåðåä '=' îáíàðóæåíû íåîæèäàííûå ñèìâîëû"
 
-#: globals.h:1227
+#: globals.h:1236
 #, c-format
 msgid "E364: Library call failed for \"%s()\""
 msgstr "E364: Íåóäà÷íûé âûçîâ ôóíêöèè \"%s()\" èç áèáëèîòåêè"
 
-#: globals.h:1233
+#: globals.h:1242
 #, c-format
 msgid "E448: Could not load library function %s"
 msgstr "E448: Íå óäàëîñü çàãðóçèòü ôóíêöèþ %s èç áèáëèîòåêè"
 
-#: globals.h:1235
+#: globals.h:1244
 msgid "E19: Mark has invalid line number"
 msgstr "E19: Îòìåòêà óêàçûâàåò íà íåïðàâèëüíûé íîìåð ñòðîêè"
 
-#: globals.h:1236
+#: globals.h:1245
 msgid "E20: Mark not set"
 msgstr "Îòìåòêà íå îïðåäåëåíà"
 
-#: globals.h:1237
+#: globals.h:1246
 msgid "E21: Cannot make changes, 'modifiable' is off"
 msgstr "E21: Èçìåíåíèÿ íåâîçìîæíû, òàê êàê îòêëþ÷åíà îïöèÿ 'modifiable'"
 
-#: globals.h:1238
+#: globals.h:1247
 msgid "E22: Scripts nested too deep"
 msgstr "E22: Ñëèøêîì ãëóáîêî âëîæåííûå ñöåíàðèè"
 
-#: globals.h:1239
+#: globals.h:1248
 msgid "E23: No alternate file"
 msgstr "E23: Ñîñåäíèé ôàéë íå ñóùåñòâóåò"
 
-#: globals.h:1240
+#: globals.h:1249
 msgid "E24: No such abbreviation"
 msgstr "E24: Íåò òàêîãî ñîêðàùåíèÿ"
 
-#: globals.h:1241
+#: globals.h:1250
 msgid "E477: No ! allowed"
 msgstr "E477: ! íå äîïóñêàåòñÿ"
 
-#: globals.h:1243
+#: globals.h:1252
 msgid "E25: GUI cannot be used: Not enabled at compile time"
 msgstr ""
 "E25: Âîçìîæíîñòü èñïîëüçîâàíèÿ ãðàôè÷åñêîãî èíòåðôåéñà âûêëþ÷åíà ïðè "
 "êîìïèëÿöèè"
 
-#: globals.h:1246
+#: globals.h:1255
 msgid "E26: Hebrew cannot be used: Not enabled at compile time\n"
 msgstr "E26: Èâðèò âûêëþ÷åí ïðè êîìïèëÿöèè\n"
 
-#: globals.h:1249
+#: globals.h:1258
 msgid "E27: Farsi cannot be used: Not enabled at compile time\n"
 msgstr "E27: Ôàðñè âûêëþ÷åíî ïðè êîìïèëÿöèè\n"
 
-#: globals.h:1252
+#: globals.h:1261
 msgid "E800: Arabic cannot be used: Not enabled at compile time\n"
 msgstr "E800: Àðàáñêèé âûêëþ÷åí ïðè êîìïèëÿöèè\n"
 
-#: globals.h:1255
+#: globals.h:1264
 #, c-format
 msgid "E28: No such highlight group name: %s"
 msgstr "E28: Ãðóïïà ïîäñâåòêè ñèíòàêñèñà %s íå ñóùåñòâóåò"
 
-#: globals.h:1257
+#: globals.h:1266
 msgid "E29: No inserted text yet"
 msgstr "E29: Ïîêà íåò âñòàâëåííîãî òåêñòà"
 
-#: globals.h:1258
+#: globals.h:1267
 msgid "E30: No previous command line"
 msgstr "E30: Ïðåäûäóùåé êîìàíäíîé ñòðîêè íåò"
 
-#: globals.h:1259
+#: globals.h:1268
 msgid "E31: No such mapping"
 msgstr "E31: Òàêîé ïðèâÿçêè íå ñóùåñòâóåò"
 
-#: globals.h:1260
+#: globals.h:1269
 msgid "E479: No match"
 msgstr "E479: Íåò ñîîòâåòñòâèÿ"
 
-#: globals.h:1261
+#: globals.h:1270
 #, c-format
 msgid "E480: No match: %s"
 msgstr "E480: Íåò ñîîòâåòñòâèÿ: %s"
 
-#: globals.h:1262
+#: globals.h:1271
 msgid "E32: No file name"
 msgstr "E32: Íåò èìåíè ôàéëà"
 
-#: globals.h:1263
+#: globals.h:1272
 msgid "E33: No previous substitute regular expression"
 msgstr "E33: Íåò ïðåäûäóùåãî ðåãóëÿðíîãî âûðàæåíèÿ äëÿ çàìåíû"
 
-#: globals.h:1264
+#: globals.h:1273
 msgid "E34: No previous command"
 msgstr "E34: Íåò ïðåäûäóùåé êîìàíäû"
 
-#: globals.h:1265
+#: globals.h:1274
 msgid "E35: No previous regular expression"
 msgstr "E35: Íåò ïðåäûäóùåãî ðåãóëÿðíîãî âûðàæåíèÿ"
 
-#: globals.h:1266
+#: globals.h:1275
 msgid "E481: No range allowed"
 msgstr "E481: Èñïîëüçîâàíèå äèàïàçîíà íå äîïóñêàåòñÿ"
 
-#: globals.h:1268
+#: globals.h:1277
 msgid "E36: Not enough room"
 msgstr "E36: Íåäîñòàòî÷íî ìåñòà"
 
-#: globals.h:1271
+#: globals.h:1280
 #, c-format
 msgid "E247: no registered server named \"%s\""
 msgstr "E247: ñåðâåð \"%s\" íå çàðåãèñòðèðîâàí"
 
-#: globals.h:1273
+#: globals.h:1282
 #, c-format
 msgid "E482: Can't create file %s"
 msgstr "E482: Íåâîçìîæíî ñîçäàòü ôàéë %s"
 
-#: globals.h:1274
+#: globals.h:1283
 msgid "E483: Can't get temp file name"
 msgstr "E483: Íåâîçìîæíî ïîëó÷èòü èìÿ âðåìåííîãî ôàéëà"
 
-#: globals.h:1275
+#: globals.h:1284
 #, c-format
 msgid "E484: Can't open file %s"
 msgstr "E484: Íåâîçìîæíî îòêðûòü ôàéë %s"
 
-#: globals.h:1276
+#: globals.h:1285
 #, c-format
 msgid "E485: Can't read file %s"
 msgstr "E485: Íåâîçìîæíî ïðî÷èòàòü ôàéë %s"
 
-#: globals.h:1277
+#: globals.h:1286
 msgid "E37: No write since last change (add ! to override)"
 msgstr "E37: Èçìåíåíèÿ íå ñîõðàíåíû (äîáàâüòå !, ÷òîáû îáîéòè ïðîâåðêó)"
 
-#: globals.h:1278
+#: globals.h:1287
 msgid "E38: Null argument"
 msgstr "E38: Íóëåâîé àðãóìåíò"
 
-#: globals.h:1280
+#: globals.h:1289
 msgid "E39: Number expected"
 msgstr "E39: Òðåáóåòñÿ ÷èñëî"
 
-#: globals.h:1283
+#: globals.h:1292
 #, c-format
 msgid "E40: Can't open errorfile %s"
 msgstr "E40: Íå óäàëîñü îòêðûòü ôàéë îøèáîê %s"
 
-#: globals.h:1286
+#: globals.h:1295
 msgid "E233: cannot open display"
 msgstr "E233: íåâîçìîæíî îòêðûòü äèñïëåé"
 
-#: globals.h:1288
+#: globals.h:1297
 msgid "E41: Out of memory!"
 msgstr "E41: Íå õâàòàåò ïàìÿòè!"
 
-#: globals.h:1290
+#: globals.h:1299
 msgid "Pattern not found"
 msgstr "Øàáëîí íå íàéäåí"
 
-#: globals.h:1292
+#: globals.h:1301
 #, c-format
 msgid "E486: Pattern not found: %s"
 msgstr "E486: Øàáëîí íå íàéäåí: %s"
 
-#: globals.h:1293
+#: globals.h:1302
 msgid "E487: Argument must be positive"
 msgstr "E487: Ïàðàìåòð äîëæåí áûòü ïîëîæèòåëüíûì ÷èñëîì"
 
-#: globals.h:1295
+#: globals.h:1304
 msgid "E459: Cannot go back to previous directory"
 msgstr "E459: Âîçâðàò â ïðåäûäóùèé êàòàëîã íåâîçìîæåí"
 
-#: globals.h:1299
+#: globals.h:1308
 msgid "E42: No Errors"
 msgstr "E42: Îøèáîê íåò"
 
-#: globals.h:1301
+#: globals.h:1310
 msgid "E43: Damaged match string"
 msgstr "E43: Ïîâðåæäåíà ñòðîêà ñîîòâåòñòâèÿ"
 
-#: globals.h:1302
+#: globals.h:1311
 msgid "E44: Corrupted regexp program"
 msgstr "E44: Ïðîãðàììà îáðàáîòêè ðåãóëÿðíûõ âûðàæåíèé ïîâðåæäåíà"
 
-#: globals.h:1303
+#: globals.h:1312
 msgid "E45: 'readonly' option is set (add ! to override)"
 msgstr ""
 "E45: Âêëþ÷åíà îïöèÿ 'readonly' (äîáàâüòå !, ÷òîáû íå îáðàùàòü âíèìàíèÿ)"
 
-#: globals.h:1305
+#: globals.h:1314
 #, c-format
 msgid "E46: Cannot set read-only variable \"%s\""
 msgstr "E46: Íåâîçìîæíî èçìåíèòü äîñòóïíóþ òîëüêî äëÿ ÷òåíèÿ ïåðåìåííóþ \"%s\""
 
-#: globals.h:1308
+#: globals.h:1317
 msgid "E47: Error while reading errorfile"
 msgstr "E47: Îøèáêà ïðè ÷òåíèè ôàéëà îøèáîê"
 
-#: globals.h:1311
+#: globals.h:1320
 msgid "E48: Not allowed in sandbox"
 msgstr "E48: Íå äîïóñêàåòñÿ â ïåñî÷íèöå"
 
-#: globals.h:1313
+#: globals.h:1322
 msgid "E523: Not allowed here"
 msgstr "E523: Çäåñü íå ðàçðåøåíî"
 
-#: globals.h:1316
+#: globals.h:1325
 msgid "E359: Screen mode setting not supported"
 msgstr "E359: Äàííûé ðåæèì ýêðàíà íå ïîääåðæèâàåòñÿ"
 
-#: globals.h:1318
+#: globals.h:1327
 msgid "E49: Invalid scroll size"
 msgstr "E49: Íåäîïóñòèìûé ðàçìåð ïðîêðóòêè"
 
-#: globals.h:1319
+#: globals.h:1328
 msgid "E91: 'shell' option is empty"
 msgstr "E91: Çíà÷åíèåì îïöèè 'shell' ÿâëÿåòñÿ ïóñòàÿ ñòðîêà"
 
-#: globals.h:1321
+#: globals.h:1330
 msgid "E255: Couldn't read in sign data!"
 msgstr "E255: Íåâîçìîæíî ïðî÷èòàòü äàííûå î çíà÷êàõ!"
 
-#: globals.h:1323
+#: globals.h:1332
 msgid "E72: Close error on swap file"
 msgstr "E72: Îøèáêà çàêðûòèÿ ñâîï-ôàéëà"
 
-#: globals.h:1324
+#: globals.h:1333
 msgid "E73: tag stack empty"
 msgstr "E73: Ñòåê ìåòîê ïóñòîé"
 
-#: globals.h:1325
+#: globals.h:1334
 msgid "E74: Command too complex"
 msgstr "E74: Ñëèøêîì ñëîæíàÿ êîìàíäà"
 
-#: globals.h:1326
+#: globals.h:1335
 msgid "E75: Name too long"
 msgstr "E75: Ñëèøêîì äëèííîå èìÿ"
 
-#: globals.h:1327
+#: globals.h:1336
 msgid "E76: Too many ["
 msgstr "E76: Ñëèøêîì ìíîãî ñèìâîëîâ ["
 
-#: globals.h:1328
+#: globals.h:1337
 msgid "E77: Too many file names"
 msgstr "E77: Ñëèøêîì ìíîãî èì¸í ôàéëîâ"
 
-#: globals.h:1329
+#: globals.h:1338
 msgid "E488: Trailing characters"
 msgstr "E488: Ëèøíèå ñèìâîëû íà õâîñòå"
 
-#: globals.h:1330
+#: globals.h:1339
 msgid "E78: Unknown mark"
 msgstr "E78: Íåèçâåñòíàÿ îòìåòêà"
 
-#: globals.h:1331
+#: globals.h:1340
 msgid "E79: Cannot expand wildcards"
 msgstr "E79: Íåâîçìîæíî âûïîëíèòü ïîäñòàíîâêó ïî ìàñêå"
 
-#: globals.h:1333
+#: globals.h:1342
 msgid "E591: 'winheight' cannot be smaller than 'winminheight'"
 msgstr ""
 "E591: Çíà÷åíèå îïöèè 'winheight' íå ìîæåò áûòü ìåíüøå çíà÷åíèÿ 'winminheight'"
 
-#: globals.h:1335
+#: globals.h:1344
 msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'"
 msgstr ""
 "E592: Çíà÷åíèå îïöèè 'winwidth' íå ìîæåò áûòü ìåíüøå çíà÷åíèÿ 'winminwidth'"
 
-#: globals.h:1338
+#: globals.h:1347
 msgid "E80: Error while writing"
 msgstr "E80: Îøèáêà ïðè çàïèñè"
 
-#: globals.h:1339
+#: globals.h:1348
 msgid "Zero count"
 msgstr "Íóëåâîå çíà÷åíèå ñ÷¸ò÷èêà"
 
-#: globals.h:1341
+#: globals.h:1350
 msgid "E81: Using <SID> not in a script context"
 msgstr "E81: Èñïîëüçîâàíèå <SID> âíå êîíòåêñòà ñöåíàðèÿ"
 
-#: globals.h:1344
+#: globals.h:1353
 msgid "E449: Invalid expression received"
 msgstr "E449: Ïîëó÷åíî íåäîïóñòèìîå âûðàæåíèå"
 
-#: globals.h:1347
+#: globals.h:1356
 msgid "E463: Region is guarded, cannot modify"
 msgstr "E463: Íåâîçìîæíî èçìåíèòü îõðàíÿåìóþ îáëàñòü"
 
-#~ msgid "\"\n"
-#~ msgstr "\"\n"
diff --git a/src/proto/eval.pro b/src/proto/eval.pro
index c1dfbb8..83e10ab 100644
--- a/src/proto/eval.pro
+++ b/src/proto/eval.pro
@@ -11,6 +11,7 @@
 void eval_patch __ARGS((char_u *origfile, char_u *difffile, char_u *outfile));
 int eval_to_bool __ARGS((char_u *arg, int *error, char_u **nextcmd, int skip));
 char_u *eval_to_string_skip __ARGS((char_u *arg, char_u **nextcmd, int skip));
+int skip_expr __ARGS((char_u **pp));
 char_u *eval_to_string __ARGS((char_u *arg, char_u **nextcmd));
 char_u *eval_to_string_safe __ARGS((char_u *arg, char_u **nextcmd));
 int eval_to_number __ARGS((char_u *expr));
diff --git a/src/proto/ex_cmds.pro b/src/proto/ex_cmds.pro
index 33f105a..f63fcda 100644
--- a/src/proto/ex_cmds.pro
+++ b/src/proto/ex_cmds.pro
@@ -38,6 +38,7 @@
 void write_viminfo_sub_string __ARGS((FILE *fp));
 void prepare_tagpreview __ARGS((void));
 void ex_help __ARGS((exarg_T *eap));
+char_u *check_help_lang __ARGS((char_u *arg));
 int help_heuristic __ARGS((char_u *matched_string, int offset, int wrong_case));
 int find_help_tags __ARGS((char_u *arg, int *num_matches, char_u ***matches, int keep_lang));
 void fix_help_buffer __ARGS((void));
diff --git a/src/quickfix.c b/src/quickfix.c
index 5dbbc1b..c25a0be 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -1006,6 +1006,7 @@
 #ifdef FEAT_FOLDING
     int			old_KeyTyped = KeyTyped; /* getting file may reset it */
 #endif
+    int			ok = OK;
 
     if (qf_curlist >= qf_listcount || qf_lists[qf_curlist].qf_count == 0)
     {
@@ -1097,6 +1098,42 @@
 	print_message = FALSE;
 
     /*
+     * For ":helpgrep" find a help window or open one.
+     */
+    if (qf_ptr->qf_type == 1 && !curwin->w_buffer->b_help)
+    {
+	win_T	*wp;
+	int	n;
+
+	for (wp = firstwin; wp != NULL; wp = wp->w_next)
+	    if (wp->w_buffer != NULL && wp->w_buffer->b_help)
+		break;
+	if (wp != NULL && wp->w_buffer->b_nwindows > 0)
+	    win_enter(wp, TRUE);
+	else
+	{
+	    /*
+	     * Split off help window; put it at far top if no position
+	     * specified, the current window is vertically split and narrow.
+	     */
+	    n = WSP_HELP;
+# ifdef FEAT_VERTSPLIT
+	    if (cmdmod.split == 0 && curwin->w_width != Columns
+						      && curwin->w_width < 80)
+		n |= WSP_TOP;
+# endif
+	    if (win_split(0, n) == FAIL)
+		goto theend;
+
+	    if (curwin->w_height < p_hh)
+		win_setheight((int)p_hh);
+	}
+
+	if (!p_im)
+	    restart_edit = 0;	    /* don't want insert mode in help file */
+    }
+
+    /*
      * If currently in the quickfix window, find another window to show the
      * file in.
      */
@@ -1170,8 +1207,28 @@
      */
     old_curbuf = curbuf;
     old_lnum = curwin->w_cursor.lnum;
-    if (qf_ptr->qf_fnum == 0 || buflist_getfile(qf_ptr->qf_fnum,
-		    (linenr_T)1, GETF_SETMARK | GETF_SWITCH, forceit) == OK)
+
+    if (qf_ptr->qf_fnum != 0)
+    {
+	if (qf_ptr->qf_type == 1)
+	{
+	    /* Open help file (do_ecmd() will set b_help flag, readfile() will
+	     * set b_p_ro flag). */
+	    if (!can_abandon(curbuf, forceit))
+	    {
+		EMSG(_(e_nowrtmsg));
+		ok = FALSE;
+	    }
+	    else
+		ok = do_ecmd(qf_ptr->qf_fnum, NULL, NULL, NULL, (linenr_T)1,
+						   ECMD_HIDE + ECMD_SET_HELP);
+	}
+	else
+	    ok = buflist_getfile(qf_ptr->qf_fnum,
+			    (linenr_T)1, GETF_SETMARK | GETF_SWITCH, forceit);
+    }
+
+    if (ok == OK)
     {
 	/* When not switched to another buffer, still need to set pc mark */
 	if (curbuf == old_curbuf)
@@ -2145,11 +2202,19 @@
     int		fi;
     struct qf_line *prevp = NULL;
     long	lnum;
+#ifdef FEAT_MULTI_LANG
+    char_u	*lang;
+#endif
 
     /* Make 'cpoptions' empty, the 'l' flag should not be used here. */
     save_cpo = p_cpo;
     p_cpo = (char_u *)"";
 
+#ifdef FEAT_MULTI_LANG
+    /* Check for a specified language */
+    lang = check_help_lang(eap->arg);
+#endif
+
     regmatch.regprog = vim_regcomp(eap->arg, RE_MAGIC + RE_STRING);
     regmatch.rm_ic = FALSE;
     if (regmatch.regprog != NULL)
@@ -2172,6 +2237,16 @@
 	    {
 		for (fi = 0; fi < fcount && !got_int; ++fi)
 		{
+#ifdef FEAT_MULTI_LANG
+		    /* Skip files for a different language. */
+		    if (lang != NULL
+			    && STRNICMP(lang, fnames[fi]
+					    + STRLEN(fnames[fi]) - 3, 2) != 0
+			    && !(STRNICMP(lang, "en", 2) == 0
+				&& STRNICMP("txt", fnames[fi]
+					   + STRLEN(fnames[fi]) - 3, 3) == 0))
+			    continue;
+#endif
 		    fd = fopen((char *)fnames[fi], "r");
 		    if (fd != NULL)
 		    {
@@ -2227,6 +2302,8 @@
     /* Jump to first match. */
     if (qf_lists[qf_curlist].qf_count > 0)
 	qf_jump(0, 0, FALSE);
+    else
+	EMSG2(_(e_nomatch2), eap->arg);
 }
 
 #endif /* FEAT_QUICKFIX */
diff --git a/src/search.c b/src/search.c
index 9c6cc6d..ace8fa8 100644
--- a/src/search.c
+++ b/src/search.c
@@ -3052,13 +3052,16 @@
 	--count;
     }
 
-    if (include_white && cls() != 0)
+    if (include_white && (cls() != 0
+		 || (curwin->w_cursor.col == 0 && !inclusive)))
     {
 	/*
 	 * If we don't include white space at the end, move the start
 	 * to include some white space there. This makes "daw" work
 	 * better on the last word in a sentence (and "2daw" on last-but-one
-	 * word).  But don't delete white space at start of line (indent).
+	 * word).  Also when "2daw" deletes "word." at the end of the line
+	 * (cursor is at start of next line).
+	 * But don't delete white space at start of line (indent).
 	 */
 	pos = curwin->w_cursor;	/* save cursor position */
 	curwin->w_cursor = start_pos;