summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2004-06-24 15:53:16 +0000
committerBram Moolenaar <Bram@vim.org>2004-06-24 15:53:16 +0000
commitf4b8e57ffd048f9ca46dd7618939ba7a1b2294ec (patch)
tree08865b59e356d861c0d1321e4adaef8385e53635 /src
parent69a7cb473ceae109b61fae9aa04ee0c29afba5d9 (diff)
downloadvim-f4b8e57ffd048f9ca46dd7618939ba7a1b2294ec.zip
updated for version 7.0002
Diffstat (limited to 'src')
-rw-r--r--src/GvimExt/GvimExt.reg20
-rw-r--r--src/GvimExt/Make_bc5.mak43
-rw-r--r--src/GvimExt/Make_ming.mak63
-rw-r--r--src/GvimExt/Makefile35
-rw-r--r--src/GvimExt/README.txt94
-rw-r--r--src/GvimExt/gvimext.cpp979
-rw-r--r--src/GvimExt/gvimext.def8
-rw-r--r--src/GvimExt/gvimext.h164
-rw-r--r--src/GvimExt/gvimext.inf22
-rw-r--r--src/GvimExt/gvimext.rc111
-rw-r--r--src/GvimExt/gvimext_ming.def10
-rw-r--r--src/GvimExt/gvimext_ming.rc45
-rw-r--r--src/GvimExt/resource.h15
-rw-r--r--src/GvimExt/uninst.bat1
-rw-r--r--src/edit.c34
-rw-r--r--src/eval.c2
-rw-r--r--src/ex_cmds2.c20
-rw-r--r--src/ex_getln.c4
-rw-r--r--src/fileio.c6
-rw-r--r--src/getchar.c25
-rw-r--r--src/misc1.c3
-rw-r--r--src/option.c2
-rw-r--r--src/option.h3
-rw-r--r--src/os_win32.c44
-rw-r--r--src/po/es.po1698
-rw-r--r--src/vim.h1
26 files changed, 2583 insertions, 869 deletions
diff --git a/src/GvimExt/GvimExt.reg b/src/GvimExt/GvimExt.reg
new file mode 100644
index 000000000..db49d24bd
--- /dev/null
+++ b/src/GvimExt/GvimExt.reg
@@ -0,0 +1,20 @@
+REGEDIT4
+
+[HKEY_CLASSES_ROOT\CLSID\{51EEE242-AD87-11d3-9C1E-0090278BBD99}]
+ @="Vim Shell Extension"
+[HKEY_CLASSES_ROOT\CLSID\{51EEE242-AD87-11d3-9C1E-0090278BBD99}\InProcServer32]
+ @="gvimext.dll"
+ "ThreadingModel"="Apartment"
+
+[HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\gvim]
+ @="{51EEE242-AD87-11d3-9C1E-0090278BBD99}"
+
+[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved]
+ "{51EEE242-AD87-11d3-9C1E-0090278BBD99}"="Vim Shell Extension"
+
+[HKEY_LOCAL_MACHINE\Software\Vim\Gvim]
+ "path"="gvim.exe"
+
+[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Vim 7.0aa]
+ "DisplayName"="Vim 7.0aa: Edit with Vim popup menu entry"
+ "UninstallString"="uninstal.exe"
diff --git a/src/GvimExt/Make_bc5.mak b/src/GvimExt/Make_bc5.mak
new file mode 100644
index 000000000..363c6d608
--- /dev/null
+++ b/src/GvimExt/Make_bc5.mak
@@ -0,0 +1,43 @@
+### USEDLL no for statically linked version of run-time, yes for DLL runtime
+### BOR path to root of Borland C install (c:\bc5)
+
+### (requires cc3250.dll be available in %PATH%)
+!if ("$(USEDLL)"=="")
+USEDLL = no
+!endif
+
+### BOR: root of the BC installation
+!if ("$(BOR)"=="")
+BOR = c:\bc5
+!endif
+
+CC = $(BOR)\bin\Bcc32
+BRC = $(BOR)\bin\brc32
+LINK = $(BOR)\BIN\ILink32
+INCLUDE = $(BOR)\include;.
+LIB = $(BOR)\lib
+
+!if ("$(USEDLL)"=="yes")
+RT_DEF = -D_RTLDLL
+RT_LIB = cw32i.lib
+!else
+RT_DEF =
+RT_LIB = cw32.lib
+!endif
+
+
+all : gvimext.dll
+
+gvimext.obj : gvimext.cpp gvimext.h
+ $(CC) -tWD -I$(INCLUDE) -c -DFEAT_GETTEXT $(RT_DEF) -w- gvimext.cpp
+
+gvimext.res : gvimext.rc
+ $(BRC) -r gvimext.rc
+
+gvimext.dll : gvimext.obj gvimext.res
+ $(LINK) -L$(LIB) -aa gvimext.obj, gvimext.dll, , c0d32.obj $(RT_LIB) import32.lib, gvimext.def, gvimext.res
+
+clean :
+ -@del gvimext.obj
+ -@del gvimext.res
+ -@del gvimext.dll
diff --git a/src/GvimExt/Make_ming.mak b/src/GvimExt/Make_ming.mak
new file mode 100644
index 000000000..345625524
--- /dev/null
+++ b/src/GvimExt/Make_ming.mak
@@ -0,0 +1,63 @@
+# Project: gvimext
+# Generates gvimext.dll with gcc.
+# Can be used for Cygwin and MingW (MingW ignores -mno-cygwin)
+#
+# Originally, the DLL base address was fixed: -Wl,--image-base=0x1C000000
+# Now it is allocated dymanically by the linker by evaluating all DLLs
+# already loaded in memory. The binary image contains as well information
+# for automatic pseudo-rebasing, if needed by the system. ALV 2004-02-29
+
+# If cross-compiling set this to yes, else set it to no
+CROSS = no
+#CROSS = yes
+# For the old MinGW 2.95 (the one you get e.g. with debian woody)
+# set the following variable to yes and check if the executables are
+# really named that way.
+# If you have a newer MinGW or you are using cygwin set it to no and
+# check also the executables
+MINGWOLD = no
+
+ifeq ($(CROSS),yes)
+ifeq ($(MINGWOLD),yes)
+CXX = i586-mingw32msvc-g++
+CXXFLAGS := -O2 -mno-cygwin -fvtable-thunks
+WINDRES = i586-mingw32msvc-windres
+else
+CXX = i386-mingw32msvc-g++
+CXXFLAGS := -O2 -mno-cygwin
+WINDRES = i386-mingw32msvc-windres
+endif
+else
+CXX := g++.exe
+WINDRES := windres.exe
+CXXFLAGS := -O2 -mno-cygwin
+endif
+LIBS := -luuid
+RES := gvimext.res
+DEFFILE = gvimext_ming.def
+OBJ := gvimext.o
+
+DLL := gvimext.dll
+
+.PHONY: all all-before all-after clean clean-custom
+
+all: all-before $(DLL) all-after
+
+$(DLL): $(OBJ) $(RES) $(DEFFILE)
+ $(CXX) -shared $(CXXFLAGS) -s -o $@ \
+ -Wl,--enable-auto-image-base \
+ -Wl,--enable-auto-import \
+ -Wl,--whole-archive \
+ $^ \
+ -Wl,--no-whole-archive \
+ $(LIBS)
+
+gvimext.o: gvimext.cpp
+ $(CXX) $(CXXFLAGS) -DFEAT_GETTEXT -c $? -o $@
+
+$(RES): gvimext_ming.rc
+ $(WINDRES) --input-format=rc --output-format=coff -DMING $? -o $@
+
+clean: clean-custom
+ $(RM) $(OBJ) $(RES) $(DLL)
+
diff --git a/src/GvimExt/Makefile b/src/GvimExt/Makefile
new file mode 100644
index 000000000..d1bd2d1da
--- /dev/null
+++ b/src/GvimExt/Makefile
@@ -0,0 +1,35 @@
+# Makefile for GvimExt, using MSVC
+# Options:
+# DEBUG=yes Build debug version (for VC7 and maybe later)
+#
+
+TARGETOS=BOTH
+APPVER=4.0
+
+!if "$(DEBUG)" != "yes"
+NODEBUG = 1
+!endif
+
+!include <win32.mak>
+
+all: gvimext.dll
+
+gvimext.dll: gvimext.obj \
+ gvimext.res
+ $(implib) /NOLOGO -machine:$(CPU) -def:gvimext.def $** -out:gvimext.lib
+ $(link) $(dlllflags) -base:0x1C000000 -out:$*.dll $** $(olelibsdll) shell32.lib gvimext.lib comctl32.lib gvimext.exp
+
+gvimext.obj: gvimext.h
+
+.cpp.obj:
+ $(cc) $(cflags) -DFEAT_GETTEXT $(cvarsdll) $*.cpp
+
+gvimext.res: gvimext.rc
+ $(rc) $(rcflags) $(rcvars) gvimext.rc
+
+clean:
+ - if exist gvimext.dll del gvimext.dll
+ - if exist gvimext.lib del gvimext.lib
+ - if exist gvimext.exp del gvimext.exp
+ - if exist gvimext.obj del gvimext.obj
+ - if exist gvimext.res del gvimext.res
diff --git a/src/GvimExt/README.txt b/src/GvimExt/README.txt
new file mode 100644
index 000000000..dd9fcba7d
--- /dev/null
+++ b/src/GvimExt/README.txt
@@ -0,0 +1,94 @@
+README.txt for the gvimext DLL.
+
+Written by Tianmiao Hu. Edited by Bram Moolenaar.
+
+
+INSTALLATION
+
+To install the "Edit with Vim" popup menu entry, it is recommended to use the
+"install.exe" program. It will ask you a few questions and install the needed
+registry entries.
+
+In special situations you might want to make changes by hand. Check these
+items:
+- The gvimext.dll, gvim.exe and uninstal.exe either need to be in the search
+ path, or you have to set the full path in the registry entries. You could
+ move the gvimext.dll to the "windows\system" or "windows\system32"
+ directory, where the other DLL files are.
+- You can find the names of the used registry entries in the file
+ "GvimExt.reg". You can edit this file to add the paths. To install the
+ registry entries, right-click the gvimext.reg file and choose the "merge"
+ menu option.
+- The registry key [HKEY_LOCAL_MACHINE\Software\Vim\Gvim] is used by the
+ gvimext.dll. The value "path" specifies the location of "gvim.exe". If
+ gvim.exe is in the search path, the path can be omitted. The value "lang"
+ can be used to set the language, for example "de" for German. If "lang" is
+ omitted, the language set for Windows will be used.
+
+It is the preferred method to keep gvim.exe with the runtime files, so that
+Vim will find them (also the translated menu items are there).
+
+
+UNINSTALLATION
+
+To uninstall the "Edit with Vim" popup menu entry, it is recommended to use
+the "uninstal.exe" program.
+
+In special situations you might want to uninstall by hand:
+- Open the registry by running regedit.exe.
+- Delete all the keys listed in GvimExt.reg, except this one:
+ [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved]
+ For this key, only delete one value:
+ "{51EEE242-AD87-11d3-9C1E-0090278BBD99}"="Vim Shell Extension"
+- Delete the gvimext.dll, if you want. You might need to reboot the machine
+ in order to remove this file. A quick way is to log off and re-login.
+
+Another method is by using the uninst.bat script:
+ uninst gvimext.inf
+This batch file will remove all the registry keys from the system. Then you
+can remove the gvimext.dll file.
+Note: In order for this batch file to work, you must have two system files:
+rundll32.exe and setupapi.dll. I believe you will have rundll32.exe in your
+system. I know windows nt 4.0 with the service pack 4 has setupapi.dll. My
+windows 95 has setupapi.dll. I find that the internet explorer 4.0 comes with
+the setupapi.dll in file Ie4_5.cab.
+
+If you do encounter problems running this script, then probably you need to
+modify the uninst.bat to suit to your system. Basically, you must find out
+where are the locations for your rundll32.exe and setupapi.dll files. In
+windows nt, both files are under c:\winnt\system32 directory. In my windows 95
+system, I got setupapi.dll at c:\windows\system and rundll32.exe at
+c:\windows. So you might want to try something like:
+ rundll32.exe c:\windows\system\setupapi.dll,InstallHinfSection DefaultUninstall 128 %1
+where %1 can be substitued by gvimext.inf
+
+
+THE SOURCE CODE
+
+I have provided the source code here in hope that gvim users around world can
+further enhance this little dll. I believe the only thing you need to change
+is gvimext.cpp file. The important two functions you need to look at are
+QueryContextMenu and InvokeCommand. You can modify right-click menus in the
+QueryContextMenu function and invoke gvim in the InvokeCommand function. Note
+the selected files can be accessed from the DragQueryFile function. I am not
+familiar with the invoking options for gvim. I believe there are some
+improvements that can be made on that side.
+
+I use MS Visual C++ 6.0's nmake to make the gvimext.dll. I don't have a
+chance to try earlier versions of MSVC. The files that are required for build
+are:
+ gvimext.cpp
+ gvimext.h
+ gvimext.def
+ gvimext.rc
+ resource.h
+ Makefile
+
+To compile the DLL from the command line:
+ vcvars32
+ nmake -f Makefile
+
+If you did something interesting to this dll, please let me know
+@ tianmiao@acm.org.
+
+Happy vimming!!!
diff --git a/src/GvimExt/gvimext.cpp b/src/GvimExt/gvimext.cpp
new file mode 100644
index 000000000..57fbf8119
--- /dev/null
+++ b/src/GvimExt/gvimext.cpp
@@ -0,0 +1,979 @@
+/* vi:set ts=8 sts=4 sw=4:
+ *
+ * VIM - Vi IMproved gvimext by Tianmiao Hu
+ *
+ * Do ":help uganda" in Vim to read copying and usage conditions.
+ * Do ":help credits" in Vim to see a list of people who contributed.
+ */
+
+/*
+ * gvimext is a DLL which is used for the "Edit with Vim" context menu
+ * extension. It implements a MS defined interface with the Shell.
+ *
+ * If you have any questions or any suggestions concerning gvimext, please
+ * contact Tianmiao Hu: tianmiao@acm.org.
+ */
+
+#include "gvimext.h"
+
+#ifdef __BORLANDC__
+# include <dir.h>
+# ifndef _strnicmp
+# define _strnicmp(a, b, c) strnicmp((a), (b), (c))
+# endif
+#else
+static char *searchpath(char *name);
+#endif
+
+// Always get an error while putting the following stuff to the
+// gvimext.h file as class protected variables, give up and
+// declare them as global stuff
+FORMATETC fmte = {CF_HDROP,
+ (DVTARGETDEVICE FAR *)NULL,
+ DVASPECT_CONTENT,
+ -1,
+ TYMED_HGLOBAL
+ };
+STGMEDIUM medium;
+HRESULT hres = 0;
+UINT cbFiles = 0;
+
+//
+// Get the name of the Gvim executable to use, with the path.
+// When "runtime" is non-zero, we were called to find the runtime directory.
+// Returns the path in name[MAX_PATH]. It's empty when it fails.
+//
+ static void
+getGvimName(char *name, int runtime)
+{
+ HKEY keyhandle;
+ DWORD hlen;
+
+ // Get the location of gvim from the registry.
+ name[0] = 0;
+ if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\\Vim\\Gvim", 0,
+ KEY_READ, &keyhandle) == ERROR_SUCCESS)
+ {
+ hlen = MAX_PATH;
+ if (RegQueryValueEx(keyhandle, "path", 0, NULL, (BYTE *)name, &hlen)
+ != ERROR_SUCCESS)
+ name[0] = 0;
+ else
+ name[hlen] = 0;
+ RegCloseKey(keyhandle);
+ }
+
+ // Registry didn't work, use the search path.
+ if (name[0] == 0)
+ strcpy(name, searchpath("gvim.exe"));
+
+ if (!runtime)
+ {
+ // Only when looking for the executable, not the runtime dir, we can
+ // search for the batch file or a name without a path.
+ if (name[0] == 0)
+ strcpy(name, searchpath("gvim.bat"));
+ if (name[0] == 0)
+ strcpy(name, "gvim"); // finds gvim.bat or gvim.exe
+
+ // avoid that Vim tries to expand wildcards in the file names
+ strcat(name, " --literal");
+ }
+}
+
+//
+// Get the Vim runtime directory into buf[MAX_PATH].
+// The result is empty when it failed.
+// When it works, the path ends in a slash or backslash.
+//
+ static void
+getRuntimeDir(char *buf)
+{
+ int idx;
+
+ getGvimName(buf, 1);
+ if (buf[0] != 0)
+ {
+ // When no path found, use the search path to expand it.
+ if (strchr(buf, '/') == NULL && strchr(buf, '\\') == NULL)
+ strcpy(buf, searchpath(buf));
+
+ // remove "gvim.exe" from the end
+ for (idx = strlen(buf) - 1; idx >= 0; idx--)
+ if (buf[idx] == '\\' || buf[idx] == '/')
+ {
+ buf[idx + 1] = 0;
+ break;
+ }
+ }
+}
+
+//
+// GETTEXT: translated messages and menu entries
+//
+#ifndef FEAT_GETTEXT
+# define _(x) x
+#else
+# define _(x) (*dyn_libintl_gettext)(x)
+# define VIMPACKAGE "vim"
+# ifndef GETTEXT_DLL
+# define GETTEXT_DLL "libintl.dll"
+# endif
+
+// Dummy functions
+static char *null_libintl_gettext(const char *);
+static char *null_libintl_textdomain(const char *);
+static char *null_libintl_bindtextdomain(const char *, const char *);
+static int dyn_libintl_init(char *dir);
+static void dyn_libintl_end(void);
+
+static HINSTANCE hLibintlDLL = 0;
+static char *(*dyn_libintl_gettext)(const char *) = null_libintl_gettext;
+static char *(*dyn_libintl_textdomain)(const char *) = null_libintl_textdomain;
+static char *(*dyn_libintl_bindtextdomain)(const char *, const char *)
+ = null_libintl_bindtextdomain;
+
+//
+// Attempt to load libintl.dll. If it doesn't work, use dummy functions.
+// "dir" is the directory where the libintl.dll might be.
+// Return 1 for success, 0 for failure.
+//
+ static int
+dyn_libintl_init(char *dir)
+{
+ int i;
+ static struct
+ {
+ char *name;
+ FARPROC *ptr;
+ } libintl_entry[] =
+ {
+ {"gettext", (FARPROC*)&dyn_libintl_gettext},
+ {"textdomain", (FARPROC*)&dyn_libintl_textdomain},
+ {"bindtextdomain", (FARPROC*)&dyn_libintl_bindtextdomain},
+ {NULL, NULL}
+ };
+
+ // No need to initialize twice.
+ if (hLibintlDLL)
+ return 1;
+
+ // Load gettext library, first try the Vim runtime directory, then search
+ // the path.
+ strcat(dir, GETTEXT_DLL);
+ hLibintlDLL = LoadLibrary(dir);
+ if (!hLibintlDLL)
+ {
+ hLibintlDLL = LoadLibrary(GETTEXT_DLL);
+ if (!hLibintlDLL)
+ return 0;
+ }
+
+ // Get the addresses of the functions we need.
+ for (i = 0; libintl_entry[i].name != NULL
+ && libintl_entry[i].ptr != NULL; ++i)
+ {
+ if ((*libintl_entry[i].ptr = GetProcAddress(hLibintlDLL,
+ libintl_entry[i].name)) == NULL)
+ {
+ dyn_libintl_end();
+ return 0;
+ }
+ }
+ return 1;
+}
+
+ static void
+dyn_libintl_end(void)
+{
+ if (hLibintlDLL)
+ FreeLibrary(hLibintlDLL);
+ hLibintlDLL = NULL;
+ dyn_libintl_gettext = null_libintl_gettext;
+ dyn_libintl_textdomain = null_libintl_textdomain;
+ dyn_libintl_bindtextdomain = null_libintl_bindtextdomain;
+}
+
+ static char *
+null_libintl_gettext(const char *msgid)
+{
+ return (char *)msgid;
+}
+
+ static char *
+null_libintl_bindtextdomain(const char *domainname, const char *dirname)
+{
+ return NULL;
+}
+
+ static char *
+null_libintl_textdomain(const char* domainname)
+{
+ return NULL;
+}
+
+//
+// Setup for translating strings.
+//
+ static void
+dyn_gettext_load(void)
+{
+ char szBuff[MAX_PATH];
+ char szLang[MAX_PATH];
+ DWORD len;
+ HKEY keyhandle;
+ int gotlang = 0;
+
+ strcpy(szLang, "LANG=");
+
+ // First try getting the language from the registry, this can be
+ // used to overrule the system language.
+ if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\\Vim\\Gvim", 0,
+ KEY_READ, &keyhandle) == ERROR_SUCCESS)
+ {
+ len = MAX_PATH;
+ if (RegQueryValueEx(keyhandle, "lang", 0, NULL, (BYTE*)szBuff, &len)
+ == ERROR_SUCCESS)
+ {
+ szBuff[len] = 0;
+ strcat(szLang, szBuff);
+ gotlang = 1;
+ }
+ RegCloseKey(keyhandle);
+ }
+
+ if (!gotlang && getenv("LANG") == NULL)
+ {
+ // Get the language from the system.
+ // Could use LOCALE_SISO639LANGNAME, but it's not in Win95.
+ // LOCALE_SABBREVLANGNAME gives us three letters, like "enu", we use
+ // only the first two.
+ len = GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SABBREVLANGNAME,
+ (LPTSTR)szBuff, MAX_PATH);
+ if (len >= 2 && _strnicmp(szBuff, "en", 2) != 0)
+ {
+ // There are a few exceptions (probably more)
+ if (_strnicmp(szBuff, "cht", 3) == 0
+ || _strnicmp(szBuff, "zht", 3) == 0)
+ strcpy(szBuff, "zh_TW");
+ else if (_strnicmp(szBuff, "chs", 3) == 0
+ || _strnicmp(szBuff, "zhc", 3) == 0)
+ strcpy(szBuff, "zh_CN");
+ else if (_strnicmp(szBuff, "jp", 2) == 0)
+ strcpy(szBuff, "ja");
+ else
+ szBuff[2] = 0; // truncate to two-letter code
+ strcat(szLang, szBuff);
+ gotlang = 1;
+ }
+ }
+ if (gotlang)
+ putenv(szLang);
+
+ // Try to locate the runtime files. The path is used to find libintl.dll
+ // and the vim.mo files.
+ getRuntimeDir(szBuff);
+ if (szBuff[0] != 0)
+ {
+ len = strlen(szBuff);
+ if (dyn_libintl_init(szBuff))
+ {
+ strcpy(szBuff + len, "lang");
+
+ (*dyn_libintl_bindtextdomain)(VIMPACKAGE, szBuff);
+ (*dyn_libintl_textdomain)(VIMPACKAGE);
+ }
+ }
+}
+
+ static void
+dyn_gettext_free(void)
+{
+ dyn_libintl_end();
+}
+#endif // FEAT_GETTEXT
+
+//
+// Global variables
+//
+UINT g_cRefThisDll = 0; // Reference count of this DLL.
+HINSTANCE g_hmodThisDll = NULL; // Handle to this DLL itself.
+
+
+//---------------------------------------------------------------------------
+// DllMain
+//---------------------------------------------------------------------------
+extern "C" int APIENTRY
+DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
+{
+ switch (dwReason)
+ {
+ case DLL_PROCESS_ATTACH:
+ // Extension DLL one-time initialization
+ g_hmodThisDll = hInstance;
+ break;
+
+ case DLL_PROCESS_DETACH:
+ break;
+ }
+
+ return 1; // ok
+}
+
+ static void
+inc_cRefThisDLL()
+{
+#ifdef FEAT_GETTEXT
+ if (g_cRefThisDll == 0)
+ dyn_gettext_load();
+#endif
+ InterlockedIncrement((LPLONG)&g_cRefThisDll);
+}
+
+ static void
+dec_cRefThisDLL()
+{
+#ifdef FEAT_GETTEXT
+ if (InterlockedDecrement((LPLONG)&g_cRefThisDll) == 0)
+ dyn_gettext_free();
+#else
+ InterlockedDecrement((LPLONG)&g_cRefThisDll);
+#endif
+}
+
+//---------------------------------------------------------------------------
+// DllCanUnloadNow
+//---------------------------------------------------------------------------
+
+STDAPI DllCanUnloadNow(void)
+{
+ return (g_cRefThisDll == 0 ? S_OK : S_FALSE);
+}
+
+STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppvOut)
+{
+ *ppvOut = NULL;
+
+ if (IsEqualIID(rclsid, CLSID_ShellExtension))
+ {
+ CShellExtClassFactory *pcf = new CShellExtClassFactory;
+
+ return pcf->QueryInterface(riid, ppvOut);
+ }
+
+ return CLASS_E_CLASSNOTAVAILABLE;
+}
+
+CShellExtClassFactory::CShellExtClassFactory()
+{
+ m_cRef = 0L;
+
+ inc_cRefThisDLL();
+}
+
+CShellExtClassFactory::~CShellExtClassFactory()
+{
+ dec_cRefThisDLL();
+}
+
+STDMETHODIMP CShellExtClassFactory::QueryInterface(REFIID riid,
+ LPVOID FAR *ppv)
+{
+ *ppv = NULL;
+
+ // Any interface on this object is the object pointer
+
+ if (IsEqualIID(riid, IID_IUnknown) || IsEqualIID(riid, IID_IClassFactory))
+ {
+ *ppv = (LPCLASSFACTORY)this;
+
+ AddRef();
+
+ return NOERROR;
+ }
+
+ return E_NOINTERFACE;
+}
+
+STDMETHODIMP_(ULONG) CShellExtClassFactory::AddRef()
+{
+ return InterlockedIncrement((LPLONG)&m_cRef);
+}
+
+STDMETHODIMP_(ULONG) CShellExtClassFactory::Release()
+{
+ if (InterlockedDecrement((LPLONG)&m_cRef))
+ return m_cRef;
+
+ delete this;
+
+ return 0L;
+}
+
+STDMETHODIMP CShellExtClassFactory::CreateInstance(LPUNKNOWN pUnkOuter,
+ REFIID riid,
+ LPVOID *ppvObj)
+{
+ *ppvObj = NULL;
+
+ // Shell extensions typically don't support aggregation (inheritance)
+
+ if (pUnkOuter)
+ return CLASS_E_NOAGGREGATION;
+
+ // Create the main shell extension object. The shell will then call
+ // QueryInterface with IID_IShellExtInit--this is how shell extensions are
+ // initialized.
+
+ LPCSHELLEXT pShellExt = new CShellExt(); //Create the CShellExt object
+
+ if (NULL == pShellExt)
+ return E_OUTOFMEMORY;
+
+ return pShellExt->QueryInterface(riid, ppvObj);
+}
+
+
+STDMETHODIMP CShellExtClassFactory::LockServer(BOOL fLock)
+{
+ return NOERROR;
+}
+
+// *********************** CShellExt *************************
+CShellExt::CShellExt()
+{
+ m_cRef = 0L;
+ m_pDataObj = NULL;
+
+ inc_cRefThisDLL();
+}
+
+CShellExt::~CShellExt()
+{
+ if (m_pDataObj)
+ m_pDataObj->Release();
+
+ dec_cRefThisDLL();
+}
+
+STDMETHODIMP CShellExt::QueryInterface(REFIID riid, LPVOID FAR *ppv)
+{
+ *ppv = NULL;
+
+ if (IsEqualIID(riid, IID_IShellExtInit) || IsEqualIID(riid, IID_IUnknown))
+ {
+ *ppv = (LPSHELLEXTINIT)this;
+ }
+ else if (IsEqualIID(riid, IID_IContextMenu))
+ {
+ *ppv = (LPCONTEXTMENU)this;
+ }
+
+ if (*ppv)
+ {
+ AddRef();
+
+ return NOERROR;
+ }
+
+ return E_NOINTERFACE;
+}
+
+STDMETHODIMP_(ULONG) CShellExt::AddRef()
+{
+ return InterlockedIncrement((LPLONG)&m_cRef);
+}
+
+STDMETHODIMP_(ULONG) CShellExt::Release()
+{
+
+ if (InterlockedDecrement((LPLONG)&m_cRef))
+ return m_cRef;
+
+ delete this;
+
+ return 0L;
+}
+
+
+//
+// FUNCTION: CShellExt::Initialize(LPCITEMIDLIST, LPDATAOBJECT, HKEY)
+//
+// PURPOSE: Called by the shell when initializing a context menu or property
+// sheet extension.
+//
+// PARAMETERS:
+// pIDFolder - Specifies the parent folder
+// pDataObj - Spefifies the set of items selected in that folder.
+// hRegKey - Specifies the type of the focused item in the selection.
+//
+// RETURN VALUE:
+//
+// NOERROR in all cases.
+//
+// COMMENTS: Note that at the time this function is called, we don't know
+// (or care) what type of shell extension is being initialized.
+// It could be a context menu or a property sheet.
+//
+
+STDMETHODIMP CShellExt::Initialize(LPCITEMIDLIST pIDFolder,
+ LPDATAOBJECT pDataObj,
+ HKEY hRegKey)
+{
+ // Initialize can be called more than once
+ if (m_pDataObj)
+ m_pDataObj->Release();
+
+ // duplicate the object pointer and registry handle
+
+ if (pDataObj)
+ {
+ m_pDataObj = pDataObj;
+ pDataObj->AddRef();
+ }
+
+ return NOERROR;
+}
+
+
+//
+// FUNCTION: CShellExt::QueryContextMenu(HMENU, UINT, UINT, UINT, UINT)
+//
+// PURPOSE: Called by the shell just before the context menu is displayed.
+// This is where you add your specific menu items.
+//
+// PARAMETERS:
+// hMenu - Handle to the context menu
+// indexMenu - Index of where to begin inserting menu items
+// idCmdFirst - Lowest value for new menu ID's
+// idCmtLast - Highest value for new menu ID's
+// uFlags - Specifies the context of the menu event
+//
+// RETURN VALUE:
+//
+//
+// COMMENTS:
+//
+
+STDMETHODIMP CShellExt::QueryContextMenu(HMENU hMenu,
+ UINT indexMenu,
+ UINT idCmdFirst,
+ UINT idCmdLast,
+ UINT uFlags)
+{
+ UINT idCmd = idCmdFirst;
+
+ hres = m_pDataObj->GetData(&fmte, &medium);
+ if (medium.hGlobal)
+ cbFiles = DragQueryFile((HDROP)medium.hGlobal, (UINT)-1, 0, 0);
+
+ // InsertMenu(hMenu, indexMenu++, MF_SEPARATOR|MF_BYPOSITION, 0, NULL);
+
+ // Initialize m_cntOfHWnd to 0
+ m_cntOfHWnd = 0;
+ // Retieve all the vim instances
+ EnumWindows(EnumWindowsProc, (LPARAM)this);
+
+ if (cbFiles > 1)
+ {
+ InsertMenu(hMenu,
+ indexMenu++,
+ MF_STRING|MF_BYPOSITION,
+ idCmd++,
+ _("Edit with &multiple Vims"));
+
+ InsertMenu(hMenu,
+ indexMenu++,
+ MF_STRING|MF_BYPOSITION,
+ idCmd++,
+ _("Edit with single &Vim"));
+
+ if (cbFiles <= 4)
+ {
+ // Can edit up to 4 files in diff mode
+ InsertMenu(hMenu,
+ indexMenu++,
+ MF_STRING|MF_BYPOSITION,
+ idCmd++,
+ _("&Diff with Vim"));
+ m_edit_existing_off = 3;
+ }
+ else
+ m_edit_existing_off = 2;
+
+ }
+ else
+ {
+ InsertMenu(hMenu,
+ indexMenu++,
+ MF_STRING|MF_BYPOSITION,
+ idCmd++,
+ _("Edit with &Vim"));
+ m_edit_existing_off = 1;
+ }
+
+ // Now display all the vim instances
+ for (int i = 0; i < m_cntOfHWnd; i++)
+ {
+ char title[MAX_PATH];
+ char temp[MAX_PATH];
+
+ // Obtain window title, continue if can not
+ if (GetWindowText(m_hWnd[i], title, MAX_PATH - 1) == 0)
+ continue;
+ // Truncate the title before the path, keep the file name
+ char *pos = strchr(title, '(');
+ if (pos != NULL)
+ {
+ if (pos > title && pos[-1] == ' ')
+ --pos;
+ *pos = 0;
+ }
+ // Now concatenate
+ strncpy(temp, _("Edit with existing Vim - &"), MAX_PATH - 1);
+ strncat(temp, title, MAX_PATH - 1);
+ InsertMenu(hMenu,
+ indexMenu++,
+ MF_STRING|MF_BYPOSITION,
+ idCmd++,
+ temp);
+ }
+ // InsertMenu(hMenu, indexMenu++, MF_SEPARATOR|MF_BYPOSITION, 0, NULL);
+
+ // Must return number of menu items we added.
+ return ResultFromShort(idCmd-idCmdFirst);
+}
+
+//
+// FUNCTION: CShellExt::InvokeCommand(LPCMINVOKECOMMANDINFO)
+//
+// PURPOSE: Called by the shell after the user has selected on of the
+// menu items that was added in QueryContextMenu().
+//
+// PARAMETERS:
+// lpcmi - Pointer to an CMINVOKECOMMANDINFO structure
+//
+// RETURN VALUE:
+//
+//
+// COMMENTS:
+//
+
+STDMETHODIMP CShellExt::InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi)
+{
+ HRESULT hr = E_INVALIDARG;
+
+ // If HIWORD(lpcmi->lpVerb) then we have been called programmatically
+ // and lpVerb is a command that should be invoked. Otherwise, the shell
+ // has called us, and LOWORD(lpcmi->lpVerb) is the menu ID the user has
+ // selected. Actually, it's (menu ID - idCmdFirst) from QueryContextMenu().
+ if (!HIWORD(lpcmi->lpVerb))
+ {
+ UINT idCmd = LOWORD(lpcmi->lpVerb);
+
+ if (idCmd >= m_edit_existing_off)
+ {
+ // Existing with vim instance
+ hr = PushToWindow(lpcmi->hwnd,
+ lpcmi->lpDirectory,
+ lpcmi->lpVerb,
+ lpcmi->lpParameters,
+ lpcmi->nShow,
+ idCmd - m_edit_existing_off);
+ }
+ else
+ {
+ switch (idCmd)
+ {
+ case 0:
+ hr = InvokeGvim(lpcmi->hwnd,
+ lpcmi->lpDirectory,
+ lpcmi->lpVerb,
+ lpcmi->lpParameters,
+ lpcmi->nShow);
+ break;
+ case 1:
+ hr = InvokeSingleGvim(lpcmi->hwnd,
+ lpcmi->lpDirectory,
+ lpcmi->lpVerb,
+ lpcmi->lpParameters,
+ lpcmi->nShow,
+ 0);
+ break;
+ case 2:
+ hr = InvokeSingleGvim(lpcmi->hwnd,
+ lpcmi->lpDirectory,
+ lpcmi->lpVerb,
+ lpcmi->lpParameters,
+ lpcmi->nShow,
+ 1);
+ break;
+ }
+ }
+ }
+ return hr;
+}
+
+STDMETHODIMP CShellExt::PushToWindow(HWND hParent,
+ LPCSTR pszWorkingDir,
+ LPCSTR pszCmd,
+ LPCSTR pszParam,
+ int iShowCmd,
+ int idHWnd)
+{
+ HWND hWnd = m_hWnd[idHWnd];
+
+ // Show and bring vim instance to foreground
+ if (IsIconic(hWnd) != 0)
+ ShowWindow(hWnd, SW_RESTORE);
+ else
+ ShowWindow(hWnd, SW_SHOW);
+ SetForegroundWindow(hWnd);
+
+ // Post the selected files to the vim instance
+ PostMessage(hWnd, WM_DROPFILES, (WPARAM)medium.hGlobal, 0);
+
+ return NOERROR;
+}
+
+STDMETHODIMP CShellExt::GetCommandString(UINT idCmd,
+ UINT uFlags,
+ UINT FAR *reserved,
+ LPSTR pszName,
+ UINT cchMax)
+{
+ if (uFlags == GCS_HELPTEXT && cchMax > 35)
+ lstrcpy(pszName, _("Edits the selected file(s) with Vim"));
+
+ return NOERROR;
+}
+
+BOOL CALLBACK CShellExt::EnumWindowsProc(HWND hWnd, LPARAM lParam)
+{
+ char temp[MAX_PATH];
+
+ // First do a bunch of check
+ // No invisible window
+ if (!IsWindowVisible(hWnd)) return TRUE;
+ // No child window ???
+ // if (GetParent(hWnd)) return TRUE;
+ // Class name should be Vim, if failed to get class name, return
+ if (GetClassName(hWnd, temp, sizeof(temp)) == 0)
+ return TRUE;
+ // Compare class name to that of vim, if not, return
+ if (_strnicmp(temp, "vim", sizeof("vim")) != 0)
+ return TRUE;
+ // First check if the number of vim instance exceeds MAX_HWND
+ CShellExt *cs = (CShellExt*) lParam;
+ if (cs->m_cntOfHWnd >= MAX_HWND) return TRUE;
+ // Now we get the vim window, put it into some kind of array
+ cs->m_hWnd[cs->m_cntOfHWnd] = hWnd;
+ cs->m_cntOfHWnd ++;
+
+ return TRUE; // continue enumeration (otherwise this would be false)
+}
+
+#ifdef WIN32
+// This symbol is not defined in older versions of the SDK or Visual C++.
+
+#ifndef VER_PLATFORM_WIN32_WINDOWS
+# define VER_PLATFORM_WIN32_WINDOWS 1
+#endif
+
+static DWORD g_PlatformId;
+
+//
+// Set g_PlatformId to VER_PLATFORM_WIN32_NT (NT) or
+// VER_PLATFORM_WIN32_WINDOWS (Win95).
+//
+ static void
+PlatformId(void)
+{
+ static int done = FALSE;
+
+ if (!done)
+ {
+ OSVERSIONINFO ovi;
+
+ ovi.dwOSVersionInfoSize = sizeof(ovi);
+ GetVersionEx(&ovi);
+
+ g_PlatformId = ovi.dwPlatformId;
+ done = TRUE;
+ }
+}
+
+# ifndef __BORLANDC__
+ static char *
+searchpath(char *name)
+{
+ static char widename[2 * MAX_PATH];
+ static char location[2 * MAX_PATH + 2];
+
+ // There appears to be a bug in FindExecutableA() on Windows NT.
+ // Use FindExecutableW() instead...
+ PlatformId();
+ if (g_PlatformId == VER_PLATFORM_WIN32_NT)
+ {
+ MultiByteToWideChar(CP_ACP, 0, (LPCTSTR)name, -1,
+ (LPWSTR)widename, MAX_PATH);
+ if (FindExecutableW((LPCWSTR)widename, (LPCWSTR)"",
+ (LPWSTR)location) > (HINSTANCE)32)
+ {
+ WideCharToMultiByte(CP_ACP, 0, (LPWSTR)location, -1,
+ (LPSTR)widename, 2 * MAX_PATH, NULL, NULL);
+ return widename;
+ }
+ }
+ else
+ {
+ if (FindExecutableA((LPCTSTR)name, (LPCTSTR)"",
+ (LPTSTR)location) > (HINSTANCE)32)
+ return location;
+ }
+ return "";
+}
+# endif
+#endif
+
+STDMETHODIMP CShellExt::InvokeGvim(HWND hParent,
+ LPCSTR pszWorkingDir,
+ LPCSTR pszCmd,
+ LPCSTR pszParam,
+ int iShowCmd)
+{
+ char m_szFileUserClickedOn[MAX_PATH];
+ char cmdStr[MAX_PATH];
+ UINT i;
+
+ for (i = 0; i < cbFiles; i++)
+ {
+ DragQueryFile((HDROP)medium.hGlobal,
+ i,
+ m_szFileUserClickedOn,
+ sizeof(m_szFileUserClickedOn));
+
+ getGvimName(cmdStr, 0);
+ strcat(cmdStr, " \"");
+
+ if ((strlen(cmdStr) + strlen(m_szFileUserClickedOn) + 2) < MAX_PATH)
+ {
+ strcat(cmdStr, m_szFileUserClickedOn);
+ strcat(cmdStr, "\"");
+
+ STARTUPINFO si;
+ PROCESS_INFORMATION pi;
+
+ ZeroMemory(&si, sizeof(si));
+ si.cb = sizeof(si);
+
+ // Start the child process.
+ if (!CreateProcess(NULL, // No module name (use command line).
+ cmdStr, // Command line.
+ NULL, // Process handle not inheritable.
+ NULL, // Thread handle not inheritable.
+ FALSE, // Set handle inheritance to FALSE.
+ 0, // No creation flags.
+ NULL, // Use parent's environment block.
+ NULL, // Use parent's starting directory.
+ &si, // Pointer to STARTUPINFO structure.
+ &pi) // Pointer to PROCESS_INFORMATION structure.
+ )
+ {
+ MessageBox(
+ hParent,
+ _("Error creating process: Check if gvim is in your path!"),
+ _("gvimext.dll error"),
+ MB_OK);
+ }
+ else
+ {
+ CloseHandle( pi.hProcess );
+ CloseHandle( pi.hThread );
+ }
+ }
+ else
+ {
+ MessageBox(
+ hParent,
+ _("Path length too long!"),
+ _("gvimext.dll error"),
+ MB_OK);
+ }
+ }
+
+ return NOERROR;
+}
+
+
+STDMETHODIMP CShellExt::InvokeSingleGvim(HWND hParent,
+ LPCSTR pszWorkingDir,
+ LPCSTR pszCmd,
+ LPCSTR pszParam,
+ int iShowCmd,
+ int useDiff)
+{
+ char m_szFileUserClickedOn[MAX_PATH];
+ char *cmdStr;
+ size_t cmdlen;
+ size_t len;
+ UINT i;
+
+ cmdlen = MAX_PATH;
+ cmdStr = (char *)malloc(cmdlen);
+ getGvimName(cmdStr, 0);
+ if (useDiff)
+ strcat(cmdStr, " -d");
+ for (i = 0; i < cbFiles; i++)
+ {
+ DragQueryFile((HDROP)medium.hGlobal,
+ i,
+ m_szFileUserClickedOn,
+ sizeof(m_szFileUserClickedOn));
+
+ len = strlen(cmdStr) + strlen(m_szFileUserClickedOn) + 4;
+ if (len > cmdlen)
+ {
+ cmdlen = len + MAX_PATH;
+ cmdStr = (char *)realloc(cmdStr, cmdlen);
+ }
+ strcat(cmdStr, " \"");
+ strcat(cmdStr, m_szFileUserClickedOn);
+ strcat(cmdStr, "\"");
+ }
+
+ STARTUPINFO si;
+ PROCESS_INFORMATION pi;
+
+ ZeroMemory(&si, sizeof(si));
+ si.cb = sizeof(si);
+
+ // Start the child process.
+ if (!CreateProcess(NULL, // No module name (use command line).
+ cmdStr, // Command line.
+ NULL, // Process handle not inheritable.
+ NULL, // Thread handle not inheritable.
+ FALSE, // Set handle inheritance to FALSE.
+ 0, // No creation flags.
+ NULL, // Use parent's environment block.
+ NULL, // Use parent's starting directory.
+ &si, // Pointer to STARTUPINFO structure.
+ &pi) // Pointer to PROCESS_INFORMATION structure.
+ )
+ {
+ MessageBox(
+ hParent,
+ _("Error creating process: Check if gvim is in your path!"),
+ _("gvimext.dll error"),
+ MB_OK);
+ }
+ else
+ {
+ CloseHandle(pi.hProcess);
+ CloseHandle(pi.hThread);
+ }
+
+ free(cmdStr);
+
+ return NOERROR;
+}
diff --git a/src/GvimExt/gvimext.def b/src/GvimExt/gvimext.def
new file mode 100644
index 000000000..459d10369
--- /dev/null
+++ b/src/GvimExt/gvimext.def
@@ -0,0 +1,8 @@
+;gvimdef.def : Declares the module parameters for the DLL.
+
+LIBRARY gvimext
+DESCRIPTION 'Vim Shell Extension'
+
+EXPORTS
+ DllCanUnloadNow private
+ DllGetClassObject private
diff --git a/src/GvimExt/gvimext.h b/src/GvimExt/gvimext.h
new file mode 100644
index 000000000..5eb50048b
--- /dev/null
+++ b/src/GvimExt/gvimext.h
@@ -0,0 +1,164 @@
+/* vi:set ts=8 sts=4 sw=4:
+ *
+ * VIM - Vi IMproved gvimext by Tianmiao Hu
+ *
+ * Do ":help uganda" in Vim to read copying and usage conditions.
+ * Do ":help credits" in Vim to see a list of people who contributed.
+ */
+
+/*
+ * If you have any questions or any suggestions concerning gvimext, please
+ * contact Tianmiao Hu: tianmiao@acm.org.
+ */
+
+#if !defined(AFX_STDAFX_H__3389658B_AD83_11D3_9C1E_0090278BBD99__INCLUDED_)
+#define AFX_STDAFX_H__3389658B_AD83_11D3_9C1E_0090278BBD99__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+// Insert your headers here
+// #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
+
+//--------------------------------------------------------------
+// common user interface routines
+//
+//
+//--------------------------------------------------------------
+
+#ifndef STRICT
+#define STRICT
+#endif
+
+#define INC_OLE2 // WIN32, get ole2 from windows.h
+
+#include <windows.h>
+#include <windowsx.h>
+#include <shlobj.h>
+
+#define ResultFromShort(i) ResultFromScode(MAKE_SCODE(SEVERITY_SUCCESS, 0, (USHORT)(i)))
+
+// Initialize GUIDs (should be done only and at-least once per DLL/EXE)
+//
+#pragma data_seg(".text")
+#define INITGUID
+#include <initguid.h>
+#include <shlguid.h>
+
+//
+// The class ID of this Shell extension class.
+//
+// class id: {51EEE242-AD87-11d3-9C1E-0090278BBD99}
+//
+//
+// NOTE!!! If you use this shell extension as a starting point,
+// you MUST change the GUID below. Simply run UUIDGEN.EXE
+// to generate a new GUID.
+//
+
+// {51EEE242-AD87-11d3-9C1E-0090278BBD99}
+// static const GUID <<name>> =
+// { 0x51eee242, 0xad87, 0x11d3, { 0x9c, 0x1e, 0x0, 0x90, 0x27, 0x8b, 0xbd, 0x99 } };
+//
+//
+
+// {51EEE242-AD87-11d3-9C1E-0090278BBD99}
+// IMPLEMENT_OLECREATE(<<class>>, <<external_name>>,
+// 0x51eee242, 0xad87, 0x11d3, 0x9c, 0x1e, 0x0, 0x90, 0x27, 0x8b, 0xbd, 0x99);
+//
+
+// {51EEE242-AD87-11d3-9C1E-0090278BBD99} -- this is the registry format
+DEFINE_GUID(CLSID_ShellExtension, 0x51eee242, 0xad87, 0x11d3, 0x9c, 0x1e, 0x0, 0x90, 0x27, 0x8b, 0xbd, 0x99);
+
+// this class factory object creates context menu handlers for windows 32 shell
+class CShellExtClassFactory : public IClassFactory
+{
+protected:
+ ULONG m_cRef;
+
+public:
+ CShellExtClassFactory();
+ ~CShellExtClassFactory();
+
+ //IUnknown members
+ STDMETHODIMP QueryInterface(REFIID, LPVOID FAR *);
+ STDMETHODIMP_(ULONG) AddRef();
+ STDMETHODIMP_(ULONG) Release();
+
+ //IClassFactory members
+ STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID FAR *);
+ STDMETHODIMP LockServer(BOOL);
+
+};
+typedef CShellExtClassFactory *LPCSHELLEXTCLASSFACTORY;
+#define MAX_HWND 100
+
+// this is the actual OLE Shell context menu handler
+class CShellExt : public IContextMenu,
+ IShellExtInit
+{
+protected:
+ ULONG m_cRef;
+ LPDATAOBJECT m_pDataObj;
+ UINT m_edit_existing_off;
+
+ // For some reason, this callback must be static
+ static BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam);
+
+ STDMETHODIMP PushToWindow(HWND hParent,
+ LPCSTR pszWorkingDir,
+ LPCSTR pszCmd,
+ LPCSTR pszParam,
+ int iShowCmd,
+ int idHWnd);
+
+ STDMETHODIMP InvokeGvim(HWND hParent,
+ LPCSTR pszWorkingDir,
+ LPCSTR pszCmd,
+ LPCSTR pszParam,
+ int iShowCmd);
+
+ STDMETHODIMP InvokeSingleGvim(HWND hParent,
+ LPCSTR pszWorkingDir,
+ LPCSTR pszCmd,
+ LPCSTR pszParam,
+ int iShowCmd,
+ int useDiff);
+
+public:
+ int m_cntOfHWnd;
+ HWND m_hWnd[MAX_HWND];
+ CShellExt();
+ ~CShellExt();
+
+ //IUnknown members
+ STDMETHODIMP QueryInterface(REFIID, LPVOID FAR *);
+ STDMETHODIMP_(ULONG) AddRef();
+ STDMETHODIMP_(ULONG) Release();
+
+ //IShell members
+ STDMETHODIMP QueryContextMenu(HMENU hMenu,
+ UINT indexMenu,
+ UINT idCmdFirst,
+ UINT idCmdLast,
+ UINT uFlags);
+
+ STDMETHODIMP InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi);
+
+ STDMETHODIMP GetCommandString(UINT idCmd,
+ UINT uFlags,
+ UINT FAR *reserved,
+ LPSTR pszName,
+ UINT cchMax);
+
+ //IShellExtInit methods
+ STDMETHODIMP Initialize(LPCITEMIDLIST pIDFolder,
+ LPDATAOBJECT pDataObj,
+ HKEY hKeyID);
+};
+
+typedef CShellExt *LPCSHELLEXT;
+#pragma data_seg()
+
+#endif
diff --git a/src/GvimExt/gvimext.inf b/src/GvimExt/gvimext.inf
new file mode 100644
index 000000000..8b45bb19e
--- /dev/null
+++ b/src/GvimExt/gvimext.inf
@@ -0,0 +1,22 @@
+[Version]
+Signature="$Windows NT$""
+Provider="Tianmiao"
+
+[Manufacture]
+
+[DefaultInstall]
+AddReg=ThisDll.Add.Reg
+
+[DefaultUninstall]
+DelReg=ThisDLL.Add.Reg
+
+[ThisDll.Add.Reg]
+HKCR,CLSID\{51EEE242-AD87-11d3-9C1E-0090278BBD99}
+HKCR,CLSID\{51EEE242-AD87-11d3-9C1E-0090278BBD99}\InProcServer32
+HKCR,*\shellex\ContextMenuHandlers\gvim
+HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved",{51EEE242-AD87-11d3-9C1E-0090278BBD99}
+HKLM,Software\Vim\Gvim
+HKLM,"Software\Microsoft\Windows\CurrentVersion\Uninstall\Vim 6.0"
+
+[Strings]
+ThisDll="gvimext.dll"
diff --git a/src/GvimExt/gvimext.rc b/src/GvimExt/gvimext.rc
new file mode 100644
index 000000000..19a5d0ca7
--- /dev/null
+++ b/src/GvimExt/gvimext.rc
@@ -0,0 +1,111 @@
+//Microsoft Developer Studio generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#ifndef __BORLANDC__
+# include "afxres.h"
+#endif
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.S.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifndef _MAC
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,0,1
+ PRODUCTVERSION 1,0,0,1
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS 0x3L
+#else
+ FILEFLAGS 0x2L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "Comments", "Developed using COM architecture!\0"
+ VALUE "CompanyName", "Tianmiao Hu's Developer Studio\0"
+ VALUE "FileDescription", "A small project for the context menu of gvim!\0"
+ VALUE "FileVersion", "1, 0, 0, 1\0"
+ VALUE "InternalName", "gvim right-click menu extension\0"
+ VALUE "LegalCopyright", "Copyright © 1999 Tianmiao Hu\0"
+ VALUE "LegalTrademarks", "Tianmiao Hu's Gvim Context Menu Extension\0"
+ VALUE "OriginalFilename", "gvimext.dll\0"
+ VALUE "PrivateBuild", "\0"
+ VALUE "ProductName", "Tianmiao Hu's gvimext context menu extension\0"
+ VALUE "ProductVersion", "1, 0, 0, 1\0"
+ VALUE "SpecialBuild", "\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
+
+#endif // !_MAC
+
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+#endif // English (U.S.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
diff --git a/src/GvimExt/gvimext_ming.def b/src/GvimExt/gvimext_ming.def
new file mode 100644
index 000000000..0b47d7dea
--- /dev/null
+++ b/src/GvimExt/gvimext_ming.def
@@ -0,0 +1,10 @@
+;gvimdef_ming.def : Declares the module parameters for the DLL.
+;The mingw environment doesn't know anything about private declarations
+;Hence this is the same file as gvimext.def with private removed
+
+LIBRARY gvimext
+DESCRIPTION 'Vim Shell Extension build with MinGW'
+
+EXPORTS
+ DllCanUnloadNow = DllCanUnloadNow@0
+ DllGetClassObject = DllGetClassObject@12
diff --git a/src/GvimExt/gvimext_ming.rc b/src/GvimExt/gvimext_ming.rc
new file mode 100644
index 000000000..6c6985409
--- /dev/null
+++ b/src/GvimExt/gvimext_ming.rc
@@ -0,0 +1,45 @@
+#include <windows.h>
+#define xstr(x) str(x)
+#define str(x) #x
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,0,1
+ PRODUCTVERSION 1,0,0,1
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS 0x3L
+#else
+ FILEFLAGS 0x2L
+#endif
+ FILEOS 0x4L
+ FILETYPE VFT_DLL
+ FILESUBTYPE 0x0L
+{
+ BLOCK "StringFileInfo"
+ {
+ BLOCK "040904b0"
+ {
+ VALUE "Comments", "Developed using COM architecture!\0"
+ VALUE "CompanyName", "Tianmiao Hu's Developer Studio\0"
+ VALUE "FileDescription", "A small project for the context menu of gvim!\0"
+ VALUE "FileVersion", "1, 0, 0, 1\0"
+ VALUE "InternalName", "gvim right-click menu extension\0"
+ VALUE "LegalCopyright", "Copyright © 1999 Tianmiao Hu\0"
+ VALUE "LegalTrademarks", "Tianmiao Hu's Gvim Context Menu Extension\0"
+ VALUE "OriginalFilename", "gvimext.dll\0"
+ VALUE "PrivateBuild", "\0"
+ VALUE "ProductName", "Tianmiao Hu's gvimext context menu extension\0"
+ VALUE "ProductVersion", "1, 0, 0, 1\0"
+
+#if defined(__GNUC__)
+ VALUE "SpecialBuild", "Build With " "MingW " xstr(__GNUC__) "." xstr(__GNUC_MINOR__) "." xstr(__GNUC_PATCHLEVEL__) " on " __DATE__ " " __TIME__ "\0"
+#else
+ VALUE "SpecialBuild", "Unknown compiler\0"
+
+#endif
+ }
+ }
+ BLOCK "VarFileInfo"
+ {
+ VALUE "Translation", 0x409, 1200
+ }
+}
diff --git a/src/GvimExt/resource.h b/src/GvimExt/resource.h
new file mode 100644
index 000000000..8ddc823f8
--- /dev/null
+++ b/src/GvimExt/resource.h
@@ -0,0 +1,15 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft Developer Studio generated include file.
+// Used by gvimext.rc
+//
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE 101
+#define _APS_NEXT_COMMAND_VALUE 40001
+#define _APS_NEXT_CONTROL_VALUE 1000
+#define _APS_NEXT_SYMED_VALUE 101
+#endif
+#endif
diff --git a/src/GvimExt/uninst.bat b/src/GvimExt/uninst.bat
new file mode 100644
index 000000000..71d14f65a
--- /dev/null
+++ b/src/GvimExt/uninst.bat
@@ -0,0 +1 @@
+rundll32.exe setupapi,InstallHinfSection DefaultUninstall 128 %1
diff --git a/src/edit.c b/src/edit.c
index 9a42f5ae8..7619a5555 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -4658,8 +4658,10 @@ stop_insert(end_insert_pos, esc)
* insertion (or moving the cursor), but it's required when appending
* a line and having it end in a space. But only do it when something
* was actually inserted, otherwise undo won't work. */
- if (!ins_need_undo)
+ if (!ins_need_undo && has_format_option(FO_AUTO))
{
+ pos_T tpos = curwin->w_cursor;
+
/* When the cursor is at the end of the line after a space the
* formatting will move it to the following word. Avoid that by
* moving the cursor onto the space. */
@@ -4669,27 +4671,45 @@ stop_insert(end_insert_pos, esc)
dec_cursor();
cc = gchar_cursor();
if (!vim_iswhite(cc))
- inc_cursor();
+ curwin->w_cursor = tpos;
}
auto_format(TRUE, FALSE);
- if (vim_iswhite(cc) && gchar_cursor() != NUL)
- inc_cursor();
+ if (vim_iswhite(cc))
+ {
+ if (gchar_cursor() != NUL)
+ inc_cursor();
+#ifdef FEAT_VIRTUALEDIT
+ /* If the cursor is still at the same character, also keep
+ * the "coladd". */
+ if (gchar_cursor() == NUL
+ && curwin->w_cursor.lnum == tpos.lnum
+ && curwin->w_cursor.col == tpos.col)
+ curwin->w_cursor.coladd = tpos.coladd;
+#endif
+ }
}
/* If a space was inserted for auto-formatting, remove it now. */
check_auto_format(TRUE);
/* If we just did an auto-indent, remove the white space from the end
- * of the line, and put the cursor back. */
- if (did_ai && esc)
+ * of the line, and put the cursor back.
+ * Do this when ESC was used or moving the cursor up/down. */
+ if (did_ai && (esc || (vim_strchr(p_cpo, CPO_INDENT) == NULL
+ && curwin->w_cursor.lnum != end_insert_pos->lnum)))
{
+ pos_T tpos = curwin->w_cursor;
+
+ curwin->w_cursor = *end_insert_pos;
if (gchar_cursor() == NUL && curwin->w_cursor.col > 0)
--curwin->w_cursor.col;
while (cc = gchar_cursor(), vim_iswhite(cc))
(void)del_char(TRUE);
- if (cc != NUL)
+ if (curwin->w_cursor.lnum != tpos.lnum)
+ curwin->w_cursor = tpos;
+ else if (cc != NUL)
++curwin->w_cursor.col; /* put cursor back on the NUL */
#ifdef FEAT_VISUAL
diff --git a/src/eval.c b/src/eval.c
index 561857a37..ce7bf0999 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -3784,6 +3784,8 @@ f_cursor(argvars, retvar)
if (has_mbyte)
mb_adjust_cursor();
#endif
+
+ curwin->w_set_curswant = TRUE;
}
/*
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index 3aa463338..67134820d 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -375,6 +375,7 @@ dbg_parsearg(arg)
char_u *p = arg;
char_u *q;
struct debuggy *bp;
+ int here = FALSE;
if (ga_grow(&dbg_breakp, 1) == FAIL)
return FAIL;
@@ -385,6 +386,16 @@ dbg_parsearg(arg)
bp->dbg_type = DBG_FUNC;
else if (STRNCMP(p, "file", 4) == 0)
bp->dbg_type = DBG_FILE;
+ else if (STRNCMP(p, "here", 4) == 0)
+ {
+ if (curbuf->b_ffname == NULL)
+ {
+ EMSG(_(e_noname));
+ return FAIL;
+ }
+ bp->dbg_type = DBG_FILE;
+ here = TRUE;
+ }
else
{
EMSG2(_(e_invarg2), p);
@@ -393,7 +404,9 @@ dbg_parsearg(arg)
p = skipwhite(p + 4);
/* Find optional line number. */
- if (VIM_ISDIGIT(*p))
+ if (here)
+ bp->dbg_lnum = curwin->w_cursor.lnum;
+ else if (VIM_ISDIGIT(*p))
{
bp->dbg_lnum = getdigits(&p);
p = skipwhite(p);
@@ -402,7 +415,8 @@ dbg_parsearg(arg)
bp->dbg_lnum = 0;
/* Find the function or file name. Don't accept a function name with (). */
- if (*p == NUL
+ if ((!here && *p == NUL)
+ || (here && *p != NUL)
|| (bp->dbg_type == DBG_FUNC && strstr((char *)p, "()") != NULL))
{
EMSG2(_(e_invarg2), arg);
@@ -411,6 +425,8 @@ dbg_parsearg(arg)
if (bp->dbg_type == DBG_FUNC)
bp->dbg_name = vim_strsave(p);
+ else if (here)
+ bp->dbg_name = vim_strsave(curbuf->b_ffname);
else
{
/* Expand the file name in the same way as do_source(). This means
diff --git a/src/ex_getln.c b/src/ex_getln.c
index 3c242816b..f2e7f8cc6 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -5181,6 +5181,10 @@ ex_window()
set_option_value((char_u *)"ft", 0L, (char_u *)"vim", OPT_LOCAL);
}
+ /* Reset 'textwidth' after setting 'filetype' (the Vim filetype plugin
+ * sets 'textwidth' to 78). */
+ curbuf->b_p_tw = 0;
+
/* Fill the buffer with the history. */
init_history();
if (hislen > 0)
diff --git a/src/fileio.c b/src/fileio.c
index a0947aa6d..ce5ce41e0 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -3965,8 +3965,10 @@ restore_backup:
* original and the backup file to be lost when halting the system right
* after writing the file. That's because only the meta-data is
* journalled. Syncing the file slows down the system, but assures it has
- * been written to disk and we don't lose it. */
- if (fsync(fd) != 0)
+ * been written to disk and we don't lose it.
+ * For a device do try the fsync() but don't complain if it does not work
+ * (could be a pipe). */
+ if (fsync(fd) != 0 && !device)
{
errmsg = (char_u *)_("E667: Fsync failed");
end = 0;
diff --git a/src/getchar.c b/src/getchar.c
index 3a8438357..f05054091 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -100,6 +100,7 @@ static int KeyNoremap = FALSE; /* remapping disabled */
#define RM_YES 0 /* tb_noremap: remap */
#define RM_NONE 1 /* tb_noremap: don't remap */
#define RM_SCRIPT 2 /* tb_noremap: remap local script mappings */
+#define RM_ABBR 4 /* tb_noremap: don't remap, do abbrev. */
/* typebuf.tb_buf has three parts: room in front (for result of mappings), the
* middle for typeahead and room for new characters (which needs to be 3 *
@@ -896,6 +897,8 @@ init_typebuf()
*
* If noremap is REMAP_YES, new string can be mapped again.
* If noremap is REMAP_NONE, new string cannot be mapped again.
+ * If noremap is REMAP_SKIP, fist char of new string cannot be mapped again,
+ * but abbreviations are allowed.
* If noremap is REMAP_SCRIPT, new string cannot be mapped again, except for
* script-local mappings.
* If noremap is > 0, that many characters of the new string cannot be mapped.
@@ -993,6 +996,8 @@ ins_typebuf(str, noremap, offset, nottyped, silent)
/* If noremap == REMAP_SCRIPT: do remap script-local mappings. */
if (noremap == REMAP_SCRIPT)
val = RM_SCRIPT;
+ else if (noremap == REMAP_SKIP)
+ val = RM_ABBR;
else
val = RM_NONE;
@@ -1004,7 +1009,9 @@ ins_typebuf(str, noremap, offset, nottyped, silent)
* If noremap > 0: "noremap" characters are not remappable, the rest
* mappable
*/
- if (noremap < 0)
+ if (noremap == REMAP_SKIP)
+ nrm = 1;
+ else if (noremap < 0)
nrm = addlen;
else
nrm = noremap;
@@ -1856,8 +1863,8 @@ vgetorpeek(advance)
&& (no_zero_mapping == 0 || c1 != '0')
&& (typebuf.tb_maplen == 0
|| (p_remap
- && typebuf.tb_noremap[typebuf.tb_off]
- != RM_NONE))
+ && (typebuf.tb_noremap[typebuf.tb_off]
+ & (RM_NONE|RM_ABBR)) == 0))
&& !(p_paste && (State & (INSERT + CMDLINE)))
&& !(State == HITRETURN && (c1 == CAR || c1 == ' '))
&& State != ASKMORE
@@ -1973,7 +1980,7 @@ vgetorpeek(advance)
* remapped, skip the entry.
*/
for (n = mlen; --n >= 0; )
- if (*s++ == RM_NONE)
+ if (*s++ & (RM_NONE|RM_ABBR))
break;
if (n >= 0)
continue;
@@ -2132,7 +2139,8 @@ vgetorpeek(advance)
+ typebuf.tb_off, 1);
}
KeyNoremap = (typebuf.tb_noremap[
- typebuf.tb_off] != REMAP_YES);
+ typebuf.tb_off]
+ & (RM_NONE|RM_SCRIPT));
del_typebuf(1, 0);
}
break; /* got character, break for loop */
@@ -2233,7 +2241,8 @@ vgetorpeek(advance)
/*
* Insert the 'to' part in the typebuf.tb_buf.
* If 'from' field is the same as the start of the
- * 'to' field, don't remap the first character.
+ * 'to' field, don't remap the first character (but do
+ * allow abbreviations).
* If m_noremap is set, don't remap the whole 'to'
* part.
*/
@@ -2241,8 +2250,8 @@ vgetorpeek(advance)
mp->m_noremap != REMAP_YES
? mp->m_noremap
: STRNCMP(mp->m_str, mp->m_keys,
- (size_t)keylen)
- ? REMAP_YES : 1,
+ (size_t)keylen) != 0
+ ? REMAP_YES : REMAP_SKIP,
0, TRUE, cmd_silent || mp->m_silent) == FAIL)
{
c = -1;
diff --git a/src/misc1.c b/src/misc1.c
index 0e0705dbd..6c5cb6ab2 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -4014,7 +4014,8 @@ fullpathcmp(s1, s2, checkname)
}
/*
- * get the tail of a path: the file name.
+ * Get the tail of a path: the file name.
+ * Fail safe: never returns NULL.
*/
char_u *
gettail(fname)
diff --git a/src/option.c b/src/option.c
index ca95cc0e0..fcbddeae8 100644
--- a/src/option.c
+++ b/src/option.c
@@ -3115,7 +3115,7 @@ set_init_3()
* "-c" and "\"", but not for DJGPP, because it starts the shell without
* command.com. And for Win32 we need to set p_sxq instead.
*/
- if (strstr((char *)p_sh, "sh") != NULL)
+ if (strstr((char *)gettail(p_sh), "sh") != NULL)
{
int idx3;
diff --git a/src/option.h b/src/option.h
index f3985e50e..1d2b83c2a 100644
--- a/src/option.h
+++ b/src/option.h
@@ -129,6 +129,7 @@
#define CPO_FNAMEW 'F' /* set file name for ":w file" */
#define CPO_GOTO1 'g' /* goto line 1 for ":edit" */
#define CPO_INTMOD 'i' /* interrupt a read makes buffer modified */
+#define CPO_INDENT 'I' /* remove auto-indent more often */
#define CPO_JOINSP 'j' /* only use two spaces for join after '.' */
#define CPO_ENDOFSENT 'J' /* need two spaces to detect end of sentence */
#define CPO_KEYCODE 'k' /* don't recognize raw key code in mappings */
@@ -158,7 +159,7 @@
#define CPO_STAR '*' /* ":*" means ":@" */
#define CPO_SPECI '<' /* don't recognize <> in mappings */
#define CPO_DEFAULT "aABceFs"
-#define CPO_ALL "aAbBcCdDeEfFgijJkKlLmMnoOprRsStuvwWxy$!%*<"
+#define CPO_ALL "aAbBcCdDeEfFgiIjJkKlLmMnoOprRsStuvwWxy$!%*<"
/* characters for p_ww option: */
#define WW_ALL "bshl<>[],~"
diff --git a/src/os_win32.c b/src/os_win32.c
index 434362b11..da6fd8dac 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -1521,7 +1521,7 @@ theend:
/*
* Return TRUE if "name" is in $PATH.
- * TODO: Should also check if it's really executable.
+ * TODO: Should somehow check if it's really executable.
*/
static int
executable_exists(char *name)
@@ -2556,7 +2556,43 @@ mch_writable(char_u *name)
int
mch_can_exe(char_u *name)
{
- return executable_exists((char *)name);
+ char_u buf[_MAX_PATH];
+ int len = STRLEN(name);
+ char_u *p;
+
+ if (len >= _MAX_PATH) /* safety check */
+ return FALSE;
+
+ /* If there already is an extension try using the name directly. Also do
+ * this with a Unix-shell like 'shell'. */
+ if (vim_strchr(gettail(name), '.') != NULL
+ || strstr((char *)gettail(p_sh), "sh") != NULL)
+ if (executable_exists((char *)name))
+ return TRUE;
+
+ /*
+ * Loop over all extensions in $PATHEXT.
+ */
+ STRNCPY(buf, name, _MAX_PATH);
+ p = mch_getenv("PATHEXT");
+ if (p == NULL)
+ p = (char_u *)".com;.exe;.bat;.cmd";
+ while (*p)
+ {
+ if (p[0] == '.' && (p[1] == NUL || p[1] == ';'))
+ {
+ /* A single "." means no extension is added. */
+ buf[len] = NUL;
+ ++p;
+ if (*p)
+ ++p;
+ }
+ else
+ copy_option_part(&p, buf + len, _MAX_PATH - len, ";");
+ if (executable_exists((char *)buf))
+ return TRUE;
+ }
+ return FALSE;
}
#endif
@@ -4659,14 +4695,14 @@ copy_infostreams(char_u *from, char_u *to)
{
streamname[len - 6] = 0;
copy_substream(sh, &context, tow, streamname,
- (long)sid.Size.LowPart);
+ (long)sid.Size.u.LowPart);
}
}
/* Advance to the next stream. We might try seeking too far,
* but BackupSeek() doesn't skip over stream borders, thus
* that's OK. */
- (void)BackupSeek(sh, sid.Size.LowPart, sid.Size.HighPart,
+ (void)BackupSeek(sh, sid.Size.LowPart, sid.Size.u.HighPart,
&lo, &hi, &context);
}
diff --git a/src/po/es.po b/src/po/es.po
index 24fdec1bf..ed89984fa 100644
--- a/src/po/es.po
+++ b/src/po/es.po
@@ -8,10 +8,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: Vim 6.3a.16 (Español)\n"
-"Report-Msgid-Bugs-To: Alejandro López-Valencia <dradul@yahoo.com>\n"
-"POT-Creation-Date: 2004-05-12 18:38-0500\n"
-"PO-Revision-Date: 2004-05-12 20:34-0500\n"
+"Project-Id-Version: Vim 6.3.7 (Español)\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2004-06-23 20:35-0500\n"
+"PO-Revision-Date: 2004-06-23 20:46-0500\n"
"Last-Translator: Alejandro López-Valencia <dradul@yahoo.com>\n"
"Language-Team: Alejandro López-Valencia <dradul@yahoo.com>\n"
"MIME-Version: 1.0\n"
@@ -26,172 +26,172 @@ msgstr "E82: No se puede asignar memoria para ningún «buffer», saliendo..."
msgid "E83: Cannot allocate buffer, using other one..."
msgstr "E83: No se puede asignar memoria para el «buffer», usando otro..."
-#: buffer.c:805
+#: buffer.c:808
msgid "E515: No buffers were unloaded"
msgstr "E515: No se descargó ningún «buffer»."
-#: buffer.c:807
+#: buffer.c:810
msgid "E516: No buffers were deleted"
msgstr "E516: No se borró ningún «buffer»."
-#: buffer.c:809
+#: buffer.c:812
msgid "E517: No buffers were wiped out"
msgstr "E517: No se eliminó ningún «buffer»."
-#: buffer.c:817
+#: buffer.c:820
msgid "1 buffer unloaded"
msgstr "Un «buffer» descargado."
-#: buffer.c:819
+#: buffer.c:822
#, c-format
msgid "%d buffers unloaded"
msgstr "%d «buffers» descargados."
-#: buffer.c:824
+#: buffer.c:827
msgid "1 buffer deleted"
msgstr "Un «buffer» suprimido."
-#: buffer.c:826
+#: buffer.c:829
#, c-format
msgid "%d buffers deleted"
msgstr "%d «buffers» suprimidos."
-#: buffer.c:831
+#: buffer.c:834
msgid "1 buffer wiped out"
msgstr "1 «buffer» eliminado."
-#: buffer.c:833
+#: buffer.c:836
#, c-format
msgid "%d buffers wiped out"
msgstr "%d «buffers» eliminados."
-#: buffer.c:894
+#: buffer.c:897
msgid "E84: No modified buffer found"
msgstr "E84: No he encontrado ningún «buffer» modificado."
#. back where we started, didn't find anything.
-#: buffer.c:933
+#: buffer.c:936
msgid "E85: There is no listed buffer"
msgstr "E85: No hay «buffers» en la lista."
-#: buffer.c:945
+#: buffer.c:948
#, c-format
msgid "E86: Buffer %ld does not exist"
msgstr "E86: El «buffer» %ld no existe."
-#: buffer.c:948
+#: buffer.c:951
msgid "E87: Cannot go beyond last buffer"
msgstr "E87: No puedo ir más allá del último «buffer»."
-#: buffer.c:950
+#: buffer.c:953
msgid "E88: Cannot go before first buffer"
msgstr "E88: No puedo ir más atrás del primer buffer."
-#: buffer.c:988
+#: buffer.c:991
#, c-format
msgid "E89: No write since last change for buffer %ld (add ! to override)"
msgstr ""
"E89: No ha guardado el fichero desde el último cambio del «buffer» %ld "
"(añada ! para forzar)."
-#: buffer.c:1005
+#: buffer.c:1008
msgid "E90: Cannot unload last buffer"
msgstr "E90: No se puede descargar el último buffer."
-#: buffer.c:1538
+#: buffer.c:1544
msgid "W14: Warning: List of file names overflow"
msgstr "W14: Advertencia: lista de nombres de ficheros demasiado larga."
-#: buffer.c:1709
+#: buffer.c:1716
#, c-format
msgid "E92: Buffer %ld not found"
msgstr "E92: No se ha encontrado el buffer %ld"
-#: buffer.c:1940
+#: buffer.c:1947
#, c-format
msgid "E93: More than one match for %s"
msgstr "E93: Más de una coincidencia con %s."
-#: buffer.c:1942
+#: buffer.c:1949
#, c-format
msgid "E94: No matching buffer for %s"
msgstr "E94: No hay un buffer que coincida con %s."
-#: buffer.c:2337
+#: buffer.c:2344
#, c-format
msgid "line %ld"
msgstr "línea %ld"
-#: buffer.c:2420
+#: buffer.c:2429
msgid "E95: Buffer with this name already exists"
msgstr "E95: Ya existe un buffer con este nombre."
-#: buffer.c:2713
+#: buffer.c:2724
msgid " [Modified]"
msgstr " [Modificado]"
-#: buffer.c:2718
+#: buffer.c:2729
msgid "[Not edited]"
msgstr "[Sin editar]"
-#: buffer.c:2723
+#: buffer.c:2734
msgid "[New file]"
msgstr "[Fichero nuevo]"
-#: buffer.c:2724
+#: buffer.c:2735
msgid "[Read errors]"
msgstr "[Errores de lectura]"
-#: buffer.c:2726 fileio.c:2112
+#: buffer.c:2737 fileio.c:2124
msgid "[readonly]"
msgstr "[Sólo lectura]"
-#: buffer.c:2747
+#: buffer.c:2758
#, c-format
msgid "1 line --%d%%--"
msgstr "1 línea --%d%%--"
-#: buffer.c:2749
+#: buffer.c:2760
#, c-format
msgid "%ld lines --%d%%--"
msgstr "%ld líneas --%d%%--"
-#: buffer.c:2756
+#: buffer.c:2767
#, c-format
msgid "line %ld of %ld --%d%%-- col "
msgstr "línea %ld de %ld --%d%%-- col "
-#: buffer.c:2864
+#: buffer.c:2875
msgid "[No file]"
msgstr "[Sin fichero]"
# must be a help buffer
#. must be a help buffer
-#: buffer.c:2904
+#: buffer.c:2915
msgid "help"
msgstr "ayuda"
-#: buffer.c:3463 screen.c:5075
+#: buffer.c:3474 screen.c:5079
msgid "[help]"
msgstr "[ayuda]"
-#: buffer.c:3495 screen.c:5081
+#: buffer.c:3506 screen.c:5085
msgid "[Preview]"
msgstr "[Vista previa]"
-#: buffer.c:3775
+#: buffer.c:3786
msgid "All"
msgstr "Todo"
-#: buffer.c:3775
+#: buffer.c:3786
msgid "Bot"
msgstr "Final"
-#: buffer.c:3777
+#: buffer.c:3788
msgid "Top"
msgstr "Comienzo"
-#: buffer.c:4523
+#: buffer.c:4536
msgid ""
"\n"
"# Buffer list:\n"
@@ -199,15 +199,15 @@ msgstr ""
"\n"
"# Lista de «buffers»:\n"
-#: buffer.c:4556
+#: buffer.c:4569
msgid "[Error List]"
msgstr "[Lista de errores]"
-#: buffer.c:4569 memline.c:1520
+#: buffer.c:4582 memline.c:1521
msgid "[No File]"
msgstr "[Sin fichero]"
-#: buffer.c:4882
+#: buffer.c:4895
msgid ""
"\n"
"--- Signs ---"
@@ -215,12 +215,12 @@ msgstr ""
"\n"
"--- Signos ---"
-#: buffer.c:4901
+#: buffer.c:4914
#, c-format
msgid "Signs for %s:"
msgstr "Signos para %s"
-#: buffer.c:4907
+#: buffer.c:4920
#, c-format
msgid " line=%ld id=%d name=%s"
msgstr " línea=%ld id=%d nombre=%s"
@@ -234,32 +234,32 @@ msgstr "E96: No puedo usar «diff» con más de %ld «buffers»."
msgid "E97: Cannot create diffs"
msgstr "E97: No puedo crear «diffs»."
-#: diff.c:818
+#: diff.c:819
msgid "Patch file"
msgstr "Fichero de parches."
-#: diff.c:1069
+#: diff.c:1072
msgid "E98: Cannot read diff output"
msgstr "E98: no puedo leer la salida de «diff»."
-#: diff.c:1819
+#: diff.c:1822
msgid "E99: Current buffer is not in diff mode"
msgstr "E99: El «buffer» actual no está en modo «diff»."
-#: diff.c:1831
+#: diff.c:1834
msgid "E100: No other buffer in diff mode"
msgstr "E100: Ningún otro «buffer» está en modo «diff»."
-#: diff.c:1839
+#: diff.c:1842
msgid "E101: More than two buffers in diff mode, don't know which one to use"
msgstr "E101: Más de dos «buffers» en modo «diff», no se cual usar."
-#: diff.c:1862
+#: diff.c:1865
#, c-format
msgid "E102: Can't find buffer \"%s\""
msgstr "E102: No puedo encontrar el «buffer» «%s»."
-#: diff.c:1868
+#: diff.c:1871
#, c-format
msgid "E103: Buffer \"%s\" is not in diff mode"
msgstr "E103: El «buffer» «%s» no está en modo «diff»."
@@ -274,7 +274,8 @@ msgstr "E544: No encontré el fichero «keymap»."
#: digraph.c:2411
msgid "E105: Using :loadkeymap not in a sourced file"
-msgstr "E105: «:loadkeymap» en un fichero que no contiene instrucciones ejecutables."
+msgstr ""
+"E105: «:loadkeymap» en un fichero que no contiene instrucciones ejecutables."
#: edit.c:40
msgid " Keyword completion (^N^P)"
@@ -481,7 +482,7 @@ msgstr "E120: Usando <SID> en un contexto que no es de «script»: %s."
#. * this way has the compelling advantage that translations need not to
#. * be touched at all. See below what 'ok' and 'ync' are used for.
#.
-#: eval.c:3687 gui.c:4382 gui_gtk.c:2059
+#: eval.c:3687 gui.c:4385 gui_gtk.c:2059
msgid "&Ok"
msgstr "&Ok"
@@ -506,124 +507,124 @@ msgstr "He llamado a «inputrestore()» más veces que a «inputsave()»."
msgid "E655: Too many symbolic links (cycle?)"
msgstr "E655: Hay demasiados enlaces symbólicos (¿referencia circular?)"
-#: eval.c:6609
+#: eval.c:6626
msgid "E240: No connection to Vim server"
msgstr "E240: Sin conexión al servidor Vim."
-#: eval.c:6706
+#: eval.c:6724
msgid "E277: Unable to read a server reply"
msgstr "E277: Incapaz de leer una respuesta del servidor."
-#: eval.c:6734
+#: eval.c:6752
msgid "E258: Unable to send to client"
msgstr "E258: Incapaz de enviar al cliente."
-#: eval.c:6782
+#: eval.c:6800
#, c-format
msgid "E241: Unable to send to %s"
msgstr "E241: Incapaz de enviar a %s."
-#: eval.c:6882
+#: eval.c:6900
msgid "(Invalid)"
msgstr "(No válido)"
-#: eval.c:8060
+#: eval.c:8078
#, c-format
msgid "E121: Undefined variable: %s"
msgstr "E121: Variable sin definir: %s."
-#: eval.c:8492
+#: eval.c:8510
#, c-format
msgid "E461: Illegal variable name: %s"
msgstr "E244: ¡Nombre ilegal para una variable! %s"
-#: eval.c:8784
+#: eval.c:8802
#, c-format
msgid "E122: Function %s already exists, add ! to replace it"
msgstr "E226: La función %s ya existe, añada «!» para reemplazarla."
-#: eval.c:8857
+#: eval.c:8875
#, c-format
msgid "E123: Undefined function: %s"
msgstr "E123: Función sin definir: %s."
-#: eval.c:8870
+#: eval.c:8888
#, c-format
msgid "E124: Missing '(': %s"
msgstr "E124: Falta «(»: %s."
-#: eval.c:8903
+#: eval.c:8921
#, c-format
msgid "E125: Illegal argument: %s"
msgstr "E125: Argumento ilegal: %s."
-#: eval.c:8982
+#: eval.c:9000
msgid "E126: Missing :endfunction"
msgstr "E126: Falta «:endfunction»."
-#: eval.c:9089
+#: eval.c:9107
#, c-format
msgid "E127: Cannot redefine function %s: It is in use"
msgstr "E127: No se puede redefinir la función %s: está en uso."
-#: eval.c:9159
+#: eval.c:9177
msgid "E129: Function name required"
msgstr "E129: Se requiere el nombre de la función."
-#: eval.c:9210
+#: eval.c:9228
#, c-format
msgid "E128: Function name must start with a capital: %s"
msgstr "E128: El nombre de la función debe empezar con mayúscula: %s."
-#: eval.c:9402
+#: eval.c:9420
#, c-format
msgid "E130: Undefined function: %s"
msgstr "E130: Función sin definir: %s."
-#: eval.c:9407
+#: eval.c:9425
#, c-format
msgid "E131: Cannot delete function %s: It is in use"
msgstr "E131: No se puede eliminar la función %s: está en uso."
-#: eval.c:9455
+#: eval.c:9473
msgid "E132: Function call depth is higher than 'maxfuncdepth'"
msgstr ""
"E132: La profundidad de la llamada a la función es mayor que «maxfuncdepth»."
# always scroll up, don't overwrite
#. always scroll up, don't overwrite
-#: eval.c:9508
+#: eval.c:9526
#, c-format
msgid "calling %s"
msgstr "Llamando a %s."
-#: eval.c:9570
+#: eval.c:9588
#, c-format
msgid "%s aborted"
msgstr "He abortado a %s."
-#: eval.c:9572
+#: eval.c:9590
#, c-format
msgid "%s returning #%ld"
msgstr "%s devuelve #%ld."
-#: eval.c:9579
+#: eval.c:9597
#, c-format
msgid "%s returning \"%s\""
msgstr "%s devuelve «%s»."
# always scroll up, don't overwrite
#. always scroll up, don't overwrite
-#: eval.c:9595 ex_cmds2.c:2365
+#: eval.c:9613 ex_cmds2.c:2369
#, c-format
msgid "continuing in %s"
msgstr "continuando en %s."
-#: eval.c:9621
+#: eval.c:9639
msgid "E133: :return not inside a function"
msgstr "E133: «:return» no está dentro de una función."
-#: eval.c:9952
+#: eval.c:9970
msgid ""
"\n"
"# global variables:\n"
@@ -736,7 +737,7 @@ msgstr "# Valor de «encoding» cuando se escribió este fichero\n"
msgid "Illegal starting char"
msgstr "Carácter de comienzo ilegal"
-#: ex_cmds.c:2097 ex_cmds.c:2362 ex_cmds2.c:763
+#: ex_cmds.c:2097 ex_cmds2.c:760
msgid "Save As"
msgstr "Guardar como"
@@ -766,13 +767,13 @@ msgstr "¿Escribir sobre el fichero existente «%.*s»?"
msgid "E141: No file name for buffer %ld"
msgstr "E141: No existe un nombre de fichero para el «buffer» %ld"
-#: ex_cmds.c:2405
+#: ex_cmds.c:2406
msgid "E142: File not written: Writing is disabled by 'write' option"
msgstr ""
"E142: No se ha escrito el fichero: escritura desactivada por la opción "
"«write»."
-#: ex_cmds.c:2425
+#: ex_cmds.c:2426
#, c-format
msgid ""
"'readonly' option is set for \"%.*s\".\n"
@@ -781,69 +782,69 @@ msgstr ""
"Se ha activado la opción «readonly» para «%.*s».\n"
"¿Quiere escribirlo de todas formas?"
-#: ex_cmds.c:2597
+#: ex_cmds.c:2599
msgid "Edit File"
msgstr "Editar fichero"
-#: ex_cmds.c:3205
+#: ex_cmds.c:3206
#, c-format
msgid "E143: Autocommands unexpectedly deleted new buffer %s"
msgstr ""
"E143: Los autocomandos han eliminado inesperadamente el nuevo «buffer» %s"
-#: ex_cmds.c:3339
+#: ex_cmds.c:3340
msgid "E144: non-numeric argument to :z"
msgstr "E144: Argumento no numérico para «:z»."
-#: ex_cmds.c:3424
+#: ex_cmds.c:3425
msgid "E145: Shell commands not allowed in rvim"
msgstr "E145: Rvim no permite acceso al procesador de comandos."
-#: ex_cmds.c:3531
+#: ex_cmds.c:3532
msgid "E146: Regular expressions can't be delimited by letters"
msgstr "E146: Las expresiones regulares no se pueden delimitar con letras."
-#: ex_cmds.c:3877
+#: ex_cmds.c:3878
#, c-format
msgid "replace with %s (y/n/a/q/l/^E/^Y)?"
msgstr "¿Reemplazar con %s (y/n/a/q/l/^E/^Y)?"
-#: ex_cmds.c:4270
+#: ex_cmds.c:4271
msgid "(Interrupted) "
msgstr "(Interrumpido)"
-#: ex_cmds.c:4274
+#: ex_cmds.c:4275
msgid "1 substitution"
msgstr "1 sustitución"
-#: ex_cmds.c:4276
+#: ex_cmds.c:4277
#, c-format
msgid "%ld substitutions"
msgstr "%ld sustituciones"
-#: ex_cmds.c:4279
+#: ex_cmds.c:4280
msgid " on 1 line"
msgstr " en 1 línea"
-#: ex_cmds.c:4281
+#: ex_cmds.c:4282
#, c-format
msgid " on %ld lines"
msgstr " en %ld líneas"
-#: ex_cmds.c:4332
+#: ex_cmds.c:4333
msgid "E147: Cannot do :global recursive"
msgstr "E147: «:global» no puede ser recursivo."
-#: ex_cmds.c:4367
+#: ex_cmds.c:4368
msgid "E148: Regular expression missing from global"
msgstr "E148: Falta una expresión regular en el comando global."
-#: ex_cmds.c:4416
+#: ex_cmds.c:4417
#, c-format
msgid "Pattern found in every line: %s"
msgstr "Patrón encontrado en cada línea: %s"
-#: ex_cmds.c:4497
+#: ex_cmds.c:4498
msgid ""
"\n"
"# Last Substitute String:\n"
@@ -853,97 +854,97 @@ msgstr ""
"# Última cadena de sustitución:\n"
"$"
-#: ex_cmds.c:4598
+#: ex_cmds.c:4599
msgid "E478: Don't panic!"
msgstr "E478: ¡No entre en pánico!"
-#: ex_cmds.c:4650
+#: ex_cmds.c:4651
#, c-format
msgid "E661: Sorry, no '%s' help for %s"
msgstr "E149: Lo siento, no hay ayuda «%s» para %s."
-#: ex_cmds.c:4653
+#: ex_cmds.c:4654
#, c-format
msgid "E149: Sorry, no help for %s"
msgstr "E149: Lo siento, no hay ayuda para %s"
-#: ex_cmds.c:4687
+#: ex_cmds.c:4688
#, c-format
msgid "Sorry, help file \"%s\" not found"
msgstr "Lo siento, no encuentro el fichero de ayuda «%s»."
-#: ex_cmds.c:5170
+#: ex_cmds.c:5191
#, c-format
msgid "E150: Not a directory: %s"
msgstr "E150: No es un directorio: %s"
-#: ex_cmds.c:5309
+#: ex_cmds.c:5332
#, c-format
msgid "E152: Cannot open %s for writing"
msgstr "E152: No se puede abrir %s para escritura."
-#: ex_cmds.c:5345
+#: ex_cmds.c:5368
#, c-format
msgid "E153: Unable to open %s for reading"
msgstr "E153: Incapaz de abrir %s para lectura"
-#: ex_cmds.c:5367
+#: ex_cmds.c:5404
#, c-format
msgid "E670: Mix of help file encodings within a language: %s"
msgstr ""
"E670: Mezcla de codificaciones de ficheros de ayuda dentro de un lenguaje: %s"
-#: ex_cmds.c:5445
+#: ex_cmds.c:5483
#, c-format
-msgid "E154: Duplicate tag \"%s\" in file %s"
-msgstr "E154: Tag «%s» duplicada en el fichero %s"
+msgid "E154: Duplicate tag \"%s\" in file %s/%s"
+msgstr "E154: Tag «%s» duplicada en el fichero %s/%s"
-#: ex_cmds.c:5557
+#: ex_cmds.c:5599
#, c-format
msgid "E160: Unknown sign command: %s"
msgstr "E160: Comando desconocido de signo: %s"
-#: ex_cmds.c:5577
+#: ex_cmds.c:5619
msgid "E156: Missing sign name"
msgstr "E156: Falta el nombre del signo."
-#: ex_cmds.c:5623
+#: ex_cmds.c:5665
msgid "E612: Too many signs defined"
msgstr "E612: Demasiados signos definidos."
-#: ex_cmds.c:5691
+#: ex_cmds.c:5733
#, c-format
msgid "E239: Invalid sign text: %s"
msgstr "E239: Texto de signo no válido: %s"
-#: ex_cmds.c:5722 ex_cmds.c:5913
+#: ex_cmds.c:5764 ex_cmds.c:5955
#, c-format
msgid "E155: Unknown sign: %s"
msgstr "E155: Signo desconocida: %s"
-#: ex_cmds.c:5771
+#: ex_cmds.c:5813
msgid "E159: Missing sign number"
msgstr "E159: Falta el número del signo."
-#: ex_cmds.c:5853
+#: ex_cmds.c:5895
#, c-format
msgid "E158: Invalid buffer name: %s"
msgstr "E159: El nombre del «buffer» no es válido: %s"
-#: ex_cmds.c:5892
+#: ex_cmds.c:5934
#, c-format
msgid "E157: Invalid sign ID: %ld"
msgstr "E157: El id del signo no es válido: %ld"
-#: ex_cmds.c:5962
+#: ex_cmds.c:6004
msgid " (NOT FOUND)"
msgstr " (NO ENCONTRADO)"
-#: ex_cmds.c:5964
+#: ex_cmds.c:6006
msgid " (not supported)"
msgstr " (no hay apoyo para la función pedida)"
-#: ex_cmds.c:6063
+#: ex_cmds.c:6105
msgid "[Deleted]"
msgstr "[Suprimido]"
@@ -951,7 +952,7 @@ msgstr "[Suprimido]"
msgid "Entering Debug mode. Type \"cont\" to continue."
msgstr "Entrando al modo de depuración. Oprima \"cont\" para continuar."
-#: ex_cmds2.c:96 ex_docmd.c:966
+#: ex_cmds2.c:96 ex_docmd.c:968
#, c-format
msgid "line %ld: %s"
msgstr "línea %ld: %s"
@@ -966,217 +967,219 @@ msgstr "cmd: %s"
msgid "Breakpoint in \"%s%s\" line %ld"
msgstr "«Breakpoint» en «%s%s» línea %ld"
-#: ex_cmds2.c:540
+#: ex_cmds2.c:539
#, c-format
msgid "E161: Breakpoint not found: %s"
msgstr "E161: No se ha encontrado el «breakpoint»: %s"
-#: ex_cmds2.c:566
+#: ex_cmds2.c:565
msgid "No breakpoints defined"
msgstr "No hay «breakpoints» definidos."
-#: ex_cmds2.c:571
+#: ex_cmds2.c:570
#, c-format
msgid "%3d %s %s line %ld"
msgstr "%3d %s %s línea %ld"
-#: ex_cmds2.c:786
+#: ex_cmds2.c:785
#, c-format
msgid "Save changes to \"%.*s\"?"
msgstr "¿Guardar los cambios en «%.*s»?"
-#: ex_cmds2.c:788 ex_docmd.c:9378
+#: ex_cmds2.c:787 ex_docmd.c:9407
msgid "Untitled"
msgstr "Sin título"
-#: ex_cmds2.c:915
+#: ex_cmds2.c:914
#, c-format
msgid "E162: No write since last change for buffer \"%s\""
msgstr "E162: No se ha grabado nada desde el último cambio en el buffer «%s»"
-#: ex_cmds2.c:984
+#: ex_cmds2.c:983
msgid "Warning: Entered other buffer unexpectedly (check autocommands)"
msgstr ""
"Advertencia: se ha entrado en otro «buffer» en forma inesperada (verifique "
"los autocomandos)."
-#: ex_cmds2.c:1387
+#: ex_cmds2.c:1386
msgid "E163: There is only one file to edit"
msgstr "E163: Hay sólo un fichero que editar."
-#: ex_cmds2.c:1389
+#: ex_cmds2.c:1388
msgid "E164: Cannot go before first file"
msgstr "E164: No se puede ir antes del primer fichero."
-#: ex_cmds2.c:1391
+#: ex_cmds2.c:1390
msgid "E165: Cannot go beyond last file"
msgstr "E165: No se puede ir más allá del último fichero."
-#: ex_cmds2.c:1804
+#: ex_cmds2.c:1803
#, c-format
msgid "E666: compiler not supported: %s"
msgstr "E666: El compilador no tiene apoyo en esta versión: %s"
-#: ex_cmds2.c:1897
+#: ex_cmds2.c:1900
#, c-format
msgid "Searching for \"%s\" in \"%s\""
msgstr "Buscando «%s» en «%s»."
-#: ex_cmds2.c:1919
+#: ex_cmds2.c:1922
#, c-format
msgid "Searching for \"%s\""
msgstr "Buscando «%s»."
-#: ex_cmds2.c:1940
+#: ex_cmds2.c:1944
#, c-format
msgid "not found in 'runtimepath': \"%s\""
msgstr "No se ha encontrado en «runtimepath»: «%s»"
-#: ex_cmds2.c:1974
+#: ex_cmds2.c:1978
msgid "Source Vim script"
msgstr "Ejecute script de Vim."
-#: ex_cmds2.c:2164
+#: ex_cmds2.c:2168
#, c-format
msgid "Cannot source a directory: \"%s\""
msgstr "No se puede ejecutar un directorio: «%s»."
-#: ex_cmds2.c:2202
+#: ex_cmds2.c:2206
#, c-format
msgid "could not source \"%s\""
msgstr "No se pudo ejecutar «%s»."
-#: ex_cmds2.c:2204
+#: ex_cmds2.c:2208
#, c-format
msgid "line %ld: could not source \"%s\""
msgstr "línea %ld: no se pudo ejecutar «%s»."
-#: ex_cmds2.c:2218
+#: ex_cmds2.c:2222
#, c-format
msgid "sourcing \"%s\""
msgstr "ejecutando «%s»."
-#: ex_cmds2.c:2220
+#: ex_cmds2.c:2224
#, c-format
msgid "line %ld: sourcing \"%s\""
msgstr "línea %ld: ejecutando «%s»."
-#: ex_cmds2.c:2363
+#: ex_cmds2.c:2367
#, c-format
msgid "finished sourcing %s"
msgstr "La ejecución de «%s» ha terminado."
-#: ex_cmds2.c:2707
+#: ex_cmds2.c:2711
msgid "W15: Warning: Wrong line separator, ^M may be missing"
msgstr "W15: Advertencia: separador de línea equivocado, puede que falte ^M"
-#: ex_cmds2.c:2756
+#: ex_cmds2.c:2760
msgid "E167: :scriptencoding used outside of a sourced file"
-msgstr "E167: Ha usado «:scriptencoding» fuera de un fichero de instrucciones ejecutables."
+msgstr ""
+"E167: Ha usado «:scriptencoding» fuera de un fichero de instrucciones "
+"ejecutables."
-#: ex_cmds2.c:2789
+#: ex_cmds2.c:2793
msgid "E168: :finish used outside of a sourced file"
-msgstr "E168: Ha usado «:finish» fuera de un fichero de instrucciones ejecutables."
+msgstr ""
+"E168: Ha usado «:finish» fuera de un fichero de instrucciones ejecutables."
-#: ex_cmds2.c:3238
+#: ex_cmds2.c:3242
#, c-format
msgid "Page %d"
msgstr "Página %d"
-#: ex_cmds2.c:3394
+#: ex_cmds2.c:3398
msgid "No text to be printed"
msgstr "No hay texto que imprimir."
-#: ex_cmds2.c:3472
+#: ex_cmds2.c:3476
#, c-format
msgid "Printing page %d (%d%%)"
msgstr "Imprimiendo la página %d (%d%%)."
-#: ex_cmds2.c:3484
+#: ex_cmds2.c:3488
#, c-format
msgid " Copy %d of %d"
msgstr "Copia %d de %d"
-#: ex_cmds2.c:3542
+#: ex_cmds2.c:3546
#, c-format
msgid "Printed: %s"
msgstr "Impreso: %s."
-#: ex_cmds2.c:3549
+#: ex_cmds2.c:3553
msgid "Printing aborted"
msgstr "Impresión abortada."
-#: ex_cmds2.c:3914
+#: ex_cmds2.c:3918
msgid "E455: Error writing to PostScript output file"
msgstr "E455: Error escribiendo al fichero PostScript de salida."
-#: ex_cmds2.c:4189
+#: ex_cmds2.c:4193
#, c-format
msgid "E624: Can't open file \"%s\""
msgstr "E456: No se puede abrir el fichero «%s»."
-#: ex_cmds2.c:4199 ex_cmds2.c:4824
+#: ex_cmds2.c:4203 ex_cmds2.c:4828
#, c-format
msgid "E457: Can't read PostScript resource file \"%s\""
msgstr "E457: No se puede leer el fichero de recursos de PostScript «%s»."
-#: ex_cmds2.c:4207
+#: ex_cmds2.c:4211
#, c-format
msgid "E618: file \"%s\" is not a PostScript resource file"
msgstr "E618: El fichero \"%s\" no es un fichero de recursos PostScript."
-#: ex_cmds2.c:4222 ex_cmds2.c:4242 ex_cmds2.c:4257 ex_cmds2.c:4279
+#: ex_cmds2.c:4226 ex_cmds2.c:4246 ex_cmds2.c:4261 ex_cmds2.c:4283
#, c-format
msgid "E619: file \"%s\" is not a supported PostScript resource file"
msgstr "E619: El fichero «%s» no es un recurso PostScript que pueda usar."
-#: ex_cmds2.c:4309
+#: ex_cmds2.c:4313
#, c-format
msgid "E621: \"%s\" resource file has wrong version"
msgstr "E621: El fichero de recursos «%s» tiene la versión equivocada."
-#: ex_cmds2.c:4776
+#: ex_cmds2.c:4780
msgid "E324: Can't open PostScript output file"
msgstr "E324: No puedo abrir el fichero PostScript de salida."
-#: ex_cmds2.c:4809
+#: ex_cmds2.c:4813
#, c-format
msgid "E456: Can't open file \"%s\""
msgstr "E456: No puedo abrir el fichero «%s»."
-#: ex_cmds2.c:4928
+#: ex_cmds2.c:4932
msgid "E456: Can't find PostScript resource file \"prolog.ps\""
-msgstr ""
-"E456: No encuentro el fichero de recursos PostScript «prolog.ps»."
+msgstr "E456: No encuentro el fichero de recursos PostScript «prolog.ps»."
-#: ex_cmds2.c:4959
+#: ex_cmds2.c:4963
#, c-format
msgid "E456: Can't find PostScript resource file \"%s.ps\""
msgstr "E456: No hallo el fichero de recursos PostScript «%s.ps»."
-#: ex_cmds2.c:4977
+#: ex_cmds2.c:4981
#, c-format
msgid "E620: Unable to convert from multi-byte to \"%s\" encoding"
msgstr "E620: No puedo convertir de «multi-byte» a la codificación \"%s\"."
-#: ex_cmds2.c:5102
+#: ex_cmds2.c:5106
msgid "Sending to printer..."
msgstr "Envíando a la impresora..."
-#: ex_cmds2.c:5106
+#: ex_cmds2.c:5110
msgid "E365: Failed to print PostScript file"
msgstr "E365: No pude imprimir el fichero PostScript."
-#: ex_cmds2.c:5108
+#: ex_cmds2.c:5112
msgid "Print job sent."
msgstr "Tarea de impresión envíada."
-#: ex_cmds2.c:5618
+#: ex_cmds2.c:5622
#, c-format
msgid "Current %slanguage: \"%s\""
msgstr "Idioma actual «%s»: «%s»."
-#: ex_cmds2.c:5629
+#: ex_cmds2.c:5633
#, c-format
msgid "E197: Cannot set language to \"%s\""
msgstr "E197: No se puede establecer la opción del idioma a «%s»."
@@ -1191,74 +1194,74 @@ msgstr "Entrando al modo Ex. Escriba «visual» para ir al modo Normal."
msgid "E501: At end-of-file"
msgstr "E501: Estoy al final del fichero."
-#: ex_docmd.c:669
+#: ex_docmd.c:670
msgid "E169: Command too recursive"
msgstr "E169: El comando recurre excesivamente."
-#: ex_docmd.c:1229
+#: ex_docmd.c:1232
#, c-format
msgid "E605: Exception not caught: %s"
msgstr "E605: La excepción %s no se atrapó."
-#: ex_docmd.c:1317
+#: ex_docmd.c:1320
msgid "End of sourced file"
msgstr "Fin del fichero de instrcucciones ejecutables."
-#: ex_docmd.c:1318
+#: ex_docmd.c:1321
msgid "End of function"
msgstr "Fin de la función."
-#: ex_docmd.c:1907
+#: ex_docmd.c:1910
msgid "E464: Ambiguous use of user-defined command"
msgstr "E464: Uso ambiguo de un comando definido por el usuario."
-#: ex_docmd.c:1921
+#: ex_docmd.c:1924
msgid "E492: Not an editor command"
msgstr "E371: No es un comando del editor."
-#: ex_docmd.c:2028
+#: ex_docmd.c:2031
msgid "E493: Backwards range given"
msgstr "E493: Me ha dado un rango invertido."
-#: ex_docmd.c:2037
+#: ex_docmd.c:2040
msgid "Backwards range given, OK to swap"
msgstr "Me ha dado un rango invertido, ¿está bien intercambiarlo?"
-#: ex_docmd.c:2160
+#: ex_docmd.c:2163
msgid "E494: Use w or w>>"
msgstr "E494: Use «w» o «w>>»."
-#: ex_docmd.c:3786
+#: ex_docmd.c:3789
msgid "E319: Sorry, the command is not available in this version"
msgstr "E319: Lo siento, el comando no está disponible en esta versión."
-#: ex_docmd.c:3989
+#: ex_docmd.c:3992
msgid "E172: Only one file name allowed"
msgstr "E172: Sólo se permite un nombre de fichero."
-#: ex_docmd.c:4569
+#: ex_docmd.c:4572
msgid "1 more file to edit. Quit anyway?"
msgstr "Un fichero más para editar. ¿Termino de todas formas?"
-#: ex_docmd.c:4572
+#: ex_docmd.c:4575
#, c-format
msgid "%d more files to edit. Quit anyway?"
msgstr "Hay %d ficheros más en edición. ¿Termino de todas formas?"
-#: ex_docmd.c:4579
+#: ex_docmd.c:4582
msgid "E173: 1 more file to edit"
msgstr "E173: Un fichero más para editar."
-#: ex_docmd.c:4581
+#: ex_docmd.c:4584
#, c-format
msgid "E173: %ld more files to edit"
msgstr "E173: Hay %ld ficheros en edición."
-#: ex_docmd.c:4676
+#: ex_docmd.c:4679
msgid "E174: Command already exists: add ! to replace it"
msgstr "E174: El comando ya existe. Añada «!» para reemplazarlo."
-#: ex_docmd.c:4787
+#: ex_docmd.c:4790
msgid ""
"\n"
" Name Args Range Complete Definition"
@@ -1266,191 +1269,191 @@ msgstr ""
"\n"
" Nombre Args Rango Completar Definición"
-#: ex_docmd.c:4876
+#: ex_docmd.c:4879
msgid "No user-defined commands found"
msgstr "No se han encontrado comandos definidos por el usuario"
-#: ex_docmd.c:4908
+#: ex_docmd.c:4911
msgid "E175: No attribute specified"
msgstr "E175: No se ha especificado el atributo."
-#: ex_docmd.c:4960
+#: ex_docmd.c:4963
msgid "E176: Invalid number of arguments"
msgstr "E176: El número de argumentos no es válido."
-#: ex_docmd.c:4975
+#: ex_docmd.c:4978
msgid "E177: Count cannot be specified twice"
msgstr "E177: El recuento no se puede especificar dos veces."
-#: ex_docmd.c:4985
+#: ex_docmd.c:4988
msgid "E178: Invalid default value for count"
msgstr "E178: El valor predeterminado para el recuento no es válido."
-#: ex_docmd.c:5016
+#: ex_docmd.c:5019
msgid "E179: argument required for complete"
msgstr "E179: se necesita un argumento para completar."
-#: ex_docmd.c:5048
+#: ex_docmd.c:5051
#, c-format
msgid "E180: Invalid complete value: %s"
msgstr "E180: El valor para completar no es válido: %s."
-#: ex_docmd.c:5057
+#: ex_docmd.c:5060
msgid "E468: Completion argument only allowed for custom completion"
msgstr ""
"E468: El argumento de finalización solo se permite en finalizaciones "
"definidas por el usuario."
-#: ex_docmd.c:5063
+#: ex_docmd.c:5066
msgid "E467: Custom completion requires a function argument"
msgstr ""
"E467: Las finalizatines definidad por el usuario requieren de un argumento "
"de función."
-#: ex_docmd.c:5074
+#: ex_docmd.c:5077
#, c-format
msgid "E181: Invalid attribute: %s"
msgstr "E181: El atributo no es válido: %s"
-#: ex_docmd.c:5117
+#: ex_docmd.c:5120
msgid "E182: Invalid command name"
msgstr "E182: El nombre de comando no es válido."
-#: ex_docmd.c:5132
+#: ex_docmd.c:5135
msgid "E183: User defined commands must start with an uppercase letter"
msgstr ""
"E183: Los comandos definidos por el usuario deben comenzar con una letra "
"mayúscula."
-#: ex_docmd.c:5203
+#: ex_docmd.c:5206
#, c-format
msgid "E184: No such user-defined command: %s"
msgstr "E184: No existe tal comando definido por el usuario: %s"
-#: ex_docmd.c:5664
+#: ex_docmd.c:5667
#, c-format
msgid "E185: Cannot find color scheme %s"
msgstr "E185: No se puede encontrar el esquema de colores %s"
-#: ex_docmd.c:5672
+#: ex_docmd.c:5675
msgid "Greetings, Vim user!"
msgstr "¡Saludos, usuario de Vim!"
-#: ex_docmd.c:6389
+#: ex_docmd.c:6396
msgid "Edit File in new window"
msgstr "Editar fichero en una ventana nueva"
-#: ex_docmd.c:6684
+#: ex_docmd.c:6697
msgid "No swap file"
msgstr "No hay fichero de intercambio"
-#: ex_docmd.c:6788
+#: ex_docmd.c:6801
msgid "Append File"
msgstr "Añadir fichero"
-#: ex_docmd.c:6852
+#: ex_docmd.c:6865
msgid "E186: No previous directory"
msgstr "E186: No hay directorio previo."
-#: ex_docmd.c:6934
+#: ex_docmd.c:6947
msgid "E187: Unknown"
msgstr "E187: Desconocido."
-#: ex_docmd.c:7019
+#: ex_docmd.c:7032
msgid "E465: :winsize requires two number arguments"
msgstr "E465: «:winsize» requiere de dos argumentos numéricos."
-#: ex_docmd.c:7075
+#: ex_docmd.c:7088
#, c-format
msgid "Window position: X %d, Y %d"
msgstr "Posición de la ventana: X %d, Y %d"
-#: ex_docmd.c:7080
+#: ex_docmd.c:7093
msgid "E188: Obtaining window position not implemented for this platform"
msgstr ""
"E188: La obtención de la posición de la ventana no está implementada en esta "
"plataforma."
-#: ex_docmd.c:7090
+#: ex_docmd.c:7103
msgid "E466: :winpos requires two number arguments"
msgstr "E466: «:winpos» require de dos argumentos numéricos."
-#: ex_docmd.c:7368
+#: ex_docmd.c:7381
msgid "Save Redirection"
msgstr "Guardar redirección."
-#: ex_docmd.c:7558
+#: ex_docmd.c:7571
msgid "Save View"
msgstr "Guardar vista"
-#: ex_docmd.c:7559
+#: ex_docmd.c:7572
msgid "Save Session"
msgstr "Guardar sesión"
-#: ex_docmd.c:7561
+#: ex_docmd.c:7574
msgid "Save Setup"
msgstr "Guardar configuración"
-#: ex_docmd.c:7713
+#: ex_docmd.c:7726
#, c-format
msgid "E189: \"%s\" exists (add ! to override)"
msgstr "E189: \"%s\" ya existe (añada ! para sobreescribir.)"
-#: ex_docmd.c:7718
+#: ex_docmd.c:7731
#, c-format
msgid "E190: Cannot open \"%s\" for writing"
msgstr "E190: No se puede abrir «%s» para escritura"
# set mark
#. set mark
-#: ex_docmd.c:7742
+#: ex_docmd.c:7755
msgid "E191: Argument must be a letter or forward/backward quote"
msgstr ""
"E191: El argumento debe ser una letra o un apóstrofo/apóstrofo invertido"
-#: ex_docmd.c:7784
+#: ex_docmd.c:7797
msgid "E192: Recursive use of :normal too deep"
msgstr "E192: Uso recursivo demasiado profundo de «:normal»."
-#: ex_docmd.c:8302
+#: ex_docmd.c:8315
msgid "E194: No alternate file name to substitute for '#'"
msgstr "E194: No hay un nombre de fichero alternativo que sustituya a «#»."
-#: ex_docmd.c:8333
+#: ex_docmd.c:8346
msgid "E495: no autocommand file name to substitute for \"<afile>\""
msgstr ""
"E495: No ha dado un nombre de fichero de autocomandos para sustituir a "
"\"<afile>\""
-#: ex_docmd.c:8341
+#: ex_docmd.c:8354
msgid "E496: no autocommand buffer number to substitute for \"<abuf>\""
msgstr ""
"E496: No existe un «buffer» de autocomando para sustituir por \"<abuf>\""
-#: ex_docmd.c:8352
+#: ex_docmd.c:8365
msgid "E497: no autocommand match name to substitute for \"<amatch>\""
msgstr ""
"E497: Ningún nombre de autocomando concuerda para sustituir «<amatch>»."
-#: ex_docmd.c:8362
+#: ex_docmd.c:8375
msgid "E498: no :source file name to substitute for \"<sfile>\""
msgstr ""
"E498: No hay un nombre de fichero «:source» que sustituya a \"<sfile>\"."
-#: ex_docmd.c:8403
+#: ex_docmd.c:8416
#, no-c-format
msgid "E499: Empty file name for '%' or '#', only works with \":p:h\""
msgstr "E499: Un nombre de fichero vacio solo funciona con \":p:h\"."
-#: ex_docmd.c:8405
+#: ex_docmd.c:8418
msgid "E500: Evaluates to an empty string"
msgstr "E500: La expresión evalua a un «string» vacio."
-#: ex_docmd.c:9360
+#: ex_docmd.c:9389
msgid "E195: Cannot open viminfo file for reading"
msgstr "E195: No se puede abrir el fichero «viminfo» para lectura."
-#: ex_docmd.c:9533
+#: ex_docmd.c:9562
msgid "E196: No digraphs in this version"
msgstr "E196: No hay dígrafos en esta versión."
@@ -1511,7 +1514,7 @@ msgstr "Exepción."
msgid "Error and interrupt"
msgstr "Error e interrupción"
-#: ex_eval.c:754 gui.c:4381
+#: ex_eval.c:754 gui.c:4384
msgid "Error"
msgstr "Error"
@@ -1593,19 +1596,19 @@ msgstr "E602: :endtry sin un :try"
msgid "E193: :endfunction not inside a function"
msgstr "E193: «:endfunction» no está dentro de una función."
-#: ex_getln.c:3296
+#: ex_getln.c:3299
msgid "tagname"
msgstr "Nombre del «tag»"
-#: ex_getln.c:3299
+#: ex_getln.c:3302
msgid " kind file\n"
msgstr " tipo de fichero\n"
-#: ex_getln.c:4752
+#: ex_getln.c:4768
msgid "'history' option is zero"
msgstr "La opción 'history' es cero."
-#: ex_getln.c:5023
+#: ex_getln.c:5039
#, c-format
msgid ""
"\n"
@@ -1614,274 +1617,274 @@ msgstr ""
"\n"
"# Historia de «%s» (de lo más nuevo a lo más antiguo):\n"
-#: ex_getln.c:5024
+#: ex_getln.c:5040
msgid "Command Line"
msgstr "Línea de comandos"
-#: ex_getln.c:5025
+#: ex_getln.c:5041
msgid "Search String"
msgstr "Cadena de búsqueda"
-#: ex_getln.c:5026
+#: ex_getln.c:5042
msgid "Expression"
msgstr "Expresión"
-#: ex_getln.c:5027
+#: ex_getln.c:5043
msgid "Input Line"
msgstr "Línea de entrada"
-#: ex_getln.c:5065
+#: ex_getln.c:5081
msgid "E198: cmd_pchar beyond the command length"
msgstr "E198: «cmd_pchar» más allá de la longitud del comando."
-#: ex_getln.c:5242
+#: ex_getln.c:5258
msgid "E199: Active window or buffer deleted"
msgstr "E199: Se ha suprimido la ventana o el buffer activos."
-#: fileio.c:377
+#: fileio.c:378
msgid "Illegal file name"
msgstr "Nombre de fichero ilegal"
-#: fileio.c:401 fileio.c:535 fileio.c:2913 fileio.c:2954
+#: fileio.c:402 fileio.c:540 fileio.c:2925 fileio.c:2966
msgid "is a directory"
msgstr "es un directorio"
-#: fileio.c:403
+#: fileio.c:404
msgid "is not a file"
msgstr "no es un fichero"
-#: fileio.c:557 fileio.c:4131
+#: fileio.c:562 fileio.c:4143
msgid "[New File]"
msgstr "[Fichero nuevo]"
-#: fileio.c:590
+#: fileio.c:595
msgid "[Permission Denied]"
msgstr "[Permiso negado]"
-#: fileio.c:694
+#: fileio.c:706
msgid "E200: *ReadPre autocommands made the file unreadable"
msgstr "E200: Los autocomandos «*ReadPre» hicieron ilegible al fichero."
-#: fileio.c:696
+#: fileio.c:708
msgid "E201: *ReadPre autocommands must not change current buffer"
msgstr "E201: Los autocomandos «*ReadPre» no deben cambiar el buffer en curso."
-#: fileio.c:717
+#: fileio.c:729
msgid "Vim: Reading from stdin...\n"
msgstr "Vim: leyendo la entrada estándar...\n"
-#: fileio.c:723
+#: fileio.c:735
msgid "Reading from stdin..."
msgstr "Leyendo la entrada estándar..."
# Re-opening the original file failed!
#. Re-opening the original file failed!
-#: fileio.c:1000
+#: fileio.c:1012
msgid "E202: Conversion made file unreadable!"
msgstr "E202: ¡La conversión ha hecho el fichero ilegible!"
-#: fileio.c:2090
+#: fileio.c:2102
msgid "[fifo/socket]"
msgstr "[fifo/socket]"
-#: fileio.c:2097
+#: fileio.c:2109
msgid "[fifo]"
msgstr "[fifo]"
-#: fileio.c:2104
+#: fileio.c:2116
msgid "[socket]"
msgstr "[socket]"
-#: fileio.c:2112
+#: fileio.c:2124
msgid "[RO]"
msgstr "[RO]"
-#: fileio.c:2122
+#: fileio.c:2134
msgid "[CR missing]"
msgstr "[Falta un CR]"
-#: fileio.c:2127
+#: fileio.c:2139
msgid "[NL found]"
msgstr "[Se ha encontrado un NL]"
-#: fileio.c:2132
+#: fileio.c:2144
msgid "[long lines split]"
msgstr "[he partido las líneas largas]"
-#: fileio.c:2138 fileio.c:4115
+#: fileio.c:2150 fileio.c:4127
msgid "[NOT converted]"
msgstr "[NO convertido]"
-#: fileio.c:2143 fileio.c:4120
+#: fileio.c:2155 fileio.c:4132
msgid "[converted]"
msgstr "[convertido]"
-#: fileio.c:2150 fileio.c:4145
+#: fileio.c:2162 fileio.c:4157
msgid "[crypted]"
msgstr "[encriptado]"
-#: fileio.c:2157
+#: fileio.c:2169
msgid "[CONVERSION ERROR]"
msgstr "[ERROR DE CONVERSIÓN]"
-#: fileio.c:2163
+#: fileio.c:2175
#, c-format
msgid "[ILLEGAL BYTE in line %ld]"
msgstr "[BYTE ILEGAL en la línea %ld]"
-#: fileio.c:2170
+#: fileio.c:2182
msgid "[READ ERRORS]"
msgstr "[ERRORES DE LECTURA]"
-#: fileio.c:2386
+#: fileio.c:2398
msgid "Can't find temp file for conversion"
msgstr "No se puede encontrar el fichero temporal para la conversión."
-#: fileio.c:2393
+#: fileio.c:2405
msgid "Conversion with 'charconvert' failed"
msgstr "La conversión con '«charconvert»' ha fallado."
-#: fileio.c:2396
+#: fileio.c:2408
msgid "can't read output of 'charconvert'"
msgstr "No puedo leer la salida de «charconvert»."
-#: fileio.c:2796
+#: fileio.c:2808
msgid "E203: Autocommands deleted or unloaded buffer to be written"
msgstr ""
"E203: Los autocomandos fueron suprimidos o el «buffer» se descargó para ser "
"grabado en disco."
-#: fileio.c:2819
+#: fileio.c:2831
msgid "E204: Autocommand changed number of lines in unexpected way"
msgstr ""
"E204: El autocomando ha cambiado el número de líneas en forma inesperada."
-#: fileio.c:2857
+#: fileio.c:2869
msgid "NetBeans dissallows writes of unmodified buffers"
msgstr "NetBeans no permite que se escriba sobre «buffers» sin modificar."
-#: fileio.c:2865
+#: fileio.c:2877
msgid "Partial writes disallowed for NetBeans buffers"
msgstr "No se permite la escritura parcial de los «buffers» de NetBeans."
-#: fileio.c:2919 fileio.c:2937
+#: fileio.c:2931 fileio.c:2949
msgid "is not a file or writable device"
msgstr "no es un fichero o dispositivo en el que se pueda escribir."
-#: fileio.c:2989
+#: fileio.c:3001
msgid "is read-only (add ! to override)"
msgstr "Es de solo lectura (añada ! para obreescribir)."
-#: fileio.c:3335
+#: fileio.c:3347
msgid "E506: Can't write to backup file (add ! to override)"
msgstr ""
"E506: No puedo escribir al fichero de respaldo (añada ! para forzar el "
"comando)."
-#: fileio.c:3347
+#: fileio.c:3359
msgid "E507: Close error for backup file (add ! to override)"
msgstr ""
"E507: Error al cerrar el fichero de la copia de respaldo (añada ! para "
"forzar el comando)."
-#: fileio.c:3349
+#: fileio.c:3361
msgid "E508: Can't read file for backup (add ! to override)"
msgstr ""
"E508: No puedo leer el fichero para crear la copia de respaldo (añada ! para "
"forzar el comando)."
-#: fileio.c:3365
+#: fileio.c:3377
msgid "E509: Cannot create backup file (add ! to override)"
msgstr ""
"E509: No puedo crear el fichero para la copia de respaldo (añada ! para "
"forzar el comando)."
-#: fileio.c:3468
+#: fileio.c:3480
msgid "E510: Can't make backup file (add ! to override)"
msgstr ""
"E510: No puedo hacer un fichero de copia de respaldo (añada ! para forzar el "
"comando)."
-#: fileio.c:3530
+#: fileio.c:3542
msgid "E460: The resource fork would be lost (add ! to override)"
msgstr ""
"E460: Se perdería el segmento («fork») de recursos! (añada ! para forzar el "
"comando)."
-#: fileio.c:3640
+#: fileio.c:3652
msgid "E214: Can't find temp file for writing"
msgstr "E214: No puedo encontrar el fichero temporal para escribir en él."
-#: fileio.c:3658
+#: fileio.c:3670
msgid "E213: Cannot convert (add ! to write without conversion)"
msgstr ""
"E213: No puedo convertirlo (añada ! para escribir el fichero sin conversión)."
-#: fileio.c:3693
+#: fileio.c:3705
msgid "E166: Can't open linked file for writing"
msgstr "E166: No puedo abrir el fichero enlazado para escribir en él."
-#: fileio.c:3697
+#: fileio.c:3709
msgid "E212: Can't open file for writing"
msgstr "E212: No puedo abrir el fichero para escribir en él."
-#: fileio.c:3959
+#: fileio.c:3971
msgid "E667: Fsync failed"
msgstr "E667: falló «fsync»"
-#: fileio.c:3966
+#: fileio.c:3978
msgid "E512: Close failed"
msgstr "E314: Falló el cierre del fichero."
-#: fileio.c:4037
+#: fileio.c:4049
msgid "E513: write error, conversion failed"
msgstr "E513: Error de escritura, la conversión falló."
-#: fileio.c:4043
+#: fileio.c:4055
msgid "E514: write error (file system full?)"
msgstr "E514: Error de escritura (¿Sistema de ficheros lleno?"
-#: fileio.c:4110
+#: fileio.c:4122
msgid " CONVERSION ERROR"
msgstr "ERROR DE CONVERSIÓN"
-#: fileio.c:4126
+#: fileio.c:4138
msgid "[Device]"
msgstr "[Dispositivo]"
-#: fileio.c:4131
+#: fileio.c:4143
msgid "[New]"
msgstr "[Nuevo]"
-#: fileio.c:4153
+#: fileio.c:4165
msgid " [a]"
msgstr " [a]"
-#: fileio.c:4153
+#: fileio.c:4165
msgid " appended"
msgstr " añadido"
-#: fileio.c:4155
+#: fileio.c:4167
msgid " [w]"
msgstr " [w]"
-#: fileio.c:4155
+#: fileio.c:4167
msgid " written"
msgstr " escritos"
-#: fileio.c:4205
+#: fileio.c:4217
msgid "E205: Patchmode: can't save original file"
msgstr "E205: Modo «patch»: no se puede guardar el fichero original."
-#: fileio.c:4227
+#: fileio.c:4239
msgid "E206: patchmode: can't touch empty original file"
msgstr "E206: Modo «patch»: no se puede tocar el fichero original vacío."
-#: fileio.c:4242
+#: fileio.c:4254
msgid "E207: Can't delete backup file"
msgstr "E207: No se puede borrar el fichero de respaldo."
-#: fileio.c:4306
+#: fileio.c:4318
msgid ""
"\n"
"WARNING: Original file may be lost or damaged\n"
@@ -1889,57 +1892,57 @@ msgstr ""
"\n"
"AVISO: el fichero original puede haberse perdido o haberse dañado\n"
-#: fileio.c:4308
+#: fileio.c:4320
msgid "don't quit the editor until the file is successfully written!"
msgstr "¡no salga del editor hasta que el fichero se haya escrito!"
-#: fileio.c:4397
+#: fileio.c:4409
msgid "[dos]"
msgstr "[DOS]"
-#: fileio.c:4397
+#: fileio.c:4409
msgid "[dos format]"
msgstr "[formato DOS]"
-#: fileio.c:4404
+#: fileio.c:4416
msgid "[mac]"
msgstr "[Mac]"
-#: fileio.c:4404
+#: fileio.c:4416
msgid "[mac format]"
msgstr "[formato Mac]"
-#: fileio.c:4411
+#: fileio.c:4423
msgid "[unix]"
msgstr "[UNIX]"
-#: fileio.c:4411
+#: fileio.c:4423
msgid "[unix format]"
msgstr "[formato UNIX]"
-#: fileio.c:4438
+#: fileio.c:4450
msgid "1 line, "
msgstr "1 línea, "
-#: fileio.c:4440
+#: fileio.c:4452
#, c-format
msgid "%ld lines, "
msgstr "%ld líneas, "
-#: fileio.c:4443
+#: fileio.c:4455
msgid "1 character"
msgstr "1 carácter"
-#: fileio.c:4445
+#: fileio.c:4457
#, c-format
msgid "%ld characters"
msgstr "%ld caracteres"
-#: fileio.c:4455
+#: fileio.c:4467
msgid "[noeol]"
msgstr "[no hay fin de línea]"
-#: fileio.c:4455
+#: fileio.c:4467
msgid "[Incomplete last line]"
msgstr "[Última línea incompleta]"
@@ -1949,39 +1952,39 @@ msgstr "[Última línea incompleta]"
#. don't overwrite messages here
#. must give this prompt
#. don't use emsg() here, don't want to flush the buffers
-#: fileio.c:4474
+#: fileio.c:4486
msgid "WARNING: The file has been changed since reading it!!!"
msgstr "ADVERTENCIA: ¡¡¡El fichero ha cambiado desde que se leyó!!!"
-#: fileio.c:4476
+#: fileio.c:4488
msgid "Do you really want to write to it"
msgstr "¿Quiere realmente escribir a él?"
-#: fileio.c:5726
+#: fileio.c:5741
#, c-format
msgid "E208: Error writing to \"%s\""
msgstr "E208: Error al escribir a «%s»."
-#: fileio.c:5733
+#: fileio.c:5748
#, c-format
msgid "E209: Error closing \"%s\""
msgstr "E209: Error al cerrar «%s»."
-#: fileio.c:5736
+#: fileio.c:5751
#, c-format
msgid "E210: Error reading \"%s\""
msgstr "E210: Error al leer «%s»."
-#: fileio.c:5970
+#: fileio.c:5985
msgid "E246: FileChangedShell autocommand deleted buffer"
msgstr "E246: el autocomando «FileChangedShell» ha borrado el buffer."
-#: fileio.c:5977
+#: fileio.c:5992
#, c-format
msgid "E211: Warning: File \"%s\" no longer available"
msgstr "E211: Advertencia: el fichero «%s» ya no está disponible"
-#: fileio.c:5991
+#: fileio.c:6006
#, c-format
msgid ""
"W12: Warning: File \"%s\" has changed and the buffer was changed in Vim as "
@@ -1990,35 +1993,35 @@ msgstr ""
"W12: Advertencia: el fichero «%s» ha cambiado y el buffer fue cambiado "
"también en Vim."
-#: fileio.c:5994
+#: fileio.c:6009
#, c-format
msgid "W11: Warning: File \"%s\" has changed since editing started"
msgstr ""
"W11: Advertencia: el fichero «%s» ha cambiado desde que comenzó la edición."
-#: fileio.c:5996
+#: fileio.c:6011
#, c-format
msgid "W16: Warning: Mode of file \"%s\" has changed since editing started"
msgstr ""
"W16: Advertencia: el modo del fichero «%s» ha cambiado desde que comenzó la "
"edición."
-#: fileio.c:6006
+#: fileio.c:6021
#, c-format
msgid "W13: Warning: File \"%s\" has been created after editing started"
msgstr ""
"W13: Advertencia: el fichero «%s» ha sido creado después de comenzar la "
"edición."
-#: fileio.c:6019
+#: fileio.c:6034
msgid "See \":help W11\" for more info."
msgstr "Vea «:help w11» para más información."
-#: fileio.c:6033
+#: fileio.c:6048
msgid "Warning"
msgstr "Advertencia"
-#: fileio.c:6034
+#: fileio.c:6049
msgid ""
"&OK\n"
"&Load File"
@@ -2026,45 +2029,45 @@ msgstr ""
"&OK\n"
"&Cargar fichero"
-#: fileio.c:6140
+#: fileio.c:6155
#, c-format
msgid "E462: Could not prepare for reloading \"%s\""
msgstr "E462: No pude prepararme para recargar a \"%s\"."
-#: fileio.c:6159
+#: fileio.c:6174
#, c-format
msgid "E321: Could not reload \"%s\""
msgstr "E321: No se pudo recargar «%s»."
-#: fileio.c:6740
+#: fileio.c:6755
msgid "--Deleted--"
msgstr "--Suprimido--"
# the group doesn't exist
#. the group doesn't exist
-#: fileio.c:6900
+#: fileio.c:6915
#, c-format
msgid "E367: No such group: \"%s\""
msgstr "E367: No existe el grupo: «%s»."
-#: fileio.c:7026
+#: fileio.c:7041
#, c-format
msgid "E215: Illegal character after *: %s"
msgstr "E215: Carácter ilegal después de *: «%s»."
-#: fileio.c:7038
+#: fileio.c:7053
#, c-format
msgid "E216: No such event: %s"
msgstr "E216: No existe tal hecho: «%s»"
-#: fileio.c:7040
+#: fileio.c:7055
#, c-format
msgid "E216: No such group or event: %s"
msgstr "E216: No existe tal grupo o evento: %s"
# Highlight title
#. Highlight title
-#: fileio.c:7198
+#: fileio.c:7213
msgid ""
"\n"
"--- Auto-Commands ---"
@@ -2072,42 +2075,42 @@ msgstr ""
"\n"
"--- Auto-comandos ---"
-#: fileio.c:7469
+#: fileio.c:7484
msgid "E217: Can't execute autocommands for ALL events"
msgstr ""
"E217: No se pueden ejecutar los autocomandos para TODOS los eventos de "
"ejecución."
-#: fileio.c:7492
+#: fileio.c:7507
msgid "No matching autocommands"
msgstr "Ningún autocomando coincide."
-#: fileio.c:7813
+#: fileio.c:7828
msgid "E218: autocommand nesting too deep"
msgstr "E218: El autocomando se anida en demasiados bucles."
-#: fileio.c:8088
+#: fileio.c:8103
#, c-format
msgid "%s Auto commands for \"%s\""
msgstr "%s Auto comandos para «%s»"
-#: fileio.c:8096
+#: fileio.c:8111
#, c-format
msgid "Executing %s"
msgstr "Ejecutando %s"
# always scroll up, don't overwrite
#. always scroll up, don't overwrite
-#: fileio.c:8164
+#: fileio.c:8179
#, c-format
msgid "autocommand %s"
msgstr "autocomando %s"
-#: fileio.c:8731
+#: fileio.c:8746
msgid "E219: Missing {."
msgstr "E219: Falta un {."
-#: fileio.c:8733
+#: fileio.c:8748
msgid "E220: Missing }."
msgstr "E220: Falta un }."
@@ -2127,39 +2130,39 @@ msgstr "E351: No puedo borrar el pliegue con el 'foldmethod' activo."
msgid "E222: Add to read buffer"
msgstr "E222: Añadir al «buffer» de lectura"
-#: getchar.c:2198
+#: getchar.c:2208
msgid "E223: recursive mapping"
msgstr "E223: asociación recursiva"
-#: getchar.c:3077
+#: getchar.c:3087
#, c-format
msgid "E224: global abbreviation already exists for %s"
msgstr "E224: ya existe una abreviatura global para «%s»."
-#: getchar.c:3080
+#: getchar.c:3090
#, c-format
msgid "E225: global mapping already exists for %s"
msgstr "E225: ya existe una asociación global para «%s»."
-#: getchar.c:3212
+#: getchar.c:3222
#, c-format
msgid "E226: abbreviation already exists for %s"
msgstr "E226: ya existe una abreviatura para «%s»."
-#: getchar.c:3215
+#: getchar.c:3225
#, c-format
msgid "E227: mapping already exists for %s"
msgstr "E227: ya existe una asociación para «%s»."
-#: getchar.c:3279
+#: getchar.c:3289
msgid "No abbreviation found"
msgstr "No encontré ninguna abreviatura."
-#: getchar.c:3281
+#: getchar.c:3291
msgid "No mapping found"
msgstr "No encontré ninguna asociación."
-#: getchar.c:4173
+#: getchar.c:4183
msgid "E228: makemap: Illegal mode"
msgstr "E228: «makemap»: modo ilegal."
@@ -2186,7 +2189,7 @@ msgstr "E231: El valor de «guifontwide» no es válido."
msgid "E599: Value of 'imactivatekey' is invalid"
msgstr "E599: El valor de «imactivatekey» no es válido."
-#: gui.c:4061
+#: gui.c:4064
#, c-format
msgid "E254: Cannot allocate color %s"
msgstr "E254: No se puede asignar el color «%s»."
@@ -2229,7 +2232,7 @@ msgstr "Scrollbar Widget: No pude obtener la geometría del «pixmap» miniatura."
msgid "Vim dialog"
msgstr "Diálogo de Vim"
-#: gui_beval.c:101 gui_w32.c:3945
+#: gui_beval.c:101 gui_w32.c:3978
msgid "E232: Cannot create BalloonEval with both message and callback"
msgstr ""
"E232: No puedo crear un «BalloonEval» que contenga tanto el mensaje como el "
@@ -2239,7 +2242,7 @@ msgstr ""
msgid "Vim dialog..."
msgstr "Diálogo de Vim..."
-#: gui_gtk.c:2060 message.c:2999
+#: gui_gtk.c:2060 message.c:3005
msgid ""
"&Yes\n"
"&No\n"
@@ -2365,16 +2368,25 @@ msgstr ""
"\n"
"Enviando mensaje para terminar los procesos dependientes («hijo»).\n"
-#: gui_w32.c:834
+#: gui_w32.c:839
+#, c-format
+msgid "E671: Cannot find window title \"%s\""
+msgstr "E671: No puedo encontrar el título de la ventana «%s»."
+
+#: gui_w32.c:847
#, c-format
msgid "E243: Argument not supported: \"-%s\"; Use the OLE version."
msgstr "E243: Argumento no admitido: «-%s»; use la versión OLE."
-#: gui_w48.c:2147
+#: gui_w32.c:1100
+msgid "E672: Unable to open window inside MDI application"
+msgstr "E672: No puedo abrir una ventana dentro de la aplicación MDI."
+
+#: gui_w48.c:2163
msgid "Find string (use '\\\\' to find a '\\')"
msgstr "Buscar cadena (use «\\\\» para encontrar un «\\»)"
-#: gui_w48.c:2172
+#: gui_w48.c:2188
msgid "Find & Replace (use '\\\\' to find a '\\')"
msgstr "Buscar y reemplazar (use «\\\\» para encontra una «\\»)"
@@ -3002,47 +3014,47 @@ msgstr ""
msgid "Invalid argument for"
msgstr "Argumento no válido para"
-#: main.c:466
+#: main.c:469
msgid "This Vim was not compiled with the diff feature."
msgstr "Este Vim no ha sido compilado con la característica «diff»."
-#: main.c:932
+#: main.c:935
msgid "Attempt to open script file again: \""
msgstr "Intento de abrir de nuevo el fichero «script»: «"
-#: main.c:941
+#: main.c:944
msgid "Cannot open for reading: \""
msgstr "No puedo abrir para leer: «"
-#: main.c:985
+#: main.c:988
msgid "Cannot open for script output: \""
msgstr "No puedo abrir para escribir la salida del «script»: «"
-#: main.c:1132
+#: main.c:1135
#, c-format
msgid "%d files to edit\n"
msgstr "%d ficheros que editar\n"
-#: main.c:1233
+#: main.c:1236
msgid "Vim: Warning: Output is not to a terminal\n"
msgstr "Vim: Advertencia: la salida no es a un terminal\n"
-#: main.c:1235
+#: main.c:1238
msgid "Vim: Warning: Input is not from a terminal\n"
msgstr "Vim: Advertencia: la entrada no es desde un terminal\n"
# just in case..
#. just in case..
-#: main.c:1297
+#: main.c:1306
msgid "pre-vimrc command line"
msgstr "Línea de comandos anter de «vimrc»"
-#: main.c:1338
+#: main.c:1347
#, c-format
msgid "E282: Cannot read from \"%s\""
msgstr "E282: No puedo leer desde «%s»"
-#: main.c:2411
+#: main.c:2420
msgid ""
"\n"
"More info with: \"vim -h\"\n"
@@ -3050,23 +3062,23 @@ msgstr ""
"\n"
"Más información con: «vim -h»\n"
-#: main.c:2444
+#: main.c:2453
msgid "[file ..] edit specified file(s)"
msgstr "[fichero ...] edita el/los fichero(s) especificado(s)"
-#: main.c:2445
+#: main.c:2454
msgid "- read text from stdin"
msgstr "- lee texto de la entrada estándar"
-#: main.c:2446
+#: main.c:2455
msgid "-t tag edit file where tag is defined"
msgstr "-t «tag» edita el fichero donde está definido «tag»"
-#: main.c:2448
+#: main.c:2457
msgid "-q [errorfile] edit file with first error"
msgstr "-q [fich. err.] edita el fichero con el primer error"
-#: main.c:2457
+#: main.c:2466
msgid ""
"\n"
"\n"
@@ -3076,11 +3088,11 @@ msgstr ""
"\n"
"Uso:"
-#: main.c:2460
+#: main.c:2469
msgid " vim [arguments] "
msgstr " vim [argumentos]"
-#: main.c:2464
+#: main.c:2473
msgid ""
"\n"
" or:"
@@ -3088,7 +3100,7 @@ msgstr ""
"\n"
" o:"
-#: main.c:2467
+#: main.c:2476
msgid ""
"\n"
"\n"
@@ -3098,258 +3110,258 @@ msgstr ""
"\n"
"Argumentos:\n"
-#: main.c:2468
+#: main.c:2477
msgid "--\t\t\tOnly file names after this"
msgstr "--\t\t\tSólo nombres de ficheros después de esto"
-#: main.c:2470
+#: main.c:2479
msgid "--literal\t\tDon't expand wildcards"
msgstr "--literal\t\tNo expandir comodines"
-#: main.c:2473
+#: main.c:2482
msgid "-register\t\tRegister this gvim for OLE"
msgstr "-register\t\tRegistrar este «gvim» para «OLE»"
-#: main.c:2474
+#: main.c:2483
msgid "-unregister\t\tUnregister gvim for OLE"
msgstr "-unregister\t\tSuprimir el registro de gvim para OLE"
-#: main.c:2477
+#: main.c:2486
msgid "-g\t\t\tRun using GUI (like \"gvim\")"
msgstr "-g\t\t\tEjecutar usando el GUI (como «gvim»)"
-#: main.c:2478
+#: main.c:2487
msgid "-f or --nofork\tForeground: Don't fork when starting GUI"
msgstr ""
"-f o --nofork\tPrimer plano: No separarse («fork») cuando se inicia la "
"interface gráfica (GUI)."
-#: main.c:2480
+#: main.c:2489
msgid "-v\t\t\tVi mode (like \"vi\")"
msgstr "-v\t\t\tModo Vi (como «vi»)"
-#: main.c:2481
+#: main.c:2490
msgid "-e\t\t\tEx mode (like \"ex\")"
msgstr "-e\t\t\tModo Ex (como «ex»)"
-#: main.c:2482
+#: main.c:2491
msgid "-s\t\t\tSilent (batch) mode (only for \"ex\")"
msgstr "-s\t\t\tModo silencioso o «batch» (sólo para «ex»)"
-#: main.c:2484
+#: main.c:2493
msgid "-d\t\t\tDiff mode (like \"vimdiff\")"
msgstr "-d\t\t\tModo «diff» (como «vimdiff»)"
-#: main.c:2486
+#: main.c:2495
msgid "-y\t\t\tEasy mode (like \"evim\", modeless)"
msgstr "-y\t\t\tModo fácil (como «evim», sin modo)"
-#: main.c:2487
+#: main.c:2496
msgid "-R\t\t\tReadonly mode (like \"view\")"
msgstr "-R\t\t\tModo de sólo lectura (como «view»)"
-#: main.c:2488
+#: main.c:2497
msgid "-Z\t\t\tRestricted mode (like \"rvim\")"
msgstr "-Z\t\t\tModo restringido (como «rvim»)"
-#: main.c:2489
+#: main.c:2498
msgid "-m\t\t\tModifications (writing files) not allowed"
msgstr "-m\t\t\tModificaciones no permitidas (escritura de ficheros)"
-#: main.c:2490
+#: main.c:2499
msgid "-M\t\t\tModifications in text not allowed"
msgstr "-M\t\t\tModificaciones en el texto no permitidas"
-#: main.c:2491
+#: main.c:2500
msgid "-b\t\t\tBinary mode"
msgstr "-b\t\t\tModo binario"
-#: main.c:2493
+#: main.c:2502
msgid "-l\t\t\tLisp mode"
msgstr "-l\t\t\tModo lisp"
-#: main.c:2495
+#: main.c:2504
msgid "-C\t\t\tCompatible with Vi: 'compatible'"
msgstr "-C\t\t\tCompatible con Vi: 'compatible'"
-#: main.c:2496
+#: main.c:2505
msgid "-N\t\t\tNot fully Vi compatible: 'nocompatible'"
msgstr "-N\t\t\tNo totalmente compatible con Vi: 'nocompatible'"
-#: main.c:2497
+#: main.c:2506
msgid "-V[N]\t\tVerbose level"
msgstr "-V[N]\t\tNivel de detalle de la ejecución"
-#: main.c:2498
+#: main.c:2507
msgid "-D\t\t\tDebugging mode"
msgstr "-D\t\t\tModo de depuración"
-#: main.c:2499
+#: main.c:2508
msgid "-n\t\t\tNo swap file, use memory only"
msgstr "-n\t\t\tSin fichero de intercambio, usa sólo la memoria"
-#: main.c:2500
+#: main.c:2509
msgid "-r\t\t\tList swap files and exit"
msgstr "-r\t\t\tDar una lista de los fichero de intercambio y salir"
-#: main.c:2501
+#: main.c:2510
msgid "-r (with file name)\tRecover crashed session"
msgstr "-r (con nombre del fichero)\tRecuperar sesión fallida"
-#: main.c:2502
+#: main.c:2511
msgid "-L\t\t\tSame as -r"
msgstr "-L\t\t\tIgual que -r"
-#: main.c:2504
+#: main.c:2513
msgid "-f\t\t\tDon't use newcli to open window"
msgstr "-f\t\t\tNo usar «newcli» para abrir la ventana"
-#: main.c:2505
+#: main.c:2514
msgid "-dev <device>\t\tUse <device> for I/O"
msgstr "-dev <dispositivo>\t\tUse <dispositivo> para E/S"
-#: main.c:2508
+#: main.c:2517
msgid "-A\t\t\tstart in Arabic mode"
msgstr "-A\t\t\tIniciar en modo árabe"
-#: main.c:2511
+#: main.c:2520
msgid "-H\t\t\tStart in Hebrew mode"
msgstr "-H\t\t\tIniciar en modo hebreo"
-#: main.c:2514
+#: main.c:2523
msgid "-F\t\t\tStart in Farsi mode"
msgstr "-F\t\t\tIniciar en modo persa (farsi)"
-#: main.c:2516
+#: main.c:2525
msgid "-T <terminal>\tSet terminal type to <terminal>"
msgstr "-T <terminal>\tDetermina el tipo de terminal a <<terminal>>"
-#: main.c:2517
+#: main.c:2526
msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc"
msgstr "-u <vimrc>\t\tUsa <vimrc> en lugar de cualquier .vimrc"
-#: main.c:2519
+#: main.c:2528
msgid "-U <gvimrc>\t\tUse <gvimrc> instead of any .gvimrc"
msgstr "-U <gvimrc>\t\tUsa <gvimrc> en lugar de cualquier .gvimrc"
-#: main.c:2521
+#: main.c:2530
msgid "--noplugin\t\tDon't load plugin scripts"
msgstr "--noplugin\t\tNo carga los «plugin scripts»"
-#: main.c:2522
+#: main.c:2531
msgid "-o[N]\t\tOpen N windows (default: one for each file)"
msgstr "-o[N]\t\tAbre N ventanas (valor predeterminado: una por fichero)"
-#: main.c:2523
+#: main.c:2532
msgid "-O[N]\t\tLike -o but split vertically"
msgstr "-O[N]\t\tComo «-o» pero divide las ventanas verticalmente."
-#: main.c:2524
+#: main.c:2533
msgid "+\t\t\tStart at end of file"
msgstr "+\t\t\tComienza al final del fichero"
-#: main.c:2525
+#: main.c:2534
msgid "+<lnum>\t\tStart at line <lnum>"
msgstr "+<lnum>\t\tComienza en la línea <lnum>"
-#: main.c:2527
+#: main.c:2536
msgid "--cmd <command>\tExecute <command> before loading any vimrc file"
msgstr "--cmd <comando>\tEjecuta <comando> antes de cargar algún fichero vimrc"
-#: main.c:2529
+#: main.c:2538
msgid "-c <command>\t\tExecute <command> after loading the first file"
msgstr "-c <comando>\t\tEjecuta <comando> después de cargar el primer fichero"
-#: main.c:2530
+#: main.c:2539
msgid "-S <session>\t\tSource file <session> after loading the first file"
msgstr ""
"-S <sesión>\t\tEjecuta los comandos del fichero <sesión> después\n"
" \t\tde cargar el primer fichero"
-#: main.c:2531
+#: main.c:2540
msgid "-s <scriptin>\tRead Normal mode commands from file <scriptin>"
msgstr "-s <scriptin>\tLee los comandos en modo Normal del fichero <scriptin>"
-#: main.c:2532
+#: main.c:2541
msgid "-w <scriptout>\tAppend all typed commands to file <scriptout>"
msgstr ""
"-w <scriptout>\tAñade todos los comandos escritos al fichero <scriptout>"
-#: main.c:2533
+#: main.c:2542
msgid "-W <scriptout>\tWrite all typed commands to file <scriptout>"
msgstr ""
"-W <scriptout>\tGraba todos los comandos escritos al fichero <scriptout>"
-#: main.c:2535
+#: main.c:2544
msgid "-x\t\t\tEdit encrypted files"
msgstr "-x\t\t\tEdita ficheros cifrados"
-#: main.c:2539
+#: main.c:2548
msgid "-display <display>\tConnect vim to this particular X-server"
msgstr "-display <pantalla>\tConecta vim a este servidor X11 en particular"
-#: main.c:2541
+#: main.c:2550
msgid "-X\t\t\tDo not connect to X server"
msgstr "-X\t\t\tNo se conecta al servidor X11"
-#: main.c:2544
+#: main.c:2553
msgid "--remote <files>\tEdit <files> in a Vim server if possible"
msgstr ""
"--remote <ficheros>\tEdita los <ficheros> en un servidor Vim si es posible."
-#: main.c:2545
+#: main.c:2554
msgid "--remote-silent <files> Same, don't complain if there is no server"
msgstr ""
"--remote-silent <ficheros> Lo mismo pero no se queja si no existe un "
"servidor disponible."
-#: main.c:2546
+#: main.c:2555
msgid ""
"--remote-wait <files> As --remote but wait for files to have been edited"
msgstr ""
"--remote-wait <ficheros>\tComo --remote pero espera a que los ficheros "
"terminen de editarse"
-#: main.c:2547
+#: main.c:2556
msgid ""
"--remote-wait-silent <files> Same, don't complain if there is no server"
msgstr ""
"--remote-wait-silent <ficheros> Lo mismo pero no se queja si no hay un "
"servidor disponible."
-#: main.c:2548
+#: main.c:2557
msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit"
msgstr "--remote-send <teclas>\tEnvía <teclas> a un servidor Vim y sale"
-#: main.c:2549
+#: main.c:2558
msgid "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result"
msgstr ""
"--remote-expr <expr>\tEvalúa <expr> en servidor Vim e imprime el resultado"
-#: main.c:2550
+#: main.c:2559
msgid "--serverlist\t\tList available Vim server names and exit"
msgstr ""
"--serverlist\t\tEmite una lista de los servidores Vim disponibles y sale"
-#: main.c:2551
+#: main.c:2560
msgid "--servername <name>\tSend to/become the Vim server <name>"
msgstr ""
"--servername <nombre>\tEnvía a/se convierte en el servidor Vim de nombre "
"<nombre>"
-#: main.c:2554
+#: main.c:2563
msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo"
msgstr "-i <viminfo>\t\tUsa <viminfo> en lugar de .viminfo"
-#: main.c:2556
+#: main.c:2565
msgid "-h or --help\tPrint Help (this message) and exit"
msgstr "-h or --help\tImprime la ayuda de comandos (este mensaje) y termina."
-#: main.c:2557
+#: main.c:2566
msgid "--version\t\tPrint version information and exit"
msgstr "--version\t\tImprime la información de versión y termina."
-#: main.c:2561
+#: main.c:2570
msgid ""
"\n"
"Arguments recognised by gvim (Motif version):\n"
@@ -3357,7 +3369,7 @@ msgstr ""
"\n"
"Argumentos reconocidos por gvim (versión Motif):\n"
-#: main.c:2565
+#: main.c:2574
msgid ""
"\n"
"Arguments recognised by gvim (neXtaw version):\n"
@@ -3365,7 +3377,7 @@ msgstr ""
"\n"
"Argumentos reconocidos por gvim (versión neXtaw):\n"
-#: main.c:2567
+#: main.c:2576
msgid ""
"\n"
"Arguments recognised by gvim (Athena version):\n"
@@ -3373,76 +3385,76 @@ msgstr ""
"\n"
"Argumentos reconocidos por gvim (versión Athena):\n"
-#: main.c:2571
+#: main.c:2580
msgid "-display <display>\tRun vim on <display>"
msgstr "-display <pantalla>\tEjecuta vim en <pantalla>"
-#: main.c:2572
+#: main.c:2581
msgid "-iconic\t\tStart vim iconified"
msgstr "-iconic\t\tArranca vim «iconizado»"
-#: main.c:2574
+#: main.c:2583
msgid "-name <name>\t\tUse resource as if vim was <name>"
msgstr "-name <nombre>\t\tUsa un recurso como si vim fuese <nombre>"
-#: main.c:2575
+#: main.c:2584
msgid "\t\t\t (Unimplemented)\n"
msgstr "\t\t\t (Sin implementar)\n"
-#: main.c:2577
+#: main.c:2586
msgid "-background <color>\tUse <color> for the background (also: -bg)"
msgstr "-background <color>\tUsa <color> para el fondo (también: -bg)"
-#: main.c:2578
+#: main.c:2587
msgid "-foreground <color>\tUse <color> for normal text (also: -fg)"
msgstr "-foreground <color>\tUsa <color> para el texto normal (también: -fg)"
-#: main.c:2579 main.c:2599
+#: main.c:2588 main.c:2608
msgid "-font <font>\t\tUse <font> for normal text (also: -fn)"
msgstr ""
"-font <tipo>\t\tUsa <fuente de impresión> para el texto normal (también: -fn)"
-#: main.c:2580
+#: main.c:2589
msgid "-boldfont <font>\tUse <font> for bold text"
msgstr "-boldfont <tipo>\tUsa <fuente de impresión> para texto en negrita"
-#: main.c:2581
+#: main.c:2590
msgid "-italicfont <font>\tUse <font> for italic text"
msgstr "-italicfont <tipo>\tUsa <fuente de impresión> para texto en cursiva"
-#: main.c:2582 main.c:2600
+#: main.c:2591 main.c:2609
msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)"
msgstr ""
"-geometry <geom>\tUsa <geom> para la geometría inicial (también: -geom)"
-#: main.c:2583
+#: main.c:2592
msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)"
msgstr "-borderwidth <ancho>\tUsa un ancho de borde de <ancho> (también: -bw)"
-#: main.c:2584
+#: main.c:2593
msgid "-scrollbarwidth <width> Use a scrollbar width of <width> (also: -sw)"
msgstr ""
"-scrollbarwidth <ancho> Usa una barra de desplazamiento de ancho <ancho> "
"(también: -sw)"
-#: main.c:2586
+#: main.c:2595
msgid "-menuheight <height>\tUse a menu bar height of <height> (also: -mh)"
msgstr ""
"-menuheight <alt>\tUsa una barra de menú de altura <alt> (también: -mh)"
-#: main.c:2588 main.c:2601
+#: main.c:2597 main.c:2610
msgid "-reverse\t\tUse reverse video (also: -rv)"
msgstr "-reverse\t\tUsar vídeo inverso (también: -rv)"
-#: main.c:2589
+#: main.c:2598
msgid "+reverse\t\tDon't use reverse video (also: +rv)"
msgstr "+reverse\t\tNo usar vídeo inverso (también: +rv)"
-#: main.c:2590
+#: main.c:2599
msgid "-xrm <resource>\tSet the specified resource"
msgstr "-xrm <recurso>\tEstablece el recurso especificado"
-#: main.c:2593
+#: main.c:2602
msgid ""
"\n"
"Arguments recognised by gvim (RISC OS version):\n"
@@ -3450,15 +3462,15 @@ msgstr ""
"\n"
"Argumentos reconocidos por gvim (versión para RISC OS):\n"
-#: main.c:2594
+#: main.c:2603
msgid "--columns <number>\tInitial width of window in columns"
msgstr "--columns <número>\tAnchura inicial de la ventana, en columnas"
-#: main.c:2595
+#: main.c:2604
msgid "--rows <number>\tInitial height of window in rows"
msgstr "--rows <número>\tAltura inicial de la ventana, en filas"
-#: main.c:2598
+#: main.c:2607
msgid ""
"\n"
"Arguments recognised by gvim (GTK+ version):\n"
@@ -3466,50 +3478,50 @@ msgstr ""
"\n"
"Argumentos reconocidos por gvim (versión GTK+):\n"
-#: main.c:2602
+#: main.c:2611
msgid "-display <display>\tRun vim on <display> (also: --display)"
msgstr "-display <pantalla>\tEjecuta vim en <pantalla> (también: --display)"
-#: main.c:2604
+#: main.c:2613
msgid "--role <role>\tSet a unique role to identify the main window"
msgstr ""
"--role <role>\tDefine un rol único para identificar la ventana principal."
-#: main.c:2606
+#: main.c:2615
msgid "--socketid <xid>\tOpen Vim inside another GTK widget"
msgstr "--socketid <xid>\tAbre a Vim dentro de otro «widget» GTK."
-#: main.c:2609
+#: main.c:2618
msgid "-P <parent title>\tOpen Vim inside parent application"
msgstr "-P <título ventana padre>\tAbrir a Vim dentro de la aplicación padre."
-#: main.c:2847
+#: main.c:2856
msgid "No display"
msgstr "No hay una ventana"
# Failed to send, abort.
#. Failed to send, abort.
-#: main.c:2862
+#: main.c:2871
msgid ": Send failed.\n"
msgstr ": Falló el envio.\n"
# Let vim start normally.
#. Let vim start normally.
-#: main.c:2868
+#: main.c:2877
msgid ": Send failed. Trying to execute locally\n"
msgstr ""
": Falló el inicio de sesión remota («send»). Intentado una ejecución local.\n"
-#: main.c:2906 main.c:2927
+#: main.c:2915 main.c:2936
#, c-format
msgid "%d of %d edited"
msgstr "%d de %d editados"
-#: main.c:2949
+#: main.c:2958
msgid "No display: Send expression failed.\n"
msgstr "No hay una ventana en el destino: El envio de la expresión falló.\n"
-#: main.c:2961
+#: main.c:2970
msgid ": Send expression failed.\n"
msgstr ": Falló el envio de la expresión.\n"
@@ -3627,23 +3639,23 @@ msgstr "E292: El servidor de método de entrada (IME) no está funcionando"
msgid "E293: block was not locked"
msgstr "E293: El bloque no estaba asegurado"
-#: memfile.c:1005
+#: memfile.c:1010
msgid "E294: Seek error in swap file read"
msgstr "E294: Error de búsqueda al leer el fichero de intercambio"
-#: memfile.c:1010
+#: memfile.c:1015
msgid "E295: Read error in swap file"
msgstr "E295: Error de lectura en el fichero de intercambio"
-#: memfile.c:1062
+#: memfile.c:1067
msgid "E296: Seek error in swap file write"
msgstr "E296: Error de búsqueda al escribir en el fichero de intercambio"
-#: memfile.c:1080
+#: memfile.c:1085
msgid "E297: Write error in swap file"
msgstr "E297: Error de escritura en el fichero de intercambio"
-#: memfile.c:1277
+#: memfile.c:1282
msgid "E300: Swap file already exists (symlink attack?)"
msgstr "E300: Ya existe un fichero de intercambio (¿ataque de symlink?)"
@@ -3661,45 +3673,45 @@ msgstr "E298: ¿No se obtuvo el bloque nº 2?"
# could not (re)open the swap file, what can we do????
#. could not (re)open the swap file, what can we do????
-#: memline.c:443
+#: memline.c:444
msgid "E301: Oops, lost the swap file!!!"
msgstr "E301: ¡¡¡Eeeh, se ha perdido el fichero de intercambio!!!"
-#: memline.c:448
+#: memline.c:449
msgid "E302: Could not rename swap file"
msgstr "E302: No se pudo cambiar el nombre del fichero de intercambio"
-#: memline.c:518
+#: memline.c:519
#, c-format
msgid "E303: Unable to open swap file for \"%s\", recovery impossible"
msgstr ""
"E303: Incapaz de abrir el fichero de intercambio para «%s», recuperación "
"imposible"
-#: memline.c:617
+#: memline.c:618
msgid "E304: ml_timestamp: Didn't get block 0??"
msgstr "E304: «ml_timestamp»: ¿No se obtuvo el bloque 0?"
-#: memline.c:757
+#: memline.c:758
#, c-format
msgid "E305: No swap file found for %s"
msgstr "E305: No se encontró el fichero de intercambio para %s"
-#: memline.c:767
+#: memline.c:768
msgid "Enter number of swap file to use (0 to quit): "
msgstr ""
"Introduzca el número del fichero de intercambio a usar (0 para salir): "
-#: memline.c:812
+#: memline.c:813
#, c-format
msgid "E306: Cannot open %s"
msgstr "E306: No puedo abrir %s"
-#: memline.c:834
+#: memline.c:835
msgid "Unable to read block 0 from "
msgstr "Incapaz de leer el bloque 0 de "
-#: memline.c:837
+#: memline.c:838
msgid ""
"\n"
"Maybe no changes were made or Vim did not update the swap file."
@@ -3707,28 +3719,28 @@ msgstr ""
"\n"
"Tal vez no se han hecho cambios o Vim no actualizó el fichero de intercambio"
-#: memline.c:847 memline.c:864
+#: memline.c:848 memline.c:865
msgid " cannot be used with this version of Vim.\n"
msgstr " no puede usarse con esta versión de Vim.\n"
-#: memline.c:849
+#: memline.c:850
msgid "Use Vim version 3.0.\n"
msgstr "Use la versión 3.0 de Vim.\n"
-#: memline.c:855
+#: memline.c:856
#, c-format
msgid "E307: %s does not look like a Vim swap file"
msgstr "E307: %s no parece un fichero de intercambio de Vim"
-#: memline.c:868
+#: memline.c:869
msgid " cannot be used on this computer.\n"
msgstr "no puede usarse en este ordenador.\n"
-#: memline.c:870
+#: memline.c:871
msgid "The file was created on "
msgstr "El fichero fue creado el "
-#: memline.c:874
+#: memline.c:875
msgid ""
",\n"
"or the file has been damaged."
@@ -3736,83 +3748,83 @@ msgstr ""
",\n"
"o el fichero ha sido dañado."
-#: memline.c:903
+#: memline.c:904
#, c-format
msgid "Using swap file \"%s\""
msgstr "Usando el fichero de intercambio «%s»"
-#: memline.c:909
+#: memline.c:910
#, c-format
msgid "Original file \"%s\""
msgstr "Fichero original «%s»"
-#: memline.c:922
+#: memline.c:923
msgid "E308: Warning: Original file may have been changed"
msgstr "E308: Advertencia: el fichero original puede haber sido cambiado"
-#: memline.c:975
+#: memline.c:976
#, c-format
msgid "E309: Unable to read block 1 from %s"
msgstr "E309: Incapaz de leer el bloque 1 de %s"
-#: memline.c:979
+#: memline.c:980
msgid "???MANY LINES MISSING"
msgstr "???FALTAN MUCHAS LÍNEAS"
-#: memline.c:995
+#: memline.c:996
msgid "???LINE COUNT WRONG"
msgstr "???RECUENTO DE LÍNEAS EQUIVOCADO"
-#: memline.c:1002
+#: memline.c:1003
msgid "???EMPTY BLOCK"
msgstr "???BLOQUE VACÍO"
-#: memline.c:1028
+#: memline.c:1029
msgid "???LINES MISSING"
msgstr "???FALTAN LÍNEAS"
-#: memline.c:1060
+#: memline.c:1061
#, c-format
msgid "E310: Block 1 ID wrong (%s not a .swp file?)"
msgstr "E310: ID del bloque 1 equivocado (¿no es %s un fichero .swp?)"
-#: memline.c:1065
+#: memline.c:1066
msgid "???BLOCK MISSING"
msgstr "???FALTA UN BLOQUE"
-#: memline.c:1081
+#: memline.c:1082
msgid "??? from here until ???END lines may be messed up"
msgstr "??? desde aquí hast ???FIN las líneas pueden estar desordenadas"
-#: memline.c:1097
+#: memline.c:1098
msgid "??? from here until ???END lines may have been inserted/deleted"
msgstr ""
"??? desde aquí hasta ???FIN las líneas pueden haber sido insertadas/borradas"
-#: memline.c:1117
+#: memline.c:1118
msgid "???END"
msgstr "???FIN"
-#: memline.c:1143
+#: memline.c:1144
msgid "E311: Recovery Interrupted"
msgstr "E311: Recuperación interrumpida"
-#: memline.c:1148
+#: memline.c:1149
msgid ""
"E312: Errors detected while recovering; look for lines starting with ???"
msgstr ""
"E312: Se han detectado errores al recuperar; busque líneas que empiecen "
"con ???"
-#: memline.c:1150
+#: memline.c:1151
msgid "See \":help E312\" for more information."
msgstr "Vea «:help E312» para más información."
-#: memline.c:1155
+#: memline.c:1156
msgid "Recovery completed. You should check if everything is OK."
msgstr "Recuperación completada. Ud. debería comprobar que todo está bien."
-#: memline.c:1156
+#: memline.c:1157
msgid ""
"\n"
"(You might want to write out this file under another name\n"
@@ -3820,12 +3832,12 @@ msgstr ""
"\n"
"(Podría querer guardar este fichero con otro nombre\n"
-#: memline.c:1157
+#: memline.c:1158
msgid "and run diff with the original file to check for changes)\n"
msgstr ""
"y ejecutar «diff» con el fichero original para comprobar los cambios)\n"
-#: memline.c:1158
+#: memline.c:1159
msgid ""
"Delete the .swp file afterwards.\n"
"\n"
@@ -3835,51 +3847,51 @@ msgstr ""
# use msg() to start the scrolling properly
#. use msg() to start the scrolling properly
-#: memline.c:1214
+#: memline.c:1215
msgid "Swap files found:"
msgstr "Se han encontrado ficheros de intercambio:"
-#: memline.c:1392
+#: memline.c:1393
msgid " In current directory:\n"
msgstr " En el directorio actual:\n"
-#: memline.c:1394
+#: memline.c:1395
msgid " Using specified name:\n"
msgstr " Usando el nombre especificado:\n"
-#: memline.c:1398
+#: memline.c:1399
msgid " In directory "
msgstr " En el directorio "
-#: memline.c:1416
+#: memline.c:1417
msgid " -- none --\n"
msgstr " -- ninguno --\n"
-#: memline.c:1488
+#: memline.c:1489
msgid " owned by: "
msgstr " propiedad de: "
-#: memline.c:1490
+#: memline.c:1491
msgid " dated: "
msgstr " de fecha: "
-#: memline.c:1494 memline.c:3684
+#: memline.c:1495 memline.c:3685
msgid " dated: "
msgstr " de fecha: "
-#: memline.c:1510
+#: memline.c:1511
msgid " [from Vim version 3.0]"
msgstr " [desde la versión 3.0 de Vim]"
-#: memline.c:1514
+#: memline.c:1515
msgid " [does not look like a Vim swap file]"
msgstr " [no parece un fichero de intercambio de Vim]"
-#: memline.c:1518
+#: memline.c:1519
msgid " file name: "
msgstr " nombre del fichero: "
-#: memline.c:1524
+#: memline.c:1525
msgid ""
"\n"
" modified: "
@@ -3887,15 +3899,15 @@ msgstr ""
"\n"
" modificado: "
-#: memline.c:1525
+#: memline.c:1526
msgid "YES"
msgstr "SI"
-#: memline.c:1525
+#: memline.c:1526
msgid "no"
msgstr "no"
-#: memline.c:1529
+#: memline.c:1530
msgid ""
"\n"
" user name: "
@@ -3903,11 +3915,11 @@ msgstr ""
"\n"
" nombre del usuario: "
-#: memline.c:1536
+#: memline.c:1537
msgid " host name: "
msgstr " nombre del «host»: "
-#: memline.c:1538
+#: memline.c:1539
msgid ""
"\n"
" host name: "
@@ -3915,7 +3927,7 @@ msgstr ""
"\n"
" nombre del «host»: "
-#: memline.c:1544
+#: memline.c:1545
msgid ""
"\n"
" process ID: "
@@ -3923,11 +3935,11 @@ msgstr ""
"\n"
" ID del proceso: "
-#: memline.c:1550
+#: memline.c:1551
msgid " (still running)"
msgstr " (aún en ejecución)"
-#: memline.c:1562
+#: memline.c:1563
msgid ""
"\n"
" [not usable with this version of Vim]"
@@ -3935,7 +3947,7 @@ msgstr ""
"\n"
" [no se peude usar con esta versión de Vim]"
-#: memline.c:1565
+#: memline.c:1566
msgid ""
"\n"
" [not usable on this computer]"
@@ -3943,92 +3955,92 @@ msgstr ""
"\n"
" [no se puede usar en este ordenador]"
-#: memline.c:1570
+#: memline.c:1571
msgid " [cannot be read]"
msgstr " [no se puede leer]"
-#: memline.c:1574
+#: memline.c:1575
msgid " [cannot be opened]"
msgstr " [no se puede abrir]"
-#: memline.c:1764
+#: memline.c:1765
msgid "E313: Cannot preserve, there is no swap file"
msgstr "E313: No puedo preservarlo, no existe un fichero de intercambio"
-#: memline.c:1817
+#: memline.c:1818
msgid "File preserved"
msgstr "fichero preservado"
-#: memline.c:1819
+#: memline.c:1820
msgid "E314: Preserve failed"
msgstr "E314: Falló la preservación del fichero"
-#: memline.c:1890
+#: memline.c:1891
#, c-format
msgid "E315: ml_get: invalid lnum: %ld"
msgstr "E315: «ml_get»: número de línea no válido: %ld"
-#: memline.c:1916
+#: memline.c:1917
#, c-format
msgid "E316: ml_get: cannot find line %ld"
msgstr "E316: «ml_get»: no puedo encontrar la línea %ld"
-#: memline.c:2306
+#: memline.c:2307
msgid "E317: pointer block id wrong 3"
msgstr "E317: El id del bloque de punteros está equivocado. 3"
-#: memline.c:2386
+#: memline.c:2387
msgid "stack_idx should be 0"
msgstr "«stack_idx» debería ser 0"
-#: memline.c:2448
+#: memline.c:2449
msgid "E318: Updated too many blocks?"
msgstr "E318: ¿Demasiados bloques actualizados?"
-#: memline.c:2630
+#: memline.c:2631
msgid "E317: pointer block id wrong 4"
msgstr "E317: El id del bloque de punteros está equivocado. 4"
-#: memline.c:2657
+#: memline.c:2658
msgid "deleted block 1?"
msgstr "¿bloque 1 suprimido?"
-#: memline.c:2857
+#: memline.c:2858
#, c-format
msgid "E320: Cannot find line %ld"
msgstr "E320: No puedo encontrar la línea %ld"
-#: memline.c:3100
+#: memline.c:3101
msgid "E317: pointer block id wrong"
msgstr "E317: El id del bloque de punteros está equivocado."
-#: memline.c:3116
+#: memline.c:3117
msgid "pe_line_count is zero"
msgstr "«pe_line_count» es cero"
-#: memline.c:3145
+#: memline.c:3146
#, c-format
msgid "E322: line number out of range: %ld past the end"
msgstr "E322: número de línea fuera de rango: %ld más allá del final"
-#: memline.c:3149
+#: memline.c:3150
#, c-format
msgid "E323: line count wrong in block %ld"
msgstr "E323: recuento de líneas erróneo en el bloque %ld"
-#: memline.c:3198
+#: memline.c:3199
msgid "Stack size increases"
msgstr "El tamaño de la pila aumenta"
-#: memline.c:3244
+#: memline.c:3245
msgid "E317: pointer block id wrong 2"
msgstr "E310: El id del bloque de punteros está equivocado. 2"
-#: memline.c:3674
+#: memline.c:3675
msgid "E325: ATTENTION"
msgstr "E325: ATENCIÓN"
-#: memline.c:3675
+#: memline.c:3676
msgid ""
"\n"
"Found a swap file by the name \""
@@ -4036,11 +4048,11 @@ msgstr ""
"\n"
"Se ha encontrado un fichero de intercambio con el nombre «"
-#: memline.c:3679
+#: memline.c:3680
msgid "While opening file \""
msgstr "al abrir el fichero «"
-#: memline.c:3688
+#: memline.c:3689
msgid " NEWER than swap file!\n"
msgstr " MÁS NUEVO que el fichero de intercambio!\n"
@@ -4048,7 +4060,7 @@ msgstr " MÁS NUEVO que el fichero de intercambio!\n"
# * other languages.
#. Some of these messages are long to allow translation to
#. * other languages.
-#: memline.c:3692
+#: memline.c:3693
msgid ""
"\n"
"(1) Another program may be editing the same file.\n"
@@ -4060,11 +4072,11 @@ msgstr ""
" De ser así, tenga cuidado de no acabar con dos\n"
" ejemplares diferentes del mismo fichero al hacer cambios.\n"
-#: memline.c:3693
+#: memline.c:3694
msgid " Quit, or continue with caution.\n"
msgstr " Salga del programa o continue con precaución.\n"
-#: memline.c:3694
+#: memline.c:3695
msgid ""
"\n"
"(2) An edit session for this file crashed.\n"
@@ -4072,11 +4084,11 @@ msgstr ""
"\n"
"(2) Falló una sesión de edición de este fichero.\n"
-#: memline.c:3695
+#: memline.c:3696
msgid " If this is the case, use \":recover\" or \"vim -r "
msgstr " Si es así, use «:recover» o «vim -r "
-#: memline.c:3697
+#: memline.c:3698
msgid ""
"\"\n"
" to recover the changes (see \":help recovery\").\n"
@@ -4084,11 +4096,11 @@ msgstr ""
"»\n"
" para recuperar los cambios (véa «:help recovery»).\n"
-#: memline.c:3698
+#: memline.c:3699
msgid " If you did this already, delete the swap file \""
msgstr " Si Ud. ya ha hecho esto, borre el fichero de intercambio «"
-#: memline.c:3700
+#: memline.c:3701
msgid ""
"\"\n"
" to avoid this message.\n"
@@ -4096,23 +4108,23 @@ msgstr ""
"»\n"
" para evitar este mensaje.\n"
-#: memline.c:3714 memline.c:3718
+#: memline.c:3715 memline.c:3719
msgid "Swap file \""
msgstr "¡El fichero de intercambio «"
-#: memline.c:3715 memline.c:3721
+#: memline.c:3716 memline.c:3722
msgid "\" already exists!"
msgstr "» ya existe!"
-#: memline.c:3724
+#: memline.c:3725
msgid "VIM - ATTENTION"
msgstr "VIM - ATENCIÓN"
-#: memline.c:3726
+#: memline.c:3727
msgid "Swap file already exists!"
msgstr "¡Ya existe un fichero de intercambio!"
-#: memline.c:3730
+#: memline.c:3731
msgid ""
"&Open Read-Only\n"
"&Edit anyway\n"
@@ -4126,7 +4138,7 @@ msgstr ""
"&Salir\n"
"&Abortar"
-#: memline.c:3732
+#: memline.c:3733
msgid ""
"&Open Read-Only\n"
"&Edit anyway\n"
@@ -4142,7 +4154,7 @@ msgstr ""
"&Abortar\n"
"&Borrarlo"
-#: memline.c:3789
+#: memline.c:3790
msgid "E326: Too many swap files found"
msgstr "E326: Se han encontrado demasiados ficheros de intercambio"
@@ -4252,11 +4264,11 @@ msgstr " (RET/BS: línea, ESPACIO/b: página, d/u: media página, q: salir)"
msgid " (RET: line, SPACE: page, d: half page, q: quit)"
msgstr " (RET: línea, ESPACIO: página, d: media página, q: salir)"
-#: message.c:2982 message.c:2997
+#: message.c:2988 message.c:3003
msgid "Question"
msgstr "Pregunta"
-#: message.c:2984
+#: message.c:2990
msgid ""
"&Yes\n"
"&No"
@@ -4264,7 +4276,7 @@ msgstr ""
"&Si\n"
"&No"
-#: message.c:3017
+#: message.c:3023
msgid ""
"&Yes\n"
"&No\n"
@@ -4278,16 +4290,16 @@ msgstr ""
"&Descartar todo\n"
"&Cancelar"
-#: message.c:3058
+#: message.c:3064
msgid "Save File dialog"
msgstr "Diálogo de Guardar Fichero"
-#: message.c:3060
+#: message.c:3066
msgid "Open File dialog"
msgstr "Diálogo de Abrir Fichero"
#. TODO: non-GUI file selector here
-#: message.c:3131
+#: message.c:3137
msgid "E338: Sorry, no file browser in console mode"
msgstr "E338: Lo siento, no hay hojeador de ficheros en modo de consola"
@@ -4465,35 +4477,35 @@ msgstr "leido del socket Netbeans"
msgid "E658: NetBeans connection lost for buffer %ld"
msgstr "E658: Se perdió la conexión NetBeans para el «buffer» %ld."
-#: normal.c:2980
+#: normal.c:2983
msgid "Warning: terminal cannot highlight"
msgstr "Advertencia: el terminal no puede realzar el texto"
-#: normal.c:3276
+#: normal.c:3279
msgid "E348: No string under cursor"
msgstr "E348: No hay ninguna cadena bajo el cursor"
-#: normal.c:3278
+#: normal.c:3281
msgid "E349: No identifier under cursor"
msgstr "E349: No hay ningún identificador bajo el cursor"
-#: normal.c:4519
+#: normal.c:4522
msgid "E352: Cannot erase folds with current 'foldmethod'"
msgstr "E352: No puedo borar pliegues con el «folmethod» actual."
-#: normal.c:6740
+#: normal.c:6743
msgid "E664: changelist is empty"
msgstr "E664: La lista de cambios está vacía."
-#: normal.c:6742
+#: normal.c:6745
msgid "E662: At start of changelist"
msgstr "E662: Al comienzo de la lista de cambios."
-#: normal.c:6744
+#: normal.c:6747
msgid "E663: At end of changelist"
msgstr "E663: Al final de la lista de cambios."
-#: normal.c:8005
+#: normal.c:8009
msgid "Type :quit<Enter> to exit Vim"
msgstr "Escriba :quit<enter> para terminar la ejecución de Vim."
@@ -4533,41 +4545,41 @@ msgstr "%ld líneas sangradas"
# Debe mostrar la línea de comandos.
#. must display the prompt
-#: ops.c:1675
+#: ops.c:1688
msgid "cannot yank; delete anyway"
msgstr "No puedo hacer un «yank»; ¿Lo borro de todas formas?"
-#: ops.c:2261
+#: ops.c:2274
msgid "1 line changed"
msgstr "1 línea cambiada"
-#: ops.c:2263
+#: ops.c:2276
#, c-format
msgid "%ld lines changed"
msgstr "%ld líneas cambiadas"
-#: ops.c:2647
+#: ops.c:2660
#, c-format
msgid "freeing %ld lines"
msgstr "liberando %ld líneas"
-#: ops.c:2928
+#: ops.c:2941
msgid "1 line yanked"
msgstr "1 línea copiada"
-#: ops.c:2930
+#: ops.c:2943
#, c-format
msgid "%ld lines yanked"
msgstr "%ld líneas copiadas"
-#: ops.c:3215
+#: ops.c:3228
#, c-format
msgid "E353: Nothing in register %s"
msgstr "E353: No hay nada en el registro %s"
# Highlight title
#. Highlight title
-#: ops.c:3766
+#: ops.c:3779
msgid ""
"\n"
"--- Registers ---"
@@ -4575,11 +4587,11 @@ msgstr ""
"\n"
"--- Registros ---"
-#: ops.c:5075
+#: ops.c:5088
msgid "Illegal register name"
msgstr "Nombre de registro ilegal"
-#: ops.c:5163
+#: ops.c:5176
msgid ""
"\n"
"# Registers:\n"
@@ -4587,34 +4599,34 @@ msgstr ""
"\n"
"# Registros:\n"
-#: ops.c:5213
+#: ops.c:5226
#, c-format
msgid "E574: Unknown register type %d"
msgstr "E574: Registro desconocido de tipo «%d»."
-#: ops.c:5698
+#: ops.c:5711
#, c-format
msgid "E354: Invalid register name: '%s'"
msgstr "E354: Nombre de registro no válido: '%s'"
-#: ops.c:6058
+#: ops.c:6071
#, c-format
msgid "%ld Cols; "
msgstr "%ld Cols; "
-#: ops.c:6065
+#: ops.c:6078
#, c-format
msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes"
msgstr ""
"Seleccionadas %s%ld de %ld Líneas; %ld de %ld Palabras; %ld de %ld Caracteres"
-#: ops.c:6081
+#: ops.c:6094
#, c-format
msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld"
msgstr ""
"Col %s de %s; Línea %ld de %ld; Palabra %ld de %ld; Carácter %ld de %ld"
-#: ops.c:6092
+#: ops.c:6105
#, c-format
msgid "(+%ld for BOM)"
msgstr "(+%ld para BOM)"
@@ -4740,48 +4752,48 @@ msgstr "E536: Se requiere una coma."
msgid "E537: 'commentstring' must be empty or contain %s"
msgstr "E537: «commentstring» debe estar vacio o contener «%s»."
-#: option.c:5679
+#: option.c:5682
msgid "E538: No mouse support"
msgstr "E538: No hay soporte para el ratón."
-#: option.c:5947
+#: option.c:5950
msgid "E540: Unclosed expression sequence"
msgstr "E540: SEcuencia de expresión sin cerrar."
-#: option.c:5951
+#: option.c:5954
msgid "E541: too many items"
msgstr "E541: Demasiados ítems."
-#: option.c:5953
+#: option.c:5956
msgid "E542: unbalanced groups"
msgstr "E542: Grupos desbalanceados."
-#: option.c:6193
+#: option.c:6196
msgid "E590: A preview window already exists"
msgstr "E590: Ya existe una ventana de visualización previa."
-#: option.c:6450
+#: option.c:6453
msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'"
msgstr ""
"W17: El uso de árabe requiere la codificación UTF-8, use «:set encoding=utf-"
"8» primero."
-#: option.c:6783
+#: option.c:6786
#, c-format
msgid "E593: Need at least %d lines"
msgstr "E593: Necesita al menos %d líneas."
-#: option.c:6793
+#: option.c:6796
#, c-format
msgid "E594: Need at least %d columns"
msgstr "E594: Necesita al menos %d columnas."
-#: option.c:7100
+#: option.c:7103
#, c-format
msgid "E355: Unknown option: %s"
msgstr "E355: Opción desconocida: %s"
-#: option.c:7220
+#: option.c:7223
msgid ""
"\n"
"--- Terminal codes ---"
@@ -4789,7 +4801,7 @@ msgstr ""
"\n"
"--- Códigos de terminal ---"
-#: option.c:7222
+#: option.c:7225
msgid ""
"\n"
"--- Global option values ---"
@@ -4797,7 +4809,7 @@ msgstr ""
"\n"
"--- Valores de las opciones globales ---"
-#: option.c:7224
+#: option.c:7227
msgid ""
"\n"
"--- Local option values ---"
@@ -4805,7 +4817,7 @@ msgstr ""
"\n"
"--- Valores de las opciones locales ---"
-#: option.c:7226
+#: option.c:7229
msgid ""
"\n"
"--- Options ---"
@@ -4813,16 +4825,16 @@ msgstr ""
"\n"
"--- Opciones ---"
-#: option.c:7932
+#: option.c:7935
msgid "E356: get_varp ERROR"
msgstr "E356: ERROR de «get_varp»"
-#: option.c:8903
+#: option.c:8906
#, c-format
msgid "E357: 'langmap': Matching character missing for %s"
msgstr "E357: «langmap»: falta carácter coincidente para %s"
-#: option.c:8937
+#: option.c:8940
#, c-format
msgid "E358: 'langmap': Extra characters after semicolon: %s"
msgstr "E358: «langmap»: caracteres extra después del punto y coma: %s"
@@ -4857,84 +4869,84 @@ msgstr "No puedo crear "
msgid "Vim exiting with %d\n"
msgstr "Saliendo de Vim con %d\n"
-#: os_amiga.c:937
+#: os_amiga.c:941
msgid "cannot change console mode ?!\n"
msgstr "¡¿No puedo cambiar el modo de la consola?!\n"
-#: os_amiga.c:1003
+#: os_amiga.c:1012
msgid "mch_get_shellsize: not a console??\n"
msgstr "«mch_get_shellsize»: ¿No es una consola?\n"
# if Vim opened a window: Executing a shell may cause crashes
#. if Vim opened a window: Executing a shell may cause crashes
-#: os_amiga.c:1152
+#: os_amiga.c:1161
msgid "E360: Cannot execute shell with -f option"
msgstr "E360: No se puede ejecutar la «shell» con la opción -f"
-#: os_amiga.c:1193 os_amiga.c:1283
+#: os_amiga.c:1202 os_amiga.c:1292
msgid "Cannot execute "
msgstr "No puedo ejecutarlo "
-#: os_amiga.c:1196 os_amiga.c:1293
+#: os_amiga.c:1205 os_amiga.c:1302
msgid "shell "
msgstr "«shell» "
-#: os_amiga.c:1216 os_amiga.c:1318
+#: os_amiga.c:1225 os_amiga.c:1327
msgid " returned\n"
msgstr " devuelto\n"
-#: os_amiga.c:1459
+#: os_amiga.c:1468
msgid "ANCHOR_BUF_SIZE too small."
msgstr "«ANCHOR_BUF_SIZE» demasiado pequeño"
-#: os_amiga.c:1463
+#: os_amiga.c:1472
msgid "I/O ERROR"
msgstr "ERROR E/S"
-#: os_mswin.c:539
+#: os_mswin.c:548
msgid "...(truncated)"
msgstr "...(truncado)"
-#: os_mswin.c:641
+#: os_mswin.c:650
msgid "'columns' is not 80, cannot execute external commands"
msgstr "'columns' no es 80, no se pueden ejecutar comandos externos"
-#: os_mswin.c:1973
+#: os_mswin.c:1982
msgid "E237: Printer selection failed"
msgstr "E237: FAlló la selectión de impresora."
-#: os_mswin.c:2013
+#: os_mswin.c:2022
#, c-format
msgid "to %s on %s"
msgstr "para %s en %s"
-#: os_mswin.c:2028
+#: os_mswin.c:2037
#, c-format
msgid "E613: Unknown printer font: %s"
msgstr "E613: Fuente de impresión desconocida en la impresora: %s"
-#: os_mswin.c:2077 os_mswin.c:2087
+#: os_mswin.c:2086 os_mswin.c:2096
#, c-format
msgid "E238: Print error: %s"
msgstr "E238: Error de impresión: %s"
-#: os_mswin.c:2088
+#: os_mswin.c:2097
msgid "Unknown"
msgstr "Desconocido"
-#: os_mswin.c:2115
+#: os_mswin.c:2124
#, c-format
msgid "Printing '%s'"
msgstr "Imprimiendo «%s»"
-#: os_mswin.c:3204
+#: os_mswin.c:3213
#, c-format
msgid "E244: Illegal charset name \"%s\" in font name \"%s\""
msgstr ""
"E244: El nombre del conjunto de caracteres «%s» no es válido en el nombre de "
"la fuente de impresión «%s»"
-#: os_mswin.c:3212
+#: os_mswin.c:3221
#, c-format
msgid "E245: Illegal char '%c' in font name \"%s\""
msgstr "E245: Carácter «%c» ilegal en el nombre de la fuente de impresión «%s»"
@@ -4969,15 +4981,15 @@ msgstr ""
"\n"
"Vim: Hay un error de X11\n"
-#: os_unix.c:1334
+#: os_unix.c:1338
msgid "Testing the X display failed"
msgstr "Falló la prueba del sistema X11"
-#: os_unix.c:1473
+#: os_unix.c:1477
msgid "Opening the X display timed out"
msgstr "El «display» de X no abrió a tiempo."
-#: os_unix.c:3230 os_unix.c:3910
+#: os_unix.c:3234 os_unix.c:3914
msgid ""
"\n"
"Cannot execute shell "
@@ -4985,7 +4997,7 @@ msgstr ""
"\n"
"No puedo ejecutar la «shell» "
-#: os_unix.c:3278
+#: os_unix.c:3282
msgid ""
"\n"
"Cannot execute shell sh\n"
@@ -4993,7 +5005,7 @@ msgstr ""
"\n"
"No puedo ejecutar la «shell» «sh»\n"
-#: os_unix.c:3282 os_unix.c:3916
+#: os_unix.c:3286 os_unix.c:3920
msgid ""
"\n"
"shell returned "
@@ -5001,7 +5013,7 @@ msgstr ""
"\n"
"La «shell» ha devuelto "
-#: os_unix.c:3417
+#: os_unix.c:3421
msgid ""
"\n"
"Cannot create pipes\n"
@@ -5009,7 +5021,7 @@ msgstr ""
"\n"
"No puedo crear «pipes»\n"
-#: os_unix.c:3432
+#: os_unix.c:3436
msgid ""
"\n"
"Cannot fork\n"
@@ -5017,7 +5029,7 @@ msgstr ""
"\n"
"No puedo usar «fork»\n"
-#: os_unix.c:3923
+#: os_unix.c:3927
msgid ""
"\n"
"Command terminated\n"
@@ -5025,27 +5037,27 @@ msgstr ""
"\n"
"Comando finalizado\n"
-#: os_unix.c:4187 os_unix.c:4312 os_unix.c:5978
+#: os_unix.c:4191 os_unix.c:4316 os_unix.c:5982
msgid "XSMP lost ICE connection"
msgstr "XSMP perdió la conexión ICE."
-#: os_unix.c:5561
+#: os_unix.c:5565
msgid "Opening the X display failed"
msgstr "Falló la apertura de la pantalla X11"
-#: os_unix.c:5883
+#: os_unix.c:5887
msgid "XSMP handling save-yourself request"
msgstr "XSMP está manejando una solicitud de «guardelo usted mismo»."
-#: os_unix.c:6002
+#: os_unix.c:6006
msgid "XSMP opening connection"
msgstr "XSMP está abriendo una conexión."
-#: os_unix.c:6021
+#: os_unix.c:6025
msgid "XSMP ICE connection watch failed"
msgstr "XSMP Falló el monitoreo de la conexión ICE."
-#: os_unix.c:6041
+#: os_unix.c:6045
#, c-format
msgid "XSMP SmcOpenConnection failed: %s"
msgstr "XSMP SmcOpenConnection ha fallado: %s."
@@ -5312,75 +5324,75 @@ msgstr "Subcoincidencias externas:\n"
msgid "+--%3ld lines folded "
msgstr "+--%3ld líneas plegadas"
-#: screen.c:7996
+#: screen.c:8000
msgid " VREPLACE"
msgstr " REEMPLAZAMIENTO VIRTUAL"
-#: screen.c:8000
+#: screen.c:8004
msgid " REPLACE"
msgstr " REEMPLAZAR"
-#: screen.c:8005
+#: screen.c:8009
msgid " REVERSE"
msgstr " INVERTIR"
-#: screen.c:8007
+#: screen.c:8011
msgid " INSERT"
msgstr " INSERTAR"
-#: screen.c:8010
+#: screen.c:8014
msgid " (insert)"
msgstr " (insertar)"
-#: screen.c:8012
+#: screen.c:8016
msgid " (replace)"
msgstr " (reemplazar)"
-#: screen.c:8014
+#: screen.c:8018
msgid " (vreplace)"
msgstr " (reemplazamiento virtual)"
-#: screen.c:8017
+#: screen.c:8021
msgid " Hebrew"
msgstr " Hebreo"
-#: screen.c:8028
+#: screen.c:8032
msgid " Arabic"
msgstr " árabe"
-#: screen.c:8031
+#: screen.c:8035
msgid " (lang)"
msgstr " (idioma)"
-#: screen.c:8035
+#: screen.c:8039
msgid " (paste)"
msgstr " (pegar)"
-#: screen.c:8048
+#: screen.c:8052
msgid " VISUAL"
msgstr " VISUAL"
-#: screen.c:8049
+#: screen.c:8053
msgid " VISUAL LINE"
msgstr " LÍNEA VISUAL"
-#: screen.c:8050
+#: screen.c:8054
msgid " VISUAL BLOCK"
msgstr " BLOQUE VISUAL"
-#: screen.c:8051
+#: screen.c:8055
msgid " SELECT"
msgstr " SELECCIONAR"
-#: screen.c:8052
+#: screen.c:8056
msgid " SELECT LINE"
msgstr " SELECCIONAR LÍNEA"
-#: screen.c:8053
+#: screen.c:8057
msgid " SELECT BLOCK"
msgstr " SELECCIONAR BLOQUE"
-#: screen.c:8068 screen.c:8131
+#: screen.c:8072 screen.c:8135
msgid "recording"
msgstr "grabando"
@@ -5407,58 +5419,58 @@ msgstr "E384: La búsqueda ha llegado al PRINCIPIO sin coincidencias con: %s"
msgid "E385: search hit BOTTOM without match for: %s"
msgstr "E385: La búsqueda ha llegado al FINAL sin coincidencias con: %s"
-#: search.c:1249
+#: search.c:1250
msgid "E386: Expected '?' or '/' after ';'"
msgstr "E386: Esperaba «?» o «/» después de «;»"
-#: search.c:3759
+#: search.c:3769
msgid " (includes previously listed match)"
msgstr " (incluye la coincidencia mostrada previamente)."
# cursor at status line
#. cursor at status line
-#: search.c:3779
+#: search.c:3789
msgid "--- Included files "
msgstr "--- Ficheros incluidos "
-#: search.c:3781
+#: search.c:3791
msgid "not found "
msgstr "no lo encontré"
-#: search.c:3782
+#: search.c:3792
msgid "in path ---\n"
msgstr "en la ruta ---\n"
-#: search.c:3839
+#: search.c:3849
msgid " (Already listed)"
msgstr " (Ya lo enumeré)"
-#: search.c:3841
+#: search.c:3851
msgid " NOT FOUND"
msgstr " NO SE ENCONTRÓ"
-#: search.c:3893
+#: search.c:3903
#, c-format
msgid "Scanning included file: %s"
msgstr "Explorando el fichero incluido: %s"
-#: search.c:4111
+#: search.c:4121
msgid "E387: Match is on current line"
msgstr "E387: La coincidencia está en la línea en curso."
-#: search.c:4254
+#: search.c:4264
msgid "All included files were found"
msgstr "Se han encontrado todos los ficheros incluidos"
-#: search.c:4256
+#: search.c:4266
msgid "No included files"
msgstr "No hay ficheros incluidos"
-#: search.c:4272
+#: search.c:4282
msgid "E388: Couldn't find definition"
msgstr "E388: No se pudo encontrar la definición"
-#: search.c:4274
+#: search.c:4284
msgid "E389: Couldn't find pattern"
msgstr "E389: No se pudo encontrar el patrón"
@@ -5898,7 +5910,7 @@ msgstr "E440: falta la línea deshacer."
# Only MS VC 4.1 and earlier can do Win32s
#. Only MS VC 4.1 and earlier can do Win32s
-#: version.c:739
+#: version.c:721
msgid ""
"\n"
"MS-Windows 16/32 bit GUI version"
@@ -5906,7 +5918,7 @@ msgstr ""
"\n"
"Versión GUI de 16/32 bits para MS-Windows"
-#: version.c:741
+#: version.c:723
msgid ""
"\n"
"MS-Windows 32 bit GUI version"
@@ -5914,15 +5926,15 @@ msgstr ""
"\n"
"Versión GUI de 32 bits para MS-Windows"
-#: version.c:744
+#: version.c:726
msgid " in Win32s mode"
msgstr " en modo Win32s"
-#: version.c:746
+#: version.c:728
msgid " with OLE support"
msgstr " con soporte para OLE"
-#: version.c:749
+#: version.c:731
msgid ""
"\n"
"MS-Windows 32 bit console version"
@@ -5930,7 +5942,7 @@ msgstr ""
"\n"
"Versión de 32 bits para consola de MS-Windows"
-#: version.c:753
+#: version.c:735
msgid ""
"\n"
"MS-Windows 16 bit version"
@@ -5938,7 +5950,7 @@ msgstr ""
"\n"
"Versión de 16 bits para MS-Windows"
-#: version.c:757
+#: version.c:739
msgid ""
"\n"
"32 bit MS-DOS version"
@@ -5946,7 +5958,7 @@ msgstr ""
"\n"
"Versión de 32 bits para MS-DOS"
-#: version.c:759
+#: version.c:741
msgid ""
"\n"
"16 bit MS-DOS version"
@@ -5954,7 +5966,7 @@ msgstr ""
"\n"
"Versión de 16 bits para MS-DOS"
-#: version.c:765
+#: version.c:747
msgid ""
"\n"
"MacOS X (unix) version"
@@ -5962,7 +5974,7 @@ msgstr ""
"\n"
"Versión X (unix) para MacOS"
-#: version.c:767
+#: version.c:749
msgid ""
"\n"
"MacOS X version"
@@ -5970,7 +5982,7 @@ msgstr ""
"\n"
"Versión X para MacOS"
-#: version.c:770
+#: version.c:752
msgid ""
"\n"
"MacOS version"
@@ -5978,7 +5990,7 @@ msgstr ""
"\n"
"Versión para MacOS"
-#: version.c:775
+#: version.c:757
msgid ""
"\n"
"RISC OS version"
@@ -5986,7 +5998,7 @@ msgstr ""
"\n"
"Versión para RISC OS"
-#: version.c:785
+#: version.c:767
msgid ""
"\n"
"Included patches: "
@@ -5994,11 +6006,11 @@ msgstr ""
"\n"
"Parches incluidos: "
-#: version.c:811 version.c:1179
+#: version.c:793 version.c:1161
msgid "Modified by "
msgstr "Modificado por "
-#: version.c:818
+#: version.c:800
msgid ""
"\n"
"Compiled "
@@ -6006,11 +6018,11 @@ msgstr ""
"\n"
"Compilado "
-#: version.c:821
+#: version.c:803
msgid "by "
msgstr "por "
-#: version.c:833
+#: version.c:815
msgid ""
"\n"
"Huge version "
@@ -6018,7 +6030,7 @@ msgstr ""
"\n"
"Versión «enorme» "
-#: version.c:836
+#: version.c:818
msgid ""
"\n"
"Big version "
@@ -6026,7 +6038,7 @@ msgstr ""
"\n"
"Versión «grande» "
-#: version.c:839
+#: version.c:821
msgid ""
"\n"
"Normal version "
@@ -6034,7 +6046,7 @@ msgstr ""
"\n"
"Versión «normal» "
-#: version.c:842
+#: version.c:824
msgid ""
"\n"
"Small version "
@@ -6042,7 +6054,7 @@ msgstr ""
"\n"
"Versión «pequeña» "
-#: version.c:844
+#: version.c:826
msgid ""
"\n"
"Tiny version "
@@ -6050,233 +6062,233 @@ msgstr ""
"\n"
"Versión «diminuta» "
-#: version.c:850
+#: version.c:832
msgid "without GUI."
msgstr "sin GUI."
-#: version.c:855
+#: version.c:837
msgid "with GTK2-GNOME GUI."
msgstr "con GUI GTK2-GNOME."
-#: version.c:857
+#: version.c:839
msgid "with GTK-GNOME GUI."
msgstr "con GUI GTK-GNOME."
-#: version.c:861
+#: version.c:843
msgid "with GTK2 GUI."
msgstr "con GUI GTK2."
-#: version.c:863
+#: version.c:845
msgid "with GTK GUI."
msgstr "con GUI GTK."
-#: version.c:868
+#: version.c:850
msgid "with X11-Motif GUI."
msgstr "con GUI X11-Motif."
-#: version.c:872
+#: version.c:854
msgid "with X11-neXtaw GUI."
msgstr "con GUI X11-neXtaw."
-#: version.c:874
+#: version.c:856
msgid "with X11-Athena GUI."
msgstr "con GUI X11-Athena."
-#: version.c:878
+#: version.c:860
msgid "with BeOS GUI."
msgstr "con GUI para BeOS."
-#: version.c:881
+#: version.c:863
msgid "with Photon GUI."
msgstr "con GUI para Photon."
-#: version.c:884
+#: version.c:866
msgid "with GUI."
msgstr "con GUI."
-#: version.c:887
+#: version.c:869
msgid "with Carbon GUI."
msgstr "con Carbon GUI."
-#: version.c:890
+#: version.c:872
msgid "with Cocoa GUI."
msgstr "con Cocoa GUI."
-#: version.c:893
+#: version.c:875
msgid "with (classic) GUI."
msgstr "con GUI (clásico)."
-#: version.c:904
+#: version.c:886
msgid " Features included (+) or not (-):\n"
msgstr " Aspectos incluidos (+) o no (-):\n"
-#: version.c:916
+#: version.c:898
msgid " system vimrc file: \""
msgstr " fichero «vimrc» del sistema: \""
-#: version.c:921
+#: version.c:903
msgid " user vimrc file: \""
msgstr " fichero «vimrc» del usuario: \""
-#: version.c:926
+#: version.c:908
msgid " 2nd user vimrc file: \""
msgstr " 2º fichero «vimrc» del usuario: \""
-#: version.c:931
+#: version.c:913
msgid " 3rd user vimrc file: \""
msgstr " 3er fichero «vimrc» del usuario: \""
-#: version.c:936
+#: version.c:918
msgid " user exrc file: \""
msgstr " fichero «exrc» del usuario: \""
-#: version.c:941
+#: version.c:923
msgid " 2nd user exrc file: \""
msgstr " 2º fichero «exrc» del usuario: \""
-#: version.c:947
+#: version.c:929
msgid " system gvimrc file: \""
msgstr " fichero «gvimrc» del sistema: \""
-#: version.c:951
+#: version.c:933
msgid " user gvimrc file: \""
msgstr " fichero «gvimrc» del usuario: \""
-#: version.c:955
+#: version.c:937
msgid "2nd user gvimrc file: \""
msgstr " 2º fichero «gvimrc» del usuario: \""
-#: version.c:960
+#: version.c:942
msgid "3rd user gvimrc file: \""
msgstr "3er fichero «gvimrc» del usuario: \""
-#: version.c:967
+#: version.c:949
msgid " system menu file: \""
msgstr " fichero de menú del sistema: \""
-#: version.c:975
+#: version.c:957
msgid " fall-back for $VIM: \""
msgstr " localización de $VIM: \""
-#: version.c:981
+#: version.c:963
msgid " f-b for $VIMRUNTIME: \""
msgstr " localización de $VIMRUNTIME: \""
-#: version.c:985
+#: version.c:967
msgid "Compilation: "
msgstr "Compilación: "
-#: version.c:991
+#: version.c:973
msgid "Compiler: "
msgstr "Compilador: "
-#: version.c:996
+#: version.c:978
msgid "Linking: "
msgstr "Enlazado: "
-#: version.c:1001
+#: version.c:983
msgid " DEBUG BUILD"
msgstr " COMPILACIÓN CON SÍMBOLOS DE DEPURACIÓN"
-#: version.c:1040
+#: version.c:1022
msgid "VIM - Vi IMproved"
msgstr "VIM - VI Mejorado"
-#: version.c:1042
+#: version.c:1024
msgid "version "
msgstr "versión "
-#: version.c:1043
+#: version.c:1025
msgid "by Bram Moolenaar et al."
msgstr "por Bram Moolenaar et al."
-#: version.c:1047
+#: version.c:1029
msgid "Vim is open source and freely distributable"
msgstr "Vim es código abierto y se puede distribuir libremente"
-#: version.c:1049
+#: version.c:1031
msgid "Help poor children in Uganda!"
msgstr "¡Ayude a los niños pobres de Uganda!"
-#: version.c:1050
+#: version.c:1032
msgid "type :help iccf<Enter> for information "
msgstr "escriba «:help iccf<Intro>» para más información "
-#: version.c:1052
+#: version.c:1034
msgid "type :q<Enter> to exit "
msgstr "escriba «:q<Intro>» para salir "
-#: version.c:1053
+#: version.c:1035
msgid "type :help<Enter> or <F1> for on-line help"
msgstr "escriba «:help<Intro> o <F1>» para obtener ayuda "
-#: version.c:1054
+#: version.c:1036
msgid "type :help version6<Enter> for version info"
msgstr "escriba «:help version6<Intro>» para información de la versión"
-#: version.c:1057
+#: version.c:1039
msgid "Running in Vi compatible mode"
msgstr "Ejecutando en modo compatible con Vi"
-#: version.c:1058
+#: version.c:1040
msgid "type :set nocp<Enter> for Vim defaults"
msgstr "escriba «:set nocp<Intro>» para los valores predefinidos de Vim"
-#: version.c:1059
+#: version.c:1041
msgid "type :help cp-default<Enter> for info on this"
msgstr "escriba «:help cp-default<Intro>» para más información"
-#: version.c:1074
+#: version.c:1056
msgid "menu Help->Orphans for information "
msgstr "menú Ayuda->Ayude a los niños huérfanos para más información "
-#: version.c:1076
+#: version.c:1058
msgid "Running modeless, typed text is inserted"
msgstr "Ejecución no modal, el texto escrito se inserta directamente"
-#: version.c:1077
+#: version.c:1059
msgid "menu Edit->Global Settings->Toggle Insert Mode "
msgstr "menu Editar->Opciones globales->Activar/Desactivar modo de inserción"
-#: version.c:1078
+#: version.c:1060
msgid " for two modes "
msgstr " para dos modos "
-#: version.c:1082
+#: version.c:1064
msgid "menu Edit->Global Settings->Toggle Vi Compatible"
msgstr ""
"menu Editar->Opciones globales->Activar/Desactivar compatibilidad con Vi"
-#: version.c:1083
+#: version.c:1065
msgid " for Vim defaults "
msgstr ""
" para los valores predeterminados de Vim"
-#: version.c:1130
+#: version.c:1112
msgid "Sponsor Vim development!"
msgstr "¡Patrocine el desarrollo de Vim!"
-#: version.c:1131
+#: version.c:1113
msgid "Become a registered Vim user!"
msgstr "¡Conviertase en un usuario registrado de Vim!"
-#: version.c:1134
+#: version.c:1116
msgid "type :help sponsor<Enter> for information "
msgstr "escriba :help sponsor<Intro> para más información "
-#: version.c:1135
+#: version.c:1117
msgid "type :help register<Enter> for information "
msgstr "escriba «:help register<Intro>» para más información "
-#: version.c:1137
+#: version.c:1119
msgid "menu Help->Sponsor/Register for information "
msgstr "menu Ayuda->Benefactor/Regístrese para más información."
-#: version.c:1147
+#: version.c:1129
msgid "WARNING: Windows 95/98/ME detected"
msgstr "AVISO: se ha detectado Windows 95/98/ME"
-#: version.c:1150
+#: version.c:1132
msgid "type :help windows95<Enter> for info on this"
msgstr "escriba: «:help windows95<Intro>» para más información"
@@ -6313,7 +6325,7 @@ msgstr "E446: No hay un nombre de fichero bajo el cursor"
msgid "E447: Can't find file \"%s\" in path"
msgstr "E447: No se puede encontrar el fichero «%s» en la ruta"
-#: if_perl.xs:326 globals.h:1236
+#: if_perl.xs:326 globals.h:1241
#, c-format
msgid "E370: Could not load library %s"
msgstr "E370: No se pudo cargar la biblioteca dinámica %s."
@@ -6368,7 +6380,7 @@ msgstr "error en gvimext.dll"
msgid "Path length too long!"
msgstr "¡La ruta de acceso es demasiado larga!"
-#: globals.h:1026
+#: globals.h:1031
msgid "--No lines in buffer--"
msgstr "--No hay líneas en el buffer--"
@@ -6378,395 +6390,395 @@ msgstr "--No hay líneas en el buffer--"
#. * The error messages that can be shared are included here.
#. * Excluded are errors that are only used once and debugging messages.
#.
-#: globals.h:1189
+#: globals.h:1194
msgid "E470: Command aborted"
msgstr "E470: El comando abortó."
-#: globals.h:1190
+#: globals.h:1195
msgid "E471: Argument required"
msgstr "E471: Se requiere un argumento."
-#: globals.h:1191
+#: globals.h:1196
msgid "E10: \\ should be followed by /, ? or &"
msgstr "E10: \\ debería ir seguido de /, ? o &."
-#: globals.h:1193
+#: globals.h:1198
msgid "E11: Invalid in command-line window; <CR> executes, CTRL-C quits"
msgstr ""
"E11: No es válido en la ventana de la línea de comandos: <CR> ejecuta, CTRL-"
"C sale."
-#: globals.h:1195
+#: globals.h:1200
msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search"
msgstr ""
"E12: Comando no permitido desde exrc/vimrc en el dir en curso o al buscar "
"«tags»"
-#: globals.h:1197
+#: globals.h:1202
msgid "E171: Missing :endif"
msgstr "E171: Falta «:endif»"
-#: globals.h:1198
+#: globals.h:1203
msgid "E600: Missing :endtry"
msgstr "E600: Falta «:endtry»"
-#: globals.h:1199
+#: globals.h:1204
msgid "E170: Missing :endwhile"
msgstr "E170: Falta «:endwhile»"
-#: globals.h:1200
+#: globals.h:1205
msgid "E588: :endwhile without :while"
msgstr "E588: «:endwhile» sin «:while»."
-#: globals.h:1202
+#: globals.h:1207
msgid "E13: File exists (add ! to override)"
msgstr "E13: El fichero ya existe (use ! para sobreescribir)"
-#: globals.h:1203
+#: globals.h:1208
msgid "E472: Command failed"
msgstr "E472: Falló el comando"
-#: globals.h:1205
+#: globals.h:1210
#, c-format
msgid "E234: Unknown fontset: %s"
msgstr "E234: Conjunto de fuentes de impresión desconocido: %s"
-#: globals.h:1209
+#: globals.h:1214
#, c-format
msgid "E235: Unknown font: %s"
msgstr "E235: Fuente de impresión desconocida: %s"
-#: globals.h:1212
+#: globals.h:1217
#, c-format
msgid "E236: Font \"%s\" is not fixed-width"
msgstr "E236: La fuente de impresión «%s» no es de ancho fijo"
-#: globals.h:1214
+#: globals.h:1219
msgid "E473: Internal error"
msgstr "E473: Error interno."
-#: globals.h:1215
+#: globals.h:1220
msgid "Interrupted"
msgstr "Interrumpido"
-#: globals.h:1216
+#: globals.h:1221
msgid "E14: Invalid address"
msgstr "E14: Dirección no válida"
-#: globals.h:1217
+#: globals.h:1222
msgid "E474: Invalid argument"
msgstr "E474: argumento no válido"
-#: globals.h:1218
+#: globals.h:1223
#, c-format
msgid "E475: Invalid argument: %s"
msgstr "E475: Argumento no válido: %s."
-#: globals.h:1220
+#: globals.h:1225
#, c-format
msgid "E15: Invalid expression: %s"
msgstr "E15: Expresión no válida: %s"
-#: globals.h:1222
+#: globals.h:1227
msgid "E16: Invalid range"
msgstr "E16: Rango no válido"
-#: globals.h:1223
+#: globals.h:1228
msgid "E476: Invalid command"
msgstr "E476: Nombre de comando no válido"
-#: globals.h:1225
+#: globals.h:1230
#, c-format
msgid "E17: \"%s\" is a directory"
msgstr "E17: «%s» es un directorio"
-#: globals.h:1228
+#: globals.h:1233
msgid "E18: Unexpected characters before '='"
msgstr "E18: Caracteres inesperados delante de «=»"
-#: globals.h:1231
+#: globals.h:1236
#, c-format
msgid "E364: Library call failed for \"%s()\""
msgstr "E364: Falló la llamada a biblioteca para «%s»()"
-#: globals.h:1237
+#: globals.h:1242
#, c-format
msgid "E448: Could not load library function %s"
msgstr "E448: Could not load library function %s"
-#: globals.h:1239
+#: globals.h:1244
msgid "E19: Mark has invalid line number"
msgstr "E19: La marca tiene un número de línea no válido"
-#: globals.h:1240
+#: globals.h:1245
msgid "E20: Mark not set"
msgstr "E20: Marca sin poner"
-#: globals.h:1241
+#: globals.h:1246
msgid "E21: Cannot make changes, 'modifiable' is off"
msgstr "E21: No se pueden hacer cambios, «modifiable» está desactivado"
-#: globals.h:1242
+#: globals.h:1247
msgid "E22: Scripts nested too deep"
msgstr "E22: Demasiados «scripts» anidados"
-#: globals.h:1243
+#: globals.h:1248
msgid "E23: No alternate file"
msgstr "E23: No hay un fichero alternativo"
-#: globals.h:1244
+#: globals.h:1249
msgid "E24: No such abbreviation"
msgstr "E24: Tal abreviatura no existe"
-#: globals.h:1245
+#: globals.h:1250
msgid "E477: No ! allowed"
msgstr "E477: «!» no está permitido."
-#: globals.h:1247
+#: globals.h:1252
msgid "E25: GUI cannot be used: Not enabled at compile time"
msgstr "E25: No se puede usar el GUI: no se ha activado al compilar."
-#: globals.h:1250
+#: globals.h:1255
msgid "E26: Hebrew cannot be used: Not enabled at compile time\n"
msgstr "E26: No se puede usar el hebreo: no se ha activado al compilar\n"
-#: globals.h:1253
+#: globals.h:1258
msgid "E27: Farsi cannot be used: Not enabled at compile time\n"
msgstr ""
"E27: No se puede usar el persa (farsi): no se ha activado al compilar\n"
-#: globals.h:1256
+#: globals.h:1261
msgid "E800: Arabic cannot be used: Not enabled at compile time\n"
msgstr "E800: No se puede usar el árabe: no se ha activado al compilar\n"
-#: globals.h:1259
+#: globals.h:1264
#, c-format
msgid "E28: No such highlight group name: %s"
msgstr "E28: No existe el grupo de realzado con ese nombre: %s"
-#: globals.h:1261
+#: globals.h:1266
msgid "E29: No inserted text yet"
msgstr "E29: Aún no ha insertado texto."
-#: globals.h:1262
+#: globals.h:1267
msgid "E30: No previous command line"
msgstr "E30: No hay una línea de comandos previa"
-#: globals.h:1263
+#: globals.h:1268
msgid "E31: No such mapping"
msgstr "E31: No existe tal asociación."
-#: globals.h:1264
+#: globals.h:1269
msgid "E479: No match"
msgstr "E479: No hay coincidencia."
-#: globals.h:1265
+#: globals.h:1270
#, c-format
msgid "E480: No match: %s"
msgstr "E480: No coincide: %s"
-#: globals.h:1266
+#: globals.h:1271
msgid "E32: No file name"
msgstr "E32: No hay un nombre de fichero."
-#: globals.h:1267
+#: globals.h:1272
msgid "E33: No previous substitute regular expression"
msgstr "E33: No existe una expresión regular de sustitución previa."
-#: globals.h:1268
+#: globals.h:1273
msgid "E34: No previous command"
msgstr "E34: No existe un comando previo."
-#: globals.h:1269
+#: globals.h:1274
msgid "E35: No previous regular expression"
msgstr "E35: No existe una expresión regular previa."
-#: globals.h:1270
+#: globals.h:1275
msgid "E481: No range allowed"
msgstr "E481: El rango no está permitido."
-#: globals.h:1272
+#: globals.h:1277
msgid "E36: Not enough room"
msgstr "E36: No hay espacio suficiente."
-#: globals.h:1275
+#: globals.h:1280
#, c-format
msgid "E247: no registered server named \"%s\""
msgstr "E247: El servidor «%s» no está registrado."
-#: globals.h:1277
+#: globals.h:1282
#, c-format
msgid "E482: Can't create file %s"
msgstr "E482: No se puede crear el fichero «%s»"
-#: globals.h:1278
+#: globals.h:1283
msgid "E483: Can't get temp file name"
msgstr "E483: No puedo obtener el nombre del fichero temporal."
-#: globals.h:1279
+#: globals.h:1284
#, c-format
msgid "E484: Can't open file %s"
msgstr "E484: No puedo abrir el fichero «%s»"
-#: globals.h:1280
+#: globals.h:1285
#, c-format
msgid "E485: Can't read file %s"
msgstr "E485: No puedo leer el fichero «%s»."
-#: globals.h:1281
+#: globals.h:1286
msgid "E37: No write since last change (add ! to override)"
msgstr ""
"E37: No se ha guardado el fichero desde el último cambio (añada ! para "
"forzar)."
-#: globals.h:1282
+#: globals.h:1287
msgid "E38: Null argument"
msgstr "E38: Argumento nulo."
-#: globals.h:1284
+#: globals.h:1289
msgid "E39: Number expected"
msgstr "E39: Esperaba un número."
-#: globals.h:1287
+#: globals.h:1292
#, c-format
msgid "E40: Can't open errorfile %s"
msgstr "E40: No puedo abrir el fichero de errores %s."
-#: globals.h:1290
+#: globals.h:1295
msgid "E233: cannot open display"
msgstr "E233: No se puede abrir la pantalla."
-#: globals.h:1292
+#: globals.h:1297
msgid "E41: Out of memory!"
msgstr "E41: ¡Memoria agotada!"
-#: globals.h:1294
+#: globals.h:1299
msgid "Pattern not found"
msgstr "No se encontró el patrón de búsqueda."
-#: globals.h:1296
+#: globals.h:1301
#, c-format
msgid "E486: Pattern not found: %s"
msgstr "E486: No se encontró el patrón de búsqueda: %s"
-#: globals.h:1297
+#: globals.h:1302
msgid "E487: Argument must be positive"
msgstr "E487: El argumento debe ser positivo."
-#: globals.h:1299
+#: globals.h:1304
msgid "E459: Cannot go back to previous directory"
msgstr "E459: No puedo regresar al directorio previo."
-#: globals.h:1303
+#: globals.h:1308
msgid "E42: No Errors"
msgstr "E42: No hay errores"
-#: globals.h:1305
+#: globals.h:1310
msgid "E43: Damaged match string"
msgstr "E43: Cadena de concidencia dañada."
-#: globals.h:1306
+#: globals.h:1311
msgid "E44: Corrupted regexp program"
msgstr "E44: El programa «regexp» está corrupto."
-#: globals.h:1307
+#: globals.h:1312
msgid "E45: 'readonly' option is set (add ! to override)"
msgstr "E45: Está activa la opción «readonly» (añada «!» para forzar)."
-#: globals.h:1309
+#: globals.h:1314
#, c-format
msgid "E46: Cannot set read-only variable \"%s\""
msgstr "E46: No se puede definir la variable de sólo lectura «%s»."
-#: globals.h:1312
+#: globals.h:1317
msgid "E47: Error while reading errorfile"
msgstr "E47: Error al leer el fichero de errores."
-#: globals.h:1315
+#: globals.h:1320
msgid "E48: Not allowed in sandbox"
msgstr "E48: No se permite en el ambiente protegido."
-#: globals.h:1317
+#: globals.h:1322
msgid "E523: Not allowed here"
msgstr "E523: No se permite aquí."
-#: globals.h:1320
+#: globals.h:1325
msgid "E359: Screen mode setting not supported"
msgstr "E359: La configuración de la pantalla no es válida."
-#: globals.h:1322
+#: globals.h:1327
msgid "E49: Invalid scroll size"
msgstr "E49: El tamaño de desplazamiento no válido."
-#: globals.h:1323
+#: globals.h:1328
msgid "E91: 'shell' option is empty"
msgstr "E91: La opción «shell» está vacía."
-#: globals.h:1325
+#: globals.h:1330
msgid "E255: Couldn't read in sign data!"
msgstr "E255: ¡No se pudo leer los datos de los signos!"
-#: globals.h:1327
+#: globals.h:1332
msgid "E72: Close error on swap file"
msgstr "E72: Error de cierre en el fichero de intercambio"
-#: globals.h:1328
+#: globals.h:1333
msgid "E73: tag stack empty"
msgstr "E73: La pila de «tags» está vacía."
-#: globals.h:1329
+#: globals.h:1334
msgid "E74: Command too complex"
msgstr "E74: El comando es demasiado complejo."
-#: globals.h:1330
+#: globals.h:1335
msgid "E75: Name too long"
msgstr "E75: El nombre es demasiado largo."
-#: globals.h:1331
+#: globals.h:1336
msgid "E76: Too many ["
msgstr "E76: Hay demasiados ["
-#: globals.h:1332
+#: globals.h:1337
msgid "E77: Too many file names"
msgstr "E77: Hay demasiados nombres de ficheros."
-#: globals.h:1333
+#: globals.h:1338
msgid "E488: Trailing characters"
msgstr "E488: Caracteres en exceso al final de la línea."
-#: globals.h:1334
+#: globals.h:1339
msgid "E78: Unknown mark"
msgstr "E78: Marca desconocida."
-#: globals.h:1335
+#: globals.h:1340
msgid "E79: Cannot expand wildcards"
msgstr "E79: No puedo expandir los comodines."
-#: globals.h:1337
+#: globals.h:1342
msgid "E591: 'winheight' cannot be smaller than 'winminheight'"
msgstr "E591: «winheight» no puede ser más pequeño que «winminheight»."
-#: globals.h:1339
+#: globals.h:1344
msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'"
msgstr "E592: «winwidth» no puede ser más pequeño que «winminwidth»."
-#: globals.h:1342
+#: globals.h:1347
msgid "E80: Error while writing"
msgstr "E80: Error al escribir el fichero."
-#: globals.h:1343
+#: globals.h:1348
msgid "Zero count"
msgstr "El recuento es cero."
-#: globals.h:1345
+#: globals.h:1350
msgid "E81: Using <SID> not in a script context"
msgstr "E81: Usando <SID> en un contexto que no es de «script»"
-#: globals.h:1348
+#: globals.h:1353
msgid "E449: Invalid expression received"
msgstr "E449: Recibí una expresión inválida."
-#: globals.h:1351
+#: globals.h:1356
msgid "E463: Region is guarded, cannot modify"
msgstr "E463: La región está protegida, no puedo modificarla."
diff --git a/src/vim.h b/src/vim.h
index d85aa0719..c3482017e 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -726,6 +726,7 @@ extern char* (*dyn_libintl_textdomain)(const char* domainname);
#define REMAP_YES 0 /* allow remapping */
#define REMAP_NONE -1 /* no remapping */
#define REMAP_SCRIPT -2 /* remap script-local mappings only */
+#define REMAP_SKIP -3 /* no remapping for first char */
/* Values for mch_call_shell() second argument */
#define SHELL_FILTER 1 /* filtering text */