From f4b8e57ffd048f9ca46dd7618939ba7a1b2294ec Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 24 Jun 2004 15:53:16 +0000 Subject: updated for version 7.0002 --- src/GvimExt/GvimExt.reg | 20 + src/GvimExt/Make_bc5.mak | 43 ++ src/GvimExt/Make_ming.mak | 63 ++ src/GvimExt/Makefile | 35 + src/GvimExt/README.txt | 94 +++ src/GvimExt/gvimext.cpp | 979 ++++++++++++++++++++++++ src/GvimExt/gvimext.def | 8 + src/GvimExt/gvimext.h | 164 ++++ src/GvimExt/gvimext.inf | 22 + src/GvimExt/gvimext.rc | 111 +++ src/GvimExt/gvimext_ming.def | 10 + src/GvimExt/gvimext_ming.rc | 45 ++ src/GvimExt/resource.h | 15 + src/GvimExt/uninst.bat | 1 + src/edit.c | 34 +- src/eval.c | 2 + src/ex_cmds2.c | 20 +- src/ex_getln.c | 4 + src/fileio.c | 6 +- src/getchar.c | 25 +- src/misc1.c | 3 +- src/option.c | 2 +- src/option.h | 3 +- src/os_win32.c | 44 +- src/po/es.po | 1698 +++++++++++++++++++++--------------------- src/vim.h | 1 + 26 files changed, 2583 insertions(+), 869 deletions(-) create mode 100644 src/GvimExt/GvimExt.reg create mode 100644 src/GvimExt/Make_bc5.mak create mode 100644 src/GvimExt/Make_ming.mak create mode 100644 src/GvimExt/Makefile create mode 100644 src/GvimExt/README.txt create mode 100644 src/GvimExt/gvimext.cpp create mode 100644 src/GvimExt/gvimext.def create mode 100644 src/GvimExt/gvimext.h create mode 100644 src/GvimExt/gvimext.inf create mode 100644 src/GvimExt/gvimext.rc create mode 100644 src/GvimExt/gvimext_ming.def create mode 100644 src/GvimExt/gvimext_ming.rc create mode 100644 src/GvimExt/resource.h create mode 100644 src/GvimExt/uninst.bat (limited to 'src') 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 + +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 +# 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 +#include +#include + +#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 +#include + +// +// 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 <> = +// { 0x51eee242, 0xad87, 0x11d3, { 0x9c, 0x1e, 0x0, 0x90, 0x27, 0x8b, 0xbd, 0x99 } }; +// +// + +// {51EEE242-AD87-11d3-9C1E-0090278BBD99} +// IMPLEMENT_OLECREATE(<>, <>, +// 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 +#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 \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 \n" "Language-Team: Alejandro López-Valencia \n" "MIME-Version: 1.0\n" @@ -26,172 +26,172 @@ msgstr "E82: No se puede asignar memoria para ning 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 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 #: 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 en un contexto que no es de #. * 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 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 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 " 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 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 \"\"" msgstr "" "E495: No ha dado un nombre de fichero de autocomandos para sustituir a " "\"\"" -#: ex_docmd.c:8341 +#: ex_docmd.c:8354 msgid "E496: no autocommand buffer number to substitute for \"\"" msgstr "" "E496: No existe un «buffer» de autocomando para sustituir por \"\"" -#: ex_docmd.c:8352 +#: ex_docmd.c:8365 msgid "E497: no autocommand match name to substitute for \"\"" msgstr "" "E497: Ningún nombre de autocomando concuerda para sustituir «»." -#: ex_docmd.c:8362 +#: ex_docmd.c:8375 msgid "E498: no :source file name to substitute for \"\"" msgstr "" "E498: No hay un nombre de fichero «:source» que sustituya a \"\"." -#: 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 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 "[ #. 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 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 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 \t\tUse for I/O" msgstr "-dev \t\tUse 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 \tSet terminal type to " msgstr "-T \tDetermina el tipo de terminal a <>" -#: main.c:2517 +#: main.c:2526 msgid "-u \t\tUse instead of any .vimrc" msgstr "-u \t\tUsa en lugar de cualquier .vimrc" -#: main.c:2519 +#: main.c:2528 msgid "-U \t\tUse instead of any .gvimrc" msgstr "-U \t\tUsa 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 "+\t\tStart at line " msgstr "+\t\tComienza en la línea " -#: main.c:2527 +#: main.c:2536 msgid "--cmd \tExecute before loading any vimrc file" msgstr "--cmd \tEjecuta antes de cargar algún fichero vimrc" -#: main.c:2529 +#: main.c:2538 msgid "-c \t\tExecute after loading the first file" msgstr "-c \t\tEjecuta después de cargar el primer fichero" -#: main.c:2530 +#: main.c:2539 msgid "-S \t\tSource file after loading the first file" msgstr "" "-S \t\tEjecuta los comandos del fichero después\n" " \t\tde cargar el primer fichero" -#: main.c:2531 +#: main.c:2540 msgid "-s \tRead Normal mode commands from file " msgstr "-s \tLee los comandos en modo Normal del fichero " -#: main.c:2532 +#: main.c:2541 msgid "-w \tAppend all typed commands to file " msgstr "" "-w \tAñade todos los comandos escritos al fichero " -#: main.c:2533 +#: main.c:2542 msgid "-W \tWrite all typed commands to file " msgstr "" "-W \tGraba todos los comandos escritos al fichero " -#: 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 \tConnect vim to this particular X-server" msgstr "-display \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 \tEdit in a Vim server if possible" msgstr "" "--remote \tEdita los en un servidor Vim si es posible." -#: main.c:2545 +#: main.c:2554 msgid "--remote-silent Same, don't complain if there is no server" msgstr "" "--remote-silent Lo mismo pero no se queja si no existe un " "servidor disponible." -#: main.c:2546 +#: main.c:2555 msgid "" "--remote-wait As --remote but wait for files to have been edited" msgstr "" "--remote-wait \tComo --remote pero espera a que los ficheros " "terminen de editarse" -#: main.c:2547 +#: main.c:2556 msgid "" "--remote-wait-silent Same, don't complain if there is no server" msgstr "" "--remote-wait-silent Lo mismo pero no se queja si no hay un " "servidor disponible." -#: main.c:2548 +#: main.c:2557 msgid "--remote-send \tSend to a Vim server and exit" msgstr "--remote-send \tEnvía a un servidor Vim y sale" -#: main.c:2549 +#: main.c:2558 msgid "--remote-expr \tEvaluate in a Vim server and print result" msgstr "" "--remote-expr \tEvalúa 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 \tSend to/become the Vim server " msgstr "" "--servername \tEnvía a/se convierte en el servidor Vim de nombre " "" -#: main.c:2554 +#: main.c:2563 msgid "-i \t\tUse instead of .viminfo" msgstr "-i \t\tUsa 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 \tRun vim on " msgstr "-display \tEjecuta vim en " -#: 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 \t\tUse resource as if vim was " msgstr "-name \t\tUsa un recurso como si vim fuese " -#: 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 \tUse for the background (also: -bg)" msgstr "-background \tUsa para el fondo (también: -bg)" -#: main.c:2578 +#: main.c:2587 msgid "-foreground \tUse for normal text (also: -fg)" msgstr "-foreground \tUsa para el texto normal (también: -fg)" -#: main.c:2579 main.c:2599 +#: main.c:2588 main.c:2608 msgid "-font \t\tUse for normal text (also: -fn)" msgstr "" "-font \t\tUsa para el texto normal (también: -fn)" -#: main.c:2580 +#: main.c:2589 msgid "-boldfont \tUse for bold text" msgstr "-boldfont \tUsa para texto en negrita" -#: main.c:2581 +#: main.c:2590 msgid "-italicfont \tUse for italic text" msgstr "-italicfont \tUsa para texto en cursiva" -#: main.c:2582 main.c:2600 +#: main.c:2591 main.c:2609 msgid "-geometry \tUse for initial geometry (also: -geom)" msgstr "" "-geometry \tUsa para la geometría inicial (también: -geom)" -#: main.c:2583 +#: main.c:2592 msgid "-borderwidth \tUse a border width of (also: -bw)" msgstr "-borderwidth \tUsa un ancho de borde de (también: -bw)" -#: main.c:2584 +#: main.c:2593 msgid "-scrollbarwidth Use a scrollbar width of (also: -sw)" msgstr "" "-scrollbarwidth Usa una barra de desplazamiento de ancho " "(también: -sw)" -#: main.c:2586 +#: main.c:2595 msgid "-menuheight \tUse a menu bar height of (also: -mh)" msgstr "" "-menuheight \tUsa una barra de menú de altura (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 \tSet the specified resource" msgstr "-xrm \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 \tInitial width of window in columns" msgstr "--columns \tAnchura inicial de la ventana, en columnas" -#: main.c:2595 +#: main.c:2604 msgid "--rows \tInitial height of window in rows" msgstr "--rows \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 \tRun vim on (also: --display)" msgstr "-display \tEjecuta vim en (también: --display)" -#: main.c:2604 +#: main.c:2613 msgid "--role \tSet a unique role to identify the main window" msgstr "" "--role \tDefine un rol único para identificar la ventana principal." -#: main.c:2606 +#: main.c:2615 msgid "--socketid \tOpen Vim inside another GTK widget" msgstr "--socketid \tAbre a Vim dentro de otro «widget» GTK." -#: main.c:2609 +#: main.c:2618 msgid "-P \tOpen Vim inside parent application" msgstr "-P \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 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: # 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 # * 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 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 to exit Vim" msgstr "Escriba :quit para terminar la ejecución de Vim." @@ -4533,41 +4545,41 @@ msgstr "%ld l # 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 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 # 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 for information " msgstr "escriba «:help iccf» para más información " -#: version.c:1052 +#: version.c:1034 msgid "type :q to exit " msgstr "escriba «:q» para salir " -#: version.c:1053 +#: version.c:1035 msgid "type :help or for on-line help" msgstr "escriba «:help o » para obtener ayuda " -#: version.c:1054 +#: version.c:1036 msgid "type :help version6 for version info" msgstr "escriba «:help version6» 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 for Vim defaults" msgstr "escriba «:set nocp» para los valores predefinidos de Vim" -#: version.c:1059 +#: version.c:1041 msgid "type :help cp-default for info on this" msgstr "escriba «:help cp-default» 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 for information " msgstr "escriba :help sponsor para más información " -#: version.c:1135 +#: version.c:1117 msgid "type :help register for information " msgstr "escriba «:help register» 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 for info on this" msgstr "escriba: «:help windows95» 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 #. * 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; executes, CTRL-C quits" msgstr "" "E11: No es válido en la ventana de la línea de comandos: 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 not in a script context" msgstr "E81: Usando 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 */ -- cgit v1.2.3