summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2008-06-24 20:39:31 +0000
committerBram Moolenaar <Bram@vim.org>2008-06-24 20:39:31 +0000
commita7241f5f19fd0865ce697939c347a8c88fb507d5 (patch)
treee1f1c07fe74094539286be048cc3306f6aedb0bc /src
parentf233048a129fa7a3b89e064078435181d6421da5 (diff)
downloadvim-git-a7241f5f19fd0865ce697939c347a8c88fb507d5.tar.gz
updated for version 7.2a
Diffstat (limited to 'src')
-rw-r--r--src/INSTALLpc.txt18
-rw-r--r--src/INSTALLvms.txt4
-rw-r--r--src/Make_mint.mak2
-rw-r--r--src/Make_mvc.mak3
-rw-r--r--src/ex_docmd.c18
-rw-r--r--src/if_sniff.c1
-rw-r--r--src/integration.c1
-rw-r--r--src/message.c195
-rw-r--r--src/normal.c2
-rw-r--r--src/os_mac.h6
-rw-r--r--src/po/de.po158
-rw-r--r--src/po/fr.po137
-rw-r--r--src/po/zh_TW.po8
-rw-r--r--src/proto/os_mac_conv.pro7
-rw-r--r--src/spell.c46
-rw-r--r--src/testdir/Make_os2.mak2
-rw-r--r--src/vim.h10
-rw-r--r--src/vim16.def2
18 files changed, 445 insertions, 175 deletions
diff --git a/src/INSTALLpc.txt b/src/INSTALLpc.txt
index 2c4102624..a2ee9545f 100644
--- a/src/INSTALLpc.txt
+++ b/src/INSTALLpc.txt
@@ -155,16 +155,11 @@ Visual C++ 2008 Express Edition *msvc-2008-express*
-------------------------------
Visual C++ 2008 Express Edition can be downloaded for free from:
- http://msdn2.microsoft.com/en-us/express/default.aspx
-This includes the IDE and the debugger. You can build Vim with Make_mvc.mak.
+ http://www.microsoft.com/express/vc/Default.aspx
+This includes the IDE and the debugger.
-
-Visual C++ 2008 Express Edition *msvc-2008-express*
--------------------------------
-
-Visual C++ 2008 Express Edition can be downloaded for free from:
- http://msdn2.microsoft.com/en-us/express/default.aspx
-This includes the IDE and the debugger. You can build Vim with Make_mvc.mak.
+To set the environment execute the msvc2008.bat script. You can then build
+Vim with Make_mvc.mak.
2. MinGW
@@ -258,8 +253,9 @@ If you like, you can compile the 'mingw' Win32 version from the comfort of
your Linux (or other unix) box. To do this, you need to follow a few steps:
1) Install the mingw32 cross-compiler. See
http://www.libsdl.org/extras/win32/cross/README.txt
- 2) get the *unix* version of the vim sources
- 3) in 'Make_ming.mak', set 'CROSS' to '1' instead of '0'.
+ 2) Get and unpack both the Unix sources and the extra archive
+ 3) in 'Make_ming.mak', set 'CROSS' to 'yes' instead of 'no'.
+ Make further changes to 'Make_ming.mak' as you wish.
4) make -f Make_ming.mak gvim.exe
Now you have created the Windows binary from your Linux box! Have fun...
diff --git a/src/INSTALLvms.txt b/src/INSTALLvms.txt
index 1de298027..c617aae4a 100644
--- a/src/INSTALLvms.txt
+++ b/src/INSTALLvms.txt
@@ -1,7 +1,7 @@
INSTALLvms.txt - Installation of Vim on OpenVMS
Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com>
-Last change: 2007 May 07
+Last change: 2008 Jan 06
This file contains instructions for compiling Vim on Openvms.
If you already have an executable version of Vim, you don't need this.
@@ -83,7 +83,7 @@ from CVS mirror ftp://ftp.polarhome.com/pub/cvs/SOURCE/
NORMAL - A default selection of features enabled
BIG - Many features enabled, as rich as possible.
(OpenVMS default)
- HUGE - All possible featues enabled.
+ HUGE - All possible features enabled.
Uncommented - will default to BIG
Default : MODEL = BIG
diff --git a/src/Make_mint.mak b/src/Make_mint.mak
index 6bcaacb84..97a2e4b4d 100644
--- a/src/Make_mint.mak
+++ b/src/Make_mint.mak
@@ -11,7 +11,7 @@
# Otherwise the postprocessing won't get done.
#
-### This Makefile has been succesfully tested on these systems.
+### This Makefile has been successfully tested on these systems.
### Check the (*) column for remarks, listed below.
### Later code changes may cause small problems, otherwise Vim is supposed to
### compile and run without problems.
diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak
index 34c87a598..18fd327b8 100644
--- a/src/Make_mvc.mak
+++ b/src/Make_mvc.mak
@@ -350,6 +350,9 @@ MSVCVER = 8.0
!if "$(_NMAKE_VER)" == "9.00.20706.01"
MSVCVER = 9.0
!endif
+!if "$(_NMAKE_VER)" == "9.00.21022.08"
+MSVCVER = 9.0
+!endif
!endif
# Abort bulding VIM if version of VC is unrecognised.
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index c5b520c66..460fc2a39 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -13,10 +13,6 @@
#include "vim.h"
-#ifdef HAVE_FCNTL_H
-# include <fcntl.h> /* for chdir() */
-#endif
-
static int quitmore = 0;
static int ex_pressedreturn = FALSE;
#ifndef FEAT_PRINTER
@@ -1132,7 +1128,7 @@ do_cmdline(cmdline, getline, cookie, flags)
{
/* need to copy the command after the '|' to cmdline_copy, for the
* next do_one_cmd() */
- mch_memmove(cmdline_copy, next_cmdline, STRLEN(next_cmdline) + 1);
+ STRMOVE(cmdline_copy, next_cmdline);
next_cmdline = cmdline_copy;
}
@@ -2375,7 +2371,7 @@ do_one_cmd(cmdlinep, sourcing,
* Halving the number of backslashes is incompatible with previous
* versions. */
if (*p == '\\' && p[1] == '\n')
- mch_memmove(p, p + 1, STRLEN(p));
+ STRMOVE(p, p + 1);
else if (*p == '\n')
{
ea.nextcmd = p + 1;
@@ -4551,7 +4547,7 @@ separate_nextcmd(eap)
++p; /* skip CTRL-V and next char */
else
/* remove CTRL-V and skip next char */
- mch_memmove(p, p + 1, STRLEN(p));
+ STRMOVE(p, p + 1);
if (*p == NUL) /* stop at NUL after CTRL-V */
break;
}
@@ -4582,7 +4578,7 @@ separate_nextcmd(eap)
if ((vim_strchr(p_cpo, CPO_BAR) == NULL
|| !(eap->argt & USECTRLV)) && *(p - 1) == '\\')
{
- mch_memmove(p - 1, p, STRLEN(p) + 1); /* remove the '\' */
+ STRMOVE(p - 1, p); /* remove the '\' */
--p;
}
else
@@ -4640,7 +4636,7 @@ skip_cmd_arg(p, rembs)
if (*p == '\\' && p[1] != NUL)
{
if (rembs)
- mch_memmove(p, p + 1, STRLEN(p));
+ STRMOVE(p, p + 1);
else
++p;
}
@@ -7167,7 +7163,6 @@ theend:
# endif
}
-#if defined(FEAT_MOUSE) || defined(PROTO)
/*
* Open a new tab page.
*/
@@ -7182,7 +7177,6 @@ tabpage_new()
ea.arg = (char_u *)"";
ex_splitview(&ea);
}
-#endif
/*
* :tabnext command
@@ -9425,7 +9419,7 @@ eval_vars(src, srcstart, usedlen, lnump, errormsg, escaped)
if (src > srcstart && src[-1] == '\\')
{
*usedlen = 0;
- mch_memmove(src - 1, src, STRLEN(src) + 1); /* remove backslash */
+ STRMOVE(src - 1, src); /* remove backslash */
return NULL;
}
diff --git a/src/if_sniff.c b/src/if_sniff.c
index ab7a3f056..dea157446 100644
--- a/src/if_sniff.c
+++ b/src/if_sniff.c
@@ -11,7 +11,6 @@
#ifdef WIN32
# include <stdio.h>
-# include <fcntl.h>
# include "vimio.h"
# include <process.h>
# include <string.h>
diff --git a/src/integration.c b/src/integration.c
index 2cbf0a9b8..0d46c97bf 100644
--- a/src/integration.c
+++ b/src/integration.c
@@ -25,7 +25,6 @@
#include <stdio.h>
#include <stdlib.h>
-#include <fcntl.h>
#ifdef INET_SOCKETS
#include <netdb.h>
diff --git a/src/message.c b/src/message.c
index b2daa90e2..8387d9366 100644
--- a/src/message.c
+++ b/src/message.c
@@ -15,6 +15,10 @@
#include "vim.h"
+#if defined(FEAT_FLOAT) && defined(HAVE_MATH_H)
+# include <math.h>
+#endif
+
static int other_sourcing_name __ARGS((void));
static char_u *get_emsg_source __ARGS((void));
static char_u *get_emsg_lnum __ARGS((void));
@@ -314,7 +318,7 @@ trunc_string(s, buf, room)
/* Set the middle and copy the last part. */
mch_memmove(buf + e, "...", (size_t)3);
- mch_memmove(buf + e + 3, s + i, STRLEN(s + i) + 1);
+ STRMOVE(buf + e + 3, s + i);
}
/*
@@ -603,7 +607,7 @@ emsg(s)
#endif
/*
- * When using ":silent! cmd" ignore error messsages.
+ * When using ":silent! cmd" ignore error messages.
* But do write it to the redirection file.
*/
if (emsg_silent != 0)
@@ -803,6 +807,8 @@ delete_first_msg()
return FAIL;
p = first_msg_hist;
first_msg_hist = p->next;
+ if (first_msg_hist == NULL)
+ last_msg_hist = NULL; /* history is empty */
vim_free(p->msg);
vim_free(p);
--msg_hist_len;
@@ -1131,6 +1137,17 @@ msg_start()
vim_free(keep_msg);
keep_msg = NULL; /* don't display old message now */
+
+#ifdef FEAT_EVAL
+ if (need_clr_eos)
+ {
+ /* Halfway an ":echo" command and getting an (error) message: clear
+ * any text from the command. */
+ need_clr_eos = FALSE;
+ msg_clr_eos();
+ }
+#endif
+
if (!msg_scroll && full_screen) /* overwrite last message */
{
msg_row = cmdline_row;
@@ -3819,6 +3836,9 @@ static char *e_printf = N_("E766: Insufficient arguments for printf()");
static long tv_nr __ARGS((typval_T *tvs, int *idxp));
static char *tv_str __ARGS((typval_T *tvs, int *idxp));
+# ifdef FEAT_FLOAT
+static double tv_float __ARGS((typval_T *tvs, int *idxp));
+# endif
/*
* Get number argument from "idxp" entry in "tvs". First entry is 1.
@@ -3865,6 +3885,32 @@ tv_str(tvs, idxp)
}
return s;
}
+
+# ifdef FEAT_FLOAT
+/*
+ * Get float argument from "idxp" entry in "tvs". First entry is 1.
+ */
+ static double
+tv_float(tvs, idxp)
+ typval_T *tvs;
+ int *idxp;
+{
+ int idx = *idxp - 1;
+ double f = 0;
+
+ if (tvs[idx].v_type == VAR_UNKNOWN)
+ EMSG(_(e_printf));
+ else
+ {
+ ++*idxp;
+ if (tvs[idx].v_type == VAR_FLOAT)
+ f = tvs[idx].vval.v_float;
+ else
+ EMSG(_("E807: Expected Float argument for printf()"));
+ }
+ return f;
+}
+# endif
#endif
/*
@@ -3883,6 +3929,8 @@ tv_str(tvs, idxp)
* with flags: '-', '+', ' ', '0' and '#'.
* An asterisk is supported for field width as well as precision.
*
+ * Limited support for floating point was added: 'f', 'e', 'E', 'g', 'G'.
+ *
* Length modifiers 'h' (short int) and 'l' (long int) are supported.
* 'll' (long long int) is not supported.
*
@@ -3983,7 +4031,14 @@ vim_snprintf(str, str_m, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
char length_modifier = '\0';
/* temporary buffer for simple numeric->string conversion */
- char tmp[32];
+#ifdef FEAT_FLOAT
+# define TMP_LEN 350 /* On my system 1e308 is the biggest number possible.
+ * That sounds reasonable to use as the maximum
+ * printable. */
+#else
+# define TMP_LEN 32
+#endif
+ char tmp[TMP_LEN];
/* string address in case of string argument */
char *str_arg;
@@ -4124,6 +4179,7 @@ vim_snprintf(str, str_m, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
case 'D': fmt_spec = 'd'; length_modifier = 'l'; break;
case 'U': fmt_spec = 'u'; length_modifier = 'l'; break;
case 'O': fmt_spec = 'o'; length_modifier = 'l'; break;
+ case 'F': fmt_spec = 'f'; break;
default: break;
}
@@ -4459,6 +4515,136 @@ vim_snprintf(str, str_m, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
break;
}
+#ifdef FEAT_FLOAT
+ case 'f':
+ case 'e':
+ case 'E':
+ case 'g':
+ case 'G':
+ {
+ /* Floating point. */
+ double f;
+ double abs_f;
+ char format[40];
+ int l;
+ int remove_trailing_zeroes = FALSE;
+
+ f =
+# ifndef HAVE_STDARG_H
+ get_a_arg(arg_idx);
+# else
+# if defined(FEAT_EVAL)
+ tvs != NULL ? tv_float(tvs, &arg_idx) :
+# endif
+ va_arg(ap, double);
+# endif
+ abs_f = f < 0 ? -f : f;
+
+ if (fmt_spec == 'g' || fmt_spec == 'G')
+ {
+ /* Would be nice to use %g directly, but it prints
+ * "1.0" as "1", we don't want that. */
+ if ((abs_f >= 0.001 && abs_f < 10000000.0)
+ || abs_f == 0.0)
+ fmt_spec = 'f';
+ else
+ fmt_spec = fmt_spec == 'g' ? 'e' : 'E';
+ remove_trailing_zeroes = TRUE;
+ }
+
+ if (fmt_spec == 'f' && abs_f > 1.0e307)
+ {
+ /* Avoid a buffer overflow */
+ strcpy(tmp, "inf");
+ str_arg_l = 3;
+ }
+ else
+ {
+ format[0] = '%';
+ l = 1;
+ if (precision_specified)
+ {
+ size_t max_prec = TMP_LEN - 10;
+
+ /* Make sure we don't get more digits than we
+ * have room for. */
+ if (fmt_spec == 'f' && abs_f > 1.0)
+ max_prec -= (size_t)log10(abs_f);
+ if (precision > max_prec)
+ precision = max_prec;
+ l += sprintf(format + 1, ".%d", (int)precision);
+ }
+ format[l] = fmt_spec;
+ format[l + 1] = NUL;
+ str_arg_l = sprintf(tmp, format, f);
+
+ if (remove_trailing_zeroes)
+ {
+ int i;
+ char *p;
+
+ /* Using %g or %G: remove superfluous zeroes. */
+ if (fmt_spec == 'f')
+ p = tmp + str_arg_l - 1;
+ else
+ {
+ p = (char *)vim_strchr((char_u *)tmp,
+ fmt_spec == 'e' ? 'e' : 'E');
+ if (p != NULL)
+ {
+ /* Remove superfluous '+' and leading
+ * zeroes from the exponent. */
+ if (p[1] == '+')
+ {
+ /* Change "1.0e+07" to "1.0e07" */
+ STRMOVE(p + 1, p + 2);
+ --str_arg_l;
+ }
+ i = (p[1] == '-') ? 2 : 1;
+ while (p[i] == '0')
+ {
+ /* Change "1.0e07" to "1.0e7" */
+ STRMOVE(p + i, p + i + 1);
+ --str_arg_l;
+ }
+ --p;
+ }
+ }
+
+ if (p != NULL && !precision_specified)
+ /* Remove trailing zeroes, but keep the one
+ * just after a dot. */
+ while (p > tmp + 2 && *p == '0' && p[-1] != '.')
+ {
+ STRMOVE(p, p + 1);
+ --p;
+ --str_arg_l;
+ }
+ }
+ else
+ {
+ char *p;
+
+ /* Be consistent: some printf("%e") use 1.0e+12
+ * and some 1.0e+012. Remove one zero in the last
+ * case. */
+ p = (char *)vim_strchr((char_u *)tmp,
+ fmt_spec == 'e' ? 'e' : 'E');
+ if (p != NULL && (p[1] == '+' || p[1] == '-')
+ && p[2] == '0'
+ && vim_isdigit(p[3])
+ && vim_isdigit(p[4]))
+ {
+ STRMOVE(p + 2, p + 3);
+ --str_arg_l;
+ }
+ }
+ }
+ str_arg = tmp;
+ break;
+ }
+#endif
+
default:
/* unrecognized conversion specifier, keep format string
* as-is */
@@ -4566,7 +4752,8 @@ vim_snprintf(str, str_m, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
if (justify_left)
{
/* right blank padding to the field width */
- int pn = (int)(min_field_width - (str_arg_l + number_of_zeros_to_pad));
+ int pn = (int)(min_field_width
+ - (str_arg_l + number_of_zeros_to_pad));
if (pn > 0)
{
diff --git a/src/normal.c b/src/normal.c
index d3ce6a886..3c1c6f064 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -2464,6 +2464,8 @@ do_mouse(oap, c, dir, count, fixindent)
/* Check for clicking in the tab page line. */
if (mouse_row == 0 && firstwin->w_winrow > 0)
{
+ if (is_drag)
+ return FALSE;
got_click = FALSE; /* ignore mouse-up and drag events */
/* click in a tab selects that tab page */
diff --git a/src/os_mac.h b/src/os_mac.h
index 6effe1078..7a54ee5c5 100644
--- a/src/os_mac.h
+++ b/src/os_mac.h
@@ -109,6 +109,7 @@
# define HAVE_FCNTL_H
# define HAVE_QSORT
# define HAVE_ST_MODE /* have stat.st_mode */
+# define HAVE_MATH_H
# if defined(__DATE__) && defined(__TIME__)
# define HAVE_DATE_TIME
@@ -217,10 +218,7 @@
*/
#define CMDBUFFSIZE 1024 /* size of the command processing buffer */
-#if defined(MACOS_X_UNIX)
-# define MAXPATHL 1024
-# define BASENAMELEN (MAXNAMLEN - 5) /* length of base of filename */
-#else
+#if !defined(MACOS_X_UNIX)
# define MAXPATHL 256 /* Limited by the Pascal Strings */
# define BASENAMELEN (32-5-1) /* length of base of filename */
#endif
diff --git a/src/po/de.po b/src/po/de.po
index 171ddca24..3a897f2d7 100644
--- a/src/po/de.po
+++ b/src/po/de.po
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Vim(deutsch)\n"
"POT-Creation-Date: 2006-04-02 11:30+0200\n"
-"PO-Revision-Date: 2006-06-18 12:34+0200\n"
-"Last-Translator: Georg Dahn <gorgyd@yahoo.co.uk>\n"
+"PO-Revision-Date: 2008-05-24 17:26+0200\n"
+"Last-Translator: Georg Dahn <georg.dahn@gmail.com>\n"
"Language-Team: German <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO_8859-1\n"
@@ -25,20 +25,20 @@ msgid "E83: Cannot allocate buffer, using other one..."
msgstr "E83: Kann den Puffer nicht zuweisen; benutze einen anderen..."
msgid "E515: No buffers were unloaded"
-msgstr "E515: Keine Puffer wurden ausgeladen"
+msgstr "E515: Keine Puffer wurden entladen"
msgid "E516: No buffers were deleted"
-msgstr "E516: Keine Puffer wurden gelöscht"
+msgstr "E516: Keine Puffer wurden vollständig gelöscht"
msgid "E517: No buffers were wiped out"
-msgstr "E517: Keine Puffer wurden gelöscht"
+msgstr "E517: Keine Puffer wurden vollständig gelöscht"
msgid "1 buffer unloaded"
-msgstr "ein Puffer ausgeladen"
+msgstr "ein Puffer entladen"
#, c-format
msgid "%d buffers unloaded"
-msgstr "%d Puffer ausgeladen"
+msgstr "%d Puffer entladen"
msgid "1 buffer deleted"
msgstr "ein Puffer gelöscht"
@@ -48,11 +48,11 @@ msgid "%d buffers deleted"
msgstr "%d Puffer gelöscht"
msgid "1 buffer wiped out"
-msgstr "ein Puffer gelöscht"
+msgstr "ein Puffer vollständig gelöscht"
#, c-format
msgid "%d buffers wiped out"
-msgstr "%d Puffer gelöscht"
+msgstr "%d Puffer vollständig gelöscht"
msgid "E84: No modified buffer found"
msgstr "E84: Kein veränderter Puffer gefunden"
@@ -87,11 +87,11 @@ msgstr "E92: Kein Puffer %ld gefunden"
#, c-format
msgid "E93: More than one match for %s"
-msgstr "E93: Mehr als eine Möglichkeit für %s"
+msgstr "E93: Mehr als ein Treffer für %s"
#, c-format
msgid "E94: No matching buffer for %s"
-msgstr "E94: Kein Puffer passt zu %s"
+msgstr "E94: Kein übereinstimmender Puffer für %s"
#, c-format
msgid "line %ld"
@@ -334,16 +334,16 @@ msgstr "E686: Argument von %s muss eine Liste sein"
#, c-format
msgid "E712: Argument of %s must be a List or Dictionary"
-msgstr "E712: Argument von %s muss eine Liste oder ein Dictionary"
+msgstr "E712: Argument von %s muss eine Liste oder ein Wörterbuch"
msgid "E713: Cannot use empty key for Dictionary"
-msgstr "E713: Der Schlüssel für das Dictionary darf nicht leer sein"
+msgstr "E713: Der Schlüssel für das Wörterbuch darf nicht leer sein"
msgid "E714: List required"
msgstr "E714: Liste benötigt"
msgid "E715: Dictionary required"
-msgstr "E715: Dictionary benötigt"
+msgstr "E715: Wörterbuch benötigt"
#, c-format
msgid "E118: Too many arguments for function: %s"
@@ -351,20 +351,20 @@ msgstr "E118: Zu viele Argumente für Funktion: %s"
#, c-format
msgid "E716: Key not present in Dictionary: %s"
-msgstr "E716: Schlüssel nicht vorhanden im Dictionary: %s"
+msgstr "E716: Schlüssel nicht vorhanden im Wörterbuch: %s"
#, c-format
msgid "E122: Function %s already exists, add ! to replace it"
msgstr "E122: Funktion %s existiert bereits; zum Ersetzen ! hinzufügen"
msgid "E717: Dictionary entry already exists"
-msgstr "E717: Dictionary-Eintrag existiert bereits"
+msgstr "E717: Wörterbuch-Eintrag existiert bereits"
msgid "E718: Funcref required"
-msgstr "E718: Funcref benötigt"
+msgstr "E718: Funktionsreferenz benötigt"
msgid "E719: Cannot use [:] with a Dictionary"
-msgstr "E719: Kann [:] nicht mit einem Dictionary verwenden"
+msgstr "E719: Kann [:] nicht mit einem Wörterbuch verwenden"
#, c-format
msgid "E734: Wrong variable type for %s="
@@ -392,7 +392,7 @@ msgid "E738: Can't list variables for %s"
msgstr "E738: Kann Variablen nicht auflisten: %s"
msgid "E689: Can only index a List or Dictionary"
-msgstr "E689: Kann nur Listen und Dictionarys indizieren"
+msgstr "E689: Kann nur Listen und Wörterbücher indizieren"
msgid "E708: [:] must come last"
msgstr "E708: [:] muss am Schluss kommen"
@@ -430,22 +430,22 @@ msgid "E692: Invalid operation for Lists"
msgstr "E692: Unzulässige Operation für Listen"
msgid "E735: Can only compare Dictionary with Dictionary"
-msgstr "E735: Kann nur ein Dictionary mit einem Dictionary vergleichen"
+msgstr "E735: Kann nur ein Wörterbuch mit einem Wörterbuch vergleichen"
msgid "E736: Invalid operation for Dictionary"
-msgstr "E736: Unzulässige Operation für ein Dictionary"
+msgstr "E736: Unzulässige Operation für ein Wörterbuch"
msgid "E693: Can only compare Funcref with Funcref"
-msgstr "E693: Kann nur eine Funcref mit einer Funcref vergleichen"
+msgstr "E693: Kann nur eine Funktionsreferenz mit einer Funktionsreferenz vergleichen"
msgid "E694: Invalid operation for Funcrefs"
-msgstr "E694: Unzulässige Operation für Funcrefs"
+msgstr "E694: Unzulässige Operation für Funktionsreferenzen"
msgid "E110: Missing ')'"
msgstr "E110: Fehlende ')'"
msgid "E695: Cannot index a Funcref"
-msgstr "E695: Kann keine Funcref indizieren"
+msgstr "E695: Kann keine Funktionsreferenz indizieren"
#, c-format
msgid "E112: Option name missing: %s"
@@ -473,19 +473,19 @@ msgstr "E697: Fehlendes Ende der Liste ']': %s"
#, c-format
msgid "E720: Missing colon in Dictionary: %s"
-msgstr "E720: Fehlender Doppelpunkt im Dictionary: %s"
+msgstr "E720: Fehlender Doppelpunkt im Wörterbuch: %s"
#, c-format
msgid "E721: Duplicate key in Dictionary: \"%s\""
-msgstr "E721: Doppelter Schlüssel im Dictionary: \"%s\""
+msgstr "E721: Doppelter Schlüssel im Wörterbuch: \"%s\""
#, c-format
msgid "E722: Missing comma in Dictionary: %s"
-msgstr "E722: Fehlendes Komma im Dictionary: %s"
+msgstr "E722: Fehlendes Komma im Wörterbuch: %s"
#, c-format
msgid "E723: Missing end of Dictionary '}': %s"
-msgstr "E723: Fehlendes Ende des Dictionarys '}': %s"
+msgstr "E723: Fehlendes Ende des Wörterbuchs '}': %s"
msgid "E724: variable nested too deep for displaying"
msgstr "E724: Variable ist zu tief verschachtelt für die Anzeige"
@@ -494,7 +494,7 @@ msgid "E699: Too many arguments"
msgstr "E699: Zu viele Argumente"
msgid "E785: complete() can only be used in Insert mode"
-msgstr "E785: complete() kann nur im Insert Modus verwendet werden"
+msgstr "E785: complete() kann nur im Einfüge-Modus verwendet werden"
#.
#. * Yes this is ugly, I don't particularly like it either. But doing it
@@ -567,26 +567,26 @@ msgid "E677: Error writing temp file"
msgstr "E677: Fehler beim Schreiben einer temporären Datei"
msgid "E703: Using a Funcref as a number"
-msgstr "E703: Funcref als Zahl verwendet"
+msgstr "E703: Funktionsreferenz als Zahl verwendet"
msgid "E745: Using a List as a number"
msgstr "E745: Liste als Zahl verwendet"
msgid "E728: Using a Dictionary as a number"
-msgstr "E728: Dictionary als Zahl verwendet"
+msgstr "E728: Wörterbuch als Zahl verwendet"
msgid "E729: using Funcref as a String"
-msgstr "E729: Funcref als String verwendet"
+msgstr "E729: Funktionsreferenz als String verwendet"
msgid "E730: using List as a String"
msgstr "E730: Liste als String verwendet"
msgid "E731: using Dictionary as a String"
-msgstr "E731: Dictionary als String verwendet"
+msgstr "E731: Wörterbuch als String verwendet"
#, c-format
msgid "E704: Funcref variable name must start with a capital: %s"
-msgstr "E704: Funcref Variable muss mit einem Großbuchstaben beginnen: %s"
+msgstr "E704: Funktionsreferenz-Variable muss mit einem Großbuchstaben beginnen: %s"
#, c-format
msgid "E705: Variable name conflicts with existing function: %s"
@@ -623,7 +623,7 @@ msgstr "E126: Fehlendes :endfunction"
#, c-format
msgid "E746: Function name does not match script file name: %s"
-msgstr "E746: Funktionsname stimmt nicht mit dem Namen der Skript-Datei überein: %s"
+msgstr "E746: Funktionsname stimmt mit dem Namen der Skript-Datei nicht überein: %s"
msgid "E129: Function name required"
msgstr "E129: Funktionsname wird verlangt"
@@ -1170,7 +1170,7 @@ msgstr "E467: Eigene Vervollständigung benötigt eine Funktion als Argument"
#, c-format
msgid "E185: Cannot find color scheme %s"
-msgstr "E185: Zeile %s kann nicht gefunden werden"
+msgstr "E185: Kann Farbschema %s nicht finden"
msgid "Greetings, Vim user!"
msgstr "Herzliche Grüße, Vim Benutzer!"
@@ -1269,7 +1269,7 @@ msgid "E195: Cannot open viminfo file for reading"
msgstr "E195: viminfo kann nicht zum Lesen geöffnet werden"
msgid "E196: No digraphs in this version"
-msgstr "E196 Keine Digraphen in dieser Version"
+msgstr "E196: Keine Digraphen in dieser Version"
msgid "E608: Cannot :throw exceptions with 'Vim' prefix"
msgstr "E608: Kann nicht :throw Exceptions mit 'Vim' Präfix"
@@ -1504,7 +1504,7 @@ msgid "E676: No matching autocommands for acwrite buffer"
msgstr "E676: Keine übereinstimmenden Autokommandos für acwrite Puffer"
msgid "E203: Autocommands deleted or unloaded buffer to be written"
-msgstr "E203: Autokommandos haben den zu schreibenden Puffer gelöscht oder heraus geladen"
+msgstr "E203: Autokommandos haben den zu schreibenden Puffer gelöscht oder entladen"
msgid "E204: Autocommand changed number of lines in unexpected way"
msgstr "E204: Autokommandos haben die Anzahl der Zeilen in unerwarteter Weise verändert"
@@ -1894,21 +1894,21 @@ msgstr "Ersetzen mit:"
#. whole word only button
msgid "Match whole word only"
-msgstr "Übereinstimmung nur mit ganzen Wörtern"
+msgstr "Nur ganzes Wort suchen"
#. match case button
msgid "Match case"
-msgstr "Klein-/Großschreibung beachten"
+msgstr "Groß-/Kleinschreibung"
msgid "Direction"
msgstr "Richtung"
#. 'Up' and 'Down' buttons
msgid "Up"
-msgstr "Auf"
+msgstr "Aufwärts"
msgid "Down"
-msgstr "Ab"
+msgstr "Abwärts"
msgid "Find Next"
msgstr "Suche Nächstes"
@@ -2268,7 +2268,7 @@ msgstr "E567: Keine cscope Verbindungen"
#, c-format
msgid "E259: no matches found for cscope query %s of %s"
-msgstr "E259: keine Treffer gefunden für cscope Anfragen %s aus %s"
+msgstr "E259: keine Übereinstimmungen gefunden für cscope Abfrage %s aus %s"
#, c-format
msgid "E469: invalid cscopequickfix flag %c for %c"
@@ -2790,7 +2790,7 @@ msgid "-V[N]\t\tVerbose level"
msgstr "-V[N]\t\tVerbose Stufe"
msgid "-D\t\t\tDebugging mode"
-msgstr "-D\t\t\tDebug Modus"
+msgstr "-D\t\t\tDebug-Modus"
msgid "-n\t\t\tNo swap file, use memory only"
msgstr "-n\t\t\tKeine Auslagerungsdatei, verwende nur Speicher"
@@ -3383,7 +3383,7 @@ msgstr "E315: ml_get: unzulässige lnum: %ld"
#, c-format
msgid "E316: ml_get: cannot find line %ld"
-msgstr "E316: ml_get: Zeile %ld kann nicht gefunden werden"
+msgstr "E316: ml_get: kann Zeile %ld nicht finden"
msgid "E317: pointer block id wrong 3"
msgstr "E317: Zeiger Block id falsch 3"
@@ -3402,7 +3402,7 @@ msgstr "Block 1 gelöscht?"
#, c-format
msgid "E320: Cannot find line %ld"
-msgstr "E320: Zeile %ld kann nicht gefunden werden"
+msgstr "E320: Kann Zeile %ld nicht finden"
msgid "E317: pointer block id wrong"
msgstr "E317: Zeiger Block id ist falsch"
@@ -3748,11 +3748,11 @@ msgstr ""
#, c-format
msgid "E344: Can't find directory \"%s\" in cdpath"
-msgstr "E344: Verzeichnis \"%s\" kann im 'cdpath' nicht gefunden werden"
+msgstr "E344: Kann Verzeichnis \"%s\" nicht im 'cdpath' finden"
#, c-format
msgid "E345: Can't find file \"%s\" in path"
-msgstr "E345: Datei \"%s\" kann im Pfad nicht gefunden werden"
+msgstr "E345: Kann Datei \"%s\" nicht im Pfad finden"
#, c-format
msgid "E346: No more directory \"%s\" found in cdpath"
@@ -3784,7 +3784,7 @@ msgid "E505: "
msgstr "E505: "
msgid "E774: 'operatorfunc' is empty"
-msgstr "E775: 'operatorfunc' is empty"
+msgstr "E774: 'operatorfunc' is empty"
msgid "E775: Eval feature not available"
msgstr "E775: Evaluierungsfunktion nicht verfügbar"
@@ -4388,19 +4388,19 @@ msgid "E51: Too many %s("
msgstr "E51: Zu viele %s("
msgid "E52: Unmatched \\z("
-msgstr "E52: \\z( ohne Übereinstimmung"
+msgstr "E52: \\z( ohne Gegenstück"
#, c-format
msgid "E53: Unmatched %s%%("
-msgstr "E53: %s%%( ohne Übereinstimmung"
+msgstr "E53: %s%%( ohne Gegenstück"
#, c-format
msgid "E54: Unmatched %s("
-msgstr "E54: %s( ohne Übereinstimmung"
+msgstr "E54: %s( ohne Gegenstück"
#, c-format
msgid "E55: Unmatched %s)"
-msgstr "E55: %s) ohne Übereinstimmung"
+msgstr "E55: %s) ohne Gegenstück"
#, c-format
msgid "E59: invalid character after %s@"
@@ -4554,32 +4554,32 @@ msgstr " NICHT GEFUNDEN"
#, c-format
msgid "Scanning included file: %s"
-msgstr "Scanne eingefügte Datei: %s"
+msgstr "Durchsuche inkludierte Datei: %s"
#, c-format
msgid "Searching included file %s"
-msgstr "Suche eingefügte Datei %s"
+msgstr "Suche inkludierte Datei %s"
msgid "E387: Match is on current line"
msgstr "E387: Treffer ist auf der momentanen Zeile"
msgid "All included files were found"
-msgstr "Alle eingefügten Dateien wurden gefunden"
+msgstr "Alle inkludierten Dateien wurden gefunden"
msgid "No included files"
-msgstr "Keine eingefügten Dateien"
+msgstr "Keine inkludierten Dateien"
msgid "E388: Couldn't find definition"
-msgstr "E388: Definition konnte nicht gefunden werden"
+msgstr "E388: Konnte Definition nicht finden"
msgid "E389: Couldn't find pattern"
-msgstr "E389: Muster konnte nicht gefunden werden"
+msgstr "E389: Konnte Muster nicht finden"
msgid "E759: Format error in spell file"
msgstr "E759: Format-Fehler im Rechtschreibwörterbuch"
msgid "E758: Truncated spell file"
-msgstr "E758 Abgeschnittenes Rechtschreibwörterbuch"
+msgstr "E758: Abgeschnittenes Rechtschreibwörterbuch"
#, c-format
msgid "Trailing text in %s line %d: %s"
@@ -4610,16 +4610,16 @@ msgid "Reading spell file \"%s\""
msgstr "Lese Rechtschreibwörterbuch \"%s\" ein"
msgid "E757: This does not look like a spell file"
-msgstr "E757: Das sieht nicht nach einem Wörterbuch für die Rechtschreibprüfung aus"
+msgstr "E757: Das sieht nicht nach einem Rechtschreibwörterbuch aus"
msgid "E771: Old spell file, needs to be updated"
-msgstr "E771: Altes Wörterbuch für die Rechtschreibprüfung, benötigt Aktualisierung"
+msgstr "E771: Altes Rechtschreibwörterbuch, benötigt Aktualisierung"
msgid "E772: Spell file is for newer version of Vim"
-msgstr "E772: Wörterbuch für die Rechtschreibprüfung ist für eine neuere Version von Vim"
+msgstr "E772: Rechtschreibwörterbuch ist für eine neuere Version von Vim"
msgid "E770: Unsupported section in spell file"
-msgstr "E770: Nicht unterstützter Abschnitt im Wörterbuch für die Rechtschreibprüfung"
+msgstr "E770: Nicht unterstützter Abschnitt im Rechtschreibwörterbuch"
#, c-format
msgid "Warning: region %s not supported"
@@ -4987,7 +4987,7 @@ msgstr "E393: \"group[t]here\" ist an dieser Stelle ungültig"
#, c-format
msgid "E394: Didn't find region item for %s"
-msgstr "E394: \"region\"-Element für \"%s\" konnte nicht gefunden werden"
+msgstr "E394: Konnte kein \"region\"-Element für \"%s\" finden"
msgid "E395: contains argument not accepted here"
msgstr "E395: \"contains\"-Argument ist an dieser Stelle ungültig"
@@ -5065,10 +5065,10 @@ msgstr "E412: Nicht ausreichend viele Argumente: \":highlight link %s\""
#, c-format
msgid "E413: Too many arguments: \":highlight link %s\""
-msgstr "E412: Zu viele Argumente: \":highlight link %s\""
+msgstr "E413: Zu viele Argumente: \":highlight link %s\""
msgid "E414: group has settings, highlight link ignored"
-msgstr "E414: Gruppe hat Einstellungen, Unterstreichung Link ignoriert"
+msgstr "E414: Gruppe hat Einstellungen, highlight link ignorieren"
#, c-format
msgid "E415: unexpected equal sign: %s"
@@ -5124,7 +5124,7 @@ msgstr "E425: Kann nicht vor den ersten passenden Tag hinausgehen"
#, c-format
msgid "E426: tag not found: %s"
-msgstr "E426: Tag \"%s\" konnte nicht gefunden werden"
+msgstr "E426: Konnte Tag \"%s\" nicht finden"
msgid " # pri kind tag"
msgstr " # pri verw. tag"
@@ -5190,10 +5190,10 @@ msgid "E433: No tags file"
msgstr "E433: Keine Tag-Datei"
msgid "E434: Can't find tag pattern"
-msgstr "E434: Tag-Muster kann nicht gefunden werden"
+msgstr "E434: Kann Tag-Muster nicht finden"
msgid "E435: Couldn't find tag, just guessing!"
-msgstr "E435: Tag konnte nicht gefunden werden, das ist nur eine Vermutung!"
+msgstr "E435: Konnte Tag möglicherweise nicht finden!"
msgid "' not known. Available builtin terminals are:"
msgstr "' nicht bekannt. Die folgenden eingebauten Terminals stehen zur Verfügung:"
@@ -5205,14 +5205,14 @@ msgid "E557: Cannot open termcap file"
msgstr "E557: Termcap-Datei kann nicht geöffnet werden"
msgid "E558: Terminal entry not found in terminfo"
-msgstr "E558: Terminal-Eintrag konnte in der Terminfo-Datenbank nicht gefunden werden"
+msgstr "E558: Kein Terminal-Eintrag in der Terminfo-Datenbank gefunden"
msgid "E559: Terminal entry not found in termcap"
-msgstr "E559: Terminaleintrag konnte in der Termcap-Datei nicht gefunden werden"
+msgstr "E559: Kein Terminal-Eintrag in der Termcap-Datei gefunden"
#, c-format
msgid "E436: No \"%s\" entry in termcap"
-msgstr "E436: Kein \"%s\" Eintrag in termcap"
+msgstr "E436: Kein \"%s\" Eintrag in der Termcap-Datei"
msgid "E437: terminal capability \"cm\" required"
msgstr "E437: Terminalfähigkeit \"cm\" wird benötigt"
@@ -5232,7 +5232,7 @@ msgid "Vim: Error reading input, exiting...\n"
msgstr "Vim: Fehler beim Lesen der Eingabe, Abbruch...\n"
msgid "No undo possible; continue anyway"
-msgstr "Wiederherstellung nicht möglich; setze trotz dem fort"
+msgstr "Wiederherstellung nicht möglich; setze trotzdem fort"
msgid "Already at oldest change"
msgstr "Bereits bei der ältesten Änderung"
@@ -5615,11 +5615,11 @@ msgstr "E446: Kein Dateiname unter dem Cursor"
#, c-format
msgid "E447: Can't find file \"%s\" in path"
-msgstr "E447: Datei \"%s\" kann im Pfad nicht gefunden werden"
+msgstr "E447: Kann Datei \"%s\" nicht im Pfad finden"
#, c-format
msgid "E370: Could not load library %s"
-msgstr "E370: Bibliothek %s konnte nicht geladen werden"
+msgstr "E370: Konnte Bibliothek %s nicht laden"
msgid "Sorry, this command is disabled: the Perl library could not be loaded."
msgstr "Dieser Befehl ist nicht verfügbar, da die Perl-Bibliothek nicht geladen werden konnte"
@@ -5734,7 +5734,7 @@ msgid "E21: Cannot make changes, 'modifiable' is off"
msgstr "E21: Kann keine Änderungen machen, 'modifiable' ist aus"
msgid "E22: Scripts nested too deep"
-msgstr "E22: Skript-Schachtelung zu tief"
+msgstr "E22: Skript ist zu tief verschachtelt"
msgid "E23: No alternate file"
msgstr "E23: Keine alternative Datei"
@@ -5875,7 +5875,7 @@ msgid "E523: Not allowed here"
msgstr "E523: Hier nicht erlaubt"
msgid "E359: Screen mode setting not supported"
-msgstr "E359: Bildschirm Modus wird nicht unterstützt"
+msgstr "E359: Bildschirm-Modus wird nicht unterstützt"
msgid "E49: Invalid scroll size"
msgstr "E49: Ungültige Scroll-Größe"
@@ -6013,7 +6013,7 @@ msgstr "E120: <SID> wurde nicht in einer Skript-Umgebung benutzt: %s"
#, c-format
msgid "E725: Calling dict function without Dictionary: %s"
-msgstr "E725: Aufruf der 'dict' Funktion ohne Dictionary: %s"
+msgstr "E725: Aufruf der 'dict' Funktion ohne Wörterbuch: %s"
msgid "E786: Range not allowed"
msgstr "E786: Bereich nicht erlaubt"
diff --git a/src/po/fr.po b/src/po/fr.po
index 990059f84..5e4e86681 100644
--- a/src/po/fr.po
+++ b/src/po/fr.po
@@ -5,7 +5,7 @@
#
# FIRST AUTHOR DindinX <David.Odin@bigfoot.com> 2000.
# SECOND AUTHOR Adrien Beau <version.francaise@free.fr> 2002, 2003.
-# THIRD AUTHOR David Blanchet <david.blanchet@free.fr> 2006
+# THIRD AUTHOR David Blanchet <david.blanchet@free.fr> 2006, 2008
#
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
#
@@ -80,18 +80,15 @@
# - 1 message fixed, 2 messages translated.
# 2006-05-02 DB VIM 7.0g
# - 3 message fixed.
+# 2007-05-13 DB VIM 7.1
+# - 7 new message.
+# 2007-07-03 DB Fixed a typo (François Pinard).
+# 2008-05-28 DB VIM 7.1.199
+# - 14 new messages.
+# - Fixed error number mistakes (Dominique Pelle)
+# - Fixed spelling mistakes (Patrick Texier)
#
-# Translated: 1694/1694 (100.00%)
-#
-# Polishing done on:
-# buffer.c
-# diff.c
-# digraph.c
-# edit.c
-# eval.c
-# ex_cmds.c
-#
-# Other files still to do.
+# Translated: 1708/1708 (100.00%)
#
# Notations used in the comments of the unpolished part of this file:
# TODO There's work to do there, and it's important
@@ -102,7 +99,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Vim(Français)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-01 19:42+0200\n"
+"POT-Creation-Date: 2008-05-28 23:07+0200\n"
"PO-Revision-Date: 2006-05-02 14:15+0200\n"
"Last-Translator: David Blanchet <david.blanchet@free.fr>\n"
"Language-Team: Adrien Beau <version.francaise@free.fr>\n"
@@ -320,6 +317,9 @@ msgstr "E98: Le fichier intermédiaire produit par diff n'a pu être lu"
msgid "E99: Current buffer is not in diff mode"
msgstr "E99: Le tampon courant n'est pas en mode diff"
+msgid "E793: No other buffer in diff mode is modifiable"
+msgstr "E793: Aucun autre tampon en mode diff n'est modifiable"
+
msgid "E100: No other buffer in diff mode"
msgstr "E100: Aucun autre tampon n'est en mode diff"
@@ -565,7 +565,7 @@ msgid "E689: Can only index a List or Dictionary"
msgstr "E689: Seul une Liste ou un Dictionnaire peut être indexé"
msgid "E708: [:] must come last"
-msgstr "E709: [:] ne peut être spécifié qu'en dernier"
+msgstr "E708: [:] ne peut être spécifié qu'en dernier"
msgid "E709: [:] requires a List value"
msgstr "E709: [:] requiert une Liste"
@@ -728,7 +728,7 @@ msgid "called inputrestore() more often than inputsave()"
msgstr "inputrestore() a été appelé plus de fois qu'inputsave()"
msgid "E786: Range not allowed"
-msgstr "E786: Les plages ne sont pas autorisés"
+msgstr "E786: Les plages ne sont pas autorisées"
msgid "E701: Invalid type for len()"
msgstr "E701: Type invalide avec len()"
@@ -803,6 +803,10 @@ msgid "E706: Variable type mismatch for: %s"
msgstr "E706: Type de variable incohérent pour %s"
#, c-format
+msgid "E795: Cannot delete variable %s"
+msgstr "E795: Impossible de supprimer la variable %s"
+
+#, c-format
msgid "E741: Value is locked: %s"
msgstr "E741: La valeur de %s est verrouillée"
@@ -971,7 +975,7 @@ msgstr "E165: Impossible d'aller au-delà du dernier fichier"
#, c-format
msgid "E666: compiler not supported: %s"
-msgstr "E432: Compilateur %s non supporté"
+msgstr "E666: Compilateur %s non supporté"
#, c-format
msgid "Searching for \"%s\" in \"%s\""
@@ -1126,6 +1130,7 @@ msgstr " ÉCHEC"
# ses droits d'accès.
# AB - Le mot "viminfo" a été retiré pour que le message ne dépasse pas 80
# caractères dans le cas courant où %s = /home/12345678/.viminfo
+#. avoid a wait_return for this message, it's annoying
#, c-format
msgid "E137: Viminfo file is not writable: %s"
msgstr "E137: L'écriture dans le fichier %s est interdite"
@@ -1207,6 +1212,20 @@ msgstr ""
"L'option 'readonly' est activée pour \"%s\".\n"
"Voulez-vous tout de même enregistrer ?"
+#, c-format
+msgid ""
+"File permissions of \"%s\" are read-only.\n"
+"It may still be possible to write it.\n"
+"Do you wish to try?"
+msgstr ""
+"Les droits du fichier \"%s\" sont restreints à la lecture seule.\n"
+"Il peut être possible de l'écrire tout de même.\n"
+"Tenter ?"
+
+#, c-format
+msgid "E505: \"%s\" is read-only (add ! to override)"
+msgstr "E505: \"%s\" est en lecture seule (ajoutez ! pour passer outre)"
+
# AB - Ceci est un titre de boîte de dialogue.
msgid "Edit File"
msgstr "Ouvrir un fichier - Vim"
@@ -1516,7 +1535,7 @@ msgstr "Pas de fichier d'échange"
msgid "Append File"
msgstr "Ajouter fichier"
-msgid "E747: Cannot change directory, buffer is modifed (add ! to override)"
+msgid "E747: Cannot change directory, buffer is modified (add ! to override)"
msgstr ""
"E747: Tampon modifié : impossible de changer de répertoire (ajoutez ! pour "
"passer outre)"
@@ -1761,6 +1780,9 @@ msgstr "est un répertoire"
msgid "is not a file"
msgstr "n'est pas un fichier"
+msgid "is a device (disabled with 'opendevice' option)"
+msgstr "est un périphérique (desactivé par l'option 'opendevice')"
+
msgid "[New File]"
msgstr "[Nouveau fichier]"
@@ -1800,6 +1822,9 @@ msgstr "[fifo]"
msgid "[socket]"
msgstr "[socket]"
+msgid "[character special]"
+msgstr "[caractère spécial]"
+
msgid "[RO]"
msgstr "[RO]"
@@ -1861,6 +1886,9 @@ msgstr "Netbeans interdit l'écriture partielle de ses tampons"
msgid "is not a file or writable device"
msgstr "n'est pas un fichier ou un périphérique inscriptible"
+msgid "writing to device disabled with 'opendevice' option"
+msgstr "écriture vers un périphérique désactivé par l'option 'opendevice'"
+
msgid "is read-only (add ! to override)"
msgstr "est en lecture seule (ajoutez ! pour passer outre)"
@@ -1888,7 +1916,7 @@ msgstr ""
"E460: Les ressources partagées seraient perdues (ajoutez ! pour passer outre)"
msgid "E214: Can't find temp file for writing"
-msgstr "Impossible de générer un fichier temporaire pour y écrire"
+msgstr "E214: Impossible de générer un fichier temporaire pour y écrire"
msgid "E213: Cannot convert (add ! to write without conversion)"
msgstr "E213: Impossible de convertir (ajoutez ! pour écrire sans convertir)"
@@ -2226,7 +2254,7 @@ msgid "E231: 'guifontwide' invalid"
msgstr "E231: 'guifontwide' est invalide"
msgid "E599: Value of 'imactivatekey' is invalid"
-msgstr "E599 : Valeur de 'imactivatekey' invalide"
+msgstr "E599: Valeur de 'imactivatekey' invalide"
#, c-format
msgid "E254: Cannot allocate color %s"
@@ -2648,15 +2676,15 @@ msgstr "E622: Impossible de forker pour cscope"
msgid "cs_create_connection exec failed"
msgstr "exec de cs_create_connection a échoué"
-msgid "E623: Could not spawn cscope process"
-msgstr "E623: Impossible d'engendrer le processus cscope"
-
msgid "cs_create_connection: fdopen for to_fp failed"
msgstr "cs_create_connection: fdopen pour to_fp a échoué"
msgid "cs_create_connection: fdopen for fr_fp failed"
msgstr "cs_create_connection: fdopen pour fr_fp a échoué"
+msgid "E623: Could not spawn cscope process"
+msgstr "E623: Impossible d'engendrer le processus cscope"
+
msgid "E567: no cscope connections"
msgstr "E567: Aucune connexion cscope"
@@ -3151,8 +3179,11 @@ msgstr ""
" ou :"
# DB - todo (VMS uniquement).
-msgid "where case is ignored prepend / to make flag upper case"
+msgid ""
+"\n"
+"Where case is ignored prepend / to make flag upper case"
msgstr ""
+"\n"
"pour lesquels la casse est indifférente (/ pour que le drapeau soit "
"majuscule)"
@@ -3224,8 +3255,8 @@ msgstr "-C\t\tCompatible avec Vi : 'compatible'"
msgid "-N\t\t\tNot fully Vi compatible: 'nocompatible'"
msgstr "-N\t\tPas totalement compatible avec Vi : 'nocompatible'"
-msgid "-V[N]\t\tVerbose level"
-msgstr "-V[N]\tNiveau de verbosité"
+msgid "-V[N][fname]\t\tBe verbose [level N] [log messages to fname]"
+msgstr "-V[N][<fichier>]\tMode verbeux [niveau N] [dans <fichier>]"
msgid "-D\t\t\tDebugging mode"
msgstr "-D\t\tMode débogage"
@@ -3329,9 +3360,10 @@ msgid ""
msgstr ""
"--remote-wait-silent\tPareil, mais pas d'erreur s'il n'y a aucun serveur"
-msgid "--remote-tab <files> As --remote but open tab page for each file"
+msgid ""
+"--remote-tab[-wait][-silent] <files> As --remote but use tab page per file"
msgstr ""
-"--remote-tab <fich>\tComme --remote mais ouvrir un onglet pour chaque fichier"
+"--remote-tab[-wait][-silent] <fich>\tComme --remote mais ouvrir un onglet pour chaque fichier"
msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit"
msgstr "--remote-send <tche>\tEnvoyer <touches> à un serveur Vim puis quitter"
@@ -3463,6 +3495,9 @@ msgstr "--socketid <xid>\tOuvrir Vim dans un autre widget GTK"
msgid "-P <parent title>\tOpen Vim inside parent application"
msgstr "-P <titre parent>\tOuvrir Vim dans une application parente"
+msgid "--windowid <HWND>\tOpen Vim inside another win32 widget"
+msgstr "--windowid <HWND>\tOuvrir Vim dans un autre widget win32"
+
msgid "No display"
msgstr "Aucun display"
@@ -3663,6 +3698,9 @@ msgstr ""
",\n"
"ou le fichier a été endommagé."
+msgid " has been damaged (page size is smaller than minimum value).\n"
+msgstr " a été endommagé (taille de page inférieure à la valeur minimale).\n"
+
#, c-format
msgid "Using swap file \"%s\""
msgstr "Utilisation du fichier d'échange \"%s\""
@@ -4007,6 +4045,10 @@ msgstr "E328: Le menu n'existe que dans un autre mode"
msgid "E329: No menu \"%s\""
msgstr "E329: Aucun menu \"%s\""
+#. Only a mnemonic or accelerator is not valid.
+msgid "E792: Empty menu name"
+msgstr "E792: Nom de menu vide"
+
msgid "E330: Menu path must not lead to a sub-menu"
msgstr "E330: Le chemin de menu ne doit pas conduire à un sous-menu"
@@ -4535,6 +4577,13 @@ msgstr "E594: Au moins %d colonnes sont nécessaires"
msgid "E355: Unknown option: %s"
msgstr "E355: Option inconnue : %s"
+#. There's another character after zeros or the string
+#. * is empty. In both cases, we are trying to set a
+#. * num option using a string.
+#, c-format
+msgid "E521: Number required: &%s = '%s'"
+msgstr "E521: Nombre requis: &%s = '%s'"
+
msgid ""
"\n"
"--- Terminal codes ---"
@@ -4689,6 +4738,20 @@ msgstr "L'ouverture du display X a dépassé le délai d'attente"
msgid ""
"\n"
+"Could not get security context for "
+msgstr ""
+"\n"
+"Impossible d'obtenir le contexte de sécurité pour "
+
+msgid ""
+"\n"
+"Could not set security context for "
+msgstr ""
+"\n"
+"Impossible de modifier le contexte de sécurité pour "
+
+msgid ""
+"\n"
"Cannot execute shell "
msgstr ""
"\n"
@@ -5399,6 +5462,7 @@ msgstr "Désolé, aucune suggestion"
msgid "Sorry, only %ld suggestions"
msgstr "Désolé, seulement %ld suggestions"
+#. for when 'cmdheight' > 1
#. avoid more prompt
#, c-format
msgid "Change \"%.*s\" to:"
@@ -5414,7 +5478,7 @@ msgstr "E752: Pas de suggestion orthographique précédente"
#, c-format
msgid "E753: Not found: %s"
-msgstr "E334: Introuvable : %s"
+msgstr "E753: Introuvable : %s"
#, c-format
msgid "E778: This does not look like a .sug file: %s"
@@ -5511,7 +5575,7 @@ msgid "E396: containedin argument not accepted here"
msgstr "E396: L'argument « containedin » n'est pas accepté ici"
msgid "E393: group[t]here not accepted here"
-msgstr "E394: L'argument « group[t]here » n'est pas accepté ici"
+msgstr "E393: L'argument « group[t]here » n'est pas accepté ici"
#, c-format
msgid "E394: Didn't find region item for %s"
@@ -5832,6 +5896,13 @@ msgstr ""
msgid ""
"\n"
+"MS-Windows 64 bit GUI version"
+msgstr ""
+"\n"
+"Version graphique MS-Windows 64 bits"
+
+msgid ""
+"\n"
"MS-Windows 32 bit GUI version"
msgstr ""
"\n"
@@ -6362,7 +6433,7 @@ msgid "E35: No previous regular expression"
msgstr "E35: Aucune expression régulière précédente"
msgid "E481: No range allowed"
-msgstr "E481: Les plages ne sont pas autorisés"
+msgstr "E481: Les plages ne sont pas autorisées"
msgid "E36: Not enough room"
msgstr "E36: Pas assez de place"
@@ -6439,9 +6510,9 @@ msgid "E46: Cannot change read-only variable \"%s\""
msgstr "E46: La variable \"%s\" est en lecture seule"
#, c-format
-msgid "E46: Cannot set variable in the sandbox: \"%s\""
+msgid "E794: Cannot set variable in the sandbox: \"%s\""
msgstr ""
-"E46: Impossible de modifier une variable depuis le bac à sable : \"%s\""
+"E794: Impossible de modifier une variable depuis le bac à sable : \"%s\""
msgid "E47: Error while reading errorfile"
msgstr "E47: Erreur lors de la lecture du fichier d'erreurs"
@@ -6518,7 +6589,7 @@ msgstr ""
#, c-format
msgid "E685: Internal error: %s"
-msgstr "E473: Erreur interne : %s"
+msgstr "E685: Erreur interne : %s"
msgid "E363: pattern uses more memory than 'maxmempattern'"
msgstr "E363: le motif utilise plus de mémoire que 'maxmempattern'"
diff --git a/src/po/zh_TW.po b/src/po/zh_TW.po
index 16ddfc9c9..6dba3a2f6 100644
--- a/src/po/zh_TW.po
+++ b/src/po/zh_TW.po
@@ -698,7 +698,7 @@ msgstr "E478: ¤£­nÅå·W!"
#, c-format
msgid "E661: Sorry, no '%s' help for %s"
-msgstr "E149: ©êºp, ¨S¦³Ãö©ó %s-%s ªº»¡©ú"
+msgstr "E661: ©êºp, ¨S¦³Ãö©ó %s-%s ªº»¡©ú"
#, c-format
msgid "E149: Sorry, no help for %s"
@@ -1677,7 +1677,7 @@ msgid "E231: 'guifontwide' invalid"
msgstr "E231: ¤£¥¿½Tªº 'guifontwide'"
msgid "E599: Value of 'imactivatekey' is invalid"
-msgstr "E559: 'imactivatekey' ªº­È¤£¥¿½T"
+msgstr "E599: 'imactivatekey' ªº­È¤£¥¿½T"
#, c-format
msgid "E254: Cannot allocate color %s"
@@ -4004,7 +4004,7 @@ msgstr "E56: %s* ¹Bºâ¤¸¥i¥H¬OªÅªº"
#, c-format
msgid "E57: %s+ operand could be empty"
-msgstr "E56: %s+ ¹Bºâ¤¸¥i¥H¬OªÅªº"
+msgstr "E57: %s+ ¹Bºâ¤¸¥i¥H¬OªÅªº"
#, c-format
msgid "E59: invalid character after %s@"
@@ -4930,7 +4930,7 @@ msgstr "E234: ¤£¥¿½Tªº¦r¤¸¶° (Fontset): %s"
#, c-format
msgid "E235: Unknown font: %s"
-msgstr "¤£¥¿½Tªº¦r«¬¦WºÙ: %s"
+msgstr "E235: ¤£¥¿½Tªº¦r«¬¦WºÙ: %s"
#, c-format
msgid "E236: Font \"%s\" is not fixed-width"
diff --git a/src/proto/os_mac_conv.pro b/src/proto/os_mac_conv.pro
index 7aa3d9fa1..e9417889a 100644
--- a/src/proto/os_mac_conv.pro
+++ b/src/proto/os_mac_conv.pro
@@ -4,8 +4,9 @@ int macroman2enc __ARGS((char_u *ptr, long *sizep, long real_size));
int enc2macroman __ARGS((char_u *from, size_t fromlen, char_u *to, int *tolenp, int maxtolen, char_u *rest, int *restlenp));
void mac_conv_init __ARGS((void));
void mac_conv_cleanup __ARGS((void));
-char_u *mac_utf16_to_enc __ARGS((UniChar *from, size_t fromLen, size_t *actualLen));
-UniChar *mac_enc_to_utf16 __ARGS((char_u *from, size_t fromLen, size_t *actualLen));
-CFStringRef mac_enc_to_cfstring __ARGS((char_u *from, size_t fromLen));
+char_u *mac_utf16_to_enc __ARGS((unsigned short *from, size_t fromLen, size_t *actualLen));
+unsigned short *mac_enc_to_utf16 __ARGS((char_u *from, size_t fromLen, size_t *actualLen));
+void * mac_enc_to_cfstring __ARGS((char_u *from, size_t fromLen));
char_u *mac_precompose_path __ARGS((char_u *decompPath, size_t decompLen, size_t *precompLen));
+void mac_lang_init __ARGS((void));
/* vim: set ft=c : */
diff --git a/src/spell.c b/src/spell.c
index 22630b549..cdff0a3b9 100644
--- a/src/spell.c
+++ b/src/spell.c
@@ -311,10 +311,6 @@
#if defined(FEAT_SPELL) || defined(PROTO)
-#ifdef HAVE_FCNTL_H
-# include <fcntl.h>
-#endif
-
#ifndef UNIX /* it's in os_unix.h for Unix */
# include <time.h> /* for time_t */
#endif
@@ -2945,7 +2941,7 @@ read_cnt_string(fd, cnt_bytes, cntp)
/*
* Read a string of length "cnt" from "fd" into allocated memory.
- * Returns NULL when out of memory.
+ * Returns NULL when out of memory or unable to read that many bytes.
*/
static char_u *
read_string(fd, cnt)
@@ -2954,14 +2950,23 @@ read_string(fd, cnt)
{
char_u *str;
int i;
+ int c;
/* allocate memory */
str = alloc((unsigned)cnt + 1);
if (str != NULL)
{
- /* Read the string. Doesn't check for truncated file. */
+ /* Read the string. Quit when running into the EOF. */
for (i = 0; i < cnt; ++i)
- str[i] = getc(fd);
+ {
+ c = getc(fd);
+ if (c == EOF)
+ {
+ vim_free(str);
+ return NULL;
+ }
+ str[i] = c;
+ }
str[i] = NUL;
}
return str;
@@ -3291,6 +3296,7 @@ read_words_section(fd, lp, len)
{
int done = 0;
int i;
+ int c;
char_u word[MAXWLEN];
while (done < len)
@@ -3298,7 +3304,10 @@ read_words_section(fd, lp, len)
/* Read one word at a time. */
for (i = 0; ; ++i)
{
- word[i] = getc(fd);
+ c = getc(fd);
+ if (c == EOF)
+ return SP_TRUNCERROR;
+ word[i] = c;
if (word[i] == NUL)
break;
if (i == MAXWLEN - 1)
@@ -3545,6 +3554,11 @@ read_compound(fd, slang, len)
while (todo-- > 0)
{
c = getc(fd); /* <compflags> */
+ if (c == EOF)
+ {
+ vim_free(pat);
+ return SP_TRUNCERROR;
+ }
/* Add all flags to "sl_compallflags". */
if (vim_strchr((char_u *)"+*[]/", c) == NULL
@@ -6024,7 +6038,7 @@ aff_process_flags(affile, entry)
flag = get_affitem(affile->af_flagtype, &p);
if (flag == affile->af_comppermit || flag == affile->af_compforbid)
{
- mch_memmove(prevp, p, STRLEN(p) + 1);
+ STRMOVE(prevp, p);
p = prevp;
if (flag == affile->af_comppermit)
entry->ae_comppermit = TRUE;
@@ -6515,7 +6529,7 @@ spell_read_dic(spin, fname, affile)
for (p = w; *p != NUL; mb_ptr_adv(p))
{
if (*p == '\\' && (p[1] == '\\' || p[1] == '/'))
- mch_memmove(p, p + 1, STRLEN(p));
+ STRMOVE(p, p + 1);
else if (*p == '/')
{
*p = NUL;
@@ -12574,7 +12588,7 @@ suggest_trie_walk(su, lp, fword, soundfold)
tl = (int)STRLEN(ftp->ft_to);
if (fl != tl)
{
- mch_memmove(p + tl, p + fl, STRLEN(p + fl) + 1);
+ STRMOVE(p + tl, p + fl);
repextra += tl - fl;
}
mch_memmove(p, ftp->ft_to, tl);
@@ -12604,7 +12618,7 @@ suggest_trie_walk(su, lp, fword, soundfold)
p = fword + sp->ts_fidx;
if (fl != tl)
{
- mch_memmove(p + fl, p + tl, STRLEN(p + tl) + 1);
+ STRMOVE(p + fl, p + tl);
repextra -= tl - fl;
}
mch_memmove(p, ftp->ft_from, fl);
@@ -13035,7 +13049,7 @@ stp_sal_score(stp, su, slang, badsound)
if (vim_iswhite(su->su_badptr[su->su_badlen])
&& *skiptowhite(stp->st_word) == NUL)
for (p = fword; *(p = skiptowhite(p)) != NUL; )
- mch_memmove(p, p + 1, STRLEN(p));
+ STRMOVE(p, p + 1);
spell_soundfold(slang, fword, TRUE, badsound2);
pbad = badsound2;
@@ -14281,8 +14295,7 @@ spell_soundfold_sal(slang, inword, res)
s++;
}
if (k > k0)
- mch_memmove(word + i + k0, word + i + k,
- STRLEN(word + i + k) + 1);
+ STRMOVE(word + i + k0, word + i + k);
/* new "actual letter" */
c = word[i];
@@ -14304,8 +14317,7 @@ spell_soundfold_sal(slang, inword, res)
{
if (c != NUL)
res[reslen++] = c;
- mch_memmove(word, word + i + 1,
- STRLEN(word + i + 1) + 1);
+ STRMOVE(word, word + i + 1);
i = 0;
z0 = 1;
}
diff --git a/src/testdir/Make_os2.mak b/src/testdir/Make_os2.mak
index 0f71c85af..cbf0a8464 100644
--- a/src/testdir/Make_os2.mak
+++ b/src/testdir/Make_os2.mak
@@ -25,7 +25,7 @@ SCRIPTS = test1.out test3.out test4.out test5.out test6.out \
test43.out test44.out test45.out test46.out test47.out \
test48.out test51.out test53.out test54.out test55.out \
test56.out test57.out test58.out test59.out test60.out \
- test61.out test62.out test63.out test64.out
+ test61.out test62.out test63.out test64.out test65.out
.SUFFIXES: .in .out
diff --git a/src/vim.h b/src/vim.h
index 71dd3ae2d..d77d4b719 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -1329,6 +1329,10 @@ typedef enum
*/
#define MAXMAPLEN 50
+#ifdef HAVE_FCNTL_H
+# include <fcntl.h>
+#endif
+
#ifdef BINARY_FILE_IO
# define WRITEBIN "wb" /* no CR-LF translation */
# define READBIN "rb"
@@ -1379,6 +1383,9 @@ typedef enum
# endif
#endif
+/* Like strcpy() but allows overlapped source and destination. */
+#define STRMOVE(d, s) mch_memmove((d), (s), STRLEN(s) + 1)
+
#ifdef HAVE_STRNCASECMP
# define STRNICMP(d, s, n) strncasecmp((char *)(d), (char *)(s), (size_t)(n))
#else
@@ -1709,7 +1716,8 @@ typedef int proftime_T; /* dummy for function prototypes */
#define VV_MOUSE_LNUM 50
#define VV_MOUSE_COL 51
#define VV_OP 52
-#define VV_LEN 53 /* number of v: vars */
+#define VV_SEARCHFORWARD 53
+#define VV_LEN 54 /* number of v: vars */
#ifdef FEAT_CLIPBOARD
diff --git a/src/vim16.def b/src/vim16.def
index 82fe1f124..223ddaf07 100644
--- a/src/vim16.def
+++ b/src/vim16.def
@@ -1,5 +1,5 @@
CODE PRELOAD EXECUTEONLY
DATA MULTIPLE SHARED
-DESCRIPTION 'Vim 7.1'
+DESCRIPTION 'Vim 7.2a'
STACKSIZE 16000
HEAPSIZE 10000