updated for version 7.0c10
diff --git a/src/Make_bc5.mak b/src/Make_bc5.mak
index b063ce0..e50a435 100644
--- a/src/Make_bc5.mak
+++ b/src/Make_bc5.mak
@@ -51,6 +51,7 @@
 #		NOTE: compilation on WinNT/2K/XP requires
 #		at least version 1.6.5 of Ruby.  Earlier versions
 #		of Ruby will cause a compile error on these systems.
+#   RUBY_VER_LONG  same, but in format with dot. (1.6)
 #   DYNAMIC_RUBY no or yes: use yes to load the Ruby DLL dynamically (no)
 # MBYTE		no or yes: set to yes for multi-byte support (yes)
 #               NOTE: multi-byte support is broken in the Borland libraries,
diff --git a/src/Make_vms.mms b/src/Make_vms.mms
index 89b56af..557cb6d 100644
--- a/src/Make_vms.mms
+++ b/src/Make_vms.mms
@@ -2,7 +2,7 @@
 # Makefile for Vim on OpenVMS
 #
 # Maintainer:   Zoltan Arpadffy <arpadffy@polarhome.com>
-# Last change:  2006 Mar 24
+# Last change:  2006 Mar 31
 #
 # This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64
 # with MMS and MMK
@@ -98,7 +98,8 @@
 
 .IFDEF VAX
 .IFDEF DECC	     # VAX with DECC
-CC_DEF  = cc/decc
+CC_DEF  = cc # /decc # some system requires this switch
+                     # but when it is not required /ver might fail
 PREFIX  = /prefix=all
 .ELSE		     # VAX with VAXC
 CC_DEF	= cc
@@ -148,10 +149,11 @@
 # X/Motif/GTK executable  (also works in terminal mode )
 
 .IFDEF GTK
-# define GTK root directory
+# NOTE: you need to set up your GTK_DIR (GTK root directory), because it is
+# unique on every system - logicals are not accepted
 # please note: directory should end with . in order to /trans=conc work
-# example: GTK_DIR  = $1$DGA104:[USERS.ZAY.WORK.GTK1210.]
-GTK_DIR  = ALPHA$DKA0:[GTK128.]
+# Example: GTK_DIR  = $1$DGA104:[USERS.ZAY.WORK.GTK1210.]
+GTK_DIR  = DKA0:[GTK1210.]
 DEFS     = "HAVE_CONFIG_H","FEAT_GUI_GTK"
 LIBS     = ,OS_VMS_GTK.OPT/OPT
 GUI_FLAG = /name=(as_is,short)/float=ieee/ieee=denorm
diff --git a/src/Makefile b/src/Makefile
index ea1462a..c79f96d 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1322,7 +1322,8 @@
 DEST_MAN_IT = $(DEST_MAN_TOP)/it$(MAN1DIR)
 DEST_MAN_IT_I = $(DEST_MAN_TOP)/it.ISO8859-1$(MAN1DIR)
 DEST_MAN_IT_U = $(DEST_MAN_TOP)/it.UTF-8$(MAN1DIR)
-DEST_MAN_PL = $(DEST_MAN_TOP)/pl.ISO8859-2$(MAN1DIR)
+DEST_MAN_PL = $(DEST_MAN_TOP)/pl$(MAN1DIR)
+DEST_MAN_PL_I = $(DEST_MAN_TOP)/pl.ISO8859-2$(MAN1DIR)
 DEST_MAN_PL_U = $(DEST_MAN_TOP)/pl.UTF-8$(MAN1DIR)
 DEST_MAN_RU = $(DEST_MAN_TOP)/ru.KOI8-R$(MAN1DIR)
 DEST_MAN_RU_U = $(DEST_MAN_TOP)/ru.UTF-8$(MAN1DIR)
@@ -1523,8 +1524,8 @@
 	$(ALL_GUI_PRO) \
 	$(TCL_PRO)
 
-ICON_APP = gui_mac.icns
-ICON_DOCTXT = doc-txt.icns
+# Resources used for the Mac are in one directory.
+RSRC_DIR = os_mac_rsrc
 
 PRO_MANUAL = os_amiga.pro os_msdos.pro os_win16.pro os_win32.pro \
 	os_mswin.pro os_beos.pro os_vms.pro os_riscos.pro $(PERL_PRO)
@@ -1905,6 +1906,7 @@
 	-$(SHELL) ./installman.sh xxd $(DEST_MAN_IT_I) "-it" $(INSTALLMANARGS)
 	-$(SHELL) ./installman.sh xxd $(DEST_MAN_IT_U) "-it.UTF-8" $(INSTALLMANARGS)
 	-$(SHELL) ./installman.sh xxd $(DEST_MAN_PL) "-pl" $(INSTALLMANARGS)
+	-$(SHELL) ./installman.sh xxd $(DEST_MAN_PL_I) "-pl" $(INSTALLMANARGS)
 	-$(SHELL) ./installman.sh xxd $(DEST_MAN_PL_U) "-pl.UTF-8" $(INSTALLMANARGS)
 	-$(SHELL) ./installman.sh xxd $(DEST_MAN_RU) "-ru" $(INSTALLMANARGS)
 	-$(SHELL) ./installman.sh xxd $(DEST_MAN_RU_U) "-ru.UTF-8" $(INSTALLMANARGS)
@@ -1918,6 +1920,7 @@
 	-$(SHELL) ./installman.sh install $(DEST_MAN_IT_I) "-it" $(INSTALLMANARGS)
 	-$(SHELL) ./installman.sh install $(DEST_MAN_IT_U) "-it.UTF-8" $(INSTALLMANARGS)
 	-$(SHELL) ./installman.sh install $(DEST_MAN_PL) "-pl" $(INSTALLMANARGS)
+	-$(SHELL) ./installman.sh install $(DEST_MAN_PL_I) "-pl" $(INSTALLMANARGS)
 	-$(SHELL) ./installman.sh install $(DEST_MAN_PL_U) "-pl.UTF-8" $(INSTALLMANARGS)
 	-$(SHELL) ./installman.sh install $(DEST_MAN_RU) "-ru" $(INSTALLMANARGS)
 	-$(SHELL) ./installman.sh install $(DEST_MAN_RU_U) "-ru.UTF-8" $(INSTALLMANARGS)
@@ -1936,6 +1939,8 @@
 	-$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
 		$(DEST_MAN_PL) $(INSTALLMLARGS)
 	-$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
+		$(DEST_MAN_PL_I) $(INSTALLMLARGS)
+	-$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
 		$(DEST_MAN_PL_U) $(INSTALLMLARGS)
 	-$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
 		$(DEST_MAN_RU) $(INSTALLMLARGS)
@@ -2077,6 +2082,7 @@
 	-$(SHELL) ./installman.sh uninstall $(DEST_MAN_IT_I) "" $(INSTALLMANARGS)
 	-$(SHELL) ./installman.sh uninstall $(DEST_MAN_IT_U) "" $(INSTALLMANARGS)
 	-$(SHELL) ./installman.sh uninstall $(DEST_MAN_PL) "" $(INSTALLMANARGS)
+	-$(SHELL) ./installman.sh uninstall $(DEST_MAN_PL_I) "" $(INSTALLMANARGS)
 	-$(SHELL) ./installman.sh uninstall $(DEST_MAN_PL_U) "" $(INSTALLMANARGS)
 	-$(SHELL) ./installman.sh uninstall $(DEST_MAN_RU) "" $(INSTALLMANARGS)
 	-$(SHELL) ./installman.sh uninstall $(DEST_MAN_RU_U) "" $(INSTALLMANARGS)
@@ -2097,6 +2103,8 @@
 	-$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
 		$(DEST_MAN_PL) $(INSTALLMLARGS)
 	-$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
+		$(DEST_MAN_PL_I) $(INSTALLMLARGS)
+	-$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
 		$(DEST_MAN_PL_U) $(INSTALLMLARGS)
 	-$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
 		$(DEST_MAN_RU) $(INSTALLMLARGS)
@@ -2105,7 +2113,7 @@
 	-rm -f $(DEST_MAN)/xxd.1
 	-rm -f $(DEST_MAN_FR)/xxd.1 $(DEST_MAN_FR_I)/xxd.1 $(DEST_MAN_FR_U)/xxd.1
 	-rm -f $(DEST_MAN_IT)/xxd.1 $(DEST_MAN_IT_I)/xxd.1 $(DEST_MAN_IT_U)/xxd.1
-	-rm -f $(DEST_MAN_PL)/xxd.1 $(DEST_MAN_PL_U)/xxd.1
+	-rm -f $(DEST_MAN_PL)/xxd.1 $(DEST_MAN_PL_I)/xxd.1 $(DEST_MAN_PL_U)/xxd.1
 	-rm -f $(DEST_MAN_RU)/xxd.1 $(DEST_MAN_RU_U)/xxd.1
 	-rm -f $(DEST_HELP)/*.txt $(DEST_HELP)/tags $(DEST_HELP)/*.pl
 	-rm -f $(DEST_HELP)/*.??x $(DEST_HELP)/tags-??
@@ -2162,9 +2170,9 @@
 	cp config.mk.dist $(SHADOWDIR)
 	mkdir $(SHADOWDIR)/xxd
 	cd $(SHADOWDIR)/xxd; ln -s ../../xxd/*.[ch] ../../xxd/Make* .
-	if test -f $(ICON_APP); then \
+	if test -d $(RSRC_DIR); then \
 		cd $(SHADOWDIR); \
-		ln -s ../$(ICON_APP) ../$(ICON_DOCTXT) ../os_mac.rsr.hqx ../dehqx.py .; \
+		ln -s ../$(RSRC_DIR) ../os_mac.rsr.hqx ../dehqx.py .; \
 	fi
 	mkdir $(SHADOWDIR)/testdir
 	cd $(SHADOWDIR)/testdir; ln -s ../../testdir/Makefile \
@@ -2526,17 +2534,7 @@
 
 ### Common flags
 M4FLAGSX = $(M4FLAGS) -DAPP_EXE=$(VIMNAME) -DAPP_NAME=$(VIMNAME) \
-		-DAPP_VER=$(VERSION) -DICON_APP=$(ICON_APP)
-
-### Icons
-ICONS = $(RESDIR)/$(ICON_APP) $(RESDIR)/$(ICON_DOCTXT)
-
-# If you uncomment the following lines the *.icns in the src directory will be
-# detected by this Makefile automatically, and used for Vim.
-#ICON_APP = $(shell if [ -e app.icns ] ; then echo app.icns ; else echo gui_mac.icns ; fi)
-#ICON_DOC = $(shell if [ -e doc.icns ] ; then echo doc.icns ; else echo ; fi)
-#ICON_DOCTXT = $(shell if [ -e doc-txt.icns ] ; then echo doc-txt.icns ; else echo ; fi)
-#ICONS = $(addprefix $(RESDIR)/, $(ICON_APP) $(ICON_DOC) $(ICON_DOCTXT))
+		-DAPP_VER=$(VERSION)
 
 install_macosx: gui_bundle
 # Remove the link to the runtime dir, don't want to copy all of that.
@@ -2577,9 +2575,8 @@
 	@echo "Creating Info.plist"
 	m4 $(M4FLAGSX) infplist.xml > $(APPDIR)/Contents/Info.plist
 
-bundle-resource: bundle-dir bundle-icons bundle-rsrc
-
-bundle-icons: $(ICONS)
+bundle-resource: bundle-dir bundle-rsrc
+	cp -f $(RSRC_DIR)/*.icns $(RESDIR)
 
 ### Classic resources
 # Resource fork (in the form of a .rsrc file) for Classic Vim (Mac OS 9)
@@ -2603,9 +2600,6 @@
 	-$(SHELL) ./mkinstalldirs $(APPDIR)/Contents/MacOS
 	-$(SHELL) ./mkinstalldirs $(RESDIR)/English.lproj
 
-$(RESDIR)/%.icns: %.icns
-	cp $< $@
-
 
 ###############################################################################
 ### (automatically generated by 'make depend')
diff --git a/src/auto/configure b/src/auto/configure
index e8b9a5d..644d4ef 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -2781,7 +2781,10 @@
   test "$GCC" = yes && CFLAGS="-O2 -fno-strength-reduce -Wall"
 fi
 if test "$GCC" = yes; then
-  gccversion=`"$CC" --version | sed -e '2,$d' -e 's/darwin.//' -e 's/^[^0-9]*\([0-9]\.[0-9.]*\).*$/\1/g'`
+    gccversion=`"$CC" -dumpversion`
+  if test "x$gccversion" = "x"; then
+        gccversion=`"$CC" --version | sed -e '2,$d' -e 's/darwin.//' -e 's/^[^0-9]*\([0-9]\.[0-9.]*\).*$/\1/g'`
+  fi
     if test "$gccversion" = "3.0.1" -o "$gccversion" = "3.0.2" -o "$gccversion" = "4.0.1"; then
     echo 'GCC [34].0.[12] has a bug in the optimizer, disabling "-O#"'
     CFLAGS=`echo "$CFLAGS" | sed 's/-O[23456789]/-O/'`
@@ -9133,6 +9136,70 @@
 
 done
 
+
+  if test $ac_cv_header_Xm_XpmP_h = yes; then
+        echo "$as_me:$LINENO: checking for XpmAttributes_21 in Xm/XpmP.h" >&5
+echo $ECHO_N "checking for XpmAttributes_21 in Xm/XpmP.h... $ECHO_C" >&6
+    cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <Xm/XpmP.h>
+int
+main ()
+{
+XpmAttributes_21 attr;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
+#define XPMATTRIBUTES_TYPE XpmAttributes_21
+_ACEOF
+
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; cat >>confdefs.h <<\_ACEOF
+#define XPMATTRIBUTES_TYPE XpmAttributes
+_ACEOF
+
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+  else
+    cat >>confdefs.h <<\_ACEOF
+#define XPMATTRIBUTES_TYPE XpmAttributes_21
+_ACEOF
+
+  fi
   CPPFLAGS=$cppflags_save
 fi
 
diff --git a/src/buffer.c b/src/buffer.c
index a268065..15abab5 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -1814,6 +1814,10 @@
 	text_locked_msg();
 	return FAIL;
     }
+#ifdef FEAT_AUTOCMD
+    if (curbuf_locked())
+	return FAIL;
+#endif
 
     /* altfpos may be changed by getfile(), get it now */
     if (lnum == 0)
@@ -3316,6 +3320,12 @@
 
     if (fillchar == 0)
 	fillchar = ' ';
+#ifdef FEAT_MBYTE
+    /* Can't handle a multi-byte fill character yet. */
+    else if (mb_char2len(fillchar) > 1)
+	fillchar = '-';
+#endif
+
     /*
      * Get line & check if empty (cursorpos will show "0-1").
      * If inversion is possible we use it. Else '=' characters are used.
@@ -4367,6 +4377,14 @@
     ++autocmd_no_leave;
 #endif
     win_enter(lastwin, FALSE);
+#ifdef FEAT_WINDOWS
+    /* ":drop all" should re-use an empty window to avoid "--remote-tab"
+     * leaving an empty tab page when executed locally. */
+    if (keep_tabs && bufempty() && curbuf->b_nwindows == 1
+			    && curbuf->b_ffname == NULL && !curbuf->b_changed)
+	use_firstwin = TRUE;
+#endif
+
     for (i = 0; i < count && i < alist->al_ga.ga_len && !got_int; ++i)
     {
 	if (alist == &global_alist && i == global_alist.al_ga.ga_len - 1)
diff --git a/src/config.h.in b/src/config.h.in
index 5adbcb9..8e0863a 100644
--- a/src/config.h.in
+++ b/src/config.h.in
@@ -243,6 +243,9 @@
 #undef HAVE_X11_XMU_EDITRES_H
 #undef HAVE_X11_SM_SMLIB_H
 
+/* Define to the type of the XpmAttributes type. */
+#undef XPMATTRIBUTES_TYPE
+
 /* Define if you have <sys/wait.h> that is POSIX.1 compatible.  */
 #undef HAVE_SYS_WAIT_H
 
diff --git a/src/configure.in b/src/configure.in
index aedd73a..3b867e5 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -29,7 +29,12 @@
   test "$GCC" = yes && CFLAGS="-O2 -fno-strength-reduce -Wall"
 fi
 if test "$GCC" = yes; then
-  gccversion=`"$CC" --version | sed -e '2,$d' -e 's/darwin.//' -e 's/^[[^0-9]]*\([[0-9]]\.[[0-9.]]*\).*$/\1/g'`
+  dnl method that should work for nearly all versions
+  gccversion=`"$CC" -dumpversion`
+  if test "x$gccversion" = "x"; then
+    dnl old method; fall-back for when -dumpversion doesn't work
+    gccversion=`"$CC" --version | sed -e '2,$d' -e 's/darwin.//' -e 's/^[[^0-9]]*\([[0-9]]\.[[0-9.]]*\).*$/\1/g'`
+  fi
   dnl version 4.0.1 was reported to cause trouble on Macintosh by Marcin Dalecki
   if test "$gccversion" = "3.0.1" -o "$gccversion" = "3.0.2" -o "$gccversion" = "4.0.1"; then
     echo 'GCC [[34]].0.[[12]] has a bug in the optimizer, disabling "-O#"'
@@ -1897,6 +1902,17 @@
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   AC_CHECK_HEADERS(Xm/Xm.h Xm/XpmP.h Xm/JoinSideT.h Xm/TraitP.h Xm/Manager.h \
 		   Xm/UnhighlightT.h)
+
+  if test $ac_cv_header_Xm_XpmP_h = yes; then
+    dnl Solaris uses XpmAttributes_21, very annoying.
+    AC_MSG_CHECKING([for XpmAttributes_21 in Xm/XpmP.h])
+    AC_TRY_COMPILE([#include <Xm/XpmP.h>], [XpmAttributes_21 attr;],
+	AC_MSG_RESULT(yes); AC_DEFINE(XPMATTRIBUTES_TYPE, XpmAttributes_21),
+	AC_MSG_RESULT(no); AC_DEFINE(XPMATTRIBUTES_TYPE, XpmAttributes)
+	)
+  else
+    AC_DEFINE(XPMATTRIBUTES_TYPE, XpmAttributes_21)
+  fi
   CPPFLAGS=$cppflags_save
 fi
 
diff --git a/src/diff.c b/src/diff.c
index 3927338..f02aa5e 100644
--- a/src/diff.c
+++ b/src/diff.c
@@ -1000,7 +1000,8 @@
 
 #ifdef FEAT_AUTOCMD
 		/* Do filetype detection with the new name. */
-		do_cmdline_cmd((char_u *)":doau filetypedetect BufRead");
+		if (au_has_group((char_u *)"filetypedetect"))
+		    do_cmdline_cmd((char_u *)":doau filetypedetect BufRead");
 #endif
 	    }
 	}
@@ -2056,6 +2057,19 @@
 	aucmd_prepbuf(&aco, curtab->tp_diffbuf[idx_other]);
     }
 
+    /* May give the warning for a changed buffer here, which can trigger the
+     * FileChangedRO autocommand, which may do nasty things and mess
+     * everything up. */
+    if (!curbuf->b_changed)
+    {
+	change_warning(0);
+	if (diff_buf_idx(curbuf) != idx_to)
+	{
+	    EMSG(_("E787: Buffer changed unexpectedly"));
+	    return;
+	}
+    }
+
     dprev = NULL;
     for (dp = curtab->tp_first_diff; dp != NULL; )
     {
@@ -2131,7 +2145,8 @@
 		nr = dp->df_lnum[idx_from] + start_skip + i;
 		if (nr > curtab->tp_diffbuf[idx_from]->b_ml.ml_line_count)
 		    break;
-		p = vim_strsave(ml_get_buf(curtab->tp_diffbuf[idx_from], nr, FALSE));
+		p = vim_strsave(ml_get_buf(curtab->tp_diffbuf[idx_from],
+								  nr, FALSE));
 		if (p != NULL)
 		{
 		    ml_append(lnum + i - 1, p, 0, FALSE);
@@ -2154,7 +2169,8 @@
 		/* Check if there are any other buffers and if the diff is
 		 * equal in them. */
 		for (i = 0; i < DB_COUNT; ++i)
-		    if (curtab->tp_diffbuf[i] != NULL && i != idx_from && i != idx_to
+		    if (curtab->tp_diffbuf[i] != NULL && i != idx_from
+								&& i != idx_to
 			    && !diff_equal_entry(dp, idx_from, i))
 			break;
 		if (i == DB_COUNT)
diff --git a/src/doc-txt.icns b/src/doc-txt.icns
deleted file mode 100644
index c66b0ce..0000000
--- a/src/doc-txt.icns
+++ /dev/null
Binary files differ
diff --git a/src/edit.c b/src/edit.c
index da15010..e70a235 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -40,7 +40,7 @@
 static char *ctrl_x_msgs[] =
 {
     N_(" Keyword completion (^N^P)"), /* ctrl_x_mode == 0, ^P/^N compl. */
-    N_(" ^X mode (^]^D^E^F^I^K^L^N^O^P^S^U^V^Y)"),
+    N_(" ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"),
     NULL,
     N_(" Whole line completion (^L^N^P)"),
     N_(" File name completion (^F^N^P)"),
@@ -53,7 +53,7 @@
     N_(" Command-line completion (^V^N^P)"),
     N_(" User defined completion (^U^N^P)"),
     N_(" Omni completion (^O^N^P)"),
-    N_(" Spelling suggestion (^S^N^P)"),
+    N_(" Spelling suggestion (s^N^P)"),
     N_(" Keyword Local completion (^N^P)"),
 };
 
@@ -3139,7 +3139,9 @@
 	    case Ctrl_S:
 		ctrl_x_mode = CTRL_X_SPELL;
 #ifdef FEAT_SPELL
+		++emsg_off;	/* Avoid getting the E756 error twice. */
 		spell_back_to_badword();
+		--emsg_off;
 #endif
 		break;
 	    case Ctrl_RSB:
@@ -3286,7 +3288,7 @@
 		if (compl_leader != NULL)
 		    ins_bytes(compl_leader + curwin->w_cursor.col - compl_col);
 		else if (compl_first_match != NULL)
-		    ins_bytes(compl_first_match->cp_str
+		    ins_bytes(compl_orig_text
 					  + curwin->w_cursor.col - compl_col);
 		retval = TRUE;
 	    }
diff --git a/src/eval.c b/src/eval.c
index 4697e97..1b75201 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -369,6 +369,9 @@
 static void list_glob_vars __ARGS((void));
 static void list_buf_vars __ARGS((void));
 static void list_win_vars __ARGS((void));
+#ifdef FEAT_WINDOWS
+static void list_tab_vars __ARGS((void));
+#endif
 static void list_vim_vars __ARGS((void));
 static void list_script_vars __ARGS((void));
 static void list_func_vars __ARGS((void));
@@ -567,6 +570,7 @@
 static void f_maparg __ARGS((typval_T *argvars, typval_T *rettv));
 static void f_mapcheck __ARGS((typval_T *argvars, typval_T *rettv));
 static void f_match __ARGS((typval_T *argvars, typval_T *rettv));
+static void f_matcharg __ARGS((typval_T *argvars, typval_T *rettv));
 static void f_matchend __ARGS((typval_T *argvars, typval_T *rettv));
 static void f_matchlist __ARGS((typval_T *argvars, typval_T *rettv));
 static void f_matchstr __ARGS((typval_T *argvars, typval_T *rettv));
@@ -578,6 +582,7 @@
 static void f_mode __ARGS((typval_T *argvars, typval_T *rettv));
 static void f_nextnonblank __ARGS((typval_T *argvars, typval_T *rettv));
 static void f_nr2char __ARGS((typval_T *argvars, typval_T *rettv));
+static void f_pathshorten __ARGS((typval_T *argvars, typval_T *rettv));
 static void f_prevnonblank __ARGS((typval_T *argvars, typval_T *rettv));
 static void f_printf __ARGS((typval_T *argvars, typval_T *rettv));
 static void f_pumvisible __ARGS((typval_T *argvars, typval_T *rettv));
@@ -1685,6 +1690,9 @@
 	    list_glob_vars();
 	    list_buf_vars();
 	    list_win_vars();
+#ifdef FEAT_WINDOWS
+	    list_tab_vars();
+#endif
 	    list_script_vars();
 	    list_func_vars();
 	    list_vim_vars();
@@ -1947,6 +1955,17 @@
     list_hashtable_vars(&curwin->w_vars.dv_hashtab, (char_u *)"w:", TRUE);
 }
 
+#ifdef FEAT_WINDOWS
+/*
+ * List tab page variables.
+ */
+    static void
+list_tab_vars()
+{
+    list_hashtable_vars(&curtab->tp_vars.dv_hashtab, (char_u *)"t:", TRUE);
+}
+#endif
+
 /*
  * List Vim variables.
  */
@@ -2043,6 +2062,9 @@
 				case 'g': list_glob_vars(); break;
 				case 'b': list_buf_vars(); break;
 				case 'w': list_win_vars(); break;
+#ifdef FEAT_WINDOWS
+				case 't': list_tab_vars(); break;
+#endif
 				case 'v': list_vim_vars(); break;
 				case 's': list_script_vars(); break;
 				case 'l': list_func_vars(); break;
@@ -3577,12 +3599,20 @@
     static long_u	gdone;
     static long_u	bdone;
     static long_u	wdone;
+#ifdef FEAT_WINDOWS
+    static long_u	tdone;
+#endif
     static int		vidx;
     static hashitem_T	*hi;
     hashtab_T		*ht;
 
     if (idx == 0)
+    {
 	gdone = bdone = wdone = vidx = 0;
+#ifdef FEAT_WINDOWS
+	tdone = 0;
+#endif
+    }
 
     /* Global variables */
     if (gdone < globvarht.ht_used)
@@ -3629,6 +3659,21 @@
 	return cat_prefix_varname('w', hi->hi_key);
     }
 
+#ifdef FEAT_WINDOWS
+    /* t: variables */
+    ht = &curtab->tp_vars.dv_hashtab;
+    if (tdone < ht->ht_used)
+    {
+	if (tdone++ == 0)
+	    hi = ht->ht_array;
+	else
+	    ++hi;
+	while (HASHITEM_EMPTY(hi))
+	    ++hi;
+	return cat_prefix_varname('t', hi->hi_key);
+    }
+#endif
+
     /* v: variables */
     if (vidx < VV_LEN)
 	return cat_prefix_varname('v', (char_u *)vimvars[vidx++].vv_name);
@@ -5697,7 +5742,9 @@
     list_append(l, li);
     li->li_tv.v_type = VAR_STRING;
     li->li_tv.v_lock = 0;
-    if ((li->li_tv.vval.v_string = (len >= 0 ? vim_strnsave(str, len)
+    if (str == NULL)
+	li->li_tv.vval.v_string = NULL;
+    else if ((li->li_tv.vval.v_string = (len >= 0 ? vim_strnsave(str, len)
 						 : vim_strsave(str))) == NULL)
 	return FAIL;
     return OK;
@@ -5995,6 +6042,9 @@
     int		i;
     funccall_T	*fc;
     int		did_free = FALSE;
+#ifdef FEAT_WINDOWS
+    tabpage_T	*tp;
+#endif
 
     /*
      * 1. Go through all accessible variables and mark all lists and dicts
@@ -6009,9 +6059,15 @@
 	set_ref_in_ht(&buf->b_vars.dv_hashtab, copyID);
 
     /* window-local variables */
-    FOR_ALL_WINDOWS(wp)
+    FOR_ALL_TAB_WINDOWS(tp, wp)
 	set_ref_in_ht(&wp->w_vars.dv_hashtab, copyID);
 
+#ifdef FEAT_WINDOWS
+    /* tabpage-local variables */
+    for (tp = first_tabpage; tp != NULL; tp = tp->tp_next)
+	set_ref_in_ht(&tp->tp_vars.dv_hashtab, copyID);
+#endif
+
     /* global variables */
     set_ref_in_ht(&globvarht, copyID);
 
@@ -7021,6 +7077,7 @@
     {"maparg",		1, 3, f_maparg},
     {"mapcheck",	1, 3, f_mapcheck},
     {"match",		2, 4, f_match},
+    {"matcharg",	1, 1, f_matcharg},
     {"matchend",	2, 4, f_matchend},
     {"matchlist",	2, 4, f_matchlist},
     {"matchstr",	2, 4, f_matchstr},
@@ -7032,6 +7089,7 @@
     {"mode",		0, 0, f_mode},
     {"nextnonblank",	1, 1, f_nextnonblank},
     {"nr2char",		1, 1, f_nr2char},
+    {"pathshorten",	1, 1, f_pathshorten},
     {"prevnonblank",	1, 1, f_prevnonblank},
     {"printf",		2, 19, f_printf},
     {"pumvisible",	0, 0, f_pumvisible},
@@ -11484,7 +11542,7 @@
 		}
 	    }
 	    else if (lv.ll_range)
-		EMSG(_("E745: Range not allowed"));
+		EMSG(_("E786: Range not allowed"));
 	    else if (lv.ll_newkey != NULL)
 		EMSG2(_(e_dictkey), lv.ll_newkey);
 	    else if (lv.ll_list != NULL)
@@ -12120,6 +12178,30 @@
 }
 
 /*
+ * "matcharg()" function
+ */
+    static void
+f_matcharg(argvars, rettv)
+    typval_T	*argvars;
+    typval_T	*rettv;
+{
+    if (rettv_list_alloc(rettv) == OK)
+    {
+#ifdef FEAT_SEARCH_EXTRA
+	int	mi = get_tv_number(&argvars[0]);
+
+	if (mi >= 1 && mi <= 3)
+	{
+	    list_append_string(rettv->vval.v_list,
+				 syn_id2name(curwin->w_match_id[mi - 1]), -1);
+	    list_append_string(rettv->vval.v_list,
+					     curwin->w_match_pat[mi - 1], -1);
+	}
+#endif
+    }
+}
+
+/*
  * "matchend()" function
  */
     static void
@@ -12392,6 +12474,29 @@
 }
 
 /*
+ * "pathshorten()" function
+ */
+    static void
+f_pathshorten(argvars, rettv)
+    typval_T	*argvars;
+    typval_T	*rettv;
+{
+    char_u	*p;
+
+    rettv->v_type = VAR_STRING;
+    p = get_tv_string_chk(&argvars[0]);
+    if (p == NULL)
+	rettv->vval.v_string = NULL;
+    else
+    {
+	p = vim_strsave(p);
+	rettv->vval.v_string = p;
+	if (p != NULL)
+	    shorten_dir(p);
+    }
+}
+
+/*
  * "prevnonblank()" function
  */
     static void
@@ -16658,6 +16763,10 @@
 	len = 8;
     else
 	len = 0;
+
+    if (eap->read_edit)
+	len += 7;
+
     if (eap->force_ff != 0)
 	len += (unsigned)STRLEN(eap->cmd + eap->force_ff) + 6;
 # ifdef FEAT_MBYTE
@@ -16677,6 +16786,10 @@
 	sprintf((char *)newval, " ++nobin");
     else
 	*newval = NUL;
+
+    if (eap->read_edit)
+	STRCAT(newval, " ++edit");
+
     if (eap->force_ff != 0)
 	sprintf((char *)newval + STRLEN(newval), " ++ff=%s",
 						eap->cmd + eap->force_ff);
@@ -17144,6 +17257,9 @@
 	    case 'v': return &vimvars_var;
 	    case 'b': return &curbuf->b_bufvar;
 	    case 'w': return &curwin->w_winvar;
+#ifdef FEAT_WINDOWS
+	    case 't': return &curtab->tp_winvar;
+#endif
 	    case 'l': return current_funccal == NULL
 					? NULL : &current_funccal->l_vars_var;
 	    case 'a': return current_funccal == NULL
@@ -17207,6 +17323,10 @@
 	return &curbuf->b_vars.dv_hashtab;
     if (*name == 'w')				/* window variable */
 	return &curwin->w_vars.dv_hashtab;
+#ifdef FEAT_WINDOWS
+    if (*name == 't')				/* tab page variable */
+	return &curtab->tp_vars.dv_hashtab;
+#endif
     if (*name == 'v')				/* v: variable */
 	return &vimvarht;
     if (*name == 'a' && current_funccal != NULL) /* function argument */
@@ -18528,6 +18648,9 @@
 	    fudi.fd_di->di_tv.v_lock = 0;
 	    fudi.fd_di->di_tv.vval.v_string = vim_strsave(name);
 	    fp->uf_refcount = 1;
+
+	    /* behave like "dict" was used */
+	    flags |= FC_DICT;
 	}
 
 	/* insert the new function in the function list */
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index 9e89392..4e7c169 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -2601,7 +2601,9 @@
 	    /* If 'filetype' was empty try detecting it now. */
 	    if (*curbuf->b_p_ft == NUL)
 	    {
-		(void)do_doautocmd((char_u *)"filetypedetect BufRead", TRUE);
+		if (au_has_group((char_u *)"filetypedetect"))
+		    (void)do_doautocmd((char_u *)"filetypedetect BufRead",
+									TRUE);
 		do_modelines(0);
 	    }
 #endif
@@ -2610,6 +2612,9 @@
 	retval = buf_write(curbuf, ffname, fname, eap->line1, eap->line2,
 				 eap, eap->append, eap->forceit, TRUE, FALSE);
 
+	/* After ":saveas fname" reset 'readonly'. */
+	if (eap->cmdidx == CMD_saveas && retval == OK)
+	    curbuf->b_p_ro = FALSE;
     }
 
 theend:
@@ -2698,7 +2703,6 @@
 	    }
 	    swapname = makeswapname(fname, ffname, curbuf, dir);
 	    r = vim_fexists(swapname);
-	    vim_free(swapname);
 	    if (r)
 	    {
 #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
@@ -2711,7 +2715,10 @@
 								    swapname);
 		    if (vim_dialog_yesno(VIM_QUESTION, NULL, buff, 2)
 								   != VIM_YES)
+		    {
+			vim_free(swapname);
 			return FAIL;
+		    }
 		    eap->forceit = TRUE;
 		}
 		else
@@ -2719,9 +2726,11 @@
 		{
 		    EMSG2(_("E768: Swap file exists: %s (:silent! overrides)"),
 								    swapname);
+		    vim_free(swapname);
 		    return FAIL;
 		}
 	    }
+	    vim_free(swapname);
 	}
     }
     return OK;
@@ -2885,6 +2894,10 @@
 
     if (text_locked())
 	return 1;
+#ifdef FEAT_AUTOCMD
+    if (curbuf_locked())
+	return 1;
+#endif
 
     if (fnum == 0)
     {
@@ -4609,7 +4622,7 @@
 				    sub, sub_firstline, FALSE, p_magic, TRUE);
 
 		/* When the match included the "$" of the last line it may
-		 * include one line too much. */
+		 * go beyond the last line of the buffer. */
 		if (nmatch > curbuf->b_ml.ml_line_count - sub_firstlnum + 1)
 		{
 		    nmatch = curbuf->b_ml.ml_line_count - sub_firstlnum + 1;
@@ -4701,6 +4714,15 @@
 		/* Remember next character to be copied. */
 		copycol = regmatch.endpos[0].col;
 
+		if (skip_match)
+		{
+		    /* Already hit end of the buffer, sub_firstlnum is one
+		     * less than what it ought to be. */
+		    vim_free(sub_firstline);
+		    sub_firstline = vim_strsave((char_u *)"");
+		    copycol = 0;
+		}
+
 		/*
 		 * Now the trick is to replace CTRL-M chars with a real line
 		 * break.  This would make it impossible to insert a CTRL-M in
@@ -5418,11 +5440,13 @@
     if (tag != NULL)
 	do_tag(tag, DT_HELP, 1, FALSE, TRUE);
 
-    /* Delete the empty buffer if we're not using it. */
+    /* Delete the empty buffer if we're not using it.  Careful: autocommands
+     * may have jumped to another window, check that the buffer is not in a
+     * window. */
     if (empty_fnum != 0 && curbuf->b_fnum != empty_fnum)
     {
 	buf = buflist_findnr(empty_fnum);
-	if (buf != NULL)
+	if (buf != NULL && buf->b_nwindows == 0)
 	    wipe_buffer(buf, TRUE);
     }
 
diff --git a/src/ex_cmds.h b/src/ex_cmds.h
index 93a098c..b6c0e41 100644
--- a/src/ex_cmds.h
+++ b/src/ex_cmds.h
@@ -1142,6 +1142,7 @@
     int		amount;		/* number of '>' or '<' for shift command */
     int		regname;	/* register name (NUL if none) */
     int		force_bin;	/* 0, FORCE_BIN or FORCE_NOBIN */
+    int		read_edit;	/* ++edit argument */
     int		force_ff;	/* ++ff= argument (index in cmd[]) */
 #ifdef FEAT_MBYTE
     int		force_enc;	/* ++enc= argument (index in cmd[]) */
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index cf6d00f..ab616bb 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -2223,7 +2223,7 @@
 #endif
 
 #if defined(FEAT_AUTOCMD) && defined(FEAT_SYN_HL)
-    if (eap->cmdidx != CMD_windo)
+    if (eap->cmdidx != CMD_windo && eap->cmdidx != CMD_tabdo)
 	/* Don't do syntax HL autocommands.  Skipping the syntax file is a
 	 * great speed improvement. */
 	save_ei = au_event_disable(",Syntax");
@@ -2486,7 +2486,7 @@
     char_u	*fname;
     void	*cookie;
 {
-    (void)do_source(fname, FALSE, FALSE);
+    (void)do_source(fname, FALSE, DOSO_NONE);
 }
 
 /*
@@ -2669,7 +2669,7 @@
 						 );
 
     /* ":source" read ex commands */
-    else if (do_source(fname, FALSE, FALSE) == FAIL)
+    else if (do_source(fname, FALSE, DOSO_NONE) == FAIL)
 	EMSG2(_(e_notopen), fname);
 }
 
@@ -2766,7 +2766,7 @@
 do_source(fname, check_other, is_vimrc)
     char_u	*fname;
     int		check_other;	    /* check for .vimrc and _vimrc */
-    int		is_vimrc;	    /* call vimrc_found() when file exists */
+    int		is_vimrc;	    /* DOSO_ value */
 {
     struct source_cookie    cookie;
     char_u		    *save_sourcing_name;
@@ -2873,8 +2873,10 @@
 							sourcing_lnum, fname);
 	verbose_leave();
     }
-    if (is_vimrc)
-	vimrc_found();
+    if (is_vimrc == DOSO_VIMRC)
+	vimrc_found(fname_exp, (char_u *)"MYVIMRC");
+    else if (is_vimrc == DOSO_GVIMRC)
+	vimrc_found(fname_exp, (char_u *)"MYGVIMRC");
 
 #ifdef USE_CRNL
     /* If no automatic file format: Set default to CR-NL. */
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index cba3da5..0e0bcae 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -2176,6 +2176,14 @@
 		errormsg = (char_u *)_(e_secure);
 	    goto doend;
 	}
+#ifdef FEAT_AUTOCMD
+	if (!(ea.argt & CMDWIN)
+# ifdef FEAT_USR_CMDS
+		&& !USER_CMDIDX(ea.cmdidx)
+# endif
+		&& curbuf_locked())
+	    goto doend;
+#endif
 
 	if (!ni && !(ea.argt & RANGE) && ea.addr_count > 0)
 	{
@@ -4587,6 +4595,14 @@
 	return OK;
     }
 
+    /* ":read ++edit file" */
+    if (STRNCMP(arg, "edit", 4) == 0)
+    {
+	eap->read_edit = TRUE;
+	eap->arg = skipwhite(arg + 4);
+	return OK;
+    }
+
     if (STRNCMP(arg, "ff", 2) == 0)
     {
 	arg += 2;
@@ -6086,6 +6102,10 @@
 	text_locked_msg();
 	return;
     }
+#ifdef FEAT_AUTOCMD
+    if (curbuf_locked())
+	return;
+#endif
 
 #ifdef FEAT_NETBEANS_INTG
     netbeansForcedQuit = eap->forceit;
@@ -6155,6 +6175,10 @@
 	text_locked_msg();
 	return;
     }
+#ifdef FEAT_AUTOCMD
+    if (curbuf_locked())
+	return;
+#endif
 
     exiting = TRUE;
     if (eap->forceit || !check_changed_any(FALSE))
@@ -6175,7 +6199,11 @@
 	cmdwin_result = K_IGNORE;
     else
 # endif
-	if (!text_locked())
+	if (!text_locked()
+#ifdef FEAT_AUTOCMD
+		&& !curbuf_locked()
+#endif
+		)
 	    ex_win_close(eap->forceit, curwin, NULL);
 }
 
@@ -6275,7 +6303,11 @@
 		    return;
 		}
 	    }
-	    if (!text_locked())
+	    if (!text_locked()
+#ifdef FEAT_AUTOCMD
+		    && !curbuf_locked()
+#endif
+	       )
 		tabpage_close(eap->forceit);
 	}
 
@@ -6481,6 +6513,10 @@
 	text_locked_msg();
 	return;
     }
+#ifdef FEAT_AUTOCMD
+    if (curbuf_locked())
+	return;
+#endif
 
     /*
      * if more files or windows we won't exit
@@ -6596,6 +6632,10 @@
     /* Postpone this while editing the command line. */
     if (text_locked())
 	return;
+#ifdef FEAT_AUTOCMD
+    if (curbuf_locked())
+	return;
+#endif
 
     /* Check whether the current buffer is changed. If so, we will need
      * to split the current window or data could be lost.
@@ -10300,7 +10340,7 @@
     fname = get_view_file(*eap->arg);
     if (fname != NULL)
     {
-	do_source(fname, FALSE, FALSE);
+	do_source(fname, FALSE, DOSO_NONE);
 	vim_free(fname);
     }
 }
@@ -10658,6 +10698,8 @@
     {
 	vim_free(curwin->w_match[mi].regprog);
 	curwin->w_match[mi].regprog = NULL;
+	vim_free(curwin->w_match_pat[mi]);
+	curwin->w_match_pat[mi] = NULL;
 	redraw_later(SOME_VALID);	/* always need a redraw */
     }
 
@@ -10703,12 +10745,14 @@
 	    c = *end;
 	    *end = NUL;
 	    curwin->w_match[mi].regprog = vim_regcomp(p + 1, RE_MAGIC);
-	    *end = c;
 	    if (curwin->w_match[mi].regprog == NULL)
 	    {
 		EMSG2(_(e_invarg2), p);
+		*end = c;
 		return;
 	    }
+	    curwin->w_match_pat[mi] = vim_strsave(p + 1);
+	    *end = c;
 	}
     }
     eap->nextcmd = find_nextcmd(end);
diff --git a/src/ex_getln.c b/src/ex_getln.c
index ec6ee56..e4a1c99 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -1942,6 +1942,23 @@
 	EMSG(_(e_secure));
 }
 
+#if defined(FEAT_AUTOCMD) || defined(PROTO)
+/*
+ * Check if "curbuf_lock" is set and return TRUE when it is and give an error
+ * message.
+ */
+    int
+curbuf_locked()
+{
+    if (curbuf_lock > 0)
+    {
+	EMSG(_("E788: Not allowed to edit another buffer now"));
+	return TRUE;
+    }
+    return FALSE;
+}
+#endif
+
     static int
 cmdline_charsize(idx)
     int		idx;
diff --git a/src/feature.h b/src/feature.h
index b0a8774..7d2f668 100644
--- a/src/feature.h
+++ b/src/feature.h
@@ -753,7 +753,7 @@
 /*
  * GUI tabline
  */
-#if defined(FEAT_WINDOWS) && (defined(FEAT_GUI_GTK) \
+#if defined(FEAT_WINDOWS) && (defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MOTIF)\
 	|| (defined(FEAT_GUI_MSWIN) && (!defined(_MSC_VER) || _MSC_VER > 1020)))
 # define FEAT_GUI_TABLINE
 #endif
diff --git a/src/fileio.c b/src/fileio.c
index cf14c51..6d92c07 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -217,6 +217,7 @@
 {
     int		fd = 0;
     int		newfile = (flags & READ_NEW);
+    int		set_options = newfile || (eap != NULL && eap->read_edit);
     int		check_readonly;
     int		filtering = (flags & READ_FILTER);
     int		read_stdin = (flags & READ_STDIN);
@@ -416,7 +417,7 @@
 #endif
 
     /* set default 'fileformat' */
-    if (newfile)
+    if (set_options)
     {
 	if (eap != NULL && eap->force_ff != 0)
 	    set_fileformat(get_fileformat_force(curbuf, eap), OPT_LOCAL);
@@ -622,7 +623,7 @@
     if ((check_readonly && file_readonly) || curbuf->b_help)
 	curbuf->b_p_ro = TRUE;
 
-    if (newfile)
+    if (set_options)
     {
 	curbuf->b_p_eol = TRUE;
 	curbuf->b_start_eol = TRUE;
@@ -769,7 +770,7 @@
     if (eap != NULL && eap->bad_char != 0)
     {
 	bad_char_behavior = eap->bad_char;
-	if (newfile)
+	if (set_options)
 	    curbuf->b_bad_char = eap->bad_char;
     }
     else
@@ -884,7 +885,7 @@
 	    ml_delete(lnum--, FALSE);
 	file_rewind = FALSE;
 #ifdef FEAT_MBYTE
-	if (newfile)
+	if (set_options)
 	    curbuf->b_p_bomb = FALSE;
 	conv_error = 0;
 #endif
@@ -1326,7 +1327,7 @@
 		    filesize += blen;
 		    size -= blen;
 		    mch_memmove(ptr, ptr + blen, (size_t)size);
-		    if (newfile)
+		    if (set_options)
 			curbuf->b_p_bomb = TRUE;
 		}
 
@@ -1955,7 +1956,7 @@
 		    fileformat = default_fileformat();
 
 		/* if editing a new file: may set p_tx and p_ff */
-		if (newfile)
+		if (set_options)
 		    set_fileformat(fileformat, OPT_LOCAL);
 	    }
 	}
@@ -2037,7 +2038,7 @@
 					|| lseek(fd, (off_t)0L, SEEK_SET) == 0))
 				{
 				    fileformat = EOL_UNIX;
-				    if (newfile)
+				    if (set_options)
 					set_fileformat(EOL_UNIX, OPT_LOCAL);
 				    file_rewind = TRUE;
 				    keep_fileformat = TRUE;
@@ -2087,7 +2088,8 @@
 		&& *line_start == Ctrl_Z
 		&& ptr == line_start + 1))
     {
-	if (newfile)			/* remember for when writing */
+	/* remember for when writing */
+	if (set_options)
 	    curbuf->b_p_eol = FALSE;
 	*ptr = NUL;
 	if (ml_append(lnum, line_start,
@@ -2097,7 +2099,7 @@
 	    read_no_eol_lnum = ++lnum;
     }
 
-    if (newfile)
+    if (set_options)
 	save_file_ff(curbuf);		/* remember the current file format */
 
 #ifdef FEAT_CRYPT
@@ -2106,8 +2108,9 @@
 #endif
 
 #ifdef FEAT_MBYTE
-    /* If editing a new file: set 'fenc' for the current buffer. */
-    if (newfile)
+    /* If editing a new file: set 'fenc' for the current buffer.
+     * Also for ":read ++edit file". */
+    if (set_options)
 	set_string_option_direct((char_u *)"fenc", -1, fenc,
 						       OPT_FREE|OPT_LOCAL, 0);
     if (fenc_alloced)
@@ -2398,7 +2401,7 @@
 
 	/* Save the fileformat now, otherwise the buffer will be considered
 	 * modified if the format/encoding was automatically detected. */
-	if (newfile)
+	if (set_options)
 	    save_file_ff(curbuf);
 
 	/*
@@ -2482,6 +2485,7 @@
     eap->force_ff = 7;
 
     eap->force_bin = buf->b_p_bin ? FORCE_BIN : FORCE_NOBIN;
+    eap->read_edit = FALSE;
     eap->forceit = FALSE;
     return OK;
 }
@@ -3705,7 +3709,7 @@
     }
 #endif
 
-    /* When using ":w!" and writing to the current file, readonly makes no
+    /* When using ":w!" and writing to the current file, 'readonly' makes no
      * sense, reset it, unless 'Z' appears in 'cpoptions'.  */
     if (forceit && overwriting && vim_strchr(p_cpo, CPO_KEEPRO) == NULL)
     {
@@ -4653,7 +4657,7 @@
     /* Do filetype detection now if 'filetype' is empty. */
     if (*curbuf->b_p_ft == NUL)
     {
-	if (au_find_group((char_u *)"filetypedetect") != AUGROUP_ERROR)
+	if (au_has_group((char_u *)"filetypedetect"))
 	    (void)do_doautocmd((char_u *)"filetypedetect BufRead", FALSE);
 	do_modelines(0);
     }
@@ -7321,7 +7325,6 @@
     return AUGROUP_ERROR;
 }
 
-#if defined(FEAT_BROWSE) || defined(PROTO)
 /*
  * Return TRUE if augroup "name" exists.
  */
@@ -7331,7 +7334,6 @@
 {
     return au_find_group(name) != AUGROUP_ERROR;
 }
-#endif
 
 /*
  * ":augroup {name}".
diff --git a/src/getchar.c b/src/getchar.c
index e941f94..07c595f 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -1058,6 +1058,7 @@
     return typebuf.tb_maplen == 0;
 }
 
+#if defined(FEAT_VISUAL) || defined(PROTO)
 /*
  * Return the number of characters that are mapped (or not typed).
  */
@@ -1066,6 +1067,7 @@
 {
     return typebuf.tb_maplen;
 }
+#endif
 
 /*
  * remove "len" characters from typebuf.tb_buf[typebuf.tb_off + offset]
@@ -4743,10 +4745,12 @@
 #if defined(MSDOS) || defined(MSWIN) || defined(OS2)
 	/* Use the Windows (CUA) keybindings. */
 # ifdef FEAT_GUI
+#  if 0	    /* These are now used to move tab pages */
 	{(char_u *)"<C-PageUp> H", NORMAL+VIS_SEL},
 	{(char_u *)"<C-PageUp> <C-O>H",INSERT},
 	{(char_u *)"<C-PageDown> L$", NORMAL+VIS_SEL},
 	{(char_u *)"<C-PageDown> <C-O>L<C-O>$", INSERT},
+#  endif
 
 	/* paste, copy and cut */
 	{(char_u *)"<S-Insert> \"*P", NORMAL},
@@ -4758,10 +4762,12 @@
 	{(char_u *)"<C-X> \"*d", VIS_SEL},
 	/* Missing: CTRL-C (cancel) and CTRL-V (block selection) */
 # else
+#  if 0	    /* These are now used to move tab pages */
 	{(char_u *)"\316\204 H", NORMAL+VIS_SEL},    /* CTRL-PageUp is "H" */
 	{(char_u *)"\316\204 \017H",INSERT},	    /* CTRL-PageUp is "^OH"*/
 	{(char_u *)"\316v L$", NORMAL+VIS_SEL},	    /* CTRL-PageDown is "L$" */
 	{(char_u *)"\316v \017L\017$", INSERT},	    /* CTRL-PageDown ="^OL^O$"*/
+#  endif
 	{(char_u *)"\316w <C-Home>", NORMAL+VIS_SEL},
 	{(char_u *)"\316w <C-Home>", INSERT+CMDLINE},
 	{(char_u *)"\316u <C-End>", NORMAL+VIS_SEL},
diff --git a/src/globals.h b/src/globals.h
index 765199b..9203f2a 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -595,6 +595,11 @@
 				/* non-zero when changing text and jumping to
 				 * another window or buffer is not allowed */
 
+#ifdef FEAT_AUTOCMD
+EXTERN int	curbuf_lock INIT(= 0);
+				/* non-zero when the current buffer can't be
+				 * changed.  Used for FileChangedRO. */
+#endif
 #ifdef FEAT_EVAL
 # define HAVE_SANDBOX
 EXTERN int	sandbox INIT(= 0);
diff --git a/src/gui.c b/src/gui.c
index 03b38b0..4c7c775 100644
--- a/src/gui.c
+++ b/src/gui.c
@@ -335,7 +335,7 @@
 	if (vim_strchr(p_go, GO_NOSYSMENU) == NULL)
 	{
 	    sys_menu = TRUE;
-	    do_source((char_u *)SYS_MENU_FILE, FALSE, FALSE);
+	    do_source((char_u *)SYS_MENU_FILE, FALSE, DOSO_NONE);
 	    sys_menu = FALSE;
 	}
 #endif
@@ -356,7 +356,7 @@
 	{
 	    if (STRCMP(use_gvimrc, "NONE") != 0
 		    && STRCMP(use_gvimrc, "NORC") != 0
-		    && do_source(use_gvimrc, FALSE, FALSE) != OK)
+		    && do_source(use_gvimrc, FALSE, DOSO_NONE) != OK)
 		EMSG2(_("E230: Cannot read from \"%s\""), use_gvimrc);
 	}
 	else
@@ -365,7 +365,7 @@
 	     * Get system wide defaults for gvim, only when file name defined.
 	     */
 #ifdef SYS_GVIMRC_FILE
-	    do_source((char_u *)SYS_GVIMRC_FILE, FALSE, FALSE);
+	    do_source((char_u *)SYS_GVIMRC_FILE, FALSE, DOSO_NONE);
 #endif
 
 	    /*
@@ -378,14 +378,16 @@
 	     * The first that exists is used, the rest is ignored.
 	     */
 	    if (process_env((char_u *)"GVIMINIT", FALSE) == FAIL
-		 && do_source((char_u *)USR_GVIMRC_FILE, TRUE, TRUE) == FAIL
+		 && do_source((char_u *)USR_GVIMRC_FILE, TRUE,
+							  DOSO_GVIMRC) == FAIL
 #ifdef USR_GVIMRC_FILE2
-		 && do_source((char_u *)USR_GVIMRC_FILE2, TRUE, TRUE) == FAIL
+		 && do_source((char_u *)USR_GVIMRC_FILE2, TRUE,
+							  DOSO_GVIMRC) == FAIL
 #endif
 				)
 	    {
 #ifdef USR_GVIMRC_FILE3
-		(void)do_source((char_u *)USR_GVIMRC_FILE3, TRUE, TRUE);
+		(void)do_source((char_u *)USR_GVIMRC_FILE3, TRUE, DOSO_GVIMRC);
 #endif
 	    }
 
@@ -429,7 +431,7 @@
 				     (char_u *)GVIMRC_FILE, FALSE) != FPC_SAME
 #endif
 			)
-		    do_source((char_u *)GVIMRC_FILE, TRUE, TRUE);
+		    do_source((char_u *)GVIMRC_FILE, TRUE, DOSO_GVIMRC);
 
 		if (secure == 2)
 		    need_wait_return = TRUE;
@@ -1142,7 +1144,8 @@
 	text_area_y = TOOLBAR_BUTTON_HEIGHT + TOOLBAR_BORDER_HEIGHT;
 #endif
 
-#if defined(FEAT_GUI_TABLINE) && defined(FEAT_GUI_MSWIN)
+# if defined(FEAT_GUI_TABLINE) && (defined(FEAT_GUI_MSWIN) \
+	|| defined(FEAT_GUI_MOTIF))
     if (gui_has_tabline())
 	text_area_y += TABLINE_HEIGHT;
 #endif
@@ -1228,9 +1231,10 @@
 	base_height += gui.toolbar_height;
 #  endif
 # endif
-# if defined(FEAT_GUI_TABLINE) && defined(FEAT_GUI_MSWIN)
+# if defined(FEAT_GUI_TABLINE) && (defined(FEAT_GUI_MSWIN) \
+	|| defined(FEAT_GUI_MOTIF))
     if (gui_has_tabline())
-    	base_height += TABLINE_HEIGHT;
+	base_height += TABLINE_HEIGHT;
 # endif
 # ifdef FEAT_FOOTER
     if (vim_strchr(p_go, GO_FOOTER) != NULL)
@@ -3448,8 +3452,9 @@
     }
     else
     {
-	/* Get the buffer name into NameBuff[] */
+	/* Get the buffer name into NameBuff[] and shorten it. */
 	get_trans_bufname(tp == curtab ? curbuf : tp->tp_curwin->w_buffer);
+	shorten_dir(NameBuff);
 
 	wp = (tp == curtab) ? firstwin : tp->tp_firstwin;
 	for (wincount = 0; wp != NULL; wp = wp->w_next, ++wincount)
@@ -4571,11 +4576,11 @@
 	update_mouseshape(SHAPE_IDX_CLINE);
 #  ifdef FEAT_VERTSPLIT
     else if (!(State & CMDLINE) && W_VSEP_WIDTH(wp) > 0 && col == wp->w_width
-	    && (row != wp->w_height || !stl_connected(wp)))
+	    && (row != wp->w_height || !stl_connected(wp)) && msg_scrolled == 0)
 	update_mouseshape(SHAPE_IDX_VSEP);
 #  endif
     else if (!(State & CMDLINE) && W_STATUS_HEIGHT(wp) > 0
-						       && row == wp->w_height)
+				  && row == wp->w_height && msg_scrolled == 0)
 	update_mouseshape(SHAPE_IDX_STATUS);
     else
 	update_mouseshape(-2);
@@ -4825,6 +4830,7 @@
     {
 #ifdef FEAT_MBYTE
 	int l = (*mb_ptr2len)(text);
+
 	if (l > 1)
 	{
 	    while (--l >= 0)
diff --git a/src/gui.h b/src/gui.h
index cad8115..f221c29 100644
--- a/src/gui.h
+++ b/src/gui.h
@@ -161,6 +161,9 @@
 #ifdef FEAT_GUI_MSWIN
 # define TABLINE_HEIGHT 22
 #endif
+#ifdef FEAT_GUI_MOTIF
+# define TABLINE_HEIGHT 30
+#endif
 
 #if defined(NO_CONSOLE) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11)
 # define NO_CONSOLE_INPUT	/* use no_console_input() to check if there
diff --git a/src/gui_gtk_f.h b/src/gui_gtk_f.h
index 06c7ecd..767f88a 100644
--- a/src/gui_gtk_f.h
+++ b/src/gui_gtk_f.h
@@ -9,10 +9,6 @@
 #ifndef __GTK_FORM_H__
 #define __GTK_FORM_H__
 
-#ifdef VMS
-# include "gui_gtk_vms.h"
-#endif
-
 #include <gdk/gdk.h>
 #include <gtk/gtkcontainer.h>
 
diff --git a/src/gui_gtk_vms.h b/src/gui_gtk_vms.h
index e88728f..1f965af 100644
--- a/src/gui_gtk_vms.h
+++ b/src/gui_gtk_vms.h
@@ -77,6 +77,7 @@
 /* INTRINSIC.H omits proto if XtFree is defined */
 /* VMS_BEGIN_C_PLUS_PLUS */
 extern void XtFree(char*);
+extern void XTFREE(char*);
 /* VMS_END_C_PLUS_PLUS */
 
 #define _XRegisterFilterByType _XREGISTERFILTERBYTYPE
@@ -123,6 +124,7 @@
 #define XCreateRegion XCREATEREGION
 #define XCreateSimpleWindow XCREATESIMPLEWINDOW
 #define XCreateWindow XCREATEWINDOW
+#define XDefaultRootWindow XDEFAULTROOTWINDOW
 #define XDefaultScreenOfDisplay XDEFAULTSCREENOFDISPLAY
 #define XDefineCursor XDEFINECURSOR
 #define XDeleteProperty XDELETEPROPERTY
@@ -186,6 +188,7 @@
 #define XGetSubImage XGETSUBIMAGE
 #define XGetVisualInfo XGETVISUALINFO
 #define XGetWMColormapWindows XGETWMCOLORMAPWINDOWS
+#define XGetWMIconName XGETWMICONNAME
 #define XGetWMProtocols XGETWMPROTOCOLS
 #define XGetWMHints XGETWMHINTS
 #define XGetWMName XGETWMNAME
@@ -289,6 +292,7 @@
 #define XShapeCombineRectangles XSHAPECOMBINERECTANGLES
 #define XShapeGetRectangles XSHAPEGETRECTANGLES
 #define XShrinkRegion XSHRINKREGION
+#define XStoreBuffer XSTOREBUFFER
 #define XStoreColor XSTORECOLOR
 #define XStoreColors XSTORECOLORS
 #define XStoreName XSTORENAME
@@ -603,7 +607,9 @@
 #define XtUnmanageChild XTUNMANAGECHILD
 #define XtUnmanageChildren XTUNMANAGECHILDREN
 #define XtUnrealizeWidget XTUNREALIZEWIDGET
+#define XtVaAppCreateShell XTVAAPPCREATESHELL
 #define XtVaCreateManagedWidget XTVACREATEMANAGEDWIDGET
+#define XtVaCreatePopupShell XTVACREATEPOPUPSHELL
 #define XtVaCreateWidget XTVACREATEWIDGET
 #define XtVaGetValues XTVAGETVALUES
 #define XtVaSetValues XTVASETVALUES
diff --git a/src/gui_mac.icns b/src/gui_mac.icns
deleted file mode 100644
index 8405dc1..0000000
--- a/src/gui_mac.icns
+++ /dev/null
Binary files differ
diff --git a/src/gui_motif.c b/src/gui_motif.c
index ac9468e..a98c9d1 100644
--- a/src/gui_motif.c
+++ b/src/gui_motif.c
@@ -26,6 +26,7 @@
 #include <Xm/LabelG.h>
 #include <Xm/ToggleBG.h>
 #include <Xm/SeparatoG.h>
+#include <Xm/Notebook.h>
 
 #include <X11/keysym.h>
 #include <X11/Xatom.h>
@@ -63,6 +64,11 @@
 static Widget toolBarFrame;
 static Widget toolBar;
 #endif
+#ifdef FEAT_GUI_TABLINE
+static Widget	tabLine;
+static Widget	tabLine_menu = 0;
+static int	showing_tabline = 0;
+#endif
 #ifdef FEAT_FOOTER
 static Widget footer;
 #endif
@@ -75,6 +81,11 @@
 #endif
 
 static void scroll_cb __ARGS((Widget w, XtPointer client_data, XtPointer call_data));
+#ifdef FEAT_GUI_TABLINE
+static void tabline_cb __ARGS((Widget w, XtPointer client_data, XtPointer call_data));
+static void tabline_button_cb __ARGS((Widget w, XtPointer client_data, XtPointer call_data));
+static void tabline_menu_cb __ARGS((Widget w, XtPointer	closure, XEvent	*e, Boolean *continue_dispatch));
+#endif
 #ifdef FEAT_TOOLBAR
 # ifdef FEAT_FOOTER
 static void toolbarbutton_enter_cb __ARGS((Widget, XtPointer, XEvent *, Boolean *));
@@ -120,6 +131,76 @@
     gui_drag_scrollbar(sb, value, dragging);
 }
 
+#ifdef FEAT_GUI_TABLINE
+/*ARGSUSED*/
+    static void
+tabline_cb(w, client_data, call_data)
+    Widget	w;
+    XtPointer	client_data, call_data;
+{
+    XmNotebookCallbackStruct *nptr;
+
+    nptr = (XmNotebookCallbackStruct *)call_data;
+    if (nptr->reason != (int)XmCR_NONE)
+	send_tabline_event(nptr->page_number);
+}
+
+/*ARGSUSED*/
+    static void
+tabline_button_cb(w, client_data, call_data)
+    Widget	w;
+    XtPointer	client_data, call_data;
+{
+    char_u	string[3];
+    int		cmd, tab_idx;
+
+    XtVaGetValues(w, XmNuserData, &cmd, NULL);
+    XtVaGetValues(tabLine_menu, XmNuserData, &tab_idx, NULL);
+
+    string[0] = CSI;
+    string[1] = KS_TABMENU;
+    string[2] = KE_FILLER;
+    add_to_input_buf(string, 3);
+    string[0] = tab_idx;
+    string[1] = (char_u)(long)cmd;
+    add_to_input_buf_csi(string, 2);
+}
+
+/*ARGSUSED*/
+    static void
+tabline_menu_cb(w, closure, e, continue_dispatch)
+    Widget	w;
+    XtPointer	closure;
+    XEvent	*e;
+    Boolean	*continue_dispatch;
+{
+    Widget			tab_w;
+    XButtonPressedEvent		*event;
+    int				tab_idx = 0;
+    WidgetList			children;
+    Cardinal			numChildren;
+
+    event = (XButtonPressedEvent *)e;
+
+    if (event->button != Button3)
+	return;
+
+    if (event->subwindow != None)
+    {
+	tab_w = XtWindowToWidget(XtDisplay(w), event->subwindow);
+	if (tab_w != (Widget)0 && XmIsPushButton(tab_w))
+	    XtVaGetValues(tab_w, XmNpageNumber, &tab_idx, NULL);
+    }
+
+    XtVaSetValues(tabLine_menu, XmNuserData, tab_idx, NULL);
+    XtVaGetValues(tabLine_menu, XmNchildren, &children, XmNnumChildren,
+		  &numChildren, NULL);
+    XtManageChildren(children, numChildren);
+    XmMenuPosition(tabLine_menu, (XButtonPressedEvent *)e) ;
+    XtManageChild(tabLine_menu);
+}
+#endif
+
 /*
  * End of call-back routines
  */
@@ -222,6 +303,13 @@
     void
 gui_x11_create_widgets()
 {
+#ifdef FEAT_GUI_TABLINE
+    Widget	button;
+    Arg		args[10];
+    int		n;
+    XmString	xms;
+#endif
+
     /*
      * Install the 3D shade effect drawing routines.
      */
@@ -318,6 +406,57 @@
 
 #endif
 
+#ifdef FEAT_GUI_TABLINE
+    /* Create the Vim GUI tabline */
+    n = 0;
+    XtSetArg(args[n], XmNbindingType, XmNONE); n++;
+    XtSetArg(args[n], XmNorientation, XmVERTICAL); n++;
+    XtSetArg(args[n], XmNbackPageSize, XmNONE); n++;
+    XtSetArg(args[n], XmNbackPageNumber, 0); n++;
+    XtSetArg(args[n], XmNbackPagePlacement, XmTOP_RIGHT); n++;
+    XtSetArg(args[n], XmNmajorTabSpacing, 0); n++;
+    XtSetArg(args[n], XmNshadowThickness, 0); n++;
+    XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); n++;
+    XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM); n++;
+    tabLine = XmCreateNotebook(vimForm, "Vim tabline", args, n);
+
+    XtAddCallback(tabLine, XmNpageChangedCallback, (XtCallbackProc)tabline_cb,
+			NULL);
+    XtAddEventHandler(tabLine, ButtonPressMask, False,
+			(XtEventHandler)tabline_menu_cb, NULL);
+
+    /* Create the tabline popup menu */
+    tabLine_menu = XmCreatePopupMenu(tabLine, "tabline popup", NULL, 0);
+
+    /* Add the buttons to the menu */
+    n = 0;
+    XtSetArg(args[n], XmNuserData, TABLINE_MENU_CLOSE); n++;
+    xms = XmStringCreate((char *)"Close tab", STRING_TAG);
+    XtSetArg(args[n], XmNlabelString, xms); n++;
+    button = XmCreatePushButton(tabLine_menu, "Close", args, n);
+    XtAddCallback(button, XmNactivateCallback,
+		  (XtCallbackProc)tabline_button_cb, NULL);
+    XmStringFree(xms);
+
+    n = 0;
+    XtSetArg(args[n], XmNuserData, TABLINE_MENU_NEW); n++;
+    xms = XmStringCreate((char *)"New Tab", STRING_TAG);
+    XtSetArg(args[n], XmNlabelString, xms); n++;
+    button = XmCreatePushButton(tabLine_menu, "New Tab", args, n);
+    XtAddCallback(button, XmNactivateCallback,
+		  (XtCallbackProc)tabline_button_cb, NULL);
+    XmStringFree(xms);
+
+    n = 0;
+    XtSetArg(args[n], XmNuserData, TABLINE_MENU_OPEN); n++;
+    xms = XmStringCreate((char *)"Open tab...", STRING_TAG);
+    XtSetArg(args[n], XmNlabelString, xms); n++;
+    button = XmCreatePushButton(tabLine_menu, "Open tab...", args, n);
+    XtAddCallback(button, XmNactivateCallback,
+		  (XtCallbackProc)tabline_button_cb, NULL);
+    XmStringFree(xms);
+#endif
+
     textAreaForm = XtVaCreateManagedWidget("textAreaForm",
 	xmFormWidgetClass, vimForm,
 	XmNleftAttachment, XmATTACH_FORM,
@@ -550,18 +689,46 @@
 		XmNtopAttachment, XmATTACH_WIDGET,
 		XmNtopWidget, menuBar,
 		NULL);
-	    XtVaSetValues(textAreaForm,
-		XmNtopAttachment, XmATTACH_WIDGET,
-		XmNtopWidget, XtParent(toolBar),
-		NULL);
+#ifdef FEAT_GUI_TABLINE
+	    if (showing_tabline)
+	    {
+		XtVaSetValues(tabLine,
+			      XmNtopAttachment, XmATTACH_WIDGET,
+			      XmNtopWidget, XtParent(toolBar),
+			      NULL);
+		XtVaSetValues(textAreaForm,
+			      XmNtopAttachment, XmATTACH_WIDGET,
+			      XmNtopWidget, tabLine,
+			      NULL);
+	    }
+	    else
+#endif
+		XtVaSetValues(textAreaForm,
+			      XmNtopAttachment, XmATTACH_WIDGET,
+			      XmNtopWidget, XtParent(toolBar),
+			      NULL);
 	}
 	else
 #endif
 	{
-	    XtVaSetValues(textAreaForm,
-		XmNtopAttachment, XmATTACH_WIDGET,
-		XmNtopWidget, menuBar,
-		NULL);
+#ifdef FEAT_GUI_TABLINE
+	    if (showing_tabline)
+	    {
+		XtVaSetValues(tabLine,
+			      XmNtopAttachment, XmATTACH_WIDGET,
+			      XmNtopWidget, menuBar,
+			      NULL);
+		XtVaSetValues(textAreaForm,
+			      XmNtopAttachment, XmATTACH_WIDGET,
+			      XmNtopWidget, tabLine,
+			      NULL);
+	    }
+	    else
+#endif
+		XtVaSetValues(textAreaForm,
+			      XmNtopAttachment, XmATTACH_WIDGET,
+			      XmNtopWidget, menuBar,
+			      NULL);
 	}
     }
     else
@@ -573,17 +740,44 @@
 	    XtVaSetValues(XtParent(toolBar),
 		XmNtopAttachment, XmATTACH_FORM,
 		NULL);
-	    XtVaSetValues(textAreaForm,
-		XmNtopAttachment, XmATTACH_WIDGET,
-		XmNtopWidget, XtParent(toolBar),
-		NULL);
+#ifdef FEAT_GUI_TABLINE
+	    if (showing_tabline)
+	    {
+		XtVaSetValues(tabLine,
+			      XmNtopAttachment, XmATTACH_WIDGET,
+			      XmNtopWidget, XtParent(toolBar),
+			      NULL);
+		XtVaSetValues(textAreaForm,
+			      XmNtopAttachment, XmATTACH_WIDGET,
+			      XmNtopWidget, tabLine,
+			      NULL);
+	    }
+	    else
+#endif
+		XtVaSetValues(textAreaForm,
+			      XmNtopAttachment, XmATTACH_WIDGET,
+			      XmNtopWidget, XtParent(toolBar),
+			      NULL);
 	}
 	else
 #endif
 	{
-	    XtVaSetValues(textAreaForm,
-		XmNtopAttachment, XmATTACH_FORM,
-		NULL);
+#ifdef FEAT_GUI_TABLINE
+	    if (showing_tabline)
+	    {
+		XtVaSetValues(tabLine,
+			      XmNtopAttachment, XmATTACH_FORM,
+			      NULL);
+		XtVaSetValues(textAreaForm,
+			      XmNtopAttachment, XmATTACH_WIDGET,
+			      XmNtopWidget, tabLine,
+			      NULL);
+	    }
+	    else
+#endif
+		XtVaSetValues(textAreaForm,
+			      XmNtopAttachment, XmATTACH_FORM,
+			      NULL);
 	}
     }
 
@@ -2770,10 +2964,24 @@
 	}
 	gui.toolbar_height = gui_mch_compute_toolbar_height();
 	XtManageChild(XtParent(toolBar));
-	XtVaSetValues(textAreaForm,
-		XmNtopAttachment, XmATTACH_WIDGET,
-		XmNtopWidget, XtParent(toolBar),
-		NULL);
+#ifdef FEAT_GUI_TABLINE
+	if (showing_tabline)
+	{
+	    XtVaSetValues(tabLine,
+			  XmNtopAttachment, XmATTACH_WIDGET,
+			  XmNtopWidget, XtParent(toolBar),
+			  NULL);
+	    XtVaSetValues(textAreaForm,
+			  XmNtopAttachment, XmATTACH_WIDGET,
+			  XmNtopWidget, tabLine,
+			  NULL);
+	}
+	else
+#endif
+	    XtVaSetValues(textAreaForm,
+			  XmNtopAttachment, XmATTACH_WIDGET,
+			  XmNtopWidget, XtParent(toolBar),
+			  NULL);
 	if (XtIsManaged(menuBar))
 	    XtVaSetValues(XtParent(toolBar),
 		    XmNtopAttachment, XmATTACH_WIDGET,
@@ -2788,14 +2996,45 @@
     {
 	gui.toolbar_height = 0;
 	if (XtIsManaged(menuBar))
-	    XtVaSetValues(textAreaForm,
-		XmNtopAttachment, XmATTACH_WIDGET,
-		XmNtopWidget, menuBar,
-		NULL);
+	{
+#ifdef FEAT_GUI_TABLINE
+	    if (showing_tabline)
+	    {
+		XtVaSetValues(tabLine,
+			      XmNtopAttachment, XmATTACH_WIDGET,
+			      XmNtopWidget, menuBar,
+			      NULL);
+		XtVaSetValues(textAreaForm,
+			      XmNtopAttachment, XmATTACH_WIDGET,
+			      XmNtopWidget, tabLine,
+			      NULL);
+	    }
+	    else
+#endif
+		XtVaSetValues(textAreaForm,
+			      XmNtopAttachment, XmATTACH_WIDGET,
+			      XmNtopWidget, menuBar,
+			      NULL);
+	}
 	else
-	    XtVaSetValues(textAreaForm,
-		XmNtopAttachment, XmATTACH_FORM,
-		NULL);
+	{
+#ifdef FEAT_GUI_TABLINE
+	    if (showing_tabline)
+	    {
+		XtVaSetValues(tabLine,
+			      XmNtopAttachment, XmATTACH_FORM,
+			      NULL);
+		XtVaSetValues(textAreaForm,
+			      XmNtopAttachment, XmATTACH_WIDGET,
+			      XmNtopWidget, tabLine,
+			      NULL);
+	    }
+	    else
+#endif
+		XtVaSetValues(textAreaForm,
+			      XmNtopAttachment, XmATTACH_FORM,
+			      NULL);
+	}
 
 	XtUnmanageChild(XtParent(toolBar));
     }
@@ -2914,6 +3153,165 @@
 # endif
 #endif
 
+#if defined(FEAT_GUI_TABLINE) || defined(PROTO)
+/*
+ * Show or hide the tabline.
+ */
+    void
+gui_mch_show_tabline(int showit)
+{
+    if (tabLine == (Widget)0)
+	return;
+
+    if (!showit != !showing_tabline)
+    {
+	if (showit)
+	{
+	    XtManageChild(tabLine);
+	    XtUnmanageChild(XtNameToWidget(tabLine, "PageScroller"));
+#ifdef FEAT_MENU
+# ifdef FEAT_TOOLBAR
+	    if (XtIsManaged(XtParent(toolBar)))
+		XtVaSetValues(tabLine,
+			      XmNtopAttachment, XmATTACH_WIDGET,
+			      XmNtopWidget, XtParent(toolBar), NULL);
+	    else
+# endif
+		if (XtIsManaged(menuBar))
+		XtVaSetValues(tabLine,
+			      XmNtopAttachment, XmATTACH_WIDGET,
+			      XmNtopWidget, menuBar, NULL);
+	    else
+#endif
+		XtVaSetValues(tabLine,
+			      XmNtopAttachment, XmATTACH_FORM, NULL);
+	    XtVaSetValues(textAreaForm,
+			  XmNtopAttachment, XmATTACH_WIDGET,
+			  XmNtopWidget, tabLine,
+			  NULL);
+	}
+	else
+	{
+	    XtUnmanageChild(tabLine);
+#ifdef FEAT_MENU
+# ifdef FEAT_TOOLBAR
+	    if (XtIsManaged(XtParent(toolBar)))
+		XtVaSetValues(textAreaForm,
+			      XmNtopAttachment, XmATTACH_WIDGET,
+			      XmNtopWidget, XtParent(toolBar), NULL);
+	    else
+# endif
+		if (XtIsManaged(menuBar))
+		XtVaSetValues(textAreaForm,
+			      XmNtopAttachment, XmATTACH_WIDGET,
+			      XmNtopWidget, menuBar, NULL);
+	    else
+#endif
+		XtVaSetValues(textAreaForm,
+			      XmNtopAttachment, XmATTACH_FORM, NULL);
+	}
+	showing_tabline = showit;
+    }
+}
+
+/*
+ * Return TRUE when tabline is displayed.
+ */
+    int
+gui_mch_showing_tabline(void)
+{
+    return tabLine != (Widget)0 && showing_tabline;
+}
+
+/*
+ * Update the labels of the tabline.
+ */
+    void
+gui_mch_update_tabline(void)
+{
+    tabpage_T		*tp;
+    int			nr = 1, n;
+    Arg			args[10];
+    int			curtabidx = 0, currentpage;
+    Widget		tab;
+    XmNotebookPageInfo	page_info;
+    XmNotebookPageStatus page_status;
+    int			last_page, tab_count;
+
+    if (tabLine == (Widget)0)
+	return;
+
+    /* Add a label for each tab page.  They all contain the same text area. */
+    for (tp = first_tabpage; tp != NULL; tp = tp->tp_next, ++nr)
+    {
+	if (tp == curtab)
+	    curtabidx = nr;
+
+	page_status = XmNotebookGetPageInfo(tabLine, nr, &page_info);
+	if (page_status == XmPAGE_INVALID
+	    || page_info.major_tab_widget == (Widget)0)
+	{
+	    /* Add the tab */
+	    n = 0;
+	    XtSetArg(args[n], XmNnotebookChildType, XmMAJOR_TAB); n++;
+	    XtSetArg(args[n], XmNtraversalOn, False); n++;
+	    XtSetArg(args[n], XmNalignment, XmALIGNMENT_BEGINNING); n++;
+	    XtSetArg(args[n], XmNhighlightThickness, 1); n++;
+	    XtSetArg(args[n], XmNshadowThickness , 1); n++;
+	    tab = XmCreatePushButton(tabLine, "-Empty-", args, n);
+	    XtManageChild(tab);
+	}
+	else
+	    tab = page_info.major_tab_widget;
+
+	XtVaSetValues(tab, XmNpageNumber, nr, NULL);
+	get_tabline_label(tp);
+	XtVaSetValues(tab, XtVaTypedArg, XmNlabelString, XmRString,
+		      NameBuff, STRLEN(NameBuff) + 1, NULL);
+    }
+
+    tab_count = nr - 1;
+
+    XtVaGetValues(tabLine, XmNlastPageNumber, &last_page, NULL);
+
+    /* Remove any old labels. */
+    while (nr <= last_page)
+    {
+	if (XmNotebookGetPageInfo(tabLine, nr, &page_info) != XmPAGE_INVALID
+	    && page_info.page_number == nr
+	    && page_info.major_tab_widget != (Widget)0)
+	{
+	    XtUnmanageChild(page_info.major_tab_widget);
+	    XtDestroyWidget(page_info.major_tab_widget);
+	}
+	nr++;
+    }
+
+    XtVaSetValues(tabLine, XmNlastPageNumber, tab_count, NULL);
+
+    XtVaGetValues(tabLine, XmNcurrentPageNumber, &currentpage, NULL);
+    if (currentpage != curtabidx)
+	XtVaSetValues(tabLine, XmNcurrentPageNumber, curtabidx, NULL);
+}
+
+/*
+ * Set the current tab to "nr".  First tab is 1.
+ */
+    void
+gui_mch_set_curtab(nr)
+    int		nr;
+{
+    int		currentpage;
+
+    if (tabLine == (Widget)0)
+	return;
+
+    XtVaGetValues(tabLine, XmNcurrentPageNumber, &currentpage, NULL);
+    if (currentpage != nr)
+	XtVaSetValues(tabLine, XmNcurrentPageNumber, nr, NULL);
+}
+#endif
+
 /*
  * Set the colors of Widget "id" to the menu colors.
  */
diff --git a/src/gui_w32.c b/src/gui_w32.c
index 7a01d98..0e6e857 100644
--- a/src/gui_w32.c
+++ b/src/gui_w32.c
@@ -727,6 +727,33 @@
 	    }
 	    return MyWindowProc(hwnd, uMsg, wParam, lParam);
 	}
+	case WM_LBUTTONDBLCLK:
+	{
+	    /*
+	     * If the user double clicked the tabline, create a new tab
+	     */
+	    if (gui_mch_showing_tabline())
+	    {
+		POINT pt;
+		RECT rect;
+
+		GetCursorPos((LPPOINT)&pt);
+		GetWindowRect(s_textArea, &rect);
+		if (pt.y < rect.top)
+		{
+		    char_u	    string[3];
+
+		    string[0] = CSI;
+		    string[1] = KS_TABMENU;
+		    string[2] = KE_FILLER;
+		    add_to_input_buf(string, 3);
+		    string[0] = 0;
+		    string[1] = (char_u)(long)TABLINE_MENU_NEW;
+		    add_to_input_buf_csi(string, 2);
+		}
+	    }
+	    return MyWindowProc(hwnd, uMsg, wParam, lParam);
+	}
 #endif
 
     case WM_QUERYENDSESSION:	/* System wants to go down. */
@@ -1152,7 +1179,7 @@
      * Otherwise only characters in the active codepage will work. */
     if (GetClassInfoW(s_hinst, szVimWndClassW, &wndclassw) == 0)
     {
-	wndclassw.style = 0;
+	wndclassw.style = CS_DBLCLKS;
 	wndclassw.lpfnWndProc = _WndProc;
 	wndclassw.cbClsExtra = 0;
 	wndclassw.cbWndExtra = 0;
@@ -1183,7 +1210,7 @@
 
     if (GetClassInfo(s_hinst, szVimWndClass, &wndclass) == 0)
     {
-	wndclass.style = 0;
+	wndclass.style = CS_DBLCLKS;
 	wndclass.lpfnWndProc = _WndProc;
 	wndclass.cbClsExtra = 0;
 	wndclass.cbWndExtra = 0;
@@ -1412,11 +1439,13 @@
     int		win_xpos, win_ypos;
     WINDOWPLACEMENT wndpl;
 
-    /* try to keep window completely on screen */
-    /* get size of the screen work area (excludes taskbar, appbars) */
+    /* Try to keep window completely on screen. */
+    /* Get position of the screen work area.  This is the part that is not
+     * used by the taskbar or appbars. */
     get_work_area(&workarea_rect);
 
-    /* get current posision of our window */
+    /* Get current posision of our window.  Note that the .left and .top are
+     * relative to the work area.  */
     wndpl.length = sizeof(WINDOWPLACEMENT);
     GetWindowPlacement(s_hwnd, &wndpl);
 
@@ -1442,28 +1471,21 @@
 #endif
 			;
 
-    /* if the window is going off the screen, move it on to the screen */
-    if ((direction & RESIZE_HOR) && win_xpos + win_width > workarea_rect.right)
-	win_xpos = workarea_rect.right - win_width;
+    /* If the window is going off the screen, move it on to the screen.
+     * win_xpos and win_ypos are relative to the workarea. */
+    if ((direction & RESIZE_HOR)
+	   && workarea_rect.left + win_xpos + win_width > workarea_rect.right)
+	win_xpos = workarea_rect.right - win_width - workarea_rect.left;
 
-    if ((direction & RESIZE_HOR) && win_xpos < workarea_rect.left)
-	win_xpos = workarea_rect.left;
+    if ((direction & RESIZE_HOR) && win_xpos < 0)
+	win_xpos = 0;
 
     if ((direction & RESIZE_VERT)
-			      && win_ypos + win_height > workarea_rect.bottom)
-	win_ypos = workarea_rect.bottom - win_height;
+	  && workarea_rect.top + win_ypos + win_height > workarea_rect.bottom)
+	win_ypos = workarea_rect.bottom - win_height - workarea_rect.top;
 
-    if ((direction & RESIZE_VERT) && win_ypos < workarea_rect.top)
-	win_ypos = workarea_rect.top;
-
-    /* When the taskbar is placed on the left or top of the screen,
-     * SetWindowPlacement() adds its width or height automatically, compensate
-     * for that.  When the offset is over 400 it's probably something else,
-     * skip it then (just in case). */
-    if (workarea_rect.left > 0 && workarea_rect.left < 400)
-	win_xpos -= workarea_rect.left;
-    if (workarea_rect.top > 0 && workarea_rect.top < 400)
-	win_ypos -= workarea_rect.top;
+    if ((direction & RESIZE_VERT) && win_ypos < 0)
+	win_ypos = 0;
 
     wndpl.rcNormalPosition.left = win_xpos;
     wndpl.rcNormalPosition.right = win_xpos + win_width;
@@ -2290,13 +2312,13 @@
 
     get_work_area(&workarea_rect);
 
-    *screen_w = workarea_rect.right
+    *screen_w = workarea_rect.right - workarea_rect.left
 	        - GetSystemMetrics(SM_CXFRAME) * 2;
 
     /* FIXME: dirty trick: Because the gui_get_base_height() doesn't include
      * the menubar for MSwin, we subtract it from the screen height, so that
      * the window size can be made to fit on the screen. */
-    *screen_h = workarea_rect.bottom
+    *screen_h = workarea_rect.bottom - workarea_rect.top
 	        - GetSystemMetrics(SM_CYFRAME) * 2
 		- GetSystemMetrics(SM_CYCAPTION)
 #ifdef FEAT_MENU
@@ -3956,11 +3978,24 @@
     static void
 initialise_tabline(void)
 {
+# ifdef USE_SYSMENU_FONT
+    LOGFONT    lfSysmenu;
+# endif
+
     InitCommonControls();
 
-    s_tabhwnd = CreateWindow(WC_TABCONTROL, "", WS_CHILD|TCS_FOCUSNEVER,
+    s_tabhwnd = CreateWindow(WC_TABCONTROL, "Vim tabline",
+	    WS_CHILD|TCS_FOCUSNEVER,
 	    CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
 	    CW_USEDEFAULT, s_hwnd, NULL, s_hinst, NULL);
+
+# ifdef USE_SYSMENU_FONT
+    if (gui_w32_get_menu_font(&lfSysmenu) == OK)
+    {
+	HFONT font = CreateFontIndirect(&lfSysmenu);
+	SendMessage(s_tabhwnd, WM_SETFONT, (WPARAM) font, TRUE);
+    }
+# endif
 }
 #endif
 
diff --git a/src/gui_xmebw.c b/src/gui_xmebw.c
index ff7d2e6..70e7df7 100644
--- a/src/gui_xmebw.c
+++ b/src/gui_xmebw.c
@@ -28,7 +28,7 @@
 #include <Xm/XmP.h>
 #include <Xm/DrawP.h>
 #if defined(HAVE_XM_TRAITP_H) && defined(HAVE_XM_MANAGER_H) \
-    && defined(HAVE_XM_UNHIGHLIGHT_H) && defined(HAVE_XM_XPMP_H)
+	&& defined(HAVE_XM_UNHIGHLIGHTT_H) && defined(HAVE_XM_XPMP_H)
 # include <Xm/TraitP.h>
 # include <Xm/Manager.h>
 # include <Xm/UnhighlightT.h>
@@ -274,7 +274,9 @@
     static void
 set_pixmap(XmEnhancedButtonWidget eb)
 {
-    XpmAttributes   attr;
+    /* Configure defines XPMATTRIBUTES_TYPE as XpmAttributes or as
+     * XpmAttributes_21, depending on what is in Xm/XpmP.h. */
+    XPMATTRIBUTES_TYPE   attr;
     Pixmap	    sen_pix;
     Window	    root;
     static XpmColorSymbol color[8] = {
diff --git a/src/hardcopy.c b/src/hardcopy.c
index e9aa2bd..e6c89a6 100644
--- a/src/hardcopy.c
+++ b/src/hardcopy.c
@@ -2473,6 +2473,7 @@
     double      top;
     double      bottom;
 #ifdef FEAT_MBYTE
+    int         props;
     int         cmap;
     char_u	*p_encoding;
     struct prt_ps_encoding_S *p_mbenc;
@@ -2510,22 +2511,26 @@
      * This is to cope with the fact that various unicode encodings are
      * supported in more than one of CJK. */
     p_mbenc = NULL;
-    p_mbenc_first = NULL;
-    p_mbchar = NULL;
-    for (cmap = 0; cmap < NUM_ELEMENTS(prt_ps_mbfonts); cmap++)
-        if (prt_match_encoding((char *)p_encoding, &prt_ps_mbfonts[cmap],
+    props = enc_canon_props(p_encoding);
+    if (!(props & ENC_8BIT) && (*p_penc != NUL || *p_pmcs != NUL))
+    {
+        p_mbenc_first = NULL;
+        p_mbchar = NULL;
+        for (cmap = 0; cmap < NUM_ELEMENTS(prt_ps_mbfonts); cmap++)
+            if (prt_match_encoding((char *)p_encoding, &prt_ps_mbfonts[cmap],
 								    &p_mbenc))
-        {
-            if (p_mbenc_first == NULL)
-                p_mbenc_first = p_mbenc;
-            if (prt_match_charset((char *)p_pmcs, &prt_ps_mbfonts[cmap],
+            {
+                if (p_mbenc_first == NULL)
+                    p_mbenc_first = p_mbenc;
+                if (prt_match_charset((char *)p_pmcs, &prt_ps_mbfonts[cmap],
 								   &p_mbchar))
-                break;
-        }
+                    break;
+            }
 
-    /* Use first encoding matched if no charset matched */
-    if (p_mbchar == NULL && p_mbenc_first != NULL)
-        p_mbenc = p_mbenc_first;
+        /* Use first encoding matched if no charset matched */
+        if (p_mbchar == NULL && p_mbenc_first != NULL)
+            p_mbenc = p_mbenc_first;
+    }
 
     prt_out_mbyte = (p_mbenc != NULL);
     if (prt_out_mbyte)
diff --git a/src/if_xcmdsrv.c b/src/if_xcmdsrv.c
index d19f50d..ef6e257 100644
--- a/src/if_xcmdsrv.c
+++ b/src/if_xcmdsrv.c
@@ -1111,14 +1111,23 @@
     int		result, actualFormat;
     long_u	bytesAfter;
     Atom	actualType;
+    XErrorHandler old_handler;
 
     *regPropp = NULL;
+    old_handler = XSetErrorHandler(x_error_check);
+    got_x_error = FALSE;
+
     result = XGetWindowProperty(dpy, RootWindow(dpy, 0), registryProperty, 0L,
 				(long)MAX_PROP_WORDS, False,
 				XA_STRING, &actualType,
 				&actualFormat, numItemsp, &bytesAfter,
 				regPropp);
 
+    XSync(dpy, FALSE);
+    (void)XSetErrorHandler(old_handler);
+    if (got_x_error)
+	return FAIL;
+
     if (actualType == None)
     {
 	/* No prop yet. Logically equal to the empty list */
diff --git a/src/infplist.xml b/src/infplist.xml
index f0ba5fc..c58cf74 100644
--- a/src/infplist.xml
+++ b/src/infplist.xml
@@ -4,6 +4,8 @@
 <plist version="0.9">
 	<dict>
 
+		<key>CFBundleIdentifier</key>
+		<string>org.vim.Vim-APP_VER</string>
 		<key>CFBundleInfoDictionaryVersion</key>
 		<string>6.0</string>
 
@@ -25,19 +27,40 @@
 		<key>CSResourcesFileMapped</key>
 		<true/>
 		<key>CFBundleIconFile</key>
-		<string>ICON_APP</string>
+		<string>app.icns</string>
 
 		<key>CFBundleDocumentTypes</key>
 		<array>
 			<dict>
 				<key>CFBundleTypeExtensions</key>
 				<array>
-					<string>*</string>
+					<string>txt</string>
+					<string>text</string>
+				</array>
+				<key>CFBundleTypeMIMETypes</key>
+				<array>
+					<string>text/plain</string>
 				</array>
 				<key>CFBundleTypeIconFile</key>
 				<string>doc-txt.icns</string>
 				<key>CFBundleTypeName</key>
-				<string>NSStringPboardType</string>
+				<string>Text File</string>
+				<key>CFBundleTypeRole</key>
+				<string>Editor</string>
+			</dict>
+			<dict>
+				<key>CFBundleTypeExtensions</key>
+				<array>
+					<string>*</string>
+				</array>
+				<key>CFBundleTypeMIMETypes</key>
+				<array>
+					<string>text/*</string>
+				</array>
+				<key>CFBundleTypeIconFile</key>
+				<string>doc.icns</string>
+				<key>CFBundleTypeName</key>
+				<string>File</string>
 				<key>CFBundleTypeOSTypes</key>
 				<array>
 					<string>****</string>
diff --git a/src/installman.sh b/src/installman.sh
index 3c34ab6..9943109 100755
--- a/src/installman.sh
+++ b/src/installman.sh
@@ -25,8 +25,11 @@
 helpsource=$7
 manmod=$8
 exename=$9
-vimdiffname=${10}
-evimname=${11}
+# older shells don't support ${10}
+shift
+vimdiffname=$9
+shift
+evimname=$9
 
 helpsubloc=$scriptloc/doc
 synsubloc=$scriptloc/syntax
diff --git a/src/installml.sh b/src/installml.sh
index 8cb9264..0de60ad 100644
--- a/src/installml.sh
+++ b/src/installml.sh
@@ -30,40 +30,48 @@
 exname=$7
 viewname=$8
 rvimname=$9
-rviewname=${10}
-gvimname=${11}
-gviewname=${12}
-rgvimname=${13}
-rgviewname=${14}
-gvimdiffname=${15}
-eviewname=${16}
+# old shells don't understand ${10}
+shift
+rviewname=$9
+shift
+gvimname=$9
+shift
+gviewname=$9
+shift
+rgvimname=$9
+shift
+rgviewname=$9
+shift
+gvimdiffname=$9
+shift
+eviewname=$9
 
-if test $what = "install" -a \( -e $destdir/$vimname.1 -o -e $destdir/$vimdiffname.1 -o -e $destdir/$eviewname.1 \); then
+if test $what = "install" -a \( -f $destdir/$vimname.1 -o -f $destdir/$vimdiffname.1 -o -f $destdir/$eviewname.1 \); then
    if test ! -d $destdir; then
       echo creating $destdir
       ./mkinstalldirs $destdir
    fi
 
    # ex
-   if test ! -e $destdir/$exname.1 -a -e $destdir/$vimname.1; then
+   if test ! -f $destdir/$exname.1 -a -f $destdir/$vimname.1; then
       echo creating link $destdir/$exname.1
       cd $destdir; ln -s $vimname.1 $exname.1
    fi
 
    # view
-   if test ! -e $destdir/$viewname.1 -a -e $destdir/$vimname.1; then
+   if test ! -f $destdir/$viewname.1 -a -f $destdir/$vimname.1; then
       echo creating link $destdir/$viewname.1
       cd $destdir; ln -s $vimname.1 $viewname.1
    fi
 
    # rvim
-   if test ! -e $destdir/$rvimname.1 -a -e $destdir/$vimname.1; then
+   if test ! -f $destdir/$rvimname.1 -a -f $destdir/$vimname.1; then
       echo creating link $destdir/$rvimname.1
       cd $destdir; ln -s $vimname.1 $rvimname.1
    fi
 
    # rview
-   if test ! -e $destdir/$rviewname.1 -a -e $destdir/$vimname.1; then
+   if test ! -f $destdir/$rviewname.1 -a -f $destdir/$vimname.1; then
       echo creating link $destdir/$rviewname.1
       cd $destdir; ln -s $vimname.1 $rviewname.1
    fi
@@ -71,37 +79,37 @@
    # GUI targets are optional
    if test "$gui" = "yes"; then
       # gvim
-      if test ! -e $destdir/$gvimname.1 -a -e $destdir/$vimname.1; then
+      if test ! -f $destdir/$gvimname.1 -a -f $destdir/$vimname.1; then
 	 echo creating link $destdir/$gvimname.1
 	 cd $destdir; ln -s $vimname.1 $gvimname.1
       fi
 
       # gview
-      if test ! -e $destdir/$gviewname.1 -a -e $destdir/$vimname.1; then
+      if test ! -f $destdir/$gviewname.1 -a -f $destdir/$vimname.1; then
 	 echo creating link $destdir/$gviewname.1
 	 cd $destdir; ln -s $vimname.1 $gviewname.1
       fi
 
       # rgvim
-      if test ! -e $destdir/$rgvimname.1 -a -e $destdir/$vimname.1; then
+      if test ! -f $destdir/$rgvimname.1 -a -f $destdir/$vimname.1; then
 	 echo creating link $destdir/$rgvimname.1
 	 cd $destdir; ln -s $vimname.1 $rgvimname.1
       fi
 
       # rgview
-      if test ! -e $destdir/$rgviewname.1 -a -e $destdir/$vimname.1; then
+      if test ! -f $destdir/$rgviewname.1 -a -f $destdir/$vimname.1; then
 	 echo creating link $destdir/$rgviewname.1
 	 cd $destdir; ln -s $vimname.1 $rgviewname.1
       fi
 
       # gvimdiff
-      if test ! -e $destdir/$gvimdiffname.1 -a -e $destdir/$vimdiffname.1; then
+      if test ! -f $destdir/$gvimdiffname.1 -a -f $destdir/$vimdiffname.1; then
 	 echo creating link $destdir/$gvimdiffname.1
 	 cd $destdir; ln -s $vimdiffname.1 $gvimdiffname.1
       fi
 
       # eview
-      if test ! -e $destdir/$eviewname.1 -a -e $destdir/$evimname.1; then
+      if test ! -f $destdir/$eviewname.1 -a -f $destdir/$evimname.1; then
 	 echo creating link $destdir/$eviewname.1
 	 cd $destdir; ln -s $evimname.1 $eviewname.1
       fi
diff --git a/src/main.aap b/src/main.aap
index 3fb2a9c..3ce0890 100644
--- a/src/main.aap
+++ b/src/main.aap
@@ -724,6 +724,7 @@
                 $DEST_RT $DEST_HELP $DEST_COL $DEST_SYN $DEST_IND
                 $DEST_FTP $DEST_AUTO $DEST_PLUG $DEST_TUTOR $DEST_COMP
                 $DEST_SPELL $DEST_PRINT
+        :chmod 755 installman.sh
         :sys ./installman.sh install $(DEST_MAN) "" $(INSTALLMANARGS)
 
         :cd $HELPSOURCE
@@ -855,6 +856,7 @@
         :copy xxd/xxd$EXESUF $DEST_BIN
         :do strip $DEST_BIN/xxd$EXESUF
         :chmod $BINMOD $DEST_BIN/xxd$EXESUF
+        :chmod 755 installman.sh
         :sys ./installman.sh xxd $(DEST_MAN) "" $(INSTALLMANARGS)
 #
 # install the runtime tools
@@ -891,6 +893,7 @@
 
 # install the language specific files for tools, if they were unpacked
 install-tool-languages:
+        :chmod 755 installman.sh
         :sys ./installman.sh xxd $(DEST_MAN_FR) "-fr" $(INSTALLMANARGS)
 	:sys ./installman.sh xxd $(DEST_MAN_FR_I) "-fr" $(INSTALLMANARGS)
 	:sys ./installman.sh xxd $(DEST_MAN_FR_U) "-fr.UTF-8" $(INSTALLMANARGS)
@@ -904,6 +907,7 @@
 
 # install the language specific files, if they were unpacked
 install-languages {virtual}{force}: languages $DEST_LANG $DEST_KMAP
+        :chmod 755 installman.sh
         :sys ./installman.sh install $(DEST_MAN_FR) "-fr" $(INSTALLMANARGS)
 	:sys ./installman.sh install $(DEST_MAN_FR_I) "-fr" $(INSTALLMANARGS)
 	:sys ./installman.sh install $(DEST_MAN_FR_U) "-fr.UTF-8" $(INSTALLMANARGS)
@@ -914,6 +918,7 @@
 	:sys ./installman.sh install $(DEST_MAN_PL_U) "-pl.UTF-8" $(INSTALLMANARGS)
 	:sys ./installman.sh install $(DEST_MAN_RU) "-ru" $(INSTALLMANARGS)
 	:sys ./installman.sh install $(DEST_MAN_RU_U) "-ru.UTF-8" $(INSTALLMANARGS)
+        :chmod 755 installml.sh
 	:sys ./installml.sh install "$(GUI_MAN_TARGETS)" \
 		$(DEST_MAN_FR) $(INSTALLMLARGS)
         :sys ./installml.sh install "$(GUI_MAN_TARGETS)" \
@@ -1034,6 +1039,7 @@
 		$(GVIMDIFFNAME) $(EVIEWNAME)
 
 installmanlinks {virtual}:
+    :chmod 755 installml.sh
     :sys ./installml.sh install "$(GUI_MAN_TARGETS)" \
 		$(DEST_MAN) $(INSTALLMLARGS)
 
@@ -1054,6 +1060,7 @@
 # Note: "deldir" will fail if any files were added after "make install", that
 # is intentionally: Keep files the user added.
 uninstall_runtime {virtual}{force}:
+    :chmod 755 installman.sh
     :sys ./installman.sh uninstall $(DEST_MAN) "" $(INSTALLMANARGS)
     :sys ./installman.sh uninstall $(DEST_MAN_FR) "" $(INSTALLMANARGS)
     :sys ./installman.sh uninstall $(DEST_MAN_FR_I) "" $(INSTALLMANARGS)
@@ -1065,6 +1072,7 @@
     :sys ./installman.sh uninstall $(DEST_MAN_PL_U) "" $(INSTALLMANARGS)
     :sys ./installman.sh uninstall $(DEST_MAN_RU) "" $(INSTALLMANARGS)
     :sys ./installman.sh uninstall $(DEST_MAN_RU_U) "" $(INSTALLMANARGS)
+    :chmod 755 installml.sh
     :sys ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
             $(DEST_MAN) $(INSTALLMLARGS)
     :sys ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
diff --git a/src/main.c b/src/main.c
index 32f9115..f8b4fa9 100644
--- a/src/main.c
+++ b/src/main.c
@@ -2168,11 +2168,10 @@
 
 #if defined(FEAT_MBYTE) && defined(WIN32)
 	    {
-		extern void used_file_arg(char *, int, int);
-
 		/* Remember this argument has been added to the argument list.
 		 * Needed when 'encoding' is changed. */
-		used_file_arg(argv[0], parmp->literal, parmp->full_path);
+		used_file_arg(argv[0], parmp->literal, parmp->full_path,
+							    parmp->diff_mode);
 	    }
 #endif
 	}
@@ -2567,7 +2566,7 @@
      */
     if (parmp->evim_mode)
     {
-	(void)do_source((char_u *)EVIM_FILE, FALSE, FALSE);
+	(void)do_source((char_u *)EVIM_FILE, FALSE, DOSO_NONE);
 	TIME_MSG("source evim file");
     }
 
@@ -2589,7 +2588,7 @@
 	}
 	else
 	{
-	    if (do_source(parmp->use_vimrc, FALSE, FALSE) != OK)
+	    if (do_source(parmp->use_vimrc, FALSE, DOSO_NONE) != OK)
 		EMSG2(_("E282: Cannot read from \"%s\""), parmp->use_vimrc);
 	}
     }
@@ -2607,10 +2606,10 @@
 	 * Get system wide defaults, if the file name is defined.
 	 */
 #ifdef SYS_VIMRC_FILE
-	(void)do_source((char_u *)SYS_VIMRC_FILE, FALSE, FALSE);
+	(void)do_source((char_u *)SYS_VIMRC_FILE, FALSE, DOSO_NONE);
 #endif
 #ifdef MACOS_X
-	(void)do_source((char_u *)"$VIMRUNTIME/macmap.vim", FALSE, FALSE);
+	(void)do_source((char_u *)"$VIMRUNTIME/macmap.vim", FALSE, DOSO_NONE);
 #endif
 
 	/*
@@ -2625,18 +2624,20 @@
 	 */
 	if (process_env((char_u *)"VIMINIT", TRUE) != OK)
 	{
-	    if (do_source((char_u *)USR_VIMRC_FILE, TRUE, TRUE) == FAIL
+	    if (do_source((char_u *)USR_VIMRC_FILE, TRUE, DOSO_VIMRC) == FAIL
 #ifdef USR_VIMRC_FILE2
-		&& do_source((char_u *)USR_VIMRC_FILE2, TRUE, TRUE) == FAIL
+		&& do_source((char_u *)USR_VIMRC_FILE2, TRUE,
+							   DOSO_VIMRC) == FAIL
 #endif
 #ifdef USR_VIMRC_FILE3
-		&& do_source((char_u *)USR_VIMRC_FILE3, TRUE, TRUE) == FAIL
+		&& do_source((char_u *)USR_VIMRC_FILE3, TRUE,
+							   DOSO_VIMRC) == FAIL
 #endif
 		&& process_env((char_u *)"EXINIT", FALSE) == FAIL
-		&& do_source((char_u *)USR_EXRC_FILE, FALSE, FALSE) == FAIL)
+		&& do_source((char_u *)USR_EXRC_FILE, FALSE, DOSO_NONE) == FAIL)
 	    {
 #ifdef USR_EXRC_FILE2
-		(void)do_source((char_u *)USR_EXRC_FILE2, FALSE, FALSE);
+		(void)do_source((char_u *)USR_EXRC_FILE2, FALSE, DOSO_NONE);
 #endif
 	    }
 	}
@@ -2674,7 +2675,7 @@
 				      (char_u *)VIMRC_FILE, FALSE) != FPC_SAME
 #endif
 				)
-		i = do_source((char_u *)VIMRC_FILE, TRUE, TRUE);
+		i = do_source((char_u *)VIMRC_FILE, TRUE, DOSO_VIMRC);
 
 	    if (i == FAIL)
 	    {
@@ -2692,7 +2693,7 @@
 				      (char_u *)EXRC_FILE, FALSE) != FPC_SAME
 #endif
 				)
-		    (void)do_source((char_u *)EXRC_FILE, FALSE, FALSE);
+		    (void)do_source((char_u *)EXRC_FILE, FALSE, DOSO_NONE);
 	    }
 	}
 	if (secure == 2)
@@ -2739,7 +2740,7 @@
     if ((initstr = mch_getenv(env)) != NULL && *initstr != NUL)
     {
 	if (is_viminit)
-	    vimrc_found();
+	    vimrc_found(NULL, NULL);
 	save_sourcing_name = sourcing_name;
 	save_sourcing_lnum = sourcing_lnum;
 	sourcing_name = env;
diff --git a/src/misc1.c b/src/misc1.c
index 1628642..22dbfc8 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -2437,7 +2437,10 @@
     {
 	int	save_msg_scroll = msg_scroll;
 
+	/* Give a warning about changing a read-only file.  This may also
+	 * check-out the file, thus change "curbuf"! */
 	change_warning(0);
+
 	/* Create a swap file if that is wanted.
 	 * Don't do this for "nofile" and "nowrite" buffer types. */
 	if (curbuf->b_may_swap
@@ -2913,7 +2916,9 @@
 	    && curbuf->b_p_ro)
     {
 #ifdef FEAT_AUTOCMD
+	++curbuf_lock;
 	apply_autocmds(EVENT_FILECHANGEDRO, NULL, NULL, FALSE, curbuf);
+	--curbuf_lock;
 	if (!curbuf->b_p_ro)
 	    return;
 #endif
@@ -4448,6 +4453,53 @@
 }
 #endif
 
+#if defined(FEAT_GUI_TABLINE) || defined(FEAT_WINDOWS) \
+	|| defined(FEAT_EVAL) || defined(PROTO)
+/*
+ * Shorten the path of a file from "~/foo/../.bar/fname" to "~/f/../.b/fname"
+ * It's done in-place.
+ */
+    void
+shorten_dir(str)
+    char_u *str;
+{
+    char_u	*tail, *s, *d;
+    int		skip = FALSE;
+
+    tail = gettail(str);
+    d = str;
+    for (s = str; ; ++s)
+    {
+	if (s >= tail)		    /* copy the whole tail */
+	{
+	    *d++ = *s;
+	    if (*s == NUL)
+		break;
+	}
+	else if (vim_ispathsep(*s))	    /* copy '/' and next char */
+	{
+	    *d++ = *s;
+	    skip = FALSE;
+	}
+	else if (!skip)
+	{
+	    *d++ = *s;		    /* copy next char */
+	    if (*s != '~' && *s != '.') /* and leading "~" and "." */
+		skip = TRUE;
+# ifdef FEAT_MBYTE
+	    if (has_mbyte)
+	    {
+		int l = mb_ptr2len(s);
+
+		while (--l > 0)
+		    *d++ = *s++;
+	    }
+# endif
+	}
+    }
+}
+#endif
+
 /*
  * Return TRUE if the directory of "fname" exists, FALSE otherwise.
  * Also returns TRUE if there is no directory name.
diff --git a/src/normal.c b/src/normal.c
index 57591f7..e285b80 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -382,7 +382,7 @@
     {K_X2DRAG, nv_mouse,	0,			0},
     {K_X2RELEASE, nv_mouse,	0,			0},
 #endif
-    {K_IGNORE,	nv_ignore,	0,			0},
+    {K_IGNORE,	nv_ignore,	NV_KEEPREG,		0},
     {K_NOP,	nv_nop,		0,			0},
     {K_INS,	nv_edit,	0,			0},
     {K_KINS,	nv_edit,	0,			0},
@@ -440,7 +440,7 @@
     {K_DROP,	nv_drop,	NV_STS,			0},
 #endif
 #ifdef FEAT_AUTOCMD
-    {K_CURSORHOLD, nv_cursorhold, 0,			0},
+    {K_CURSORHOLD, nv_cursorhold, NV_KEEPREG,		0},
 #endif
 };
 
@@ -572,8 +572,8 @@
 #ifdef FEAT_VISUAL
     pos_T	old_pos;		/* cursor position before command */
     int		mapped_len;
-#endif
     static int	old_mapped_len = 0;
+#endif
     int		idx;
 
     vim_memset(&ca, 0, sizeof(ca));	/* also resets ca.retval */
@@ -624,6 +624,7 @@
     LANGMAP_ADJUST(c, TRUE);
 #endif
 
+#ifdef FEAT_VISUAL
     /*
      * If a mapping was started in Visual or Select mode, remember the length
      * of the mapping.  This is used below to not return to Insert mode for as
@@ -632,11 +633,9 @@
     if (restart_edit == 0)
 	old_mapped_len = 0;
     else if (old_mapped_len
-#ifdef FEAT_VISUAL
-	    || (VIsual_active && mapped_len == 0 && typebuf_maplen() > 0)
-#endif
-	    )
+		|| (VIsual_active && mapped_len == 0 && typebuf_maplen() > 0))
 	old_mapped_len = typebuf_maplen();
+#endif
 
     if (c == NUL)
 	c = K_ZERO;
@@ -805,6 +804,10 @@
 	text_locked_msg();
 	goto normal_end;
     }
+#ifdef FEAT_AUTOCMD
+    if ((nv_cmds[idx].cmd_flags & NV_NCW) && curbuf_locked())
+	goto normal_end;
+#endif
 
 #ifdef FEAT_VISUAL
     /*
@@ -1151,10 +1154,12 @@
 #endif
     }
 
+#ifdef FEAT_VISUAL
     /* Get the length of mapped chars again after typing a count, second
      * character or "z333<cr>". */
     if (old_mapped_len > 0)
 	old_mapped_len = typebuf_maplen();
+#endif
 
     /*
      * If an operation is pending, handle it...
@@ -1288,6 +1293,8 @@
 #ifdef FEAT_VISUAL
 	    && ((restart_edit != 0 && !VIsual_active && old_mapped_len == 0)
 		|| restart_VIsual_select == 1)
+#else
+	    && restart_edit != 0
 #endif
 	    && !(ca.retval & CA_COMMAND_BUSY)
 	    && stuff_empty()
@@ -1303,9 +1310,9 @@
 #endif
 	if (restart_edit != 0
 #ifdef FEAT_VISUAL
-		&& !VIsual_active
+		&& !VIsual_active && old_mapped_len == 0
 #endif
-		&& old_mapped_len == 0)
+		)
 	    (void)edit(restart_edit, FALSE, 1L);
     }
 
@@ -4065,7 +4072,20 @@
     cmdarg_T	*cap;
 {
     if (!checkclearop(cap->oap))
+    {
+#ifdef FEAT_WINDOWS
+	if (mod_mask & MOD_MASK_CTRL)
+	{
+	    /* <C-PageUp>: tab page back; <C-PageDown>: tab page forward */
+	    if (cap->arg == BACKWARD)
+		goto_tabpage(-(int)cap->count1);
+	    else
+		goto_tabpage((int)cap->count0);
+	}
+	else
+#endif
 	(void)onepage(cap->arg, cap->count1);
+    }
 }
 
 /*
@@ -5914,6 +5934,13 @@
 	text_locked_msg();
 	return;
     }
+#ifdef FEAT_AUTOCMD
+    if (curbuf_locked())
+    {
+	clearop(cap->oap);
+	return;
+    }
+#endif
 
     ptr = grab_file_name(cap->count1, &lnum);
 
@@ -6424,6 +6451,10 @@
 		clearopbeep(cap->oap);
 		break;
 	    }
+# ifdef FEAT_FOLDING
+	if (cap->oap->op_type == OP_NOP && (fdo_flags & FDO_SEARCH) && KeyTyped)
+	    foldOpenCursor();
+# endif
     }
 #endif
 
diff --git a/src/option.c b/src/option.c
index e0cfa13..2f7e90a 100644
--- a/src/option.c
+++ b/src/option.c
@@ -430,9 +430,8 @@
 
 #define ISK_LATIN1  (char_u *)"@,48-57,_,192-255"
 
-/* 'isprint' for latin1 is also used for MS-Windows, where 0x80 is used for
- * the currency sign.  This isn't really latin1 but Windows-1252, but we can't
- * detect that. */
+/* 'isprint' for latin1 is also used for MS-Windows cp1252, where 0x80 is used
+ * for the currency sign. */
 #if defined(MSDOS) || defined(MSWIN) || defined(OS2)
 # define ISP_LATIN1 (char_u *)"@,~-255"
 #else
@@ -6727,6 +6726,8 @@
 		    s = p + len + 1;
 #ifdef FEAT_MBYTE
 		    c1 = mb_ptr2char_adv(&s);
+		    if (mb_char2cells(c1) > 1)
+			continue;
 #else
 		    c1 = *s++;
 #endif
@@ -6736,6 +6737,8 @@
 			    continue;
 #ifdef FEAT_MBYTE
 			c2 = mb_ptr2char_adv(&s);
+			if (mb_char2cells(c2) > 1)
+			    continue;
 #else
 			c2 = *s++;
 #endif
@@ -10241,11 +10244,16 @@
  * Reset 'compatible' and set the values for options that didn't get set yet
  * to the Vim defaults.
  * Don't do this if the 'compatible' option has been set or reset before.
+ * When "fname" is not NULL, use it to set $"envname" when it wasn't set yet.
  */
     void
-vimrc_found()
+vimrc_found(fname, envname)
+    char_u	*fname;
+    char_u	*envname;
 {
-    int	    opt_idx;
+    int		opt_idx;
+    int		dofree;
+    char_u	*p;
 
     if (!option_was_set((char_u *)"cp"))
     {
@@ -10255,6 +10263,23 @@
 		set_option_default(opt_idx, OPT_FREE, FALSE);
 	didset_options();
     }
+
+    if (fname != NULL)
+    {
+	p = vim_getenv(envname, &dofree);
+	if (p == NULL)
+	{
+	    /* Set $MYVIMRC to the first vimrc file found. */
+	    p = FullName_save(fname, FALSE);
+	    if (p != NULL)
+	    {
+		vim_setenv(envname, p);
+		vim_free(p);
+	    }
+	}
+	else if (dofree)
+	    vim_free(p);
+    }
 }
 
 /*
diff --git a/src/os_mac_rsrc/app.icns b/src/os_mac_rsrc/app.icns
new file mode 100644
index 0000000..1442611
--- /dev/null
+++ b/src/os_mac_rsrc/app.icns
Binary files differ
diff --git a/src/os_mac_rsrc/doc-txt.icns b/src/os_mac_rsrc/doc-txt.icns
new file mode 100644
index 0000000..124a730
--- /dev/null
+++ b/src/os_mac_rsrc/doc-txt.icns
Binary files differ
diff --git a/src/os_mac_rsrc/doc.icns b/src/os_mac_rsrc/doc.icns
new file mode 100644
index 0000000..984d11d
--- /dev/null
+++ b/src/os_mac_rsrc/doc.icns
Binary files differ
diff --git a/src/os_unix.h b/src/os_unix.h
index c1458d6..821462c 100644
--- a/src/os_unix.h
+++ b/src/os_unix.h
@@ -203,29 +203,33 @@
 #endif
 
 #ifdef VMS
-#include <unixio.h>
-#include <unixlib.h>
-#include <signal.h>
-#include <file.h>
-#include <ssdef.h>
-#include <descrip.h>
-#include <libclidef.h>
-#include <lnmdef.h>
-#include <psldef.h>
-#include <prvdef.h>
-#include <dvidef.h>
-#include <dcdef.h>
-#include <stsdef.h>
-#include <iodef.h>
-#include <ttdef.h>
-#include <tt2def.h>
-#include <jpidef.h>
-#include <rms.h>
-#include <trmdef.h>
-#include <string.h>
-#include <starlet.h>
-#include <socket.h>
-#include <lib$routines.h>
+# include <unixio.h>
+# include <unixlib.h>
+# include <signal.h>
+# include <file.h>
+# include <ssdef.h>
+# include <descrip.h>
+# include <libclidef.h>
+# include <lnmdef.h>
+# include <psldef.h>
+# include <prvdef.h>
+# include <dvidef.h>
+# include <dcdef.h>
+# include <stsdef.h>
+# include <iodef.h>
+# include <ttdef.h>
+# include <tt2def.h>
+# include <jpidef.h>
+# include <rms.h>
+# include <trmdef.h>
+# include <string.h>
+# include <starlet.h>
+# include <socket.h>
+# include <lib$routines.h>
+
+# ifdef FEAT_GUI_GTK
+#  include "gui_gtk_vms.h"
+# endif
 
 typedef struct dsc$descriptor   DESC;
 #endif
diff --git a/src/os_vms_conf.h b/src/os_vms_conf.h
index 2ede37d..8b02002 100644
--- a/src/os_vms_conf.h
+++ b/src/os_vms_conf.h
@@ -179,7 +179,7 @@
 #endif
 
 /* GUI support defines */
-#ifdef FEAT_GUI_MOTIF
+#if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK)
 #define HAVE_X11
 #define USE_FONTSET
 #undef  X_LOCALE
diff --git a/src/os_win32.c b/src/os_win32.c
index a2b2c50..3973592 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -213,6 +213,7 @@
 get_exe_name(void)
 {
     char	temp[256];
+    static int	did_set_PATH = FALSE;
 
     if (exe_name == NULL)
     {
@@ -221,6 +222,29 @@
 	if (*temp != NUL)
 	    exe_name = FullName_save((char_u *)temp, FALSE);
     }
+
+    if (!did_set_PATH && exe_name != NULL)
+    {
+	char_u	    *p;
+	char_u	    *newpath;
+
+	/* Append our starting directory to $PATH, so that when doing "!xxd"
+	 * it's found in our starting directory.  Needed because SearchPath()
+	 * also looks there. */
+	p = mch_getenv("PATH");
+	newpath = alloc((unsigned)(STRLEN(p) + STRLEN(exe_name) + 2));
+	if (newpath != NULL)
+	{
+	    STRCPY(newpath, p);
+	    STRCAT(newpath, ";");
+	    vim_strncpy(newpath + STRLEN(newpath), exe_name,
+					    gettail_sep(exe_name) - exe_name);
+	    vim_setenv((char_u *)"PATH", newpath);
+	    vim_free(newpath);
+	}
+
+	did_set_PATH = TRUE;
+    }
 }
 
 #if defined(DYNAMIC_GETTEXT) || defined(PROTO)
@@ -4933,6 +4957,7 @@
 static int	used_file_count = 0;	/* nr of entries in used_file_indexes */
 static int	used_file_literal = FALSE;  /* take file names literally */
 static int	used_file_full_path = FALSE;  /* file name was full path */
+static int	used_file_diff_mode = FALSE;  /* file name was with diff mode */
 static int	used_alist_count = 0;
 
 
@@ -5001,7 +5026,7 @@
  * is called.
  */
     void
-used_file_arg(char *name, int literal, int full_path)
+used_file_arg(char *name, int literal, int full_path, int diff_mode)
 {
     int		i;
 
@@ -5016,6 +5041,7 @@
 	}
     used_file_literal = literal;
     used_file_full_path = full_path;
+    used_file_diff_mode = diff_mode;
 }
 
 /*
@@ -5072,6 +5098,22 @@
 	str = ucs2_to_enc(ArglistW[idx], NULL);
 	if (str != NULL)
 	{
+#ifdef FEAT_DIFF
+	    /* When using diff mode may need to concatenate file name to
+	     * directory name.  Just like it's done in main(). */
+	    if (used_file_diff_mode && mch_isdir(str) && GARGCOUNT > 0
+				      && !mch_isdir(alist_name(&GARGLIST[0])))
+	    {
+		char_u	    *r;
+
+		r = concat_fnames(str, gettail(alist_name(&GARGLIST[0])), TRUE);
+		if (r != NULL)
+		{
+		    vim_free(str);
+		    str = r;
+		}
+	    }
+#endif
 	    /* Re-use the old buffer by renaming it.  When not using literal
 	     * names it's done by alist_expand() below. */
 	    if (used_file_literal)
diff --git a/src/po/Makefile b/src/po/Makefile
index 185bc2a..d30d72f 100644
--- a/src/po/Makefile
+++ b/src/po/Makefile
@@ -56,6 +56,7 @@
 		cs.cp1250.mo \
 		ja.sjis.mo \
 		pl.cp1250.mo \
+		pl.UTF-8.mo \
 		ru.cp1251.mo \
 		sk.cp1250.mo \
 		uk.cp1251.mo \
@@ -87,6 +88,7 @@
 		cs.cp1250.ck \
 		ja.sjis.ck \
 		pl.cp1250.ck \
+		pl.UTF-8.ck \
 		ru.cp1251.ck \
 		sk.cp1250.ck \
 		uk.cp1251.ck \
@@ -169,6 +171,12 @@
 	iconv -f iso-8859-2 -t cp1250 pl.po | \
 		sed -e 's/charset=ISO-8859-2/charset=cp1250/' -e 's/# Original translations/# Generated from pl.po, DO NOT EDIT/' > pl.cp1250.po
 
+# Convert pl.po to create pl.UTF-8.po.
+pl.UTF-8.po: pl.po
+	rm -f pl.UTF-8.po
+	iconv -f iso-8859-2 -t utf-8 pl.po | \
+		sed -e 's/charset=ISO-8859-2/charset=utf-8/' -e 's/# Original translations/# Generated from pl.po, DO NOT EDIT/' > pl.UTF-8.po
+
 # Convert sk.po to create sk.cp1250.po.
 sk.cp1250.po: sk.po
 	rm -f sk.cp1250.po
diff --git a/src/po/de.po b/src/po/de.po
index 769caf2..b720e91 100644
--- a/src/po/de.po
+++ b/src/po/de.po
@@ -3,29 +3,26 @@
 # Do ":help uganda"  in Vim to read copying and usage conditions.
 # Do ":help credits" in Vim to see a list of people who contributed.
 #
-# Previous-Translator(s): Johannes Zellner <johannes@zellner.org>
-#
-# thoughts (Gedanken)
-#
-# - mark    : Markierung oder Marke?
-# - ambigous: Mehrdeutig
-#
+# Previous-Translator(s): 
+# Johannes Zellner <johannes@zellner.org>
+# Gerfried Fuchs <alfie@ist.org>
+
 msgid ""
 msgstr ""
 "Project-Id-Version: Vim(deutsch)\n"
-"POT-Creation-Date: 2004-05-14 18:11+0200\n"
-"PO-Revision-Date: 2004-10-13 17:26+0200\n"
-"Last-Translator: Gerfried Fuchs <alfie@ist.org>\n"
+"POT-Creation-Date: 2006-04-02 11:30+0200\n"
+"PO-Revision-Date: 2006-04-02 17:26+0200\n"
+"Last-Translator: Georg Dahn <gorgyd@yahoo.co.uk>\n"
 "Language-Team: German <de@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO_8859-1\n"
 "Content-Transfer-Encoding: 8-bit\n"
 
 msgid "E82: Cannot allocate any buffer, exiting..."
-msgstr "E82: Kein Puffer kann alloziert werden; beenden..."
+msgstr "E82: Kann keinen Puffer allozieren; beenden..."
 
 msgid "E83: Cannot allocate buffer, using other one..."
-msgstr "E83: Puffer kann nicht alloziert werden; benutze einen anderen..."
+msgstr "E83: Kann den Puffer nicht allozieren; benutze einen anderen..."
 
 msgid "E515: No buffers were unloaded"
 msgstr "E515: Keine Puffer wurden ausgeladen"
@@ -37,32 +34,32 @@
 msgstr "E517: Keine Puffer wurden gelöscht"
 
 msgid "1 buffer unloaded"
-msgstr "1 Puffer ausgeladen"
+msgstr "ein Puffer ausgeladen"
 
 #, c-format
 msgid "%d buffers unloaded"
 msgstr "%d Puffer ausgeladen"
 
 msgid "1 buffer deleted"
-msgstr "1 Puffer gelöscht"
+msgstr "ein Puffer gelöscht"
 
 #, c-format
 msgid "%d buffers deleted"
 msgstr "%d Puffer gelöscht"
 
 msgid "1 buffer wiped out"
-msgstr "1 Puffer gelöscht"
+msgstr "ein Puffer gelöscht"
 
 #, c-format
 msgid "%d buffers wiped out"
 msgstr "%d Puffer gelöscht"
 
 msgid "E84: No modified buffer found"
-msgstr "E84: Es wurde keine veränderten Puffer gefunden"
+msgstr "E84: Es wurde kein veränderter Puffer gefunden"
 
 #. back where we started, didn't find anything.
 msgid "E85: There is no listed buffer"
-msgstr "E85: Es gibt keine angezeigte Puffer"
+msgstr "E85: Es gibt keine angezeigten Puffer"
 
 #, c-format
 msgid "E86: Buffer %ld does not exist"
@@ -76,18 +73,17 @@
 
 #, c-format
 msgid "E89: No write since last change for buffer %ld (add ! to override)"
-msgstr ""
-"E89: Puffer %ld seit der letzten Änderung nicht geschrieben (erzwinge mit !)"
+msgstr "E89: Puffer %ld nicht gesichert seit der letzten Änderung (erzwinge mit !)"
 
 msgid "E90: Cannot unload last buffer"
-msgstr "E90: letzter Puffer kann nicht heraus-geladen werden"
+msgstr "E90: Kann letzten Puffer nicht ausladen"
 
 msgid "W14: Warning: List of file names overflow"
 msgstr "W14: Achtung: Überlauf der Liste der Dateinamen"
 
 #, c-format
 msgid "E92: Buffer %ld not found"
-msgstr "E92: kein Puffer %ld gefunden"
+msgstr "E92: Kein Puffer %ld gefunden"
 
 #, c-format
 msgid "E93: More than one match for %s"
@@ -117,7 +113,7 @@
 msgstr "[Lese-Fehler]"
 
 msgid "[readonly]"
-msgstr "[nur Lesen]"
+msgstr "[Nur Lesen]"
 
 #, c-format
 msgid "1 line --%d%%--"
@@ -131,14 +127,14 @@
 msgid "line %ld of %ld --%d%%-- col "
 msgstr "Zeile %ld von %ld --%d%%-- Spalte "
 
-msgid "[No file]"
-msgstr "[Keine Datei]"
+msgid "[No Name]"
+msgstr "[Unbenannt]"
 
 #. must be a help buffer
 msgid "help"
-msgstr "[Hilfe]"
+msgstr "Hilfe"
 
-msgid "[help]"
+msgid "[Help]"
 msgstr "[Hilfe]"
 
 msgid "[Preview]"
@@ -147,14 +143,13 @@
 msgid "All"
 msgstr "Alles"
 
-# Ende sounds better than "Unten"
 msgid "Bot"
 msgstr "Ende"
 
-# Anfang sounds better than "Oben"
 msgid "Top"
 msgstr "Anfang"
 
+#, c-format
 msgid ""
 "\n"
 "# Buffer list:\n"
@@ -162,22 +157,22 @@
 "\n"
 "# Liste der Puffer:\n"
 
-msgid "[Error List]"
-msgstr "[Fehlerliste]"
+msgid "[Location List]"
+msgstr "[Positionsliste]"
 
-msgid "[No File]"
-msgstr "[Keine Datei]"
+msgid "[Quickfix List]"
+msgstr "[Quickfix Liste]"
 
 msgid ""
 "\n"
 "--- Signs ---"
 msgstr ""
 "\n"
-"--- Optionen ---"
+"--- Zeichen ---"
 
 #, c-format
 msgid "Signs for %s:"
-msgstr "Vorzeichen für %s:"
+msgstr "Zeichen für %s:"
 
 #, c-format
 msgid "    line=%ld  id=%d  name=%s"
@@ -185,39 +180,39 @@
 
 #, c-format
 msgid "E96: Can not diff more than %ld buffers"
-msgstr "E96: \"diff\" ist für mehr als %ld Puffer nicht möglich"
+msgstr "E96: Keine Differenz für mehr als %ld Puffer"
 
 msgid "E97: Cannot create diffs"
-msgstr "E97: Kann keine \"diffs\" erstellen"
+msgstr "E97: Kann keine Differenz erstellen"
 
 msgid "Patch file"
 msgstr "Patch-Datei"
 
 msgid "E98: Cannot read diff output"
-msgstr "E98: \"diff\"-Ausgabe kann nicht gelesen werden"
+msgstr "E98: Differenz-Ausgabe kann nicht gelesen werden"
 
 msgid "E99: Current buffer is not in diff mode"
-msgstr "E99: Aktueller Puffer ist nicht im \"diff\"-Modus"
+msgstr "E99: Aktueller Puffer ist nicht im Differenz-Modus"
 
 msgid "E100: No other buffer in diff mode"
-msgstr "E100: Kein weiterer Puffer ist im \"diff\"-Modus"
+msgstr "E100: Kein weiterer Puffer ist im Differenz-Modus"
 
 msgid "E101: More than two buffers in diff mode, don't know which one to use"
-msgstr "E101: mehrdeutig: Mehr als zwei Puffer im \"diff\"-Modus"
+msgstr "E101: Mehrdeutigkeit: Mehr als zwei Puffer im Differenz-Modus"
 
 #, c-format
 msgid "E102: Can't find buffer \"%s\""
-msgstr "E102: Puffer \"%s\" kann nicht gefunden werden"
+msgstr "E102: Kann Puffer \"%s\" nicht finden"
 
 #, c-format
 msgid "E103: Buffer \"%s\" is not in diff mode"
-msgstr "E103: Puffer \"%s\" ist nicht im \"diff\"-Modus"
+msgstr "E103: Puffer \"%s\" ist nicht im Differenz-Modus"
 
 msgid "E104: Escape not allowed in digraph"
 msgstr "E104: 'Escape' ist in einem Digraphen nicht erlaubt"
 
 msgid "E544: Keymap file not found"
-msgstr "E544: \"Keymap\"-Datei nicht gefunden"
+msgstr "E544: Datei für die Tastatur-Belegung nicht gefunden"
 
 msgid "E105: Using :loadkeymap not in a sourced file"
 msgstr "E105: :loadkeymap außerhalb einer eingelesenen Datei"
@@ -226,22 +221,17 @@
 msgstr " Stichwort-Ergänzung (^N^P)"
 
 #. ctrl_x_mode == 0, ^P/^N compl.
-msgid " ^X mode (^E^Y^L^]^F^I^K^D^V^N^P)"
-msgstr " ^X-Modus (^E^Y^L^]^F^I^K^D^V^N^P)"
-
-#. Scroll has it's own msgs, in it's place there is the msg for local
-#. * ctrl_x_mode = 0 (eg continue_status & CONT_LOCAL)  -- Acevedo
-msgid " Keyword Local completion (^N^P)"
-msgstr " lokale Stichwort-Ergänzung (^N^P)"
+msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
+msgstr " ^X Modus (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
 
 msgid " Whole line completion (^L^N^P)"
 msgstr " Zeilen-Ergänzung (^L^N^P)"
 
 msgid " File name completion (^F^N^P)"
-msgstr " Dateinamens-Ergänzung (^F^N^P)"
+msgstr " Dateinamen-Ergänzung (^F^N^P)"
 
 msgid " Tag completion (^]^N^P)"
-msgstr " Tag-Ergänzung (^]^N^P)"
+msgstr " Tag-Ergänzung  (^]^N^P)"
 
 msgid " Path pattern completion (^N^P)"
 msgstr " Pfadmuster-Ergänzung (^N^P)"
@@ -256,17 +246,29 @@
 msgstr " Thesaurus-Ergänzung (^T^N^P)"
 
 msgid " Command-line completion (^V^N^P)"
-msgstr " Kommando-Zeilen-Ergänzung (^V^N^P)"
+msgstr " Kommandozeilen-Ergänzung (^V^N^P)"
+
+msgid " User defined completion (^U^N^P)"
+msgstr " Benutzerdefinierte Ergänzung (^U^N^P)"
+
+msgid " Omni completion (^O^N^P)"
+msgstr " Omni-Ergänzung (^O^N^P)"
+
+msgid " Spelling suggestion (s^N^P)"
+msgstr " Rechtschreibprüfung-Vorschlag (s^N^P)"
+
+msgid " Keyword Local completion (^N^P)"
+msgstr " Schlüsselwort-Lokale Ergänzung(^N^P)"
 
 msgid "Hit end of paragraph"
-msgstr "Stieß an das Ende eines Absatzes"
-
-msgid "'thesaurus' option is empty"
-msgstr "Die Option 'thesaurus' ist leer"
+msgstr "Absatzende erreicht"
 
 msgid "'dictionary' option is empty"
 msgstr "Die Option 'dictionary' ist leer"
 
+msgid "'thesaurus' option is empty"
+msgstr "Die Option 'thesaurus' ist leer"
+
 #, c-format
 msgid "Scanning dictionary: %s"
 msgstr "Durchsuchen des Wörterbuchs: %s"
@@ -281,11 +283,12 @@
 msgid "Scanning: %s"
 msgstr "Durchsuche: %s"
 
+#, c-format
 msgid "Scanning tags."
 msgstr "Durchsuchen von Tags."
 
 msgid " Adding"
-msgstr " Hinzufügung der"
+msgstr " Füge hinzu"
 
 #. showmode might reset the internal line pointers, so it must
 #. * be called before line = ml_get(), or when this address is no
@@ -311,11 +314,100 @@
 msgid "match %d"
 msgstr "Treffer %d"
 
-#. Skip further arguments but do continue to
-#. * search for a trailing command.
+msgid "E18: Unexpected characters in :let"
+msgstr "E18: Unerwartete Zeichen in :let"
+
 #, c-format
-msgid "E106: Unknown variable: \"%s\""
-msgstr "E106: Unbekannte Variable: \"%s\""
+msgid "E684: list index out of range: %ld"
+msgstr "E684: List-Index außerhalb des zulässigen Bereichs: %ld"
+
+#, c-format
+msgid "E121: Undefined variable: %s"
+msgstr "E121: Undefinierte Variable: %s"
+
+msgid "E111: Missing ']'"
+msgstr "E111: Fehlende ']'"
+
+#, c-format
+msgid "E686: Argument of %s must be a List"
+msgstr "E686: Argument von %s muss eine Liste sein"
+
+#, c-format
+msgid "E712: Argument of %s must be a List or Dictionary"
+msgstr "E712: Argument von %s muss eine Liste oder ein Wörterbuch"
+
+msgid "E713: Cannot use empty key for Dictionary"
+msgstr "E713: Der Schlüssel für Wörterbuch darf nicht leer sein"
+
+msgid "E714: List required"
+msgstr "E714: Liste benötigt"
+
+msgid "E715: Dictionary required"
+msgstr "E715: Wörterbuch benötigt"
+
+#, c-format
+msgid "E118: Too many arguments for function: %s"
+msgstr "E118: Zu viele Argumente für Funktion: %s"
+
+#, c-format
+msgid "E716: Key not present in Dictionary: %s"
+msgstr "E716: Schlüssel nicht vorhanden im Wörterbuch: %s"
+
+#, c-format
+msgid "E122: Function %s already exists, add ! to replace it"
+msgstr "E122: Funktion %s existiert bereits; ! zum Ersetzen hinzufügen"
+
+msgid "E717: Dictionary entry already exists"
+msgstr "E717: Wörterbuch-Eintrag existiert bereits"
+
+msgid "E718: Funcref required"
+msgstr "E718: Funcref benötigt"
+
+msgid "E719: Cannot use [:] with a Dictionary"
+msgstr "E719: Kann [:] nicht mit einem Wörterbuch verwenden"
+
+#, c-format
+msgid "E734: Wrong variable type for %s="
+msgstr "E734: Falscher Typ der Variable für %s="
+
+#, c-format
+msgid "E130: Unknown function: %s"
+msgstr "E130: Unbekannte Funktion: %s"
+
+#, c-format
+msgid "E461: Illegal variable name: %s"
+msgstr "E461: Unzulässiger Name der Variable: %s"
+
+msgid "E687: Less targets than List items"
+msgstr "E687: Weniger Ziele als Listeneinträge"
+
+msgid "E688: More targets than List items"
+msgstr "E688: Mehr Ziele als Listeneinträge"
+
+msgid "Double ; in list of variables"
+msgstr "Doppeltes ; in der Liste von Variablen"
+
+#, c-format
+msgid "E738: Can't list variables for %s"
+msgstr "E738: Kann Variablen nicht auflisten: %s"
+
+msgid "E689: Can only index a List or Dictionary"
+msgstr "E689: Kann nur Listen und Wörterbücher indizieren"
+
+msgid "E708: [:] must come last"
+msgstr "E708: [:] muss am Schluss kommen"
+
+msgid "E709: [:] requires a List value"
+msgstr "E709: [:] benötigt eine Liste als Wert"
+
+msgid "E710: List value has more items than target"
+msgstr "E710: Listenwert hat mehr Einträge als das Ziel"
+
+msgid "E711: List value has not enough items"
+msgstr "E711: Listenwert hat nicht genügend Einträge"
+
+msgid "E690: Missing \"in\" after :for"
+msgstr "E690: Fehlendes \"in\" nach :for"
 
 #, c-format
 msgid "E107: Missing braces: %s"
@@ -325,14 +417,35 @@
 msgid "E108: No such variable: \"%s\""
 msgstr "E108: Keine solche Variable: \"%s\""
 
+msgid "E743: variable nested too deep for (un)lock"
+msgstr "E743: Variable ist zu tief verschachtelt für (un)lock"
+
 msgid "E109: Missing ':' after '?'"
-msgstr "E109: fehlender ':' nach '?'"
+msgstr "E109: Fehlender ':' nach '?'"
+
+msgid "E691: Can only compare List with List"
+msgstr "E691: Kann nur eine Liste mit einer Liste vergleichen"
+
+msgid "E692: Invalid operation for Lists"
+msgstr "E692: Unzulässige Operation für Listen"
+
+msgid "E735: Can only compare Dictionary with Dictionary"
+msgstr "E735: Kann nur ein Wörterbuch mit einem Wörterbuch vergleichen"
+
+msgid "E736: Invalid operation for Dictionary"
+msgstr "E736: Unzulässige Operation für ein Wörterbuch"
+
+msgid "E693: Can only compare Funcref with Funcref"
+msgstr "E693: Kann nur eine Funcref mit einer Funcref vergleichen"
+
+msgid "E694: Invalid operation for Funcrefs"
+msgstr "E694: Unzulässige Operation für Funcrefs"
 
 msgid "E110: Missing ')'"
-msgstr "E110: fehlende ')'"
+msgstr "E110: Fehlende ')'"
 
-msgid "E111: Missing ']'"
-msgstr "E111: fehlende ']'"
+msgid "E695: Cannot index a Funcref"
+msgstr "E695: Kann keine Funcref indizieren"
 
 #, c-format
 msgid "E112: Option name missing: %s"
@@ -351,24 +464,37 @@
 msgstr "E115: Fehlendes Anführungszeichen: %s"
 
 #, c-format
-msgid "E116: Invalid arguments for function %s"
-msgstr "E116: Unzulässige Argumente für Funktion %s"
+msgid "E696: Missing comma in List: %s"
+msgstr "E696: Fehlendes Komma in der Liste: %s"
 
 #, c-format
-msgid "E117: Unknown function: %s"
-msgstr "E117: Unbekannte Funktion: %s"
+msgid "E697: Missing end of List ']': %s"
+msgstr "E697: Fehlendes Ende der Liste ']': %s"
 
 #, c-format
-msgid "E118: Too many arguments for function: %s"
-msgstr "E118: Zu viele Argumente für Funktion: %s"
+msgid "E720: Missing colon in Dictionary: %s"
+msgstr "E720: Fehlender Doppelpunkt im Wörterbuch: %s"
 
 #, c-format
-msgid "E119: Not enough arguments for function: %s"
-msgstr "E119: Nicht genug Argumente für Funktion: %s"
+msgid "E721: Duplicate key in Dictionary: \"%s\""
+msgstr "E721: Doppelter Schlüssel im Wörterbuch: \"%s\""
 
 #, c-format
-msgid "E120: Using <SID> not in a script context: %s"
-msgstr "E120: <SID> wurde nicht in einer Skript-Umgebung benutzt: %s"
+msgid "E722: Missing comma in Dictionary: %s"
+msgstr "E722: Fehlendes Komma im Wörterbuch: %s"
+
+#, c-format
+msgid "E723: Missing end of Dictionary '}': %s"
+msgstr "E723: Fehlendes Ende des Wörterbuchs '}': %s"
+
+msgid "E724: variable nested too deep for displaying"
+msgstr "E724: Variable ist zu tief verschachtelt für die Anzeige"
+
+msgid "E699: Too many arguments"
+msgstr "E699: Zu viele Argumente"
+
+msgid "E785: complete() can only be used in Insert mode"
+msgstr "E785: complete() kann nur im Insert Modus verwendet werden"
 
 #.
 #. * Yes this is ugly, I don't particularly like it either.  But doing it
@@ -379,9 +505,17 @@
 msgstr "&Ok"
 
 #, c-format
+msgid "E737: Key already exists: %s"
+msgstr "E737: Schlüssel existiert bereits: %s"
+
+#, c-format
 msgid "+-%s%3ld lines: "
 msgstr "+-%s%3ld Zeilen: "
 
+#, c-format
+msgid "E700: Unknown function: %s"
+msgstr "E700: Unbekannte Funktion: %s"
+
 msgid ""
 "&OK\n"
 "&Cancel"
@@ -392,66 +526,111 @@
 msgid "called inputrestore() more often than inputsave()"
 msgstr "inputrestore() wurde öfter als inputsave() aufgerufen"
 
-msgid "E655: Too many symbolic links (cycle?)"
-msgstr "E655: Zu viele symbolische Links (durchgehen?)"
+msgid "E745: Range not allowed"
+msgstr "E745: Bereich nicht erlaubt"
+
+msgid "E701: Invalid type for len()"
+msgstr "E701: Unzulässiger Typ für len()"
+
+msgid "E726: Stride is zero"
+msgstr "E726: Stride ist Null"
+
+msgid "E727: Start past end"
+msgstr "E727: Start hinter dem Ende"
+
+msgid "<empty>"
+msgstr "<leer>"
 
 msgid "E240: No connection to Vim server"
 msgstr "E240: Keine Verbindung zum Vim-Server"
 
-msgid "E277: Unable to read a server reply"
-msgstr "E277: Server-Antwort kann nicht gelesen werden"
-
-msgid "E258: Unable to send to client"
-msgstr "E258: Kann nicht zum Client senden"
-
 #, c-format
 msgid "E241: Unable to send to %s"
 msgstr "E241: Kann nicht zu %s senden"
 
+msgid "E277: Unable to read a server reply"
+msgstr "E277: Server-Antwort kann nicht gelesen werden"
+
+msgid "E655: Too many symbolic links (cycle?)"
+msgstr "E655: Zu viele symbolische Links (zirkulär?)"
+
+msgid "E258: Unable to send to client"
+msgstr "E258: Kann nicht zum Client senden"
+
+msgid "E702: Sort compare function failed"
+msgstr "E702: Die Vergleichsfunktion der Sortierung ist fehlgeschlagen"
+
 msgid "(Invalid)"
-msgstr "(ungültig)"
+msgstr "(Ungültig)"
+
+msgid "E677: Error writing temp file"
+msgstr "E677: Fehler beim Schreiben einer temporären Datei"
+
+msgid "E703: Using a Funcref as a number"
+msgstr "E703: Funcref als Zahl verwendet"
+
+msgid "E745: Using a List as a number"
+msgstr "E745: Liste als Zahl verwendet"
+
+msgid "E728: Using a Dictionary as a number"
+msgstr "E728: Wörterbuch als Zahl verwendet"
+
+msgid "E729: using Funcref as a String"
+msgstr "E729: Funcref als String verwendet"
+
+msgid "E730: using List as a String"
+msgstr "E730: Liste als String verwendet"
+
+msgid "E731: using Dictionary as a String"
+msgstr "E731: Wörterbuch als String verwendet"
 
 #, c-format
-msgid "E121: Undefined variable: %s"
-msgstr "E121: Variable nicht definiert: %s"
+msgid "E704: Funcref variable name must start with a capital: %s"
+msgstr "E704: Funcref Variable muss mit einem Großbuchstaben beginnen: %s"
 
 #, c-format
-msgid "E461: Illegal variable name: %s"
-msgstr "E461: Unzulässiger Variable-Name: %s"
+msgid "E705: Variable name conflicts with existing function: %s"
+msgstr "E705: Konflikt eines Variablennamens mit bestehender Funktion: %s"
 
 #, c-format
-msgid "E122: Function %s already exists, add ! to replace it"
-msgstr "E122: Funktion %s existiert bereits; ! zum Ersetzen hinzufügen"
+msgid "E706: Variable type mismatch for: %s"
+msgstr "E706: Typ der Variable falsch zugeordnet: %s"
 
 #, c-format
-msgid "E123: Undefined function: %s"
-msgstr "E123: Funktion nicht definiert: %s"
+msgid "E741: Value is locked: %s"
+msgstr "E741: Wert ist gesperrt: %s"
+
+msgid "Unknown"
+msgstr "Unbekannt"
+
+#, c-format
+msgid "E742: Cannot change value of %s"
+msgstr "E742: Kann Wert nicht ändern: %s"
+
+msgid "E698: variable nested too deep for making a copy"
+msgstr "E698: Variable ist zu tief verschachtelt für eine Kopie"
 
 #, c-format
 msgid "E124: Missing '(': %s"
-msgstr "E124: fehlendes '(': %s"
+msgstr "E124: Fehlendes '(': %s"
 
 #, c-format
 msgid "E125: Illegal argument: %s"
 msgstr "E125: Unzulässiges Argument: %s"
 
 msgid "E126: Missing :endfunction"
-msgstr "E126: fehlendes :endfunction"
+msgstr "E126: Fehlendes :endfunction"
 
 #, c-format
-msgid "E127: Cannot redefine function %s: It is in use"
-msgstr "E127: Funktion %s kann nicht umdefiniert werden: sie ist in Verwendung"
+msgid "E746: Function name does not match script file name: %s"
+msgstr "E746: Funktionsname stimmt nicht mit dem Namen der Skript-Datei überein: %s"
 
 msgid "E129: Function name required"
-msgstr "E129: Funktions-Name wird verlangt"
+msgstr "E129: Funktionsname wird verlangt"
 
 #, c-format
-msgid "E128: Function name must start with a capital: %s"
-msgstr "E128: Funktions-Name muss mit Großbuchstaben beginnen: %s"
-
-#, c-format
-msgid "E130: Undefined function: %s"
-msgstr "E130: Funktion nicht definiert: %s"
+msgid "E128: Function name must start with a capital or contain a colon: %s"
+msgstr "E128: Funktionsname muss mit einem Großbuchstaben beginnen oder einen Doppelpunkt enthalten: %s"
 
 #, c-format
 msgid "E131: Cannot delete function %s: It is in use"
@@ -460,7 +639,6 @@
 msgid "E132: Function call depth is higher than 'maxfuncdepth'"
 msgstr "E132: Funktionsaufruf-Tiefe überschreitet 'maxfuncdepth'"
 
-#. always scroll up, don't overwrite
 #, c-format
 msgid "calling %s"
 msgstr "rufe %s auf"
@@ -474,10 +652,9 @@
 msgstr "%s lieferte #%ld zurück"
 
 #, c-format
-msgid "%s returning \"%s\""
+msgid "%s returning %s"
 msgstr "%s lieferte \"%s\" zurück"
 
-#. always scroll up, don't overwrite
 #, c-format
 msgid "continuing in %s"
 msgstr "weiter in %s"
@@ -485,6 +662,7 @@
 msgid "E133: :return not inside a function"
 msgstr "E133: :return außerhalb einer Funktion"
 
+#, c-format
 msgid ""
 "\n"
 "# global variables:\n"
@@ -492,6 +670,13 @@
 "\n"
 "# globale Variablen:\n"
 
+msgid ""
+"\n"
+"\tLast set from "
+msgstr ""
+"\n"
+"\tZuletzt gesetzt von "
+
 #, c-format
 msgid "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
 msgstr "<%s>%s%s  %d,  Hex %02x,  Oktal %03o"
@@ -539,10 +724,10 @@
 msgstr " Information"
 
 msgid " marks"
-msgstr "Markierungen"
+msgstr " Markierungen"
 
 msgid " FAILED"
-msgstr " DURCHGEFALLEN"
+msgstr " FEHLGESCHLAGEN"
 
 #, c-format
 msgid "E137: Viminfo file is not writable: %s"
@@ -550,7 +735,7 @@
 
 #, c-format
 msgid "E138: Can't write viminfo file %s!"
-msgstr "E138: Schreiben in die viminfo-Datei %s ist nicht möglich!"
+msgstr "E138: Schreiben der viminfo-Datei %s ist nicht möglich!"
 
 #, c-format
 msgid "Writing viminfo file \"%s\""
@@ -561,6 +746,7 @@
 msgid "# This viminfo file was generated by Vim %s.\n"
 msgstr "# Diese viminfo-Datei wurde von Vim %s generiert.\n"
 
+#, c-format
 msgid ""
 "# You may edit it if you're careful!\n"
 "\n"
@@ -568,6 +754,7 @@
 "# Sie können sie verändern, wenn Sie vorsichtig vorgehen!\n"
 "\n"
 
+#, c-format
 msgid "# Value of 'encoding' when this file was written\n"
 msgstr "# Wert von 'encoding', als diese Datei geschrieben wurde\n"
 
@@ -575,39 +762,39 @@
 msgstr "Unzulässiges Zeichen am Anfang"
 
 msgid "Save As"
-msgstr "Schreibe Als"
-
-#. Overwriting a file that is loaded in another buffer is not a
-#. * good idea.
-msgid "E139: File is loaded in another buffer"
-msgstr "E139: Datei ist in einem anderen Puffer geladen"
+msgstr "Schreibe als"
 
 msgid "Write partial file?"
 msgstr "Partielle Datei schreiben?"
 
 msgid "E140: Use ! to write partial buffer"
-msgstr "E140: Verwenden Sie ! zum Schreiben von partiellen Puffern"
+msgstr "E140: Zum Schreiben von partiellen Puffern ! verwenden"
 
 #, c-format
-msgid "Overwrite existing file \"%.*s\"?"
-msgstr "Überschreibe existierende Datei \"%.*s\"?"
+msgid "Overwrite existing file \"%s\"?"
+msgstr "Überschreibe existierende Datei \"%s\"?"
 
-# Cursor: Schreibmarke Positionsmarke
+#, c-format
+msgid "Swap file \"%s\" exists, overwrite anyway?"
+msgstr "Auslagerungsdatei \"%s\" existiert bereits. Überschreiben?"
+
+#, c-format
+msgid "E768: Swap file exists: %s (:silent! overrides)"
+msgstr "E768: Auslagerungsdatei existiert bereits: %s (mit :silent! erzwingen)"
+
 #, c-format
 msgid "E141: No file name for buffer %ld"
 msgstr "E141: Kein Dateiname für Puffer %ld"
 
 msgid "E142: File not written: Writing is disabled by 'write' option"
-msgstr ""
-"E142: Datei wurde nicht geschrieben: Schreiben ist durch die 'write'-Option "
-"ausgeschaltet"
+msgstr "E142: Datei wurde nicht geschrieben: Schreiben ist durch die 'write'-Option ausgeschaltet"
 
 #, c-format
 msgid ""
-"'readonly' option is set for \"%.*s\".\n"
+"'readonly' option is set for \"%s\".\n"
 "Do you wish to write anyway?"
 msgstr ""
-"'readonly'-Option ist für \"%.*s\" gesetzt.\n"
+"'readonly'-Option ist für \"%s\" gesetzt.\n"
 "Möchten Sie trotzdem schreiben?"
 
 msgid "Edit File"
@@ -618,7 +805,7 @@
 msgstr "E143: Auto-Kommandos löschten unerwartet neuen Puffer %s"
 
 msgid "E144: non-numeric argument to :z"
-msgstr "E144: nicht numerisches Argument für :z"
+msgstr "E144: Nicht-numerisches Argument für :z"
 
 msgid "E145: Shell commands not allowed in rvim"
 msgstr "E145: Shell Befehle sind in rvim nicht erlaubt"
@@ -633,10 +820,17 @@
 msgid "(Interrupted) "
 msgstr "(Unterbrochen) "
 
+msgid "1 match"
+msgstr "ein Treffer"
+
 msgid "1 substitution"
 msgstr "eine Ersetzung"
 
 #, c-format
+msgid "%ld matches"
+msgstr "%ld Treffer"
+
+#, c-format
 msgid "%ld substitutions"
 msgstr "%ld Ersetzungen"
 
@@ -657,6 +851,7 @@
 msgid "Pattern found in every line: %s"
 msgstr "Muster in jeder Zeile gefunden: %s"
 
+#, c-format
 msgid ""
 "\n"
 "# Last Substitute String:\n"
@@ -683,7 +878,7 @@
 
 #, c-format
 msgid "E150: Not a directory: %s"
-msgstr "E150: kein Verzeichnis: %s"
+msgstr "E150: Kein Verzeichnis: %s"
 
 #, c-format
 msgid "E152: Cannot open %s for writing"
@@ -728,7 +923,7 @@
 
 #, c-format
 msgid "E157: Invalid sign ID: %ld"
-msgstr "E157: ungültige Zeichen-ID: %ld"
+msgstr "E157: Ungültige Zeichen-ID: %ld"
 
 msgid " (NOT FOUND)"
 msgstr " (NICHT GEFUNDEN)"
@@ -737,7 +932,7 @@
 msgstr " (nicht unterstützt)"
 
 msgid "[Deleted]"
-msgstr "[gelöscht]"
+msgstr "[Gelöscht]"
 
 msgid "Entering Debug mode.  Type \"cont\" to continue."
 msgstr "Debug-Modus. Geben Sie \"cont\" zum Fortsetzen ein."
@@ -765,9 +960,12 @@
 msgid "%3d  %s %s  line %ld"
 msgstr "%3d  %s %s  Zeile %ld"
 
+msgid "E750: First use :profile start <fname>"
+msgstr "E750: Erste Verwendung von :profile startet <fname>"
+
 #, c-format
-msgid "Save changes to \"%.*s\"?"
-msgstr "Änderungen in \"%.*s\" speichern?"
+msgid "Save changes to \"%s\"?"
+msgstr "Änderungen in \"%s\" speichern?"
 
 msgid "Untitled"
 msgstr "Unbenannt"
@@ -777,9 +975,7 @@
 msgstr "E162: Puffer \"%s\" wurde seit der letzten Änderung nicht geschrieben"
 
 msgid "Warning: Entered other buffer unexpectedly (check autocommands)"
-msgstr ""
-"Achtung: Unerwarteter Eintritt in einen andren Puffer (überprüfen Siedie "
-"Autocommands)"
+msgstr "Achtung: Unerwarteter Eintritt in einen andren Puffer (überprüfen Sie die Autocommandos)"
 
 msgid "E163: There is only one file to edit"
 msgstr "E163: Es gibt nur eine Datei zum Editieren"
@@ -833,6 +1029,21 @@
 msgid "finished sourcing %s"
 msgstr "Lesen von %s beendet"
 
+msgid "modeline"
+msgstr "modeline"
+
+msgid "--cmd argument"
+msgstr "--cmd Argument"
+
+msgid "-c argument"
+msgstr "-c Argument"
+
+msgid "environment variable"
+msgstr "Umgebungsvariable"
+
+msgid "error handler"
+msgstr "Error-Handler"
+
 msgid "W15: Warning: Wrong line separator, ^M may be missing"
 msgstr "W15: Achtung: Falscher Zeilentrenner, vielleicht fehlt ein ^M"
 
@@ -843,78 +1054,6 @@
 msgstr "E168: :finish außerhalb einer eingelesenen Datei"
 
 #, c-format
-msgid "Page %d"
-msgstr "Seite %d"
-
-msgid "No text to be printed"
-msgstr "Kein Text zum Drucken"
-
-#, c-format
-msgid "Printing page %d (%d%%)"
-msgstr "Drucke Seite %d (%d%%)"
-
-#, c-format
-msgid " Copy %d of %d"
-msgstr " Kopie %d von %d"
-
-#, c-format
-msgid "Printed: %s"
-msgstr "Gedruckt: %s"
-
-msgid "Printing aborted"
-msgstr "Drucken abgebrochen"
-
-msgid "E455: Error writing to PostScript output file"
-msgstr "E455: Fehler beim Schreiben der PostScript Ausgabe-Datei"
-
-#, c-format
-msgid "E624: Can't open file \"%s\""
-msgstr "E624: Datei \"%s\" kann nicht geöffnet werden"
-
-#, c-format
-msgid "E457: Can't read PostScript resource file \"%s\""
-msgstr "E457: PostScript Ressource-Datei \"%s\" kann nicht gelesen werden"
-
-#, c-format
-msgid "E618: file \"%s\" is not a PostScript resource file"
-msgstr "E618: Datei \"%s\" ist keine PostScript Ressource-Datei"
-
-#, c-format
-msgid "E619: file \"%s\" is not a supported PostScript resource file"
-msgstr "E619: Datei \"%s\" ist keine unterstützte PostScript Ressource-Datei"
-
-#, c-format
-msgid "E621: \"%s\" resource file has wrong version"
-msgstr "E621: \"%s\" Ressource-Datei hat die falsche Version"
-
-msgid "E324: Can't open PostScript output file"
-msgstr "E324: PostScript Ausgabe-Datei kann nicht geöffnet werden"
-
-#, c-format
-msgid "E456: Can't open file \"%s\""
-msgstr "E456: Datei \"%s\" kann nicht geöffnet werden"
-
-msgid "E456: Can't find PostScript resource file \"prolog.ps\""
-msgstr "E456: PostScript Ressource-Datei \"prolog.ps\" nicht gefunden"
-
-#, c-format
-msgid "E456: Can't find PostScript resource file \"%s.ps\""
-msgstr "E456: PostScript Ressource-Datei \"%s\" nicht gefunden"
-
-#, c-format
-#~ msgid "E620: Unable to convert from multi-byte to \"%s\" encoding"
-#~ msgstr ""
-
-msgid "Sending to printer..."
-msgstr "Schicke zum Drucker..."
-
-msgid "E365: Failed to print PostScript file"
-msgstr "E365: Druck der PostScript-Datei schlug fehl"
-
-msgid "Print job sent."
-msgstr "Druckauftrag abgeschickt"
-
-#, c-format
 msgid "Current %slanguage: \"%s\""
 msgstr "Momentane %sSprache: \"%s\""
 
@@ -923,8 +1062,7 @@
 msgstr "E197: Sprache kann nicht auf \"%s\" gesetzt werden"
 
 msgid "Entering Ex mode.  Type \"visual\" to go to Normal mode."
-msgstr ""
-"Ex-Modus.  Geben Sie \"visual\" ein, um zum Normal-Modus zurückzukehren."
+msgstr "Ex-Modus. Geben Sie \"visual\" ein, um zum Normal-Modus zurückzukehren."
 
 #. must be at EOF
 msgid "E501: At end-of-file"
@@ -965,14 +1103,14 @@
 msgstr "E172: Nur ein Dateiname erlaubt"
 
 msgid "1 more file to edit.  Quit anyway?"
-msgstr "1 weitere Datei zum Editieren. Trotzdem beenden?"
+msgstr "Eine weitere Datei zum Editieren. Trotzdem beenden?"
 
 #, c-format
 msgid "%d more files to edit.  Quit anyway?"
-msgstr "%d weitere Dateien zum Editieren.  Trotzdem beenden?"
+msgstr "%d weitere Dateien zum Editieren. Trotzdem beenden?"
 
 msgid "E173: 1 more file to edit"
-msgstr "E173: 1 weitere Datei zum Editieren"
+msgstr "E173: Eine weitere Datei zum Editieren"
 
 #, c-format
 msgid "E173: %ld more files to edit"
@@ -1007,16 +1145,6 @@
 msgstr "E179: Argument wird zur Vervollständigung benötigt"
 
 #, c-format
-msgid "E180: Invalid complete value: %s"
-msgstr "E180: Ungültiger Vervollständigungs-Wert: %s"
-
-#~ msgid "E468: Completion argument only allowed for custom completion"
-#~ msgstr ""
-
-#~ msgid "E467: Custom completion requires a function argument"
-#~ msgstr ""
-
-#, c-format
 msgid "E181: Invalid attribute: %s"
 msgstr "E181: Ungültiges Attribut: %s"
 
@@ -1031,21 +1159,40 @@
 msgstr "E184: Unbekannter benutzerdefinierter Befehl: %s"
 
 #, c-format
+msgid "E180: Invalid complete value: %s"
+msgstr "E180: Ungültiger Vervollständigungs-Wert: %s"
+
+msgid "E468: Completion argument only allowed for custom completion"
+msgstr "E468: Argument für Vervollständigung nur für eigene Vervollständigung erlaubt"
+
+msgid "E467: Custom completion requires a function argument"
+msgstr "E467: Eigene Vervollständigung benötigt ein Funktionsargument"
+
+#, c-format
 msgid "E185: Cannot find color scheme %s"
 msgstr "E185: Zeile %s kann nicht gefunden werden"
 
 msgid "Greetings, Vim user!"
 msgstr "Herzliche Grüße, Vim Benutzer!"
 
+msgid "E784: Cannot close last tab page"
+msgstr "E784: Kann letztes Tab nicht schließen"
+
+msgid "Already only one tab page"
+msgstr "Es existiert bereits nur ein Tab"
+
 msgid "Edit File in new window"
 msgstr "Editiere Datei in einem neuen Fenster"
 
 msgid "No swap file"
-msgstr "Keine Auslagerungs-Datei"
+msgstr "Keine Auslagerungsdatei"
 
 msgid "Append File"
 msgstr "Füge Datei an"
 
+msgid "E747: Cannot change directory, buffer is modifed (add ! to override)"
+msgstr "E747: Kann das Verzeichnis nicht wechseln, da der Puffer verändert wurde (erzwinge mit !)"
+
 msgid "E186: No previous directory"
 msgstr "E186: Kein vorheriges Verzeichnis"
 
@@ -1060,8 +1207,7 @@
 msgstr "Fenster-Position: X %d, Y %d"
 
 msgid "E188: Obtaining window position not implemented for this platform"
-msgstr ""
-"E188: die Fenster-Position kann für dieses Terminal nicht bestimmt werden"
+msgstr "E188: Die Fenster-Position kann für dieses Terminal nicht bestimmt werden"
 
 msgid "E466: :winpos requires two number arguments"
 msgstr "E466: :winpos benötigt zwei numerische Argumente"
@@ -1079,6 +1225,10 @@
 msgstr "Einstellungen Speichern"
 
 #, c-format
+msgid "E739: Cannot create directory: %s"
+msgstr "E739: Kann Verzeichnis nicht erstellen: %s"
+
+#, c-format
 msgid "E189: \"%s\" exists (add ! to override)"
 msgstr "E189: \"%s\" existiert (erzwinge mit !)"
 
@@ -1088,9 +1238,7 @@
 
 #. set mark
 msgid "E191: Argument must be a letter or forward/backward quote"
-msgstr ""
-"E191: Argument muss ein Buchstabe oder vorwärts/rückwärts-Anführungszeichen "
-"sein"
+msgstr "E191: Argument muss ein Buchstabe oder vorwärts/rückwärts-Anführungszeichen sein"
 
 msgid "E192: Recursive use of :normal too deep"
 msgstr "E192: Rekursive Verwendung von :normal zu tief"
@@ -1105,8 +1253,7 @@
 msgstr "E496: Keine Auto-Kommando-Puffernummer zur Ersetzung mit \"<abuf>\""
 
 msgid "E497: no autocommand match name to substitute for \"<amatch>\""
-msgstr ""
-"E497: Kein passender Name eines Auto-Kommandos zur Ersetzung mit \"<amatch>\""
+msgstr "E497: Kein passender Name eines Auto-Kommandos zur Ersetzung mit \"<amatch>\""
 
 msgid "E498: no :source file name to substitute for \"<sfile>\""
 msgstr "E498: kein :source Dateiname zur Ersetzung mit \"<sfile>\""
@@ -1122,10 +1269,10 @@
 msgstr "E195: viminfo kann nicht zum Lesen geöffnet werden"
 
 msgid "E196: No digraphs in this version"
-msgstr "ed9) Keine Digraphen in dieser Version"
+msgstr "E196 Keine Digraphen in dieser Version"
 
-#~ msgid "E608: Cannot :throw exceptions with 'Vim' prefix"
-#~ msgstr ""
+msgid "E608: Cannot :throw exceptions with 'Vim' prefix"
+msgstr "E608: Kann nicht :throw Exceptions mit 'Vim' Präfix"
 
 #. always scroll up, don't overwrite
 #, c-format
@@ -1150,8 +1297,8 @@
 msgstr "Ausnahme gefangen: %s"
 
 #, c-format
-#~ msgid "%s made pending"
-#~ msgstr ""
+msgid "%s made pending"
+msgstr "%s schwebend gemacht"
 
 #, c-format
 msgid "%s resumed"
@@ -1164,9 +1311,8 @@
 msgid "Exception"
 msgstr "Ausnahme"
 
-#, fuzzy
-#~ msgid "Error and interrupt"
-#~ msgstr "Tastatur-Unterbrechung"
+msgid "Error and interrupt"
+msgstr "Fehler und Unterbrechung"
 
 msgid "Error"
 msgstr "Fehler"
@@ -1188,7 +1334,7 @@
 msgstr "E582: :elseif ohne :if"
 
 msgid "E583: multiple :else"
-msgstr "E583: mehrere :else"
+msgstr "E583: Mehrere :else"
 
 msgid "E584: :elseif after :else"
 msgstr "E584: :elseif nach :else"
@@ -1202,6 +1348,12 @@
 msgid "E587: :break without :while"
 msgstr "E587: :break ohne :while"
 
+msgid "E732: Using :endfor with :while"
+msgstr "E732: Benützung von :endfor mit :while"
+
+msgid "E733: Using :endwhile with :for"
+msgstr "E733: Benützung von :endwhile mit :for"
+
 msgid "E601: :try nesting too deep"
 msgstr "E601: :try Schachtelung zu tief"
 
@@ -1218,7 +1370,7 @@
 
 #. Give up for a multiple ":finally" and ignore it.
 msgid "E607: multiple :finally"
-msgstr "E607: mehrere :finally"
+msgstr "E607: Mehrere :finally"
 
 msgid "E602: :endtry without :try"
 msgstr "E602: :endtry ohne :try"
@@ -1259,10 +1411,10 @@
 msgstr "E198: cmd_pchar über die Länge des Befehls hinaus"
 
 msgid "E199: Active window or buffer deleted"
-msgstr "E199: aktives Fenster oder Puffer gelöscht"
+msgstr "E199: Aktives Fenster oder Puffer gelöscht"
 
 msgid "Illegal file name"
-msgstr "unzulässiger Dateiname"
+msgstr "Unzulässiger Dateiname"
 
 msgid "is a directory"
 msgstr "ist ein Verzeichnis"
@@ -1273,6 +1425,12 @@
 msgid "[New File]"
 msgstr "[Neue Datei]"
 
+msgid "[New DIRECTORY]"
+msgstr "[Neues VERZEICHNIS]"
+
+msgid "[File too big]"
+msgstr "[Datei zu groß]"
+
 msgid "[Permission Denied]"
 msgstr "[Keine Erlaubnis]"
 
@@ -1280,8 +1438,7 @@
 msgstr "E200: *ReadPre Auto-Kommandos haben die Datei unlesbar gemacht"
 
 msgid "E201: *ReadPre autocommands must not change current buffer"
-msgstr ""
-"E201: *ReadPre Auto-Kommandos dürfen nicht den aktuellen Puffer wechseln"
+msgstr "E201: *ReadPre Auto-Kommandos dürfen nicht den aktuellen Puffer wechseln"
 
 msgid "Vim: Reading from stdin...\n"
 msgstr "Vim: Lese von stdin...\n"
@@ -1323,8 +1480,9 @@
 msgid "[crypted]"
 msgstr "[verschlüsselt]"
 
-msgid "[CONVERSION ERROR]"
-msgstr "[UMWANDLUNGS-FEHLER]"
+#, c-format
+msgid "[CONVERSION ERROR in line %ld]"
+msgstr "UMWANDLUNGSFEHLER in Zeile %ld]"
 
 #, c-format
 msgid "[ILLEGAL BYTE in line %ld]"
@@ -1342,22 +1500,20 @@
 msgid "can't read output of 'charconvert'"
 msgstr "Ausgabe von 'charconvert' kann nicht gelesen werden"
 
+msgid "E676: No matching autocommands for acwrite buffer"
+msgstr "E676: Keine übereinstimmenden Autokommandos für acwrite Puffer"
+
 msgid "E203: Autocommands deleted or unloaded buffer to be written"
-msgstr ""
-"E203: Auto-Kommandos haben den zu schreibenden Puffer gelöscht oder heraus "
-"geladen"
+msgstr "E203: Auto-Kommandos haben den zu schreibenden Puffer gelöscht oder heraus geladen"
 
 msgid "E204: Autocommand changed number of lines in unexpected way"
-msgstr ""
-"E204: Auto-Kommandos haben die Anzahl der Zeilen in unerwarteter Weise "
-"verändert"
+msgstr "E204: Auto-Kommandos haben die Anzahl der Zeilen in unerwarteter Weise verändert"
 
-#~ msgid "NetBeans dissallows writes of unmodified buffers"
-#~ msgstr ""
+msgid "NetBeans dissallows writes of unmodified buffers"
+msgstr "NetBeans verweigert das Schreiben von unveränderten Puffern"
 
-#, fuzzy
-#~ msgid "Partial writes disallowed for NetBeans buffers"
-#~ msgstr "Keine Syntax-Elemente definiert für diesen Puffer"
+msgid "Partial writes disallowed for NetBeans buffers"
+msgstr "Partielles Schreiben für NetBeans Puffer verweigert"
 
 msgid "is not a file or writable device"
 msgstr "ist keine Datei oder beschreibbares Device"
@@ -1384,7 +1540,7 @@
 msgstr "E460: Der Ressourcefork geht verloren (erzwinge mit !)"
 
 msgid "E214: Can't find temp file for writing"
-msgstr "E214: temporäre Datei kann nicht zum Schreiben geöffnet werden"
+msgstr "E214: Temporäre Datei kann nicht zum Schreiben geöffnet werden"
 
 msgid "E213: Cannot convert (add ! to write without conversion)"
 msgstr "E213: Fehler bei der Umwandlung (schreibe ohne Umwandlung mit !)"
@@ -1408,7 +1564,7 @@
 msgstr "E514: Schreibfehler (Dateisystem voll?)"
 
 msgid " CONVERSION ERROR"
-msgstr "KONVERTIERUNGS-FEHLER"
+msgstr "KONVERTIERUNGSFEHLER"
 
 msgid "[Device]"
 msgstr "[Ausgabegerät]"
@@ -1466,14 +1622,14 @@
 msgstr "[unix Format]"
 
 msgid "1 line, "
-msgstr "1 Zeile, "
+msgstr "eine Zeile, "
 
 #, c-format
 msgid "%ld lines, "
 msgstr "%ld Zeilen, "
 
 msgid "1 character"
-msgstr "1 Zeichen"
+msgstr "ein Zeichen"
 
 #, c-format
 msgid "%ld characters"
@@ -1523,24 +1679,18 @@
 
 #, c-format
 msgid "W11: Warning: File \"%s\" has changed since editing started"
-msgstr ""
-"W11: Achtung: Datei \"%s\" wurde verändert, seit mit dem Editieren "
-"angefangen wurde"
+msgstr "W11: Achtung: Datei \"%s\" wurde verändert, seit mit dem Editieren angefangen wurde"
 
 #, c-format
 msgid "W16: Warning: Mode of file \"%s\" has changed since editing started"
-msgstr ""
-"W11: Achtung: Mode der Datei \"%s\" wurde verändert seit mit dem Editieren "
-"angefangen wurde"
+msgstr "W16: Achtung: Mode der Datei \"%s\" wurde verändert seit mit dem Editieren angefangen wurde"
 
 #, c-format
 msgid "W13: Warning: File \"%s\" has been created after editing started"
-msgstr ""
-"W13: Achtug: Datei \"%s\" wurde erstellt, nachdem mit dem Editieren begonnen "
-"wurde"
+msgstr "W13: Achtug: Datei \"%s\" wurde erstellt, nachdem mit dem Editieren begonnen wurde"
 
-#~ msgid "See \":help W11\" for more info."
-#~ msgstr ""
+msgid "See \":help W16\" for more info."
+msgstr "Siehe \":help W16\" für mehr Information"
 
 msgid "Warning"
 msgstr "Warnung"
@@ -1552,9 +1702,9 @@
 "&OK\n"
 "&Lese Datei"
 
-#, fuzzy, c-format
-#~ msgid "E462: Could not prepare for reloading \"%s\""
-#~ msgstr "E321: \"%s\" konnte nicht neu geladen werden"
+#, c-format
+msgid "E462: Could not prepare for reloading \"%s\""
+msgstr "E462: Konnte das Neuladen von \"%s\" nicht vorbereiten"
 
 #, c-format
 msgid "E321: Could not reload \"%s\""
@@ -1588,6 +1738,10 @@
 "\n"
 "--- Auto-Kommandos ---"
 
+#, c-format
+msgid "E680: <buffer=%d>: invalid buffer number "
+msgstr "E680: <buffer=%d>: Ungültige Puffer Nummer "
+
 msgid "E217: Can't execute autocommands for ALL events"
 msgstr "E217: Auto-Kommandos können nicht für ALL Ereignisse ausgeführt werden"
 
@@ -1620,14 +1774,14 @@
 msgstr "E490: Keine Faltung gefunden"
 
 msgid "E350: Cannot create fold with current 'foldmethod'"
-msgstr ""
-"E350: Faltung kann mit der eingestellten Methode 'foldmethod' nicht erzeugt "
-"werden"
+msgstr "E350: Faltung kann mit der aktuellen Faltungsmethode nicht erzeugt werden"
 
 msgid "E351: Cannot delete fold with current 'foldmethod'"
-msgstr ""
-"E351: Faltung kann mit der eingestellten Methode 'foldmethod' nicht entfernt "
-"werden"
+msgstr "E351: Faltung kann mit der aktuellen Faltungsmethode nicht gelöscht werden"
+
+#, c-format
+msgid "+--%3ld lines folded "
+msgstr "+--%3ld Zeilen gefaltet "
 
 msgid "E222: Add to read buffer"
 msgstr "E222: Zum Lese-Puffer Hinzufügen"
@@ -1709,9 +1863,7 @@
 msgstr "VIM - Dialog..."
 
 msgid "E232: Cannot create BalloonEval with both message and callback"
-msgstr ""
-"E232: BalloonEval kann nicht mit sowohl \"message\" und \"callback\" erzeugt "
-"werden"
+msgstr "E232: BalloonEval kann nicht mit sowohl \"message\" und \"callback\" erzeugt werden"
 
 msgid "Vim dialog..."
 msgstr "VIM - Dialog..."
@@ -1725,8 +1877,8 @@
 "&Nein\n"
 "&Abbrechen"
 
-#~ msgid "Input _Methods"
-#~ msgstr ""
+msgid "Input _Methods"
+msgstr "Eingabe _Methoden"
 
 msgid "VIM - Search and Replace..."
 msgstr "VIM - Suchen und Ersetzen..."
@@ -1741,14 +1893,12 @@
 msgstr "Ersetzen mit:"
 
 #. whole word only button
-#, fuzzy
-#~ msgid "Match whole word only"
-#~ msgstr "Passend für einzelne Wörter"
+msgid "Match whole word only"
+msgstr "Übereinstimmung nur mit ganzen Wörtern"
 
 #. match case button
-#, fuzzy
-#~ msgid "Match case"
-#~ msgstr "Patch-Datei"
+msgid "Match case"
+msgstr "Klein-/Großschreibung beachten"
 
 msgid "Direction"
 msgstr "Richtung"
@@ -1769,11 +1919,20 @@
 msgid "Replace All"
 msgstr "Alle Ersetzen"
 
-#~ msgid "Vim: Received \"die\" request from session manager\n"
-#~ msgstr ""
+msgid "Vim: Received \"die\" request from session manager\n"
+msgstr "Vim: \"die\"-Request von Session-Manager erhalten\n"
 
-#~ msgid "Vim: Main window unexpectedly destroyed\n"
-#~ msgstr ""
+msgid "Close"
+msgstr "Schließe"
+
+msgid "New tab"
+msgstr "Neues Tab"
+
+msgid "Open Tab..."
+msgstr "Öffne in Tab..."
+
+msgid "Vim: Main window unexpectedly destroyed\n"
+msgstr "Vim: Hauptfenster unerwartet gelöscht\n"
 
 msgid "Font Selection"
 msgstr "Auswahl der Schriftart"
@@ -1781,31 +1940,49 @@
 msgid "Used CUT_BUFFER0 instead of empty selection"
 msgstr "CUT_BUFFER0 anstatt der leeren Auswahl benutzt"
 
-msgid "Filter"
-msgstr "Filter"
+msgid "&Filter"
+msgstr "&Filter"
+
+msgid "&Cancel"
+msgstr "&Abbrechen"
 
 msgid "Directories"
 msgstr "Verzeichnisse"
 
-msgid "Help"
-msgstr "Hilfe"
+msgid "Filter"
+msgstr "Filter"
+
+msgid "&Help"
+msgstr "&Hilfe"
 
 msgid "Files"
 msgstr "Dateien"
 
+msgid "&OK"
+msgstr "&Ok"
+
 msgid "Selection"
 msgstr "Auswahl"
 
-msgid "Undo"
-msgstr "Rückgängig"
+msgid "Find &Next"
+msgstr "&Nächste"
 
-#, fuzzy, c-format
-#~ msgid "E610: Can't load Zap font '%s'"
-#~ msgstr "E235: Zap-Schriftart '%s' kann nicht geladen werden"
+msgid "&Replace"
+msgstr "&Ersetze"
 
-#, fuzzy, c-format
-#~ msgid "E611: Can't use font %s"
-#~ msgstr "E235: Schriftart %s kann nicht verwendet werden"
+msgid "Replace &All"
+msgstr "Ersetze &Alles"
+
+msgid "&Undo"
+msgstr "&Rückgängig"
+
+#, c-format
+msgid "E610: Can't load Zap font '%s'"
+msgstr "E610: Zap-Schriftart '%s' kann nicht geladen werden"
+
+#, c-format
+msgid "E611: Can't use font %s"
+msgstr "E611: Schriftart %s kann nicht verwendet werden"
 
 msgid ""
 "\n"
@@ -1815,9 +1992,21 @@
 "Sende Nachricht zum Beenden des Kind-Prozesses.\n"
 
 #, c-format
+msgid "E671: Cannot find window title \"%s\""
+msgstr "E671: Kann Fenstertitel \"%s\" nicht finden"
+
+#, c-format
 msgid "E243: Argument not supported: \"-%s\"; Use the OLE version."
-msgstr ""
-"E243: Argument wird nicht unterstützt: \"-%s\"; verwende die OLE Version."
+msgstr "E243: Argument wird nicht unterstützt: \"-%s\"; verwende die OLE Version."
+
+msgid "E672: Unable to open window inside MDI application"
+msgstr "E672: Kann Fenster nicht innerhalb einer MDI Anwendung öffnen"
+
+msgid "Close tab"
+msgstr "Tab schließen"
+
+msgid "Open tab..."
+msgstr "Öffne in Tab..."
 
 msgid "Find string (use '\\\\' to find  a '\\')"
 msgstr "Suche Zeichenkette (benütze '\\\\' um ein '\\' zu finden)"
@@ -1825,15 +2014,20 @@
 msgid "Find & Replace (use '\\\\' to find  a '\\')"
 msgstr "Suche & Ersetze (use '\\\\' um ein '\\' zu finden)"
 
+#. We fake this: Use a filter that doesn't select anything and a default
+#. * file name that won't be used.
+msgid "Not Used"
+msgstr "Nicht verwendet"
+
+msgid "Directory\t*.nothing\n"
+msgstr "Verzeichnis\t*.nichts\n"
+
 msgid "Vim E458: Cannot allocate colormap entry, some colors may be incorrect"
-msgstr ""
-"Vim E458: \"Colormap\"-Eintrag kann nicht alloziert werden, einige Farben "
-"können falsch sein"
+msgstr "Vim E458: \"Colormap\"-Eintrag kann nicht alloziert werden, einige Farben können falsch sein"
 
 #, c-format
 msgid "E250: Fonts for the following charsets are missing in fontset %s:"
-msgstr ""
-"E250: Schriftarten für die folgenden Zeichensätze fehlen im \"fontset\" %s:"
+msgstr "E250: Schriftarten für die folgenden Zeichensätze fehlen im \"fontset\" %s:"
 
 #, c-format
 msgid "E252: Fontset name: %s"
@@ -1855,9 +2049,9 @@
 msgid "Font1: %s\n"
 msgstr "Schriftart 1: %s\n"
 
-#, fuzzy, c-format
-#~ msgid "Font%ld width is not twice that of font0\n"
-#~ msgstr "Schriftart%d ist nicht doppelt so breit wie Schriftart0\n"
+#, c-format
+msgid "Font%ld width is not twice that of font0\n"
+msgstr "Die Breite der Schriftart %ld ist nicht doppelt so groß wie die der Schriftart 0\n"
 
 #, c-format
 msgid "Font0 width: %ld\n"
@@ -1871,11 +2065,135 @@
 "Schriftart1 Breite: %ld\n"
 "\n"
 
+msgid "Invalid font specification"
+msgstr "Ungültige Spezifikation der Schriftart"
+
+msgid "&Dismiss"
+msgstr "&Aufheben"
+
+msgid "no specific match"
+msgstr "keine spezifische Übereinstimmung"
+
+msgid "Vim - Font Selector"
+msgstr "Vim - Auswahl der Schriftart"
+
+msgid "Name:"
+msgstr "Name: "
+
+#. create toggle button
+msgid "Show size in Points"
+msgstr "Zeige Größe in Punkten"
+
+msgid "Encoding:"
+msgstr "Zeichensatz:"
+
+msgid "Font:"
+msgstr "Schriftart"
+
+msgid "Style:"
+msgstr "Stil:"
+
+msgid "Size:"
+msgstr "Größe:"
+
 msgid "E256: Hangul automata ERROR"
 msgstr "E256: Hangul-Automat Fehler"
 
+msgid "E550: Missing colon"
+msgstr "E550: Fehlender Doppelpunkt"
+
+msgid "E551: Illegal component"
+msgstr "E551: Unzulässige Komponente"
+
+msgid "E552: digit expected"
+msgstr "E552: Ziffer erwartet"
+
+#, c-format
+msgid "Page %d"
+msgstr "Sete %d"
+
+msgid "No text to be printed"
+msgstr "Kein Text zum Drucken"
+
+#, c-format
+msgid "Printing page %d (%d%%)"
+msgstr "Drucke Seite %d (%d%%)"
+
+#, c-format
+msgid " Copy %d of %d"
+msgstr " Kopiere %d von %d"
+
+#, c-format
+msgid "Printed: %s"
+msgstr "Gedruckt: %s"
+
+msgid "Printing aborted"
+msgstr "Ausdruck abgebrochen"
+
+msgid "E455: Error writing to PostScript output file"
+msgstr "E455: Fehler beim Schreiben der PostScript-Ausgabedatei"
+
+#, c-format
+msgid "E624: Can't open file \"%s\""
+msgstr "E624: Datei \"%s\" kann nicht geöffnet werden"
+
+#, c-format
+msgid "E457: Can't read PostScript resource file \"%s\""
+msgstr "E457: PostScript Ressource-Datei \"%s\" kann nicht gelesen werden"
+
+#, c-format
+msgid "E618: file \"%s\" is not a PostScript resource file"
+msgstr "E618: Datei \"%s\" ist keine PostScript Ressource-Datei"
+
+#, c-format
+msgid "E619: file \"%s\" is not a supported PostScript resource file"
+msgstr "E619: Datei \"%s\" ist keine unterstützte PostScript Ressource-Datei"
+
+#, c-format
+msgid "E621: \"%s\" resource file has wrong version"
+msgstr "E621: \"%s\" Ressource-Datei hat die falsche Version"
+
+msgid "E673: Incompatible multi-byte encoding and character set."
+msgstr "E673: Unzulässiger Multi-Byte Zeichensatz"
+
+msgid "E674: printmbcharset cannot be empty with multi-byte encoding."
+msgstr "E674: printmbcharset darf nicht leer sein mit Multi-Byte Zeichensatz."
+
+msgid "E675: No default font specified for multi-byte printing."
+msgstr "E675: Keine Standardschriftart angegeben für Multi-Byte Ausdruck."
+
+msgid "E324: Can't open PostScript output file"
+msgstr "E324: PostScript Ausgabe-Datei kann nicht geöffnet werden"
+
+#, c-format
+msgid "E456: Can't open file \"%s\""
+msgstr "E456: Datei \"%s\" kann nicht geöffnet werden"
+
+msgid "E456: Can't find PostScript resource file \"prolog.ps\""
+msgstr "E456: PostScript Ressource-Datei \"prolog.ps\" nicht gefunden"
+
+msgid "E456: Can't find PostScript resource file \"cidfont.ps\""
+msgstr "E456: PostScript Ressource-Datei \"cidfont.ps\" nicht gefunden"
+
+#, c-format
+msgid "E456: Can't find PostScript resource file \"%s.ps\""
+msgstr "E456: PostScript Ressource-Datei \"%s\" nicht gefunden"
+
+#, c-format
+msgid "E620: Unable to convert to print encoding \"%s\""
+msgstr "E620: Konvertierung nach dem Zeichensatz für den Ausdruck \"%s\" fehlgeschlagen"
+
+msgid "Sending to printer..."
+msgstr "Schicke zum Drucker..."
+
+msgid "E365: Failed to print PostScript file"
+msgstr "E365: Druck der PostScript-Datei schlug fehl"
+
+msgid "Print job sent."
+msgstr "Druckauftrag abgeschickt"
+
 msgid "Add a new database"
-msgstr "Datenbank hinzufügen"
+msgstr "Eine neue Datenbank hinzufügen"
 
 msgid "Query for a pattern"
 msgstr "Muster suchen"
@@ -1892,57 +2210,52 @@
 msgid "Show connections"
 msgstr "Verbindungen anzeigen"
 
-#, fuzzy, c-format
-#~ msgid "E560: Usage: cs[cope] %s"
-#~ msgstr "Verwendung: cs[cope] %s"
+#, c-format
+msgid "E560: Usage: cs[cope] %s"
+msgstr "E560: Verwendung: cs[cope] %s"
 
 msgid "This cscope command does not support splitting the window.\n"
 msgstr "Dieser cscope-Befehl unterstützt nicht Teilen des Fensters.\n"
 
-#, fuzzy
-#~ msgid "E562: Usage: cstag <ident>"
-#~ msgstr "Verwendung: cstag <ident>"
+msgid "E562: Usage: cstag <ident>"
+msgstr "E562: Verwendung: cstag <ident>"
 
 msgid "E257: cstag: tag not found"
 msgstr "E257: cstag: Tag nicht gefunden"
 
-#, fuzzy, c-format
-#~ msgid "E563: stat(%s) error: %d"
-#~ msgstr "stat(%s) Fehler: %d"
+#, c-format
+msgid "E563: stat(%s) error: %d"
+msgstr "E563: stat(%s) Fehler: %d"
 
-#~ msgid "E563: stat error"
-#~ msgstr ""
+msgid "E563: stat error"
+msgstr "E563: 'stat' Fehler"
 
-#, fuzzy, c-format
-#~ msgid "E564: %s is not a directory or a valid cscope database"
-#~ msgstr "%s ist kein Verzeichnis oder zulässige cscope Datenbank"
+#, c-format
+msgid "E564: %s is not a directory or a valid cscope database"
+msgstr "E564: %s ist kein Verzeichnis oder eine gültige cscope Datenbank"
 
 #, c-format
 msgid "Added cscope database %s"
 msgstr "csope Datenbank %s hinzugefügt"
 
-#, fuzzy, c-format
-#~ msgid "E262: error reading cscope connection %ld"
-#~ msgstr "E262: Fehler beim Lesen aus der cscope Verbindung %d"
+#, c-format
+msgid "E262: error reading cscope connection %ld"
+msgstr "E262: Fehler beim Lesen aus der cscope Verbindung %ld"
 
-#, fuzzy
-#~ msgid "E561: unknown cscope search type"
-#~ msgstr "unbekannter cscope Suchtyp"
+msgid "E561: unknown cscope search type"
+msgstr "E561: Unbekannter cscope Suchtyp"
 
-#, fuzzy
-#~ msgid "E566: Could not create cscope pipes"
-#~ msgstr "cscope Pipes konnten nicht angelegt werden"
+msgid "E566: Could not create cscope pipes"
+msgstr "E566: cscope Pipes konnten nicht angelegt werden"
 
-#, fuzzy
-#~ msgid "E622: Could not fork for cscope"
-#~ msgstr "E321: \"%s\" konnte nicht neu geladen werden"
+msgid "E622: Could not fork for cscope"
+msgstr "E622: Konnte nicht für cscope verzweigen"
 
 msgid "cs_create_connection exec failed"
 msgstr "cs_create_connection exec misslang"
 
-#, fuzzy
-#~ msgid "E623: Could not spawn cscope process"
-#~ msgstr "cscope Pipes konnten nicht angelegt werden"
+msgid "E623: Could not spawn cscope process"
+msgstr "E623: Konnte cscope Prozess nicht hervorbringen"
 
 msgid "cs_create_connection: fdopen for to_fp failed"
 msgstr "cs_create_connection: fdopen von to_fp misslang"
@@ -1950,70 +2263,66 @@
 msgid "cs_create_connection: fdopen for fr_fp failed"
 msgstr "cs_create_connection: fdopen von fr_fp misslang"
 
-#, fuzzy
-#~ msgid "E567: no cscope connections"
-#~ msgstr "keine Verbindungen zu cscope"
+msgid "E567: no cscope connections"
+msgstr "E567: Keine cscope Verbindungen"
 
 #, c-format
 msgid "E259: no matches found for cscope query %s of %s"
 msgstr "E259: keine Treffer gefunden für cscope Anfragen %s aus %s"
 
 #, c-format
-#~ msgid "E469: invalid cscopequickfix flag %c for %c"
-#~ msgstr ""
+msgid "E469: invalid cscopequickfix flag %c for %c"
+msgstr "E469: Unzulässiges cscopequickfix Flag %c für %c"
 
 msgid "cscope commands:\n"
 msgstr "cscope Befehle:\n"
 
-#, fuzzy, c-format
-#~ msgid "%-5s: %-30s (Usage: %s)"
-#~ msgstr "%-5s: %-30s (Verwendung: %s)\n"
+#, c-format
+msgid "%-5s: %-30s (Usage: %s)"
+msgstr "%-5s: %-30s (Verwendung: %s)"
 
-#, fuzzy, c-format
-#~ msgid "E625: cannot open cscope database: %s"
-#~ msgstr "csope Datenbank %s hinzugefügt"
+#, c-format
+msgid "E625: cannot open cscope database: %s"
+msgstr "E625: Kann cscope Datenbank nicht öffnen: %s"
 
-#, fuzzy
-#~ msgid "E626: cannot get cscope database information"
-#~ msgstr "Revertierungs-Information kann nicht gespeichert werden"
+msgid "E626: cannot get cscope database information"
+msgstr "E626: Kann cscope Datenbank-Informationen nicht bekommen"
 
-#, fuzzy
-#~ msgid "E568: duplicate cscope database not added"
-#~ msgstr "cscope Datenbank nicht doppelt hinzugefügt"
+msgid "E568: duplicate cscope database not added"
+msgstr "E568: cscope Datenbank nicht doppelt hinzugefügt"
 
-#, fuzzy
-#~ msgid "E569: maximum number of cscope connections reached"
-#~ msgstr "maximale Anzahl von cscope Verbindungen erreicht"
+msgid "E569: maximum number of cscope connections reached"
+msgstr "E569: Maximale Anzahl von cscope Verbindungen erreicht"
 
 #, c-format
 msgid "E261: cscope connection %s not found"
 msgstr "E261: cscope Verbindung %s nicht gefunden"
 
-#, fuzzy, c-format
-#~ msgid "cscope connection %s closed"
-#~ msgstr "cscope Verbindung %s geschlossen\n"
+#, c-format
+msgid "cscope connection %s closed"
+msgstr "cscope Verbindung %s geschlossen"
 
 #. should not reach here
-#, fuzzy
-#~ msgid "E570: fatal error in cs_manage_matches"
-#~ msgstr "fataler Fehler in cs_manage_matches"
+msgid "E570: fatal error in cs_manage_matches"
+msgstr "E570: Fataler Fehler in cs_manage_matches"
 
-#, fuzzy, c-format
-#~ msgid "Cscope tag: %s"
-#~ msgstr "Cscope Tag: %s\n"
+#, c-format
+msgid "Cscope tag: %s"
+msgstr "Cscope Tag: %s"
 
-#, fuzzy
-#~ msgid ""
-#~ "\n"
-#~ "   #   line"
-#~ msgstr "   #  Zeile"
+msgid ""
+"\n"
+"   #   line"
+msgstr ""
+"\n"
+"   #   Zeile"
 
 msgid "filename / context / line\n"
 msgstr "Dateiname / Kontext / Zeile\n"
 
-#, fuzzy, c-format
-#~ msgid "E609: Cscope error: %s"
-#~ msgstr "E40: Fehler-Datei %s kann nicht geöffnet werden"
+#, c-format
+msgid "E609: Cscope error: %s"
+msgstr "E609: Cscope Fehler: %s"
 
 msgid "All cscope databases reset"
 msgstr "alle cscope Datenbanken zurückgesetzt"
@@ -2025,15 +2334,71 @@
 msgstr " # pid   Datenbank Name\t                    führender Pfad\n"
 
 msgid ""
+"???: Sorry, this command is disabled, the MzScheme library could not be "
+"loaded."
+msgstr "???: Dieser Befehl ist nicht verfügbar, die MzScheme Bibliothek konnte nicht "
+"geladen werden"
+
+msgid "invalid expression"
+msgstr "ungültiger Ausdruck"
+
+msgid "expressions disabled at compile time"
+msgstr "Ausdrücke wurden zur Zeit des Übersetzens nicht zugelassen"
+
+msgid "hidden option"
+msgstr "versteckte Option"
+
+msgid "unknown option"
+msgstr "unbekannte Option"
+
+msgid "window index is out of range"
+msgstr "Fensterindex außerhalb des zulässigen Bereichs"
+
+msgid "couldn't open buffer"
+msgstr "konnte Puffer nicht öffnen"
+
+msgid "cannot save undo information"
+msgstr "kann Revertierungs-Information nicht speichern"
+
+msgid "cannot delete line"
+msgstr "Zeile kann nicht gelöscht werden"
+
+msgid "cannot replace line"
+msgstr "Zeile kann nicht ersetzt werden"
+
+msgid "cannot insert line"
+msgstr "Zeile kann nicht eingefügt werden"
+
+msgid "string cannot contain newlines"
+msgstr "Zeichenfolge kann keine Zeilen-wechsel enthalten"
+
+msgid "Vim error: ~a"
+msgstr "Vim Fehler: ~a"
+
+msgid "Vim error"
+msgstr "Vim Fehler"
+
+msgid "buffer is invalid"
+msgstr "ungültiger Puffer"
+
+msgid "window is invalid"
+msgstr "ungültiges Fenster"
+
+msgid "linenr out of range"
+msgstr "'linenr' außerhalb des zulässigen Bereichs"
+
+msgid "not allowed in the Vim sandbox"
+msgstr "in der Vim-Sandbox nicht erlaubt"
+
+msgid ""
 "E263: Sorry, this command is disabled, the Python library could not be "
 "loaded."
 msgstr ""
 "E263: Dieser Befehl ist nicht verfügbar, die Python Bibliothek konnte nicht "
 "geladen werden"
 
-#, fuzzy
-#~ msgid "E659: Cannot invoke Python recursively"
-#~ msgstr "E147: Kann :global nicht rekursiv ausführen"
+msgid "E659: Cannot invoke Python recursively"
+msgstr "E659: Kann Python nicht rekursiv ausführen"
 
 msgid "can't delete OutputObject attributes"
 msgstr "OutputObject-Attribute können nicht gelöscht werden"
@@ -2050,12 +2415,6 @@
 msgid "E264: Python: Error initialising I/O objects"
 msgstr "E264: Python: Fehler bei der Initialisierung von I/O Objekten"
 
-msgid "invalid expression"
-msgstr "ungültiger Ausdruck"
-
-msgid "expressions disabled at compile time"
-msgstr "Ausdrücke wurden zur Zeit des Übersetzens nicht zugelassen"
-
 msgid "attempt to refer to deleted buffer"
 msgstr "Versuch, Bezug auf einen gelöschten Puffer zu nehmen"
 
@@ -2096,21 +2455,6 @@
 msgid "no such window"
 msgstr "ungültiges Fenster"
 
-msgid "cannot save undo information"
-msgstr "Revertierungs-Information kann nicht gespeichert werden"
-
-msgid "cannot delete line"
-msgstr "Zeile kann nicht gelöscht werden"
-
-msgid "cannot replace line"
-msgstr "Zeile kann nicht ersetzt werden"
-
-msgid "cannot insert line"
-msgstr "Zeile kann nicht eingefügt werden"
-
-msgid "string cannot contain newlines"
-msgstr "Zeichenfolge kann keine Zeilen-wechsel enthalten"
-
 msgid ""
 "E266: Sorry, this command is disabled, the Ruby library could not be loaded."
 msgstr ""
@@ -2216,9 +2560,6 @@
 msgid "not implemented yet"
 msgstr "nicht implementiert"
 
-msgid "unknown option"
-msgstr "unbekannte Option"
-
 #. ???
 msgid "cannot set line(s)"
 msgstr "kann keine Zeile/Zeilen setzen"
@@ -2246,8 +2587,7 @@
 msgstr "vim Fehler"
 
 msgid "cannot create buffer/window command: object is being deleted"
-msgstr ""
-"Puffer/Fenster-Befehl kann nicht ausgeführt werden: das Objekt wird gelöscht"
+msgstr "Puffer/Fenster-Befehl kann nicht ausgeführt werden: das Objekt wird gelöscht"
 
 msgid ""
 "cannot register callback command: buffer/window is already being deleted"
@@ -2259,26 +2599,23 @@
 "E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim."
 "org"
 msgstr ""
-"E280: TCL FATALER FEHLER: reflist kaputt!? Bitte benachrichtigen Sie vim-"
-"dev@vim.org"
+"E280: TCL FATALER FEHLER: reflist kaputt!? Bitte vim-dev@vim.org benachrichtigen."
 
 msgid "cannot register callback command: buffer/window reference not found"
-msgstr ""
-"kann keinen Callback-Befehl registrieren: Puffer/Fenster-Referenz nicht "
-"gefunden"
+msgstr "kann keinen Callback-Befehl registrieren: Puffer/Fenster-Referenz nicht gefunden"
 
-#, fuzzy
-#~ msgid ""
-#~ "E571: Sorry, this command is disabled: the Tcl library could not be loaded."
-#~ msgstr ""
-#~ "Dieser Befehl ist nicht verfügbar, da die Tcl Bibliothek nicht geladen "
-#~ "werden konnte"
+msgid ""
+"E571: Sorry, this command is disabled: the Tcl library could not be loaded."
+msgstr "E571: Dieser Befehl ist nicht verfügbar: die Tcl Bibliothek konnte nicht geladen werden"
 
 msgid ""
 "E281: TCL ERROR: exit code is not int!? Please report this to vim-dev@vim.org"
 msgstr ""
-"E281: TCL FEHLER: Exit-Code ist nicht int!? Bitte benachrichtigen Sie vim-"
-"dev@vim.org"
+"E281: TCL FEHLER: Exit-Code ist nicht int!? Bitte vim-dev@vim.org benachrichtigen."
+
+#, c-format
+msgid "E572: exit code %d"
+msgstr "E572: Ekit-Code %d"
 
 msgid "cannot get line"
 msgstr "kann Zeile nicht erhalten"
@@ -2289,15 +2626,15 @@
 msgid "E248: Failed to send command to the destination program"
 msgstr "E248: Schicken des Befehls zum Ziel-Programm schlug fehl"
 
-#, fuzzy, c-format
-#~ msgid "E573: Invalid server id used: %s"
-#~ msgstr "Ungültige Server-ID verwendet: %s"
+#, c-format
+msgid "E573: Invalid server id used: %s"
+msgstr "E573: Ungültige Server ID verwendet: %s"
 
 msgid "E251: VIM instance registry property is badly formed.  Deleted!"
 msgstr "E251: Registry-Eigenschaft der VIM Instanz ist fehlerhaft.  Gelöscht!"
 
-msgid "Unknown option"
-msgstr "Unbekannte Option"
+msgid "Unknown option argument"
+msgstr "Unbekanntes Optionsargument"
 
 msgid "Too many edit arguments"
 msgstr "Zu viele Editor Argumente"
@@ -2305,12 +2642,11 @@
 msgid "Argument missing after"
 msgstr "Argument fehlt nach"
 
-msgid "Garbage after option"
-msgstr "Schrott nach der Option"
+msgid "Garbage after option argument"
+msgstr "Schrott nach dem Optionsargument"
 
-#, fuzzy
-#~ msgid "Too many \"+command\", \"-c command\" or \"--cmd command\" arguments"
-#~ msgstr "Zu viele \"+command\" oder \"-c command\" Argumente"
+msgid "Too many \"+command\", \"-c command\" or \"--cmd command\" arguments"
+msgstr "Zu viele \"+command\", \"-c command\" oder \"--cmd command\" Argumente"
 
 msgid "Invalid argument for"
 msgstr "Ungültiges Argument für"
@@ -2327,9 +2663,8 @@
 msgid "Cannot open for script output: \""
 msgstr "kann nicht zur Skript-Ausgabe geöffnet werden: \""
 
-#, c-format
-msgid "%d files to edit\n"
-msgstr "%d Dateien zur Bearbeitung\n"
+msgid "Vim: Error: Failure to start gvim from NetBeans\n"
+msgstr "Vim: Fehler: Konnte gvim nicht von NetBeans aus starten\n"
 
 msgid "Vim: Warning: Output is not to a terminal\n"
 msgstr "Vim: Warnung: Die Ausgabe erfolgt nicht auf einem Terminal\n"
@@ -2407,9 +2742,8 @@
 msgid "-g\t\t\tRun using GUI (like \"gvim\")"
 msgstr "-g\t\t\tStart als GUI (wie \"gvim\")"
 
-#, fuzzy
-#~ msgid "-f  or  --nofork\tForeground: Don't fork when starting GUI"
-#~ msgstr "-f\t\t\tFordergrund: Kein \"fork\" beim Start des GUI"
+msgid "-f  or  --nofork\tForeground: Don't fork when starting GUI"
+msgstr "-f\t\t\tVordergrund: Kein \"fork\" beim Start der GUI"
 
 msgid "-v\t\t\tVi mode (like \"vi\")"
 msgstr "-v\t\t\tVi Modus (wie \"vi\")"
@@ -2474,17 +2808,14 @@
 msgid "-dev <device>\t\tUse <device> for I/O"
 msgstr "-dev <device>\t\tVerwende <device> for I/O"
 
-#, fuzzy
-#~ msgid "-A\t\t\tstart in Arabic mode"
-#~ msgstr "-F\t\t\tStart im Farsi Modus"
+msgid "-A\t\t\tstart in Arabic mode"
+msgstr "-A\t\t\tStart im Arabischen Modus"
 
-#, fuzzy
-#~ msgid "-H\t\t\tStart in Hebrew mode"
-#~ msgstr "-H\t\t\tStart im Hebräischen Modus"
+msgid "-H\t\t\tStart in Hebrew mode"
+msgstr "-H\t\t\tStart im Hebräischen Modus"
 
-#, fuzzy
-#~ msgid "-F\t\t\tStart in Farsi mode"
-#~ msgstr "-F\t\t\tStart im Farsi Modus"
+msgid "-F\t\t\tStart in Farsi mode"
+msgstr "-F\t\t\tStart im Farsi Modus"
 
 msgid "-T <terminal>\tSet terminal type to <terminal>"
 msgstr "-T <terminal>\tSetze Terminal-Typ auf <terminal>"
@@ -2501,9 +2832,8 @@
 msgid "-o[N]\t\tOpen N windows (default: one for each file)"
 msgstr "-o[N]\t\tÖffne N Fenster (Vorgabe: einzeln für jede Datei)"
 
-#, fuzzy
-#~ msgid "-O[N]\t\tLike -o but split vertically"
-#~ msgstr "-O[N]\t\twie -o, aber teile vertikal"
+msgid "-O[N]\t\tLike -o but split vertically"
+msgstr "-O[N]\t\twie -o, aber teile vertikal"
 
 msgid "+\t\t\tStart at end of file"
 msgstr "+\t\t\tStarte am Ende der Datei"
@@ -2521,8 +2851,7 @@
 msgstr "-S <session>\t\tLese Datei <session> nach dem Laden der ersten Datei"
 
 msgid "-s <scriptin>\tRead Normal mode commands from file <scriptin>"
-msgstr ""
-"-s <scriptin>\tLese Normal-Modus Befehle aus der Skript-Datei <scriptin>"
+msgstr "-s <scriptin>\tLese Normal-Modus Befehle aus der Skript-Datei <scriptin>"
 
 msgid "-w <scriptout>\tAppend all typed commands to file <scriptout>"
 msgstr "-w <scriptout>\tBefehle am Ende der Skript-Datei <scriptout> anfügen"
@@ -2539,30 +2868,27 @@
 msgid "-X\t\t\tDo not connect to X server"
 msgstr "-X\t\t\tstelle keine Verbindung zum X-server her"
 
-#, fuzzy
-#~ msgid "--remote <files>\tEdit <files> in a Vim server if possible"
-#~ msgstr "--remote <Dateien>\tEditiere <Dateien> in einem Vim Server und beende"
+msgid "--remote <files>\tEdit <files> in a Vim server if possible"
+msgstr "--remote <Dateien>\tEditiere <Dateien> in einem Vim Server falls möglich"
 
-#~ msgid "--remote-silent <files>  Same, don't complain if there is no server"
-#~ msgstr ""
+msgid "--remote-silent <files>  Same, don't complain if there is no server"
+msgstr "--remote-silent <Dateien>  Dasselbe ohne Warnung, wenn kein Server vorhanden ist"
 
 msgid ""
 "--remote-wait <files>  As --remote but wait for files to have been edited"
 msgstr ""
-"--remote-wait <Dateien>  Wie --remote, aber warte, bis die <Dateien> "
-"editiert wurden"
+"--remote-wait <Dateien>  Wie --remote, aber warte, bis die <Dateien> editiert wurden"
 
-#~ msgid ""
-#~ "--remote-wait-silent <files>  Same, don't complain if there is no server"
-#~ msgstr ""
+msgid ""
+"--remote-wait-silent <files>  Same, don't complain if there is no server"
+msgstr ""
+"--remote-wait-silent <files>  Dasselbe ohne Warnung, wenn kein Server vorhanden ist"
 
 msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit"
 msgstr "--remote-send <keys>\tSchicke <keys> zu einem Vim Server und beende"
 
 msgid "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result"
-msgstr ""
-"--remote-expr <Ausdruck>\tFühre <Ausdruck> in einem Vim Server aus und "
-"drucke das Ergebnis"
+msgstr "--remote-expr <Ausdruck>\tFühre <Ausdruck> in einem Vim Server aus und drucke das Ergebnis"
 
 msgid "--serverlist\t\tList available Vim server names and exit"
 msgstr "--serverlist\t\tDrucke verfügbare Vim Server Namen und beende"
@@ -2573,13 +2899,11 @@
 msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo"
 msgstr "-i <viminfo>\t\tBenutze <viminfo> statt .viminfo"
 
-#, fuzzy
-#~ msgid "-h  or  --help\tPrint Help (this message) and exit"
-#~ msgstr "-h\t\t\tdrucke nur Hilfe (diese Nachricht)"
+msgid "-h  or  --help\tPrint Help (this message) and exit"
+msgstr "-h  or  --help\tAnzeigen der Hilfe (diesen Text) und beenden"
 
-#, fuzzy
-#~ msgid "--version\t\tPrint version information and exit"
-#~ msgstr "--version\t\tDrucke nur Versions-Informationen"
+msgid "--version\t\tPrint version information and exit"
+msgstr "--version\t\tVersionsinformation anzeigen und beenden"
 
 msgid ""
 "\n"
@@ -2588,13 +2912,12 @@
 "\n"
 "Argumente für die gvim Motif Version:\n"
 
-#, fuzzy
-#~ msgid ""
-#~ "\n"
-#~ "Arguments recognised by gvim (neXtaw version):\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Argumente für die gvim Athena Version:\n"
+msgid ""
+"\n"
+"Arguments recognised by gvim (neXtaw version):\n"
+msgstr ""
+"\n"
+"Argumente für die gvim neXtaw Version:\n"
 
 msgid ""
 "\n"
@@ -2616,16 +2939,13 @@
 msgstr "\t\t\t  (Nicht implementiert)\n"
 
 msgid "-background <color>\tUse <color> for the background (also: -bg)"
-msgstr ""
-"-background <Farbe>\tBenutze <Farbe> für den Hintergrund (auch mit: -bg)"
+msgstr "-background <Farbe>\tBenutze <Farbe> für den Hintergrund (auch mit: -bg)"
 
 msgid "-foreground <color>\tUse <color> for normal text (also: -fg)"
-msgstr ""
-"-foreground <Farbe>\tBenutze <Farbe> für den Text Vordergrund (auch mit: -fg)"
+msgstr "-foreground <Farbe>\tBenutze <Farbe> für den Text Vordergrund (auch mit: -fg)"
 
 msgid "-font <font>\t\tUse <font> for normal text (also: -fn)"
-msgstr ""
-"-font <Schriftart>\tBenutze <Schriftart> für normalen Text (auch mit: -fn)"
+msgstr "-font <Schriftart>\tBenutze <Schriftart> für normalen Text (auch mit: -fn)"
 
 msgid "-boldfont <font>\tUse <font> for bold text"
 msgstr "-boldfont <Schriftart>\tBenutze <Schriftart> für Fettschrift"
@@ -2634,23 +2954,16 @@
 msgstr "-italicfont <Schriftart>\tBenutze <Schriftart> für geneigten Text"
 
 msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)"
-msgstr ""
-"-geometry <geom>\tbenutze <geom> für die Anfangs Abmessungen (auch mit: -"
-"geom)"
+msgstr "-geometry <geom>\tbenutze <geom> für die Anfangs Abmessungen (auch mit: -geom)"
 
 msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)"
-msgstr ""
-"-borderwidth <Breite>\tBenutze einen Rahmen der Breite <Breite> (auch mit: -"
-"bw)"
+msgstr "-borderwidth <Breite>\tBenutze einen Rahmen der Breite <Breite> (auch mit: -bw)"
 
 msgid "-scrollbarwidth <width>  Use a scrollbar width of <width> (also: -sw)"
-msgstr ""
-"-scrollbarwidth <Breite>  Benutze eine Scrollbar der Breite <Breite> (auch "
-"mit: -sw)"
+msgstr "-scrollbarwidth <Breite>  Benutze eine Scrollbar der Breite <Breite> (auch mit: -sw)"
 
 msgid "-menuheight <height>\tUse a menu bar height of <height> (also: -mh)"
-msgstr ""
-"-menuheight <Höhe>\tBenutze einen Menü-Balken der Höhe <Höhe> (auch mit: -mh)"
+msgstr "-menuheight <Höhe>\tBenutze einen Menü-Balken der Höhe <Höhe> (auch mit: -mh)"
 
 msgid "-reverse\t\tUse reverse video (also: -rv)"
 msgstr "-reverse\t\tBenutze invertierte Farben (auch mit: -rv)"
@@ -2684,43 +2997,35 @@
 msgid "-display <display>\tRun vim on <display> (also: --display)"
 msgstr "-display <display>\tStarte vim auf <display> (auch mit: --display)"
 
-#~ msgid "--role <role>\tSet a unique role to identify the main window"
-#~ msgstr ""
+msgid "--role <role>\tSet a unique role to identify the main window"
+msgstr "--role <role>\tSetze eine eindeutige Rolle, um das Hauptfenster zu identifizieren"
 
 msgid "--socketid <xid>\tOpen Vim inside another GTK widget"
 msgstr "--socketid <xid>\tÖffne Vim in einem anderen GTK widget"
 
-#~ msgid "-P <parent title>\tOpen Vim inside parent application"
-#~ msgstr ""
+msgid "-P <parent title>\tOpen Vim inside parent application"
+msgstr "-P <parent title>\tÖffne Vim innerhalb der Vater-Applikation"
 
-#~ msgid "No display"
-#~ msgstr ""
+msgid "No display"
+msgstr "Keine Anzeige"
 
 #. Failed to send, abort.
-#, fuzzy
-#~ msgid ": Send failed.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Schicken des Ausdrucks schlug fehl.\n"
+msgid ": Send failed.\n"
+msgstr ": Versendung fehlgeschlagen.\n"
 
 #. Let vim start normally.
-#, fuzzy
-#~ msgid ": Send failed. Trying to execute locally\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Schicken schlug fehl. Versuche lokal auszuführen\n"
+msgid ": Send failed. Trying to execute locally\n"
+msgstr ": Versendung fehlgeschlagen. Versuche lokale Ausführung\n"
 
 #, c-format
 msgid "%d of %d edited"
 msgstr "%d von %d editiert"
 
-#, fuzzy
-#~ msgid "No display: Send expression failed.\n"
-#~ msgstr "Schicken des Ausdrucks schlug fehl.\n"
+msgid "No display: Send expression failed.\n"
+msgstr "Keine Anzeige: Versenden des Ausdrucks fehlgeschlagen.\n"
 
-#, fuzzy
-#~ msgid ": Send expression failed.\n"
-#~ msgstr "Schicken des Ausdrucks schlug fehl.\n"
+msgid ": Send expression failed.\n"
+msgstr ": Versenden des Ausdrucks fehlgeschlagen.\n"
 
 msgid "No marks set"
 msgstr "Keine Markierungen gesetzt"
@@ -2746,13 +3051,12 @@
 " Sprung Zeile Sp Datei/Text"
 
 #. Highlight title
-#, fuzzy
-#~ msgid ""
-#~ "\n"
-#~ "change line  col text"
-#~ msgstr ""
-#~ "\n"
-#~ "Mark Zeile Sp  Datei/Text"
+msgid ""
+"\n"
+"change line  col text"
+msgstr ""
+"\n"
+"Änder. Zeile Sp  Text"
 
 msgid ""
 "\n"
@@ -2767,21 +3071,20 @@
 "# Jumplist (newest first):\n"
 msgstr ""
 "\n"
-"# Geschichte (neueste bis älteste):\n"
+"# Geschichte (neueste zuerst):\n"
 
 msgid ""
 "\n"
 "# History of marks within files (newest to oldest):\n"
 msgstr ""
 "\n"
-"# Geschichte der Markierungen innerhalb von Dateien (neueste bis älteste):\n"
+"# Geschichte der Markierungen innerhalb von Dateien (neueste zuerst):\n"
 
 msgid "Missing '>'"
 msgstr "'>' fehlt"
 
-#, fuzzy
-#~ msgid "E543: Not a valid codepage"
-#~ msgstr "Ist nicht eine zulässige Code-Seite"
+msgid "E543: Not a valid codepage"
+msgstr "E543: Keine zulässige Codepage"
 
 msgid "E284: Cannot set IC values"
 msgstr "E284: Kann die IC Werte nicht setzen"
@@ -2805,8 +3108,7 @@
 msgstr "E290: der Über-dem-Punkt Stil benötigt fontset"
 
 msgid "E291: Your GTK+ is older than 1.2.3. Status area disabled"
-msgstr ""
-"E291: Ihr GTK+ ist älter als 1.2.3. Der Status-Bereich wird abgeschaltet"
+msgstr "E291: Ihr GTK+ ist älter als 1.2.3. Der Status-Bereich wird abgeschaltet"
 
 msgid "E292: Input Method Server is not running"
 msgstr "E292: Server der Eingabe-Methode läuft nicht"
@@ -2847,9 +3149,7 @@
 
 #, c-format
 msgid "E303: Unable to open swap file for \"%s\", recovery impossible"
-msgstr ""
-"E303: Auslagerungs-Datei für \"%s\" konnte nicht geöffnet werden, "
-"Wiederherstellung unmöglich"
+msgstr "E303: Auslagerungs-Datei für \"%s\" konnte nicht geöffnet werden, Wiederherstellung unmöglich"
 
 msgid "E304: ml_timestamp: Didn't get block 0??"
 msgstr "E304: ml_timestamp: Block Nr. 0 nicht erhalten?"
@@ -2859,9 +3159,7 @@
 msgstr "E305: Keine Auslagerungs-Datei für %s gefunden"
 
 msgid "Enter number of swap file to use (0 to quit): "
-msgstr ""
-"Geben Sie die Nummer der Auslagerungs-Datei ein die verwendet werden soll (0 "
-"um abzubrechen): "
+msgstr "Geben Sie die Nummer der Auslagerungs-Datei ein die verwendet werden soll (0 um abzubrechen): "
 
 #, c-format
 msgid "E306: Cannot open %s"
@@ -2875,8 +3173,7 @@
 "Maybe no changes were made or Vim did not update the swap file."
 msgstr ""
 "\n"
-"Vielleicht wurden keine Änderungen vorgenommen oder Vim hatte die "
-"Auslagerungs-Datei nicht aktualisiert."
+"Vielleicht wurden keine Änderungen vorgenommen oder Vim hatte die Auslagerungs-Datei nicht aktualisiert."
 
 msgid " cannot be used with this version of Vim.\n"
 msgstr " kann nicht zusammen mit dieser Vim Version verwendet werden.\n"
@@ -2950,8 +3247,7 @@
 msgid ""
 "E312: Errors detected while recovering; look for lines starting with ???"
 msgstr ""
-"E312: Fehler wurden festgestellt während der Wiederherstellung: suche nach "
-"Zeilen die mit ??? beginnen"
+"E312: Fehler wurden festgestellt während der Wiederherstellung: suche nach Zeilen die mit ??? beginnen"
 
 msgid "See \":help E312\" for more information."
 msgstr "Lesen Sie \":help E312\" für weitere Informationen."
@@ -3166,8 +3462,7 @@
 "(2) Eine Editier-Sitzung für diese Datei ist abgestürzt.\n"
 
 msgid "    If this is the case, use \":recover\" or \"vim -r "
-msgstr ""
-"    Wenn dies der Fall ist, so verwenden Sie \":recover\" oder \"vim -r "
+msgstr "    Wenn dies der Fall ist, so verwenden Sie \":recover\" oder \"vim -r "
 
 msgid ""
 "\"\n"
@@ -3199,33 +3494,33 @@
 msgid "Swap file already exists!"
 msgstr "Auslagerungs-Datei ist bereits vorhanden!"
 
-#, fuzzy
-#~ msgid ""
-#~ "&Open Read-Only\n"
-#~ "&Edit anyway\n"
-#~ "&Recover\n"
-#~ "&Quit\n"
-#~ "&Abort"
-#~ msgstr ""
-#~ "Öffnen nur zum &Lesen\n"
-#~ "Trotzdem &editieren\n"
-#~ "&Wiederherstellen\n"
-#~ "&Abbrechen"
+msgid ""
+"&Open Read-Only\n"
+"&Edit anyway\n"
+"&Recover\n"
+"&Quit\n"
+"&Abort"
+msgstr ""
+"Öffnen nur zum &Lesen\n"
+"Trotzdem &editieren\n"
+"&Wiederherstellen\n"
+"&Beenden\n"
+"&Abbrechen"
 
-#, fuzzy
-#~ msgid ""
-#~ "&Open Read-Only\n"
-#~ "&Edit anyway\n"
-#~ "&Recover\n"
-#~ "&Quit\n"
-#~ "&Abort\n"
-#~ "&Delete it"
-#~ msgstr ""
-#~ "Öffnen nur zum &Lesen\n"
-#~ "Trotzdem &editieren\n"
-#~ "&Wiederherstellen\n"
-#~ "&Abbrechen\n"
-#~ "Ent&fernen"
+msgid ""
+"&Open Read-Only\n"
+"&Edit anyway\n"
+"&Recover\n"
+"&Delete it\n"
+"&Quit\n"
+"&Abort"
+msgstr ""
+"Öffnen nur zum &Lesen\n"
+"Trotzdem &editieren\n"
+"&Wiederherstellen\n"
+"&Löschen\n"
+"&Beenden\n"
+"&Abbrechen"
 
 msgid "E326: Too many swap files found"
 msgstr "E326: Zu viele Auslagerungs-Dateien gefunden"
@@ -3236,15 +3531,15 @@
 msgid "E328: Menu only exists in another mode"
 msgstr "E328: Menü existiert nur in anderen Modus"
 
-msgid "E329: No menu of that name"
-msgstr "E329: Kein Menü mit diesem Namen"
+#, c-format
+msgid "E329: No menu \"%s\""
+msgstr "E329: Kein Menü \"%s\""
 
 msgid "E330: Menu path must not lead to a sub-menu"
 msgstr "E330: Menü-Pfad darf nicht zum Untermenü führen"
 
 msgid "E331: Must not add menu items directly to menu bar"
-msgstr ""
-"E331: Menü-Punkt können nicht direkt zum Menü-Balken hinzugefügt werden"
+msgstr "E331: Menü-Punkt können nicht direkt zum Menü-Balken hinzugefügt werden"
 
 msgid "E332: Separator cannot be part of a menu path"
 msgstr "E332: Trenner kann nicht Teil des Menü-Pfades sein"
@@ -3286,29 +3581,28 @@
 msgid "line %4ld:"
 msgstr "Zeile %4ld:"
 
-msgid "[string too long]"
-msgstr "[Zeichenkette zu lang]"
+#, c-format
+msgid "E354: Invalid register name: '%s'"
+msgstr "E354: Ungültiger Register Name: '%s'"
 
 msgid "Messages maintainer: Bram Moolenaar <Bram@vim.org>"
-msgstr "Übersetzt von Johannes Zellner <johannes@zellner.org>"
+msgstr "Übersetzt von Johannes Zellner <johannes@zellner.org> und Georg Dahn <gorgyd@yahoo.co.uk>"
 
 msgid "Interrupt: "
 msgstr "Unterbrechung: "
 
-msgid "Hit ENTER to continue"
-msgstr "weiter mit der EINGABETASTE"
-
 msgid "Hit ENTER or type command to continue"
 msgstr "Drücken Sie die EINGABETASTE oder geben Sie einen Befehl ein"
 
+#, c-format
+msgid "%s line %ld"
+msgstr "%s Zeile %ld"
+
 msgid "-- More --"
 msgstr "-- Mehr --"
 
-msgid " (RET/BS: line, SPACE/b: page, d/u: half page, q: quit)"
-msgstr " (RET/BS: Zeile, LEERZEICHEN/b: Seite, d/u: Halbe Seite, q: Ende)"
-
-msgid " (RET: line, SPACE: page, d: half page, q: quit)"
-msgstr " (RET: Zeile, LEERZEICHEN: Seite, d: Halbe Seite, q: Ende)"
+msgid " SPACE/d/j: screen/page/line down, b/u/k: up, q: quit "
+msgstr " LEERZEICHEN/d/j: Seite/halbe Seite/Zeile vorwärts, b/u/k: rückwärts, q: Ende"
 
 msgid "Question"
 msgstr "Frage"
@@ -3341,11 +3635,23 @@
 
 #. TODO: non-GUI file selector here
 msgid "E338: Sorry, no file browser in console mode"
-msgstr "E338: kein Datei-Dialog im Konsole-Modus"
+msgstr "E338: Kein Datei-Dialog im Konsole-Modus"
+
+msgid "E766: Insufficient arguments for printf()"
+msgstr "E766: Zu wenige Argumente für printf()"
+
+msgid "E767: Too many arguments to printf()"
+msgstr "E767: Zu viele Argumente für printf()"
 
 msgid "W10: Warning: Changing a readonly file"
 msgstr "W10: Warnung: Ändern einer schreibgeschützten Datei"
 
+msgid "Type number or click with mouse (<Enter> cancels): "
+msgstr "Bitte Nummer eingeben oder mit der Maus auswählen (abbrechen mit <Enter>)"
+
+msgid "Choice number (<Enter> cancels): "
+msgstr "Gewünschte Nummer (abbrechen mit <Enter>)"
+
 msgid "1 more line"
 msgstr "eine Zeile mehr"
 
@@ -3363,6 +3669,9 @@
 msgid " (Interrupted)"
 msgstr " (Unterbrochen)"
 
+msgid "Beep!"
+msgstr "Beep!"
+
 msgid "Vim: preserving files...\n"
 msgstr "Vim: Sichern der Dateien...\n"
 
@@ -3379,8 +3688,7 @@
 "[bytes] total alloc-freed %lu-%lu, in use %lu, peak use %lu\n"
 msgstr ""
 "\n"
-"[Bytes] gesamt alloziert-frei %lu-%lu, in Verwendung %lu, maximale "
-"Verwendung %lu\n"
+"[Bytes] gesamt alloziert-frei %lu-%lu, in Verwendung %lu, maximale Verwendung %lu\n"
 
 #, c-format
 msgid ""
@@ -3405,25 +3713,20 @@
 msgid "Calling shell to execute: \"%s\""
 msgstr "Rufe Shell auf, um \"%s\" auszuführen"
 
-#, fuzzy
-#~ msgid "E545: Missing colon"
-#~ msgstr "fehlendes Komma"
+msgid "E545: Missing colon"
+msgstr "E545: Fehlender Doppelpunkt"
 
-#, fuzzy
-#~ msgid "E546: Illegal mode"
-#~ msgstr "Unzulässiger Modus"
+msgid "E546: Illegal mode"
+msgstr "E546: Unzulässiger Modus"
 
-#, fuzzy
-#~ msgid "E547: Illegal mouseshape"
-#~ msgstr "Unzulässige Maus-Form"
+msgid "E547: Illegal mouseshape"
+msgstr "E547: Unzulässige Mauszeiger"
 
-#, fuzzy
-#~ msgid "E548: digit expected"
-#~ msgstr "Ziffer erwartet"
+msgid "E548: digit expected"
+msgstr "E548: Ziffer erwartet"
 
-#, fuzzy
-#~ msgid "E549: Illegal percentage"
-#~ msgstr "Unzulässige Prozentangabe"
+msgid "E549: Illegal percentage"
+msgstr "E549: Unzulässige Prozentangabe"
 
 msgid "Enter encryption key: "
 msgstr "Geben Sie bitte den Schlüssel ein: "
@@ -3439,8 +3742,8 @@
 "E343: Invalid path: '**[number]' must be at the end of the path or be "
 "followed by '%s'."
 msgstr ""
-"E343: Ungültiger Pfad: '**[Nummer]' muss am Ende des Pfads sein, oder von '%"
-"s' gefolgt werden. Siehe :help path."
+"E343: Ungültiger Pfad: '**[Nummer]' muss am Ende des Pfads sein, oder von "
+"'%s' gefolgt werden. Siehe \":help path\"."
 
 #, c-format
 msgid "E344: Can't find directory \"%s\" in cdpath"
@@ -3458,35 +3761,32 @@
 msgid "E347: No more file \"%s\" found in path"
 msgstr "E347: Keine weitere Datei \"%s\" im Pfad gefunden"
 
-#, fuzzy
-#~ msgid "E550: Missing colon"
-#~ msgstr "fehlendes Komma"
-
-#, fuzzy
-#~ msgid "E551: Illegal component"
-#~ msgstr "Unzulässige Komponente"
-
-#, fuzzy
-#~ msgid "E552: digit expected"
-#~ msgstr "Ziffer erwartet"
-
 #. Get here when the server can't be found.
-#~ msgid "Cannot connect to Netbeans #2"
-#~ msgstr ""
+msgid "Cannot connect to Netbeans #2"
+msgstr "Keine Verbindung zu NetBeans #2"
 
-#~ msgid "Cannot connect to Netbeans"
-#~ msgstr ""
+msgid "Cannot connect to Netbeans"
+msgstr "Keine Verbindung zu NetBeans"
 
 #, c-format
-#~ msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\""
-#~ msgstr ""
+msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\""
+msgstr "E668: Falscher Zugriffsmodus auf die NetBeans Zugriff-Informationsdatei: \"%s\""
 
-#~ msgid "read from Netbeans socket"
-#~ msgstr ""
+msgid "read from Netbeans socket"
+msgstr "gelesen vom NetBeans Socket"
 
-#, fuzzy, c-format
-#~ msgid "E658: NetBeans connection lost for buffer %ld"
-#~ msgstr "E86: Kann nicht zum Puffer %ld wechseln"
+#, c-format
+msgid "E658: NetBeans connection lost for buffer %ld"
+msgstr "E658: Verbindung zu NetBeans für Puffer %ld verloren"
+
+msgid "E505: "
+msgstr "E505: "
+
+msgid "E774: 'operatorfunc' is empty"
+msgstr "E775: 'operatorfunc' is empty"
+
+msgid "E775: Eval feature not available"
+msgstr "E775: Evaluierungsfunktion nicht verfügbar"
 
 msgid "Warning: terminal cannot highlight"
 msgstr "Achtung: Terminal unterstützt keine Hervorhebung"
@@ -3499,23 +3799,19 @@
 msgstr "E349: Kein Merkmal unter dem Cursor"
 
 msgid "E352: Cannot erase folds with current 'foldmethod'"
-msgstr ""
-"E352: Faltung kann mit der eingestellten Methode 'foldmethod' nicht gelöscht "
-"werden"
+msgstr "E352: Faltung kann mit der eingestellten Faltungsmethode nicht gelöscht werden"
 
-#, fuzzy
-#~ msgid "E664: changelist is empty"
-#~ msgstr "E91: Die Option 'shell' ist leer"
+msgid "E664: changelist is empty"
+msgstr "E664: Liste der Änderungen ist leer"
 
-#~ msgid "E662: At start of changelist"
-#~ msgstr ""
+msgid "E662: At start of changelist"
+msgstr "E662: Am Anfang der Liste der Änderungen"
 
-#~ msgid "E663: At end of changelist"
-#~ msgstr ""
+msgid "E663: At end of changelist"
+msgstr "E663: Am Ende der Liste der Änderungen"
 
-#, fuzzy
-#~ msgid "Type  :quit<Enter>  to exit Vim"
-#~ msgstr "tippe  :q<Enter>                zum Beenden               "
+msgid "Type  :quit<Enter>  to exit Vim"
+msgstr "Bitte  :quit<Enter>  eingeben um Vim zu verlassen"
 
 #, c-format
 msgid "1 line %sed 1 time"
@@ -3523,7 +3819,7 @@
 
 #, c-format
 msgid "1 line %sed %d times"
-msgstr "1 Zeile %s %d Mal"
+msgstr "eine Zeile %s %d Mal"
 
 #, c-format
 msgid "%ld lines %sed 1 time"
@@ -3538,18 +3834,21 @@
 msgstr "%ld Zeilen zum Einrücken... "
 
 msgid "1 line indented "
-msgstr "1 Zeile eingerückt... "
+msgstr "eine Zeile eingerückt... "
 
 #, c-format
 msgid "%ld lines indented "
 msgstr "%ld Zeilen eingerückt... "
 
+msgid "E748: No previously used register"
+msgstr "E748: Kein bereits verwendetes Register"
+
 #. must display the prompt
 msgid "cannot yank; delete anyway"
 msgstr "kann nicht kopieren; lösche trotzdem"
 
 msgid "1 line changed"
-msgstr "1 Zeile ~"
+msgstr "eine Zeile geändert"
 
 #, c-format
 msgid "%ld lines changed"
@@ -3559,8 +3858,15 @@
 msgid "freeing %ld lines"
 msgstr "gebe %ld Zeilen frei"
 
+msgid "block of 1 line yanked"
+msgstr "Block von einer Zeile kopiert"
+
 msgid "1 line yanked"
-msgstr "Eine Zeile kopiert"
+msgstr "eine Zeile kopiert"
+
+#, c-format
+msgid "block of %ld lines yanked"
+msgstr "Block von %ld Zeilen kopiert"
 
 #, c-format
 msgid "%ld lines yanked"
@@ -3589,12 +3895,8 @@
 "# Register:\n"
 
 #, fuzzy, c-format
-#~ msgid "E574: Unknown register type %d"
-#~ msgstr "Unbekannter Register Typ %d"
-
-#, c-format
-msgid "E354: Invalid register name: '%s'"
-msgstr "E354: Unzulässiger Register Name: '%s'"
+msgid "E574: Unknown register type %d"
+msgstr "E574: Unbekannter Register Typ %d"
 
 #, c-format
 msgid "%ld Cols; "
@@ -3602,161 +3904,142 @@
 
 #, c-format
 msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes"
-msgstr "%s%ld von %ld Zeilen; %ld von %ld Worten; %ld von %ld Bytes"
+msgstr "%s%ld von %ld Zeilen; %ld von %ld Wörtern; %ld von %ld Bytes"
+
+#, c-format
+msgid ""
+"Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Chars; %ld of %ld "
+"Bytes"
+msgstr ""
+"%s%ld von %ld Zeilen; %ld von %ld Wörtern; %ld von %ld Zeichen; %ld von %ld "
+"Bytes"
 
 #, c-format
 msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld"
-msgstr "Spal %s von %s; Zeile %ld von %ld; Wort %ld von %ld; Byte %ld von %ld"
+msgstr "Sp %s von %s; Zeile %ld von %ld; Wort %ld von %ld; Byte %ld von %ld"
+
+#, c-format
+msgid ""
+"Col %s of %s; Line %ld of %ld; Word %ld of %ld; Char %ld of %ld; Byte %ld of "
+"%ld"
+msgstr ""
+"Sp %s von %s; Zeile %ld von %ld; Wort %ld von %ld; Zeichen %ld von %ld; Byte %ld von "
+"%ld"
 
 #, c-format
 msgid "(+%ld for BOM)"
 msgstr "(+%ld für BOM)"
 
-#~ msgid "%<%f%h%m%=Page %N"
-#~ msgstr ""
+msgid "%<%f%h%m%=Page %N"
+msgstr "%<%f%h%m%=Seite %N"
 
 msgid "Thanks for flying Vim"
 msgstr "Danke für die Benutzung von Vim"
 
-#, fuzzy
-#~ msgid "E518: Unknown option"
-#~ msgstr "Unbekannte Option"
+msgid "E518: Unknown option"
+msgstr "E518: Unbekannte Option"
 
-#, fuzzy
-#~ msgid "E519: Option not supported"
-#~ msgstr "Option nicht unterstützt"
+msgid "E519: Option not supported"
+msgstr "E519: Option nicht unterstützt"
 
-#, fuzzy
-#~ msgid "E520: Not allowed in a modeline"
-#~ msgstr "Nicht erlaubt in einer 'modeline'"
+msgid "E520: Not allowed in a modeline"
+msgstr "E520: Nicht erlaubt in einer Modeline"
 
-msgid ""
-"\n"
-"\tLast set from "
-msgstr ""
-"\n"
-"\tZuletzt gesetzt von "
+msgid "E521: Number required after ="
+msgstr "E521: Zahl benötigt nach ="
 
-#, fuzzy
-#~ msgid "E521: Number required after ="
-#~ msgstr "Brauche Zahl nach ="
+msgid "E522: Not found in termcap"
+msgstr "E522: Nicht gefunden in 'termcap'"
 
-#, fuzzy
-#~ msgid "E522: Not found in termcap"
-#~ msgstr "Nicht gefunden in termcap"
+#, c-format
+msgid "E539: Illegal character <%s>"
+msgstr "E539: Unzulässiges Zeichen <%s>"
 
-#, fuzzy, c-format
-#~ msgid "E539: Illegal character <%s>"
-#~ msgstr "Unzulässiges Zeichen <%s>"
+msgid "E529: Cannot set 'term' to empty string"
+msgstr "E529: 'term' darf keine leere Zeichenkette sein"
 
-#, fuzzy
-#~ msgid "E529: Cannot set 'term' to empty string"
-#~ msgstr "'term' kann keine leere Zeichenkette sein"
+msgid "E530: Cannot change term in GUI"
+msgstr "E530: Kann Terminal in der GUI nicht verändern"
 
-#, fuzzy
-#~ msgid "E530: Cannot change term in GUI"
-#~ msgstr "'term' kann im GUI nicht verändert werden"
+msgid "E531: Use \":gui\" to start the GUI"
+msgstr "E531: Verwende \":gui\", um die GUI-Version zu starten"
 
-#, fuzzy
-#~ msgid "E531: Use \":gui\" to start the GUI"
-#~ msgstr "Verwende \":gui\", um die GUI-Version zu starten"
+msgid "E589: 'backupext' and 'patchmode' are equal"
+msgstr "E589: 'backupext' und 'patchmode' sind gleich"
 
-#, fuzzy
-#~ msgid "E589: 'backupext' and 'patchmode' are equal"
-#~ msgstr "'backupext' und 'patchmode' sind gleich"
+msgid "E617: Cannot be changed in the GTK+ 2 GUI"
+msgstr "E617: Kann in der GTK+ 2 GUI nicht verändert werden"
 
-#, fuzzy
-#~ msgid "E617: Cannot be changed in the GTK+ 2 GUI"
-#~ msgstr "'term' kann im GUI nicht verändert werden"
+msgid "E524: Missing colon"
+msgstr "E524: Fehlender Doppelpunkt"
 
-#, fuzzy
-#~ msgid "E524: Missing colon"
-#~ msgstr "fehlendes Komma"
+msgid "E525: Zero length string"
+msgstr "E525: Zeichenkette der Länge Null"
 
-#, fuzzy
-#~ msgid "E525: Zero length string"
-#~ msgstr "Zeichenkette der Länge Null"
+#, c-format
+msgid "E526: Missing number after <%s>"
+msgstr "E526: Fehlende Zahl nach <%s>"
 
-#, fuzzy, c-format
-#~ msgid "E526: Missing number after <%s>"
-#~ msgstr "fehlende Zahl nach <%s>"
+msgid "E527: Missing comma"
+msgstr "E527: Fehlendes Komma"
 
-#, fuzzy
-#~ msgid "E527: Missing comma"
-#~ msgstr "Komma fehlt"
+msgid "E528: Must specify a ' value"
+msgstr "E528: Ein ' Wert muss angegeben werden"
 
-#, fuzzy
-#~ msgid "E528: Must specify a ' value"
-#~ msgstr "ein '-Wert muss angegeben werden"
+msgid "E595: contains unprintable or wide character"
+msgstr "E595: Enthält nicht-druckbare oder Multi-Byte Zeichen"
 
-#, fuzzy
-#~ msgid "E595: contains unprintable or wide character"
-#~ msgstr "enthält nicht-druckbare Zeichen"
+msgid "E596: Invalid font(s)"
+msgstr "E596: Ungültige Schriftart(en)"
 
-#, fuzzy
-#~ msgid "E596: Invalid font(s)"
-#~ msgstr "Ungültiger Schriftsatz"
+msgid "E597: can't select fontset"
+msgstr "E597: Kann \"Fontset\" nicht auswählen"
 
-# what's the difference ?
-#, fuzzy
-#~ msgid "E597: can't select fontset"
-#~ msgstr "\"fontset\" kann nicht eingestellt werden"
+msgid "E598: Invalid fontset"
+msgstr "E598: Ungültiges \"Fontset\""
 
-#, fuzzy
-#~ msgid "E598: Invalid fontset"
-#~ msgstr "Ungültiger Fontset"
+msgid "E533: can't select wide font"
+msgstr "E533: Kann Breitschrift nicht auswählen"
 
-#, fuzzy
-#~ msgid "E533: can't select wide font"
-#~ msgstr "Weiter Schriftart kann nicht engestellt werden"
+msgid "E534: Invalid wide font"
+msgstr "E534: Ungültige Breitschrift"
 
-#, fuzzy
-#~ msgid "E534: Invalid wide font"
-#~ msgstr "Ungültiger weiter Schriftsatz"
+#, c-format
+msgid "E535: Illegal character after <%c>"
+msgstr "E535: Ungültiges Zeichen nach <%c>"
 
-#, fuzzy, c-format
-#~ msgid "E535: Illegal character after <%c>"
-#~ msgstr "Unzulässiges Zeichen nach <%c>"
+msgid "E536: comma required"
+msgstr "E536: Komma benötigt"
 
-#, fuzzy
-#~ msgid "E536: comma required"
-#~ msgstr "Komma benötigt"
+#, c-format
+msgid "E537: 'commentstring' must be empty or contain %s"
+msgstr "E537: 'commentstring' muss leer sein oder %s enthalten"
 
-#, fuzzy, c-format
-#~ msgid "E537: 'commentstring' must be empty or contain %s"
-#~ msgstr "'commentstring' muß leer sein, oder %s enthalten"
+msgid "E538: No mouse support"
+msgstr "E538: Keine Maus-Unterstützung"
 
-#, fuzzy
-#~ msgid "E538: No mouse support"
-#~ msgstr "Keine Maus-Unterstützung"
+msgid "E540: Unclosed expression sequence"
+msgstr "E540: Nicht-geschlossene Ausdrucksfolge"
 
-# XXX
-#, fuzzy
-#~ msgid "E540: Unclosed expression sequence"
-#~ msgstr "Nicht geschlossene Ausdrucks Folge"
+msgid "E541: too many items"
+msgstr "E541: Zu viele Elemente"
 
-#, fuzzy
-#~ msgid "E541: too many items"
-#~ msgstr "zu viele Punkte"
+msgid "E542: unbalanced groups"
+msgstr "E542: Unausgewogene Gruppen"
 
-#, fuzzy
-#~ msgid "E542: unbalanced groups"
-#~ msgstr "nicht ausgewogene Gruppen"
+msgid "E590: A preview window already exists"
+msgstr "E590: Ein Voransichtsfenster existiert bereits"
 
-#, fuzzy
-#~ msgid "E590: A preview window already exists"
-#~ msgstr "Ein Fenster zur Voransicht existiert bereits"
+msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'"
+msgstr "W17: Arabisch benötigt UTF-8, bitte ':set encoding=utf-8' ausführen"
 
-#~ msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'"
-#~ msgstr ""
+#, c-format
+msgid "E593: Need at least %d lines"
+msgstr "E593: Mindestens %d Zeilen werden benötigt"
 
-#, fuzzy, c-format
-#~ msgid "E593: Need at least %d lines"
-#~ msgstr "mindestens %d Zeilen werden benötigt"
-
-#, fuzzy, c-format
-#~ msgid "E594: Need at least %d columns"
-#~ msgstr "mindestens %d Spalten werden benötigt"
+#, c-format
+msgid "E594: Need at least %d columns"
+msgstr "E594: Mindestens %d Spalten werden benötigt"
 
 #, c-format
 msgid "E355: Unknown option: %s"
@@ -3825,14 +4108,14 @@
 msgstr "Vim steigt aus mit %d\n"
 
 msgid "cannot change console mode ?!\n"
-msgstr "kann Konsolen Modus nicht wechseln ?!\n"
+msgstr "kann Konsolenmodus nicht wechseln ?!\n"
 
 msgid "mch_get_shellsize: not a console??\n"
-msgstr "mch_get_winsize: ist keine Konsole??\n"
+msgstr "mch_get_winsize: keine Konsole??\n"
 
 #. if Vim opened a window: Executing a shell may cause crashes
 msgid "E360: Cannot execute shell with -f option"
-msgstr "E360: Kann Shell nicht mit der -f Option aus führen"
+msgstr "E360: Kann Shell nicht mit der -f Option ausführen"
 
 msgid "Cannot execute "
 msgstr "Kann nicht ausführen "
@@ -3852,6 +4135,9 @@
 msgid "...(truncated)"
 msgstr "...(abgeschnitten)"
 
+msgid "Message"
+msgstr "Nachricht"
+
 msgid "'columns' is not 80, cannot execute external commands"
 msgstr "'columns' beträgt nicht 80, kann externe Befehle nicht ausführen"
 
@@ -3862,17 +4148,14 @@
 msgid "to %s on %s"
 msgstr "nach %s auf %s"
 
-#, fuzzy, c-format
-#~ msgid "E613: Unknown printer font: %s"
-#~ msgstr "E113: Unbekannte Option: %s"
+#, c-format
+msgid "E613: Unknown printer font: %s"
+msgstr "E613: Unbekannte Druckerschriftart: %s"
 
 #, c-format
 msgid "E238: Print error: %s"
 msgstr "E238: Fehler beim Drucken: %s"
 
-msgid "Unknown"
-msgstr "Unbekannt"
-
 #, c-format
 msgid "Printing '%s'"
 msgstr "Drucke '%s'"
@@ -3957,39 +4240,38 @@
 "\n"
 "Befehl beendet\n"
 
-#, fuzzy
-#~ msgid "XSMP lost ICE connection"
-#~ msgstr "Verbindungen anzeigen"
+msgid "XSMP lost ICE connection"
+msgstr "XSMP verlor ICE Verbindung"
+
+#, c-format
+msgid "dlerror = \"%s\""
+msgstr "dlerror = \"%s\""
 
 msgid "Opening the X display failed"
 msgstr "Öffnen des X-Displays schlug fehl"
 
-#~ msgid "XSMP handling save-yourself request"
-#~ msgstr ""
+msgid "XSMP handling save-yourself request"
+msgstr ""
 
-#, fuzzy
-#~ msgid "XSMP opening connection"
-#~ msgstr "keine Verbindungen zu cscope"
+msgid "XSMP opening connection"
+msgstr "XSMP öffnet Verbindung"
 
-#~ msgid "XSMP ICE connection watch failed"
-#~ msgstr ""
+msgid "XSMP ICE connection watch failed"
+msgstr "XSMP ICE Verbindungsüberwachung fehlgeschlagen"
 
 #, c-format
-#~ msgid "XSMP SmcOpenConnection failed: %s"
-#~ msgstr ""
+msgid "XSMP SmcOpenConnection failed: %s"
+msgstr "XSMP SmcOpenConnection fehlgeschlagen: %s"
 
 msgid "At line"
 msgstr "In Zeile"
 
-#~ msgid "Could not allocate memory for command line."
-#~ msgstr ""
+msgid "Could not load vim32.dll!"
+msgstr "Konnte vim32.dll nicht laden!"
 
 msgid "VIM Error"
 msgstr "VIM Fehler"
 
-msgid "Could not load vim32.dll!"
-msgstr "Konnte vim32.dll nicht laden!"
-
 msgid "Could not fix up function pointers to the DLL!"
 msgstr "Konnte Funktions-Zeiger in der DLL nicht korrigieren!"
 
@@ -4005,7 +4287,7 @@
 msgstr "schließe"
 
 msgid "logoff"
-msgstr "aus-loggen"
+msgstr "ausloggen"
 
 msgid "shutdown"
 msgstr "beenden"
@@ -4034,7 +4316,7 @@
 msgstr "E373: Unerwartetes %%%c im Format"
 
 msgid "E374: Missing ] in format string"
-msgstr "E374: fehlendes ] im Format"
+msgstr "E374: Fehlende ] im Format"
 
 #, c-format
 msgid "E375: Unsupported %%%c in format string"
@@ -4054,9 +4336,8 @@
 msgid "E379: Missing or empty directory name"
 msgstr "E379: Fehlender oder leerer Verzeichnisname"
 
-#, fuzzy
-#~ msgid "E553: No more items"
-#~ msgstr "Keine weiteren Punkte"
+msgid "E553: No more items"
+msgstr "E553: Keine weiteren Einträge"
 
 #, c-format
 msgid "(%d of %d)%s%s: "
@@ -4078,55 +4359,55 @@
 msgid "E382: Cannot write, 'buftype' option is set"
 msgstr "E382: Kann nicht schreiben, 'buftype'-Option ist gesetzt"
 
-#, fuzzy, c-format
-#~ msgid "E369: invalid item in %s%%[]"
-#~ msgstr "E239: Ungültiger Text für ein Zeichen: %s"
+msgid "E683: File name missing or invalid pattern"
+msgstr "E683: Dateiname fehlt oder ungültiges Muster"
+
+#, c-format
+msgid "Cannot open file \"%s\""
+msgstr "Kann Datei \"%s\" nicht öffnen"
+
+msgid "E681: Buffer is not loaded"
+msgstr "E681: Buffer ist nicht geladen"
+
+msgid "E777: String or List expected"
+msgstr "E777: Zeichenkette oder Liste erwartet"
+
+#, c-format
+msgid "E369: invalid item in %s%%[]"
+msgstr "E369: Ungültiges Element in %s%%[]"
 
 msgid "E339: Pattern too long"
 msgstr "E339: Muster zu lang"
 
-#, fuzzy
-#~ msgid "E50: Too many \\z("
-#~ msgstr "E76: zu viele ["
-
-#, fuzzy, c-format
-#~ msgid "E51: Too many %s("
-#~ msgstr "E76: zu viele ["
-
-#~ msgid "E52: Unmatched \\z("
-#~ msgstr ""
+msgid "E50: Too many \\z("
+msgstr "E50: Zu viele \\z("
 
 #, c-format
-#~ msgid "E53: Unmatched %s%%("
-#~ msgstr ""
+msgid "E51: Too many %s("
+msgstr "E51: Zu viele %s("
 
-#, fuzzy, c-format
-#~ msgid "E54: Unmatched %s("
-#~ msgstr "Kein Treffer für: %s"
-
-#, fuzzy, c-format
-#~ msgid "E55: Unmatched %s)"
-#~ msgstr "Kein Treffer für: %s"
+msgid "E52: Unmatched \\z("
+msgstr "E52: \\z( ohne Übereinstimmung"
 
 #, c-format
-#~ msgid "E56: %s* operand could be empty"
-#~ msgstr ""
+msgid "E53: Unmatched %s%%("
+msgstr "E53: %s%%( ohne Übereinstimmung"
 
 #, c-format
-#~ msgid "E57: %s+ operand could be empty"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "E59: invalid character after %s@"
-#~ msgstr "E215: Unzulässiges Zeichen nach *: %s"
+msgid "E54: Unmatched %s("
+msgstr "E54: %s( ohne Übereinstimmung"
 
 #, c-format
-#~ msgid "E58: %s{ operand could be empty"
-#~ msgstr ""
+msgid "E55: Unmatched %s)"
+msgstr "E55: %s) ohne Übereinstimmung"
 
 #, c-format
-#~ msgid "E60: Too many complex %s{...}s"
-#~ msgstr ""
+msgid "E59: invalid character after %s@"
+msgstr "E59: Ungültiges Zeichen nach %s@"
+
+#, c-format
+msgid "E60: Too many complex %s{...}s"
+msgstr "E60: Zu viele komplexe %s{...}s"
 
 #, c-format
 msgid "E61: Nested %s*"
@@ -4136,58 +4417,51 @@
 msgid "E62: Nested %s%c"
 msgstr "E62: Verschachteltes %s%c"
 
-#, fuzzy
-#~ msgid "E63: invalid use of \\_"
-#~ msgstr "E176: Falsche Anzahl von Argumenten"
+msgid "E63: invalid use of \\_"
+msgstr "E63: Ungültige Verwendung von \\_"
 
 #, c-format
 msgid "E64: %s%c follows nothing"
 msgstr "E64: %s%c nach Nichts"
 
-#, fuzzy
-#~ msgid "E65: Illegal back reference"
-#~ msgstr "E125: Unzulässiges Argument: %s"
+msgid "E65: Illegal back reference"
+msgstr "E65: Ungültige Rückreferenz"
 
-#, fuzzy
-#~ msgid "E66: \\z( not allowed here"
-#~ msgstr "E407: %s ist hier nicht erlaubt"
+msgid "E66: \\z( not allowed here"
+msgstr "E66: \\z( ist hier nicht erlaubt"
 
-#, fuzzy
-#~ msgid "E67: \\z1 et al. not allowed here"
-#~ msgstr "E407: %s ist hier nicht erlaubt"
+msgid "E67: \\z1 et al. not allowed here"
+msgstr "E67: \\z1 usw. ist hier nicht erlaubt"
 
-#, fuzzy
-#~ msgid "E68: Invalid character after \\z"
-#~ msgstr "E215: Unzulässiges Zeichen nach *: %s"
-
-#, fuzzy, c-format
-#~ msgid "E69: Missing ] after %s%%["
-#~ msgstr "E109: fehlender ':' nach '?'"
+msgid "E68: Invalid character after \\z"
+msgstr "E68: Ungültiges Zeichen nach \\z"
 
 #, c-format
-#~ msgid "E70: Empty %s%%[]"
-#~ msgstr ""
+msgid "E69: Missing ] after %s%%["
+msgstr "E69: Fehlende ] nach %s%%["
 
-#, fuzzy, c-format
-#~ msgid "E71: Invalid character after %s%%"
-#~ msgstr "E215: Unzulässiges Zeichen nach *: %s"
+#, c-format
+msgid "E70: Empty %s%%[]"
+msgstr "E70: %s%%[] ist leer"
 
-#, fuzzy, c-format
-#~ msgid "E554: Syntax error in %s{...}"
-#~ msgstr "Syntax Fehler in %s{...}"
+#, c-format
+msgid "E678: Invalid character after %s%%[dxouU]"
+msgstr "E678: Ungültiges Zeichen nach %s%%[dxouU]"
 
-msgid "E361: Crash intercepted; regexp too complex?"
-msgstr "E361: Absturz verhindert; Ist der reguläre Ausdruck zu kompliziert?"
+#, c-format
+msgid "E71: Invalid character after %s%%"
+msgstr "E71: Ungültiges Zeichen nach %s%%"
 
-msgid "E363: pattern caused out-of-stack error"
-msgstr "E363: Muster erzeugte einen Stapel-Überlauf-Fehler"
+#, c-format
+msgid "E769: Missing ] after %s["
+msgstr "E769: Fehlende ] nach %s["
+
+#, c-format
+msgid "E554: Syntax error in %s{...}"
+msgstr "E554: Syntaxfehler in %s{...}"
 
 msgid "External submatches:\n"
-msgstr "externe 'submatches':\n"
-
-#, c-format
-msgid "+--%3ld lines folded "
-msgstr "+--%3ld Zeilen gefaltet "
+msgstr "Externe 'submatches':\n"
 
 msgid " VREPLACE"
 msgstr " V-ERSETZEN"
@@ -4213,48 +4487,36 @@
 msgid " Hebrew"
 msgstr " Hebräisch"
 
-#~ msgid " Arabic"
-#~ msgstr ""
+msgid " Arabic"
+msgstr " Arabisch"
 
 msgid " (lang)"
 msgstr " (Sprache)"
 
-# einkleben ist echt Scheiße, aber einfügen
-# gibts schon ...
 msgid " (paste)"
-msgstr " (einkleben)"
+msgstr " (paste)"
 
 msgid " VISUAL"
 msgstr " VISUELL"
 
-#, fuzzy
-#~ msgid " VISUAL LINE"
-#~ msgstr " VISUELL"
+msgid " VISUAL LINE"
+msgstr " VISUELL ZEILE"
 
-#, fuzzy
-#~ msgid " VISUAL BLOCK"
-#~ msgstr " VISUELL"
+msgid " VISUAL BLOCK"
+msgstr " VISUELL BLOCK"
 
 msgid " SELECT"
 msgstr " AUSWAHL"
 
-#, fuzzy
-#~ msgid " SELECT LINE"
-#~ msgstr " AUSWAHL"
+msgid " SELECT LINE"
+msgstr " AUSWAHL ZEILE"
 
-#, fuzzy
-#~ msgid " SELECT BLOCK"
-#~ msgstr " AUSWAHL"
+msgid " SELECT BLOCK"
+msgstr " AUSWAHL BLOCK"
 
 msgid "recording"
 msgstr "aufzeichnen"
 
-msgid "search hit TOP, continuing at BOTTOM"
-msgstr "Suche erreichte den ANFANG und wurde am ENDE fortgesetzt"
-
-msgid "search hit BOTTOM, continuing at TOP"
-msgstr "Suche erreichte das ENDE und wurde am ANFANG fortgesetzt"
-
 #, c-format
 msgid "E383: Invalid search string: %s"
 msgstr "E383: Unzulässiges Suchmuster: %s"
@@ -4293,6 +4555,10 @@
 msgid "Scanning included file: %s"
 msgstr "Scanne eingefügte Datei: %s"
 
+#, c-format
+msgid "Searching included file %s"
+msgstr "Suche eingefügte Datei %s"
+
 msgid "E387: Match is on current line"
 msgstr "E387: Treffer ist auf der momentanen Zeile"
 
@@ -4308,16 +4574,363 @@
 msgid "E389: Couldn't find pattern"
 msgstr "E389: Muster konnte nicht gefunden werden"
 
+msgid "E759: Format error in spell file"
+msgstr "E759: Format-Fehler im Rechtschreibwörterbuch"
+
+msgid "E758: Truncated spell file"
+msgstr "E758 Abgeschnittenes Rechtschreibwörterbuch"
+
+#, c-format
+msgid "Trailing text in %s line %d: %s"
+msgstr "Angehängter Text in %s Zeile %d: %s"
+
+#, c-format
+msgid "Affix name too long in %s line %d: %s"
+msgstr "Affix Name zu lang in %s Zeile %d: %s"
+
+msgid "E761: Format error in affix file FOL, LOW or UPP"
+msgstr "E761: Format-Fehler in Affix-Datei FOL, LOW oder UPP"
+
+msgid "E762: Character in FOL, LOW or UPP is out of range"
+msgstr "E762: Zeichen in FOL, LOW oder UPP außerhalb des zulässigen Bereichs"
+
+msgid "Compressing word tree..."
+msgstr "Komprimiere Wörter-Baum..."
+
+msgid "E756: Spell checking is not enabled"
+msgstr "E756: Rechtschreibprüfung ist nicht aktiviert"
+
+#, c-format
+msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
+msgstr "Achtung: Kann Wörter-Liste \"%s.%s.spl\" oder \"%s.ascii.spl\" nicht finden"
+
+#, c-format
+msgid "Reading spell file \"%s\""
+msgstr "Lese Rechtschreibwörterbuch \"%s\" ein"
+
+msgid "E757: This does not look like a spell file"
+msgstr "E757: Das sieht nicht nach einem Wörterbuch für die Rechtschreibprüfung aus"
+
+msgid "E771: Old spell file, needs to be updated"
+msgstr "E771: Altes Wörterbuch für die Rechtschreibprüfung, benötigt Aktualisierung"
+
+msgid "E772: Spell file is for newer version of Vim"
+msgstr "E772: Wörterbuch für die Rechtschreibprüfung ist für eine neuere Version von Vim"
+
+msgid "E770: Unsupported section in spell file"
+msgstr "E770: Nicht unterstützter Abschnit im Wörterbuch für die Rechtschreibprüfung"
+
+#, c-format
+msgid "Warning: region %s not supported"
+msgstr "Achtung: Region %s nicht unterstützt"
+
+#, c-format
+msgid "Reading affix file %s ..."
+msgstr "Lese Affix-Datei %s ..."
+
+#, c-format
+msgid "Conversion failure for word in %s line %d: %s"
+msgstr "Konversionsfehler beim Wort in %s Zeile %d: %s"
+
+#, c-format
+msgid "Conversion in %s not supported: from %s to %s"
+msgstr "Konversion in %s nicht unterstützt: von %s nach %s"
+
+#, c-format
+msgid "Conversion in %s not supported"
+msgstr "Konversion in %s nicht unterstützt"
+
+#, c-format
+msgid "Invalid value for FLAG in %s line %d: %s"
+msgstr "Ungültiger Wert von FLAG in %s Zeile %d: %s"
+
+#, c-format
+msgid "FLAG after using flags in %s line %d: %s"
+msgstr "FLAG nach dem Gebrauch von Flags in %s Zeile %d: %s"
+
+#, c-format
+msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s"
+msgstr "Falscher COMPOUNDWORDMAX Wert in %s Zeile %d: %s"
+
+#, c-format
+msgid "Wrong COMPOUNDMIN value in %s line %d: %s"
+msgstr "Falscher COMPOUNDMIN Wert in %s Zeile %d: %s"
+
+#, c-format
+msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s"
+msgstr "Falscher COMPOUNDSYLMAX Wert in %s Zeile %d: %s"
+
+#, c-format
+msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s"
+msgstr "Falscher CHECKCOMPOUNDPATTERN Wert in %s Zeile %d: %s"
+
+#, c-format
+msgid "Different combining flag in continued affix block in %s line %d: %s"
+msgstr "Unterschiedliches verknüpfendes Flag im fortgesetzten Affix Block in %s Zeile %d: %s"
+
+#, c-format
+msgid "Duplicate affix in %s line %d: %s"
+msgstr "Doppeltes Affix in %s Zeile %d: %s"
+
+#, c-format
+msgid ""
+"Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s "
+"line %d: %s"
+msgstr ""
+"Affix wird auch für BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST verwendet in %s "
+"Zeile %d: %s"
+
+#, c-format
+msgid "Expected Y or N in %s line %d: %s"
+msgstr "Y oder N erwartet in %s Zeile %d: %s"
+
+#, c-format
+msgid "Broken condition in %s line %d: %s"
+msgstr "Bedingung verletzt in %s Zeile %d: %s"
+
+#, c-format
+msgid "Affix flags ignored when PFXPOSTPONE used in %s line %d: %s"
+msgstr "Affix Flags ignoriert, wenn PFXPOSTPONE verwendet wird in %s Zeile %d: %s"
+
+#, c-format
+msgid "Expected REP(SAL) count in %s line %d"
+msgstr "Erwartetes REP(SAL) gezählt in %s Zeile %d"
+
+#, c-format
+msgid "Expected MAP count in %s line %d"
+msgstr "Erwartetes MAP gezählt in %s Zeile %d"
+
+#, c-format
+msgid "Duplicate character in MAP in %s line %d"
+msgstr "Doppeltes Zeichen in MAP in %s Zeile %d"
+
+#, c-format
+msgid "Unrecognized or duplicate item in %s line %d: %s"
+msgstr "Nicht erkanntes oder doppeltes Element in %s Zeile %d: %s"
+
+#, c-format
+msgid "Missing FOL/LOW/UPP line in %s"
+msgstr "Fehlende FOL/LOW/UPP Zeile in %s"
+
+msgid "COMPOUNDSYLMAX used without SYLLABLE"
+msgstr "COMPOUNDSYLMAX ohne SYLLABLE verwendet"
+
+msgid "Too many postponed prefixes"
+msgstr "Zu viele zurück gestellte Präfixe"
+
+msgid "Too many compound flags"
+msgstr "Zu viele zusammengesetzte Flags"
+
+msgid "Too many posponed prefixes and/or compound flags"
+msgstr "Zu viele zurück gestellte Präfixe und/oder zusammengesetzte Flags"
+
+#, c-format
+msgid "Missing SOFO%s line in %s"
+msgstr "Fehlende SOFO%s Zeile in %s"
+
+#, c-format
+msgid "Both SAL and SOFO lines in %s"
+msgstr "Sowohl SAL als auch SOFO Zeilen in %s"
+
+#, c-format
+msgid "Flag is not a number in %s line %d: %s"
+msgstr "Flag ist keine Zahl in %s Zeile %d: %s"
+
+#, c-format
+msgid "Illegal flag in %s line %d: %s"
+msgstr "Unerlaubtes Flag in %s Zeile %d: %s"
+
+#, c-format
+msgid "%s value differs from what is used in another .aff file"
+msgstr "%s Wert unterscheidet sich von dem, was in einer anderen .aff Datei verwendet wird"
+
+#, c-format
+msgid "Reading dictionary file %s ..."
+msgstr "Lese Wörterbuch-Datei %s ..."
+
+#, c-format
+msgid "E760: No word count in %s"
+msgstr "E760: Keine Wörter gezählt in %s"
+
+#, c-format
+msgid "line %6d, word %6d - %s"
+msgstr "Zeile %6d, Wort %6d - %s"
+
+#, c-format
+msgid "Duplicate word in %s line %d: %s"
+msgstr "Doppeltes Wort in %s Zeile %d: %s"
+
+#, c-format
+msgid "First duplicate word in %s line %d: %s"
+msgstr "Erstes doppeltes Wort in %s Zeile %d: %s"
+
+#, c-format
+msgid "%d duplicate word(s) in %s"
+msgstr "%d doppelte(s) Wort(e) in %s"
+
+#, c-format
+msgid "Ignored %d word(s) with non-ASCII characters in %s"
+msgstr "%d Wort(e) mit nicht-ASCII Zeichen ignoriert in %s"
+
+#, c-format
+msgid "Reading word file %s ..."
+msgstr "Lese Wort-Datei %s ..."
+
+#, c-format
+msgid "Duplicate /encoding= line ignored in %s line %d: %s"
+msgstr "Doppelte /encoding= Zeile ignoriert in %s Zeile %d: %s"
+
+#, c-format
+msgid "/encoding= line after word ignored in %s line %d: %s"
+msgstr "/encoding= Zeile nach Wort ignoriert in %s Zeile %d: %s"
+
+#, c-format
+msgid "Duplicate /regions= line ignored in %s line %d: %s"
+msgstr "Doppelte /regions= Zeile ignoriert in %s Zeile %d: %s"
+
+#, c-format
+msgid "Too many regions in %s line %d: %s"
+msgstr "Zu viele Regionen in %s Zeile %d: %s"
+
+#, c-format
+msgid "/ line ignored in %s line %d: %s"
+msgstr "/ Zeile ignoriert in %s Zeile %d: %s"
+
+#, c-format
+msgid "Invalid region nr in %s line %d: %s"
+msgstr "Ungültige Regionsnummer in %s Zeile %d: %s"
+
+#, c-format
+msgid "Unrecognized flags in %s line %d: %s"
+msgstr "Nicht erkanntes Flag in %s Zeile %d: %s"
+
+#, c-format
+msgid "Ignored %d words with non-ASCII characters"
+msgstr "%d Wörter mit nicht-ASCII Zeichen ignoriert"
+
+#, c-format
+msgid "Compressed %d of %d nodes; %d (%d%%) remaining"
+msgstr "%d von %d Knoten komprimiert; %d (%d%%) übrig"
+
+msgid "Reading back spell file..."
+msgstr "Lese Rechtschreibwörterbuch zurück..."
+
+#.
+#. * Go through the trie of good words, soundfold each word and add it to
+#. * the soundfold trie.
+#.
+msgid "Performing soundfolding..."
+msgstr "Führe 'Soundfolding' durch..."
+
+#, c-format
+msgid "Number of words after soundfolding: %ld"
+msgstr "Anzahl der Wörter nach 'Soundfolding': %ld"
+
+#, c-format
+msgid "Total number of words: %d"
+msgstr "Gesamte Anzahl von Wörtern: %d"
+
+#, c-format
+msgid "Writing suggestion file %s ..."
+msgstr "Schreibe Datei %s für Vorschläge ..."
+
+#, c-format
+msgid "Estimated runtime memory use: %d bytes"
+msgstr "Geschätzter Speicher zur Laufzeit: %d Bytes"
+
+msgid "E751: Output file name must not have region name"
+msgstr "E751: Ausgabedatei darf keinen Regionsnamen haben"
+
+msgid "E754: Only up to 8 regions supported"
+msgstr "E754: Maximal 8 Regionen unterstützt"
+
+#, c-format
+msgid "E755: Invalid region in %s"
+msgstr "E755: Ungültige Region in %s"
+
+msgid "Warning: both compounding and NOBREAK specified"
+msgstr "Achtung: Sowohl zusammengesetzte Wörter als auch NOBREAK angegeben"
+
+#, c-format
+msgid "Writing spell file %s ..."
+msgstr "Schreibe Rechtschreibwörterbuch %s ..."
+
+msgid "Done!"
+msgstr "Fertig!"
+
+#, c-format
+msgid "E765: 'spellfile' does not have %ld entries"
+msgstr "E765: 'spellfile' hat nicht %ld Einträge"
+
+#, c-format
+msgid "Word removed from %s"
+msgstr "Wort entfernt von %s"
+
+#, c-format
+msgid "Word added to %s"
+msgstr "Wort zu %s hinzugefügt"
+
+msgid "E763: Word characters differ between spell files"
+msgstr "E763: 'Word Characters' unterscheiden sich zwischen Rechtschreibwörterbüchern"
+
+msgid "Sorry, no suggestions"
+msgstr "Leider keine Vorschläge"
+
+#, c-format
+msgid "Sorry, only %ld suggestions"
+msgstr "Leider nur %ld Vorschläge"
+
+#. avoid more prompt
+#, c-format
+msgid "Change \"%.*s\" to:"
+msgstr "Ändere \"%.*s\" nach:"
+
+#, c-format
+msgid " < \"%.*s\""
+msgstr " < \"%.*s\""
+
+msgid "E752: No previous spell replacement"
+msgstr "E752: Keine vorhergehende Ersetzung"
+
+#, c-format
+msgid "E753: Not found: %s"
+msgstr "E753: Nicht gefunden: %s"
+
+#, c-format
+msgid "E778: This does not look like a .sug file: %s"
+msgstr "E778: Das sieht nicht nach einer .sug Datei aus: %s"
+
+#, c-format
+msgid "E779: Old .sug file, needs to be updated: %s"
+msgstr "E779: Veraltete .sug Datei; Aktualisierung erforderlich: %s"
+
+#, c-format
+msgid "E780: .sug file is for newer version of Vim: %s"
+msgstr "E780: .sug Datei ist für eine neuere Version von Vim: %s"
+
+#, c-format
+msgid "E781: .sug file doesn't match .spl file: %s"
+msgstr "E781: .sug Datei passt nicht zur .spl Datei: %s"
+
+#, c-format
+msgid "E782: error while reading .sug file: %s"
+msgstr "E782: Fehler beim Lesen der .sug Datei: %s"
+
+#. This should have been checked when generating the .spl
+#. * file.
+msgid "E783: duplicate char in MAP entry"
+msgstr "E783: Doppeltes Zeichen im MAP Eintrag"
+
 #, c-format
 msgid "E390: Illegal argument: %s"
-msgstr "E390: Unzulässiges Argument: %s"
+msgstr "E390: Unerlaubtes Argument: %s"
 
 #, c-format
 msgid "E391: No such syntax cluster: %s"
-msgstr "E391: Kein solches Syntax-Cluster: %s"
+msgstr "E391: Kein solcher Syntax Cluster: %s"
 
 msgid "No Syntax items defined for this buffer"
-msgstr "Keine Syntax-Elemente definiert für diesen Puffer"
+msgstr "Keine Syntax-Elemente für diesen Puffer definiert"
 
 msgid "syncing on C-style comments"
 msgstr "Synchronisation an C-Stil Kommentaren"
@@ -4350,7 +4963,7 @@
 "--- Syntax items ---"
 msgstr ""
 "\n"
-"--- Satzbau Elemente ---"
+"--- Syntax-Elemente ---"
 
 #, c-format
 msgid "E392: No such syntax cluster: %s"
@@ -4366,7 +4979,7 @@
 msgstr "; Treffer "
 
 msgid " line breaks"
-msgstr " Zeilen-Umbrüche"
+msgstr " Zeilenumbrüche"
 
 msgid "E393: group[t]here not accepted here"
 msgstr "E393: \"group[t]here\" ist an dieser Stelle ungültig"
@@ -4385,6 +4998,10 @@
 msgstr "E397: Dateiname wird benötigt"
 
 #, c-format
+msgid "E747: Missing ']': %s"
+msgstr "E747: Fehlende ']': %s"
+
+#, c-format
 msgid "E398: Missing '=': %s"
 msgstr "E398: Fehlendes '=': %s"
 
@@ -4397,14 +5014,14 @@
 
 #, c-format
 msgid "E401: Pattern delimiter not found: %s"
-msgstr "E401: Muster Abgrenzer nicht gefunden: %s"
+msgstr "E401: Muster-Abgrenzer nicht gefunden: %s"
 
 #, c-format
 msgid "E402: Garbage after pattern: %s"
 msgstr "E402: Schrott nach Muster: %s"
 
 msgid "E403: syntax sync: line continuations pattern specified twice"
-msgstr "E403: syntax sync: Zeilen Fortsetzungs Muster zweifach angegeben"
+msgstr "E403: Syntax sync: Zeilen Fortsetzungs Muster zweifach angegeben"
 
 #, c-format
 msgid "E404: Illegal arguments: %s"
@@ -4424,8 +5041,7 @@
 
 #, c-format
 msgid "E408: %s must be first in contains list"
-msgstr ""
-"E408: %s muss als Erstes in der Liste der enthaltenen Elemente auftreten"
+msgstr "E408: %s muss als Erstes in der Liste der enthaltenen Elemente auftreten"
 
 #, c-format
 msgid "E409: Unknown group name: %s"
@@ -4435,6 +5051,9 @@
 msgid "E410: Invalid :syntax subcommand: %s"
 msgstr "E410: Ungültiger :syntax Befehl: %s"
 
+msgid "E679: recursive loop loading syncolor.vim"
+msgstr "E679: Rekursive Schleife beim Laden von syncolor.vim"
+
 #, c-format
 msgid "E411: highlight group not found: %s"
 msgstr "E411: Hervorhebungs-Gruppe nicht gefunden: %s"
@@ -4452,7 +5071,7 @@
 
 #, c-format
 msgid "E415: unexpected equal sign: %s"
-msgstr "E415: unerwartetes Gleichheitszeichen: %s"
+msgstr "E415: Unerwartetes Gleichheitszeichen: %s"
 
 #, c-format
 msgid "E416: missing equal sign: %s"
@@ -4460,7 +5079,7 @@
 
 #, c-format
 msgid "E417: missing argument: %s"
-msgstr "E417: fehlendes Argument: %s"
+msgstr "E417: Fehlendes Argument: %s"
 
 #, c-format
 msgid "E418: Illegal value: %s"
@@ -4487,22 +5106,17 @@
 msgid "E424: Too many different highlighting attributes in use"
 msgstr "E424: Zu viele verschieden Hervorhebungs-Attribute in Gebrauch"
 
-#~ msgid "E669: Unprintable character in group name"
-#~ msgstr ""
+msgid "E669: Unprintable character in group name"
+msgstr "E669: Nicht druckbare Zeichen im Namen der Gruppe"
 
-#. This is an error, but since there previously was no check only
-#. * give a warning.
-#, fuzzy
-#~ msgid "W18: Invalid character in group name"
-#~ msgstr "E182: Ungültiger Befehls-Name"
+msgid "W18: Invalid character in group name"
+msgstr "W18: Ungültiges Zeichen im Namen der Gruppe"
 
-#, fuzzy
-#~ msgid "E555: at bottom of tag stack"
-#~ msgstr "am Anfang der Tag-Liste"
+msgid "E555: at bottom of tag stack"
+msgstr "E555: Am Ende des Tag-Stacks"
 
-#, fuzzy
-#~ msgid "E556: at top of tag stack"
-#~ msgstr "am Ende der Tag-Liste"
+msgid "E556: at top of tag stack"
+msgstr "E556: Am Anfang des Tag-Stacks"
 
 msgid "E425: Cannot go before first matching tag"
 msgstr "E425: Kann nicht vor den ersten passenden Tag hinausgehen"
@@ -4517,13 +5131,6 @@
 msgid "file\n"
 msgstr "Datei\n"
 
-#.
-#. * Ask to select a tag from the list.
-#. * When using ":silent" assume that <CR> was entered.
-#.
-msgid "Enter nr of choice (<CR> to abort): "
-msgstr "Gewünschte Nummer (abbrechen mit <CR>): "
-
 msgid "E427: There is only one matching tag"
 msgstr "E427: Es gibt nur einen passenden Tag"
 
@@ -4571,7 +5178,7 @@
 
 #, c-format
 msgid "Before byte %ld"
-msgstr "vor byte %ld"
+msgstr "Vor byte %ld"
 
 #, c-format
 msgid "E432: Tags file not sorted: %s"
@@ -4588,23 +5195,19 @@
 msgstr "E435: Tag konnte nicht gefunden werden, das ist nur eine Vermutung!"
 
 msgid "' not known. Available builtin terminals are:"
-msgstr ""
-"' nicht bekannt. Zur Verfügung stehen die folgenden eingebauten Terminals:"
+msgstr "' nicht bekannt. Zur Verfügung stehen die folgenden eingebauten Terminals:"
 
 msgid "defaulting to '"
 msgstr "Voreinstellung '"
 
-#, fuzzy
-#~ msgid "E557: Cannot open termcap file"
-#~ msgstr "termpcap-Datei kann nicht geöffnet werden"
+msgid "E557: Cannot open termcap file"
+msgstr "E557: Termcap-Datei kann nicht geöffnet werden"
 
-#, fuzzy
-#~ msgid "E558: Terminal entry not found in terminfo"
-#~ msgstr "Terminal-Eintrag konnte in der terminfo-Datei nicht gefunden werden"
+msgid "E558: Terminal entry not found in terminfo"
+msgstr "E558: Terminal-Eintrag konte in der Terminfo-Datenbank nicht gefunden werden"
 
-#, fuzzy
-#~ msgid "E559: Terminal entry not found in termcap"
-#~ msgstr "Terminal-Eintrag konnte in der termcap-Datei nicht gefunden werden"
+msgid "E559: Terminal entry not found in termcap"
+msgstr "E559: Terminal-Eintrag konnte in der Termcap-Datei nicht gefunden werden"
 
 #, c-format
 msgid "E436: No \"%s\" entry in termcap"
@@ -4627,26 +5230,61 @@
 msgid "Vim: Error reading input, exiting...\n"
 msgstr "Vim: Fehler beim Lesen der Eingabe, Abbruch...\n"
 
-# TODO: need more work!
-#. must display the prompt
 msgid "No undo possible; continue anyway"
 msgstr "Rückgängigmachung nicht möglich; setze trotz dem fort"
 
+msgid "Already at oldest change"
+msgstr "Bereits bei der ältesten Änderung"
+
+msgid "Already at newest change"
+msgstr "Bereits bei der jüngsten Änderung"
+
+#, c-format
+msgid "Undo number %ld not found"
+msgstr "Nummer %ld zur Rückgängigmachung nicht gefunden"
+
 msgid "E438: u_undo: line numbers wrong"
 msgstr "E438: u_undo: Zeilennummer falsch"
 
-msgid "1 change"
-msgstr "1 Änderung"
+msgid "more line"
+msgstr "Zeile mehr"
+
+msgid "more lines"
+msgstr "Zeilen mehr"
+
+msgid "line less"
+msgstr "Zeile weniger"
+
+msgid "fewer lines"
+msgstr "Zeilen weniger"
+
+msgid "change"
+msgstr "Änderung"
+
+msgid "changes"
+msgstr "Änderungen"
 
 #, c-format
-msgid "%ld changes"
-msgstr "%ld Änderungen"
+msgid "%ld %s; %s #%ld  %s"
+msgstr "%ld %s; %s #%ld  %s"
+
+msgid "before"
+msgstr "vor"
+
+msgid "after"
+msgstr "nach"
+
+msgid "Nothing to undo"
+msgstr "Nichts zum tun"
+
+msgid "number changes  time"
+msgstr "Nummer Änd.     Zeit"
 
 msgid "E439: undo list corrupt"
-msgstr "E439: Rückgangbarkeitsliste kaputt"
+msgstr "E439: Liste der Rückgängigmachungen fehlerhaft"
 
 msgid "E440: undo line missing"
-msgstr "E440: Rückgangbarkeitsliste fehlt"
+msgstr "E440: Rückgängigmachungszeile fehlt"
 
 #. Only MS VC 4.1 and earlier can do Win32s
 msgid ""
@@ -4750,7 +5388,7 @@
 "Huge version "
 msgstr ""
 "\n"
-"Monster Version "
+"Riesige Version "
 
 msgid ""
 "\n"
@@ -4783,16 +5421,14 @@
 msgid "without GUI."
 msgstr "ohne GUI."
 
-#, fuzzy
-#~ msgid "with GTK2-GNOME GUI."
-#~ msgstr "mit GTK-GNOME GUI."
+msgid "with GTK2-GNOME GUI."
+msgstr "mit GTK2-GNOME GUI."
 
 msgid "with GTK-GNOME GUI."
 msgstr "mit GTK-GNOME GUI."
 
-#, fuzzy
-#~ msgid "with GTK2 GUI."
-#~ msgstr "mit GTK GUI."
+msgid "with GTK2 GUI."
+msgstr "mit GTK2 GUI."
 
 msgid "with GTK GUI."
 msgstr "mit GTK GUI."
@@ -4800,9 +5436,8 @@
 msgid "with X11-Motif GUI."
 msgstr "mit X11-Motif GUI."
 
-#, fuzzy
-#~ msgid "with X11-neXtaw GUI."
-#~ msgstr "mit X11-Athena GUI."
+msgid "with X11-neXtaw GUI."
+msgstr "mit X11-neXtaw GUI."
 
 msgid "with X11-Athena GUI."
 msgstr "mit X11-Athena GUI."
@@ -4814,7 +5449,7 @@
 msgstr "mit Photon GUI."
 
 msgid "with GUI."
-msgstr "mit GTK."
+msgstr "mit GUI."
 
 msgid "with Carbon GUI."
 msgstr "mit Carbon GUI."
@@ -4844,7 +5479,7 @@
 msgstr "         Benutzer-exrc-Datei: \""
 
 msgid "  2nd user exrc file: \""
-msgstr " zweite Benutzer-vimrc-Datei: \""
+msgstr " zweite Benutzer-exrc-Datei: \""
 
 msgid "  system gvimrc file: \""
 msgstr "         System-gvimrc-Datei: \""
@@ -4895,69 +5530,64 @@
 msgstr "Helfen Sie armen Kindern in Uganda!"
 
 msgid "type  :help iccf<Enter>       for information "
-msgstr "tippe  :help iccf<Enter>        für Informationen darüber "
+msgstr "Tippe  :help iccf<Enter>        für Informationen darüber "
 
 msgid "type  :q<Enter>               to exit         "
-msgstr "tippe  :q<Enter>                zum Beenden               "
+msgstr "Tippe  :q<Enter>                zum Beenden               "
 
 msgid "type  :help<Enter>  or  <F1>  for on-line help"
-msgstr "tippe  :help<Enter>  oder <F1>  für Online Hilfe          "
+msgstr "Tippe  :help<Enter>  oder <F1>  für Online Hilfe          "
 
-msgid "type  :help version6<Enter>   for version info"
-msgstr "tippe  :help version6<Enter>    für Versions-Informationen"
+msgid "type  :help version7<Enter>   for version info"
+msgstr "Tippe  :help version7<Enter>    für Versions-Informationen"
 
 msgid "Running in Vi compatible mode"
 msgstr "Vi kompatible Einstellung"
 
 msgid "type  :set nocp<Enter>        for Vim defaults"
-msgstr "tippe  :set nocp<Enter>         für Vim-Voreinstellungen  "
+msgstr "Tippe  :set nocp<Enter>         für Vim-Voreinstellungen  "
 
 msgid "type  :help cp-default<Enter> for info on this"
-msgstr "tippe  :help cp-default<Enter>  für Informationen darüber "
+msgstr "Tippe  :help cp-default<Enter>  für Informationen darüber "
 
 msgid "menu  Help->Orphans           for information    "
-msgstr "Menü  Hilfe->Waisen           für Informationen darüber    "
+msgstr "Menü   Hilfe->Waisen            für Informationen darüber "
 
 msgid "Running modeless, typed text is inserted"
 msgstr "Mode-freier Betrieb, getippter Text wird eingefügt"
 
 msgid "menu  Edit->Global Settings->Toggle Insert Mode  "
-msgstr ""
-"Menü  Editieren->Globale Einstellung->Einfüge-Modus ein- und ausschalten  "
+msgstr "Menü  Editieren->Globale Einstellung->Einfüge-Modus ein- und ausschalten  "
 
 msgid "                              for two modes      "
 msgstr "                              für zwei Modi       "
 
 msgid "menu  Edit->Global Settings->Toggle Vi Compatible"
-msgstr ""
-"Menü  Editieren->Globale Einstellung->Vi-Kompatibilität ein- und ausschalten"
+msgstr "Menü  Editieren->Globale Einstellung->Vi-Kompatibilität ein- und ausschalten"
 
 msgid "                              for Vim defaults   "
 msgstr "                              für Vim Voreinstellungen   "
 
-#~ msgid "Sponsor Vim development!"
-#~ msgstr ""
+msgid "Sponsor Vim development!"
+msgstr "Unterstützen Sie die Entwicklung von Vim"
 
-#~ msgid "Become a registered Vim user!"
-#~ msgstr ""
+msgid "Become a registered Vim user!"
+msgstr "Werden Sie ein registrierter Benutzer von Vim!"
 
-#, fuzzy
-#~ msgid "type  :help sponsor<Enter>    for information "
-#~ msgstr "tippe  :help iccf<Enter>        für Informationen darüber "
+msgid "type  :help sponsor<Enter>    for information "
+msgstr "Tippe  :help sponsor<Enter>     für mehr Informationen    "
 
-#, fuzzy
-#~ msgid "type  :help register<Enter>   for information "
-#~ msgstr "tippe  :help iccf<Enter>        für Informationen darüber "
+msgid "type  :help register<Enter>   for information "
+msgstr "Tippe  :help register<Enter>    für mehr Informationen    "
 
-#, fuzzy
-#~ msgid "menu  Help->Sponsor/Register  for information    "
-#~ msgstr "Menü  Hilfe->Waisen           für Informationen darüber    "
+msgid "menu  Help->Sponsor/Register  for information    "
+msgstr "Menü   Hilfe->Sponsor/Register  für mehr Informationen    "
 
 msgid "WARNING: Windows 95/98/ME detected"
 msgstr "ACHTUNG: Windows 95/98/ME wurde erkannt"
 
 msgid "type  :help windows95<Enter>  for info on this"
-msgstr "tippe  :help windows95<Enter>   für Informationen darüber "
+msgstr "Tippe  :help windows95<Enter>   für Informationen darüber "
 
 msgid "E441: There is no preview window"
 msgstr "E441: Es gibt kein Fenster zur Voransicht"
@@ -4990,43 +5620,11 @@
 msgid "E370: Could not load library %s"
 msgstr "E370: Bibliothek %s konnte nicht geladen werden"
 
-#, fuzzy
-#~ msgid "Sorry, this command is disabled: the Perl library could not be loaded."
-#~ msgstr ""
-#~ "Dieser Befehl ist nicht verfügbar, da die Tcl Bibliothek nicht geladen "
-#~ "werden konnte"
+msgid "Sorry, this command is disabled: the Perl library could not be loaded."
+msgstr "Dieser Befehl ist nicht verfügbar, da die Perl-Bibliothek nicht geladen werden konnte"
 
-#~ msgid "E299: Perl evaluation forbidden in sandbox without the Safe module"
-#~ msgstr ""
-
-msgid "Edit with &multiple Vims"
-msgstr "Editiere mit &mehreren Vims"
-
-msgid "Edit with single &Vim"
-msgstr "Editiere mit einem &Vim"
-
-#, fuzzy
-#~ msgid "&Diff with Vim"
-#~ msgstr "Editiere mit &Vim"
-
-msgid "Edit with &Vim"
-msgstr "Editiere mit &Vim"
-
-#. Now concatenate
-msgid "Edit with existing Vim - &"
-msgstr "Editiere mit existierendem Vim - &"
-
-msgid "Edits the selected file(s) with Vim"
-msgstr "Editiere die ausgewählten Datei(en) mit Vim"
-
-msgid "Error creating process: Check if gvim is in your path!"
-msgstr "Fehler beim Starten des Prozesses: Ist gvim im Pfad?"
-
-msgid "gvimext.dll error"
-msgstr "gvimext.dll Fehler"
-
-msgid "Path length too long!"
-msgstr "Pfad-Länge zu lang!"
+msgid "E299: Perl evaluation forbidden in sandbox without the Safe module"
+msgstr "E299: Perl-Evaluierung in der Sandbox ohne dem 'Safe' Modul"
 
 msgid "--No lines in buffer--"
 msgstr "--Keine Zeilen im Puffer--"
@@ -5035,46 +5633,45 @@
 #. * The error messages that can be shared are included here.
 #. * Excluded are errors that are only used once and debugging messages.
 #.
-#, fuzzy
-#~ msgid "E470: Command aborted"
-#~ msgstr "Befehl abgebrochen"
+msgid "E470: Command aborted"
+msgstr "E470: Befehl abgebrochen"
 
-#, fuzzy
-#~ msgid "E471: Argument required"
-#~ msgstr "Argument wird benötigt"
+msgid "E471: Argument required"
+msgstr "E471: Argument benötigt"
 
 msgid "E10: \\ should be followed by /, ? or &"
 msgstr "E10: \\ sollte von /, ? or & gefolgt werden"
 
 msgid "E11: Invalid in command-line window; <CR> executes, CTRL-C quits"
-msgstr ""
-"E11: Ungültig im Kommando-Zeilen Fenster; <CR> führt aus, CTRL-C beendet"
+msgstr "E11: Ungültig im Kommando-Zeilen Fenster; <CR> führt aus, CTRL-C beendet"
 
 msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search"
-msgstr ""
-"E12: Befehl nicht zulässig vom exrc/vimrc in der momentanen Verzeichnis- "
-"oder Tag-Suche"
+msgstr "E12: Befehl nicht zulässig vom exrc/vimrc in der momentanen Verzeichnis- oder Tag-Suche"
 
 msgid "E171: Missing :endif"
-msgstr "E171: fehlendes :endif"
+msgstr "E171: Fehlendes :endif"
 
-#, fuzzy
-#~ msgid "E600: Missing :endtry"
-#~ msgstr "E171: fehlendes :endif"
+msgid "E600: Missing :endtry"
+msgstr "E600: Fehlendes :endtry"
 
 msgid "E170: Missing :endwhile"
 msgstr "E170: fehlendes :endwhile"
 
-#, fuzzy
-#~ msgid "E588: :endwhile without :while"
-#~ msgstr ":endwhile ohne :while"
+msgid "E170: Missing :endfor"
+msgstr "E170: Fehlendes :endfor"
+
+msgid "E588: :endwhile without :while"
+msgstr "E588: :endwhile ohne :while"
+
+msgid "E588: :endfor without :for"
+msgstr "E588: :endfor ohne :for"
 
 msgid "E13: File exists (add ! to override)"
 msgstr "E13: Datei existiert bereits (erzwinge mit !)"
 
-#, fuzzy
-#~ msgid "E472: Command failed"
-#~ msgstr "Befehl schlug fehl"
+
+msgid "E472: Command failed"
+msgstr "E472: Befehl fehlgeschlagen"
 
 #, c-format
 msgid "E234: Unknown fontset: %s"
@@ -5088,9 +5685,8 @@
 msgid "E236: Font \"%s\" is not fixed-width"
 msgstr "E236: Schriftart \"%s\" hat keine feste Breite"
 
-#, fuzzy
-#~ msgid "E473: Internal error"
-#~ msgstr "Interner Fehler"
+msgid "E473: Internal error"
+msgstr "E473: Interner Fehler"
 
 msgid "Interrupted"
 msgstr "Unterbrochen"
@@ -5098,13 +5694,12 @@
 msgid "E14: Invalid address"
 msgstr "E14: Ungültige Adresse"
 
-#, fuzzy
-#~ msgid "E474: Invalid argument"
-#~ msgstr "Ungültiges Argument"
+msgid "E474: Invalid argument"
+msgstr "E474: Ungültiges Argument"
 
-#, fuzzy, c-format
-#~ msgid "E475: Invalid argument: %s"
-#~ msgstr "Ungültiges Argument: %s"
+#, c-format
+msgid "E475: Invalid argument: %s"
+msgstr "E475: Ungültiges Argument: %s"
 
 #, c-format
 msgid "E15: Invalid expression: %s"
@@ -5113,17 +5708,13 @@
 msgid "E16: Invalid range"
 msgstr "E16: Ungültiger Bereich"
 
-#, fuzzy
-#~ msgid "E476: Invalid command"
-#~ msgstr "Ungültiger Befehls-Name"
+msgid "E476: Invalid command"
+msgstr "E476: Ungültiger Befehl"
 
 #, c-format
 msgid "E17: \"%s\" is a directory"
 msgstr "E17: \"%s\" ist ein Verzeichnis"
 
-msgid "E18: Unexpected characters before '='"
-msgstr "E18: Unerwartetes Zeichen vor '='"
-
 #, c-format
 msgid "E364: Library call failed for \"%s()\""
 msgstr "E364: Bibliotheks-Aufruf für \"%s()\" schlug fehl"
@@ -5150,30 +5741,20 @@
 msgid "E24: No such abbreviation"
 msgstr "E24: Keine Abkürzung gefunden"
 
-#, fuzzy
-#~ msgid "E477: No ! allowed"
-#~ msgstr "! nicht erlaubt"
+msgid "E477: No ! allowed"
+msgstr "E477: Kein ! erlaubt"
 
 msgid "E25: GUI cannot be used: Not enabled at compile time"
-msgstr ""
-"E25: GUI kann nicht benutzt werden: wurde zum Zeitpunkt des Übersetzens "
-"nicht eingeschaltet."
+msgstr "E25: GUI kann nicht benutzt werden: wurde zum Zeitpunkt des Übersetzens nicht eingeschaltet."
 
 msgid "E26: Hebrew cannot be used: Not enabled at compile time\n"
-msgstr ""
-"E26: Hebräisch kann nicht benutzt werden: wurde zum Zeitpunkt des "
-"Übersetzens nicht eingeschaltet.\n"
+msgstr "E26: Hebräisch kann nicht benutzt werden: wurde zum Zeitpunkt des Übersetzens nicht eingeschaltet.\n"
 
 msgid "E27: Farsi cannot be used: Not enabled at compile time\n"
-msgstr ""
-"E27: Farsi kann nicht benutzt werden: wurde zum Zeitpunkt des Übersetzens "
-"nicht eingeschaltet.\n"
+msgstr "E27: Farsi kann nicht benutzt werden: wurde zum Zeitpunkt des Übersetzens nicht eingeschaltet.\n"
 
-#, fuzzy
-#~ msgid "E800: Arabic cannot be used: Not enabled at compile time\n"
-#~ msgstr ""
-#~ "E27: Farsi kann nicht benutzt werden: wurde zum Zeitpunkt des Übersetzens "
-#~ "nicht eingeschaltet.\n"
+msgid "E800: Arabic cannot be used: Not enabled at compile time\n"
+msgstr "E800: Arabisch kann nicht benutzt werden: wurde zum Zeitpunkt des Übersetzens nicht eingeschaltet.\n"
 
 #, c-format
 msgid "E28: No such highlight group name: %s"
@@ -5188,13 +5769,12 @@
 msgid "E31: No such mapping"
 msgstr "E31: Keine Zuordnung gefunden"
 
-#, fuzzy
-#~ msgid "E479: No match"
-#~ msgstr "Kein Treffer"
+msgid "E479: No match"
+msgstr "E479: Kein Treffer"
 
-#, fuzzy, c-format
-#~ msgid "E480: No match: %s"
-#~ msgstr "Kein Treffer für: %s"
+#, c-format
+msgid "E480: No match: %s"
+msgstr "E480: Kein Treffer: %s"
 
 msgid "E32: No file name"
 msgstr "E32: Kein Dateiname"
@@ -5208,37 +5788,33 @@
 msgid "E35: No previous regular expression"
 msgstr "E35: Keine vorheriger regulärer Ausdruck"
 
-#, fuzzy
-#~ msgid "E481: No range allowed"
-#~ msgstr "Bereich unzulässig"
+msgid "E481: No range allowed"
+msgstr "E481: Kein Bereich erlaubt"
 
 msgid "E36: Not enough room"
-msgstr "E36: zu wenig Platz"
+msgstr "E36: Zu wenig Platz"
 
 #, c-format
 msgid "E247: no registered server named \"%s\""
 msgstr "E247: Kein registrierter Server-Name \"%s\""
 
-#, fuzzy, c-format
-#~ msgid "E482: Can't create file %s"
-#~ msgstr "Datei kann nicht erzeugt werden: %s"
+#, c-format
+msgid "E482: Can't create file %s"
+msgstr "E482: Kann Datei %s nicht erzeugen"
 
-#, fuzzy
-#~ msgid "E483: Can't get temp file name"
-#~ msgstr "temp-Datei kann nicht erzeugt werden"
+msgid "E483: Can't get temp file name"
+msgstr "E483: Kann den Namen der temporären Datei nicht ermitteln"
 
-#, fuzzy, c-format
-#~ msgid "E484: Can't open file %s"
-#~ msgstr "E456: Datei \"%s\" kann nicht geöffnet werden"
+#, c-format
+msgid "E484: Can't open file %s"
+msgstr "E484: Kann die Datei %s nicht öffnen"
 
-#, fuzzy, c-format
-#~ msgid "E485: Can't read file %s"
-#~ msgstr "Datei %s kann nicht gelesen werden"
+#, c-format
+msgid "E485: Can't read file %s"
+msgstr "E485: Kann Datei %s nicht lesen"
 
-#, fuzzy
-#~ msgid "E37: No write since last change (add ! to override)"
-#~ msgstr ""
-#~ "E37: seit der letzten Änderung wurde nicht geschrieben (erzwinge mit !)"
+msgid "E37: No write since last change (add ! to override)"
+msgstr "E37: Kein Schreibvorgang seit der letzten Änderung (erzwinge mit !)"
 
 msgid "E38: Null argument"
 msgstr "E38: Null-Argument"
@@ -5259,31 +5835,30 @@
 msgid "Pattern not found"
 msgstr "Muster nicht gefunden"
 
-#, fuzzy, c-format
-#~ msgid "E486: Pattern not found: %s"
-#~ msgstr "Muster nicht gefunden: %s"
+#, c-format
+msgid "E486: Pattern not found: %s"
+msgstr "E486: Muster nicht gefunden: %s"
 
-#, fuzzy
-#~ msgid "E487: Argument must be positive"
-#~ msgstr "Argument muss positiv sein"
+msgid "E487: Argument must be positive"
+msgstr "E487: Argument muss positiv sein"
 
-#, fuzzy
-#~ msgid "E459: Cannot go back to previous directory"
-#~ msgstr "E186: Kein vorheriges Verzeichnis"
+msgid "E459: Cannot go back to previous directory"
+msgstr "E459: Kann nicht ins vorhergehende Verzeichnis wechseln"
 
 msgid "E42: No Errors"
 msgstr "E42: Kein Fehler"
 
+msgid "E776: No location list"
+msgstr "E776: Keine Positionsliste"
+
 msgid "E43: Damaged match string"
 msgstr "E43: Beschädigter Suchausdruck"
 
 msgid "E44: Corrupted regexp program"
 msgstr "E44: schadhaftes regexp Programm"
 
-#, fuzzy
-#~ msgid "E45: 'readonly' option is set (add ! to override)"
-#~ msgstr ""
-#~ "E45: Die Schreibschutz-Option 'readonly' ist gesetzt (erzwinge mit !)"
+msgid "E45: 'readonly' option is set (add ! to override)"
+msgstr "E45: Die Option 'readonly' ist gesetzt (erzwinge mit !)"
 
 #, c-format
 msgid "E46: Cannot set read-only variable \"%s\""
@@ -5295,9 +5870,8 @@
 msgid "E48: Not allowed in sandbox"
 msgstr "E48: In einer Sandbox nicht erlaubt"
 
-#, fuzzy
-#~ msgid "E523: Not allowed here"
-#~ msgstr "hier nicht erlaubt"
+msgid "E523: Not allowed here"
+msgstr "E523: Hier nicht erlaubt"
 
 msgid "E359: Screen mode setting not supported"
 msgstr "E359: Bildschirm Modus wird nicht unterstützt"
@@ -5324,28 +5898,25 @@
 msgstr "E75: Name zu lang"
 
 msgid "E76: Too many ["
-msgstr "E76: zu viele ["
+msgstr "E76: Zu viele ["
 
 msgid "E77: Too many file names"
-msgstr "E77: zu viele Dateinamen"
+msgstr "E77: Zu viele Dateinamen"
 
-#, fuzzy
-#~ msgid "E488: Trailing characters"
-#~ msgstr "Überschüssige Zeichen"
+msgid "E488: Trailing characters"
+msgstr "E488: Überschüssige Zeichen"
 
 msgid "E78: Unknown mark"
 msgstr "E78: Unbekannte Mark"
 
 msgid "E79: Cannot expand wildcards"
-msgstr "E79: Kann \"wildcards\" nicht erweitern"
+msgstr "E79: Kann die Platzhalter nicht erweitern"
 
-#, fuzzy
-#~ msgid "E591: 'winheight' cannot be smaller than 'winminheight'"
-#~ msgstr "'winheight' kann nicht kleiner sein als 'winminheight'"
+msgid "E591: 'winheight' cannot be smaller than 'winminheight'"
+msgstr "E591: 'winheight' darf nicht kleiner sein als 'winminheight'"
 
-#, fuzzy
-#~ msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'"
-#~ msgstr "'winwidth' kann nicht kleiner sein als 'winminwidth'"
+msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'"
+msgstr "E592: 'winwidth darf nicht kleiner sein als 'winminwidth'"
 
 msgid "E80: Error while writing"
 msgstr "E80: Fehler während des Schreibens"
@@ -5357,53 +5928,66 @@
 msgstr "E81: <SID> wurde nicht in einer Skript-Umgebung benutzt"
 
 msgid "E449: Invalid expression received"
-msgstr "E449: ungültiger Ausdruck"
+msgstr "E449: Ungültiger Ausdruck"
 
-#~ msgid "E463: Region is guarded, cannot modify"
-#~ msgstr ""
+msgid "E463: Region is guarded, cannot modify"
+msgstr "E463: Region ist geschützt; keine Änderung möglich"
 
-#~ msgid "function "
-#~ msgstr "Funktion "
+msgid "E744: NetBeans does not allow changes in read-only files"
+msgstr "E744: NetBeans erlaubt keine Änderungen in schreibgeschützten Dateien"
 
-#~ msgid "error reading cscope connection %d"
-#~ msgstr "Fehler beim Lesen aus der cscope Verbindung %d"
+#, c-format
+msgid "E685: Internal error: %s"
+msgstr "E685: Interner Fehler: %s"
 
-#~ msgid "E260: cscope connection not found"
-#~ msgstr "E260: keine cscope Verbindung gefunden"
+msgid "E363: pattern uses more memory than 'maxmempattern'"
+msgstr "E363: Muster benötigt mehr Speicher als 'maxmempattern'"
 
-#~ msgid "cscope connection closed"
-#~ msgstr "cscope Verbindung geschlossen"
+msgid "E749: empty buffer"
+msgstr "E749: Leerer Puffer"
 
-#~ msgid "couldn't malloc\n"
-#~ msgstr "Fehler beim allozieren\n"
+msgid "E682: Invalid search pattern or delimiter"
+msgstr "E682: Ungültiges Suchmuster oder Trennzeichen"
 
-#~ msgid "%2d %-5ld  %-34s  <none>\n"
-#~ msgstr "%2d %-5ld  %-34s  <keine>\n"
+msgid "E139: File is loaded in another buffer"
+msgstr "E139: Datei ist in einem anderen Puffer geladen"
 
-#~ msgid "E249: couldn't read VIM instance registry property"
-#~ msgstr ""
-#~ "E249: Registry-Eigenschaft der VIM Instanz konnte nicht gelesen werden"
+#, c-format
+msgid "E764: Option '%s' is not set"
+msgstr "E764: Option '%s' ist nicht gesetzt"
 
-#~ msgid "\"\n"
-#~ msgstr "\"\n"
+msgid "search hit TOP, continuing at BOTTOM"
+msgstr "Suche erreichte den ANFANG und wurde am ENDE fortgesetzt"
 
-#~ msgid "--help\t\tShow Gnome arguments"
-#~ msgstr "--help\t\tZeige Gnome-Argumente"
+msgid "search hit BOTTOM, continuing at TOP"
+msgstr "Suche erreichte das ENDE und wurde am ANFANG fortgesetzt"
 
-#~ msgid "E448: Unknown font: %s"
-#~ msgstr "E448: Unbekannte Schriftart: %s"
+msgid "Edit with &multiple Vims"
+msgstr "Editiere mit &mehreren Vims"
 
-#~ msgid " BLOCK"
-#~ msgstr "ER BLOCK"
+msgid "Edit with single &Vim"
+msgstr "Editiere mit einem &Vim"
 
-#~ msgid " LINE"
-#~ msgstr "E ZEILE"
+msgid "Diff with Vim"
+msgstr "Differenz mit Vim"
 
-#~ msgid "Linear tag search"
-#~ msgstr "Lineare Tag-Suche"
+msgid "Edit with &Vim"
+msgstr "Editiere mit &Vim"
 
-#~ msgid "Binary tag search"
-#~ msgstr "Binäre Tag-Suche"
+msgid "Edit with existing Vim - "
+msgstr "Editiere mit vorhandenem Vim - "
 
-#~ msgid "Can't open file %s"
-#~ msgstr "Datei %s kann nicht geöffnet werden"
+msgid "Press ENTER or type command to continue"
+msgstr "Betätigen Sie die EINGABETASTE oder geben Sie einen Befehl ein"
+
+msgid "Error creating process: Check if gvim is in your path!"
+msgstr "Fehler beim Erzeugen des Prozesses: Überprüfen Sie, ob gvim in Ihrem Pfad ist!"
+
+msgid "gvimext.dll error"
+msgstr "gvimext.dll Fehler"
+
+msgid "Path length too long!"
+msgstr "Die Länge des Pfads ist zu groß!"
+
+msgid "Edits the selected file(s) with Vim"
+msgstr "Editiert die ausgewählte(n) Datei(en) mit Vim"
diff --git a/src/po/it.po b/src/po/it.po
index baac330..2299c3a 100644
--- a/src/po/it.po
+++ b/src/po/it.po
@@ -1,6 +1,6 @@
 # Italian Translation for Vim
 #
-# FIRST AUTHOR Antonio Colombo <azc10@yahoo.com>, 2000
+# FIRST AUTHOR Antonio Colombo <azc100@gmail.com>, 2000
 #
 # Ogni commento è benvenuto...
 # Every remark is very welcome...
@@ -12,12 +12,12 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: vim 7.0\n"
-"POT-Creation-Date: 2006-03-03 07:40+0100\n"
-"PO-Revision-Date:  2006-03-03 07:40+0100\n"
-"Last-Translator:   Vlad Sandrini   <marco@sandrini.biz>\n"
+"POT-Creation-Date: 2006-03-31 07:25+0200\n"
+"PO-Revision-Date:  2006-04-03 10:05+0200\n"
+"Last-Translator:   Vlad Sandrini   <vlad.gently@gmail.com>\n"
 "Language-Team:     Italian"
-"                   Antonio Colombo <azc10@yahoo.com>"
-"                   Vlad Sandrini   <marco@sandrini.biz>\n"
+"                   Antonio Colombo <azc100@gmail.com>"
+"                   Vlad Sandrini   <vlad.gently@gmail.com>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO_8859-1\n"
 "Content-Transfer-Encoding: 8-bit\n"
@@ -137,8 +137,8 @@
 msgid "help"
 msgstr "aiuto"
 
-msgid "[help]"
-msgstr "[aiuto]"
+msgid "[Help]"
+msgstr "[Aiuto]"
 
 msgid "[Preview]"
 msgstr "[Anteprima]"
@@ -162,8 +162,8 @@
 msgid "[Location List]"
 msgstr "[Lista Locazioni]"
 
-msgid "[Error List]"
-msgstr "[Lista Errori]"
+msgid "[Quickfix List]"
+msgstr "[Lista Quickfix]"
 
 msgid ""
 "\n"
@@ -223,8 +223,8 @@
 msgstr " Completamento Keyword (^N^P)"
 
 #. ctrl_x_mode == 0, ^P/^N compl.
-msgid " ^X mode (^]^D^E^F^I^K^L^N^O^P^S^U^V^Y)"
-msgstr " modalità ^X (^]^D^E^F^I^K^L^N^O^P^S^U^V^Y)"
+msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
+msgstr " modalità ^X (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
 
 msgid " Whole line completion (^L^N^P)"
 msgstr " Completamento Linea Intera (^L^N^P)"
@@ -256,8 +256,8 @@
 msgid " Omni completion (^O^N^P)"
 msgstr " Completamento globale (^O^N^P)"
 
-msgid " Spelling suggestion (^S^N^P)"
-msgstr " Suggerimento ortografico (^S^N^P)"
+msgid " Spelling suggestion (s^N^P)"
+msgstr " Suggerimento ortografico (s^N^P)"
 
 msgid " Keyword Local completion (^N^P)"
 msgstr " Completamento Keyword Locale (^N^P)"
@@ -494,6 +494,9 @@
 msgid "E699: Too many arguments"
 msgstr "E699: Troppi argomenti"
 
+msgid "E785: complete() can only be used in Insert mode"
+msgstr "E785: complete() può essere usata solo in modalità inserimento"
+
 #.
 #. * Yes this is ugly, I don't particularly like it either.  But doing it
 #. * this way has the compelling advantage that translations need not to
@@ -2040,6 +2043,12 @@
 msgid "E672: Unable to open window inside MDI application"
 msgstr "E672: Non posso aprire la finestra in un'applicazione MDI"
 
+msgid "Close tab"
+msgstr "Chiudi linguetta"
+
+msgid "Open tab..."
+msgstr "Apri linguetta..."
+
 msgid "Find string (use '\\\\' to find  a '\\')"
 msgstr "Stringa di ricerca (usa '\\\\' per cercare  un '\\')"
 
@@ -2951,6 +2960,9 @@
 msgstr ""
 "--remote-wait-silent <files>  Stessa cosa, ignora se non esiste un server"
 
+msgid "--remote-tab <files>  As --remote but open tab page for each file"
+msgstr "--remote-tab <file>  Come --remote ma apre una linguetta per ogni file"
+
 msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit"
 msgstr "--remote-send <tasti>\tInvia <tasti> a un server Vim ed esci"
 
@@ -3498,7 +3510,7 @@
 
 #, c-format
 msgid "E773: Symlink loop for \"%s\""
-msgstr "E773: Collegamento ricorsivo per \"%s\""
+msgstr "E773: Collegamento simbolico ricorsivo per \"%s\""
 
 msgid "E325: ATTENTION"
 msgstr "E325: ATTENZIONE"
@@ -3884,7 +3896,7 @@
 msgstr "E352: Non posso togliere piegature con il 'foldmethod' in uso"
 
 msgid "E664: changelist is empty"
-msgstr "E664: lista modifiche non impostata"
+msgstr "E664: lista modifiche assente"
 
 msgid "E662: At start of changelist"
 msgstr "E662: All'inizio della lista modifiche"
@@ -4217,6 +4229,9 @@
 msgid "...(truncated)"
 msgstr "...(troncato)"
 
+msgid "Message"
+msgstr "Messaggio"
+
 msgid "'columns' is not 80, cannot execute external commands"
 msgstr "'columns' non vale 80, non riesco ad eseguire comandi esterni"
 
@@ -4446,10 +4461,6 @@
 msgid "E777: String or List expected"
 msgstr "E777: aspettavo Stringa o Lista"
 
-#, c-format
-msgid "E369: invalid item in %s%%[]"
-msgstr "E369: elemento non valido in %s%%[]"
-
 msgid "E339: Pattern too long"
 msgstr "E339: Espressione troppo lunga"
 
@@ -4624,6 +4635,10 @@
 msgid "Scanning included file: %s"
 msgstr "Scandisco file incluso: %s"
 
+#, c-format
+msgid "Searching included file %s"
+msgstr "Cerco nel file incluso: %s"
+
 msgid "E387: Match is on current line"
 msgstr "E387: Corrispondenza nella linea corrente"
 
@@ -4714,8 +4729,8 @@
 msgstr "FLAG dopo l'uso di flags in %s linea %d: %s"
 
 #, c-format
-msgid "Wrong COMPOUNDMAX value in %s line %d: %s"
-msgstr "Valore errato per COMPOUNDMAX in %s linea %d: %s"
+msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s"
+msgstr "Valore errato per COMPOUNDWORDMAX in %s linea %d: %s"
 
 #, c-format
 msgid "Wrong COMPOUNDMIN value in %s line %d: %s"
@@ -4726,6 +4741,10 @@
 msgstr "Valore errato per COMPOUNDSYLMAX in %s linea %d: %s"
 
 #, c-format
+msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s"
+msgstr "Valore errato per CHECKCOMPOUNDPATTERN in %s linea %d: %s"
+
+#, c-format
 msgid "Different combining flag in continued affix block in %s line %d: %s"
 msgstr ""
 "Flag combinazione diverso in blocco affissi continuo in %s linea %d: %s"
@@ -4751,6 +4770,10 @@
 msgstr "Condizione non rispettata in %s linea %d: %s"
 
 #, c-format
+msgid "Affix flags ignored when PFXPOSTPONE used in %s line %d: %s"
+msgstr "Flags di affissi ignorati con PFXPOSTPONE in %s linea %d: %s"
+
+#, c-format
 msgid "Expected REP(SAL) count in %s line %d"
 msgstr "Contatore REP(SAL) necessario in %s linea %d"
 
@@ -4919,6 +4942,14 @@
 msgid "E765: 'spellfile' does not have %ld entries"
 msgstr "E765: 'spellfile' non ha %ld elementi"
 
+#, c-format
+msgid "Word removed from %s"
+msgstr "Parola rimossa da %s"
+
+#, c-format
+msgid "Word added to %s"
+msgstr "Parola aggiunta a %s"
+
 msgid "E763: Word characters differ between spell files"
 msgstr "E763: Caratteri di parola differenti nei file ortografici"
 
@@ -5284,15 +5315,52 @@
 msgid "No undo possible; continue anyway"
 msgstr "'undo' non più possibile; continuo comunque"
 
+msgid "Already at oldest change"
+msgstr "Questa è già la prima modifica"
+
+msgid "Already at newest change"
+msgstr "Questa è già l'ultima modifica"
+
+#, c-format
+msgid "Undo number %ld not found"
+msgstr "Undo numero %ld non trovato"
+
 msgid "E438: u_undo: line numbers wrong"
 msgstr "E438: u_undo: numeri linee errati"
 
-msgid "1 change"
-msgstr "1 modifica"
+msgid "more line"
+msgstr "linea in più"
+
+msgid "more lines"
+msgstr "linee in più"
+
+msgid "line less"
+msgstr "linea in meno"
+
+msgid "fewer lines"
+msgstr "linee in meno"
+
+msgid "change"
+msgstr "modifica"
+
+msgid "changes"
+msgstr "modifiche"
 
 #, c-format
-msgid "%ld changes"
-msgstr "%ld modifiche"
+msgid "%ld %s; %s #%ld  %s"
+msgstr "%ld %s; %s #%ld  %s"
+
+msgid "before"
+msgstr "prima"
+
+msgid "after"
+msgstr "dopo"
+
+msgid "Nothing to undo"
+msgstr "Nessuna modifica, Undo impossibile"
+
+msgid "number changes  time"
+msgstr "numero modif.   ora"
 
 msgid "E439: undo list corrupt"
 msgstr "E439: lista 'undo' non valida"
@@ -5922,7 +5990,7 @@
 msgstr "E72: Errore durante chiusura swap file"
 
 msgid "E73: tag stack empty"
-msgstr "E73: tag stack non impostata"
+msgstr "E73: tag stack ancora vuoto"
 
 msgid "E74: Command too complex"
 msgstr "E74: Comando troppo complesso"
diff --git a/src/po/pl.UTF-8.po b/src/po/pl.UTF-8.po
new file mode 100644
index 0000000..6b881e4
--- /dev/null
+++ b/src/po/pl.UTF-8.po
@@ -0,0 +1,6043 @@
+# translation of pl.po to Polish
+# Polish Translation for Vim
+#
+# updated 2005 for vim-7.0
+#
+# FIRST AUTHOR Marcin Dalecki <martin@dalecki.de>, 2000.
+# Mikolaj Machowski <mikmach@wp.pl>, 2004, 2005, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: pl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-04-01 18:24+0200\n"
+"PO-Revision-Date: 2006-04-01 18:39+0200\n"
+"Last-Translator: Mikolaj Machowski <mikmach@wp.pl>\n"
+"Language-Team: Polish <mikmach@wp.pl>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.2\n"
+
+msgid "E82: Cannot allocate any buffer, exiting..."
+msgstr "E82: Nie mogę zarezerwować bufora; zakończenie..."
+
+msgid "E83: Cannot allocate buffer, using other one..."
+msgstr "E83: Nie mogę zarezerwować bufora; używam innego..."
+
+msgid "E515: No buffers were unloaded"
+msgstr "E515: Nie wyładowano żadnego bufora"
+
+msgid "E516: No buffers were deleted"
+msgstr "E516: Nie skasowano żadnego bufora"
+
+msgid "E517: No buffers were wiped out"
+msgstr "E517: Nie wyrzucono żadnego bufora"
+
+msgid "1 buffer unloaded"
+msgstr "1 bufor wyładowany"
+
+#, c-format
+msgid "%d buffers unloaded"
+msgstr "wyładowano %d buforów"
+
+msgid "1 buffer deleted"
+msgstr "1 bufor skasowany"
+
+#, c-format
+msgid "%d buffers deleted"
+msgstr "%d buforów skasowano"
+
+msgid "1 buffer wiped out"
+msgstr "wyrzucono 1 bufor "
+
+#, c-format
+msgid "%d buffers wiped out"
+msgstr "wyrzucono %d buforów"
+
+msgid "E84: No modified buffer found"
+msgstr "E84: Nie znaleziono zmienionych buforów"
+
+#. back where we started, didn't find anything.
+msgid "E85: There is no listed buffer"
+msgstr "E85: Nie ma wylistowanych buforów"
+
+#, c-format
+msgid "E86: Buffer %ld does not exist"
+msgstr "E86: Bufor \"%ld\" nie istnieje"
+
+msgid "E87: Cannot go beyond last buffer"
+msgstr "E87: Nie mogę przejść poza ostatni bufor"
+
+msgid "E88: Cannot go before first buffer"
+msgstr "E88: Nie mogę przejść przed pierwszy bufor"
+
+#, c-format
+msgid "E89: No write since last change for buffer %ld (add ! to override)"
+msgstr "E89 Nie zapisano zmian w buforze %ld (wymuś przez !)"
+
+msgid "E90: Cannot unload last buffer"
+msgstr "E90: Nie mogę wyładować ostatniego bufora"
+
+msgid "W14: Warning: List of file names overflow"
+msgstr "W14: OSTRZEŻENIE: Przepełnienie listy nazw plików"
+
+#, c-format
+msgid "E92: Buffer %ld not found"
+msgstr "E92: Nie znaleziono bufora %ld"
+
+#, c-format
+msgid "E93: More than one match for %s"
+msgstr "E93: Wielokrotne dopasowania dla %s"
+
+#, c-format
+msgid "E94: No matching buffer for %s"
+msgstr "E94: Żaden bufor nie pasuje do %s"
+
+#, c-format
+msgid "line %ld"
+msgstr "wiersz %ld"
+
+msgid "E95: Buffer with this name already exists"
+msgstr "E95: Bufor o tej nazwie już istnieje"
+
+msgid " [Modified]"
+msgstr " [Zmieniony]"
+
+msgid "[Not edited]"
+msgstr "[Nie edytowany]"
+
+msgid "[New file]"
+msgstr "[Nowy Plik]"
+
+msgid "[Read errors]"
+msgstr "[Błąd odczytu]"
+
+msgid "[readonly]"
+msgstr "[tylko odczyt]"
+
+#, c-format
+msgid "1 line --%d%%--"
+msgstr "1 wiersz --%d%%--"
+
+#, c-format
+msgid "%ld lines --%d%%--"
+msgstr "%ld wiersze --%d%%--"
+
+#, c-format
+msgid "line %ld of %ld --%d%%-- col "
+msgstr "wiersz %ld z %ld --%d%%-- kol "
+
+msgid "[No Name]"
+msgstr "[Bez nazwy]"
+
+#. must be a help buffer
+msgid "help"
+msgstr "pomoc"
+
+msgid "[Help]"
+msgstr "[Pomoc]"
+
+msgid "[Preview]"
+msgstr "[Podgląd]"
+
+msgid "All"
+msgstr "Wszystko"
+
+msgid "Bot"
+msgstr "Dół"
+
+msgid "Top"
+msgstr "Góra"
+
+#, c-format
+msgid ""
+"\n"
+"# Buffer list:\n"
+msgstr ""
+"\n"
+"# Lista buforów:\n"
+
+msgid "[Location List]"
+msgstr "[Lista lokacji]"
+
+msgid "[Quickfix List]"
+msgstr "[Lista quickfix]"
+
+msgid ""
+"\n"
+"--- Signs ---"
+msgstr ""
+"\n"
+"--- Znaki ---"
+
+#, c-format
+msgid "Signs for %s:"
+msgstr "Znaki dla %s:"
+
+#, c-format
+msgid "    line=%ld  id=%d  name=%s"
+msgstr "    wiersz=%ld  id=%d  nazwa=%s"
+
+#, c-format
+msgid "E96: Can not diff more than %ld buffers"
+msgstr "E96: Nie mogę zróżnicować więcej niż %ld buforów"
+
+msgid "E97: Cannot create diffs"
+msgstr "E97: Nie mogę stworzyć różnic"
+
+msgid "Patch file"
+msgstr "Plik łata"
+
+msgid "E98: Cannot read diff output"
+msgstr "E98: Nie mogę wczytać wyjścia różnicy"
+
+msgid "E99: Current buffer is not in diff mode"
+msgstr "E99: Bieżący bufor nie jest w trybie różnic"
+
+msgid "E100: No other buffer in diff mode"
+msgstr "E100: Brak innego bufora w trybie różnic"
+
+msgid "E101: More than two buffers in diff mode, don't know which one to use"
+msgstr "E101: Więcej niż jeden bufor w trybie różnicowania, nie wiem którego użyć"
+
+#, c-format
+msgid "E102: Can't find buffer \"%s\""
+msgstr "E102: Nie mogę znaleźć bufora \"%s\""
+
+#, c-format
+msgid "E103: Buffer \"%s\" is not in diff mode"
+msgstr "E103: Bufor \"%s\" nie jest w trybie różnicowania"
+
+msgid "E104: Escape not allowed in digraph"
+msgstr "E104: Escape jest niedozwolone w dwugrafie"
+
+msgid "E544: Keymap file not found"
+msgstr "E544: Nie znaleziono pliku rozkładu klawiszy"
+
+msgid "E105: Using :loadkeymap not in a sourced file"
+msgstr "E105: Zastosowano :loadkeymap w niewczytanym pliku"
+
+msgid " Keyword completion (^N^P)"
+msgstr " Dopełnianie słów kluczowych (^N^P)"
+
+#. ctrl_x_mode == 0, ^P/^N compl.
+msgid " ^X mode (^]^D^E^F^I^K^L^N^O^P^S^U^V^Y)"
+msgstr " ^X tryb (^]^D^E^F^I^K^L^N^O^P^S^U^V^Y)"
+
+msgid " Whole line completion (^L^N^P)"
+msgstr " Dopełnianie pełnych wierszy (^L^N^P)"
+
+msgid " File name completion (^F^N^P)"
+msgstr " Dopełnianie nazw plików (^F^N^P)"
+
+msgid " Tag completion (^]^N^P)"
+msgstr " Dopełnianie znaczników (^]^N^P)"
+
+msgid " Path pattern completion (^N^P)"
+msgstr " Dopełnianie wzorców tropów (^N^P)"
+
+msgid " Definition completion (^D^N^P)"
+msgstr " Dopełnianie definicji (^D^N^P)"
+
+msgid " Dictionary completion (^K^N^P)"
+msgstr " Dopełnianie ze słowników (^K^N^P)"
+
+msgid " Thesaurus completion (^T^N^P)"
+msgstr " Dopełnianie z tezaurusa (^T^N^P)"
+
+msgid " Command-line completion (^V^N^P)"
+msgstr " Dopełnianie wiersza poleceń (^V^N^P)"
+
+msgid " User defined completion (^U^N^P)"
+msgstr "Dopełnianie zdefiniowane przez użytkownika (^U^N^P)"
+
+msgid " Omni completion (^O^N^P)"
+msgstr " Omni uzupełnianie (^O^N^P)"
+
+msgid " Spelling suggestion (^S^N^P)"
+msgstr "Propozycja ortografii (^L^N^P)"
+
+msgid " Keyword Local completion (^N^P)"
+msgstr " Lokalne dopełnianie słów kluczowych (^N^P)"
+
+msgid "Hit end of paragraph"
+msgstr "Dobiłem do końca akapitu"
+
+msgid "'dictionary' option is empty"
+msgstr "opcja 'dictionary' jest pusta"
+
+msgid "'thesaurus' option is empty"
+msgstr "opcja 'thesaurus' jest pusta"
+
+#, c-format
+msgid "Scanning dictionary: %s"
+msgstr "Przeglądam słownik: %s"
+
+msgid " (insert) Scroll (^E/^Y)"
+msgstr " (wprowadzanie) Przewijanie (^E/^Y)"
+
+msgid " (replace) Scroll (^E/^Y)"
+msgstr " (zamiana) Przewijanie (^E/^Y)"
+
+#, c-format
+msgid "Scanning: %s"
+msgstr "Przeglądam: %s"
+
+#, c-format
+msgid "Scanning tags."
+msgstr "Przeglądam znaczniki."
+
+msgid " Adding"
+msgstr " Dodaję"
+
+#. showmode might reset the internal line pointers, so it must
+#. * be called before line = ml_get(), or when this address is no
+#. * longer needed.  -- Acevedo.
+#.
+msgid "-- Searching..."
+msgstr "-- Szukam..."
+
+msgid "Back at original"
+msgstr "Z powrotem na pierwotnym"
+
+msgid "Word from other line"
+msgstr "Wyraz z innego wiersza"
+
+msgid "The only match"
+msgstr "Jedyne dopasowanie"
+
+#, c-format
+msgid "match %d of %d"
+msgstr "pasuje %d z %d"
+
+#, c-format
+msgid "match %d"
+msgstr "pasuje %d"
+
+msgid "E18: Unexpected characters in :let"
+msgstr "E18: Nieoczekiwane znaki w :let"
+
+#, c-format
+msgid "E684: list index out of range: %ld"
+msgstr "E684: Indeks listy poza zakresem: %ld"
+
+#, c-format
+msgid "E121: Undefined variable: %s"
+msgstr "E121: Nieokreślona zmienna: %s"
+
+msgid "E111: Missing ']'"
+msgstr "E111: Brak ']'"
+
+#, c-format
+msgid "E686: Argument of %s must be a List"
+msgstr "E487: Argument %s musi być Listą"
+
+#, c-format
+msgid "E712: Argument of %s must be a List or Dictionary"
+msgstr "E712: Argument %s musi być Listą lub Słownikiem"
+
+msgid "E713: Cannot use empty key for Dictionary"
+msgstr "E713: Nie można użyć pustego klucza dla Słownika"
+
+msgid "E714: List required"
+msgstr "E714: wymagana Lista"
+
+msgid "E715: Dictionary required"
+msgstr "E715: wymagany Słownik"
+
+#, c-format
+msgid "E118: Too many arguments for function: %s"
+msgstr "E118: Zbyt wiele argumentów dla funkcji: %s"
+
+#, c-format
+msgid "E716: Key not present in Dictionary: %s"
+msgstr "E716: Klucz nie istnieje w Słowniku: %s"
+
+#, c-format
+msgid "E122: Function %s already exists, add ! to replace it"
+msgstr "E122: Funkcja %s już istnieje; aby ją zamienić użyj !"
+
+msgid "E717: Dictionary entry already exists"
+msgstr "E717: istnieje już taki element Słownika"
+
+msgid "E718: Funcref required"
+msgstr "E718: wymagana Funcref"
+
+msgid "E719: Cannot use [:] with a Dictionary"
+msgstr "E719: Nie można użyć [:] przy Słowniku"
+
+#, c-format
+msgid "E734: Wrong variable type for %s="
+msgstr "E734: Zły typ zmiennej dla %s="
+
+#, c-format
+msgid "E130: Unknown function: %s"
+msgstr "E130: Nieznana funkcja: %s"
+
+#, c-format
+msgid "E461: Illegal variable name: %s"
+msgstr "E418: Niedozwolona nazwa zmiennej: %s"
+
+msgid "E687: Less targets than List items"
+msgstr "E687: Mniej celów niż elementów Listy"
+
+msgid "E688: More targets than List items"
+msgstr "E688: Więcej celów niż elementów Listy"
+
+msgid "Double ; in list of variables"
+msgstr "Podwójny ; w liście zmiennych"
+
+#, c-format
+msgid "E738: Can't list variables for %s"
+msgstr "E738: Nie mogę wypisać zmiennych dla %s"
+
+msgid "E689: Can only index a List or Dictionary"
+msgstr "E689: Indeks może istnieć tylko dla Listy lub Słownika"
+
+msgid "E708: [:] must come last"
+msgstr "E708: [:] musi być ostatnie"
+
+msgid "E709: [:] requires a List value"
+msgstr "E709: [:] wymaga wartości listy"
+
+msgid "E710: List value has more items than target"
+msgstr "E710: Lista ma więcej elementów niż cel"
+
+msgid "E711: List value has not enough items"
+msgstr "E711: Lista nie ma wystarczającej ilości elementów"
+
+msgid "E690: Missing \"in\" after :for"
+msgstr "E690: Brak \"in\" po :for"
+
+#, c-format
+msgid "E107: Missing braces: %s"
+msgstr "E107: Brak nawiasów: %s"
+
+#, c-format
+msgid "E108: No such variable: \"%s\""
+msgstr "E108: Nie istnieje zmienna: \"%s\""
+
+msgid "E743: variable nested too deep for (un)lock"
+msgstr "E743: zmienna zagnieżdżona zbyt głęboko dla (un)lock"
+
+msgid "E109: Missing ':' after '?'"
+msgstr "E109: Brak ':' po '?'"
+
+msgid "E691: Can only compare List with List"
+msgstr "E691: Listę mogę porównać tylko z Listą"
+
+msgid "E692: Invalid operation for Lists"
+msgstr "E692: Nieprawidłowa operacja dla Listy"
+
+msgid "E735: Can only compare Dictionary with Dictionary"
+msgstr "E735: Słownik mogę porównać tylko ze Słownikiem"
+
+msgid "E736: Invalid operation for Dictionary"
+msgstr "E736: Nieprawidłowa operacja dla Słownika"
+
+msgid "E693: Can only compare Funcref with Funcref"
+msgstr "E693: Funcref mogę porównać tylko z Funcref"
+
+msgid "E694: Invalid operation for Funcrefs"
+msgstr "E694: Nieprawidłowa operacja dla Funcref"
+
+msgid "E110: Missing ')'"
+msgstr "E110: Brak ')'"
+
+msgid "E695: Cannot index a Funcref"
+msgstr "E695: Nie można zindeksować Funcref"
+
+#, c-format
+msgid "E112: Option name missing: %s"
+msgstr "E112: Brak nazwy opcji: %s"
+
+#, c-format
+msgid "E113: Unknown option: %s"
+msgstr "E113: Nieznana opcja: %s"
+
+#, c-format
+msgid "E114: Missing quote: %s"
+msgstr "E114: Brak cudzysłowu: %s"
+
+#, c-format
+msgid "E115: Missing quote: %s"
+msgstr "E115: Brak cudzysłowu: %s"
+
+#, c-format
+msgid "E696: Missing comma in List: %s"
+msgstr "E696: Brakujący przecinek w Liście: '%s"
+
+#, c-format
+msgid "E697: Missing end of List ']': %s"
+msgstr "E697: Brak zakończenia Listy ']': %s"
+
+#, c-format
+msgid "E720: Missing colon in Dictionary: %s"
+msgstr "E720: Brak dwukropka w Słowniku: %s"
+
+#, c-format
+msgid "E721: Duplicate key in Dictionary: \"%s\""
+msgstr "E721: Powtórzony klucz w Słowniku: \"%s\""
+
+#, c-format
+msgid "E722: Missing comma in Dictionary: %s"
+msgstr "E722: Brakujący przecinek w Słowniku: %s"
+
+#, c-format
+msgid "E723: Missing end of Dictionary '}': %s"
+msgstr "E723: Brak końca w Słowniku '}': %s"
+
+msgid "E724: variable nested too deep for displaying"
+msgstr "E724: Zmienna zagnieżdżona zbyt głęboko by pokazać"
+
+msgid "E699: Too many arguments"
+msgstr "E699: Za dużo argumentów"
+
+msgid "E785: complete() can only be used in Insert mode"
+msgstr "E785: complete() może być użyte tylko w trybie Wprowadzania"
+
+#.
+#. * Yes this is ugly, I don't particularly like it either.  But doing it
+#. * this way has the compelling advantage that translations need not to
+#. * be touched at all.  See below what 'ok' and 'ync' are used for.
+#.
+msgid "&Ok"
+msgstr "&Ok"
+
+#, c-format
+msgid "E737: Key already exists: %s"
+msgstr "E737: Klucz już istnieje: %s"
+
+#, c-format
+msgid "+-%s%3ld lines: "
+msgstr "+-%s%3ld wierszy: "
+
+#, c-format
+msgid "E700: Unknown function: %s"
+msgstr "E700: Nieznana funkcja: %s"
+
+msgid ""
+"&OK\n"
+"&Cancel"
+msgstr ""
+"&OK\n"
+"&Zakończ"
+
+msgid "called inputrestore() more often than inputsave()"
+msgstr "wywołano inputrestore() więcej razy niż inputsave()"
+
+msgid "E745: Range not allowed"
+msgstr "E745: Zakres niedozwolony"
+
+msgid "E701: Invalid type for len()"
+msgstr "E701: Nieprawidłowy typ dla len()"
+
+msgid "E726: Stride is zero"
+msgstr "E726: Skok to zero"
+
+msgid "E727: Start past end"
+msgstr "E727: Początek po końcu"
+
+msgid "<empty>"
+msgstr "<pusty>"
+
+msgid "E240: No connection to Vim server"
+msgstr "E240: Brak połączenia z serwerem Vim"
+
+#, c-format
+msgid "E241: Unable to send to %s"
+msgstr "E241: Nie mogę wysłać do %s"
+
+msgid "E277: Unable to read a server reply"
+msgstr "E277: Nie mogę czytać odpowiedzi serwera"
+
+msgid "E655: Too many symbolic links (cycle?)"
+msgstr "E655: Za dużo dowiązań symbolicznych (pętla?)"
+
+msgid "E258: Unable to send to client"
+msgstr "E258: Nie mogę wysłać do klienta"
+
+msgid "E702: Sort compare function failed"
+msgstr "E702: Funkcja porównywania w sort nie powiodła się"
+
+msgid "(Invalid)"
+msgstr "(Niewłaściwe)"
+
+msgid "E677: Error writing temp file"
+msgstr "E677: Błąd zapisywania pliku tymczasowego"
+
+msgid "E703: Using a Funcref as a number"
+msgstr "E703: Użycie Funcref jako liczby"
+
+msgid "E745: Using a List as a number"
+msgstr "E745: Użycie Listy jako liczby"
+
+msgid "E728: Using a Dictionary as a number"
+msgstr "E728: Użycie Słownika jako liczby"
+
+msgid "E729: using Funcref as a String"
+msgstr "E729: Użycie Funcref jako łańcucha"
+
+msgid "E730: using List as a String"
+msgstr "E730: Użycie Listy jako łańcucha"
+
+msgid "E731: using Dictionary as a String"
+msgstr "E731: Użycie Słownika jako łańcucha"
+
+#, c-format
+msgid "E704: Funcref variable name must start with a capital: %s"
+msgstr "E704: Nazwa Funcref musi się zaczynać wielką literą: %s"
+
+#, c-format
+msgid "E705: Variable name conflicts with existing function: %s"
+msgstr "E705: Nazwa zmiennej jest w konflikcie z istniejącą funkcją: %s"
+
+#, c-format
+msgid "E706: Variable type mismatch for: %s"
+msgstr "E706: Nieprawidłowy typ zmiennej dla: %s"
+
+#, c-format
+msgid "E741: Value is locked: %s"
+msgstr "E741: Wartość jest zablokowana: %s"
+
+msgid "Unknown"
+msgstr "Nieznane"
+
+#, c-format
+msgid "E742: Cannot change value of %s"
+msgstr "E742: Nie mogę zmienić wartości %s"
+
+msgid "E698: variable nested too deep for making a copy"
+msgstr "E698: Zmienna zagnieżdżona zbyt głęboko by zrobić kopię"
+
+#, c-format
+msgid "E124: Missing '(': %s"
+msgstr "E124: Brak '(': %s"
+
+#, c-format
+msgid "E125: Illegal argument: %s"
+msgstr "E125: Niedozwolony argument: %s"
+
+msgid "E126: Missing :endfunction"
+msgstr "E126: Brak :endfunction"
+
+#, c-format
+msgid "E746: Function name does not match script file name: %s"
+msgstr "E746: Nazwa funkcji nie pasuje do nazwy skryptu: %s"
+
+msgid "E129: Function name required"
+msgstr "E129: Wymagana jest nazwa funkcji"
+
+#, c-format
+msgid "E128: Function name must start with a capital or contain a colon: %s"
+msgstr ""
+"E128: Nazwa funkcji musi rozpoczynać się wielką literą lub zawierać "
+"dwukropek: %s"
+
+#, c-format
+msgid "E131: Cannot delete function %s: It is in use"
+msgstr "E131: Nie mogę skasować funkcji %s: jest w użyciu"
+
+msgid "E132: Function call depth is higher than 'maxfuncdepth'"
+msgstr "E132: Zagnieżdżenie wywołań funkcji ponad 'maxfuncdepth'"
+
+#, c-format
+msgid "calling %s"
+msgstr "wywołuję %s"
+
+#, c-format
+msgid "%s aborted"
+msgstr "porzucono %s"
+
+#, c-format
+msgid "%s returning #%ld"
+msgstr "%s zwraca #%ld"
+
+#, c-format
+msgid "%s returning %s"
+msgstr "%s zwraca %s"
+
+#, c-format
+msgid "continuing in %s"
+msgstr "kontynuacja w %s"
+
+msgid "E133: :return not inside a function"
+msgstr "E133: :return poza funkcją"
+
+#, c-format
+msgid ""
+"\n"
+"# global variables:\n"
+msgstr ""
+"\n"
+"# zmienne globalne:\n"
+
+msgid ""
+"\n"
+"\tLast set from "
+msgstr ""
+"\n"
+"\tOstatnie ustawienie przez "
+
+msgid "Entering Debug mode.  Type \"cont\" to continue."
+msgstr "Wchodzę w tryb odpluskwiania. Wprowadź \"cont\" aby kontynuować."
+
+#, c-format
+msgid "line %ld: %s"
+msgstr "wiersz %ld: %s"
+
+#, c-format
+msgid "cmd: %s"
+msgstr "cmd: %s"
+
+#, c-format
+msgid "Breakpoint in \"%s%s\" line %ld"
+msgstr "Punkt kontrolny w \"%s%s\" wiersz %ld"
+
+#, c-format
+msgid "E161: Breakpoint not found: %s"
+msgstr "E161: Nie znaleziono punktu kontrolnego: %s"
+
+msgid "No breakpoints defined"
+msgstr "Nie określono żadnych punktów kontrolnych"
+
+#, c-format
+msgid "%3d  %s %s  line %ld"
+msgstr "%3d  %s %s  wiersz %ld"
+
+msgid "E750: First use :profile start <fname>"
+msgstr "E750: Pierwsze użycie :profile start <fname>"
+
+msgid "Save As"
+msgstr "Zapisz jako"
+
+#, c-format
+msgid "Save changes to \"%s\"?"
+msgstr "Zachować zmiany w \"%s\"?"
+
+msgid "Untitled"
+msgstr "Bez Tytułu"
+
+#, c-format
+msgid "E162: No write since last change for buffer \"%s\""
+msgstr "E162: Nie zapisano zmian w buforze \"%s\""
+
+msgid "Warning: Entered other buffer unexpectedly (check autocommands)"
+msgstr "OSTRZEŻENIE: Nieoczekiwane wejście w inny bufor (sprawdź autokomendy)"
+
+msgid "E163: There is only one file to edit"
+msgstr "E163: Tylko jeden plik w edycji"
+
+msgid "E164: Cannot go before first file"
+msgstr "E164: Nie można przejść przed pierwszy plik"
+
+msgid "E165: Cannot go beyond last file"
+msgstr "E165: Nie można przejść za ostatni plik"
+
+#, c-format
+msgid "E666: compiler not supported: %s"
+msgstr "E666: nie wspierany kompilator: %s"
+
+#, c-format
+msgid "Searching for \"%s\" in \"%s\""
+msgstr "Szukanie \"%s\" w \"%s\""
+
+#, c-format
+msgid "Searching for \"%s\""
+msgstr "Szukanie \"%s\""
+
+#, c-format
+msgid "not found in 'runtimepath': \"%s\""
+msgstr "nie znaleziono w 'runtimepath': \"%s\""
+
+msgid "Source Vim script"
+msgstr "Wczytaj skrypt Vima"
+
+#, c-format
+msgid "Cannot source a directory: \"%s\""
+msgstr "Nie można wczytać katalogu: \"%s\""
+
+#, c-format
+msgid "could not source \"%s\""
+msgstr "nie mogłem wczytać \"%s\""
+
+#, c-format
+msgid "line %ld: could not source \"%s\""
+msgstr "wiersz: %ld nie mogłem wczytać \"%s\""
+
+#, c-format
+msgid "sourcing \"%s\""
+msgstr "wczytywanie \"%s\""
+
+#, c-format
+msgid "line %ld: sourcing \"%s\""
+msgstr "wiersz %ld: wczytywanie \"%s\""
+
+#, c-format
+msgid "finished sourcing %s"
+msgstr "skończono wczytywanie %s"
+
+msgid "modeline"
+msgstr "modeline"
+
+msgid "--cmd argument"
+msgstr "--cmd argument"
+
+msgid "-c argument"
+msgstr "-c argument"
+
+msgid "environment variable"
+msgstr "zmienna środowiskowa"
+
+msgid "error handler"
+msgstr "obsługa błędu"
+
+msgid "W15: Warning: Wrong line separator, ^M may be missing"
+msgstr "W15: OSTRZEŻENIE: Niewłaściwy separator wierszy, pewnie brak ^M"
+
+msgid "E167: :scriptencoding used outside of a sourced file"
+msgstr "E167: użyto :scriptencoding poza wczytywanym plikiem"
+
+msgid "E168: :finish used outside of a sourced file"
+msgstr "E168: użyto :finish poza wczytywanym plikiem"
+
+#, c-format
+msgid "Current %slanguage: \"%s\""
+msgstr "Bieżący %sjęzyk: \"%s\""
+
+#, c-format
+msgid "E197: Cannot set language to \"%s\""
+msgstr "E197: Nie mogę ustawić języka na \"%s\""
+
+#, c-format
+msgid "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
+msgstr "<%s>%s%s  %d,  Hex %02x,  Oktal %03o"
+
+#, c-format
+msgid "> %d, Hex %04x, Octal %o"
+msgstr "> %d, Hex %04x,  Oktal %o"
+
+#, c-format
+msgid "> %d, Hex %08x, Octal %o"
+msgstr "> %d, Hex %08x, Oktal %o"
+
+msgid "E134: Move lines into themselves"
+msgstr "E134: Przeniesienie wierszy na siebie samych"
+
+msgid "1 line moved"
+msgstr "1 wiersz przeniesiony"
+
+#, c-format
+msgid "%ld lines moved"
+msgstr "%ld wiersze przeniesione"
+
+#, c-format
+msgid "%ld lines filtered"
+msgstr "%ld wierszy przefiltrowanych"
+
+msgid "E135: *Filter* Autocommands must not change current buffer"
+msgstr "E135: Autokomendy *Filter* nie mogą zmieniać bieżącego bufora"
+
+msgid "[No write since last change]\n"
+msgstr "[Brak zapisu od czasu ostatniej zmiany]\n"
+
+#, c-format
+msgid "%sviminfo: %s in line: "
+msgstr "%sviminfo: %s w wierszu: "
+
+msgid "E136: viminfo: Too many errors, skipping rest of file"
+msgstr "E136: viminfo: Zbyt wiele błędów; pomijam resztę pliku"
+
+#, c-format
+msgid "Reading viminfo file \"%s\"%s%s%s"
+msgstr "Wczytuję plik viminfo \"%s\"%s%s%s"
+
+msgid " info"
+msgstr " informacja"
+
+msgid " marks"
+msgstr " zakładki"
+
+msgid " FAILED"
+msgstr " NIE POWIODŁO SIĘ"
+
+#, c-format
+msgid "E137: Viminfo file is not writable: %s"
+msgstr "E137: Plik viminfo jest niezapisywalny: %s"
+
+#, c-format
+msgid "E138: Can't write viminfo file %s!"
+msgstr "E138: Nie mogę zapisać pliku viminfo %s!"
+
+#, c-format
+msgid "Writing viminfo file \"%s\""
+msgstr "Zapisuję plik viminfo \"%s\""
+
+#. Write the info:
+#, c-format
+msgid "# This viminfo file was generated by Vim %s.\n"
+msgstr "# Ten plik viminfo został wygenerowany przez Vima %s.\n"
+
+#, c-format
+msgid ""
+"# You may edit it if you're careful!\n"
+"\n"
+msgstr ""
+"# Możesz go ostrożnie edytować!\n"
+"\n"
+
+#, c-format
+msgid "# Value of 'encoding' when this file was written\n"
+msgstr "# Wartość 'encoding' w czasie zapsu tego pliku\n"
+
+msgid "Illegal starting char"
+msgstr "Niedopuszczalny początkowy znak"
+
+msgid "Write partial file?"
+msgstr "Zapisać częściowo plik?"
+
+msgid "E140: Use ! to write partial buffer"
+msgstr "E140: Stosuj ! do zapisania częściowo bufora"
+
+#, c-format
+msgid "Overwrite existing file \"%s\"?"
+msgstr "Nadpisać istniejący plik \"%s\"?"
+
+#, c-format
+msgid "Swap file \"%s\" exists, overwrite anyway?"
+msgstr "Plik wymiany \"%s\" istnieje, czy go nadpisać?"
+
+#, c-format
+msgid "E768: Swap file exists: %s (:silent! overrides)"
+msgstr "E768: Plik wymiany istnieje: %s (wymuś poprzez :silent!)"
+
+#, c-format
+msgid "E141: No file name for buffer %ld"
+msgstr "E141: Brak nazwy pliku dla bufora %ld"
+
+msgid "E142: File not written: Writing is disabled by 'write' option"
+msgstr "E142: Plik niezapisany: Zapis jest wyłączony opcją 'write'"
+
+#, c-format
+msgid ""
+"'readonly' option is set for \"%s\".\n"
+"Do you wish to write anyway?"
+msgstr ""
+"opcja 'readonly' nastawiona dla \"%s\".\n"
+"Czy chcesz go pomimo tego zapisać?"
+
+msgid "Edit File"
+msgstr "Edytuj Plik"
+
+#, c-format
+msgid "E143: Autocommands unexpectedly deleted new buffer %s"
+msgstr "E143: Autokomendy nieoczekiwanie skasowały nowy bufor %s"
+
+msgid "E144: non-numeric argument to :z"
+msgstr "E144: nienumeryczny argument dla :z"
+
+msgid "E145: Shell commands not allowed in rvim"
+msgstr "E145: Komendy powłoki są niedozwolone w rvim"
+
+msgid "E146: Regular expressions can't be delimited by letters"
+msgstr "E146: Wzorce regularne nie mogą być rozgraniczane literami"
+
+#, c-format
+msgid "replace with %s (y/n/a/q/l/^E/^Y)?"
+msgstr "zamień na %s (y/n/a/q/l/^E/^Y)?"
+
+msgid "(Interrupted) "
+msgstr "(Przerwane) "
+
+msgid "1 match"
+msgstr "1 pasuje"
+
+msgid "1 substitution"
+msgstr "1 podstawienie "
+
+#, c-format
+msgid "%ld matches"
+msgstr "%ld dopasowań"
+
+#, c-format
+msgid "%ld substitutions"
+msgstr "%ld podstawień"
+
+msgid " on 1 line"
+msgstr " w 1 wierszu"
+
+#, c-format
+msgid " on %ld lines"
+msgstr " w %ld wierszach"
+
+msgid "E147: Cannot do :global recursive"
+msgstr "E147: Nie mogę wykonać :global rekursywnie"
+
+msgid "E148: Regular expression missing from global"
+msgstr "E148: Brak wzorca regularnego w :global"
+
+# c-format
+#, c-format
+msgid "Pattern found in every line: %s"
+msgstr "Wzorzec znaleziono w każdym wierszu: %s"
+
+#, c-format
+msgid ""
+"\n"
+"# Last Substitute String:\n"
+"$"
+msgstr ""
+"\n"
+"# Ostatni podstawiany ciąg:\n"
+"$"
+
+msgid "E478: Don't panic!"
+msgstr "E478: Nie panikuj!"
+
+#, c-format
+msgid "E661: Sorry, no '%s' help for %s"
+msgstr "E661: Przykro mi, brak '%s' pomocy dla %s"
+
+#, c-format
+msgid "E149: Sorry, no help for %s"
+msgstr "E149: Przykro mi, ale brak pomocy o %s"
+
+#, c-format
+msgid "Sorry, help file \"%s\" not found"
+msgstr "Przykro mi, nie ma pliku pomocy \"%s\""
+
+#, c-format
+msgid "E150: Not a directory: %s"
+msgstr "E150: Nie jest katalogiem: %s"
+
+#, c-format
+msgid "E152: Cannot open %s for writing"
+msgstr "E152: Nie mogę otworzyć %s do zapisu"
+
+#, c-format
+msgid "E153: Unable to open %s for reading"
+msgstr "E153: Nie mogę otworzyć %s do odczytu"
+
+#, c-format
+msgid "E670: Mix of help file encodings within a language: %s"
+msgstr "E670: Mieszanka kodowań w pliku pomocy w ramach języka: %s"
+
+#, c-format
+msgid "E154: Duplicate tag \"%s\" in file %s/%s"
+msgstr "E154: Powtórzony znacznik \"%s\" w pliku %s/%s"
+
+#, c-format
+msgid "E160: Unknown sign command: %s"
+msgstr "E160: Nieznana komenda znaku: %s"
+
+msgid "E156: Missing sign name"
+msgstr "E156: Brak nazwy znaku"
+
+msgid "E612: Too many signs defined"
+msgstr "E255: Zbyt wiele nazw znaków"
+
+#, c-format
+msgid "E239: Invalid sign text: %s"
+msgstr "E239: Niewłaściwy tekst znaku: %s"
+
+#, c-format
+msgid "E155: Unknown sign: %s"
+msgstr "E155: Nieznany znak: %s"
+
+msgid "E159: Missing sign number"
+msgstr "E159: Brak numeru znaku"
+
+#, c-format
+msgid "E158: Invalid buffer name: %s"
+msgstr "E158: Niewłaściwa nazwa bufora: %s"
+
+#, c-format
+msgid "E157: Invalid sign ID: %ld"
+msgstr "E157: Niewłaściwe ID znaku: %ld"
+
+msgid " (NOT FOUND)"
+msgstr " (NIE ZNALEZIONO)"
+
+msgid " (not supported)"
+msgstr "(nie wspomagane)"
+
+msgid "[Deleted]"
+msgstr "[Skasowano]"
+
+msgid "Entering Ex mode.  Type \"visual\" to go to Normal mode."
+msgstr "Wchodzę w tryb Ex. Wprowadź \"visual\" aby przejść do trybu Normal."
+
+msgid "E501: At end-of-file"
+msgstr "E501: Na końcu pliku"
+
+msgid "E169: Command too recursive"
+msgstr "E169: Komenda zbyt rekursywna"
+
+#, c-format
+msgid "E605: Exception not caught: %s"
+msgstr "E605: Nie znaleziono wyjątku: %s"
+
+msgid "End of sourced file"
+msgstr "Koniec wczytywanego pliku"
+
+msgid "End of function"
+msgstr "Koniec funkcji"
+
+msgid "E464: Ambiguous use of user-defined command"
+msgstr "E464: Niejednoznaczne zastosowanie komendy zdefiniowanej przez użytkownika"
+
+msgid "E492: Not an editor command"
+msgstr "E492: Nie jest komendą edytora"
+
+msgid "E493: Backwards range given"
+msgstr "E493: Dano wsteczny zakres"
+
+msgid "Backwards range given, OK to swap"
+msgstr "Dano wsteczny zakres; zamiana jest możliwa"
+
+msgid "E494: Use w or w>>"
+msgstr "E494: Stosuj w lub w>>"
+
+msgid "E319: Sorry, the command is not available in this version"
+msgstr "E319: Przykro mi, ale ta komenda nie jest dostępna w tej wersji"
+
+msgid "E172: Only one file name allowed"
+msgstr "E172: Tylko pojedyncza nazwa pliku dozwolona"
+
+msgid "1 more file to edit.  Quit anyway?"
+msgstr "1 więcej plik do edycji.  Mimo to wyjść?"
+
+#, c-format
+msgid "%d more files to edit.  Quit anyway?"
+msgstr "jeszcze %d plików do edycji.  Mimo to wyjść?"
+
+msgid "E173: 1 more file to edit"
+msgstr "E173: 1 więcej plik do edycji"
+
+#, c-format
+msgid "E173: %ld more files to edit"
+msgstr "E173: jeszcze %ld plików do edycji"
+
+msgid "E174: Command already exists: add ! to replace it"
+msgstr "E174: Komenda już istnieje; aby ją przedefiniować stosuj !"
+
+msgid ""
+"\n"
+"    Name        Args Range Complete  Definition"
+msgstr ""
+"\n"
+"    Nazwa       Arg. Zak.  Gotowość  Definicja"
+
+msgid "No user-defined commands found"
+msgstr "Nie znaleziono komend zdefiniowanych przez użytkownika"
+
+msgid "E175: No attribute specified"
+msgstr "E175: Nie określono atrybutu"
+
+msgid "E176: Invalid number of arguments"
+msgstr "E176: Niewłaściwa ilość argumentów"
+
+msgid "E177: Count cannot be specified twice"
+msgstr "E177: Mnożnik nie może być podany dwukrotnie"
+
+msgid "E178: Invalid default value for count"
+msgstr "E178: Niewłaściwa domyślna wartość mnożnika"
+
+msgid "E179: argument required for -complete"
+msgstr "E179: -complete wymaga argumentu"
+
+#, c-format
+msgid "E181: Invalid attribute: %s"
+msgstr "E181: Niewłaściwy atrybut: %s"
+
+msgid "E182: Invalid command name"
+msgstr "E182: Niewłaściwa nazwa komendy"
+
+msgid "E183: User defined commands must start with an uppercase letter"
+msgstr ""
+"E183: Komendy zdefiniowane przez użytkownika muszą rozpoczynać się dużą "
+"literą"
+
+#, c-format
+msgid "E184: No such user-defined command: %s"
+msgstr "E184: Nie ma takiej komendy użytkownika: %s"
+
+#, c-format
+msgid "E180: Invalid complete value: %s"
+msgstr "E180: Niewłaściwa wartość dopełniania: %s"
+
+msgid "E468: Completion argument only allowed for custom completion"
+msgstr "E468: Argument depełniania dozwolony wyłącznie dla dopełniania użytkownika"
+
+msgid "E467: Custom completion requires a function argument"
+msgstr "E467: Dopełnianie użytkownika wymaga funkcji jako argumentu"
+
+#, c-format
+msgid "E185: Cannot find color scheme %s"
+msgstr "E185: Nie mogę znaleźć zestawu kolorów %s"
+
+msgid "Greetings, Vim user!"
+msgstr "Witaj użytkowniku Vima!"
+
+msgid "E784: Cannot close last tab page"
+msgstr "E784: Nie mogę zamknąć ostatniej karty"
+
+msgid "Already only one tab page"
+msgstr "Jest już tylko jedna karta"
+
+msgid "Edit File in new window"
+msgstr "Edytuj plik w nowym oknie"
+
+#, c-format
+msgid "Tab page %d"
+msgstr "Karta %d"
+
+msgid "No swap file"
+msgstr "Brak pliku wymiany"
+
+msgid "Append File"
+msgstr "Dołącz plik"
+
+msgid "E747: Cannot change directory, buffer is modifed (add ! to override)"
+msgstr ""
+"E747: Nie mogę zmienić katalogu, bufor został zmodyfikowany (dodaj ! aby "
+"wymusić)"
+
+msgid "E186: No previous directory"
+msgstr "E186: Nie ma poprzedniego katalogu"
+
+msgid "E187: Unknown"
+msgstr "E187: Nieznany"
+
+msgid "E465: :winsize requires two number arguments"
+msgstr "E465: :winsize wymaga dwóch argumentów numerycznych"
+
+#, c-format
+msgid "Window position: X %d, Y %d"
+msgstr "Pozycja okna: X %d, Y %d"
+
+msgid "E188: Obtaining window position not implemented for this platform"
+msgstr "E188: Pozyskiwanie pozycji okna nie jest zaimplementowane dla tego systemu"
+
+msgid "E466: :winpos requires two number arguments"
+msgstr "E466: :winpos wymaga dwóch argumentów numerycznych"
+
+msgid "Save Redirection"
+msgstr "Zapisz przekierowanie"
+
+msgid "Save View"
+msgstr "Zapisz widok"
+
+msgid "Save Session"
+msgstr "Zapisz sesję"
+
+msgid "Save Setup"
+msgstr "Zapisz ustawienia"
+
+#, c-format
+msgid "E739: Cannot create directory: %s"
+msgstr "E739: Nie mogę utworzyć katalogu: %s"
+
+#, c-format
+msgid "E189: \"%s\" exists (add ! to override)"
+msgstr "E189: \"%s\" istnieje (wymuś poprzez !)"
+
+#, c-format
+msgid "E190: Cannot open \"%s\" for writing"
+msgstr "E190: Nie mogę otworzyć \"%s\" do zapisu"
+
+#. set mark
+msgid "E191: Argument must be a letter or forward/backward quote"
+msgstr "E191: Argument musi być literą albo cudzysłowem w przód/tył"
+
+msgid "E192: Recursive use of :normal too deep"
+msgstr "E192: Rekursywne zastosowanie :normal za głębokie"
+
+msgid "E194: No alternate file name to substitute for '#'"
+msgstr "E194: Brak nazwy zamiennego pliku do podstawienia pod '#'"
+
+msgid "E495: no autocommand file name to substitute for \"<afile>\""
+msgstr "E495: brak nazwy pliku autokomend do podstawienia pod \"<afile>\""
+
+msgid "E496: no autocommand buffer number to substitute for \"<abuf>\""
+msgstr "E496: brak numeru bufora autokomend do podstawienia pod  \"<abuf>\""
+
+msgid "E497: no autocommand match name to substitute for \"<amatch>\""
+msgstr "E497: brak nazwy dopasowania autokomend pod \"<amatch>\""
+
+msgid "E498: no :source file name to substitute for \"<sfile>\""
+msgstr "E498: brak nazwy pliku :source do postawienia pod \"<sfile>\""
+
+#, no-c-format
+msgid "E499: Empty file name for '%' or '#', only works with \":p:h\""
+msgstr "E499: Pusta nazwa pliku dla '%' lub '#', działa tylko z \":p:h\""
+
+msgid "E500: Evaluates to an empty string"
+msgstr "E500: Wynikiem jest pusty ciąg"
+
+msgid "E195: Cannot open viminfo file for reading"
+msgstr "E195: Nie mogę otworzyć pliku viminfo do odczytu"
+
+msgid "E196: No digraphs in this version"
+msgstr "E196: Brak dwugrafów w tej wersji"
+
+msgid "E608: Cannot :throw exceptions with 'Vim' prefix"
+msgstr "E608: Nie można ':throw' wyjątków z prefiksem 'Vim'"
+
+#. always scroll up, don't overwrite
+#, c-format
+msgid "Exception thrown: %s"
+msgstr "Wyjątek: %s"
+
+#, c-format
+msgid "Exception finished: %s"
+msgstr "Wyjątek zakończony: %s"
+
+#, c-format
+msgid "Exception discarded: %s"
+msgstr "Wyjątek odrzucony: %s"
+
+#, c-format
+msgid "%s, line %ld"
+msgstr "%s, wiersz %ld"
+
+#. always scroll up, don't overwrite
+#, c-format
+msgid "Exception caught: %s"
+msgstr "Wyjątek przechwycony: %s"
+
+#, c-format
+msgid "%s made pending"
+msgstr "%s został zawieszony"
+
+#, c-format
+msgid "%s resumed"
+msgstr "%s przywrócony"
+
+#, c-format
+msgid "%s discarded"
+msgstr "%s odrzucony"
+
+msgid "Exception"
+msgstr "Wyjątek"
+
+msgid "Error and interrupt"
+msgstr "Błąd i przerwanie"
+
+msgid "Error"
+msgstr "Błąd"
+
+#. if (pending & CSTP_INTERRUPT)
+msgid "Interrupt"
+msgstr "Przerwanie"
+
+msgid "E579: :if nesting too deep"
+msgstr "E579: zbyt głębokie zagnieżdżenie :if"
+
+msgid "E580: :endif without :if"
+msgstr "E580: :endif bez :if"
+
+msgid "E581: :else without :if"
+msgstr "E581: :else bez :if"
+
+msgid "E582: :elseif without :if"
+msgstr "E582: :elseif bez :if"
+
+msgid "E583: multiple :else"
+msgstr "E583: wielokrotne :else"
+
+msgid "E584: :elseif after :else"
+msgstr "E584: :elseif po :else"
+
+msgid "E585: :while/:for nesting too deep"
+msgstr "E585: zbyt głębokie zagnieżdżenie :while/:for"
+
+msgid "E586: :continue without :while or :for"
+msgstr "E586: :continue bez :while lub :for"
+
+msgid "E587: :break without :while or :for"
+msgstr "E587: :break bez :while lub :for"
+
+msgid "E732: Using :endfor with :while"
+msgstr "E732: Użycie :endfor z :while"
+
+msgid "E733: Using :endwhile with :for"
+msgstr "E733: Użycie :endwhile z :for"
+
+msgid "E601: :try nesting too deep"
+msgstr "E601: zbyt głębokie zagnieżdżenie :try"
+
+msgid "E603: :catch without :try"
+msgstr "E603: :catch bez :try"
+
+#. Give up for a ":catch" after ":finally" and ignore it.
+#. * Just parse.
+msgid "E604: :catch after :finally"
+msgstr "E604: :catch za :finally"
+
+msgid "E606: :finally without :try"
+msgstr "E606: :finally bez :try"
+
+#. Give up for a multiple ":finally" and ignore it.
+msgid "E607: multiple :finally"
+msgstr "E607: wielokrotne :finally"
+
+msgid "E602: :endtry without :try"
+msgstr "E602: :endtry bez :try"
+
+msgid "E193: :endfunction not inside a function"
+msgstr "E193: :endfunction poza funkcją"
+
+msgid "tagname"
+msgstr "nazwa znacznika"
+
+msgid " kind file\n"
+msgstr " pokrewny plik\n"
+
+msgid "'history' option is zero"
+msgstr "opcja 'history' jest zerowa"
+
+#, c-format
+msgid ""
+"\n"
+"# %s History (newest to oldest):\n"
+msgstr ""
+"\n"
+"# %s Historia (od najnowszych po najstarsze):\n"
+
+msgid "Command Line"
+msgstr "Wiersz poleceń"
+
+msgid "Search String"
+msgstr "Szukany ciąg"
+
+msgid "Expression"
+msgstr "Wyrażenie"
+
+msgid "Input Line"
+msgstr "Wiersz wprowadzeń"
+
+msgid "E198: cmd_pchar beyond the command length"
+msgstr "E198: cmd_pchar przekracza długość polecenia"
+
+msgid "E199: Active window or buffer deleted"
+msgstr "E199: Aktywny widok lub bufor skasowany"
+
+msgid "Illegal file name"
+msgstr "Niedopuszczalna nazwa pliku"
+
+msgid "is a directory"
+msgstr "jest katalogiem"
+
+msgid "is not a file"
+msgstr "nie jest plikiem"
+
+msgid "[New File]"
+msgstr "[Nowy Plik]"
+
+msgid "[New DIRECTORY]"
+msgstr "[Nowy KATALOG]"
+
+msgid "[File too big]"
+msgstr "[Za duży plik]"
+
+msgid "[Permission Denied]"
+msgstr "[Nie dozwolono]"
+
+msgid "E200: *ReadPre autocommands made the file unreadable"
+msgstr "E200: Autokomendy *ReadPre zrobiły plik nieodczytywalnym"
+
+msgid "E201: *ReadPre autocommands must not change current buffer"
+msgstr "E201: Autokomendy *ReadPre nie mogą zmieniać bieżącego bufora"
+
+msgid "Vim: Reading from stdin...\n"
+msgstr "Vim: Wczytywanie ze stdin...\n"
+
+msgid "Reading from stdin..."
+msgstr "Wczytywanie ze stdin..."
+
+#. Re-opening the original file failed!
+msgid "E202: Conversion made file unreadable!"
+msgstr "E202: Plik stworzony poprzez przemianę jest nieodczytywalny!"
+
+msgid "[fifo/socket]"
+msgstr "[fifo/socket]"
+
+msgid "[fifo]"
+msgstr "[fifo]"
+
+msgid "[socket]"
+msgstr "[socket]"
+
+msgid "[RO]"
+msgstr "[RO]"
+
+msgid "[CR missing]"
+msgstr "[brak CR]'"
+
+msgid "[NL found]"
+msgstr "[znaleziono NL]"
+
+msgid "[long lines split]"
+msgstr "[długie wiersze rozdzielane]"
+
+msgid "[NOT converted]"
+msgstr "[NIE przemienione]"
+
+msgid "[converted]"
+msgstr "[przemienione]"
+
+msgid "[crypted]"
+msgstr "[zakodowane]"
+
+#, c-format
+msgid "[CONVERSION ERROR in line %ld]"
+msgstr "[BŁĄD W PRZEMIANIE w linii %ld]"
+
+#, c-format
+msgid "[ILLEGAL BYTE in line %ld]"
+msgstr "[NIEDOZWOLONY BAJT w wierszu %ld]"
+
+msgid "[READ ERRORS]"
+msgstr "[BŁĘDY W ODCZYCIE]"
+
+msgid "Can't find temp file for conversion"
+msgstr "Nie mogę znaleźć pliku tymczasowego w celu przemiany"
+
+msgid "Conversion with 'charconvert' failed"
+msgstr "Nieudana przemiana z 'charconvert'"
+
+msgid "can't read output of 'charconvert'"
+msgstr "nie mogę odczytać wyjścia z 'charconvert'"
+
+msgid "E676: No matching autocommands for acwrite buffer"
+msgstr "E676: Brak pasujących autokomend dla bufora acwrite"
+
+msgid "E203: Autocommands deleted or unloaded buffer to be written"
+msgstr "E203: Autokomendy skasowały lub wyładowały bufor przeznaczony do zapisu"
+
+msgid "E204: Autocommand changed number of lines in unexpected way"
+msgstr "E204: Autokomenda zmieniła liczbę wierszy w nieoczekiwany sposób"
+
+msgid "NetBeans dissallows writes of unmodified buffers"
+msgstr "NetBeans nie pozwala na zapis niezmodyfikowanych buforów"
+
+msgid "Partial writes disallowed for NetBeans buffers"
+msgstr "Częściowy zapis niemożliwy dla buforów NetBeans"
+
+msgid "is not a file or writable device"
+msgstr "nie jest plikiem lub zapisywalnym przyrządem"
+
+msgid "is read-only (add ! to override)"
+msgstr "jest tylko do odczytu (wymuś poprzez !)"
+
+msgid "E506: Can't write to backup file (add ! to override)"
+msgstr "E506: Nie mogę zapisać do pliku zabezpieczenia (wymuś przez !)"
+
+msgid "E507: Close error for backup file (add ! to override)"
+msgstr "E507: Błąd podczas zamykania pliku zabezpieczenia (wymuś przez !)"
+
+msgid "E508: Can't read file for backup (add ! to override)"
+msgstr "E508: Nie mogę odczytać pliku w celu zabezpieczenia (wymuś przez !)"
+
+msgid "E509: Cannot create backup file (add ! to override)"
+msgstr "E509: Nie mogę stworzyć pliku zabezpieczenia (wymuś przez !)"
+
+msgid "E510: Can't make backup file (add ! to override)"
+msgstr "E510: Nie mogę zrobić pliku zabezpieczenia (wymuś przez !)"
+
+msgid "E460: The resource fork would be lost (add ! to override)"
+msgstr "E460: Rozdział zasobów zostanie utracony (wymuś przez !)"
+
+msgid "E214: Can't find temp file for writing"
+msgstr "E214: Nie mogę znaleźć pliku tymczasowego do zapisania"
+
+msgid "E213: Cannot convert (add ! to write without conversion)"
+msgstr "E213: Nie mogę przemienić (użyj ! by zapisać bez przemiany)"
+
+msgid "E166: Can't open linked file for writing"
+msgstr "E166: Nie mogę otworzyć podłączonego pliku do zapisu"
+
+msgid "E212: Can't open file for writing"
+msgstr "E212: Nie mogę otworzyć pliku do zapisu"
+
+msgid "E667: Fsync failed"
+msgstr "E667: Fsync nie powiódł się"
+
+msgid "E512: Close failed"
+msgstr "E512: Zamknięcie się nie powiodło"
+
+msgid "E513: write error, conversion failed (make 'fenc' empty to override)"
+msgstr "E513: Błąd zapisu, przemiana się nie powiodła (opróżnij 'fenc' aby wymusić)"
+
+msgid "E514: write error (file system full?)"
+msgstr "E514: błąd w zapisie (może system plików jest przepełniony?)"
+
+msgid " CONVERSION ERROR"
+msgstr " BŁĄD W PRZEMIANIE"
+
+msgid "[Device]"
+msgstr "[Urządzenie]"
+
+msgid "[New]"
+msgstr "[Nowy]"
+
+msgid " [a]"
+msgstr " [a]"
+
+msgid " appended"
+msgstr " dołączono"
+
+msgid " [w]"
+msgstr " [w]"
+
+msgid " written"
+msgstr " zapisano"
+
+msgid "E205: Patchmode: can't save original file"
+msgstr "E205: Patchmode: nie mogę zapisać oryginalnego pliku"
+
+msgid "E206: patchmode: can't touch empty original file"
+msgstr "E206: patchmode: nie mogę stworzyć pustego oryginalnego pliku"
+
+msgid "E207: Can't delete backup file"
+msgstr "E207: Nie mogę skasować pliku zabezpieczenia"
+
+msgid ""
+"\n"
+"WARNING: Original file may be lost or damaged\n"
+msgstr ""
+"\n"
+"OSTRZEŻENIE: Oryginalny plik może zostać utracony lub uszkodzony\n"
+
+msgid "don't quit the editor until the file is successfully written!"
+msgstr "nie wychodź edytora, dopóki plik nie został poprawnie zapisany!"
+
+msgid "[dos]"
+msgstr "[dos]"
+
+msgid "[dos format]"
+msgstr "[format dos-a]"
+
+msgid "[mac]"
+msgstr "[mac]"
+
+msgid "[mac format]"
+msgstr "[format mac-a]"
+
+msgid "[unix]"
+msgstr "[unix]"
+
+msgid "[unix format]"
+msgstr "[format unix-a]"
+
+msgid "1 line, "
+msgstr "1 wiersz, "
+
+#, c-format
+msgid "%ld lines, "
+msgstr "%ld wierszy, "
+
+msgid "1 character"
+msgstr "1 znak"
+
+#, c-format
+msgid "%ld characters"
+msgstr "%ld znaków"
+
+msgid "[noeol]"
+msgstr "[noeol]"
+
+msgid "[Incomplete last line]"
+msgstr "[Niekompletny ostatni wiersz]"
+
+#. don't overwrite messages here
+#. must give this prompt
+#. don't use emsg() here, don't want to flush the buffers
+msgid "WARNING: The file has been changed since reading it!!!"
+msgstr "OSTRZEŻENIE: Plik zmienił się od czasu ostatniego odczytu!!!"
+
+msgid "Do you really want to write to it"
+msgstr "Czy naprawdę chcesz go zapisać"
+
+#, c-format
+msgid "E208: Error writing to \"%s\""
+msgstr "E208: Błąd zapisywania do \"%s\""
+
+#, c-format
+msgid "E209: Error closing \"%s\""
+msgstr "E209: Błąd w trakcie zamykania \"%s\""
+
+#, c-format
+msgid "E210: Error reading \"%s\""
+msgstr "E210: Błąd odczytu \"%s\""
+
+msgid "E246: FileChangedShell autocommand deleted buffer"
+msgstr "E246: Autokomenda FileChangedShell skasowała bufor"
+
+#, c-format
+msgid "E211: File \"%s\" no longer available"
+msgstr "E211: Plik \"%s\" nie jest dłużej dostępny"
+
+#, c-format
+msgid ""
+"W12: Warning: File \"%s\" has changed and the buffer was changed in Vim as "
+"well"
+msgstr ""
+"W12: OSTRZEŻENIE: Plik \"%s\" zmienił się od czasu rozpoczęcia edycji, bufor "
+"w Vimie również został zmieniony"
+
+msgid "See \":help W12\" for more info."
+msgstr "Zobacz \":help W12\"  dla dalszych informacji."
+
+#, c-format
+msgid "W11: Warning: File \"%s\" has changed since editing started"
+msgstr "W11: OSTRZEŻENIE: Plik \"%s\" zmienił się od czasu rozpoczęcia edycji"
+
+msgid "See \":help W11\" for more info."
+msgstr "Zobacz \":help W11\"  dla dalszych informacji."
+
+#, c-format
+msgid "W16: Warning: Mode of file \"%s\" has changed since editing started"
+msgstr "W16: OSTRZEŻENIE: Tryb pliku \"%s\" zmienił się od czasu rozpoczęcia edycji"
+
+msgid "See \":help W16\" for more info."
+msgstr "Zobacz \":help W16\"  dla dalszych informacji."
+
+#, c-format
+msgid "W13: Warning: File \"%s\" has been created after editing started"
+msgstr "W13: OSTRZEŻENIE: Plik \"%s\" został stworzony po rozpoczęciu edycji"
+
+msgid "Warning"
+msgstr "OSTRZEŻENIE"
+
+msgid ""
+"&OK\n"
+"&Load File"
+msgstr ""
+"&OK\n"
+"&Załaduj Plik"
+
+#, c-format
+msgid "E462: Could not prepare for reloading \"%s\""
+msgstr "E462: Nie można przygotować przeładowania \"%s\""
+
+#, c-format
+msgid "E321: Could not reload \"%s\""
+msgstr "E321: Nie można przeładować \"%s\""
+
+msgid "--Deleted--"
+msgstr "--Skasowano--"
+
+#, c-format
+msgid "auto-removing autocommand: %s <buffer=%d>"
+msgstr "auto-usuwanie autokomendy: %s <buffer=%d>"
+
+#. the group doesn't exist
+#, c-format
+msgid "E367: No such group: \"%s\""
+msgstr "E367: Nie ma takiej grupy: \"%s\""
+
+#, c-format
+msgid "E215: Illegal character after *: %s"
+msgstr "E215: Niedopuszczalny znak po *: %s"
+
+#, c-format
+msgid "E216: No such event: %s"
+msgstr "E216: Nie ma takiego wydarzenia: %s"
+
+#, c-format
+msgid "E216: No such group or event: %s"
+msgstr "E216: Nie ma takiej grupy lub wydarzenia: %s"
+
+#. Highlight title
+msgid ""
+"\n"
+"--- Auto-Commands ---"
+msgstr ""
+"\n"
+"--- Autokomendy ---"
+
+#, c-format
+msgid "E680: <buffer=%d>: invalid buffer number "
+msgstr "E680: <buffer=%d>: niewłaściwy numer bufora"
+
+msgid "E217: Can't execute autocommands for ALL events"
+msgstr "E217: Nie można wykonywać autokomend dla wydarzeń ALL"
+
+msgid "No matching autocommands"
+msgstr "Brak pasujących autokomend"
+
+msgid "E218: autocommand nesting too deep"
+msgstr "E218: zbyt głębokie zagnieżdżenie autokomend"
+
+#, c-format
+msgid "%s Auto commands for \"%s\""
+msgstr "%s Autokomend dla \"%s\""
+
+#, c-format
+msgid "Executing %s"
+msgstr "Wykonuję %s"
+
+#, c-format
+msgid "autocommand %s"
+msgstr "autokomenda %s"
+
+msgid "E219: Missing {."
+msgstr "E219: Brak {."
+
+msgid "E220: Missing }."
+msgstr "E220: Brak }."
+
+msgid "E490: No fold found"
+msgstr "E490: Nie znaleziono zwinięcia"
+
+msgid "E350: Cannot create fold with current 'foldmethod'"
+msgstr "E350: Nie można utworzyć zwinięcia przy bieżącej 'foldmethod'"
+
+msgid "E351: Cannot delete fold with current 'foldmethod'"
+msgstr "E351: Nie można skasować zwinięcia przy bieżącej 'foldmethod'"
+
+#, c-format
+msgid "+--%3ld lines folded "
+msgstr "+--%3ld wierszy zwinięto "
+
+msgid "E222: Add to read buffer"
+msgstr "E222: Dodaj do bufora odczytu"
+
+msgid "E223: recursive mapping"
+msgstr "E223: rekursywne przyporządkowanie"
+
+#, c-format
+msgid "E224: global abbreviation already exists for %s"
+msgstr "E224: istnieje już globalny skrót dla %s"
+
+#, c-format
+msgid "E225: global mapping already exists for %s"
+msgstr "E225: istnieje już globalne przyporządkowanie dla %s"
+
+#, c-format
+msgid "E226: abbreviation already exists for %s"
+msgstr "E226: istnieje już skrót dla %s"
+
+#, c-format
+msgid "E227: mapping already exists for %s"
+msgstr "E227: istnieje już przyporządkowanie dla %s"
+
+msgid "No abbreviation found"
+msgstr "Nie znaleziono skrótu"
+
+msgid "No mapping found"
+msgstr "Nie znaleziono przyporządkowania"
+
+msgid "E228: makemap: Illegal mode"
+msgstr "E228: makemap: Niedopuszczalny tryb"
+
+msgid "<cannot open> "
+msgstr "<nie mogę otworzyć> "
+
+#, c-format
+msgid "E616: vim_SelFile: can't get font %s"
+msgstr "E616: vim_SelFile: nie mogę otrzymać czcionki %s"
+
+msgid "E614: vim_SelFile: can't return to current directory"
+msgstr "E614: vim_SelFile: nie mogę powrócić do bieżącego katalogu"
+
+msgid "Pathname:"
+msgstr "Trop:"
+
+msgid "E615: vim_SelFile: can't get current directory"
+msgstr "E615: vim_SelFile: nie mogę otrzymać bieżącego katalogu"
+
+msgid "OK"
+msgstr "OK"
+
+msgid "Cancel"
+msgstr "Zakończ"
+
+msgid "Vim dialog"
+msgstr "VIM - Dialog"
+
+msgid "Scrollbar Widget: Could not get geometry of thumb pixmap."
+msgstr "Scrollbar Widget: Nie mogłem otrzymać rozmiarów rysunku na przycisku."
+
+msgid "E232: Cannot create BalloonEval with both message and callback"
+msgstr "E232: Nie mogę stworzyć BalloonEval z powiadomieniem i wywołaniem"
+
+msgid "E229: Cannot start the GUI"
+msgstr "E229: Nie mogę odpalić GUI"
+
+#, c-format
+msgid "E230: Cannot read from \"%s\""
+msgstr "E230: Nie mogę czytać z \"%s\""
+
+msgid "E665: Cannot start GUI, no valid font found"
+msgstr "E665: Nie można uruchomić GUI, brak prawidłowej czcionki"
+
+msgid "E231: 'guifontwide' invalid"
+msgstr "E231: Niewłaściwe 'guifontwide'"
+
+msgid "E599: Value of 'imactivatekey' is invalid"
+msgstr "E599: Nieprawidłowa wartość 'imactivatekey'"
+
+#, c-format
+msgid "E254: Cannot allocate color %s"
+msgstr "E254: Nie mogę zarezerwować koloru %s"
+
+msgid "No match at cursor, finding next"
+msgstr "Brak dopasowania przy kursorze, szukam dalej"
+
+msgid "Vim dialog..."
+msgstr "Dialog Vima..."
+
+msgid ""
+"&Yes\n"
+"&No\n"
+"&Cancel"
+msgstr ""
+"&Tak\n"
+"&Nie\n"
+"&Zakończ"
+
+msgid "Input _Methods"
+msgstr "Input _Methods"
+
+msgid "VIM - Search and Replace..."
+msgstr "VIM - Szukaj i Zamieniaj..."
+
+msgid "VIM - Search..."
+msgstr "VIM - Szukaj..."
+
+msgid "Find what:"
+msgstr "Znajdź:"
+
+msgid "Replace with:"
+msgstr "Zamień na:"
+
+#. whole word only button
+msgid "Match whole word only"
+msgstr "Dopasuj tylko całe wyrazy"
+
+#. match case button
+msgid "Match case"
+msgstr "Dopasuj wielkość liter"
+
+msgid "Direction"
+msgstr "Kierunek"
+
+#. 'Up' and 'Down' buttons
+msgid "Up"
+msgstr "W górę"
+
+msgid "Down"
+msgstr "W dół"
+
+msgid "Find Next"
+msgstr "Znajdź następne"
+
+msgid "Replace"
+msgstr "Zamień"
+
+msgid "Replace All"
+msgstr "Zamień wszystkie"
+
+msgid "Vim: Received \"die\" request from session manager\n"
+msgstr "Vim: otrzymano żądanie \"die\" od manadżera sesji\n"
+
+msgid "Close"
+msgstr "Zamknij"
+
+msgid "New tab"
+msgstr "Nowa karta"
+
+msgid "Open Tab..."
+msgstr "Otwórz kartę..."
+
+msgid "Vim: Main window unexpectedly destroyed\n"
+msgstr "Vim: Główne okno nieoczekiwanie zniszczone\n"
+
+msgid "Font Selection"
+msgstr "Wybór czcionki"
+
+msgid "Used CUT_BUFFER0 instead of empty selection"
+msgstr "Używam CUT_BUFFER0 zamiast pustego wyboru"
+
+msgid "&Filter"
+msgstr "&Filtr"
+
+msgid "&Cancel"
+msgstr "&Anuluj"
+
+msgid "Directories"
+msgstr "Katalogi"
+
+msgid "Filter"
+msgstr "Filtr"
+
+msgid "&Help"
+msgstr "&Pomoc"
+
+msgid "Files"
+msgstr "Pliki"
+
+msgid "&OK"
+msgstr "&OK"
+
+msgid "Selection"
+msgstr "Wybór"
+
+msgid "Find &Next"
+msgstr "Znajdź &następne"
+
+msgid "&Replace"
+msgstr "&Zamień"
+
+msgid "Replace &All"
+msgstr "Zamień &wszystko"
+
+msgid "&Undo"
+msgstr "&Cofnij"
+
+#, c-format
+msgid "E610: Can't load Zap font '%s'"
+msgstr "E610: Nie mogę załadować czcionki Zap '%s'"
+
+#, c-format
+msgid "E611: Can't use font %s"
+msgstr "E611: Nie mogę użyć czcionki %s"
+
+msgid ""
+"\n"
+"Sending message to terminate child process.\n"
+msgstr ""
+"\n"
+"Wysyłam zawiadomienie kończące proces pochodny.\n"
+
+#, c-format
+msgid "E671: Cannot find window title \"%s\""
+msgstr "E671: Nie mogę znaleźć tytułu okna \"%s\""
+
+#, c-format
+msgid "E243: Argument not supported: \"-%s\"; Use the OLE version."
+msgstr "E243: Argument nie jest wspomagany: \"-%s\"; Używaj wersji OLE."
+
+msgid "E672: Unable to open window inside MDI application"
+msgstr "E672: Nie można otworzyć okna wewnątrz aplikacji MDI"
+
+msgid "Close tab"
+msgstr "Zamknij kartę"
+
+msgid "Open tab..."
+msgstr "Otwórz kartę..."
+
+msgid "Find string (use '\\\\' to find  a '\\')"
+msgstr "Znajdź ciąg (użyj '\\\\' do szukania '\\')"
+
+msgid "Find & Replace (use '\\\\' to find  a '\\')"
+msgstr "Szukanie i Zamiana (użyj '\\\\' do szukania '\\')"
+
+#. We fake this: Use a filter that doesn't select anything and a default
+#. * file name that won't be used.
+msgid "Not Used"
+msgstr "Nie używany"
+
+msgid "Directory\t*.nothing\n"
+msgstr "Katalog\t*.nic\n"
+
+msgid "Vim E458: Cannot allocate colormap entry, some colors may be incorrect"
+msgstr ""
+"Vim E458: Nie mogę zarezerwować mapy kolorów, pewne kolory mogą być "
+"nieprawidłowe"
+
+#, c-format
+msgid "E250: Fonts for the following charsets are missing in fontset %s:"
+msgstr "E250: Brak czcionek dla następujących zestawów znaków w zestawie czcionek %s:"
+
+#, c-format
+msgid "E252: Fontset name: %s"
+msgstr "E252: Nazwa zestawu czcionek: %s"
+
+#, c-format
+msgid "Font '%s' is not fixed-width"
+msgstr "Czcionka '%s' nie posiada znaków jednolitej szerokości"
+
+#, c-format
+msgid "E253: Fontset name: %s\n"
+msgstr "E253: Nazwa zestawu czcionek: %s\n"
+
+#, c-format
+msgid "Font0: %s\n"
+msgstr "Font0: %s\n"
+
+#, c-format
+msgid "Font1: %s\n"
+msgstr "Font1: %s\n"
+
+#, c-format
+msgid "Font%ld width is not twice that of font0\n"
+msgstr "Szerokość font%ld nie jest podwójną szerokością font0\n"
+
+#, c-format
+msgid "Font0 width: %ld\n"
+msgstr "Szerokość font0: %ld\n"
+
+#, c-format
+msgid ""
+"Font1 width: %ld\n"
+"\n"
+msgstr ""
+"Szerokość font1: %ld\n"
+"\n"
+
+msgid "Invalid font specification"
+msgstr "Nieprawidłowy opis czcionki"
+
+msgid "&Dismiss"
+msgstr "&Anuluj"
+
+msgid "no specific match"
+msgstr "brak określonego dopasowania"
+
+msgid "Vim - Font Selector"
+msgstr "Vim - wybór czcionki"
+
+msgid "Name:"
+msgstr "Nazwa:"
+
+#. create toggle button
+msgid "Show size in Points"
+msgstr "Pokaż wielkość w punktach"
+
+msgid "Encoding:"
+msgstr "Kodowanie:"
+
+msgid "Font:"
+msgstr "Czcionka:"
+
+msgid "Style:"
+msgstr "Styl:"
+
+msgid "Size:"
+msgstr "Wielkość:"
+
+msgid "E256: Hangul automata ERROR"
+msgstr "E256: BŁĄD w automacie Hangul"
+
+msgid "E550: Missing colon"
+msgstr "E550: Brak dwukropka"
+
+msgid "E551: Illegal component"
+msgstr "E551: Niedozwolona część"
+
+msgid "E552: digit expected"
+msgstr "E552: oczekiwano cyfry"
+
+#, c-format
+msgid "Page %d"
+msgstr "Strona %d"
+
+msgid "No text to be printed"
+msgstr "Brak tekstu do drukowania"
+
+#, c-format
+msgid "Printing page %d (%d%%)"
+msgstr "Drukuję stronę %d (%d%%)"
+
+#, c-format
+msgid " Copy %d of %d"
+msgstr " Kopia %d z %d"
+
+#, c-format
+msgid "Printed: %s"
+msgstr "Wydrukowano: %s"
+
+msgid "Printing aborted"
+msgstr "Drukowanie odwołane"
+
+msgid "E455: Error writing to PostScript output file"
+msgstr "E455: Nie można zapisać do wyjściowego pliku PostScriptu"
+
+#, c-format
+msgid "E624: Can't open file \"%s\""
+msgstr "E624: Nie mogę otworzyć pliku \"%s\""
+
+#, c-format
+msgid "E457: Can't read PostScript resource file \"%s\""
+msgstr "E457: Nie można odczytać pliku zasobów PostScriptu \"%s\""
+
+#, c-format
+msgid "E618: file \"%s\" is not a PostScript resource file"
+msgstr "E618: plik \"%s\" nie jest plikiem zasobów PostScriptu"
+
+#, c-format
+msgid "E619: file \"%s\" is not a supported PostScript resource file"
+msgstr "E619: plik \"%s\" nie jest wspieranym plikiem zasobów PostScriptu"
+
+#, c-format
+msgid "E621: \"%s\" resource file has wrong version"
+msgstr "E621: \"%s\" nieprawidłowa wersja pliku zasobów"
+
+msgid "E673: Incompatible multi-byte encoding and character set."
+msgstr "E673: Niekompatybilne kodowanie wielobajtowe i zestaw znaków."
+
+msgid "E674: printmbcharset cannot be empty with multi-byte encoding."
+msgstr "E674: printmbcharset nie może być pusty przy kodowaniu wielobajtowym."
+
+msgid "E675: No default font specified for multi-byte printing."
+msgstr "E675: Nie określono domyślnej czcionki dla drukowania wielobajtowego."
+
+msgid "E324: Can't open PostScript output file"
+msgstr "E324: Nie można otworzyć pliku PostScript do wyjścia"
+
+#, c-format
+msgid "E456: Can't open file \"%s\""
+msgstr "E456: Nie mogę otworzyć pliku \"%s\""
+
+msgid "E456: Can't find PostScript resource file \"prolog.ps\""
+msgstr "E456: Nie można znaleźć pliku zasobów PostScriptu \"prolog.ps\""
+
+msgid "E456: Can't find PostScript resource file \"cidfont.ps\""
+msgstr "E456: Nie można znaleźć pliku zasobów PostScriptu \"cidfont.ps\""
+
+#, c-format
+msgid "E456: Can't find PostScript resource file \"%s.ps\""
+msgstr "E456: Nie można znaleźć pliku zasobów PostScriptu \"%s.ps\""
+
+#, c-format
+msgid "E620: Unable to convert to print encoding \"%s\""
+msgstr "E620: Nie można przekonwertować by drukować kodowanie \"%s\""
+
+msgid "Sending to printer..."
+msgstr "Przesyłam do drukarki..."
+
+msgid "E365: Failed to print PostScript file"
+msgstr "E365: Drukowanie pliku PostScript nie powiodło się"
+
+msgid "Print job sent."
+msgstr "Zadanie drukowanie przesłane."
+
+msgid "Add a new database"
+msgstr "Dodaj nową bazę danych"
+
+msgid "Query for a pattern"
+msgstr "Zapytane o wzorzec"
+
+msgid "Show this message"
+msgstr "Pokaż ten komunikat"
+
+msgid "Kill a connection"
+msgstr "Zabij połączenie"
+
+msgid "Reinit all connections"
+msgstr "Ponów wszelkie połączenia"
+
+msgid "Show connections"
+msgstr "Pokaż połączenia"
+
+#, c-format
+msgid "E560: Usage: cs[cope] %s"
+msgstr "E560: Zastosowanie: cs[cope] %s"
+
+msgid "This cscope command does not support splitting the window.\n"
+msgstr "Ta komenda cscope nie wspomaga podzielenia okna.\n"
+
+msgid "E562: Usage: cstag <ident>"
+msgstr "E562: Zastosowanie: cstag <ident>"
+
+msgid "E257: cstag: tag not found"
+msgstr "E257: cstag: nie znaleziono znacznika"
+
+#, c-format
+msgid "E563: stat(%s) error: %d"
+msgstr "E563: stat(%s) błąd: %d"
+
+msgid "E563: stat error"
+msgstr "E563: błąd stat"
+
+#, c-format
+msgid "E564: %s is not a directory or a valid cscope database"
+msgstr "E564: %s nie jest katalogiem lub poprawną bazą danych cscope"
+
+#, c-format
+msgid "Added cscope database %s"
+msgstr "Dodano bazę danych cscope %s"
+
+#, c-format
+msgid "E262: error reading cscope connection %ld"
+msgstr "E262: błąd odczytu połączenia z cscope %ld"
+
+msgid "E561: unknown cscope search type"
+msgstr "E561: nieznany typ szukania cscope"
+
+msgid "E566: Could not create cscope pipes"
+msgstr "E566: Nie mogłem stworzyć potoku do cscope"
+
+msgid "E622: Could not fork for cscope"
+msgstr "E622: Nie mogłem utworzyć rozwidlenia dla cscope"
+
+msgid "cs_create_connection exec failed"
+msgstr "wykonanie cs_create_connection nie powiodło się"
+
+msgid "E623: Could not spawn cscope process"
+msgstr "E623: Nie mogłem stworzyć procesu cscope"
+
+msgid "cs_create_connection: fdopen for to_fp failed"
+msgstr "cs_create_connection: fdopen dla to_fp nie powiodło się"
+
+msgid "cs_create_connection: fdopen for fr_fp failed"
+msgstr "cs_create_connection: fdopen dla fr_fp nie powiodło się"
+
+msgid "E567: no cscope connections"
+msgstr "E567: brak połączenia z cscope"
+
+#, c-format
+msgid "E259: no matches found for cscope query %s of %s"
+msgstr "E259: brak dopasowań dla zapytania cscope %s o %s"
+
+#, c-format
+msgid "E469: invalid cscopequickfix flag %c for %c"
+msgstr "E469: nieprawidłowa flaga cscopequickfix %c dla %c"
+
+msgid "cscope commands:\n"
+msgstr "komendy cscope:\n"
+
+#, c-format
+msgid "%-5s: %-30s (Usage: %s)"
+msgstr "%-5s: %-30s (Użycie: %s)"
+
+#, c-format
+msgid "E625: cannot open cscope database: %s"
+msgstr "E625: nie mogę otworzyć bazy danych cscope: %s"
+
+msgid "E626: cannot get cscope database information"
+msgstr "E626: nie mogę uzyskać informacji z bazy danych cscope"
+
+msgid "E568: duplicate cscope database not added"
+msgstr "E568: nie dodano duplikatu bazy danych cscope"
+
+msgid "E569: maximum number of cscope connections reached"
+msgstr "E569: wyczerpano maksymalną liczbę połączeń cscope"
+
+#, c-format
+msgid "E261: cscope connection %s not found"
+msgstr "E261: nie ma połączenia %s z cscope"
+
+#, c-format
+msgid "cscope connection %s closed"
+msgstr "połączenie %s z cscope zostało zamknięte"
+
+#. should not reach here
+msgid "E570: fatal error in cs_manage_matches"
+msgstr "E570: błąd krytyczny w cs_manage_matches"
+
+#, c-format
+msgid "Cscope tag: %s"
+msgstr "Znacznik cscope: %s"
+
+msgid ""
+"\n"
+"   #   line"
+msgstr ""
+"\n"
+"   #   wiersz"
+
+msgid "filename / context / line\n"
+msgstr "nazwa pliku  / kontekst / wiersz\n"
+
+#, c-format
+msgid "E609: Cscope error: %s"
+msgstr "E609: Błąd cscope: %s"
+
+msgid "All cscope databases reset"
+msgstr "Wszystkie bazy danych cscope przeładowano"
+
+msgid "no cscope connections\n"
+msgstr "brak połączeń z cscope\n"
+
+msgid " # pid    database name                       prepend path\n"
+msgstr " # pid   nazwa bazy danych               przedsionek tropu\n"
+
+msgid ""
+"???: Sorry, this command is disabled, the MzScheme library could not be "
+"loaded."
+msgstr ""
+"???: Przykro mi, ta komenda jest wyłączona, biblioteka MzScheme nie może być "
+"załadowana."
+
+msgid "invalid expression"
+msgstr "niepoprawne wyrażenie"
+
+msgid "expressions disabled at compile time"
+msgstr "wyrażenia wyłączone podczas kompilacji"
+
+msgid "hidden option"
+msgstr "ukryta opcja"
+
+msgid "unknown option"
+msgstr "nieznana opcja"
+
+msgid "window index is out of range"
+msgstr "indeks okna poza zakresem"
+
+msgid "couldn't open buffer"
+msgstr "nie mogę otworzyć bufora"
+
+msgid "cannot save undo information"
+msgstr "nie mogę zachować informacji cofania"
+
+msgid "cannot delete line"
+msgstr "nie mogę skasować wiersza"
+
+msgid "cannot replace line"
+msgstr "nie mogę zamienić wiersza"
+
+msgid "cannot insert line"
+msgstr "nie mogę wprowadzić wiersza"
+
+msgid "string cannot contain newlines"
+msgstr "ciąg nie może zawierać znaków nowego wiersza"
+
+msgid "Vim error: ~a"
+msgstr "Błąd vima: ~a"
+
+msgid "Vim error"
+msgstr "Błąd Vima"
+
+msgid "buffer is invalid"
+msgstr "bufor jest nieważny"
+
+msgid "window is invalid"
+msgstr "okno jest nieważne"
+
+msgid "linenr out of range"
+msgstr "numer wiersza poza zakresem"
+
+msgid "not allowed in the Vim sandbox"
+msgstr "Niedozwolone w piaskownicy Vima"
+
+msgid ""
+"E263: Sorry, this command is disabled, the Python library could not be "
+"loaded."
+msgstr ""
+"E263: Przykro mi, ta komenda jest wyłączona, bo nie można załadować "
+"biblioteki Pythona"
+
+msgid "E659: Cannot invoke Python recursively"
+msgstr "E659: Nie można wywołać Pythona rekursywnie"
+
+msgid "can't delete OutputObject attributes"
+msgstr "nie mogę skasować atrybutów OutputObject"
+
+msgid "softspace must be an integer"
+msgstr "softspace musi być liczbą całkowitą"
+
+msgid "invalid attribute"
+msgstr "niepoprawny atrybut"
+
+msgid "writelines() requires list of strings"
+msgstr "writelines() wymaga listy ciągów"
+
+msgid "E264: Python: Error initialising I/O objects"
+msgstr "E264: Python: Błąd w inicjalizacji obiektów I/O"
+
+msgid "attempt to refer to deleted buffer"
+msgstr "próba odniesienia do skasowanego bufora"
+
+msgid "line number out of range"
+msgstr "numer wiersza poza zakresem"
+
+#, c-format
+msgid "<buffer object (deleted) at %8lX>"
+msgstr "<obiekt bufora (skasowany) w %8lX>"
+
+msgid "invalid mark name"
+msgstr "niepoprawna nazwa zakładki"
+
+msgid "no such buffer"
+msgstr "nie ma takiego bufora"
+
+msgid "attempt to refer to deleted window"
+msgstr "próba odniesienia do skasowanego okna"
+
+msgid "readonly attribute"
+msgstr "atrybut tylko do odczytu"
+
+msgid "cursor position outside buffer"
+msgstr "pozycja kursora poza buforem"
+
+#, c-format
+msgid "<window object (deleted) at %.8lX>"
+msgstr "<obiekt okna (skasowany) w %.8lX>"
+
+#, c-format
+msgid "<window object (unknown) at %.8lX>"
+msgstr "<obiekt okna (nieznany) w %.8lX>"
+
+#, c-format
+msgid "<window %d>"
+msgstr "<okno %d>"
+
+msgid "no such window"
+msgstr "nie ma takiego okna"
+
+msgid "E266: Sorry, this command is disabled, the Ruby library could not be loaded."
+msgstr ""
+"E263: Przykro mi, ta komenda jest wyłączona, bo nie można załadować "
+"biblioteki Ruby."
+
+#, c-format
+msgid "E273: unknown longjmp status %d"
+msgstr "E273: Nieznany status longjmp %d"
+
+msgid "Toggle implementation/definition"
+msgstr "Przełącz między implementacją/określeniem"
+
+msgid "Show base class of"
+msgstr "Pokaż bazę klasy"
+
+msgid "Show overridden member function"
+msgstr "Pokaż przepisaną funkcję członkową"
+
+msgid "Retrieve from file"
+msgstr "Pobieraj z pliku"
+
+msgid "Retrieve from project"
+msgstr "Pobieraj z projektu"
+
+msgid "Retrieve from all projects"
+msgstr "Pobieraj z wszystkich projektów"
+
+msgid "Retrieve"
+msgstr "Pobierz"
+
+msgid "Show source of"
+msgstr "Pokaż źródło dla"
+
+msgid "Find symbol"
+msgstr "Znajdź symbol"
+
+msgid "Browse class"
+msgstr "Przejrzyj klasę"
+
+msgid "Show class in hierarchy"
+msgstr "Pokaż klasę w hierarchii"
+
+msgid "Show class in restricted hierarchy"
+msgstr "Pokaż klasę w ograniczonej hierarchii"
+
+msgid "Xref refers to"
+msgstr "Xref odnosi się do"
+
+msgid "Xref referred by"
+msgstr "Xref ma odniesienia od"
+
+msgid "Xref has a"
+msgstr "Xref ma"
+
+msgid "Xref used by"
+msgstr "Xref użyte przez"
+
+msgid "Show docu of"
+msgstr "Pokaż dokumentację dla"
+
+msgid "Generate docu for"
+msgstr "Wygeneruj dokumentację dla"
+
+msgid ""
+"Cannot connect to SNiFF+. Check environment (sniffemacs must be found in "
+"$PATH).\n"
+msgstr ""
+"Nie mogę podłączyć do SNiFF+. Sprawdź środowisko (sniffemacs musi być "
+"odnaleziony w $PATH).\n"
+
+msgid "E274: Sniff: Error during read. Disconnected"
+msgstr "E274: Sniff: Błąd podczas czytania. Rozłączenie"
+
+msgid "SNiFF+ is currently "
+msgstr "SNiFF+ jest obecnie "
+
+msgid "not "
+msgstr "nie "
+
+msgid "connected"
+msgstr "podłączony"
+
+#, c-format
+msgid "E275: Unknown SNiFF+ request: %s"
+msgstr "E275: Nieznane zapytanie SNiFF+: %s"
+
+msgid "E276: Error connecting to SNiFF+"
+msgstr "E276: Błąd w trakcie podłączania do SNiFF+"
+
+msgid "E278: SNiFF+ not connected"
+msgstr "E278: SNiFF+ niepodłączony"
+
+msgid "E279: Not a SNiFF+ buffer"
+msgstr "E279: Nie jest buforem SNiFF+"
+
+msgid "Sniff: Error during write. Disconnected"
+msgstr "Sniff: Błąd w trakcie zapisu. Rozłączony"
+
+msgid "invalid buffer number"
+msgstr "niewłaściwy numer bufora"
+
+msgid "not implemented yet"
+msgstr "obecnie nie zaimplementowano"
+
+#. ???
+msgid "cannot set line(s)"
+msgstr "nie mogę ustawić wiersza(y)"
+
+msgid "mark not set"
+msgstr "zakładka nie ustawiona"
+
+#, c-format
+msgid "row %d column %d"
+msgstr "wiersz %d kolumna %d"
+
+msgid "cannot insert/append line"
+msgstr "nie mogę wprowadzić/dołączyć wiersza"
+
+msgid "unknown flag: "
+msgstr "nieznana flaga: "
+
+msgid "unknown vimOption"
+msgstr "nieznane vimOption"
+
+msgid "keyboard interrupt"
+msgstr "przerwanie klawiatury"
+
+msgid "vim error"
+msgstr "błąd vima"
+
+msgid "cannot create buffer/window command: object is being deleted"
+msgstr "nie mogę stworzyć bufora/okna komendy: obiekt jest kasowany"
+
+msgid "cannot register callback command: buffer/window is already being deleted"
+msgstr ""
+"nie mogę zarejestrować wstecznego wywołania komendy: bufor/okno już została "
+"skasowana"
+
+#. This should never happen.  Famous last word?
+msgid ""
+"E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim."
+"org"
+msgstr ""
+"E280: TCL FATALNY BŁĄD: reflist zepsuta!? Proszę złożyć raport o tym na vim-"
+"dev@vim.org"
+
+msgid "cannot register callback command: buffer/window reference not found"
+msgstr ""
+"nie mogę zarejestrować wstecznego wywołania komendy: brak odniesienia do "
+"bufora/okna"
+
+msgid "E571: Sorry, this command is disabled: the Tcl library could not be loaded."
+msgstr "Przykro mi, ta komenda jest wyłączona, bo nie można załadować biblioteki Tcl."
+
+msgid "E281: TCL ERROR: exit code is not int!? Please report this to vim-dev@vim.org"
+msgstr ""
+"E281: BŁĄD TCL: kod zakończeniowy nie jest całkowity!? Proszę złożyć raport "
+"o tym na vim-dev@vim.org"
+
+#, c-format
+msgid "E572: exit code %d"
+msgstr "E572: kod wyjścia %d"
+
+msgid "cannot get line"
+msgstr "nie mogę dostać wiersza"
+
+msgid "Unable to register a command server name"
+msgstr "Nie mogę zarejestrować nazwy serwera komend"
+
+msgid "E248: Failed to send command to the destination program"
+msgstr "E248: Wysłanie komendy do programu docelowego nie powiodło się"
+
+#, c-format
+msgid "E573: Invalid server id used: %s"
+msgstr "E573: Użyto niewłaściwego id serwera: %s"
+
+msgid "E251: VIM instance registry property is badly formed.  Deleted!"
+msgstr "E251: wcielenia instancji rejestru Vima jest źle sformowane.  Skasowano!"
+
+msgid "Unknown option argument"
+msgstr "Nieznany argument opcji"
+
+msgid "Too many edit arguments"
+msgstr "Zbyt wiele argumentów"
+
+msgid "Argument missing after"
+msgstr "Brak argumentu po"
+
+msgid "Garbage after option argument"
+msgstr "Śmiecie po argumencie opcji"
+
+msgid "Too many \"+command\", \"-c command\" or \"--cmd command\" arguments"
+msgstr "Zbyt wiele argumentów \"+komenda\", \"-c komenda\" lub \"--cmd komenda\""
+
+msgid "Invalid argument for"
+msgstr "Niewłaściwy argument dla"
+
+#, c-format
+msgid "%d files to edit\n"
+msgstr "%d plików do edycji\n"
+
+msgid "This Vim was not compiled with the diff feature."
+msgstr "Ta wersja Vima nie była skompilowanego z opcją różnic (diff)."
+
+msgid "Attempt to open script file again: \""
+msgstr "Próba ponownego otworzenia pliku skryptu: \""
+
+msgid "Cannot open for reading: \""
+msgstr "Nie mogę otworzyć do odczytu: \""
+
+msgid "Cannot open for script output: \""
+msgstr "Nie mogę otworzyć dla wyjścia skryptu: \""
+
+msgid "Vim: Error: Failure to start gvim from NetBeans\n"
+msgstr "Vim: Błąd: Nie można uruchomić gvim z NetBeans\n"
+
+msgid "Vim: Warning: Output is not to a terminal\n"
+msgstr "Vim: OSTRZEŻENIE: Wyjście nie jest terminalem\n"
+
+msgid "Vim: Warning: Input is not from a terminal\n"
+msgstr "Vim: OSTRZEŻENIE: Wejście nie pochodzi z terminala\n"
+
+#. just in case..
+msgid "pre-vimrc command line"
+msgstr "linia poleceń pre-vimrc"
+
+#, c-format
+msgid "E282: Cannot read from \"%s\""
+msgstr "E282: Nie mogę czytać z \"%s\""
+
+msgid ""
+"\n"
+"More info with: \"vim -h\"\n"
+msgstr ""
+"\n"
+"Dalsze informacje poprzez: \"vim -h\"\n"
+
+msgid "[file ..]       edit specified file(s)"
+msgstr "[plik ..]       edytuj zadane pliki"
+
+msgid "-               read text from stdin"
+msgstr "-               czytaj tekst ze stdin"
+
+msgid "-t tag          edit file where tag is defined"
+msgstr "-t znacznik   edytuj plik, w którym dany znacznik jest zdefiniowany"
+
+msgid "-q [errorfile]  edit file with first error"
+msgstr "-q [errorfile]  edytuj plik, zawierający pierwszy błąd"
+
+msgid ""
+"\n"
+"\n"
+"usage:"
+msgstr ""
+"\n"
+"\n"
+"użycie:"
+
+msgid " vim [arguments] "
+msgstr " vim [argumenty]"
+
+msgid ""
+"\n"
+"   or:"
+msgstr ""
+"\n"
+"   lub:"
+
+msgid "where case is ignored prepend / to make flag upper case"
+msgstr ""
+"gdzie wielkość znaków jest ignorowana dodaj na początku / by flaga była "
+"wielką literą"
+
+msgid ""
+"\n"
+"\n"
+"Arguments:\n"
+msgstr ""
+"\n"
+"\n"
+"Argumenty:\n"
+
+msgid "--\t\t\tOnly file names after this"
+msgstr "--\t\t\tTylko nazwy plików po tym"
+
+msgid "--literal\t\tDon't expand wildcards"
+msgstr "--literal\t\tNie rozwijaj znaków specjalnych"
+
+msgid "-register\t\tRegister this gvim for OLE"
+msgstr "-register\t\tZarejestruj tego gvima w OLE"
+
+msgid "-unregister\t\tUnregister gvim for OLE"
+msgstr "-unregister\t\tWyrejestruj gvima z OLE"
+
+msgid "-g\t\t\tRun using GUI (like \"gvim\")"
+msgstr "-g\t\t\tStartuj w GUI (tak jak \"gvim\")"
+
+msgid "-f  or  --nofork\tForeground: Don't fork when starting GUI"
+msgstr "-f  lub --nofork\tPierwszy plan: Nie wydzielaj przy odpalaniu GUI"
+
+msgid "-v\t\t\tVi mode (like \"vi\")"
+msgstr "-v\t\t\tTryb vi (jak \"vi\")"
+
+msgid "-e\t\t\tEx mode (like \"ex\")"
+msgstr "-e\t\t\tTryb ex (jak \"ex\")"
+
+msgid "-s\t\t\tSilent (batch) mode (only for \"ex\")"
+msgstr "-s\t\t\tCichy tryb (tła) (tylko dla \"ex\")"
+
+msgid "-d\t\t\tDiff mode (like \"vimdiff\")"
+msgstr "-d\t\t\tTryb różnic (jak \"vimdiff\")"
+
+msgid "-y\t\t\tEasy mode (like \"evim\", modeless)"
+msgstr "-y\t\t\tTryb łatwy (jak \"evim\", bez trybów)"
+
+msgid "-R\t\t\tReadonly mode (like \"view\")"
+msgstr "-R\t\t\tTryb wyłącznie do odczytu (jak \"view\")"
+
+msgid "-Z\t\t\tRestricted mode (like \"rvim\")"
+msgstr "-Z\t\t\tTryb ograniczenia (jak \"rvim\")"
+
+msgid "-m\t\t\tModifications (writing files) not allowed"
+msgstr "-m\t\t\tModyfikacje (zapisywanie plików) niedozwolone"
+
+msgid "-M\t\t\tModifications in text not allowed"
+msgstr "-M\t\t\tZakaz modyfikacji tekstu"
+
+msgid "-b\t\t\tBinary mode"
+msgstr "-b\t\t\tTryb binarny"
+
+msgid "-l\t\t\tLisp mode"
+msgstr "-l\t\t\tTryb lisp"
+
+msgid "-C\t\t\tCompatible with Vi: 'compatible'"
+msgstr "-C\t\t\tBądź zgodny z Vi: 'compatible'"
+
+msgid "-N\t\t\tNot fully Vi compatible: 'nocompatible'"
+msgstr "-N\t\t\tBądź niezupełnie zgodny z Vi: 'nocompatible'"
+
+msgid "-V[N]\t\tVerbose level"
+msgstr "-V[N]\t\tStopień gadatliwości"
+
+msgid "-D\t\t\tDebugging mode"
+msgstr "-D\t\t\tTryb odpluskwiania"
+
+msgid "-n\t\t\tNo swap file, use memory only"
+msgstr "-n\t\t\tZamiast pliku wymiany, używaj tylko pamięci"
+
+msgid "-r\t\t\tList swap files and exit"
+msgstr "-r\t\t\tWylicz pliki wymiany i zakończ"
+
+msgid "-r (with file name)\tRecover crashed session"
+msgstr "-r (z nazwą pliku)\tOdtwórz załamaną sesję"
+
+msgid "-L\t\t\tSame as -r"
+msgstr "-L\t\t\tTożsame z -r"
+
+msgid "-f\t\t\tDon't use newcli to open window"
+msgstr "-f\t\t\tNie stosuj newcli do otwierania okien"
+
+msgid "-dev <device>\t\tUse <device> for I/O"
+msgstr "-dev <device>\t\tUżywaj <device> do I/O"
+
+msgid "-A\t\t\tstart in Arabic mode"
+msgstr "-A\t\t\trozpocznij w trybie arabskim"
+
+msgid "-H\t\t\tStart in Hebrew mode"
+msgstr "-H\t\t\trozpocznij w trybie hebrajskim"
+
+msgid "-F\t\t\tStart in Farsi mode"
+msgstr "-F\t\t\trozpocznij w trybie farsi"
+
+msgid "-T <terminal>\tSet terminal type to <terminal>"
+msgstr "-T <terminal>\tUstaw typ terminala na <terminal>"
+
+msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc"
+msgstr "-u <vimrc>\t\tUżyj <vimrc> zamiast jakiegokolwiek .vimrc"
+
+msgid "-U <gvimrc>\t\tUse <gvimrc> instead of any .gvimrc"
+msgstr "-U <gvimrc>\t\tUżyj <gvimrc> zamiast jakiegokolwiek .gvimrc"
+
+msgid "--noplugin\t\tDon't load plugin scripts"
+msgstr "--noplugin\t\tNie ładuj skryptów wtyczek"
+
+msgid "-p[N]\t\tOpen N tab pages (default: one for each file)"
+msgstr "-p[N]\t\tOtwórz N kart (domyślnie: po jednej dla każdego pliku)"
+
+msgid "-o[N]\t\tOpen N windows (default: one for each file)"
+msgstr "-o[N]\t\tOtwórz N okien (domyślnie: po jednym dla każdego pliku)"
+
+msgid "-O[N]\t\tLike -o but split vertically"
+msgstr "-O[N]\t\ttak samo jak -o tylko dziel okno pionowo"
+
+msgid "+\t\t\tStart at end of file"
+msgstr "+\t\t\tZacznij na końcu pliku"
+
+msgid "+<lnum>\t\tStart at line <lnum>"
+msgstr "+<lnum>\t\tZacznij w wierszu <lnum>"
+
+msgid "--cmd <command>\tExecute <command> before loading any vimrc file"
+msgstr ""
+"-cmd <command>\t\tWykonaj komendę <command> przed załadowaniem "
+"jakiegokolwiek pliku vimrc"
+
+msgid "-c <command>\t\tExecute <command> after loading the first file"
+msgstr "-c <command>\t\tWykonaj komendę <command> po załadowaniu pierwszego pliku"
+
+msgid "-S <session>\t\tSource file <session> after loading the first file"
+msgstr "-S <sesja>\t\tWczytaj plik <sesja> po załadowaniu pierwszego pliku"
+
+msgid "-s <scriptin>\tRead Normal mode commands from file <scriptin>"
+msgstr "-s <scriptin>\tWczytuj komendy trybu normalnego z pliku <scriptin>"
+
+msgid "-w <scriptout>\tAppend all typed commands to file <scriptout>"
+msgstr "-w <scriptout>\tDołącz wszystkie wprowadzane komendy do pliku <scriptout>"
+
+msgid "-W <scriptout>\tWrite all typed commands to file <scriptout>"
+msgstr "-W <scriptout>\tZapisuj wszystkie wprowadzane komendy do pliku <scriptout>"
+
+msgid "-x\t\t\tEdit encrypted files"
+msgstr "-x\t\t\tEdytuj zakodowane pliki"
+
+msgid "-display <display>\tConnect vim to this particular X-server"
+msgstr "-display <display>\tPodłącz vima to danego X-serwera"
+
+msgid "-X\t\t\tDo not connect to X server"
+msgstr "-X\t\t\tNie łącz z serwerem X"
+
+msgid "--remote <files>\tEdit <files> in a Vim server if possible"
+msgstr "--remote <pliki>\tEdytuj pliki w serwerze Vima jeśli możliwe"
+
+msgid "--remote-silent <files>  Same, don't complain if there is no server"
+msgstr "--remote-silent <pliki> To samo, nie narzekaj jeśli nie ma serwera"
+
+msgid "--remote-wait <files>  As --remote but wait for files to have been edited"
+msgstr "--remote-wait <pliki>\tTak jak --remote, lecz czekaj na pliki przed edycją"
+
+msgid "--remote-wait-silent <files>  Same, don't complain if there is no server"
+msgstr "--remote-wait-silent <pliki>  To samo, nie narzekaj jeśli nie ma serwera"
+
+msgid "--remote-tab <files>  As --remote but open tab page for each file"
+msgstr "--remote-tab <pliki>\tTak jak --remote ale otwórz jedną kartę dla każdego pliku"
+
+msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit"
+msgstr "--remote-send <klawisze>\tWyślij <klawisze> do serwera Vima i zakończ"
+
+msgid "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result"
+msgstr "--remote-expr <wyr>\tWykonaj <wyrażenie> w serwerze i wypisz wynik"
+
+msgid "--serverlist\t\tList available Vim server names and exit"
+msgstr "--serverlist\t\tWymień nazwy dostępnych serwerów Vima i zakończ"
+
+msgid "--servername <name>\tSend to/become the Vim server <name>"
+msgstr "--servername <nazwa>\t\tOdsyłaj do/stań się serwerem Vim <nazwa>"
+
+msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo"
+msgstr "-i <viminfo>\t\tUżywaj <viminfo> zamiast .viminfo"
+
+msgid "-h  or  --help\tPrint Help (this message) and exit"
+msgstr "-h  lub  --help\twyświetl Pomoc (czyli tę wiadomość) i zakończ"
+
+msgid "--version\t\tPrint version information and exit"
+msgstr "--version\t\twyświetl informację o wersji i zakończ"
+
+msgid ""
+"\n"
+"Arguments recognised by gvim (Motif version):\n"
+msgstr ""
+"\n"
+"Argumenty rozpoznawane przez gvim (wersja Motif):\n"
+
+msgid ""
+"\n"
+"Arguments recognised by gvim (neXtaw version):\n"
+msgstr ""
+"\n"
+"Argumenty rozpoznawane przez gvim (wersja neXtaw):\n"
+
+msgid ""
+"\n"
+"Arguments recognised by gvim (Athena version):\n"
+msgstr ""
+"\n"
+"Argumenty rozpoznawane przez gvim (wersja Athena):\n"
+
+msgid "-display <display>\tRun vim on <display>"
+msgstr "-display <display>\tZaładuj vim na <display>"
+
+msgid "-iconic\t\tStart vim iconified"
+msgstr "-iconic\t\tZacznij Vim jako ikonę"
+
+msgid "-name <name>\t\tUse resource as if vim was <name>"
+msgstr "-name <nazwa>\t\tUżywaj zasobów tak jak by Vim był <nazwa>"
+
+msgid "\t\t\t  (Unimplemented)\n"
+msgstr "\t\t\t  (Niezaimplementowane)\n"
+
+msgid "-background <color>\tUse <color> for the background (also: -bg)"
+msgstr "-background <kolor>\tUżywaj <kolor> dla tła (również: -bg)"
+
+msgid "-foreground <color>\tUse <color> for normal text (also: -fg)"
+msgstr "-foreground <kolor>\tUżywaj <kolor> dla normalnego tekstu (również: -fg)"
+
+msgid "-font <font>\t\tUse <font> for normal text (also: -fn)"
+msgstr "-font <font>\t\tUżywaj <font> dla normalnego tekstu (również: -fn)"
+
+msgid "-boldfont <font>\tUse <font> for bold text"
+msgstr "-boldfont <font>\tUżywaj <font> dla wytłuszczonego tekstu"
+
+msgid "-italicfont <font>\tUse <font> for italic text"
+msgstr "-italicfont <font>\tUżywaj <font> dla pochyłego"
+
+msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)"
+msgstr "-geometry <geom>\tUżywaj <geom> dla początkowych rozmiarów (również: -geom)"
+
+msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)"
+msgstr "-borderwidth <szer>\tUżyj ramki o grubości <szer> (również: -bw)"
+
+msgid "-scrollbarwidth <width>  Use a scrollbar width of <width> (also: -sw)"
+msgstr "-scrollbarwidth <szer>  Używaj przewijacza o szerokości <szer> (również: -sw)"
+
+msgid "-menuheight <height>\tUse a menu bar height of <height> (also: -mh)"
+msgstr "-menuheight <height>\tStosuj belkę menu o wysokości <height> (również: -mh)"
+
+msgid "-reverse\t\tUse reverse video (also: -rv)"
+msgstr "-reverse\t\tStosuj negatyw kolorów (również: -rv)"
+
+msgid "+reverse\t\tDon't use reverse video (also: +rv)"
+msgstr "+reverse\t\tNie stosuj negatywu kolorów (również: +rv)"
+
+msgid "-xrm <resource>\tSet the specified resource"
+msgstr "-xrm <resource>\tUstaw określony zasób"
+
+msgid ""
+"\n"
+"Arguments recognised by gvim (RISC OS version):\n"
+msgstr ""
+"\n"
+"Argumenty rozpoznawane przez gvim (wersja RISC OS):\n"
+
+msgid "--columns <number>\tInitial width of window in columns"
+msgstr "--columns <number>\tPoczątkowa szerokość okna w kolumnach"
+
+msgid "--rows <number>\tInitial height of window in rows"
+msgstr "--rows <number>\tPoczątkowa wysokość okna w wierszach"
+
+msgid ""
+"\n"
+"Arguments recognised by gvim (GTK+ version):\n"
+msgstr ""
+"\n"
+"Argumenty rozpoznawane przez gvim (wersja GTK+):\n"
+
+msgid "-display <display>\tRun vim on <display> (also: --display)"
+msgstr "-display <display>\tZastartuj vim na <display> (również: --display)"
+
+msgid "--role <role>\tSet a unique role to identify the main window"
+msgstr "--role <role>\tUstaw unikatową rolę do identyfikacji głównego okna"
+
+msgid "--socketid <xid>\tOpen Vim inside another GTK widget"
+msgstr "--socketid <xid>\tOtwórz Vim wewnątrz innego widgetu GTK"
+
+msgid "-P <parent title>\tOpen Vim inside parent application"
+msgstr "-P <tytuł rodzica>\tOtwórz Vima wewnątrz rodzicielskiej aplikacji"
+
+msgid "No display"
+msgstr "Brak display"
+
+#. Failed to send, abort.
+msgid ": Send failed.\n"
+msgstr ": Wysłanie nie powiodło się.\n"
+
+#. Let vim start normally.
+msgid ": Send failed. Trying to execute locally\n"
+msgstr ": Wysłanie nie powiodło się. Próbuję wykonać na miejscu\n"
+
+#, c-format
+msgid "%d of %d edited"
+msgstr "otworzono %d z %d"
+
+msgid "No display: Send expression failed.\n"
+msgstr "Brak terminala: Wysłanie wyrażenia nie powiodło się.\n"
+
+msgid ": Send expression failed.\n"
+msgstr ": Wysłanie wyrażenia nie powiodło się.\n"
+
+msgid "No marks set"
+msgstr "Brak zakładek"
+
+#, c-format
+msgid "E283: No marks matching \"%s\""
+msgstr "E283: Żadna zakładka nie pasuje do \"%s\""
+
+#. Highlight title
+msgid ""
+"\n"
+"mark line  col file/text"
+msgstr ""
+"\n"
+"zakł. wiersz kol plik/tekst"
+
+#. Highlight title
+msgid ""
+"\n"
+" jump line  col file/text"
+msgstr ""
+"\n"
+" skok wiersz kol plik/tekst"
+
+#. Highlight title
+msgid ""
+"\n"
+"change line  col text"
+msgstr ""
+"\n"
+"zmień wrsz. kol tekst"
+
+#, c-format
+msgid ""
+"\n"
+"# File marks:\n"
+msgstr ""
+"\n"
+"# Zakładki w plikach:\n"
+
+#. Write the jumplist with -'
+#, c-format
+msgid ""
+"\n"
+"# Jumplist (newest first):\n"
+msgstr ""
+"\n"
+"# Lista odniesień (począwszy od najnowszych):\n"
+
+#, c-format
+msgid ""
+"\n"
+"# History of marks within files (newest to oldest):\n"
+msgstr ""
+"\n"
+"# Historia zakładek w plikach (od najnowszych po najstarsze):\n"
+
+msgid "Missing '>'"
+msgstr "Brak '>'"
+
+msgid "E543: Not a valid codepage"
+msgstr "E543: To nie jest ważna strona kodowa"
+
+msgid "E284: Cannot set IC values"
+msgstr "E284: Nie mogę nastawić wartości IC"
+
+msgid "E285: Failed to create input context"
+msgstr "E285: Nie mogłem stworzyć kontekstu wprowadzeń"
+
+msgid "E286: Failed to open input method"
+msgstr "E286: Nie mogłem otworzyć sposobu wprowadzeń"
+
+msgid "E287: Warning: Could not set destroy callback to IM"
+msgstr "E287: OSTRZEŻENIE: Nie mogłem zlikwidować wywołania dla IM"
+
+msgid "E288: input method doesn't support any style"
+msgstr "E288: metoda wprowadzeń nie wspomaga żadnego stylu"
+
+msgid "E289: input method doesn't support my preedit type"
+msgstr "E289: metoda wprowadzeń nie wspomaga mojego typu preedit"
+
+msgid "E290: over-the-spot style requires fontset"
+msgstr "E290: styl nadpunktowy wymaga +fontset"
+
+msgid "E291: Your GTK+ is older than 1.2.3. Status area disabled"
+msgstr "E291: Twój GTK+ jest starszy niż 1.2.3. Pole statusu wyłączono"
+
+msgid "E292: Input Method Server is not running"
+msgstr "E292: Serwer metod wprowadzeń nie jest uruchomiony"
+
+msgid "E293: block was not locked"
+msgstr "E293: blok nie był zablokowany"
+
+msgid "E294: Seek error in swap file read"
+msgstr "E294: Błąd w trakcie czytania pliku wymiany"
+
+msgid "E295: Read error in swap file"
+msgstr "E295: Błąd odczytu pliku wymiany"
+
+msgid "E296: Seek error in swap file write"
+msgstr "E296: Błąd szukania w pliku wymiany"
+
+msgid "E297: Write error in swap file"
+msgstr "E297: Błąd zapisu w pliku wymiany"
+
+msgid "E300: Swap file already exists (symlink attack?)"
+msgstr "E300: Plik wymiany już istnieje (atak symlink?)"
+
+msgid "E298: Didn't get block nr 0?"
+msgstr "E298: Nie otrzymałem bloku nr 0?"
+
+msgid "E298: Didn't get block nr 1?"
+msgstr "E298: Nie otrzymałem bloku nr 1?"
+
+msgid "E298: Didn't get block nr 2?"
+msgstr "E298: Nie otrzymałem bloku nr 2?"
+
+#. could not (re)open the swap file, what can we do????
+msgid "E301: Oops, lost the swap file!!!"
+msgstr "E301: Ojej, zgubiłem plik wymiany!!!"
+
+msgid "E302: Could not rename swap file"
+msgstr "E302: Nie mogłem zmienić nazwy pliku wymiany"
+
+#, c-format
+msgid "E303: Unable to open swap file for \"%s\", recovery impossible"
+msgstr "E303: Nie mogę otworzyć pliku wymiany dla \"%s\"; odtworzenie niemożliwe"
+
+msgid "E304: ml_upd_block0(): Didn't get block 0??"
+msgstr "E304: ml_upd_block(): Nie otrzymałem bloku 0??"
+
+#, c-format
+msgid "E305: No swap file found for %s"
+msgstr "E305: Nie znaleziono pliku wymiany dla %s"
+
+msgid "Enter number of swap file to use (0 to quit): "
+msgstr "Wprowadź numer pliku wymiany, którego użyć (0 by wyjść): "
+
+#, c-format
+msgid "E306: Cannot open %s"
+msgstr "E306: Nie mogę otworzyć %s"
+
+msgid "Unable to read block 0 from "
+msgstr "Nie mogę odczytać bloku 0 z "
+
+msgid ""
+"\n"
+"Maybe no changes were made or Vim did not update the swap file."
+msgstr ""
+"\n"
+"Może nie wykonano zmian albo Vim nie zaktualizował pliku wymiany."
+
+msgid " cannot be used with this version of Vim.\n"
+msgstr " nie może być stosowany z tą wersją Vima.\n"
+
+msgid "Use Vim version 3.0.\n"
+msgstr "Użyj Vima w wersji 3.0.\n"
+
+#, c-format
+msgid "E307: %s does not look like a Vim swap file"
+msgstr "E307: %s nie wygląda na plik wymiany Vima"
+
+msgid " cannot be used on this computer.\n"
+msgstr " nie może być stosowany na tym komputerze.\n"
+
+msgid "The file was created on "
+msgstr "Ten plik został stworzony na "
+
+msgid ""
+",\n"
+"or the file has been damaged."
+msgstr ""
+",\n"
+"lub plik został uszkodzony."
+
+#, c-format
+msgid "Using swap file \"%s\""
+msgstr "Używam pliku wymiany \"%s\""
+
+#, c-format
+msgid "Original file \"%s\""
+msgstr "Oryginalny plik \"%s\""
+
+msgid "E308: Warning: Original file may have been changed"
+msgstr "E308: OSTRZEŻENIE: Oryginalny plik mógł być zmieniony"
+
+#, c-format
+msgid "E309: Unable to read block 1 from %s"
+msgstr "E309: Nie mogę odczytać bloku 1 z %s"
+
+msgid "???MANY LINES MISSING"
+msgstr "???BRAKUJE WIELU WIERSZY"
+
+msgid "???LINE COUNT WRONG"
+msgstr "???LICZNIK WIERSZY NIEZGODNY"
+
+msgid "???EMPTY BLOCK"
+msgstr "???PUSTY BLOK"
+
+msgid "???LINES MISSING"
+msgstr "???BRAKUJE WIERSZY"
+
+#, c-format
+msgid "E310: Block 1 ID wrong (%s not a .swp file?)"
+msgstr "E310: Niewłaściwe ID bloku 1 (może %s nie jest plikiem .swp?)"
+
+msgid "???BLOCK MISSING"
+msgstr "???BRAK BLOKU"
+
+msgid "??? from here until ???END lines may be messed up"
+msgstr "??? od tego miejsca po ???KONIEC wiersze mogą być pomieszane"
+
+msgid "??? from here until ???END lines may have been inserted/deleted"
+msgstr "??? od tego miejsca po ???KONIEC wiersze mogą być włożone/skasowane"
+
+msgid "???END"
+msgstr "???KONIEC"
+
+msgid "E311: Recovery Interrupted"
+msgstr "E311: Przerwanie odtwarzania"
+
+msgid "E312: Errors detected while recovering; look for lines starting with ???"
+msgstr "E312: Wykryto błędy podczas odtwarzania; od których wierszy zacząć ???"
+
+msgid "See \":help E312\" for more information."
+msgstr "Zobacz \":help E312\" dla dalszych informacji."
+
+msgid "Recovery completed. You should check if everything is OK."
+msgstr "Odtwarzanie zakończono. Powinieneś sprawdzić czy wszystko jest w porządku."
+
+msgid ""
+"\n"
+"(You might want to write out this file under another name\n"
+msgstr ""
+"\n"
+"(Możesz chcieć zapisać ten plik pod inną nazwą\n"
+
+msgid "and run diff with the original file to check for changes)\n"
+msgstr "i wykonać diff z oryginalnym plikiem aby sprawdzić zmiany)\n"
+
+msgid ""
+"Delete the .swp file afterwards.\n"
+"\n"
+msgstr ""
+"Skasuj potem plik .swp.\n"
+"\n"
+
+#. use msg() to start the scrolling properly
+msgid "Swap files found:"
+msgstr "Znalezione pliki wymiany:"
+
+msgid "   In current directory:\n"
+msgstr "   W bieżącym katalogu:\n"
+
+msgid "   Using specified name:\n"
+msgstr "   Używam podanej nazwy:\n"
+
+msgid "   In directory "
+msgstr "   W katalogu "
+
+msgid "      -- none --\n"
+msgstr "     -- żaden --\n"
+
+msgid "          owned by: "
+msgstr "   posiadany przez: "
+
+msgid "   dated: "
+msgstr "   data: "
+
+msgid "             dated: "
+msgstr "              data: "
+
+msgid "         [from Vim version 3.0]"
+msgstr "         [po Vimie wersja 3.0]"
+
+msgid "         [does not look like a Vim swap file]"
+msgstr "         [nie wygląda na plik wymiany Vima]"
+
+msgid "         file name: "
+msgstr "       nazwa pliku: "
+
+msgid ""
+"\n"
+"          modified: "
+msgstr ""
+"\n"
+"         zmieniono: "
+
+msgid "YES"
+msgstr "TAK"
+
+msgid "no"
+msgstr "nie"
+
+msgid ""
+"\n"
+"         user name: "
+msgstr ""
+"\n"
+"        użytkownik: "
+
+msgid "   host name: "
+msgstr "   nazwa hosta: "
+
+msgid ""
+"\n"
+"         host name: "
+msgstr ""
+"\n"
+"      nazwa hosta: "
+
+msgid ""
+"\n"
+"        process ID: "
+msgstr ""
+"\n"
+"        ID procesu: "
+
+msgid " (still running)"
+msgstr " (dalej działa)"
+
+msgid ""
+"\n"
+"         [not usable with this version of Vim]"
+msgstr ""
+"\n"
+"         [nie nadaje się dla tej wersji Vima]"
+
+msgid ""
+"\n"
+"         [not usable on this computer]"
+msgstr ""
+"\n"
+"     [nie do użytku na tym komputerze]"
+
+msgid "         [cannot be read]"
+msgstr "        [nieodczytywalny]"
+
+msgid "         [cannot be opened]"
+msgstr "            [nieotwieralny]"
+
+msgid "E313: Cannot preserve, there is no swap file"
+msgstr "E313: Nie mogę zabezpieczyć, bo brak pliku wymiany"
+
+msgid "File preserved"
+msgstr "Plik zabezpieczono"
+
+msgid "E314: Preserve failed"
+msgstr "E314: Nieudane zabezpieczenie"
+
+#, c-format
+msgid "E315: ml_get: invalid lnum: %ld"
+msgstr "E315: ml_get: niewłaściwy lnum: %ld"
+
+#, c-format
+msgid "E316: ml_get: cannot find line %ld"
+msgstr "E316: ml_get: nie znaleziono wiersza %ld"
+
+msgid "E317: pointer block id wrong 3"
+msgstr "E317: niepoprawne id wskaźnika bloku 3"
+
+msgid "stack_idx should be 0"
+msgstr "stack_idx powinien być 0"
+
+msgid "E318: Updated too many blocks?"
+msgstr "E318: Zaktualizowano zbyt wiele bloków?"
+
+msgid "E317: pointer block id wrong 4"
+msgstr "E317: niepoprawne id wskaźnika bloku 4"
+
+msgid "deleted block 1?"
+msgstr "blok nr 1 skasowany?"
+
+#, c-format
+msgid "E320: Cannot find line %ld"
+msgstr "E320: Nie mogę znaleźć wiersza %ld"
+
+msgid "E317: pointer block id wrong"
+msgstr "E317: niepoprawne id bloku odniesienia"
+
+msgid "pe_line_count is zero"
+msgstr "pe_line_count wynosi zero"
+
+#, c-format
+msgid "E322: line number out of range: %ld past the end"
+msgstr "E322: numer wiersza poza zakresem: %ld jest poza końcem"
+
+#, c-format
+msgid "E323: line count wrong in block %ld"
+msgstr "E323: liczba wierszy niepoprawna w bloku %ld"
+
+msgid "Stack size increases"
+msgstr "Wielkość stosu wzrasta"
+
+msgid "E317: pointer block id wrong 2"
+msgstr "E317: niepoprawne id bloku odniesienia 2"
+
+#, c-format
+msgid "E773: Symlink loop for \"%s\""
+msgstr "E773: Pętla dowiązań dla \"%s\""
+
+msgid "E325: ATTENTION"
+msgstr "E325: UWAGA"
+
+msgid ""
+"\n"
+"Found a swap file by the name \""
+msgstr ""
+"\n"
+"Znalazłem plik wymiany o nazwie \""
+
+msgid "While opening file \""
+msgstr "Podczas otwierania pliku \""
+
+msgid "      NEWER than swap file!\n"
+msgstr "      NOWSZE od pliku wymiany!\n"
+
+#. Some of these messages are long to allow translation to
+#. * other languages.
+msgid ""
+"\n"
+"(1) Another program may be editing the same file.\n"
+"    If this is the case, be careful not to end up with two\n"
+"    different instances of the same file when making changes.\n"
+msgstr ""
+"\n"
+"(1) Pewnie inny program obrabia ten sam plik.\n"
+"    Jeśli tak, bądź ostrożny, aby nie skończyć z dwoma\n"
+"    różnymi wersjami jednego tego samego pliku po zmianach.\n"
+
+msgid "    Quit, or continue with caution.\n"
+msgstr "    Zakończ lub ostrożnie kontynuuj.\n"
+
+msgid ""
+"\n"
+"(2) An edit session for this file crashed.\n"
+msgstr ""
+"\n"
+"(2) Sesja edycji dla pliku załamała się.\n"
+
+msgid "    If this is the case, use \":recover\" or \"vim -r "
+msgstr "    Jeśli tak, to użyj \":recover\" lub \"vim -r "
+
+msgid ""
+"\"\n"
+"    to recover the changes (see \":help recovery\").\n"
+msgstr ""
+"\"\n"
+"    aby odzyskać zmiany (zobacz \":help recovery)\").\n"
+
+msgid "    If you did this already, delete the swap file \""
+msgstr "    Jeśli już to zrobiłeś, usuń plik wymiany \""
+
+msgid ""
+"\"\n"
+"    to avoid this message.\n"
+msgstr ""
+"\"\n"
+"    aby uniknąć tej wiadomości.\n"
+
+msgid "Swap file \""
+msgstr "Plik wymiany \""
+
+msgid "\" already exists!"
+msgstr "\" już istnieje!"
+
+msgid "VIM - ATTENTION"
+msgstr "VIM - UWAGA"
+
+msgid "Swap file already exists!"
+msgstr "Plik wymiany już istnieje!"
+
+msgid ""
+"&Open Read-Only\n"
+"&Edit anyway\n"
+"&Recover\n"
+"&Quit\n"
+"&Abort"
+msgstr ""
+"&Otwórz Read-Only\n"
+"&Edytuj pomimo\n"
+"O&dtwórz\n"
+"&Zakończ\n"
+"&Porzuć"
+
+msgid ""
+"&Open Read-Only\n"
+"&Edit anyway\n"
+"&Recover\n"
+"&Delete it\n"
+"&Quit\n"
+"&Abort"
+msgstr ""
+"&Otwórz Read-Only\n"
+"&Edytuj pomimo\n"
+"O&dtwórz\n"
+"&Usuń\n"
+"&Zakończ\n"
+"&Porzuć"
+
+msgid "E326: Too many swap files found"
+msgstr "E326: Znaleziono zbyt wiele plików wymiany"
+
+msgid "E327: Part of menu-item path is not sub-menu"
+msgstr "E327: Część tropu punktu menu nie określa podmenu"
+
+msgid "E328: Menu only exists in another mode"
+msgstr "E328: Menu istnieje tylko w innym trybie"
+
+#, c-format
+msgid "E329: No menu \"%s\""
+msgstr "E329: Nie ma menu \"%s\""
+
+msgid "E330: Menu path must not lead to a sub-menu"
+msgstr "E330: Trop menu nie może prowadzić do podmenu"
+
+msgid "E331: Must not add menu items directly to menu bar"
+msgstr "E331: Nie wolno dodawać punktów menu wprost do paska menu"
+
+msgid "E332: Separator cannot be part of a menu path"
+msgstr "E332: Separator nie może być częścią tropu menu"
+
+#. Now we have found the matching menu, and we list the mappings
+#. Highlight title
+msgid ""
+"\n"
+"--- Menus ---"
+msgstr ""
+"\n"
+"--- Menu ---"
+
+msgid "Tear off this menu"
+msgstr "Oderwij to menu"
+
+msgid "E333: Menu path must lead to a menu item"
+msgstr "E333: Trop menu musi prowadzić do punktu menu"
+
+#, c-format
+msgid "E334: Menu not found: %s"
+msgstr "E334: Nie znaleziono menu: %s"
+
+#, c-format
+msgid "E335: Menu not defined for %s mode"
+msgstr "E335: Menu nie jest zdefiniowane dla trybu %s"
+
+msgid "E336: Menu path must lead to a sub-menu"
+msgstr "E336: Trop menu musi prowadzić do podmenu"
+
+msgid "E337: Menu not found - check menu names"
+msgstr "E337: Nie znaleziono menu - sprawdź nazwy menu"
+
+#, c-format
+msgid "Error detected while processing %s:"
+msgstr "Wykryto błąd podczas przetwarzania %s:"
+
+#, c-format
+msgid "line %4ld:"
+msgstr "wiersz %4ld:"
+
+#, c-format
+msgid "E354: Invalid register name: '%s'"
+msgstr "E354: Niewłaściwa nazwa rejestru: '%s'"
+
+msgid "Messages maintainer: Bram Moolenaar <Bram@vim.org>"
+msgstr "Opiekun komunikatów: Mikołaj Machowski <mikmach@wp.pl>"
+
+msgid "Interrupt: "
+msgstr "Przerwanie: "
+
+msgid "Press ENTER or type command to continue"
+msgstr "Naciśnij ENTER lub wprowadź komendę aby kontynuować"
+
+#, c-format
+msgid "%s line %ld"
+msgstr "%s wiersz %ld"
+
+msgid "-- More --"
+msgstr "-- Więcej --"
+
+msgid " SPACE/d/j: screen/page/line down, b/u/k: up, q: quit "
+msgstr " SPACE/d/j: ekran/strona/wiersz w dół, b/u/k: do góry, q: zakończ"
+
+msgid "Question"
+msgstr "Pytanie"
+
+msgid ""
+"&Yes\n"
+"&No"
+msgstr ""
+"&Tak\n"
+"&Nie"
+
+msgid ""
+"&Yes\n"
+"&No\n"
+"Save &All\n"
+"&Discard All\n"
+"&Cancel"
+msgstr ""
+"&Tak\n"
+"&Nie\n"
+"Zapisz &wszystkie\n"
+"&Odrzuć wszystkie\n"
+"&Zakończ"
+
+msgid "Select Directory dialog"
+msgstr "Dialog wyboru katalogu"
+
+msgid "Save File dialog"
+msgstr "Dialog zapisywania pliku"
+
+msgid "Open File dialog"
+msgstr "Dialog otwierania pliku"
+
+#. TODO: non-GUI file selector here
+msgid "E338: Sorry, no file browser in console mode"
+msgstr "E338: Przykro mi, nie ma przeglądarki plików w trybie konsoli"
+
+msgid "E766: Insufficient arguments for printf()"
+msgstr "E766: Za mało argumentów dla printf()"
+
+msgid "E767: Too many arguments to printf()"
+msgstr "E767: Za dużo argumentów dla printf()"
+
+msgid "W10: Warning: Changing a readonly file"
+msgstr "W10: OSTRZEŻENIE: Zmiany w pliku tylko do odczytu"
+
+msgid "Type number or click with mouse (<Enter> cancels): "
+msgstr "Wpisz numer lub wybierz myszą (<Enter> anuluje): "
+
+msgid "Choice number (<Enter> cancels): "
+msgstr "Wybierz numer (<Enter> anuluje): "
+
+msgid "1 more line"
+msgstr "1 wiersz więcej"
+
+msgid "1 line less"
+msgstr "1 wiersz mniej"
+
+#, c-format
+msgid "%ld more lines"
+msgstr "dodano %ld wierszy"
+
+#, c-format
+msgid "%ld fewer lines"
+msgstr "usunięto %ld wierszy"
+
+msgid " (Interrupted)"
+msgstr " (Przerwane)"
+
+msgid "Beep!"
+msgstr "Biiip!"
+
+msgid "Vim: preserving files...\n"
+msgstr "Vim: zachowuję plik...\n"
+
+#. close all memfiles, without deleting
+msgid "Vim: Finished.\n"
+msgstr "Vim: Zakończono.\n"
+
+#, c-format
+msgid "ERROR: "
+msgstr "BŁĄD: "
+
+#, c-format
+msgid ""
+"\n"
+"[bytes] total alloc-freed %lu-%lu, in use %lu, peak use %lu\n"
+msgstr ""
+"\n"
+"[bajtów] totalne alokacje-zwolnienia %lu-%lu, w użytku %lu, maksymalne "
+"użycie %lu\n"
+
+#, c-format
+msgid ""
+"[calls] total re/malloc()'s %lu, total free()'s %lu\n"
+"\n"
+msgstr ""
+"[wywołania] wszystkich re/malloc()-ów %lu, wszystkich free()-ów %lu\n"
+"\n"
+
+msgid "E340: Line is becoming too long"
+msgstr "E340: Wiersz staje się zbyt długi"
+
+#, c-format
+msgid "E341: Internal error: lalloc(%ld, )"
+msgstr "E341: Wewnętrzny błąd: lalloc(%ld, )"
+
+#, c-format
+msgid "E342: Out of memory!  (allocating %lu bytes)"
+msgstr "E342: Brak pamięci!  (rezerwacja %lu bajtów)"
+
+#, c-format
+msgid "Calling shell to execute: \"%s\""
+msgstr "Wywołuję powłokę do wykonania: \"%s\""
+
+msgid "E545: Missing colon"
+msgstr "E545: Brak dwukropka"
+
+msgid "E546: Illegal mode"
+msgstr "E546: Niedozwolony tryb"
+
+msgid "E547: Illegal mouseshape"
+msgstr "E547: Niedozwolony obrys myszki"
+
+msgid "E548: digit expected"
+msgstr "E548: oczekiwano cyfry"
+
+msgid "E549: Illegal percentage"
+msgstr "E459: Niedozwolony procent"
+
+msgid "Enter encryption key: "
+msgstr "Wprowadź klucz do odkodowania: "
+
+msgid "Enter same key again: "
+msgstr "Wprowadź ponownie ten sam klucz: "
+
+msgid "Keys don't match!"
+msgstr "Klucze nie pasują do siebie!"
+
+#, c-format
+msgid ""
+"E343: Invalid path: '**[number]' must be at the end of the path or be "
+"followed by '%s'."
+msgstr ""
+"E343: Niewłaściwy trop: '**[numer]' musi być na końcu tropu lub po nim musi "
+"być '%s'."
+
+#, c-format
+msgid "E344: Can't find directory \"%s\" in cdpath"
+msgstr "E344: Nie mogę znaleźć katalogu \"%s\" w cdpath"
+
+#, c-format
+msgid "E345: Can't find file \"%s\" in path"
+msgstr "E345: Nie mogę znaleźć pliku \"%s\" w tropie"
+
+#, c-format
+msgid "E346: No more directory \"%s\" found in cdpath"
+msgstr "E346: Katalogu \"%s\" nie ma więcej w cdpath"
+
+#, c-format
+msgid "E347: No more file \"%s\" found in path"
+msgstr "E347: Pliku \"%s\" nie ma więcej w tropie"
+
+#. Get here when the server can't be found.
+msgid "Cannot connect to Netbeans #2"
+msgstr "Nie można połączyć z Netbeans #2"
+
+msgid "Cannot connect to Netbeans"
+msgstr "Nie można połączyć z Netbeans"
+
+#, c-format
+msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\""
+msgstr "E668: Błędny tryb dostępu pliku info połączenia NetBeans: \"%s\""
+
+msgid "read from Netbeans socket"
+msgstr "odczyt z gniazda Netbeans"
+
+#, c-format
+msgid "E658: NetBeans connection lost for buffer %ld"
+msgstr "E658: Bufor %ld utracił połączenie z NetBeans"
+
+msgid "E505: "
+msgstr "E505: "
+
+msgid "E774: 'operatorfunc' is empty"
+msgstr "E774: 'operatorfunc' jest pusta"
+
+msgid "E775: Eval feature not available"
+msgstr "E775: Funkcjonalność eval nie jest dostępna"
+
+msgid "Warning: terminal cannot highlight"
+msgstr "OSTRZEŻENIE: terminal nie wykonuje podświetlania"
+
+msgid "E348: No string under cursor"
+msgstr "E348: Brak ciągu pod kursorem"
+
+msgid "E349: No identifier under cursor"
+msgstr "E349: Brak identyfikatora pod kursorem"
+
+msgid "E352: Cannot erase folds with current 'foldmethod'"
+msgstr "E352: Nie mogę skasować zwinięcia z bieżącą 'foldmethod'"
+
+msgid "E664: changelist is empty"
+msgstr "E664: lista zmian (changelist) jest pusta"
+
+msgid "E662: At start of changelist"
+msgstr "E662: Na początku listy zmian"
+
+msgid "E663: At end of changelist"
+msgstr "E663: Na końcu listy zmian"
+
+msgid "Type  :quit<Enter>  to exit Vim"
+msgstr "wprowadź  :quit<Enter>    zakończenie programu"
+
+#, c-format
+msgid "1 line %sed 1 time"
+msgstr "1 wiersz %sed 1 raz"
+
+#, c-format
+msgid "1 line %sed %d times"
+msgstr "1 wiersz %sed %d razy"
+
+#, c-format
+msgid "%ld lines %sed 1 time"
+msgstr "%ld wierszy %sed 1 raz"
+
+#, c-format
+msgid "%ld lines %sed %d times"
+msgstr "%ld wierszy %sed %d razy"
+
+#, c-format
+msgid "%ld lines to indent... "
+msgstr "%ld wierszy do wcięcia... "
+
+msgid "1 line indented "
+msgstr "1 wiersz wcięty "
+
+#, c-format
+msgid "%ld lines indented "
+msgstr "%ld wierszy wciętych "
+
+msgid "E748: No previously used register"
+msgstr "E748: Brak poprzednio użytego rejestru"
+
+#. must display the prompt
+msgid "cannot yank; delete anyway"
+msgstr "nie mogę skopiować, mimo to kasuję"
+
+msgid "1 line changed"
+msgstr "1 wiersz zmieniono"
+
+#, c-format
+msgid "%ld lines changed"
+msgstr "%ld wierszy zmieniono"
+
+#, c-format
+msgid "freeing %ld lines"
+msgstr "zwalniam %ld wierszy"
+
+msgid "block of 1 line yanked"
+msgstr "skopiowano blok 1 wiersza"
+
+msgid "1 line yanked"
+msgstr "1 wiersz skopiowano"
+
+#, c-format
+msgid "block of %ld lines yanked"
+msgstr "%ld wierszy skopiowanych"
+
+#, c-format
+msgid "%ld lines yanked"
+msgstr "%ld wierszy skopiowanych"
+
+#, c-format
+msgid "E353: Nothing in register %s"
+msgstr "E353: Pusty rejestr %s"
+
+#. Highlight title
+msgid ""
+"\n"
+"--- Registers ---"
+msgstr ""
+"\n"
+"--- Rejestry ---"
+
+msgid "Illegal register name"
+msgstr "Niedozwolona nazwa rejestru"
+
+#, c-format
+msgid ""
+"\n"
+"# Registers:\n"
+msgstr ""
+"\n"
+"# Rejestry:\n"
+
+#, c-format
+msgid "E574: Unknown register type %d"
+msgstr "E574: Nieznany typ rejestru %d"
+
+#, c-format
+msgid "%ld Cols; "
+msgstr "%ld Kolumn; "
+
+#, c-format
+msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes"
+msgstr "Wybrano %s%ld z %ld Wierszy; %ld z %ld Słów; %ld z %ld Bajtów"
+
+#, c-format
+msgid ""
+"Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Chars; %ld of %ld "
+"Bytes"
+msgstr ""
+"Wybrano %s%ld z %ld Wierszy; %ld z %ld Słów; %ld z %ld Znaków; %ld z %ld "
+"Bajtów"
+
+#, c-format
+msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld"
+msgstr "Kol %s z %s; Wiersz %ld z %ld; Słowo %ld z %ld; Bajt %ld z %ld"
+
+#, c-format
+msgid ""
+"Col %s of %s; Line %ld of %ld; Word %ld of %ld; Char %ld of %ld; Byte %ld of "
+"%ld"
+msgstr ""
+"Kol %s z %s; Wiersz %ld z %ld; Słowo %ld z %ld; Znak %ld z %ld; Bajt %ld z %"
+"ld"
+
+#, c-format
+msgid "(+%ld for BOM)"
+msgstr "(+%ld dla BOM)"
+
+msgid "%<%f%h%m%=Page %N"
+msgstr "%<%f%h%m%=Strona %N"
+
+msgid "Thanks for flying Vim"
+msgstr "Dzięki za lot Vimem"
+
+msgid "E518: Unknown option"
+msgstr "E518: Nieznana opcja"
+
+msgid "E519: Option not supported"
+msgstr "E519: Opcja nie jest wspomagana"
+
+msgid "E520: Not allowed in a modeline"
+msgstr "E520: Niedozwolone w modeline"
+
+msgid "E521: Number required after ="
+msgstr "E521: Po = wymagany jest numer"
+
+msgid "E522: Not found in termcap"
+msgstr "E522: Nie znaleziono w termcap"
+
+#, c-format
+msgid "E539: Illegal character <%s>"
+msgstr "E539: Niedozwolony znak <%s>"
+
+msgid "E529: Cannot set 'term' to empty string"
+msgstr "E529: Nie mogę ustawić 'term' na pusty ciąg"
+
+msgid "E530: Cannot change term in GUI"
+msgstr "E530: Nie mogę zmienić term w GUI"
+
+msgid "E531: Use \":gui\" to start the GUI"
+msgstr "E531: Użyj \":gui\" do odpalenia GUI"
+
+msgid "E589: 'backupext' and 'patchmode' are equal"
+msgstr "E589: 'backupext' i 'patchmode' są tożsame"
+
+msgid "E617: Cannot be changed in the GTK+ 2 GUI"
+msgstr "E617: Nie mogę zmienić w GTK+2 GUI"
+
+msgid "E524: Missing colon"
+msgstr "E524: Brak dwukropka"
+
+msgid "E525: Zero length string"
+msgstr "E525: Ciąg o zerowej długości"
+
+#, c-format
+msgid "E526: Missing number after <%s>"
+msgstr "E526: Brak numeru po <%s>"
+
+msgid "E527: Missing comma"
+msgstr "E527: Brak przecinka"
+
+msgid "E528: Must specify a ' value"
+msgstr "E528: Musi określać wartość '"
+
+msgid "E595: contains unprintable or wide character"
+msgstr "E595: zawiera niewyświetlalny lub szeroki znak"
+
+msgid "E596: Invalid font(s)"
+msgstr "E596: Niedozwolona czcionka/ki"
+
+msgid "E597: can't select fontset"
+msgstr "E597: nie mogę wybrać zestawu czcionek"
+
+msgid "E598: Invalid fontset"
+msgstr "E598: Niedozwolony zestaw czcionek"
+
+msgid "E533: can't select wide font"
+msgstr "E533: nie mogę wybrać szerokiej czcionki"
+
+msgid "E534: Invalid wide font"
+msgstr "E534: Niedozwolona szeroka czcionka"
+
+#, c-format
+msgid "E535: Illegal character after <%c>"
+msgstr "E535: Niedozwolony znak po <%c>"
+
+msgid "E536: comma required"
+msgstr "E536: wymagany przecinek"
+
+#, c-format
+msgid "E537: 'commentstring' must be empty or contain %s"
+msgstr "E537: 'commentstring' musi być pusty lub zawierać %s"
+
+msgid "E538: No mouse support"
+msgstr "E538: Brak wspomagania myszki"
+
+msgid "E540: Unclosed expression sequence"
+msgstr "E540: Niedomknięty ciąg wyrażeń"
+
+msgid "E541: too many items"
+msgstr "E541: zbyt wiele elementów"
+
+msgid "E542: unbalanced groups"
+msgstr "E542: niezbalansowane grupy"
+
+msgid "E590: A preview window already exists"
+msgstr "E590: okno podglądu już istnieje"
+
+msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'"
+msgstr "W17: Arabski wymaga UTF-8, zrób ':set encoding=utf-8'"
+
+#, c-format
+msgid "E593: Need at least %d lines"
+msgstr "E593: Potrzebuję przynajmniej %d wierszy"
+
+#, c-format
+msgid "E594: Need at least %d columns"
+msgstr "E594: Potrzebuję przynajmniej %d kolumn"
+
+#, c-format
+msgid "E355: Unknown option: %s"
+msgstr "E355: Nieznana opcja: %s"
+
+msgid ""
+"\n"
+"--- Terminal codes ---"
+msgstr ""
+"\n"
+"--- Kody terminala ---"
+
+msgid ""
+"\n"
+"--- Global option values ---"
+msgstr ""
+"\n"
+"--- Globalne wartości opcji ---"
+
+msgid ""
+"\n"
+"--- Local option values ---"
+msgstr ""
+"\n"
+"--- Lokalne wartości opcji ---"
+
+msgid ""
+"\n"
+"--- Options ---"
+msgstr ""
+"\n"
+"--- Opcje ---"
+
+msgid "E356: get_varp ERROR"
+msgstr "E356: BŁĄD get_varp"
+
+#, c-format
+msgid "E357: 'langmap': Matching character missing for %s"
+msgstr "E357: 'langmap': Brak pasującego znaku dla %s"
+
+#, c-format
+msgid "E358: 'langmap': Extra characters after semicolon: %s"
+msgstr "E358: 'langmap': Dodatkowe znaki po średniku: %s"
+
+msgid "cannot open "
+msgstr "nie mogę otworzyć "
+
+msgid "VIM: Can't open window!\n"
+msgstr "VIM: Nie mogę otworzyć okna!\n"
+
+msgid "Need Amigados version 2.04 or later\n"
+msgstr "Potrzebuję Amigados w wersji 2.04 lub późniejszą\n"
+
+#, c-format
+msgid "Need %s version %ld\n"
+msgstr "Potrzebuję %s w wersji %ld\n"
+
+msgid "Cannot open NIL:\n"
+msgstr "Nie mogę otworzyć NIL:\n"
+
+msgid "Cannot create "
+msgstr "Nie mogę stworzyć "
+
+#, c-format
+msgid "Vim exiting with %d\n"
+msgstr "Vim kończy pracę z %d\n"
+
+msgid "cannot change console mode ?!\n"
+msgstr "nie mogę zmienić trybu konsoli ?!\n"
+
+msgid "mch_get_shellsize: not a console??\n"
+msgstr "mch_get_shellsize: nie jest konsolą??\n"
+
+#. if Vim opened a window: Executing a shell may cause crashes
+msgid "E360: Cannot execute shell with -f option"
+msgstr "E360: Nie mogę wykonać powłoki z opcją -f"
+
+msgid "Cannot execute "
+msgstr "Nie mogę wykonać "
+
+msgid "shell "
+msgstr "powłoka "
+
+msgid " returned\n"
+msgstr " zwrócił\n"
+
+msgid "ANCHOR_BUF_SIZE too small."
+msgstr "ANCHOR_BUF_SIZE zbyt niskie."
+
+msgid "I/O ERROR"
+msgstr "BŁĄD I/O"
+
+msgid "...(truncated)"
+msgstr "...(obcięty)"
+
+msgid "Message"
+msgstr "Wiadomość"
+
+msgid "'columns' is not 80, cannot execute external commands"
+msgstr "'columns' nie wynosi 80, nie mogę wykonać zewnętrznych komend"
+
+msgid "E237: Printer selection failed"
+msgstr "E237: Wybór drukarki nie powiódł się"
+
+#, c-format
+msgid "to %s on %s"
+msgstr "do %s z %s"
+
+#, c-format
+msgid "E613: Unknown printer font: %s"
+msgstr "E613: Nieznana czcionka drukarki: %s"
+
+#, c-format
+msgid "E238: Print error: %s"
+msgstr "E238: Błąd drukarki: %s"
+
+#, c-format
+msgid "Printing '%s'"
+msgstr "Wydrukowano '%s'"
+
+#, c-format
+msgid "E244: Illegal charset name \"%s\" in font name \"%s\""
+msgstr "E244: Niedozwolona nazwa zestawu znaków \"%s\" w nazwie czcionki \"%s\""
+
+#, c-format
+msgid "E245: Illegal char '%c' in font name \"%s\""
+msgstr "E245: Niedozwolony znak '%c' w nazwie czcionki \"%s\""
+
+msgid "E366: Invalid 'osfiletype' option - using Text"
+msgstr "E366: Niewłaściwa opcja 'osfiletype' - używam Text"
+
+msgid "Vim: Double signal, exiting\n"
+msgstr "Vim: Podwójny sygnał, wychodzę\n"
+
+#, c-format
+msgid "Vim: Caught deadly signal %s\n"
+msgstr "Vim: Załapał śmiertelny sygnał %s\n"
+
+#, c-format
+msgid "Vim: Caught deadly signal\n"
+msgstr "Vim: Załapał śmiertelny sygnał\n"
+
+#, c-format
+msgid "Opening the X display took %ld msec"
+msgstr "Otwieranie ekranu X trwało %ld msec"
+
+msgid ""
+"\n"
+"Vim: Got X error\n"
+msgstr ""
+"\n"
+"Vim: Dostał błąd X\n"
+
+msgid "Testing the X display failed"
+msgstr "Test ekranu X nie powiódł się"
+
+msgid "Opening the X display timed out"
+msgstr "Próba otwarcia ekranu X trwała zbyt długo"
+
+msgid ""
+"\n"
+"Cannot execute shell "
+msgstr ""
+"\n"
+"Nie mogę wykonać powłoki "
+
+msgid ""
+"\n"
+"Cannot execute shell sh\n"
+msgstr ""
+"\n"
+"Nie mogę wykonać powłoki sh\n"
+
+msgid ""
+"\n"
+"shell returned "
+msgstr ""
+"\n"
+"powłoka zwróciła "
+
+msgid ""
+"\n"
+"Cannot create pipes\n"
+msgstr ""
+"\n"
+"Nie mogę stworzyć potoków\n"
+
+msgid ""
+"\n"
+"Cannot fork\n"
+msgstr ""
+"\n"
+"Nie mogę rozdzielić się\n"
+
+msgid ""
+"\n"
+"Command terminated\n"
+msgstr ""
+"\n"
+"Komenda zakończona\n"
+
+msgid "XSMP lost ICE connection"
+msgstr "XSMP stracił połączenie ICE"
+
+#, c-format
+msgid "dlerror = \"%s\""
+msgstr "dlerror = \"%s\""
+
+msgid "Opening the X display failed"
+msgstr "Otwarcie ekranu X nie powiodło się"
+
+msgid "XSMP handling save-yourself request"
+msgstr "XSMP obsługuje żądanie samozapisu"
+
+msgid "XSMP opening connection"
+msgstr "XSMP otwiera połączenie"
+
+msgid "XSMP ICE connection watch failed"
+msgstr "Obserwacja połączenia XSMP ICE nie powiodła się"
+
+#, c-format
+msgid "XSMP SmcOpenConnection failed: %s"
+msgstr "XSMP SmcOpenConnection nie powiodło się: %s"
+
+msgid "At line"
+msgstr "W wierszu"
+
+msgid "Could not load vim32.dll!"
+msgstr "Nie mogę załadować vim32.dll!"
+
+msgid "VIM Error"
+msgstr "Błąd VIM"
+
+msgid "Could not fix up function pointers to the DLL!"
+msgstr "Nie zdołałem poprawić wskaźników funkcji w DLL!"
+
+#, c-format
+msgid "shell returned %d"
+msgstr "powłoka zwróciła %d"
+
+#, c-format
+msgid "Vim: Caught %s event\n"
+msgstr "Vim: Załapał wydarzenie %s\n"
+
+msgid "close"
+msgstr "zamknij"
+
+msgid "logoff"
+msgstr "wyloguj"
+
+msgid "shutdown"
+msgstr "zakończ"
+
+msgid "E371: Command not found"
+msgstr "E371: Nie znaleziono komendy"
+
+msgid ""
+"VIMRUN.EXE not found in your $PATH.\n"
+"External commands will not pause after completion.\n"
+"See  :help win32-vimrun  for more information."
+msgstr ""
+"VIMRUN.EXE nie znaleziono w twoim $PATH.\n"
+"Zewnętrzne komendy nie będą wstrzymane po wykonaniu.\n"
+"Zobacz  :help wim32-vimrun  aby otrzymać więcej informacji."
+
+msgid "Vim Warning"
+msgstr "Vim Ostrzeżenie"
+
+#, c-format
+msgid "E372: Too many %%%c in format string"
+msgstr "E372: Zbyt wiele %%%c w ciągu formatującym"
+
+#, c-format
+msgid "E373: Unexpected %%%c in format string"
+msgstr "E373: Nieoczekiwane %%%c w ciągu formatującym"
+
+msgid "E374: Missing ] in format string"
+msgstr "E374: Brak ] w ciągu formatującym"
+
+#, c-format
+msgid "E375: Unsupported %%%c in format string"
+msgstr "E375: Niewspomagane %%%c w ciągu formatującym"
+
+#, c-format
+msgid "E376: Invalid %%%c in format string prefix"
+msgstr "E376: Niepoprawne %%%c w prefiksie ciągu formatującego"
+
+#, c-format
+msgid "E377: Invalid %%%c in format string"
+msgstr "E377: Niepoprawne %%%c w ciągu formatującym"
+
+msgid "E378: 'errorformat' contains no pattern"
+msgstr "E378: 'errorformat' nie zawiera wzorca"
+
+msgid "E379: Missing or empty directory name"
+msgstr "E379: Pusta nazwa katalogu lub jej brak"
+
+msgid "E553: No more items"
+msgstr "E553: Nie ma więcej elementów"
+
+#, c-format
+msgid "(%d of %d)%s%s: "
+msgstr "(%d z %d)%s%s: "
+
+msgid " (line deleted)"
+msgstr " (wiersz skasowany)"
+
+msgid "E380: At bottom of quickfix stack"
+msgstr "E380: Na dole stosu quickfix"
+
+msgid "E381: At top of quickfix stack"
+msgstr "E381: Na górze stosu quickfix"
+
+#, c-format
+msgid "error list %d of %d; %d errors"
+msgstr "lista błędów %d z %d; %d błędów"
+
+msgid "E382: Cannot write, 'buftype' option is set"
+msgstr "E382: Nie mogę zapisać, opcja 'buftype' jest ustawiona"
+
+msgid "E683: File name missing or invalid pattern"
+msgstr "E683: Brak nazwy pliku lub niewłaściwa ścieżka"
+
+#, c-format
+msgid "Cannot open file \"%s\""
+msgstr "Nie mogę otworzyć pliku \"%s\""
+
+msgid "E681: Buffer is not loaded"
+msgstr "E681: Bufor nie jest załadowany"
+
+msgid "E777: String or List expected"
+msgstr "E777: Oczekiwano łańcucha lub listy"
+
+#, c-format
+msgid "E369: invalid item in %s%%[]"
+msgstr "E369: Niewłaściwy element w %s%%[]"
+
+msgid "E339: Pattern too long"
+msgstr "E339: Zbyt długi wzorzec"
+
+msgid "E50: Too many \\z("
+msgstr "E50: Zbyt wiele \\z("
+
+#, c-format
+msgid "E51: Too many %s("
+msgstr "E51: Zbyt wiele %s("
+
+msgid "E52: Unmatched \\z("
+msgstr "E52: Niesparowany \\z("
+
+#, c-format
+msgid "E53: Unmatched %s%%("
+msgstr "E53: Niesparowany %s%%("
+
+#, c-format
+msgid "E54: Unmatched %s("
+msgstr "E54: Niesparowany %s("
+
+#, c-format
+msgid "E55: Unmatched %s)"
+msgstr "E55: Niesparowany %s)"
+
+#, c-format
+msgid "E59: invalid character after %s@"
+msgstr "E59: niedozwolony znak po %s@"
+
+#, c-format
+msgid "E60: Too many complex %s{...}s"
+msgstr "E60: Zbyt wiele złożonych %s{...}"
+
+#, c-format
+msgid "E61: Nested %s*"
+msgstr "E61: Zagnieżdżone %s*"
+
+#, c-format
+msgid "E62: Nested %s%c"
+msgstr "E62: Zagnieżdżone %s%c"
+
+msgid "E63: invalid use of \\_"
+msgstr "E63: Niedozwolone użycie \\_"
+
+#, c-format
+msgid "E64: %s%c follows nothing"
+msgstr "E64: %s%c po niczym"
+
+msgid "E65: Illegal back reference"
+msgstr "E65: Niewłaściwe odwołanie wsteczne"
+
+msgid "E66: \\z( not allowed here"
+msgstr "E66: \\z( jest niedozwolone w tym miejscu"
+
+msgid "E67: \\z1 et al. not allowed here"
+msgstr "E67: \\z1 i podobne są niedozwolone w tym miejscu"
+
+msgid "E68: Invalid character after \\z"
+msgstr "E68: niedopuszczalny znak po \\z"
+
+#, c-format
+msgid "E69: Missing ] after %s%%["
+msgstr "E69: Brak ] po %s%%["
+
+#, c-format
+msgid "E70: Empty %s%%[]"
+msgstr "E70: Pusty %s%%[]"
+
+#, c-format
+msgid "E678: Invalid character after %s%%[dxouU]"
+msgstr "E678: Niedozwolony znak po %s%%[dxouU]"
+
+#, c-format
+msgid "E71: Invalid character after %s%%"
+msgstr "E71: Niedozwolony znak po %s%%"
+
+#, c-format
+msgid "E769: Missing ] after %s["
+msgstr "E769: Brak ] po %s["
+
+#, c-format
+msgid "E554: Syntax error in %s{...}"
+msgstr "E554: Błąd składni w %s{...}"
+
+msgid "External submatches:\n"
+msgstr "Zewnętrzne poddopasowania:\n"
+
+msgid " VREPLACE"
+msgstr " V-ZAMIANA"
+
+msgid " REPLACE"
+msgstr " ZAMIANA"
+
+msgid " REVERSE"
+msgstr " NEGATYW"
+
+msgid " INSERT"
+msgstr " WPROWADZANIE"
+
+msgid " (insert)"
+msgstr " (wprowadzanie)"
+
+msgid " (replace)"
+msgstr " (zamiana)"
+
+msgid " (vreplace)"
+msgstr " (v-zamiana)"
+
+msgid " Hebrew"
+msgstr " Hebrajski"
+
+msgid " Arabic"
+msgstr " Arabski"
+
+msgid " (lang)"
+msgstr " (język)"
+
+msgid " (paste)"
+msgstr " (wklejanie)"
+
+msgid " VISUAL"
+msgstr " WIZUALNY"
+
+msgid " VISUAL LINE"
+msgstr " WIZUALNY LINIOWY"
+
+msgid " VISUAL BLOCK"
+msgstr " WIZUALNY BLOKOWY"
+
+msgid " SELECT"
+msgstr " ZAZNACZANIE"
+
+msgid " SELECT LINE"
+msgstr " ZAZNACZANIE LINIOWE"
+
+msgid " SELECT BLOCK"
+msgstr " ZAZNACZANIE BLOKOWE"
+
+msgid "recording"
+msgstr "zapis"
+
+#, c-format
+msgid "E383: Invalid search string: %s"
+msgstr "E383: Niewłaściwy ciąg do szukania: %s"
+
+#, c-format
+msgid "E384: search hit TOP without match for: %s"
+msgstr "E384: szukanie dobiło GÓRY bez znalezienia: %s"
+
+#, c-format
+msgid "E385: search hit BOTTOM without match for: %s"
+msgstr "E385: szukanie dobiło KOŃCA bez znalezienia : %s"
+
+msgid "E386: Expected '?' or '/'  after ';'"
+msgstr "E386: Oczekuję '?' lub '/' po ';'"
+
+msgid " (includes previously listed match)"
+msgstr " (zawiera poprzednio wymienione dopasowanie)"
+
+#. cursor at status line
+msgid "--- Included files "
+msgstr "--- Zawarte pliki "
+
+msgid "not found "
+msgstr "nie znaleziono"
+
+msgid "in path ---\n"
+msgstr "w tropie ---\n"
+
+msgid "  (Already listed)"
+msgstr "  (Już wymienione)"
+
+msgid "  NOT FOUND"
+msgstr "  NIE ZNALEZIONO"
+
+#, c-format
+msgid "Scanning included file: %s"
+msgstr "Przegląd włączonego pliku: %s"
+
+#, c-format
+msgid "Searching included file %s"
+msgstr "Przeszukiwanie włączonego pliku %s"
+
+msgid "E387: Match is on current line"
+msgstr "E387: Wzorzec pasuje w bieżącym wierszu"
+
+msgid "All included files were found"
+msgstr "Wszelkie włączane pliki odnaleziono"
+
+msgid "No included files"
+msgstr "Brak włączanych plików"
+
+msgid "E388: Couldn't find definition"
+msgstr "E388: Nie znalazłem definicji"
+
+msgid "E389: Couldn't find pattern"
+msgstr "E389: Nie znalazłem wzorca"
+
+msgid "E759: Format error in spell file"
+msgstr "E759: Nieprawidłowy format pliku sprawdzania pisowni"
+
+msgid "E758: Truncated spell file"
+msgstr "E758: Obcięty plik sprawdzania pisowni"
+
+#, c-format
+msgid "Trailing text in %s line %d: %s"
+msgstr "Zbędny tekst w %s wiersz %d: %s"
+
+#, c-format
+msgid "Affix name too long in %s line %d: %s"
+msgstr "Za długa nazwa afiksu w %s wiersz %d: %s"
+
+msgid "E761: Format error in affix file FOL, LOW or UPP"
+msgstr "E761: Błąd formatu w pliku afiksów FOL, LOW lub UPP"
+
+msgid "E762: Character in FOL, LOW or UPP is out of range"
+msgstr "E762: Znak w FOL, LOW lub UPP jest poza zasięgiem"
+
+msgid "Compressing word tree..."
+msgstr "Kompresja drzewa słów..."
+
+msgid "E756: Spell checking is not enabled"
+msgstr "E756: Sprawdzanie pisowni nie jest włączone"
+
+#, c-format
+msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
+msgstr "Ostrzeżenie: Nie mogę znaleźć listy słów \"%s.%s.spl\" lub \"%s.ascii.spl\""
+
+#, c-format
+msgid "Reading spell file \"%s\""
+msgstr "Odczytuję plik sprawdzania pisowni \"%s\""
+
+msgid "E757: This does not look like a spell file"
+msgstr "E757: To nie wygląda na plik sprawdzania pisowni"
+
+msgid "E771: Old spell file, needs to be updated"
+msgstr "E771: Stary plik sprawdzania pisowni, wymagane uaktualnienie"
+
+msgid "E772: Spell file is for newer version of Vim"
+msgstr "E772: Plik sprawdzania pisowni dla nowszej wersji Vima"
+
+msgid "E770: Unsupported section in spell file"
+msgstr "E770: Niewspierana sekcja w pliku sprawdzania pisowni"
+
+#, c-format
+msgid "Warning: region %s not supported"
+msgstr "Ostrzeżenie: region %s nie jest wspierany"
+
+#, c-format
+msgid "Reading affix file %s ..."
+msgstr "Czytam plik afiksów %s ..."
+
+#, c-format
+msgid "Conversion failure for word in %s line %d: %s"
+msgstr "Konwersja nie powiodła się dla wyrazu w %s wierszu %d: %s"
+
+#, c-format
+msgid "Conversion in %s not supported: from %s to %s"
+msgstr "Konwersja w %s nie jest wspierana: od %s do %s"
+
+#, c-format
+msgid "Conversion in %s not supported"
+msgstr "Konwersja w %s nie jest wspierana"
+
+#, c-format
+msgid "Invalid value for FLAG in %s line %d: %s"
+msgstr "Nieprawidłowa wartość FLAG w %s wierz %d: %s"
+
+#, c-format
+msgid "FLAG after using flags in %s line %d: %s"
+msgstr "FLAG po użyciu flag w %s wiersz %d: %s"
+
+#, c-format
+msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s"
+msgstr "Zła wartość COMPOUNDWORDMAX w %s wiersz %d: %s"
+
+#, c-format
+msgid "Wrong COMPOUNDMIN value in %s line %d: %s"
+msgstr "Zła wartość COMPOUNDMIM w %s wiersz %d: %s"
+
+#, c-format
+msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s"
+msgstr "Zła wartość COMPOUNDSYLMAX w %s wiersz %d: %s"
+
+#, c-format
+msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s"
+msgstr "Zła wartość CHECKCOMPOUNDPATTERN w %s wiersz %d: %s"
+
+#, c-format
+msgid "Different combining flag in continued affix block in %s line %d: %s"
+msgstr "Różne flagi złożeń w kontynuowanym bloku afiksu w %s wiersz %d: %s"
+
+#, c-format
+msgid "Duplicate affix in %s line %d: %s"
+msgstr "Powtórzony afiks w %s wiersz %d: %s"
+
+#, c-format
+msgid ""
+"Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s "
+"line %d: %s"
+msgstr "Afiks użyty także dla BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST w %s wiersz %d: %s"
+
+#, c-format
+msgid "Expected Y or N in %s line %d: %s"
+msgstr "Oczekiwano Y lub N w %s wierszu %d: %s"
+
+#, c-format
+msgid "Broken condition in %s line %d: %s"
+msgstr "Błędny warunek w %s wiersz %d: %s"
+
+#, c-format
+msgid "Affix flags ignored when PFXPOSTPONE used in %s line %d: %s"
+msgstr "Flagi afiksów zignorowane kiedy użyto PFXPOSTPONE w %s wierz %d: %s"
+
+#, c-format
+msgid "Expected REP(SAL) count in %s line %d"
+msgstr "Oczekiwano ilości REP(SAL) w %s wierszu %d"
+
+#, c-format
+msgid "Expected MAP count in %s line %d"
+msgstr "Oczekiwano ilości MAP w %s wierszu %d"
+
+#, c-format
+msgid "Duplicate character in MAP in %s line %d"
+msgstr "Powtórzony znak w MAP w %s wierszu %d"
+
+#, c-format
+msgid "Unrecognized or duplicate item in %s line %d: %s"
+msgstr "Nieznany lub powtórzony element w %s wierszu %d: %s"
+
+#, c-format
+msgid "Missing FOL/LOW/UPP line in %s"
+msgstr "Brak wiersza FOL/LOW/UPP w %s"
+
+msgid "COMPOUNDSYLMAX used without SYLLABLE"
+msgstr "COMPOUNDSYLMAX użyty bez SYLLABLE"
+
+msgid "Too many postponed prefixes"
+msgstr "Zbyt wiele opóźnionych prefiksów"
+
+msgid "Too many compound flags"
+msgstr "Zbyt wiele flag złożeń"
+
+msgid "Too many posponed prefixes and/or compound flags"
+msgstr "Zbyt wiele opóźnionych prefiksów i/lub flag złożeń"
+
+#, c-format
+msgid "Missing SOFO%s line in %s"
+msgstr "Brak wiersza SOFO%s wiersz w %s"
+
+#, c-format
+msgid "Both SAL and SOFO lines in %s"
+msgstr "Wiersze SAL i SOFO w %s"
+
+#, c-format
+msgid "Flag is not a number in %s line %d: %s"
+msgstr "Flaga nie jest liczbą w %s wiersz %d: %s"
+
+#, c-format
+msgid "Illegal flag in %s line %d: %s"
+msgstr "Nieprawidłowa flaga w %s wiersz %d: %s"
+
+#, c-format
+msgid "%s value differs from what is used in another .aff file"
+msgstr "Wartość %s różni się od tej użytej w innym pliku .aff"
+
+#, c-format
+msgid "Reading dictionary file %s ..."
+msgstr "Czytam plik słownika %s ..."
+
+#, c-format
+msgid "E760: No word count in %s"
+msgstr "E760: Brak ilości słów w %s"
+
+#, c-format
+msgid "line %6d, word %6d - %s"
+msgstr "wiersz %6d, słowo %6d - %s"
+
+# c-format
+#, c-format
+msgid "Duplicate word in %s line %d: %s"
+msgstr "Powtórzony wyraz w %s wierszu %d: %s"
+
+# c-format
+#, c-format
+msgid "First duplicate word in %s line %d: %s"
+msgstr "Pierwszy powtórzony wyraz w %s wiersz %d: %s"
+
+# c-format
+#, c-format
+msgid "%d duplicate word(s) in %s"
+msgstr "%d powtórzony(ch) wyraz(ów) w %s"
+
+#, c-format
+msgid "Ignored %d word(s) with non-ASCII characters in %s"
+msgstr "Zignorowałem %d słów ze znakami nie ASCII w %s"
+
+#, c-format
+msgid "Reading word file %s ..."
+msgstr "Odczytuję plik wyrazów %s ..."
+
+#, c-format
+msgid "Duplicate /encoding= line ignored in %s line %d: %s"
+msgstr "Zignorowano powtórzony wiersz /encoding= w %s wierszu %d: %s"
+
+#, c-format
+msgid "/encoding= line after word ignored in %s line %d: %s"
+msgstr "Zignorowano wiersz /encoding= po wyrazie w %s wierszu %d: %s"
+
+#, c-format
+msgid "Duplicate /regions= line ignored in %s line %d: %s"
+msgstr "Powtórzony wiersz /regions= zignorowano w %s wierszu %d: %s"
+
+#, c-format
+msgid "Too many regions in %s line %d: %s"
+msgstr "Za dużo regionów w %s wiersz %d: %s"
+
+#, c-format
+msgid "/ line ignored in %s line %d: %s"
+msgstr "wiersz / zignorowano w %s wierszu %d: %s"
+
+#, c-format
+msgid "Invalid region nr in %s line %d: %s"
+msgstr "Nieprawidłowy numer regionu w %s wierszu %d: %s"
+
+#, c-format
+msgid "Unrecognized flags in %s line %d: %s"
+msgstr "Nieznane flagi w %s wiersz %d: %s"
+
+#, c-format
+msgid "Ignored %d words with non-ASCII characters"
+msgstr "Zignorowałem %d słów ze znakami nie ASCII"
+
+#, c-format
+msgid "Compressed %d of %d nodes; %d (%d%%) remaining"
+msgstr "Skompresowano %d z %d węzłów; pozostaje %d (%d%%)"
+
+msgid "Reading back spell file..."
+msgstr "Odczytuję plik sprawdzania pisowni..."
+
+#.
+#. * Go through the trie of good words, soundfold each word and add it to
+#. * the soundfold trie.
+#.
+msgid "Performing soundfolding..."
+msgstr "Wykonuję kompresję dźwiękową..."
+
+#, c-format
+msgid "Number of words after soundfolding: %ld"
+msgstr "Liczba słów po kompresji dźwiękowej: %ld"
+
+#, c-format
+msgid "Total number of words: %d"
+msgstr "Całkowita liczba słów: %d"
+
+#, c-format
+msgid "Writing suggestion file %s ..."
+msgstr "Zapisuję plik sugestii %s ..."
+
+#, c-format
+msgid "Estimated runtime memory use: %d bytes"
+msgstr "Oczekiwane zużycie pamięci: %d bajtów"
+
+msgid "E751: Output file name must not have region name"
+msgstr "E751: Nazwa pliku wynikowego nie może być nazwą regionu"
+
+msgid "E754: Only up to 8 regions supported"
+msgstr "E754: Wspieram tylko 8 regionów"
+
+#, c-format
+msgid "E755: Invalid region in %s"
+msgstr "E755: Nieprawidłowy region w %s"
+
+msgid "Warning: both compounding and NOBREAK specified"
+msgstr "Ostrzeżenie: określono zarówno złożenia jak i NOBREAK"
+
+#, c-format
+msgid "Writing spell file %s ..."
+msgstr "Zapisuję plik sprawdzania pisowni %s ..."
+
+msgid "Done!"
+msgstr "Zrobione!"
+
+#, c-format
+msgid "E765: 'spellfile' does not have %ld entries"
+msgstr "E765: 'spellfile' nie posiada wpisów %ld"
+
+#, c-format
+msgid "Word removed from %s"
+msgstr "Usunięto słowo z %s"
+
+#, c-format
+msgid "Word added to %s"
+msgstr "Dodano słowo do %s"
+
+msgid "E763: Word characters differ between spell files"
+msgstr "E763: Znaki wyrazów różnią się między plikami sprawdzania pisowni"
+
+msgid "Sorry, no suggestions"
+msgstr "Przykro mi, brak podpowiedzi"
+
+#, c-format
+msgid "Sorry, only %ld suggestions"
+msgstr "Przykro mi, tylko %ld podpowiedzi"
+
+#. avoid more prompt
+#, c-format
+msgid "Change \"%.*s\" to:"
+msgstr "Zmień \"%.*s\" na:"
+
+#, c-format
+msgid " < \"%.*s\""
+msgstr " < \"%.*s\""
+
+msgid "E752: No previous spell replacement"
+msgstr "E752: Brak poprzednich podmian sprawdzania pisowni"
+
+#, c-format
+msgid "E753: Not found: %s"
+msgstr "E753: Nie znaleziono: %s"
+
+#, c-format
+msgid "E778: This does not look like a .sug file: %s"
+msgstr "E778: Ten plik nie wygląda na plik .sug: %s"
+
+#, c-format
+msgid "E779: Old .sug file, needs to be updated: %s"
+msgstr "E779: Stary plik .sug, konieczne jest uaktualnienie: %s"
+
+#, c-format
+msgid "E780: .sug file is for newer version of Vim: %s"
+msgstr "E780: Plik .sug dla nowszej wersji Vima: %s"
+
+#, c-format
+msgid "E781: .sug file doesn't match .spl file: %s"
+msgstr "E781: Plik .sug nie pasuje do pliku .spl: %s"
+
+#, c-format
+msgid "E782: error while reading .sug file: %s"
+msgstr "E782: Błąd w czasie odczytu pliku .sug: %s"
+
+#. This should have been checked when generating the .spl
+#. * file.
+msgid "E783: duplicate char in MAP entry"
+msgstr "E783: Podwojony znak we wpisie MAP"
+
+#, c-format
+msgid "E390: Illegal argument: %s"
+msgstr "E390: Niedozwolony argument: %s"
+
+#, c-format
+msgid "E391: No such syntax cluster: %s"
+msgstr "E391: Nie ma takiego klastra składni: %s"
+
+msgid "No Syntax items defined for this buffer"
+msgstr "Brak elementów składni określonych dla tego bufora"
+
+msgid "syncing on C-style comments"
+msgstr "synchronizacja komentarzy w stylu C"
+
+msgid "no syncing"
+msgstr "brak synchronizacji"
+
+msgid "syncing starts "
+msgstr "początek synchronizacji"
+
+msgid " lines before top line"
+msgstr " wierszy przed górną linią"
+
+msgid ""
+"\n"
+"--- Syntax sync items ---"
+msgstr ""
+"\n"
+"--- Elementy synchronizacji składni ---"
+
+msgid ""
+"\n"
+"syncing on items"
+msgstr ""
+"\n"
+"synchronizuję na elementach"
+
+msgid ""
+"\n"
+"--- Syntax items ---"
+msgstr ""
+"\n"
+"--- Elementy składni ---"
+
+#, c-format
+msgid "E392: No such syntax cluster: %s"
+msgstr "E392: Nie ma takiego klastra składni: %s"
+
+msgid "minimal "
+msgstr "minimalnie "
+
+msgid "maximal "
+msgstr "maksymalnie "
+
+msgid "; match "
+msgstr "; pasuje "
+
+msgid " line breaks"
+msgstr "znaków nowego wiersza"
+
+msgid "E395: contains argument not accepted here"
+msgstr "E395: argument contains niedozwolony w tym miejscu"
+
+msgid "E396: containedin argument not accepted here"
+msgstr "E396: argument containedin niedozwolony w tym miejscu"
+
+msgid "E393: group[t]here not accepted here"
+msgstr "E393: group[t]here niedozwolone w tym miejscu"
+
+#, c-format
+msgid "E394: Didn't find region item for %s"
+msgstr "E394: Nie znalazłem elementów regionu dla %s"
+
+msgid "E397: Filename required"
+msgstr "E397: Wymagana nazwa pliku"
+
+#, c-format
+msgid "E747: Missing ']': %s"
+msgstr "E747: Brak ']': %s"
+
+#, c-format
+msgid "E398: Missing '=': %s"
+msgstr "E398: Brak '=': %s"
+
+#, c-format
+msgid "E399: Not enough arguments: syntax region %s"
+msgstr "E399: Za mało argumentów: syntax region %s"
+
+msgid "E400: No cluster specified"
+msgstr "E400: Brak specyfikacji klastra"
+
+#, c-format
+msgid "E401: Pattern delimiter not found: %s"
+msgstr "E401: Brak ogranicznika wzorca: %s"
+
+#, c-format
+msgid "E402: Garbage after pattern: %s"
+msgstr "E402: Śmieci po wzorcu: %s"
+
+msgid "E403: syntax sync: line continuations pattern specified twice"
+msgstr "E403: syntax sync: wielokrotnie podane wzorce kontynuacji wiersza"
+
+#, c-format
+msgid "E404: Illegal arguments: %s"
+msgstr "E404: Niedozwolone argumenty: %s"
+
+#, c-format
+msgid "E405: Missing equal sign: %s"
+msgstr "E405: Brak znaku równości: %s"
+
+#, c-format
+msgid "E406: Empty argument: %s"
+msgstr "E406: Pusty argument: %s"
+
+#, c-format
+msgid "E407: %s not allowed here"
+msgstr "E407: %s jest niedozwolone w tym miejscu"
+
+#, c-format
+msgid "E408: %s must be first in contains list"
+msgstr "E408: %s musi być pierwsze w liście contains"
+
+#, c-format
+msgid "E409: Unknown group name: %s"
+msgstr "E409: Nieznana nazwa grupy: %s"
+
+#, c-format
+msgid "E410: Invalid :syntax subcommand: %s"
+msgstr "E410: Niewłaściwa podkomenda :syntax : %s"
+
+msgid "E679: recursive loop loading syncolor.vim"
+msgstr "E679: rekursywna pętla wczytująca syncolor.vim"
+
+#, c-format
+msgid "E411: highlight group not found: %s"
+msgstr "E411: nie znaleziono grupy podświetlania: %s"
+
+#, c-format
+msgid "E412: Not enough arguments: \":highlight link %s\""
+msgstr "E412: Zbyt mało argumentów: \":highlight link %s\""
+
+#, c-format
+msgid "E413: Too many arguments: \":highlight link %s\""
+msgstr "E413: Zbyt wiele argumentów: \":highlight link %s\""
+
+msgid "E414: group has settings, highlight link ignored"
+msgstr "E414: grupa ma ustawienia; zignorowane podłączenie podświetlania"
+
+#, c-format
+msgid "E415: unexpected equal sign: %s"
+msgstr "E415: nieoczekiwany znak równości: %s"
+
+#, c-format
+msgid "E416: missing equal sign: %s"
+msgstr "E416: brak znaku równości: %s"
+
+#, c-format
+msgid "E417: missing argument: %s"
+msgstr "E417: brak argumentu: %s"
+
+#, c-format
+msgid "E418: Illegal value: %s"
+msgstr "E418: Niedozwolona wartość: %s"
+
+msgid "E419: FG color unknown"
+msgstr "E419: Kolor FG nieznany"
+
+msgid "E420: BG color unknown"
+msgstr "E420: Kolor BG nieznany"
+
+#, c-format
+msgid "E421: Color name or number not recognized: %s"
+msgstr "E421: Nazwa lub liczba koloru nierozpoznana: %s"
+
+#, c-format
+msgid "E422: terminal code too long: %s"
+msgstr "E422: za długi kod terminala: %s"
+
+#, c-format
+msgid "E423: Illegal argument: %s"
+msgstr "E423: Niedozwolony argument: %s"
+
+msgid "E424: Too many different highlighting attributes in use"
+msgstr "E424: Zbyt wiele różnych atrybutów podkreślania w użyciu"
+
+msgid "E669: Unprintable character in group name"
+msgstr "E669: Niedrukowalny znak w nazwie grupy"
+
+msgid "W18: Invalid character in group name"
+msgstr "W18: nieprawidłowy znak w nazwie grupy"
+
+msgid "E555: at bottom of tag stack"
+msgstr "E555: na dole stosu znaczników"
+
+msgid "E556: at top of tag stack"
+msgstr "E556: na górze stosu znaczników"
+
+msgid "E425: Cannot go before first matching tag"
+msgstr "E425: Nie można przejść przed pierwszy pasujący znacznik"
+
+#, c-format
+msgid "E426: tag not found: %s"
+msgstr "E426: nie znaleziono znacznika: %s"
+
+msgid "  # pri kind tag"
+msgstr "  # pri rodzaj znacznik"
+
+msgid "file\n"
+msgstr "plik\n"
+
+msgid "E427: There is only one matching tag"
+msgstr "E427: Pasuje tylko jeden znacznik"
+
+msgid "E428: Cannot go beyond last matching tag"
+msgstr "E428: Nie można przejść za ostatni pasujący znacznik"
+
+#, c-format
+msgid "File \"%s\" does not exist"
+msgstr "Plik \"%s\" nie istnieje"
+
+#. Give an indication of the number of matching tags
+#, c-format
+msgid "tag %d of %d%s"
+msgstr "znacznik %d z %d%s"
+
+msgid " or more"
+msgstr " lub więcej"
+
+msgid "  Using tag with different case!"
+msgstr "  Używam znacznika o odmiennej wielkości liter!"
+
+#, c-format
+msgid "E429: File \"%s\" does not exist"
+msgstr "E429: Plik \"%s\" nie istnieje"
+
+#. Highlight title
+msgid ""
+"\n"
+"  # TO tag         FROM line  in file/text"
+msgstr ""
+"\n"
+"  # DO znacznik  OD wiersza      w pliku/tekście"
+
+#, c-format
+msgid "Searching tags file %s"
+msgstr "Szukam w pliku znaczników %s"
+
+#, c-format
+msgid "E430: Tag file path truncated for %s\n"
+msgstr "E430: Trop szukania pliku znaczników obcięty dla %s\n"
+
+#, c-format
+msgid "E431: Format error in tags file \"%s\""
+msgstr "E431: Błąd formatu w pliku znaczników \"%s\""
+
+#, c-format
+msgid "Before byte %ld"
+msgstr "Przed bajtem %ld"
+
+#, c-format
+msgid "E432: Tags file not sorted: %s"
+msgstr "E432: Plik znaczników nieuporządkowany: %s"
+
+#. never opened any tags file
+msgid "E433: No tags file"
+msgstr "E433: Brak pliku znaczników"
+
+msgid "E434: Can't find tag pattern"
+msgstr "E434: Nie mogę znaleźć wzorca znacznika"
+
+msgid "E435: Couldn't find tag, just guessing!"
+msgstr "E435: Nie znalazłem znacznika - tylko zgaduję!"
+
+msgid "' not known. Available builtin terminals are:"
+msgstr "' nieznany. Możliwe typy wbudowanych terminali:"
+
+msgid "defaulting to '"
+msgstr "domyślnie jest '"
+
+msgid "E557: Cannot open termcap file"
+msgstr "E557: Nie mogę otworzyć pliku termcap"
+
+msgid "E558: Terminal entry not found in terminfo"
+msgstr "E558: Nie ma opisu takiego terminala w terminfo"
+
+msgid "E559: Terminal entry not found in termcap"
+msgstr "E559: Nie ma opisu takiego terminala w termcap"
+
+#, c-format
+msgid "E436: No \"%s\" entry in termcap"
+msgstr "E436: Brak opisu \"%s\" w termcap"
+
+msgid "E437: terminal capability \"cm\" required"
+msgstr "E437: wymagana zdolność \"cm\" terminala"
+
+#. Highlight title
+msgid ""
+"\n"
+"--- Terminal keys ---"
+msgstr ""
+"\n"
+"--- Klawisze terminala ---"
+
+msgid "new shell started\n"
+msgstr "uruchomiono nową powłokę\n"
+
+msgid "Vim: Error reading input, exiting...\n"
+msgstr "Vim: Błąd podczas wczytywania wejścia, kończę...\n"
+
+#. must display the prompt
+msgid "No undo possible; continue anyway"
+msgstr "Cofnięcie niemożliwe; mimo to kontynuuję"
+
+msgid "Already at oldest change"
+msgstr "Już w miejscu ostatniej zmiany"
+
+msgid "Already at newest change"
+msgstr "Już w miejscu najnowszej zmiany"
+
+#, c-format
+msgid "Undo number %ld not found"
+msgstr "Nie znaleziono numeru cofnięcia %ld"
+
+msgid "E438: u_undo: line numbers wrong"
+msgstr "E438: u_undo: niewłaściwe numery wierszy"
+
+msgid "more line"
+msgstr "1 wiersz więcej"
+
+msgid "more lines"
+msgstr "więcej wierszy"
+
+msgid "line less"
+msgstr "1 wiersz mniej"
+
+msgid "fewer lines"
+msgstr "mniej wierszy"
+
+msgid "change"
+msgstr "1 zmiana"
+
+msgid "changes"
+msgstr "zmiany"
+
+#, c-format
+msgid "%ld %s; %s #%ld  %s"
+msgstr "%ld %s; %s #%ld  %s"
+
+msgid "before"
+msgstr "przed"
+
+msgid "after"
+msgstr "za"
+
+msgid "Nothing to undo"
+msgstr "Nie ma zmian do cofnięcia"
+
+msgid "number changes  time"
+msgstr "liczba zmiany czas"
+
+msgid "E439: undo list corrupt"
+msgstr "E439: uszkodzona lista cofania"
+
+msgid "E440: undo line missing"
+msgstr "E440: brak wiersza cofania"
+
+#. Only MS VC 4.1 and earlier can do Win32s
+msgid ""
+"\n"
+"MS-Windows 16/32 bit GUI version"
+msgstr ""
+"\n"
+"16/32 bitowa wersja GUI dla MS-Windows"
+
+msgid ""
+"\n"
+"MS-Windows 32 bit GUI version"
+msgstr ""
+"\n"
+"32 bitowa wersja GUI dla MS-Windows"
+
+msgid " in Win32s mode"
+msgstr " w trybie Win32s"
+
+msgid " with OLE support"
+msgstr " ze wspomaganiem OLE"
+
+msgid ""
+"\n"
+"MS-Windows 32 bit console version"
+msgstr ""
+"\n"
+"32 bitowa wersja na konsolę dla MS-Windows"
+
+msgid ""
+"\n"
+"MS-Windows 16 bit version"
+msgstr ""
+"\n"
+"16 bitowa wersja dla MS-Windows"
+
+msgid ""
+"\n"
+"32 bit MS-DOS version"
+msgstr ""
+"\n"
+"32 bitowa wersja dla MS-DOS"
+
+msgid ""
+"\n"
+"16 bit MS-DOS version"
+msgstr ""
+"\n"
+"16 bitowa wersja dla MS-DOS"
+
+msgid ""
+"\n"
+"MacOS X (unix) version"
+msgstr ""
+"\n"
+"wersja dla MacOS X (unix)"
+
+msgid ""
+"\n"
+"MacOS X version"
+msgstr ""
+"\n"
+"wersja dla MacOS X"
+
+msgid ""
+"\n"
+"MacOS version"
+msgstr ""
+"\n"
+"wersja dla MacOS"
+
+msgid ""
+"\n"
+"RISC OS version"
+msgstr ""
+"\n"
+"wersja dla RISC OS"
+
+msgid ""
+"\n"
+"Included patches: "
+msgstr ""
+"\n"
+"Zadane łaty: "
+
+msgid "Modified by "
+msgstr "Zmieniony przez "
+
+msgid ""
+"\n"
+"Compiled "
+msgstr ""
+"\n"
+"Skompilowany "
+
+msgid "by "
+msgstr "przez "
+
+msgid ""
+"\n"
+"Huge version "
+msgstr ""
+"\n"
+"Olbrzymia wersja "
+
+msgid ""
+"\n"
+"Big version "
+msgstr ""
+"\n"
+"Duża wersja "
+
+msgid ""
+"\n"
+"Normal version "
+msgstr ""
+"\n"
+"Normalna wersja "
+
+msgid ""
+"\n"
+"Small version "
+msgstr ""
+"\n"
+"Mała wersja "
+
+msgid ""
+"\n"
+"Tiny version "
+msgstr ""
+"\n"
+"Malutka wersja "
+
+msgid "without GUI."
+msgstr "bez GUI."
+
+msgid "with GTK2-GNOME GUI."
+msgstr "z GTK2-GNOME GUI."
+
+msgid "with GTK-GNOME GUI."
+msgstr "z GTK-GNOME GUI."
+
+msgid "with GTK2 GUI."
+msgstr "z GTK2 GUI."
+
+msgid "with GTK GUI."
+msgstr "z GTK GUI."
+
+msgid "with X11-Motif GUI."
+msgstr "z X11-Motif GUI."
+
+msgid "with X11-neXtaw GUI."
+msgstr "z X11-neXtaw GUI."
+
+msgid "with X11-Athena GUI."
+msgstr "z X11-Athena GUI."
+
+msgid "with Photon GUI."
+msgstr "z Photon GUI."
+
+msgid "with GUI."
+msgstr "z GUI."
+
+msgid "with Carbon GUI."
+msgstr "z Carbon GUI."
+
+msgid "with Cocoa GUI."
+msgstr "z Cocoa GUI."
+
+msgid "with (classic) GUI."
+msgstr "z (klasycznym) GUI."
+
+msgid "  Features included (+) or not (-):\n"
+msgstr "  Opcje włączone (+) lub nie (-):\n"
+
+msgid "   system vimrc file: \""
+msgstr "       vimrc systemu: \""
+
+msgid "     user vimrc file: \""
+msgstr "   vimrc użytkownika: \""
+
+msgid " 2nd user vimrc file: \""
+msgstr " 2-gi plik vimrc użytkownika: \""
+
+msgid " 3rd user vimrc file: \""
+msgstr " 3-ci plik vimrc użytkownika: \""
+
+msgid "      user exrc file: \""
+msgstr "    exrc użytkownika: \""
+
+msgid "  2nd user exrc file: \""
+msgstr "  2-gi plik exrc użytkownika: \""
+
+msgid "  system gvimrc file: \""
+msgstr "     gvimrc systemu: \""
+
+msgid "    user gvimrc file: \""
+msgstr "  gvimrc użytkownika: \""
+
+msgid "2nd user gvimrc file: \""
+msgstr "2-gi plik gvimrc użytkownika: \""
+
+msgid "3rd user gvimrc file: \""
+msgstr "3-ci plik gvimrc użytkownika: \""
+
+msgid "    system menu file: \""
+msgstr " systemowy plik menu: \""
+
+msgid "  fall-back for $VIM: \""
+msgstr "   odwet dla $VIM-a: \""
+
+msgid " f-b for $VIMRUNTIME: \""
+msgstr "f-b dla $VIMRUNTIME: \""
+
+msgid "Compilation: "
+msgstr "Kompilacja: "
+
+msgid "Compiler: "
+msgstr "Kompilator: "
+
+msgid "Linking: "
+msgstr "Konsolidacja: "
+
+msgid "  DEBUG BUILD"
+msgstr "  KOMPILACJA DEBUG"
+
+msgid "VIM - Vi IMproved"
+msgstr "VIM - Vi rozbudowany"
+
+msgid "version "
+msgstr "wersja "
+
+msgid "by Bram Moolenaar et al."
+msgstr "Autor: Bram Moolenaar i Inni."
+
+msgid "Vim is open source and freely distributable"
+msgstr "Vim jest open source i rozprowadzany darmowo"
+
+msgid "Help poor children in Uganda!"
+msgstr "Pomóż biednym dzieciom w Ugandzie!"
+
+msgid "type  :help iccf<Enter>       for information "
+msgstr "wprowadź :help iccf<Enter>        dla informacji o tym  "
+
+msgid "type  :q<Enter>               to exit         "
+msgstr "wprowadź :q<Enter>                zakończenie programu   "
+
+msgid "type  :help<Enter>  or  <F1>  for on-line help"
+msgstr "wprowadź :help<Enter>  lub  <F1>  pomoc na bieżąco       "
+
+msgid "type  :help version7<Enter>   for version info"
+msgstr "wprowadź :help version7<Enter>    dla informacji o wersji"
+
+msgid "Running in Vi compatible mode"
+msgstr "Działam w trybie zgodności z Vi"
+
+msgid "type  :set nocp<Enter>        for Vim defaults"
+msgstr "wprowadź :set nocp<Enter>         wartości domyślne Vim-a"
+
+msgid "type  :help cp-default<Enter> for info on this"
+msgstr "wprowadź :help cp-default<Enter>  dla informacji to tym  "
+
+msgid "menu  Help->Orphans           for information    "
+msgstr "wprowadź :help iccf<Enter>        dla informacji to tym  "
+
+msgid "Running modeless, typed text is inserted"
+msgstr "Uruchomiony bez trybów, wpisany tekst jest wprowadzany"
+
+msgid "menu  Edit->Global Settings->Toggle Insert Mode  "
+msgstr "menu  Edytuj->Ustawienia globalne->Tryb wstawiania"
+
+msgid "                              for two modes      "
+msgstr "                  dla dwóch trybów           "
+
+msgid "menu  Edit->Global Settings->Toggle Vi Compatible"
+msgstr "menu Edytuj->Ustawienia globalne->Kompatybilność z Vi"
+
+msgid "                              for Vim defaults   "
+msgstr "     dla domyślnych ustawień Vima   "
+
+msgid "Sponsor Vim development!"
+msgstr "Sponsoruj rozwój Vima!"
+
+msgid "Become a registered Vim user!"
+msgstr "Zostań zarejestrowanym użytkownikiem Vima!"
+
+msgid "type  :help sponsor<Enter>    for information "
+msgstr "wprowadź :help sponsor<Enter>        dla informacji"
+
+msgid "type  :help register<Enter>   for information "
+msgstr "wprowadź :help register<Enter>        dla informacji"
+
+msgid "menu  Help->Sponsor/Register  for information    "
+msgstr "menu Pomoc->Sponsoruj/Zarejestruj się dla informacji"
+
+msgid "WARNING: Windows 95/98/ME detected"
+msgstr "OSTRZEŻENIE: wykryto Windows 95/98/ME"
+
+msgid "type  :help windows95<Enter>  for info on this"
+msgstr "wprowadź :help windows95<Enter>   dla informacji to tym  "
+
+msgid "E441: There is no preview window"
+msgstr "E441: Nie ma okna podglądu"
+
+msgid "E442: Can't split topleft and botright at the same time"
+msgstr "E442: Nie mogę rozdzielić lewo-górnego i prawo-dolnego jednocześnie"
+
+msgid "E443: Cannot rotate when another window is split"
+msgstr "E443: Nie mogę przekręcić, gdy inne okno jest rozdzielone"
+
+msgid "E444: Cannot close last window"
+msgstr "E444: Nie mogę zamknąć ostatniego okna"
+
+msgid "Already only one window"
+msgstr "Już jest tylko jeden widok"
+
+msgid "E445: Other window contains changes"
+msgstr "E445: Inne okno zawiera zmiany"
+
+msgid "E446: No file name under cursor"
+msgstr "E446: Brak nazwy pliku pod kursorem"
+
+#, c-format
+msgid "E447: Can't find file \"%s\" in path"
+msgstr "E447: Nie mogę znaleźć pliku \"%s\" w tropie"
+
+#, c-format
+msgid "E370: Could not load library %s"
+msgstr "E370: Nie mogłem załadować biblioteki %s"
+
+msgid "Sorry, this command is disabled: the Perl library could not be loaded."
+msgstr "Przykro mi, ta komenda jest wyłączona: nie mogłem załadować biblioteki Perla."
+
+msgid "E299: Perl evaluation forbidden in sandbox without the Safe module"
+msgstr "E299: wyliczenie Perla zabronione w piaskownicy bez modułu Safe"
+
+msgid "Edit with &multiple Vims"
+msgstr "Edytuj w &wielu Vimach"
+
+msgid "Edit with single &Vim"
+msgstr "Edytuj w pojedynczym &Vimie"
+
+msgid "Diff with Vim"
+msgstr "Diff z Vimem"
+
+msgid "Edit with &Vim"
+msgstr "Edytuj w &Vimie"
+
+#. Now concatenate
+msgid "Edit with existing Vim - "
+msgstr "Edytuj z istniejącym Vimem - "
+
+msgid "Edits the selected file(s) with Vim"
+msgstr "Edytuj wybrane pliki w Vimie"
+
+msgid "Error creating process: Check if gvim is in your path!"
+msgstr "Błąd tworzenia procesu: Sprawdź czy gvim jest w twojej ścieżce!"
+
+msgid "gvimext.dll error"
+msgstr "błąd gvimext.dll"
+
+msgid "Path length too long!"
+msgstr "Za długa ścieżka!"
+
+msgid "--No lines in buffer--"
+msgstr "--Brak wierszy w buforze--"
+
+#.
+#. * The error messages that can be shared are included here.
+#. * Excluded are errors that are only used once and debugging messages.
+#.
+msgid "E470: Command aborted"
+msgstr "E470: Przerwanie komendy"
+
+msgid "E471: Argument required"
+msgstr "E471: wymagany argument"
+
+msgid "E10: \\ should be followed by /, ? or &"
+msgstr "E10: po \\ powinno być /, ? lub &"
+
+msgid "E11: Invalid in command-line window; <CR> executes, CTRL-C quits"
+msgstr "E11: Niedozwolone w oknie wiersza poleceń; <CR> wykonuje, CTRL-C opuszcza"
+
+msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search"
+msgstr ""
+"E12: Komenda niedozwolona z exrc/vimrc w bieżącym szukaniu katalogu lub "
+"znacznika"
+
+msgid "E171: Missing :endif"
+msgstr "E171: Brak :endif"
+
+msgid "E600: Missing :endtry"
+msgstr "E600: Brak :endtry"
+
+msgid "E170: Missing :endwhile"
+msgstr "E170: Brak :endwhile"
+
+msgid "E170: Missing :endfor"
+msgstr "E170: Brak :endfor"
+
+msgid "E588: :endwhile without :while"
+msgstr "E588: :endwhile bez :while"
+
+msgid "E588: :endfor without :for"
+msgstr "E588: :endfor bez :for"
+
+msgid "E13: File exists (add ! to override)"
+msgstr "E13: Plik istnieje (wymuś poprzez !)"
+
+msgid "E472: Command failed"
+msgstr "E472: Komenda nie powiodła się"
+
+#, c-format
+msgid "E234: Unknown fontset: %s"
+msgstr "E234: Nieznany zestaw czcionek: %s"
+
+#, c-format
+msgid "E235: Unknown font: %s"
+msgstr "E235: Nieznana czcionka: %s"
+
+#, c-format
+msgid "E236: Font \"%s\" is not fixed-width"
+msgstr "E236: Czcionka \"%s\" nie ma stałej szerokości znaków"
+
+msgid "E473: Internal error"
+msgstr "E473: Błąd wewnętrzny"
+
+msgid "Interrupted"
+msgstr "Przerwane"
+
+msgid "E14: Invalid address"
+msgstr "E14: Niewłaściwy adres"
+
+msgid "E474: Invalid argument"
+msgstr "E474: Niewłaściwy argument"
+
+#, c-format
+msgid "E475: Invalid argument: %s"
+msgstr "E475: Niewłaściwy argument: %s"
+
+#, c-format
+msgid "E15: Invalid expression: %s"
+msgstr "E15: Niewłaściwe wyrażenie: %s"
+
+msgid "E16: Invalid range"
+msgstr "E16: Niewłaściwy zakres"
+
+msgid "E476: Invalid command"
+msgstr "E476: Niewłaściwa komenda"
+
+#, c-format
+msgid "E17: \"%s\" is a directory"
+msgstr "E17: \"%s\" jest katalogiem"
+
+#, c-format
+msgid "E364: Library call failed for \"%s()\""
+msgstr "E364: Wywołanie z biblioteki nie powiodło się dla \"%s()\""
+
+#, c-format
+msgid "E448: Could not load library function %s"
+msgstr "E448: Nie można załadować funkcji biblioteki %s"
+
+msgid "E19: Mark has invalid line number"
+msgstr "E19: Zakładka ma niewłaściwy numer wiersza"
+
+msgid "E20: Mark not set"
+msgstr "E20: Zakładka nienastawiona"
+
+msgid "E21: Cannot make changes, 'modifiable' is off"
+msgstr "E21: Nie mogę wykonać zmian, 'modifiable' jest wyłączone"
+
+msgid "E22: Scripts nested too deep"
+msgstr "E22: Zbyt głębokie zagnieżdżenie skryptów"
+
+msgid "E23: No alternate file"
+msgstr "E23: Brak pliku zamiany"
+
+msgid "E24: No such abbreviation"
+msgstr "E24: Nie ma takiego skrótu"
+
+msgid "E477: No ! allowed"
+msgstr "E477: Niedozwolone !"
+
+msgid "E25: GUI cannot be used: Not enabled at compile time"
+msgstr "E25: GUI nie może być użyte: Nie włączono podczas kompilacji"
+
+msgid "E26: Hebrew cannot be used: Not enabled at compile time\n"
+msgstr "E26: Hebrajski nie może być użyty: Nie włączono podczas kompilacji\n"
+
+msgid "E27: Farsi cannot be used: Not enabled at compile time\n"
+msgstr "E27: Farsi nie może być użyty: Nie włączono podczas kompilacji\n"
+
+msgid "E800: Arabic cannot be used: Not enabled at compile time\n"
+msgstr "E800: Arabski nie może być użyty: Nie włączono podczas kompilacji\n"
+
+#, c-format
+msgid "E28: No such highlight group name: %s"
+msgstr "E28: Brak takiej nazwy grupy podświetlania: %s"
+
+msgid "E29: No inserted text yet"
+msgstr "E29: Nie wprowadzono jeszcze żadnego tekstu"
+
+msgid "E30: No previous command line"
+msgstr "E30: Nie ma poprzedniego wiersza poleceń"
+
+msgid "E31: No such mapping"
+msgstr "E31: Nie ma takiego przyporządkowania"
+
+msgid "E479: No match"
+msgstr "E479: Brak dopasowań"
+
+#, c-format
+msgid "E480: No match: %s"
+msgstr "E480: Brak dopasowań: %s"
+
+msgid "E32: No file name"
+msgstr "E32: Brak nazwy pliku"
+
+msgid "E33: No previous substitute regular expression"
+msgstr "E33: Brak poprzedniego podstawieniowego wyrażenia regularnego"
+
+msgid "E34: No previous command"
+msgstr "E34: Brak poprzedniej komendy"
+
+msgid "E35: No previous regular expression"
+msgstr "E35: Brak poprzedniego wyrażenia regularnego"
+
+msgid "E481: No range allowed"
+msgstr "E481: Zakres niedozwolony"
+
+msgid "E36: Not enough room"
+msgstr "E36: Brak miejsca"
+
+#, c-format
+msgid "E247: no registered server named \"%s\""
+msgstr "E247: brak zarejestrowanego serwera o nazwie \"%s\""
+
+#, c-format
+msgid "E482: Can't create file %s"
+msgstr "E482: Nie mogę stworzyć pliku %s"
+
+msgid "E483: Can't get temp file name"
+msgstr "E483: Nie mogę pobrać nazwy pliku tymczasowego"
+
+#, c-format
+msgid "E484: Can't open file %s"
+msgstr "E484: Nie mogę otworzyć pliku %s"
+
+#, c-format
+msgid "E485: Can't read file %s"
+msgstr "E485: Nie mogę odczytać pliku %s"
+
+msgid "E37: No write since last change (add ! to override)"
+msgstr "E37: Nie zapisano od ostatniej zmiany (wymuś przez !)"
+
+msgid "E38: Null argument"
+msgstr "E38: Zerowy argument"
+
+msgid "E39: Number expected"
+msgstr "E39: Oczekuję liczby"
+
+#, c-format
+msgid "E40: Can't open errorfile %s"
+msgstr "E40: Nie mogę otworzyć pliku błędów %s"
+
+msgid "E233: cannot open display"
+msgstr "E233: nie mogę otworzyć ekranu"
+
+msgid "E41: Out of memory!"
+msgstr "E41: Pamięć wyczerpana!"
+
+msgid "Pattern not found"
+msgstr "Nie znaleziono wzorca"
+
+#, c-format
+msgid "E486: Pattern not found: %s"
+msgstr "E486: Nie znaleziono wzorca: %s"
+
+msgid "E487: Argument must be positive"
+msgstr "E487: Argument musi być dodatni"
+
+msgid "E459: Cannot go back to previous directory"
+msgstr "E459: Nie można przejść do poprzedniego katalogu"
+
+msgid "E42: No Errors"
+msgstr "E42: Brak Błędów"
+
+msgid "E776: No location list"
+msgstr "E776: Brak listy lokacji"
+
+msgid "E43: Damaged match string"
+msgstr "E43: Popsuty ciąg wzorca"
+
+msgid "E44: Corrupted regexp program"
+msgstr "E44: Zepsuty program wyrażeń regularnych"
+
+msgid "E45: 'readonly' option is set (add ! to override)"
+msgstr "E45: opcja 'readonly' jest ustawiona (wymuś poprzez !)"
+
+#, c-format
+msgid "E46: Cannot change read-only variable \"%s\""
+msgstr "E46: Nie mogę zmienić zmiennej tylko do odczytu \"%s\""
+
+#, c-format
+msgid "E46: Cannot set variable in the sandbox: \"%s\""
+msgstr "E46: Nie mogę ustawić zmiennej w piaskownicy: \"%s\""
+
+msgid "E47: Error while reading errorfile"
+msgstr "E47: Błąd w trakcie czytania pliku błędów"
+
+msgid "E48: Not allowed in sandbox"
+msgstr "E48: Niedozwolone w piaskownicy"
+
+msgid "E523: Not allowed here"
+msgstr "E523: Niedozwolone w tym miejscu"
+
+msgid "E359: Screen mode setting not supported"
+msgstr "E359: Ustawianie trybu ekranu niewspomagane"
+
+msgid "E49: Invalid scroll size"
+msgstr "E49: Niewłaściwa wielkość przewinięcia"
+
+msgid "E91: 'shell' option is empty"
+msgstr "E91: opcja 'shell' jest pusta"
+
+msgid "E255: Couldn't read in sign data!"
+msgstr "E255: Nie mogłem wczytać danych znaku!"
+
+msgid "E72: Close error on swap file"
+msgstr "E72: Błąd podczas zamykania pliku wymiany"
+
+msgid "E73: tag stack empty"
+msgstr "E73: stos znaczników jest pusty"
+
+msgid "E74: Command too complex"
+msgstr "E74: Komenda jest zbyt skomplikowana"
+
+msgid "E75: Name too long"
+msgstr "E75: Zbyt długa nazwa"
+
+msgid "E76: Too many ["
+msgstr "E76: Zbyt wiele ["
+
+msgid "E77: Too many file names"
+msgstr "E77: Zbyt wiele nazw plików"
+
+msgid "E488: Trailing characters"
+msgstr "E488: Nadstępne znaczki"
+
+msgid "E78: Unknown mark"
+msgstr "E78: Nieznana zakładka"
+
+msgid "E79: Cannot expand wildcards"
+msgstr "E79: Nie mogą rozwinąć znaków wieloznacznych"
+
+msgid "E591: 'winheight' cannot be smaller than 'winminheight'"
+msgstr "E591: 'winheight' nie może być mniejsze niż 'winminheight'"
+
+msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'"
+msgstr "E592: 'winwidth' nie może być mniejsze niż 'winminwidth'"
+
+msgid "E80: Error while writing"
+msgstr "E80: Błąd w trakcie zapisu"
+
+msgid "Zero count"
+msgstr "Zerowy licznik"
+
+msgid "E81: Using <SID> not in a script context"
+msgstr "E81: Użycie <SID> poza kontekstem skryptu"
+
+msgid "E449: Invalid expression received"
+msgstr "E449: Odebrałem niewłaściwe wyrażenie"
+
+msgid "E463: Region is guarded, cannot modify"
+msgstr "E463: Region jest chroniony, nie mogę zmienić"
+
+msgid "E744: NetBeans does not allow changes in read-only files"
+msgstr "E744: NetBeans nie zezwala na zmiany w plikach tylko do odczytu"
+
+#, c-format
+msgid "E685: Internal error: %s"
+msgstr "E685: Błąd wewnętrzny: %s"
+
+msgid "E363: pattern uses more memory than 'maxmempattern'"
+msgstr "E363: Wzorzec używa więcej pamięci niż 'maxmempattern'"
+
+msgid "E749: empty buffer"
+msgstr "E749: pusty bufor"
+
+msgid "E682: Invalid search pattern or delimiter"
+msgstr "E682: Niewłaściwy wzorzec wyszukiwania lub delimiter"
+
+msgid "E139: File is loaded in another buffer"
+msgstr "E139: Plik jest załadowany w innym buforze"
+
+#, c-format
+msgid "E764: Option '%s' is not set"
+msgstr "E764: Nie ustawiono opcji '%s'"
+
+msgid "search hit TOP, continuing at BOTTOM"
+msgstr "szukanie dobiło GÓRY; kontynuacja od KOŃCA"
+
+msgid "search hit BOTTOM, continuing at TOP"
+msgstr "szukanie dobiło KOŃCA; kontynuacja od GÓRY"
+
diff --git a/src/po/pl.cp1250.po b/src/po/pl.cp1250.po
index aa45662..a0e5bf2 100644
--- a/src/po/pl.cp1250.po
+++ b/src/po/pl.cp1250.po
@@ -4,19 +4,19 @@
 # updated 2005 for vim-7.0
 #
 # FIRST AUTHOR Marcin Dalecki <martin@dalecki.de>, 2000.
-# Mikolaj Machowski <mikmach@wp.pl>, 2004, 2005.
+# Mikolaj Machowski <mikmach@wp.pl>, 2004, 2005, 2006.
 msgid ""
 msgstr ""
 "Project-Id-Version: pl\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-10-14 01:26+0200\n"
-"PO-Revision-Date: 2005-10-14 12:24+0200\n"
+"POT-Creation-Date: 2006-04-01 18:24+0200\n"
+"PO-Revision-Date: 2006-04-01 18:39+0200\n"
 "Last-Translator: Mikolaj Machowski <mikmach@wp.pl>\n"
 "Language-Team: Polish <mikmach@wp.pl>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=cp1250\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11\n"
+"X-Generator: KBabel 1.11.2\n"
 
 msgid "E82: Cannot allocate any buffer, exiting..."
 msgstr "E82: Nie mogê zarezerwowaæ bufora; zakoñczenie..."
@@ -134,8 +134,8 @@
 msgid "help"
 msgstr "pomoc"
 
-msgid "[help]"
-msgstr "[pomoc]"
+msgid "[Help]"
+msgstr "[Pomoc]"
 
 msgid "[Preview]"
 msgstr "[Podgl¹d]"
@@ -157,8 +157,11 @@
 "\n"
 "# Lista buforów:\n"
 
-msgid "[Error List]"
-msgstr "[Lista B³êdów]"
+msgid "[Location List]"
+msgstr "[Lista lokacji]"
+
+msgid "[Quickfix List]"
+msgstr "[Lista quickfix]"
 
 msgid ""
 "\n"
@@ -490,6 +493,9 @@
 msgid "E699: Too many arguments"
 msgstr "E699: Za du¿o argumentów"
 
+msgid "E785: complete() can only be used in Insert mode"
+msgstr "E785: complete() mo¿e byæ u¿yte tylko w trybie Wprowadzania"
+
 #.
 #. * Yes this is ugly, I don't particularly like it either.  But doing it
 #. * this way has the compelling advantage that translations need not to
@@ -771,6 +777,21 @@
 msgid "finished sourcing %s"
 msgstr "skoñczono wczytywanie %s"
 
+msgid "modeline"
+msgstr "modeline"
+
+msgid "--cmd argument"
+msgstr "--cmd argument"
+
+msgid "-c argument"
+msgstr "-c argument"
+
+msgid "environment variable"
+msgstr "zmienna œrodowiskowa"
+
+msgid "error handler"
+msgstr "obs³uga b³êdu"
+
 msgid "W15: Warning: Wrong line separator, ^M may be missing"
 msgstr "W15: OSTRZE¯ENIE: Niew³aœciwy separator wierszy, pewnie brak ^M"
 
@@ -1158,9 +1179,19 @@
 msgid "Greetings, Vim user!"
 msgstr "Witaj u¿ytkowniku Vima!"
 
+msgid "E784: Cannot close last tab page"
+msgstr "E784: Nie mogê zamkn¹æ ostatniej karty"
+
+msgid "Already only one tab page"
+msgstr "Jest ju¿ tylko jedna karta"
+
 msgid "Edit File in new window"
 msgstr "Edytuj plik w nowym oknie"
 
+#, c-format
+msgid "Tab page %d"
+msgstr "Karta %d"
+
 msgid "No swap file"
 msgstr "Brak pliku wymiany"
 
@@ -1404,6 +1435,9 @@
 msgid "[New File]"
 msgstr "[Nowy Plik]"
 
+msgid "[New DIRECTORY]"
+msgstr "[Nowy KATALOG]"
+
 msgid "[File too big]"
 msgstr "[Za du¿y plik]"
 
@@ -1456,8 +1490,9 @@
 msgid "[crypted]"
 msgstr "[zakodowane]"
 
-msgid "[CONVERSION ERROR]"
-msgstr "[B£¥D W PRZEMIANIE]"
+#, c-format
+msgid "[CONVERSION ERROR in line %ld]"
+msgstr "[B£¥D W PRZEMIANIE w linii %ld]"
 
 #, c-format
 msgid "[ILLEGAL BYTE in line %ld]"
@@ -1909,6 +1944,15 @@
 msgid "Vim: Received \"die\" request from session manager\n"
 msgstr "Vim: otrzymano ¿¹danie \"die\" od manad¿era sesji\n"
 
+msgid "Close"
+msgstr "Zamknij"
+
+msgid "New tab"
+msgstr "Nowa karta"
+
+msgid "Open Tab..."
+msgstr "Otwórz kartê..."
+
 msgid "Vim: Main window unexpectedly destroyed\n"
 msgstr "Vim: G³ówne okno nieoczekiwanie zniszczone\n"
 
@@ -1980,6 +2024,12 @@
 msgid "E672: Unable to open window inside MDI application"
 msgstr "E672: Nie mo¿na otworzyæ okna wewn¹trz aplikacji MDI"
 
+msgid "Close tab"
+msgstr "Zamknij kartê"
+
+msgid "Open tab..."
+msgstr "Otwórz kartê..."
+
 msgid "Find string (use '\\\\' to find  a '\\')"
 msgstr "ZnajdŸ ci¹g (u¿yj '\\\\' do szukania '\\')"
 
@@ -2699,7 +2749,9 @@
 "   lub:"
 
 msgid "where case is ignored prepend / to make flag upper case"
-msgstr "gdzie wielkoœæ znaków jest ignorowana dodaj na pocz¹tku / by flaga by³a wielk¹ liter¹"
+msgstr ""
+"gdzie wielkoœæ znaków jest ignorowana dodaj na pocz¹tku / by flaga by³a "
+"wielk¹ liter¹"
 
 msgid ""
 "\n"
@@ -2812,6 +2864,9 @@
 msgid "--noplugin\t\tDon't load plugin scripts"
 msgstr "--noplugin\t\tNie ³aduj skryptów wtyczek"
 
+msgid "-p[N]\t\tOpen N tab pages (default: one for each file)"
+msgstr "-p[N]\t\tOtwórz N kart (domyœlnie: po jednej dla ka¿dego pliku)"
+
 msgid "-o[N]\t\tOpen N windows (default: one for each file)"
 msgstr "-o[N]\t\tOtwórz N okien (domyœlnie: po jednym dla ka¿dego pliku)"
 
@@ -2865,6 +2920,9 @@
 msgid "--remote-wait-silent <files>  Same, don't complain if there is no server"
 msgstr "--remote-wait-silent <pliki>  To samo, nie narzekaj jeœli nie ma serwera"
 
+msgid "--remote-tab <files>  As --remote but open tab page for each file"
+msgstr "--remote-tab <pliki>\tTak jak --remote ale otwórz jedn¹ kartê dla ka¿dego pliku"
+
 msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit"
 msgstr "--remote-send <klawisze>\tWyœlij <klawisze> do serwera Vima i zakoñcz"
 
@@ -2984,25 +3042,6 @@
 msgid "--socketid <xid>\tOpen Vim inside another GTK widget"
 msgstr "--socketid <xid>\tOtwórz Vim wewn¹trz innego widgetu GTK"
 
-msgid ""
-"\n"
-"Arguments recognised by kvim (KDE version):\n"
-msgstr ""
-"\n"
-"Argumenty rozpoznawane przez kvim (wersja KDE):\n"
-
-msgid "-black\t\tUse reverse video"
-msgstr "-black\t\tStosuj negatyw kolorów"
-
-msgid "-tip\t\t\tDisplay the tip dialog on startup"
-msgstr "-tip\t\t\tPoka¿ okno wskazówek na pocz¹tku"
-
-msgid "-notip\t\tDisable the tip dialog"
-msgstr "-notip\t\tWy³¹cz okno wskazówek"
-
-msgid "--display <display>\tRun vim on <display>"
-msgstr "--display <display>\tUruchom vim na <display>"
-
 msgid "-P <parent title>\tOpen Vim inside parent application"
 msgstr "-P <tytu³ rodzica>\tOtwórz Vima wewn¹trz rodzicielskiej aplikacji"
 
@@ -3423,6 +3462,10 @@
 msgid "E317: pointer block id wrong 2"
 msgstr "E317: niepoprawne id bloku odniesienia 2"
 
+#, c-format
+msgid "E773: Symlink loop for \"%s\""
+msgstr "E773: Pêtla dowi¹zañ dla \"%s\""
+
 msgid "E325: ATTENTION"
 msgstr "E325: UWAGA"
 
@@ -3511,16 +3554,16 @@
 "&Open Read-Only\n"
 "&Edit anyway\n"
 "&Recover\n"
+"&Delete it\n"
 "&Quit\n"
-"&Abort\n"
-"&Delete it"
+"&Abort"
 msgstr ""
 "&Otwórz Read-Only\n"
 "&Edytuj pomimo\n"
 "O&dtwórz\n"
+"&Usuñ\n"
 "&Zakoñcz\n"
-"&Porzuæ\n"
-"&Skasuj go"
+"&Porzuæ"
 
 msgid "E326: Too many swap files found"
 msgstr "E326: Znaleziono zbyt wiele plików wymiany"
@@ -3787,6 +3830,12 @@
 msgid "E505: "
 msgstr "E505: "
 
+msgid "E774: 'operatorfunc' is empty"
+msgstr "E774: 'operatorfunc' jest pusta"
+
+msgid "E775: Eval feature not available"
+msgstr "E775: Funkcjonalnoœæ eval nie jest dostêpna"
+
 msgid "Warning: terminal cannot highlight"
 msgstr "OSTRZE¯ENIE: terminal nie wykonuje podœwietlania"
 
@@ -4134,6 +4183,9 @@
 msgid "...(truncated)"
 msgstr "...(obciêty)"
 
+msgid "Message"
+msgstr "WiadomoϾ"
+
 msgid "'columns' is not 80, cannot execute external commands"
 msgstr "'columns' nie wynosi 80, nie mogê wykonaæ zewnêtrznych komend"
 
@@ -4182,14 +4234,6 @@
 msgid "Opening the X display took %ld msec"
 msgstr "Otwieranie ekranu X trwa³o %ld msec"
 
-#. KDE sometimes produces X error that we want to ignore
-msgid ""
-"\n"
-"Vim: Got X error but we continue...\n"
-msgstr ""
-"\n"
-"Vim: Dosta³em b³¹d X ale kontynuujê...\n"
-
 msgid ""
 "\n"
 "Vim: Got X error\n"
@@ -4374,6 +4418,9 @@
 msgid "E681: Buffer is not loaded"
 msgstr "E681: Bufor nie jest za³adowany"
 
+msgid "E777: String or List expected"
+msgstr "E777: Oczekiwano ³añcucha lub listy"
+
 #, c-format
 msgid "E369: invalid item in %s%%[]"
 msgstr "E369: Niew³aœciwy element w %s%%[]"
@@ -4557,6 +4604,10 @@
 msgid "Scanning included file: %s"
 msgstr "Przegl¹d w³¹czonego pliku: %s"
 
+#, c-format
+msgid "Searching included file %s"
+msgstr "Przeszukiwanie w³¹czonego pliku %s"
+
 msgid "E387: Match is on current line"
 msgstr "E387: Wzorzec pasuje w bie¿¹cym wierszu"
 
@@ -4647,12 +4698,8 @@
 msgstr "FLAG po u¿yciu flag w %s wiersz %d: %s"
 
 #, c-format
-msgid "Character used for SLASH must be ASCII; in %s line %d: %s"
-msgstr "Znak u¿yty jako SLASH musi byæ znakiem ASCII; w %s wiersz %d: %s"
-
-#, c-format
-msgid "Wrong COMPOUNDMAX value in %s line %d: %s"
-msgstr "Z³a wartoœæ COMPOUNDMAX w %s wiersz %d: %s"
+msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s"
+msgstr "Z³a wartoœæ COMPOUNDWORDMAX w %s wiersz %d: %s"
 
 #, c-format
 msgid "Wrong COMPOUNDMIN value in %s line %d: %s"
@@ -4663,6 +4710,10 @@
 msgstr "Z³a wartoœæ COMPOUNDSYLMAX w %s wiersz %d: %s"
 
 #, c-format
+msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s"
+msgstr "Z³a wartoœæ CHECKCOMPOUNDPATTERN w %s wiersz %d: %s"
+
+#, c-format
 msgid "Different combining flag in continued affix block in %s line %d: %s"
 msgstr "Ró¿ne flagi z³o¿eñ w kontynuowanym bloku afiksu w %s wiersz %d: %s"
 
@@ -4671,8 +4722,10 @@
 msgstr "Powtórzony afiks w %s wiersz %d: %s"
 
 #, c-format
-msgid "Affix also used for BAD/RAR/KEP/NEEDAFFIX/NEEDCOMPOUND in %s line %d: %s"
-msgstr "Afiks u¿yty tak¿e dla BAD/RAR/KEP/NEEDAFFIX/NEEDCOMPOUND w %s wiersz %d: %s"
+msgid ""
+"Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s "
+"line %d: %s"
+msgstr "Afiks u¿yty tak¿e dla BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST w %s wiersz %d: %s"
 
 #, c-format
 msgid "Expected Y or N in %s line %d: %s"
@@ -4683,8 +4736,12 @@
 msgstr "B³êdny warunek w %s wiersz %d: %s"
 
 #, c-format
-msgid "Expected REP count in %s line %d"
-msgstr "Oczekiwano iloœci REP w %s wierszu %d"
+msgid "Affix flags ignored when PFXPOSTPONE used in %s line %d: %s"
+msgstr "Flagi afiksów zignorowane kiedy u¿yto PFXPOSTPONE w %s wierz %d: %s"
+
+#, c-format
+msgid "Expected REP(SAL) count in %s line %d"
+msgstr "Oczekiwano iloœci REP(SAL) w %s wierszu %d"
 
 #, c-format
 msgid "Expected MAP count in %s line %d"
@@ -4802,8 +4859,34 @@
 msgstr "Zignorowa³em %d s³ów ze znakami nie ASCII"
 
 #, c-format
-msgid "Compressed %d of %d nodes; %d%% remaining"
-msgstr "Skompresowano %d z %d wêz³ów; pozostaje %d%%"
+msgid "Compressed %d of %d nodes; %d (%d%%) remaining"
+msgstr "Skompresowano %d z %d wêz³ów; pozostaje %d (%d%%)"
+
+msgid "Reading back spell file..."
+msgstr "Odczytujê plik sprawdzania pisowni..."
+
+#.
+#. * Go through the trie of good words, soundfold each word and add it to
+#. * the soundfold trie.
+#.
+msgid "Performing soundfolding..."
+msgstr "Wykonujê kompresjê dŸwiêkow¹..."
+
+#, c-format
+msgid "Number of words after soundfolding: %ld"
+msgstr "Liczba s³ów po kompresji dŸwiêkowej: %ld"
+
+#, c-format
+msgid "Total number of words: %d"
+msgstr "Ca³kowita liczba s³ów: %d"
+
+#, c-format
+msgid "Writing suggestion file %s ..."
+msgstr "Zapisujê plik sugestii %s ..."
+
+#, c-format
+msgid "Estimated runtime memory use: %d bytes"
+msgstr "Oczekiwane zu¿ycie pamiêci: %d bajtów"
 
 msgid "E751: Output file name must not have region name"
 msgstr "E751: Nazwa pliku wynikowego nie mo¿e byæ nazw¹ regionu"
@@ -4826,13 +4909,17 @@
 msgstr "Zrobione!"
 
 #, c-format
-msgid "Estimated runtime memory use: %d bytes"
-msgstr "Oczekiwane zu¿ycie pamiêci: %d bajtów"
-
-#, c-format
 msgid "E765: 'spellfile' does not have %ld entries"
 msgstr "E765: 'spellfile' nie posiada wpisów %ld"
 
+#, c-format
+msgid "Word removed from %s"
+msgstr "Usuniêto s³owo z %s"
+
+#, c-format
+msgid "Word added to %s"
+msgstr "Dodano s³owo do %s"
+
 msgid "E763: Word characters differ between spell files"
 msgstr "E763: Znaki wyrazów ró¿ni¹ siê miêdzy plikami sprawdzania pisowni"
 
@@ -4859,10 +4946,30 @@
 msgid "E753: Not found: %s"
 msgstr "E753: Nie znaleziono: %s"
 
+#, c-format
+msgid "E778: This does not look like a .sug file: %s"
+msgstr "E778: Ten plik nie wygl¹da na plik .sug: %s"
+
+#, c-format
+msgid "E779: Old .sug file, needs to be updated: %s"
+msgstr "E779: Stary plik .sug, konieczne jest uaktualnienie: %s"
+
+#, c-format
+msgid "E780: .sug file is for newer version of Vim: %s"
+msgstr "E780: Plik .sug dla nowszej wersji Vima: %s"
+
+#, c-format
+msgid "E781: .sug file doesn't match .spl file: %s"
+msgstr "E781: Plik .sug nie pasuje do pliku .spl: %s"
+
+#, c-format
+msgid "E782: error while reading .sug file: %s"
+msgstr "E782: B³¹d w czasie odczytu pliku .sug: %s"
+
 #. This should have been checked when generating the .spl
 #. * file.
-msgid "E999: duplicate char in MAP entry"
-msgstr "E999: powtórzony znak we wpisie MAP"
+msgid "E783: duplicate char in MAP entry"
+msgstr "E783: Podwojony znak we wpisie MAP"
 
 #, c-format
 msgid "E390: Illegal argument: %s"
@@ -5177,15 +5284,52 @@
 msgid "No undo possible; continue anyway"
 msgstr "Cofniêcie niemo¿liwe; mimo to kontynuujê"
 
+msgid "Already at oldest change"
+msgstr "Ju¿ w miejscu ostatniej zmiany"
+
+msgid "Already at newest change"
+msgstr "Ju¿ w miejscu najnowszej zmiany"
+
+#, c-format
+msgid "Undo number %ld not found"
+msgstr "Nie znaleziono numeru cofniêcia %ld"
+
 msgid "E438: u_undo: line numbers wrong"
 msgstr "E438: u_undo: niew³aœciwe numery wierszy"
 
-msgid "1 change"
+msgid "more line"
+msgstr "1 wiersz wiêcej"
+
+msgid "more lines"
+msgstr "wiêcej wierszy"
+
+msgid "line less"
+msgstr "1 wiersz mniej"
+
+msgid "fewer lines"
+msgstr "mniej wierszy"
+
+msgid "change"
 msgstr "1 zmiana"
 
+msgid "changes"
+msgstr "zmiany"
+
 #, c-format
-msgid "%ld changes"
-msgstr "%ld zmian"
+msgid "%ld %s; %s #%ld  %s"
+msgstr "%ld %s; %s #%ld  %s"
+
+msgid "before"
+msgstr "przed"
+
+msgid "after"
+msgstr "za"
+
+msgid "Nothing to undo"
+msgstr "Nie ma zmian do cofniêcia"
+
+msgid "number changes  time"
+msgstr "liczba zmiany czas"
 
 msgid "E439: undo list corrupt"
 msgstr "E439: uszkodzona lista cofania"
@@ -5364,9 +5508,6 @@
 msgid "with (classic) GUI."
 msgstr "z (klasycznym) GUI."
 
-msgid "with KDE GUI."
-msgstr "z GUI KDE."
-
 msgid "  Features included (+) or not (-):\n"
 msgstr "  Opcje w³¹czone (+) lub nie (-):\n"
 
@@ -5782,6 +5923,9 @@
 msgid "E42: No Errors"
 msgstr "E42: Brak B³êdów"
 
+msgid "E776: No location list"
+msgstr "E776: Brak listy lokacji"
+
 msgid "E43: Damaged match string"
 msgstr "E43: Popsuty ci¹g wzorca"
 
diff --git a/src/po/pl.po b/src/po/pl.po
index ddb6c79..13d960b 100644
--- a/src/po/pl.po
+++ b/src/po/pl.po
@@ -4,19 +4,19 @@
 # updated 2005 for vim-7.0
 #
 # FIRST AUTHOR Marcin Dalecki <martin@dalecki.de>, 2000.
-# Mikolaj Machowski <mikmach@wp.pl>, 2004, 2005.
+# Mikolaj Machowski <mikmach@wp.pl>, 2004, 2005, 2006.
 msgid ""
 msgstr ""
 "Project-Id-Version: pl\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-10-14 01:26+0200\n"
-"PO-Revision-Date: 2005-10-14 12:24+0200\n"
+"POT-Creation-Date: 2006-04-01 18:24+0200\n"
+"PO-Revision-Date: 2006-04-01 18:39+0200\n"
 "Last-Translator: Mikolaj Machowski <mikmach@wp.pl>\n"
 "Language-Team: Polish <mikmach@wp.pl>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-2\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11\n"
+"X-Generator: KBabel 1.11.2\n"
 
 msgid "E82: Cannot allocate any buffer, exiting..."
 msgstr "E82: Nie mogê zarezerwowaæ bufora; zakoñczenie..."
@@ -134,8 +134,8 @@
 msgid "help"
 msgstr "pomoc"
 
-msgid "[help]"
-msgstr "[pomoc]"
+msgid "[Help]"
+msgstr "[Pomoc]"
 
 msgid "[Preview]"
 msgstr "[Podgl±d]"
@@ -157,8 +157,11 @@
 "\n"
 "# Lista buforów:\n"
 
-msgid "[Error List]"
-msgstr "[Lista B³êdów]"
+msgid "[Location List]"
+msgstr "[Lista lokacji]"
+
+msgid "[Quickfix List]"
+msgstr "[Lista quickfix]"
 
 msgid ""
 "\n"
@@ -490,6 +493,9 @@
 msgid "E699: Too many arguments"
 msgstr "E699: Za du¿o argumentów"
 
+msgid "E785: complete() can only be used in Insert mode"
+msgstr "E785: complete() mo¿e byæ u¿yte tylko w trybie Wprowadzania"
+
 #.
 #. * Yes this is ugly, I don't particularly like it either.  But doing it
 #. * this way has the compelling advantage that translations need not to
@@ -771,6 +777,21 @@
 msgid "finished sourcing %s"
 msgstr "skoñczono wczytywanie %s"
 
+msgid "modeline"
+msgstr "modeline"
+
+msgid "--cmd argument"
+msgstr "--cmd argument"
+
+msgid "-c argument"
+msgstr "-c argument"
+
+msgid "environment variable"
+msgstr "zmienna ¶rodowiskowa"
+
+msgid "error handler"
+msgstr "obs³uga b³êdu"
+
 msgid "W15: Warning: Wrong line separator, ^M may be missing"
 msgstr "W15: OSTRZE¯ENIE: Niew³a¶ciwy separator wierszy, pewnie brak ^M"
 
@@ -1158,9 +1179,19 @@
 msgid "Greetings, Vim user!"
 msgstr "Witaj u¿ytkowniku Vima!"
 
+msgid "E784: Cannot close last tab page"
+msgstr "E784: Nie mogê zamkn±æ ostatniej karty"
+
+msgid "Already only one tab page"
+msgstr "Jest ju¿ tylko jedna karta"
+
 msgid "Edit File in new window"
 msgstr "Edytuj plik w nowym oknie"
 
+#, c-format
+msgid "Tab page %d"
+msgstr "Karta %d"
+
 msgid "No swap file"
 msgstr "Brak pliku wymiany"
 
@@ -1404,6 +1435,9 @@
 msgid "[New File]"
 msgstr "[Nowy Plik]"
 
+msgid "[New DIRECTORY]"
+msgstr "[Nowy KATALOG]"
+
 msgid "[File too big]"
 msgstr "[Za du¿y plik]"
 
@@ -1456,8 +1490,9 @@
 msgid "[crypted]"
 msgstr "[zakodowane]"
 
-msgid "[CONVERSION ERROR]"
-msgstr "[B£¡D W PRZEMIANIE]"
+#, c-format
+msgid "[CONVERSION ERROR in line %ld]"
+msgstr "[B£¡D W PRZEMIANIE w linii %ld]"
 
 #, c-format
 msgid "[ILLEGAL BYTE in line %ld]"
@@ -1909,6 +1944,15 @@
 msgid "Vim: Received \"die\" request from session manager\n"
 msgstr "Vim: otrzymano ¿±danie \"die\" od manad¿era sesji\n"
 
+msgid "Close"
+msgstr "Zamknij"
+
+msgid "New tab"
+msgstr "Nowa karta"
+
+msgid "Open Tab..."
+msgstr "Otwórz kartê..."
+
 msgid "Vim: Main window unexpectedly destroyed\n"
 msgstr "Vim: G³ówne okno nieoczekiwanie zniszczone\n"
 
@@ -1980,6 +2024,12 @@
 msgid "E672: Unable to open window inside MDI application"
 msgstr "E672: Nie mo¿na otworzyæ okna wewn±trz aplikacji MDI"
 
+msgid "Close tab"
+msgstr "Zamknij kartê"
+
+msgid "Open tab..."
+msgstr "Otwórz kartê..."
+
 msgid "Find string (use '\\\\' to find  a '\\')"
 msgstr "Znajd¼ ci±g (u¿yj '\\\\' do szukania '\\')"
 
@@ -2699,7 +2749,9 @@
 "   lub:"
 
 msgid "where case is ignored prepend / to make flag upper case"
-msgstr "gdzie wielko¶æ znaków jest ignorowana dodaj na pocz±tku / by flaga by³a wielk± liter±"
+msgstr ""
+"gdzie wielko¶æ znaków jest ignorowana dodaj na pocz±tku / by flaga by³a "
+"wielk± liter±"
 
 msgid ""
 "\n"
@@ -2812,6 +2864,9 @@
 msgid "--noplugin\t\tDon't load plugin scripts"
 msgstr "--noplugin\t\tNie ³aduj skryptów wtyczek"
 
+msgid "-p[N]\t\tOpen N tab pages (default: one for each file)"
+msgstr "-p[N]\t\tOtwórz N kart (domy¶lnie: po jednej dla ka¿dego pliku)"
+
 msgid "-o[N]\t\tOpen N windows (default: one for each file)"
 msgstr "-o[N]\t\tOtwórz N okien (domy¶lnie: po jednym dla ka¿dego pliku)"
 
@@ -2865,6 +2920,9 @@
 msgid "--remote-wait-silent <files>  Same, don't complain if there is no server"
 msgstr "--remote-wait-silent <pliki>  To samo, nie narzekaj je¶li nie ma serwera"
 
+msgid "--remote-tab <files>  As --remote but open tab page for each file"
+msgstr "--remote-tab <pliki>\tTak jak --remote ale otwórz jedn± kartê dla ka¿dego pliku"
+
 msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit"
 msgstr "--remote-send <klawisze>\tWy¶lij <klawisze> do serwera Vima i zakoñcz"
 
@@ -2984,25 +3042,6 @@
 msgid "--socketid <xid>\tOpen Vim inside another GTK widget"
 msgstr "--socketid <xid>\tOtwórz Vim wewn±trz innego widgetu GTK"
 
-msgid ""
-"\n"
-"Arguments recognised by kvim (KDE version):\n"
-msgstr ""
-"\n"
-"Argumenty rozpoznawane przez kvim (wersja KDE):\n"
-
-msgid "-black\t\tUse reverse video"
-msgstr "-black\t\tStosuj negatyw kolorów"
-
-msgid "-tip\t\t\tDisplay the tip dialog on startup"
-msgstr "-tip\t\t\tPoka¿ okno wskazówek na pocz±tku"
-
-msgid "-notip\t\tDisable the tip dialog"
-msgstr "-notip\t\tWy³±cz okno wskazówek"
-
-msgid "--display <display>\tRun vim on <display>"
-msgstr "--display <display>\tUruchom vim na <display>"
-
 msgid "-P <parent title>\tOpen Vim inside parent application"
 msgstr "-P <tytu³ rodzica>\tOtwórz Vima wewn±trz rodzicielskiej aplikacji"
 
@@ -3423,6 +3462,10 @@
 msgid "E317: pointer block id wrong 2"
 msgstr "E317: niepoprawne id bloku odniesienia 2"
 
+#, c-format
+msgid "E773: Symlink loop for \"%s\""
+msgstr "E773: Pêtla dowi±zañ dla \"%s\""
+
 msgid "E325: ATTENTION"
 msgstr "E325: UWAGA"
 
@@ -3511,16 +3554,16 @@
 "&Open Read-Only\n"
 "&Edit anyway\n"
 "&Recover\n"
+"&Delete it\n"
 "&Quit\n"
-"&Abort\n"
-"&Delete it"
+"&Abort"
 msgstr ""
 "&Otwórz Read-Only\n"
 "&Edytuj pomimo\n"
 "O&dtwórz\n"
+"&Usuñ\n"
 "&Zakoñcz\n"
-"&Porzuæ\n"
-"&Skasuj go"
+"&Porzuæ"
 
 msgid "E326: Too many swap files found"
 msgstr "E326: Znaleziono zbyt wiele plików wymiany"
@@ -3787,6 +3830,12 @@
 msgid "E505: "
 msgstr "E505: "
 
+msgid "E774: 'operatorfunc' is empty"
+msgstr "E774: 'operatorfunc' jest pusta"
+
+msgid "E775: Eval feature not available"
+msgstr "E775: Funkcjonalno¶æ eval nie jest dostêpna"
+
 msgid "Warning: terminal cannot highlight"
 msgstr "OSTRZE¯ENIE: terminal nie wykonuje pod¶wietlania"
 
@@ -4134,6 +4183,9 @@
 msgid "...(truncated)"
 msgstr "...(obciêty)"
 
+msgid "Message"
+msgstr "Wiadomo¶æ"
+
 msgid "'columns' is not 80, cannot execute external commands"
 msgstr "'columns' nie wynosi 80, nie mogê wykonaæ zewnêtrznych komend"
 
@@ -4182,14 +4234,6 @@
 msgid "Opening the X display took %ld msec"
 msgstr "Otwieranie ekranu X trwa³o %ld msec"
 
-#. KDE sometimes produces X error that we want to ignore
-msgid ""
-"\n"
-"Vim: Got X error but we continue...\n"
-msgstr ""
-"\n"
-"Vim: Dosta³em b³±d X ale kontynuujê...\n"
-
 msgid ""
 "\n"
 "Vim: Got X error\n"
@@ -4374,6 +4418,9 @@
 msgid "E681: Buffer is not loaded"
 msgstr "E681: Bufor nie jest za³adowany"
 
+msgid "E777: String or List expected"
+msgstr "E777: Oczekiwano ³añcucha lub listy"
+
 #, c-format
 msgid "E369: invalid item in %s%%[]"
 msgstr "E369: Niew³a¶ciwy element w %s%%[]"
@@ -4557,6 +4604,10 @@
 msgid "Scanning included file: %s"
 msgstr "Przegl±d w³±czonego pliku: %s"
 
+#, c-format
+msgid "Searching included file %s"
+msgstr "Przeszukiwanie w³±czonego pliku %s"
+
 msgid "E387: Match is on current line"
 msgstr "E387: Wzorzec pasuje w bie¿±cym wierszu"
 
@@ -4647,12 +4698,8 @@
 msgstr "FLAG po u¿yciu flag w %s wiersz %d: %s"
 
 #, c-format
-msgid "Character used for SLASH must be ASCII; in %s line %d: %s"
-msgstr "Znak u¿yty jako SLASH musi byæ znakiem ASCII; w %s wiersz %d: %s"
-
-#, c-format
-msgid "Wrong COMPOUNDMAX value in %s line %d: %s"
-msgstr "Z³a warto¶æ COMPOUNDMAX w %s wiersz %d: %s"
+msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s"
+msgstr "Z³a warto¶æ COMPOUNDWORDMAX w %s wiersz %d: %s"
 
 #, c-format
 msgid "Wrong COMPOUNDMIN value in %s line %d: %s"
@@ -4663,6 +4710,10 @@
 msgstr "Z³a warto¶æ COMPOUNDSYLMAX w %s wiersz %d: %s"
 
 #, c-format
+msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s"
+msgstr "Z³a warto¶æ CHECKCOMPOUNDPATTERN w %s wiersz %d: %s"
+
+#, c-format
 msgid "Different combining flag in continued affix block in %s line %d: %s"
 msgstr "Ró¿ne flagi z³o¿eñ w kontynuowanym bloku afiksu w %s wiersz %d: %s"
 
@@ -4671,8 +4722,10 @@
 msgstr "Powtórzony afiks w %s wiersz %d: %s"
 
 #, c-format
-msgid "Affix also used for BAD/RAR/KEP/NEEDAFFIX/NEEDCOMPOUND in %s line %d: %s"
-msgstr "Afiks u¿yty tak¿e dla BAD/RAR/KEP/NEEDAFFIX/NEEDCOMPOUND w %s wiersz %d: %s"
+msgid ""
+"Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s "
+"line %d: %s"
+msgstr "Afiks u¿yty tak¿e dla BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST w %s wiersz %d: %s"
 
 #, c-format
 msgid "Expected Y or N in %s line %d: %s"
@@ -4683,8 +4736,12 @@
 msgstr "B³êdny warunek w %s wiersz %d: %s"
 
 #, c-format
-msgid "Expected REP count in %s line %d"
-msgstr "Oczekiwano ilo¶ci REP w %s wierszu %d"
+msgid "Affix flags ignored when PFXPOSTPONE used in %s line %d: %s"
+msgstr "Flagi afiksów zignorowane kiedy u¿yto PFXPOSTPONE w %s wierz %d: %s"
+
+#, c-format
+msgid "Expected REP(SAL) count in %s line %d"
+msgstr "Oczekiwano ilo¶ci REP(SAL) w %s wierszu %d"
 
 #, c-format
 msgid "Expected MAP count in %s line %d"
@@ -4802,8 +4859,34 @@
 msgstr "Zignorowa³em %d s³ów ze znakami nie ASCII"
 
 #, c-format
-msgid "Compressed %d of %d nodes; %d%% remaining"
-msgstr "Skompresowano %d z %d wêz³ów; pozostaje %d%%"
+msgid "Compressed %d of %d nodes; %d (%d%%) remaining"
+msgstr "Skompresowano %d z %d wêz³ów; pozostaje %d (%d%%)"
+
+msgid "Reading back spell file..."
+msgstr "Odczytujê plik sprawdzania pisowni..."
+
+#.
+#. * Go through the trie of good words, soundfold each word and add it to
+#. * the soundfold trie.
+#.
+msgid "Performing soundfolding..."
+msgstr "Wykonujê kompresjê d¼wiêkow±..."
+
+#, c-format
+msgid "Number of words after soundfolding: %ld"
+msgstr "Liczba s³ów po kompresji d¼wiêkowej: %ld"
+
+#, c-format
+msgid "Total number of words: %d"
+msgstr "Ca³kowita liczba s³ów: %d"
+
+#, c-format
+msgid "Writing suggestion file %s ..."
+msgstr "Zapisujê plik sugestii %s ..."
+
+#, c-format
+msgid "Estimated runtime memory use: %d bytes"
+msgstr "Oczekiwane zu¿ycie pamiêci: %d bajtów"
 
 msgid "E751: Output file name must not have region name"
 msgstr "E751: Nazwa pliku wynikowego nie mo¿e byæ nazw± regionu"
@@ -4826,13 +4909,17 @@
 msgstr "Zrobione!"
 
 #, c-format
-msgid "Estimated runtime memory use: %d bytes"
-msgstr "Oczekiwane zu¿ycie pamiêci: %d bajtów"
-
-#, c-format
 msgid "E765: 'spellfile' does not have %ld entries"
 msgstr "E765: 'spellfile' nie posiada wpisów %ld"
 
+#, c-format
+msgid "Word removed from %s"
+msgstr "Usuniêto s³owo z %s"
+
+#, c-format
+msgid "Word added to %s"
+msgstr "Dodano s³owo do %s"
+
 msgid "E763: Word characters differ between spell files"
 msgstr "E763: Znaki wyrazów ró¿ni± siê miêdzy plikami sprawdzania pisowni"
 
@@ -4859,10 +4946,30 @@
 msgid "E753: Not found: %s"
 msgstr "E753: Nie znaleziono: %s"
 
+#, c-format
+msgid "E778: This does not look like a .sug file: %s"
+msgstr "E778: Ten plik nie wygl±da na plik .sug: %s"
+
+#, c-format
+msgid "E779: Old .sug file, needs to be updated: %s"
+msgstr "E779: Stary plik .sug, konieczne jest uaktualnienie: %s"
+
+#, c-format
+msgid "E780: .sug file is for newer version of Vim: %s"
+msgstr "E780: Plik .sug dla nowszej wersji Vima: %s"
+
+#, c-format
+msgid "E781: .sug file doesn't match .spl file: %s"
+msgstr "E781: Plik .sug nie pasuje do pliku .spl: %s"
+
+#, c-format
+msgid "E782: error while reading .sug file: %s"
+msgstr "E782: B³±d w czasie odczytu pliku .sug: %s"
+
 #. This should have been checked when generating the .spl
 #. * file.
-msgid "E999: duplicate char in MAP entry"
-msgstr "E999: powtórzony znak we wpisie MAP"
+msgid "E783: duplicate char in MAP entry"
+msgstr "E783: Podwojony znak we wpisie MAP"
 
 #, c-format
 msgid "E390: Illegal argument: %s"
@@ -5177,15 +5284,52 @@
 msgid "No undo possible; continue anyway"
 msgstr "Cofniêcie niemo¿liwe; mimo to kontynuujê"
 
+msgid "Already at oldest change"
+msgstr "Ju¿ w miejscu ostatniej zmiany"
+
+msgid "Already at newest change"
+msgstr "Ju¿ w miejscu najnowszej zmiany"
+
+#, c-format
+msgid "Undo number %ld not found"
+msgstr "Nie znaleziono numeru cofniêcia %ld"
+
 msgid "E438: u_undo: line numbers wrong"
 msgstr "E438: u_undo: niew³a¶ciwe numery wierszy"
 
-msgid "1 change"
+msgid "more line"
+msgstr "1 wiersz wiêcej"
+
+msgid "more lines"
+msgstr "wiêcej wierszy"
+
+msgid "line less"
+msgstr "1 wiersz mniej"
+
+msgid "fewer lines"
+msgstr "mniej wierszy"
+
+msgid "change"
 msgstr "1 zmiana"
 
+msgid "changes"
+msgstr "zmiany"
+
 #, c-format
-msgid "%ld changes"
-msgstr "%ld zmian"
+msgid "%ld %s; %s #%ld  %s"
+msgstr "%ld %s; %s #%ld  %s"
+
+msgid "before"
+msgstr "przed"
+
+msgid "after"
+msgstr "za"
+
+msgid "Nothing to undo"
+msgstr "Nie ma zmian do cofniêcia"
+
+msgid "number changes  time"
+msgstr "liczba zmiany czas"
 
 msgid "E439: undo list corrupt"
 msgstr "E439: uszkodzona lista cofania"
@@ -5364,9 +5508,6 @@
 msgid "with (classic) GUI."
 msgstr "z (klasycznym) GUI."
 
-msgid "with KDE GUI."
-msgstr "z GUI KDE."
-
 msgid "  Features included (+) or not (-):\n"
 msgstr "  Opcje w³±czone (+) lub nie (-):\n"
 
@@ -5782,6 +5923,9 @@
 msgid "E42: No Errors"
 msgstr "E42: Brak B³êdów"
 
+msgid "E776: No location list"
+msgstr "E776: Brak listy lokacji"
+
 msgid "E43: Damaged match string"
 msgstr "E43: Popsuty ci±g wzorca"
 
diff --git a/src/proto/ex_getln.pro b/src/proto/ex_getln.pro
index ba18f38..9ccb42f 100644
--- a/src/proto/ex_getln.pro
+++ b/src/proto/ex_getln.pro
@@ -1,53 +1,54 @@
 /* ex_getln.c */
-extern char_u *getcmdline __ARGS((int firstc, long count, int indent));
-extern char_u *getcmdline_prompt __ARGS((int firstc, char_u *prompt, int attr, int xp_context, char_u *xp_arg));
-extern int text_locked __ARGS((void));
-extern void text_locked_msg __ARGS((void));
-extern char_u *getexline __ARGS((int c, void *dummy, int indent));
-extern char_u *getexmodeline __ARGS((int promptc, void *dummy, int indent));
-extern int cmdline_overstrike __ARGS((void));
-extern int cmdline_at_end __ARGS((void));
-extern colnr_T cmdline_getvcol_cursor __ARGS((void));
-extern void free_cmdline_buf __ARGS((void));
-extern void putcmdline __ARGS((int c, int shift));
-extern void unputcmdline __ARGS((void));
-extern int put_on_cmdline __ARGS((char_u *str, int len, int redraw));
-extern void cmdline_paste_str __ARGS((char_u *s, int literally));
-extern void redrawcmdline __ARGS((void));
-extern void redrawcmd __ARGS((void));
-extern void compute_cmdrow __ARGS((void));
-extern void gotocmdline __ARGS((int clr));
-extern char_u *ExpandOne __ARGS((expand_T *xp, char_u *str, char_u *orig, int options, int mode));
-extern void ExpandInit __ARGS((expand_T *xp));
-extern void ExpandCleanup __ARGS((expand_T *xp));
-extern void ExpandEscape __ARGS((expand_T *xp, char_u *str, int numfiles, char_u **files, int options));
-extern void tilde_replace __ARGS((char_u *orig_pat, int num_files, char_u **files));
-extern char_u *sm_gettail __ARGS((char_u *s));
-extern char_u *addstar __ARGS((char_u *fname, int len, int context));
-extern void set_cmd_context __ARGS((expand_T *xp, char_u *str, int len, int col));
-extern int expand_cmdline __ARGS((expand_T *xp, char_u *str, int col, int *matchcount, char_u ***matches));
-extern int ExpandGeneric __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file, char_u *((*func)(expand_T *, int))));
-extern char_u *globpath __ARGS((char_u *path, char_u *file));
-extern void init_history __ARGS((void));
-extern int get_histtype __ARGS((char_u *name));
-extern void add_to_history __ARGS((int histype, char_u *new_entry, int in_map, int sep));
-extern int get_history_idx __ARGS((int histype));
-extern char_u *get_cmdline_str __ARGS((void));
-extern int get_cmdline_pos __ARGS((void));
-extern int set_cmdline_pos __ARGS((int pos));
-extern int get_cmdline_type __ARGS((void));
-extern char_u *get_history_entry __ARGS((int histype, int idx));
-extern int clr_history __ARGS((int histype));
-extern int del_history_entry __ARGS((int histype, char_u *str));
-extern int del_history_idx __ARGS((int histype, int idx));
-extern void remove_key_from_history __ARGS((void));
-extern int get_list_range __ARGS((char_u **str, int *num1, int *num2));
-extern void ex_history __ARGS((exarg_T *eap));
-extern void prepare_viminfo_history __ARGS((int asklen));
-extern int read_viminfo_history __ARGS((vir_T *virp));
-extern void finish_viminfo_history __ARGS((void));
-extern void write_viminfo_history __ARGS((FILE *fp));
-extern void cmd_pchar __ARGS((int c, int offset));
-extern int cmd_gchar __ARGS((int offset));
-extern char_u *script_get __ARGS((exarg_T *eap, char_u *cmd));
+char_u *getcmdline __ARGS((int firstc, long count, int indent));
+char_u *getcmdline_prompt __ARGS((int firstc, char_u *prompt, int attr, int xp_context, char_u *xp_arg));
+int text_locked __ARGS((void));
+void text_locked_msg __ARGS((void));
+int curbuf_locked __ARGS((void));
+char_u *getexline __ARGS((int c, void *dummy, int indent));
+char_u *getexmodeline __ARGS((int promptc, void *dummy, int indent));
+int cmdline_overstrike __ARGS((void));
+int cmdline_at_end __ARGS((void));
+colnr_T cmdline_getvcol_cursor __ARGS((void));
+void free_cmdline_buf __ARGS((void));
+void putcmdline __ARGS((int c, int shift));
+void unputcmdline __ARGS((void));
+int put_on_cmdline __ARGS((char_u *str, int len, int redraw));
+void cmdline_paste_str __ARGS((char_u *s, int literally));
+void redrawcmdline __ARGS((void));
+void redrawcmd __ARGS((void));
+void compute_cmdrow __ARGS((void));
+void gotocmdline __ARGS((int clr));
+char_u *ExpandOne __ARGS((expand_T *xp, char_u *str, char_u *orig, int options, int mode));
+void ExpandInit __ARGS((expand_T *xp));
+void ExpandCleanup __ARGS((expand_T *xp));
+void ExpandEscape __ARGS((expand_T *xp, char_u *str, int numfiles, char_u **files, int options));
+void tilde_replace __ARGS((char_u *orig_pat, int num_files, char_u **files));
+char_u *sm_gettail __ARGS((char_u *s));
+char_u *addstar __ARGS((char_u *fname, int len, int context));
+void set_cmd_context __ARGS((expand_T *xp, char_u *str, int len, int col));
+int expand_cmdline __ARGS((expand_T *xp, char_u *str, int col, int *matchcount, char_u ***matches));
+int ExpandGeneric __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file, char_u *((*func)(expand_T *, int))));
+char_u *globpath __ARGS((char_u *path, char_u *file));
+void init_history __ARGS((void));
+int get_histtype __ARGS((char_u *name));
+void add_to_history __ARGS((int histype, char_u *new_entry, int in_map, int sep));
+int get_history_idx __ARGS((int histype));
+char_u *get_cmdline_str __ARGS((void));
+int get_cmdline_pos __ARGS((void));
+int set_cmdline_pos __ARGS((int pos));
+int get_cmdline_type __ARGS((void));
+char_u *get_history_entry __ARGS((int histype, int idx));
+int clr_history __ARGS((int histype));
+int del_history_entry __ARGS((int histype, char_u *str));
+int del_history_idx __ARGS((int histype, int idx));
+void remove_key_from_history __ARGS((void));
+int get_list_range __ARGS((char_u **str, int *num1, int *num2));
+void ex_history __ARGS((exarg_T *eap));
+void prepare_viminfo_history __ARGS((int asklen));
+int read_viminfo_history __ARGS((vir_T *virp));
+void finish_viminfo_history __ARGS((void));
+void write_viminfo_history __ARGS((FILE *fp));
+void cmd_pchar __ARGS((int c, int offset));
+int cmd_gchar __ARGS((int offset));
+char_u *script_get __ARGS((exarg_T *eap, char_u *cmd));
 /* vim: set ft=c : */
diff --git a/src/proto/gui_motif.pro b/src/proto/gui_motif.pro
index c1b1946..3e08ec9 100644
--- a/src/proto/gui_motif.pro
+++ b/src/proto/gui_motif.pro
@@ -1,42 +1,46 @@
 /* gui_motif.c */
-extern void gui_x11_create_widgets __ARGS((void));
-extern void gui_x11_destroy_widgets __ARGS((void));
-extern void gui_mch_set_text_area_pos __ARGS((int x, int y, int w, int h));
-extern void gui_x11_set_back_color __ARGS((void));
-extern void manage_centered __ARGS((Widget dialog_child));
-extern XmFontList gui_motif_create_fontlist __ARGS((XFontStruct *font));
-extern XmFontList gui_motif_fontset2fontlist __ARGS((XFontSet *fontset));
-extern void gui_mch_enable_menu __ARGS((int flag));
-extern void gui_motif_set_mnemonics __ARGS((int enable));
-extern void gui_mch_add_menu __ARGS((vimmenu_T *menu, int idx));
-extern void gui_mch_toggle_tearoffs __ARGS((int enable));
-extern int gui_mch_text_area_extra_height __ARGS((void));
-extern void gui_mch_compute_menu_height __ARGS((Widget id));
-extern void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
-extern void gui_motif_update_mousemodel __ARGS((vimmenu_T *menu));
-extern void gui_mch_new_menu_colors __ARGS((void));
-extern void gui_mch_new_menu_font __ARGS((void));
-extern void gui_mch_new_tooltip_font __ARGS((void));
-extern void gui_mch_new_tooltip_colors __ARGS((void));
-extern void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
-extern void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
-extern void gui_mch_def_colors __ARGS((void));
-extern void gui_mch_set_scrollbar_thumb __ARGS((scrollbar_T *sb, long val, long size, long max));
-extern void gui_mch_set_scrollbar_pos __ARGS((scrollbar_T *sb, int x, int y, int w, int h));
-extern void gui_mch_enable_scrollbar __ARGS((scrollbar_T *sb, int flag));
-extern void gui_mch_create_scrollbar __ARGS((scrollbar_T *sb, int orient));
-extern void gui_mch_destroy_scrollbar __ARGS((scrollbar_T *sb));
-extern void gui_mch_set_scrollbar_colors __ARGS((scrollbar_T *sb));
-extern Window gui_x11_get_wid __ARGS((void));
-extern char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
-extern int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *button_names, int dfltbutton, char_u *textfield));
-extern void gui_mch_enable_footer __ARGS((int showit));
-extern void gui_mch_set_footer __ARGS((char_u *s));
-extern void gui_mch_show_toolbar __ARGS((int showit));
-extern int gui_mch_compute_toolbar_height __ARGS((void));
-extern void motif_get_toolbar_colors __ARGS((Pixel *bgp, Pixel *fgp, Pixel *bsp, Pixel *tsp, Pixel *hsp));
-extern void gui_motif_menu_fontlist __ARGS((Widget id));
-extern void gui_mch_find_dialog __ARGS((exarg_T *eap));
-extern void gui_mch_replace_dialog __ARGS((exarg_T *eap));
-extern void gui_motif_synch_fonts __ARGS((void));
+void gui_x11_create_widgets __ARGS((void));
+void gui_x11_destroy_widgets __ARGS((void));
+void gui_mch_set_text_area_pos __ARGS((int x, int y, int w, int h));
+void gui_x11_set_back_color __ARGS((void));
+void manage_centered __ARGS((Widget dialog_child));
+XmFontList gui_motif_create_fontlist __ARGS((XFontStruct *font));
+XmFontList gui_motif_fontset2fontlist __ARGS((XFontSet *fontset));
+void gui_mch_enable_menu __ARGS((int flag));
+void gui_motif_set_mnemonics __ARGS((int enable));
+void gui_mch_add_menu __ARGS((vimmenu_T *menu, int idx));
+void gui_mch_toggle_tearoffs __ARGS((int enable));
+int gui_mch_text_area_extra_height __ARGS((void));
+void gui_mch_compute_menu_height __ARGS((Widget id));
+void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
+void gui_motif_update_mousemodel __ARGS((vimmenu_T *menu));
+void gui_mch_new_menu_colors __ARGS((void));
+void gui_mch_new_menu_font __ARGS((void));
+void gui_mch_new_tooltip_font __ARGS((void));
+void gui_mch_new_tooltip_colors __ARGS((void));
+void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
+void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
+void gui_mch_def_colors __ARGS((void));
+void gui_mch_set_scrollbar_thumb __ARGS((scrollbar_T *sb, long val, long size, long max));
+void gui_mch_set_scrollbar_pos __ARGS((scrollbar_T *sb, int x, int y, int w, int h));
+void gui_mch_enable_scrollbar __ARGS((scrollbar_T *sb, int flag));
+void gui_mch_create_scrollbar __ARGS((scrollbar_T *sb, int orient));
+void gui_mch_destroy_scrollbar __ARGS((scrollbar_T *sb));
+void gui_mch_set_scrollbar_colors __ARGS((scrollbar_T *sb));
+Window gui_x11_get_wid __ARGS((void));
+char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
+int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *button_names, int dfltbutton, char_u *textfield));
+void gui_mch_enable_footer __ARGS((int showit));
+void gui_mch_set_footer __ARGS((char_u *s));
+void gui_mch_show_toolbar __ARGS((int showit));
+int gui_mch_compute_toolbar_height __ARGS((void));
+void motif_get_toolbar_colors __ARGS((Pixel *bgp, Pixel *fgp, Pixel *bsp, Pixel *tsp, Pixel *hsp));
+void gui_mch_show_tabline __ARGS((int showit));
+int gui_mch_showing_tabline __ARGS((void));
+void gui_mch_update_tabline __ARGS((void));
+void gui_mch_set_curtab __ARGS((int nr));
+void gui_motif_menu_fontlist __ARGS((Widget id));
+void gui_mch_find_dialog __ARGS((exarg_T *eap));
+void gui_mch_replace_dialog __ARGS((exarg_T *eap));
+void gui_motif_synch_fonts __ARGS((void));
 /* vim: set ft=c : */
diff --git a/src/proto/misc1.pro b/src/proto/misc1.pro
index 49fc4b0..e9bc32c 100644
--- a/src/proto/misc1.pro
+++ b/src/proto/misc1.pro
@@ -1,94 +1,95 @@
 /* misc1.c */
-extern int get_indent __ARGS((void));
-extern int get_indent_lnum __ARGS((linenr_T lnum));
-extern int get_indent_buf __ARGS((buf_T *buf, linenr_T lnum));
-extern int get_indent_str __ARGS((char_u *ptr, int ts));
-extern int set_indent __ARGS((int size, int flags));
-extern int get_number_indent __ARGS((linenr_T lnum));
-extern int open_line __ARGS((int dir, int flags, int old_indent));
-extern int get_leader_len __ARGS((char_u *line, char_u **flags, int backward));
-extern int plines __ARGS((linenr_T lnum));
-extern int plines_win __ARGS((win_T *wp, linenr_T lnum, int winheight));
-extern int plines_nofill __ARGS((linenr_T lnum));
-extern int plines_win_nofill __ARGS((win_T *wp, linenr_T lnum, int winheight));
-extern int plines_win_nofold __ARGS((win_T *wp, linenr_T lnum));
-extern int plines_win_col __ARGS((win_T *wp, linenr_T lnum, long column));
-extern int plines_m_win __ARGS((win_T *wp, linenr_T first, linenr_T last));
-extern void ins_bytes __ARGS((char_u *p));
-extern void ins_bytes_len __ARGS((char_u *p, int len));
-extern void ins_char __ARGS((int c));
-extern void ins_char_bytes __ARGS((char_u *buf, int charlen));
-extern void ins_str __ARGS((char_u *s));
-extern int del_char __ARGS((int fixpos));
-extern int del_chars __ARGS((long count, int fixpos));
-extern int del_bytes __ARGS((long count, int fixpos_arg, int use_delcombine));
-extern int truncate_line __ARGS((int fixpos));
-extern void del_lines __ARGS((long nlines, int undo));
-extern int gchar_pos __ARGS((pos_T *pos));
-extern int gchar_cursor __ARGS((void));
-extern void pchar_cursor __ARGS((int c));
-extern int inindent __ARGS((int extra));
-extern char_u *skip_to_option_part __ARGS((char_u *p));
-extern void changed __ARGS((void));
-extern void changed_bytes __ARGS((linenr_T lnum, colnr_T col));
-extern void appended_lines __ARGS((linenr_T lnum, long count));
-extern void appended_lines_mark __ARGS((linenr_T lnum, long count));
-extern void deleted_lines __ARGS((linenr_T lnum, long count));
-extern void deleted_lines_mark __ARGS((linenr_T lnum, long count));
-extern void changed_lines __ARGS((linenr_T lnum, colnr_T col, linenr_T lnume, long xtra));
-extern void unchanged __ARGS((buf_T *buf, int ff));
-extern void check_status __ARGS((buf_T *buf));
-extern void change_warning __ARGS((int col));
-extern int ask_yesno __ARGS((char_u *str, int direct));
-extern int get_keystroke __ARGS((void));
-extern int get_number __ARGS((int colon, int *mouse_used));
-extern int prompt_for_number __ARGS((int *mouse_used));
-extern void msgmore __ARGS((long n));
-extern void beep_flush __ARGS((void));
-extern void vim_beep __ARGS((void));
-extern void init_homedir __ARGS((void));
-extern void free_homedir __ARGS((void));
-extern void expand_env __ARGS((char_u *src, char_u *dst, int dstlen));
-extern void expand_env_esc __ARGS((char_u *srcp, char_u *dst, int dstlen, int esc, char_u *startstr));
-extern char_u *vim_getenv __ARGS((char_u *name, int *mustfree));
-extern char_u *expand_env_save __ARGS((char_u *src));
-extern void vim_setenv __ARGS((char_u *name, char_u *val));
-extern char_u *get_env_name __ARGS((expand_T *xp, int idx));
-extern void home_replace __ARGS((buf_T *buf, char_u *src, char_u *dst, int dstlen, int one));
-extern char_u *home_replace_save __ARGS((buf_T *buf, char_u *src));
-extern int fullpathcmp __ARGS((char_u *s1, char_u *s2, int checkname));
-extern char_u *gettail __ARGS((char_u *fname));
-extern char_u *gettail_sep __ARGS((char_u *fname));
-extern char_u *getnextcomp __ARGS((char_u *fname));
-extern char_u *get_past_head __ARGS((char_u *path));
-extern int vim_ispathsep __ARGS((int c));
-extern int vim_ispathlistsep __ARGS((int c));
-extern int dir_of_file_exists __ARGS((char_u *fname));
-extern int vim_fnamecmp __ARGS((char_u *x, char_u *y));
-extern int vim_fnamencmp __ARGS((char_u *x, char_u *y, size_t len));
-extern char_u *concat_fnames __ARGS((char_u *fname1, char_u *fname2, int sep));
-extern char_u *concat_str __ARGS((char_u *str1, char_u *str2));
-extern void add_pathsep __ARGS((char_u *p));
-extern char_u *FullName_save __ARGS((char_u *fname, int force));
-extern pos_T *find_start_comment __ARGS((int ind_maxcomment));
-extern void do_c_expr_indent __ARGS((void));
-extern int cin_islabel __ARGS((int ind_maxcomment));
-extern int cin_iscase __ARGS((char_u *s));
-extern int cin_isscopedecl __ARGS((char_u *s));
-extern int get_c_indent __ARGS((void));
-extern int get_expr_indent __ARGS((void));
-extern int get_lisp_indent __ARGS((void));
-extern void prepare_to_exit __ARGS((void));
-extern void preserve_exit __ARGS((void));
-extern int vim_fexists __ARGS((char_u *fname));
-extern void line_breakcheck __ARGS((void));
-extern void fast_breakcheck __ARGS((void));
-extern int expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
-extern int match_suffix __ARGS((char_u *fname));
-extern int unix_expandpath __ARGS((garray_T *gap, char_u *path, int wildoff, int flags, int didstar));
-extern int gen_expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
-extern void addfile __ARGS((garray_T *gap, char_u *f, int flags));
-extern char_u *get_cmd_output __ARGS((char_u *cmd, char_u *infile, int flags));
-extern void FreeWild __ARGS((int count, char_u **files));
-extern int goto_im __ARGS((void));
+int get_indent __ARGS((void));
+int get_indent_lnum __ARGS((linenr_T lnum));
+int get_indent_buf __ARGS((buf_T *buf, linenr_T lnum));
+int get_indent_str __ARGS((char_u *ptr, int ts));
+int set_indent __ARGS((int size, int flags));
+int get_number_indent __ARGS((linenr_T lnum));
+int open_line __ARGS((int dir, int flags, int old_indent));
+int get_leader_len __ARGS((char_u *line, char_u **flags, int backward));
+int plines __ARGS((linenr_T lnum));
+int plines_win __ARGS((win_T *wp, linenr_T lnum, int winheight));
+int plines_nofill __ARGS((linenr_T lnum));
+int plines_win_nofill __ARGS((win_T *wp, linenr_T lnum, int winheight));
+int plines_win_nofold __ARGS((win_T *wp, linenr_T lnum));
+int plines_win_col __ARGS((win_T *wp, linenr_T lnum, long column));
+int plines_m_win __ARGS((win_T *wp, linenr_T first, linenr_T last));
+void ins_bytes __ARGS((char_u *p));
+void ins_bytes_len __ARGS((char_u *p, int len));
+void ins_char __ARGS((int c));
+void ins_char_bytes __ARGS((char_u *buf, int charlen));
+void ins_str __ARGS((char_u *s));
+int del_char __ARGS((int fixpos));
+int del_chars __ARGS((long count, int fixpos));
+int del_bytes __ARGS((long count, int fixpos_arg, int use_delcombine));
+int truncate_line __ARGS((int fixpos));
+void del_lines __ARGS((long nlines, int undo));
+int gchar_pos __ARGS((pos_T *pos));
+int gchar_cursor __ARGS((void));
+void pchar_cursor __ARGS((int c));
+int inindent __ARGS((int extra));
+char_u *skip_to_option_part __ARGS((char_u *p));
+void changed __ARGS((void));
+void changed_bytes __ARGS((linenr_T lnum, colnr_T col));
+void appended_lines __ARGS((linenr_T lnum, long count));
+void appended_lines_mark __ARGS((linenr_T lnum, long count));
+void deleted_lines __ARGS((linenr_T lnum, long count));
+void deleted_lines_mark __ARGS((linenr_T lnum, long count));
+void changed_lines __ARGS((linenr_T lnum, colnr_T col, linenr_T lnume, long xtra));
+void unchanged __ARGS((buf_T *buf, int ff));
+void check_status __ARGS((buf_T *buf));
+void change_warning __ARGS((int col));
+int ask_yesno __ARGS((char_u *str, int direct));
+int get_keystroke __ARGS((void));
+int get_number __ARGS((int colon, int *mouse_used));
+int prompt_for_number __ARGS((int *mouse_used));
+void msgmore __ARGS((long n));
+void beep_flush __ARGS((void));
+void vim_beep __ARGS((void));
+void init_homedir __ARGS((void));
+void free_homedir __ARGS((void));
+void expand_env __ARGS((char_u *src, char_u *dst, int dstlen));
+void expand_env_esc __ARGS((char_u *srcp, char_u *dst, int dstlen, int esc, char_u *startstr));
+char_u *vim_getenv __ARGS((char_u *name, int *mustfree));
+char_u *expand_env_save __ARGS((char_u *src));
+void vim_setenv __ARGS((char_u *name, char_u *val));
+char_u *get_env_name __ARGS((expand_T *xp, int idx));
+void home_replace __ARGS((buf_T *buf, char_u *src, char_u *dst, int dstlen, int one));
+char_u *home_replace_save __ARGS((buf_T *buf, char_u *src));
+int fullpathcmp __ARGS((char_u *s1, char_u *s2, int checkname));
+char_u *gettail __ARGS((char_u *fname));
+char_u *gettail_sep __ARGS((char_u *fname));
+char_u *getnextcomp __ARGS((char_u *fname));
+char_u *get_past_head __ARGS((char_u *path));
+int vim_ispathsep __ARGS((int c));
+int vim_ispathlistsep __ARGS((int c));
+void shorten_dir __ARGS((char_u *str));
+int dir_of_file_exists __ARGS((char_u *fname));
+int vim_fnamecmp __ARGS((char_u *x, char_u *y));
+int vim_fnamencmp __ARGS((char_u *x, char_u *y, size_t len));
+char_u *concat_fnames __ARGS((char_u *fname1, char_u *fname2, int sep));
+char_u *concat_str __ARGS((char_u *str1, char_u *str2));
+void add_pathsep __ARGS((char_u *p));
+char_u *FullName_save __ARGS((char_u *fname, int force));
+pos_T *find_start_comment __ARGS((int ind_maxcomment));
+void do_c_expr_indent __ARGS((void));
+int cin_islabel __ARGS((int ind_maxcomment));
+int cin_iscase __ARGS((char_u *s));
+int cin_isscopedecl __ARGS((char_u *s));
+int get_c_indent __ARGS((void));
+int get_expr_indent __ARGS((void));
+int get_lisp_indent __ARGS((void));
+void prepare_to_exit __ARGS((void));
+void preserve_exit __ARGS((void));
+int vim_fexists __ARGS((char_u *fname));
+void line_breakcheck __ARGS((void));
+void fast_breakcheck __ARGS((void));
+int expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
+int match_suffix __ARGS((char_u *fname));
+int unix_expandpath __ARGS((garray_T *gap, char_u *path, int wildoff, int flags, int didstar));
+int gen_expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
+void addfile __ARGS((garray_T *gap, char_u *f, int flags));
+char_u *get_cmd_output __ARGS((char_u *cmd, char_u *infile, int flags));
+void FreeWild __ARGS((int count, char_u **files));
+int goto_im __ARGS((void));
 /* vim: set ft=c : */
diff --git a/src/proto/option.pro b/src/proto/option.pro
index 621d781..bb50ef1 100644
--- a/src/proto/option.pro
+++ b/src/proto/option.pro
@@ -1,56 +1,56 @@
 /* option.c */
-extern void set_init_1 __ARGS((void));
-extern void set_string_default __ARGS((char *name, char_u *val));
-extern void set_number_default __ARGS((char *name, long val));
-extern void free_all_options __ARGS((void));
-extern void set_init_2 __ARGS((void));
-extern void set_init_3 __ARGS((void));
-extern void set_helplang_default __ARGS((char_u *lang));
-extern void init_gui_options __ARGS((void));
-extern void set_title_defaults __ARGS((void));
-extern int do_set __ARGS((char_u *arg, int opt_flags));
-extern void set_options_bin __ARGS((int oldval, int newval, int opt_flags));
-extern int get_viminfo_parameter __ARGS((int type));
-extern char_u *find_viminfo_parameter __ARGS((int type));
-extern void check_options __ARGS((void));
-extern void check_buf_options __ARGS((buf_T *buf));
-extern void free_string_option __ARGS((char_u *p));
-extern void clear_string_option __ARGS((char_u **pp));
-extern void set_term_option_alloced __ARGS((char_u **p));
-extern int was_set_insecurely __ARGS((char_u *opt, int opt_flags));
-extern void set_string_option_direct __ARGS((char_u *name, int opt_idx, char_u *val, int opt_flags, int set_sid));
-extern char_u *check_stl_option __ARGS((char_u *s));
-extern int get_option_value __ARGS((char_u *name, long *numval, char_u **stringval, int opt_flags));
-extern void set_option_value __ARGS((char_u *name, long number, char_u *string, int opt_flags));
-extern char_u *get_term_code __ARGS((char_u *tname));
-extern char_u *get_highlight_default __ARGS((void));
-extern char_u *get_encoding_default __ARGS((void));
-extern int makeset __ARGS((FILE *fd, int opt_flags, int local_only));
-extern int makefoldset __ARGS((FILE *fd));
-extern void clear_termoptions __ARGS((void));
-extern void free_termoptions __ARGS((void));
-extern void set_term_defaults __ARGS((void));
-extern void comp_col __ARGS((void));
-extern char_u *get_equalprg __ARGS((void));
-extern void win_copy_options __ARGS((win_T *wp_from, win_T *wp_to));
-extern void copy_winopt __ARGS((winopt_T *from, winopt_T *to));
-extern void check_win_options __ARGS((win_T *win));
-extern void check_winopt __ARGS((winopt_T *wop));
-extern void clear_winopt __ARGS((winopt_T *wop));
-extern void buf_copy_options __ARGS((buf_T *buf, int flags));
-extern void reset_modifiable __ARGS((void));
-extern void set_iminsert_global __ARGS((void));
-extern void set_imsearch_global __ARGS((void));
-extern void set_context_in_set_cmd __ARGS((expand_T *xp, char_u *arg, int opt_flags));
-extern int ExpandSettings __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file));
-extern int ExpandOldSetting __ARGS((int *num_file, char_u ***file));
-extern int has_format_option __ARGS((int x));
-extern int shortmess __ARGS((int x));
-extern void vimrc_found __ARGS((void));
-extern void change_compatible __ARGS((int on));
-extern int option_was_set __ARGS((char_u *name));
-extern int can_bs __ARGS((int what));
-extern void save_file_ff __ARGS((buf_T *buf));
-extern int file_ff_differs __ARGS((buf_T *buf));
-extern int check_ff_value __ARGS((char_u *p));
+void set_init_1 __ARGS((void));
+void set_string_default __ARGS((char *name, char_u *val));
+void set_number_default __ARGS((char *name, long val));
+void free_all_options __ARGS((void));
+void set_init_2 __ARGS((void));
+void set_init_3 __ARGS((void));
+void set_helplang_default __ARGS((char_u *lang));
+void init_gui_options __ARGS((void));
+void set_title_defaults __ARGS((void));
+int do_set __ARGS((char_u *arg, int opt_flags));
+void set_options_bin __ARGS((int oldval, int newval, int opt_flags));
+int get_viminfo_parameter __ARGS((int type));
+char_u *find_viminfo_parameter __ARGS((int type));
+void check_options __ARGS((void));
+void check_buf_options __ARGS((buf_T *buf));
+void free_string_option __ARGS((char_u *p));
+void clear_string_option __ARGS((char_u **pp));
+void set_term_option_alloced __ARGS((char_u **p));
+int was_set_insecurely __ARGS((char_u *opt, int opt_flags));
+void set_string_option_direct __ARGS((char_u *name, int opt_idx, char_u *val, int opt_flags, int set_sid));
+char_u *check_stl_option __ARGS((char_u *s));
+int get_option_value __ARGS((char_u *name, long *numval, char_u **stringval, int opt_flags));
+void set_option_value __ARGS((char_u *name, long number, char_u *string, int opt_flags));
+char_u *get_term_code __ARGS((char_u *tname));
+char_u *get_highlight_default __ARGS((void));
+char_u *get_encoding_default __ARGS((void));
+int makeset __ARGS((FILE *fd, int opt_flags, int local_only));
+int makefoldset __ARGS((FILE *fd));
+void clear_termoptions __ARGS((void));
+void free_termoptions __ARGS((void));
+void set_term_defaults __ARGS((void));
+void comp_col __ARGS((void));
+char_u *get_equalprg __ARGS((void));
+void win_copy_options __ARGS((win_T *wp_from, win_T *wp_to));
+void copy_winopt __ARGS((winopt_T *from, winopt_T *to));
+void check_win_options __ARGS((win_T *win));
+void check_winopt __ARGS((winopt_T *wop));
+void clear_winopt __ARGS((winopt_T *wop));
+void buf_copy_options __ARGS((buf_T *buf, int flags));
+void reset_modifiable __ARGS((void));
+void set_iminsert_global __ARGS((void));
+void set_imsearch_global __ARGS((void));
+void set_context_in_set_cmd __ARGS((expand_T *xp, char_u *arg, int opt_flags));
+int ExpandSettings __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file));
+int ExpandOldSetting __ARGS((int *num_file, char_u ***file));
+int has_format_option __ARGS((int x));
+int shortmess __ARGS((int x));
+void vimrc_found __ARGS((char_u *fname, char_u *envname));
+void change_compatible __ARGS((int on));
+int option_was_set __ARGS((char_u *name));
+int can_bs __ARGS((int what));
+void save_file_ff __ARGS((buf_T *buf));
+int file_ff_differs __ARGS((buf_T *buf));
+int check_ff_value __ARGS((char_u *p));
 /* vim: set ft=c : */
diff --git a/src/proto/os_win32.pro b/src/proto/os_win32.pro
index 22e0380..d2f5d08 100644
--- a/src/proto/os_win32.pro
+++ b/src/proto/os_win32.pro
@@ -48,7 +48,7 @@
 extern int myresetstkoflw __ARGS((void));
 extern int get_cmd_argsW __ARGS((char ***argvp));
 extern void free_cmd_argsW __ARGS((void));
-extern void used_file_arg __ARGS((char *name, int literal, int full_path));
+extern void used_file_arg __ARGS((char *name, int literal, int full_path, int diff_mode));
 extern void set_alist_count __ARGS((void));
 extern void fix_arg_enc __ARGS((void));
 /* vim: set ft=c : */
diff --git a/src/proto/syntax.pro b/src/proto/syntax.pro
index 3157108..c33a890 100644
--- a/src/proto/syntax.pro
+++ b/src/proto/syntax.pro
@@ -1,46 +1,47 @@
 /* syntax.c */
-extern void syntax_start __ARGS((win_T *wp, linenr_T lnum));
-extern void syn_stack_free_all __ARGS((buf_T *buf));
-extern void syn_stack_apply_changes __ARGS((buf_T *buf));
-extern void syntax_end_parsing __ARGS((linenr_T lnum));
-extern int syntax_check_changed __ARGS((linenr_T lnum));
-extern int get_syntax_attr __ARGS((colnr_T col, int *can_spell));
-extern void syntax_clear __ARGS((buf_T *buf));
-extern void ex_syntax __ARGS((exarg_T *eap));
-extern int syntax_present __ARGS((buf_T *buf));
-extern void set_context_in_syntax_cmd __ARGS((expand_T *xp, char_u *arg));
-extern char_u *get_syntax_name __ARGS((expand_T *xp, int idx));
-extern int syn_get_id __ARGS((win_T *wp, long lnum, colnr_T col, int trans, int *spellp));
-extern int syn_get_foldlevel __ARGS((win_T *wp, long lnum));
-extern void init_highlight __ARGS((int both, int reset));
-extern int load_colors __ARGS((char_u *name));
-extern void do_highlight __ARGS((char_u *line, int forceit, int init));
-extern void free_highlight __ARGS((void));
-extern void restore_cterm_colors __ARGS((void));
-extern void set_normal_colors __ARGS((void));
-extern char_u *hl_get_font_name __ARGS((void));
-extern void hl_set_font_name __ARGS((char_u *font_name));
-extern void hl_set_bg_color_name __ARGS((char_u *name));
-extern void hl_set_fg_color_name __ARGS((char_u *name));
-extern void clear_hl_tables __ARGS((void));
-extern int hl_combine_attr __ARGS((int char_attr, int prim_attr));
-extern attrentry_T *syn_gui_attr2entry __ARGS((int attr));
-extern int syn_attr2attr __ARGS((int attr));
-extern attrentry_T *syn_term_attr2entry __ARGS((int attr));
-extern attrentry_T *syn_cterm_attr2entry __ARGS((int attr));
-extern char_u *highlight_has_attr __ARGS((int id, int flag, int modec));
-extern char_u *highlight_color __ARGS((int id, char_u *what, int modec));
-extern long_u highlight_gui_color_rgb __ARGS((int id, int fg));
-extern int syn_name2id __ARGS((char_u *name));
-extern int highlight_exists __ARGS((char_u *name));
-extern int syn_namen2id __ARGS((char_u *linep, int len));
-extern int syn_check_group __ARGS((char_u *pp, int len));
-extern int syn_id2attr __ARGS((int hl_id));
-extern int syn_id2colors __ARGS((int hl_id, guicolor_T *fgp, guicolor_T *bgp));
-extern int syn_get_final_id __ARGS((int hl_id));
-extern void highlight_gui_started __ARGS((void));
-extern int highlight_changed __ARGS((void));
-extern void set_context_in_highlight_cmd __ARGS((expand_T *xp, char_u *arg));
-extern char_u *get_highlight_name __ARGS((expand_T *xp, int idx));
-extern void free_highlight_fonts __ARGS((void));
+void syntax_start __ARGS((win_T *wp, linenr_T lnum));
+void syn_stack_free_all __ARGS((buf_T *buf));
+void syn_stack_apply_changes __ARGS((buf_T *buf));
+void syntax_end_parsing __ARGS((linenr_T lnum));
+int syntax_check_changed __ARGS((linenr_T lnum));
+int get_syntax_attr __ARGS((colnr_T col, int *can_spell));
+void syntax_clear __ARGS((buf_T *buf));
+void ex_syntax __ARGS((exarg_T *eap));
+int syntax_present __ARGS((buf_T *buf));
+void set_context_in_syntax_cmd __ARGS((expand_T *xp, char_u *arg));
+char_u *get_syntax_name __ARGS((expand_T *xp, int idx));
+int syn_get_id __ARGS((win_T *wp, long lnum, colnr_T col, int trans, int *spellp));
+int syn_get_foldlevel __ARGS((win_T *wp, long lnum));
+void init_highlight __ARGS((int both, int reset));
+int load_colors __ARGS((char_u *name));
+void do_highlight __ARGS((char_u *line, int forceit, int init));
+void free_highlight __ARGS((void));
+void restore_cterm_colors __ARGS((void));
+void set_normal_colors __ARGS((void));
+char_u *hl_get_font_name __ARGS((void));
+void hl_set_font_name __ARGS((char_u *font_name));
+void hl_set_bg_color_name __ARGS((char_u *name));
+void hl_set_fg_color_name __ARGS((char_u *name));
+void clear_hl_tables __ARGS((void));
+int hl_combine_attr __ARGS((int char_attr, int prim_attr));
+attrentry_T *syn_gui_attr2entry __ARGS((int attr));
+int syn_attr2attr __ARGS((int attr));
+attrentry_T *syn_term_attr2entry __ARGS((int attr));
+attrentry_T *syn_cterm_attr2entry __ARGS((int attr));
+char_u *highlight_has_attr __ARGS((int id, int flag, int modec));
+char_u *highlight_color __ARGS((int id, char_u *what, int modec));
+long_u highlight_gui_color_rgb __ARGS((int id, int fg));
+int syn_name2id __ARGS((char_u *name));
+int highlight_exists __ARGS((char_u *name));
+char_u *syn_id2name __ARGS((int id));
+int syn_namen2id __ARGS((char_u *linep, int len));
+int syn_check_group __ARGS((char_u *pp, int len));
+int syn_id2attr __ARGS((int hl_id));
+int syn_id2colors __ARGS((int hl_id, guicolor_T *fgp, guicolor_T *bgp));
+int syn_get_final_id __ARGS((int hl_id));
+void highlight_gui_started __ARGS((void));
+int highlight_changed __ARGS((void));
+void set_context_in_highlight_cmd __ARGS((expand_T *xp, char_u *arg));
+char_u *get_highlight_name __ARGS((expand_T *xp, int idx));
+void free_highlight_fonts __ARGS((void));
 /* vim: set ft=c : */
diff --git a/src/screen.c b/src/screen.c
index 01134a4..52a6f74 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -3324,7 +3324,8 @@
 	}
 
 	/* When still displaying '$' of change command, stop at cursor */
-	if (dollar_vcol != 0 && wp == curwin && vcol >= (long)wp->w_virtcol
+	if (dollar_vcol != 0 && wp == curwin
+		   && lnum == wp->w_cursor.lnum && vcol >= (long)wp->w_virtcol
 #ifdef FEAT_DIFF
 				   && filler_todo <= 0
 #endif
@@ -3332,8 +3333,14 @@
 	{
 	    SCREEN_LINE(screen_row, W_WINCOL(wp), col, -(int)W_WIDTH(wp),
 								  wp->w_p_rl);
-	    /* Pretend we have finished updating the window. */
-	    row = wp->w_height;
+	    /* Pretend we have finished updating the window.  Except when
+	     * 'cursorcolumn' is set. */
+#ifdef FEAT_SYN_HL
+	    if (wp->w_p_cuc)
+		row = wp->w_cline_row + wp->w_cline_height;
+	    else
+#endif
+		row = wp->w_height;
 	    break;
 	}
 
@@ -3485,6 +3492,7 @@
 		{
 		    mb_utf8 = TRUE;
 		    u8cc[0] = 0;
+		    c = 0xc0;
 		}
 		else
 		    mb_utf8 = FALSE;
@@ -3509,6 +3517,7 @@
 			{
 			    mb_c = utfc_ptr2char(p_extra, u8cc);
 			    mb_utf8 = TRUE;
+			    c = 0xc0;
 			}
 		    }
 		    else
@@ -3744,7 +3753,11 @@
 	    ++ptr;
 
 	    /* 'list' : change char 160 to lcs_nbsp. */
-	    if (wp->w_p_list && c == 160 && lcs_nbsp)
+	    if (wp->w_p_list && (c == 160
+#ifdef FEAT_MBYTE
+			|| (mb_utf8 && mb_c == 160)
+#endif
+			) && lcs_nbsp)
 	    {
 		c = lcs_nbsp;
 		if (area_attr == 0 && search_attr == 0)
@@ -3759,6 +3772,7 @@
 		{
 		    mb_utf8 = TRUE;
 		    u8cc[0] = 0;
+		    c = 0xc0;
 		}
 		else
 		    mb_utf8 = FALSE;
@@ -3906,7 +3920,7 @@
 		 * Found last space before word: check for line break.
 		 */
 		if (wp->w_p_lbr && vim_isbreak(c) && !vim_isbreak(*ptr)
-						      && !wp->w_p_list)
+							     && !wp->w_p_list)
 		{
 		    n_extra = win_lbr_chartabsize(wp, ptr - (
 # ifdef FEAT_MBYTE
@@ -3934,6 +3948,7 @@
 		    {
 			mb_utf8 = TRUE;
 			u8cc[0] = 0;
+			c = 0xc0;
 		    }
 		    else
 			mb_utf8 = FALSE;
@@ -3944,7 +3959,7 @@
 	    /*
 	     * Handling of non-printable characters.
 	     */
-	    if (!(chartab[c] & CT_PRINT_CHAR))
+	    if (!(chartab[c & 0xff] & CT_PRINT_CHAR))
 	    {
 		/*
 		 * when getting a character from the file, we may have to
@@ -3972,6 +3987,7 @@
 			{
 			    mb_utf8 = TRUE;
 			    u8cc[0] = 0;
+			    c = 0xc0;
 			}
 #endif
 		    }
@@ -4046,6 +4062,7 @@
 		    {
 			mb_utf8 = TRUE;
 			u8cc[0] = 0;
+			c = 0xc0;
 		    }
 		    else
 			mb_utf8 = FALSE;	/* don't draw as UTF-8 */
@@ -4185,6 +4202,7 @@
 	    {
 		mb_utf8 = TRUE;
 		u8cc[0] = 0;
+		c = 0xc0;
 	    }
 	    else
 		mb_utf8 = FALSE;	/* don't draw as UTF-8 */
@@ -4278,11 +4296,12 @@
 		v = wp->w_skipcol;
 	    else
 		v = wp->w_leftcol;
-	    if (vcol < v)	/* line ends before left margin */
-		vcol = v;
+	    if (vcol < v + col)	/* line ends before left margin */
+		vcol = v + col;
 	    if (wp->w_p_cuc
 		    && (int)wp->w_virtcol >= vcol
-		    && (int)wp->w_virtcol < W_WIDTH(wp) + v
+		    && (int)wp->w_virtcol < W_WIDTH(wp) * (row - startrow + 1)
+									   + v
 		    && lnum != wp->w_cursor.lnum
 # ifdef FEAT_RIGHTLEFT
 		    && !wp->w_p_rl
@@ -4352,6 +4371,7 @@
 	    {
 		mb_utf8 = TRUE;
 		u8cc[0] = 0;
+		c = 0xc0;
 	    }
 	    else
 		mb_utf8 = FALSE;
@@ -4399,6 +4419,8 @@
 		if (mb_utf8)
 		{
 		    ScreenLinesUC[off] = mb_c;
+		    if ((c & 0xff) == 0)
+			ScreenLines[off] = 0x80;   /* avoid storing zero */
 		    for (i = 0; i < Screen_mco; ++i)
 		    {
 			ScreenLinesC[i][off] = u8cc[i];
@@ -4939,12 +4961,13 @@
 #endif
 	    ScreenAttrs[off_to] = ScreenAttrs[off_from];
 #ifdef FEAT_MBYTE
-	    if (enc_dbcs != 0 && char_cells == 2)
-	    {
-		/* just a hack: It makes two bytes of DBCS have same attr */
+	    /* For simplicity set the attributes of second half of a
+	     * double-wide character equal to the first half. */
+	    if (char_cells == 2)
 		ScreenAttrs[off_to + 1] = ScreenAttrs[off_from];
+
+	    if (enc_dbcs != 0 && char_cells == 2)
 		screen_char_2(off_to, row, col + coloff);
-	    }
 	    else
 #endif
 		screen_char(off_to, row, col + coloff);
@@ -8893,6 +8916,7 @@
 	    {
 		/* Get buffer name in NameBuff[] */
 		get_trans_bufname(cwp->w_buffer);
+		shorten_dir(NameBuff);
 		len = vim_strsize(NameBuff);
 		p = NameBuff;
 #ifdef FEAT_MBYTE
diff --git a/src/search.c b/src/search.c
index 41f38a3..a063a26 100644
--- a/src/search.c
+++ b/src/search.c
@@ -809,6 +809,13 @@
 		    {
 			pos->lnum = lnum + endpos.lnum;
 			pos->col = endpos.col - 1;
+#ifdef FEAT_MBYTE
+			if (has_mbyte)
+			{
+			    ptr = ml_get_buf(buf, pos->lnum, FALSE);
+			    pos->col -= (*mb_head_off)(ptr, ptr + pos->col);
+			}
+#endif
 		    }
 		    else
 		    {
diff --git a/src/spell.c b/src/spell.c
index 9850777..a11372a 100644
--- a/src/spell.c
+++ b/src/spell.c
@@ -256,6 +256,8 @@
  *			    WF_NEEDCOMP >> 8  word only valid in compound
  *			    WF_NOSUGGEST >> 8  word not used for suggestions
  *			    WF_COMPROOT >> 8  word already a compound
+ *			    WF_NOCOMPBEF >> 8 no compounding before this word
+ *			    WF_NOCOMPAFT >> 8 no compounding after this word
  *
  * <pflags>	1 byte	    bitmask of:
  *			    WFP_RARE	rare prefix
@@ -345,6 +347,8 @@
 #define WF_NEEDCOMP 0x0200	/* word only valid in compound */
 #define WF_NOSUGGEST 0x0400	/* word not to be suggested */
 #define WF_COMPROOT 0x0800	/* already compounded word, COMPOUNDROOT */
+#define WF_NOCOMPBEF 0x1000	/* no compounding before this word */
+#define WF_NOCOMPAFT 0x2000	/* no compounding after this word */
 
 /* only used for su_badflags */
 #define WF_MIXCAP   0x20	/* mix of upper and lower case: macaRONI */
@@ -1500,6 +1504,13 @@
 					   && slang->sl_compsylmax == MAXWLEN)
 		    continue;
 
+		/* Don't allow compounding on a side where an affix was added,
+		 * unless COMPOUNDPERMITFLAG was used. */
+		if (mip->mi_complen > 0 && (flags & WF_NOCOMPBEF))
+		    continue;
+		if (!word_ends && (flags & WF_NOCOMPAFT))
+		    continue;
+
 		/* Quickly check if compounding is possible with this flag. */
 		if (!byte_in_str(mip->mi_complen == 0
 					? slang->sl_compstartflags
@@ -1634,12 +1645,16 @@
 			mip->mi_compoff = wlen;
 			find_word(mip, FIND_KEEPCOMPOUND);
 
+#if 0	    /* Disabled, a prefix must not appear halfway a compound word,
+	       unless the COMPOUNDPERMITFLAG is used and then it can't be a
+	       postponed prefix. */
 			if (!slang->sl_nobreak || mip->mi_result == SP_BAD)
 			{
 			    /* Check for following word with prefix. */
 			    mip->mi_compoff = c;
 			    find_prefix(mip, FIND_COMPOUND);
 			}
+#endif
 		    }
 
 		    if (!slang->sl_nobreak)
@@ -6702,7 +6717,7 @@
 			else
 			    use_flags = flags;
 
-			/* Obey a "COMPOUNDFORBID" flag of the affix: don't
+			/* Obey a "COMPOUNDFORBIDFLAG" of the affix: don't
 			 * use the compound flags. */
 			use_pfxlist = pfxlist;
 			if (pfxlist != NULL
@@ -6730,13 +6745,29 @@
 				use_pfxlist += pfxlen;
 			}
 
+			/* When compounding is supported and there is no
+			 * "COMPOUNDPERMITFLAG" then forbid compounding on the
+			 * side where the affix is applied. */
+			if (spin->si_compflags != NULL
+				&& (affile->af_comppermit == 0
+				    || ae->ae_flags == NULL
+				    || !flag_in_afflist(
+					    affile->af_flagtype, ae->ae_flags,
+						      affile->af_comppermit)))
+			{
+			    if (xht != NULL)
+				use_flags |= WF_NOCOMPAFT;
+			    else
+				use_flags |= WF_NOCOMPBEF;
+			}
+
 			/* Store the modified word. */
 			if (store_word(spin, newword, use_flags,
 				 spin->si_region, use_pfxlist, FALSE) == FAIL)
 			    retval = FAIL;
 
 			/* When added a suffix and combining is allowed also
-			 * try adding prefixes additionally. */
+			 * try adding prefixes additionally.  RECURSIVE! */
 			if (xht != NULL && ah->ah_combine)
 			    if (store_aff_word(spin, newword, afflist, affile,
 					  xht, NULL, TRUE,
@@ -9210,9 +9241,15 @@
 		    vim_strncpy(buf, curbuf->b_p_spl, lend - curbuf->b_p_spl);
 		else
 		{
+		    /* Create the "spell" directory if it doesn't exist yet. */
+		    l = STRLEN(buf);
+		    vim_snprintf((char *)buf + l, MAXPATHL - l, "/spell");
+		    if (!filewritable(buf) != 2)
+			vim_mkdir(buf, 0755);
+
 		    l = STRLEN(buf);
 		    vim_snprintf((char *)buf + l, MAXPATHL - l,
-				 "/spell/%.*s", (int)(lend - lstart), lstart);
+				 "/%.*s", (int)(lend - lstart), lstart);
 		}
 		l = STRLEN(buf);
 		fname = LANGP_ENTRY(curbuf->b_langp, 0)->lp_slang->sl_fname;
@@ -9947,7 +9984,6 @@
 	    STRCAT(p, sug.su_badptr + stp->st_orglen);
 	    ml_replace(curwin->w_cursor.lnum, p, FALSE);
 	    curwin->w_cursor.col = c;
-	    changed_bytes(curwin->w_cursor.lnum, c);
 
 	    /* For redo we use a change-word command. */
 	    ResetRedobuff();
@@ -9955,6 +9991,9 @@
 	    AppendToRedobuffLit(p + c,
 			    stp->st_wordlen + sug.su_badlen - stp->st_orglen);
 	    AppendCharToRedobuff(ESC);
+
+	    /* After this "p" may be invalid. */
+	    changed_bytes(curwin->w_cursor.lnum, c);
 	}
     }
     else
diff --git a/src/structs.h b/src/structs.h
index 2a9882b..ce3bf9b 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -1635,6 +1635,10 @@
     int		    tp_diff_invalid;	/* list of diffs is outdated */
 #endif
     frame_T	    *tp_snapshot;    /* window layout snapshot */
+#ifdef FEAT_EVAL
+    dictitem_T	    tp_winvar;	    /* variable for "t:" Dictionary */
+    dict_T	    tp_vars;	    /* internal variables, local to tab page */
+#endif
 };
 
 /*
@@ -1928,8 +1932,9 @@
 #endif
 
 #ifdef FEAT_SEARCH_EXTRA
-    regmmatch_T	w_match[3];	/* regexp programs for ":match" */
-    int		w_match_id[3];	/* highlight IDs for ":match" */
+    regmmatch_T	w_match[3];	    /* regexp programs for ":match" */
+    char_u	*(w_match_pat[3]);  /* patterns for ":match" */
+    int		w_match_id[3];	    /* highlight IDs for ":match" */
 #endif
 
     /*
diff --git a/src/syntax.c b/src/syntax.c
index 8230520..2686828 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -551,7 +551,10 @@
      * Advance from the sync point or saved state until the current line.
      * Save some entries for syncing with later on.
      */
-    dist = syn_buf->b_ml.ml_line_count / (syn_buf->b_sst_len - Rows) + 1;
+    if (syn_buf->b_sst_len <= Rows)
+	dist = 999999;
+    else
+	dist = syn_buf->b_ml.ml_line_count / (syn_buf->b_sst_len - Rows) + 1;
     prev = syn_stack_find_entry(current_lnum);
     while (current_lnum < lnum)
     {
@@ -1240,7 +1243,10 @@
 	return retval;
 
     /* Compute normal distance between non-displayed entries. */
-    dist = syn_buf->b_ml.ml_line_count / (syn_buf->b_sst_len - Rows) + 1;
+    if (syn_buf->b_sst_len <= Rows)
+	dist = 999999;
+    else
+	dist = syn_buf->b_ml.ml_line_count / (syn_buf->b_sst_len - Rows) + 1;
 
     /*
      * Go throught the list to find the "tick" for the oldest entry that can
@@ -4436,7 +4442,7 @@
     prev_toplvl_grp = curbuf->b_syn_topgrp;
     curbuf->b_syn_topgrp = sgl_id;
     if (source ? do_source(eap->arg, FALSE, FALSE) == FAIL
-				     : source_runtime(eap->arg, TRUE) == FAIL)
+				: source_runtime(eap->arg, DOSO_NONE) == FAIL)
 	EMSG2(_(e_notopen), eap->arg);
     curbuf->b_syn_topgrp = prev_toplvl_grp;
     current_syn_inc_tag = prev_syn_inc_tag;
@@ -7270,7 +7276,7 @@
 #ifdef FEAT_EVAL
 	HL_TABLE()[idx].sg_scriptID = current_SID;
 #endif
-	redraw_all_later(SOME_VALID);
+	redraw_all_later(NOT_VALID);
     }
     vim_free(key);
     vim_free(arg);
@@ -8426,6 +8432,21 @@
 {
     return (syn_name2id(name) > 0);
 }
+
+# if defined(FEAT_SEARCH_EXTRA) || defined(PROTO)
+/*
+ * Return the name of highlight group "id".
+ * When not a valid ID return an empty string.
+ */
+    char_u *
+syn_id2name(id)
+    int		id;
+{
+    if (id <= 0 || id >= highlight_ga.ga_len)
+	return (char_u *)"";
+    return HL_TABLE()[id - 1].sg_name;
+}
+# endif
 #endif
 
 /*
diff --git a/src/testdir/test58.in b/src/testdir/test58.in
index 0cd84ee..467c7b5 100644
--- a/src/testdir/test58.in
+++ b/src/testdir/test58.in
@@ -452,11 +452,14 @@
 
 PFX p N 1
 PFX p 0 pre .
+
+PFX P N 1
+PFX P 0 nou .
 4affend
 
 4dicstart
 1234
-word/m
+word/mP
 util/am
 pro/xq
 tomato/m
@@ -468,11 +471,14 @@
 4good: word util bork prebork start end wordutil wordutils pro-ok
 	bork borkbork borkborkbork borkborkborkbork borkborkborkborkbork
 	tomato tomatotomato startend startword startwordword startwordend
-	startwordwordend startwordwordwordend prebork preborkprebork
-	preborkborkprebork preborkpreborkbork
+	startwordwordend startwordwordwordend prebork preborkbork
+	preborkborkbork
+	nouword
 bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomato
 	endstart endend startstart wordend wordstart
+	preborkprebork  preborkpreborkbork
  	startwordwordwordwordend borkpreborkpreborkbork
+	utilsbork  startnouword
 badend
 
 Test affix flags with two characters
@@ -487,6 +493,7 @@
 COMPOUNDRULE ssmm*ee
 
 NEEDCOMPOUND xx
+COMPOUNDPERMITFLAG pp
 
 SFX 13 Y 1
 SFX 13 0 bork .
@@ -498,7 +505,10 @@
 SFX aé 0 aé .
 
 PFX zz Y 1
-PFX zz 0 pre .
+PFX zz 0 pre/pp .
+
+PFX yy Y 1
+PFX yy 0 nou .
 5affend
 
 5dicstart
@@ -506,14 +516,14 @@
 foo/a1aé!!
 bar/zz13ee
 start/ss
-end/ee
+end/eeyy
 middle/mmxx
 5dicend
 
 5good: fooa1 fooaé bar prebar barbork prebarbork  startprebar
-      start end startend  startmiddleend
+      start end startend  startmiddleend nouend
 bad: foo fooa2 prabar probarbirk middle startmiddle middleend endstart
-	startprobar
+	startprobar startnouend
 badend
 
 6affstart
@@ -527,6 +537,8 @@
 
 NEEDCOMPOUND Xx
 
+COMPOUNDPERMITFLAG p
+
 SFX N3 Y 1
 SFX N3 0 bork .
 
@@ -537,7 +549,7 @@
 SFX Aé 0 aé .
 
 PFX Zz Y 1
-PFX Zz 0 pre .
+PFX Zz 0 pre/p .
 6affend
 
 6dicstart
@@ -565,6 +577,7 @@
 COMPOUNDRULE 2,77*123
 
 NEEDCOMPOUND 1
+COMPOUNDPERMITFLAG 432
 
 SFX 61003 Y 1
 SFX 61003 0 meat .
@@ -576,7 +589,7 @@
 SFX 111 0 aé .
 
 PFX 17 Y 1
-PFX 17 0 pre .
+PFX 17 0 pre/432 .
 7affend
 
 7dicstart
diff --git a/src/testdir/test58.ok b/src/testdir/test58.ok
index 7419cde..ce05c73 100644
--- a/src/testdir/test58.ok
+++ b/src/testdir/test58.ok
@@ -135,6 +135,7 @@
 utilize
 utils
 word
+nouword
 -------
 bad
 ['end', 'bork', 'word']
@@ -156,10 +157,18 @@
 ['word end', 'word', 'wordword']
 wordstart
 ['word start', 'bork start']
+preborkprebork
+['prebork prebork', 'preborkbork', 'preborkborkbork']
+preborkpreborkbork
+['prebork preborkbork', 'preborkborkbork', 'preborkborkborkbork']
 startwordwordwordwordend
 ['startwordwordwordword end', 'startwordwordwordword', 'start wordwordwordword end']
 borkpreborkpreborkbork
-['bork preborkpreborkbork', 'borkprebork preborkbork', 'borkpreborkprebork bork']
+['bork preborkpreborkbork', 'bork prebork preborkbork', 'bork preborkprebork bork']
+utilsbork
+['utilbork', 'utils bork', 'util bork']
+startnouword
+['start nouword', 'startword', 'startborkword']
 
 test 5-5
 # file: Xtest.latin1.spl
@@ -168,6 +177,7 @@
 end
 fooa1
 fooaé
+nouend
 prebar
 prebarbork
 start
@@ -192,6 +202,8 @@
 ['end start', 'start']
 startprobar
 ['startprebar', 'start prebar', 'startbar']
+startnouend
+['start nouend', 'startend']
 
 test 6-6
 # file: Xtest.latin1.spl
diff --git a/src/testdir/test59.in b/src/testdir/test59.in
index cf9cb49..bd63796 100644
--- a/src/testdir/test59.in
+++ b/src/testdir/test59.in
@@ -456,11 +456,14 @@
 
 PFX p N 1
 PFX p 0 pre .
+
+PFX P N 1
+PFX P 0 nou .
 4affend
 
 4dicstart
 1234
-word/m
+word/mP
 util/am
 pro/xq
 tomato/m
@@ -472,11 +475,14 @@
 4good: word util bork prebork start end wordutil wordutils pro-ok
 	bork borkbork borkborkbork borkborkborkbork borkborkborkborkbork
 	tomato tomatotomato startend startword startwordword startwordend
-	startwordwordend startwordwordwordend prebork preborkprebork
-	preborkborkprebork preborkpreborkbork
+	startwordwordend startwordwordwordend prebork preborkbork
+	preborkborkbork
+	nouword
 bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomato
 	endstart endend startstart wordend wordstart
+	preborkprebork  preborkpreborkbork
  	startwordwordwordwordend borkpreborkpreborkbork
+	utilsbork  startnouword
 badend
 
 test2:
@@ -494,6 +500,7 @@
 COMPOUNDRULE ssmm*ee
 
 NEEDCOMPOUND xx
+COMPOUNDPERMITFLAG pp
 
 SFX 13 Y 1
 SFX 13 0 bork .
@@ -505,7 +512,10 @@
 SFX aé 0 aé .
 
 PFX zz Y 1
-PFX zz 0 pre .
+PFX zz 0 pre/pp .
+
+PFX yy Y 1
+PFX yy 0 nou .
 5affend
 
 5dicstart
@@ -513,14 +523,14 @@
 foo/a1aé!!
 bar/zz13ee
 start/ss
-end/ee
+end/eeyy
 middle/mmxx
 5dicend
 
 5good: fooa1 fooaé bar prebar barbork prebarbork  startprebar
-      start end startend  startmiddleend
+      start end startend  startmiddleend nouend
 bad: foo fooa2 prabar probarbirk middle startmiddle middleend endstart
-	startprobar
+	startprobar startnouend
 badend
 
 6affstart
@@ -534,6 +544,8 @@
 
 NEEDCOMPOUND Xx
 
+COMPOUNDPERMITFLAG p
+
 SFX N3 Y 1
 SFX N3 0 bork .
 
@@ -544,7 +556,7 @@
 SFX Aé 0 aé .
 
 PFX Zz Y 1
-PFX Zz 0 pre .
+PFX Zz 0 pre/p .
 6affend
 
 6dicstart
@@ -576,6 +588,7 @@
 COMPOUNDRULE 2,77*123
 
 NEEDCOMPOUND 1
+COMPOUNDPERMITFLAG 432
 
 SFX 61003 Y 1
 SFX 61003 0 meat .
@@ -587,7 +600,7 @@
 SFX 111 0 aé .
 
 PFX 17 Y 1
-PFX 17 0 pre .
+PFX 17 0 pre/432 .
 7affend
 
 7dicstart
diff --git a/src/testdir/test59.ok b/src/testdir/test59.ok
index 29c9696..931cdd9 100644
--- a/src/testdir/test59.ok
+++ b/src/testdir/test59.ok
@@ -135,6 +135,7 @@
 utilize
 utils
 word
+nouword
 -------
 bad
 ['end', 'bork', 'word']
@@ -156,10 +157,18 @@
 ['word end', 'word', 'wordword']
 wordstart
 ['word start', 'bork start']
+preborkprebork
+['prebork prebork', 'preborkbork', 'preborkborkbork']
+preborkpreborkbork
+['prebork preborkbork', 'preborkborkbork', 'preborkborkborkbork']
 startwordwordwordwordend
 ['startwordwordwordword end', 'startwordwordwordword', 'start wordwordwordword end']
 borkpreborkpreborkbork
-['bork preborkpreborkbork', 'borkprebork preborkbork', 'borkpreborkprebork bork']
+['bork preborkpreborkbork', 'bork prebork preborkbork', 'bork preborkprebork bork']
+utilsbork
+['utilbork', 'utils bork', 'util bork']
+startnouword
+['start nouword', 'startword', 'startborkword']
 
 test 5-5
 # file: Xtest.utf-8.spl
@@ -168,6 +177,7 @@
 end
 fooa1
 fooaé
+nouend
 prebar
 prebarbork
 start
@@ -192,6 +202,8 @@
 ['end start', 'start']
 startprobar
 ['startprebar', 'start prebar', 'startbar']
+startnouend
+['start nouend', 'startend']
 
 test 6-6
 # file: Xtest.utf-8.spl
diff --git a/src/version.h b/src/version.h
index 5d450bb..7cd5ea4 100644
--- a/src/version.h
+++ b/src/version.h
@@ -19,9 +19,9 @@
 #define VIM_VERSION_MINOR_STR		"0"
 #define VIM_VERSION_100	    (VIM_VERSION_MAJOR * 100 + VIM_VERSION_MINOR)
 
-#define VIM_VERSION_BUILD		 258
-#define VIM_VERSION_BUILD_BCD		0x102
-#define VIM_VERSION_BUILD_STR		"258"
+#define VIM_VERSION_BUILD		 259
+#define VIM_VERSION_BUILD_BCD		0x103
+#define VIM_VERSION_BUILD_STR		"259"
 #define VIM_VERSION_PATCHLEVEL		 0
 #define VIM_VERSION_PATCHLEVEL_STR	"0"
 /* Used by MacOS port should be one of: development, alpha, beta, final */
@@ -35,6 +35,6 @@
  */
 #define VIM_VERSION_NODOT	"vim70c"
 #define VIM_VERSION_SHORT	"7.0c"
-#define VIM_VERSION_MEDIUM	"7.0c03 BETA"
-#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0c03 BETA (2006 Mar 29)"
-#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0c03 BETA (2006 Mar 29, compiled "
+#define VIM_VERSION_MEDIUM	"7.0c10 BETA"
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0c10 BETA (2006 Apr 5)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0c10 BETA (2006 Apr 5, compiled "
diff --git a/src/vim.h b/src/vim.h
index 015fa03..37762be 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -1987,5 +1987,9 @@
 #define BAD_KEEP	-1	/* leave it */
 #define BAD_DROP	-2	/* erase it */
 
+/* last argument for do_source() */
+#define DOSO_NONE	0
+#define DOSO_VIMRC	1	/* loading vimrc file */
+#define DOSO_GVIMRC	2	/* loading gvimrc file */
 
 #endif /* VIM__H */
diff --git a/src/window.c b/src/window.c
index 6a12de1..677dcbe 100644
--- a/src/window.c
+++ b/src/window.c
@@ -1944,7 +1944,7 @@
 }
 
 /*
- * Close window "win".
+ * Close window "win".  Only works for the current tab page.
  * If "free_buf" is TRUE related buffer may be unloaded.
  *
  * called by :quit, :close, :xit, :wq and findtag()
@@ -2202,6 +2202,11 @@
     vim_free(frp);
     win_free(win, tp);
 
+    /* When deleting the current window of another tab page select a new
+     * current window. */
+    if (tp != NULL && win == tp->tp_curwin)
+	tp->tp_curwin = wp;
+
     return wp;
 }
 
@@ -3122,6 +3127,10 @@
 # ifdef FEAT_DIFF
 	tp->tp_diff_invalid = TRUE;
 # endif
+#ifdef FEAT_EVAL
+	/* init t: variables */
+	init_var_dict(&tp->tp_vars, &tp->tp_winvar);
+#endif
     }
     return tp;
 }
@@ -3134,6 +3143,9 @@
     diff_clear(tp);
 # endif
     clear_snapshot(tp);
+#ifdef FEAT_EVAL
+    vars_clear(&tp->tp_vars.dv_hashtab);	/* free all t: variables */
+#endif
     vim_free(tp);
 }
 
@@ -3189,6 +3201,7 @@
 	}
 	win_init_size();
 	firstwin->w_winrow = tabline_height();
+	win_comp_scroll(curwin);
 
 	newtp->tp_topframe = topframe;
 	last_status(FALSE);
@@ -3330,6 +3343,9 @@
 {
     tabpage_T	*tp = curtab;
 
+#ifdef FEAT_VISUAL
+    reset_VIsual_and_resel();	/* stop Visual mode */
+#endif
 #ifdef FEAT_AUTOCMD
     if (new_curbuf != curbuf)
     {
@@ -3568,6 +3584,10 @@
 	text_locked_msg();
 	return;
     }
+#ifdef FEAT_AUTOCMD
+    if (curbuf_locked())
+	return;
+#endif
 
 #ifdef FEAT_VISUAL
     if (wp->w_buffer != curbuf)
diff --git a/src/xxd/xxd.c b/src/xxd/xxd.c
index f57d786..42bcdaa 100644
--- a/src/xxd/xxd.c
+++ b/src/xxd/xxd.c
@@ -275,8 +275,11 @@
       if (c == '\r')	/* Doze style input file? */
 	continue;
 
+#if 0	/* this doesn't work when there is normal text after the hex codes in
+	   the last line that looks like hex */
       if (c == ' ' || c == '\n' || c == '\t')  /* allow multiple spaces */
         continue;
+#endif
 
       n3 = n2;
       n2 = n1;