summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2005-11-23 21:25:05 +0000
committerBram Moolenaar <Bram@vim.org>2005-11-23 21:25:05 +0000
commita5792f58905da28f0ab37e1c4c3cfd8171b2e602 (patch)
tree258ddcfde89bbf98b90d42dd6c297e1b22a20d09 /src
parentaf289d333a2985051948a53d510fa345df1ddeb3 (diff)
updated for version 7.0158v7.0158
Diffstat (limited to 'src')
-rw-r--r--src/Makefile13
-rwxr-xr-xsrc/auto/configure19
-rw-r--r--src/charset.c4
-rw-r--r--src/configure.in17
-rw-r--r--src/eval.c3
-rw-r--r--src/ex_cmds.c29
-rw-r--r--src/ex_docmd.c18
-rw-r--r--src/fileio.c80
-rw-r--r--src/gui_x11.c5
-rw-r--r--src/if_python.c10
-rw-r--r--src/memfile.c2
-rw-r--r--src/normal.c6
-rw-r--r--src/ops.c12
-rw-r--r--src/os_unix.c23
-rw-r--r--src/po/check.vim5
-rw-r--r--src/po/cleanup.vim10
-rw-r--r--src/po/pl.cp1250.po654
-rw-r--r--src/po/pl.po654
-rw-r--r--src/po/sk.cp1250.po3149
-rw-r--r--src/po/sk.po3149
-rw-r--r--src/search.c2
-rw-r--r--src/testdir/Makefile2
-rw-r--r--src/testdir/test51.in2
-rw-r--r--src/vim.h4
24 files changed, 5236 insertions, 2636 deletions
diff --git a/src/Makefile b/src/Makefile
index 3c0429b02c..56ab707a3a 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -149,7 +149,7 @@
# make -n uninstall
# }}}
#
-### This Makefile has been succesfully tested on many systems. {{{
+### This Makefile has been successfully tested on many systems. {{{
### Only the ones that require special options are mentioned here.
### Check the (*) column for remarks, listed below.
### Later code changes may cause small problems, otherwise Vim is supposed to
@@ -296,7 +296,7 @@ CClink = $(CC)
# below. As shipped, this file contains a target that causes to run
# configure. Once configure was run, this file contains a list of
# make variables with predefined values instead. Thus any second invocation
-# of make, will buid Vim.
+# of make, will build Vim.
# CONFIGURE - configure arguments {{{1
# You can give a lot of options to configure.
@@ -374,6 +374,7 @@ CClink = $(CC)
# Uncomment this when you want to include the Python interface.
# NOTE: This may cause threading to be enabled, which has side effects (such
# as using different libraries and debugging becomes more difficult).
+# NOTE: Using this together with Perl may cause a crash in initialization.
#CONF_OPT_PYTHON = --enable-pythoninterp
# TCL
@@ -420,10 +421,10 @@ CClink = $(CC)
# though configure can find support for it.
#CONF_OPT_NLS = --disable-nls
-# XIM - X Input Method. Special character input support for X11 (chinese,
-# japanese, special symbols, etc). Also needed for dead-key support.
+# XIM - X Input Method. Special character input support for X11 (Chinese,
+# Japanese, special symbols, etc). Also needed for dead-key support.
# When omitted it's automatically enabled for the X-windows GUI.
-# HANGUL - Input Hangul (korean) language using internal routines.
+# HANGUL - Input Hangul (Korean) language using internal routines.
# Uncomment one of these when you want to input a multibyte language.
#CONF_OPT_INPUT = --enable-xim
#CONF_OPT_INPUT = --disable-xim
@@ -462,7 +463,7 @@ CClink = $(CC)
#CONF_OPT_X = --without-x
# X WINDOWS DIRECTORY - specify X directories
-# If configure can't find you X stuff, or if you have multiple X11 derivates
+# If configure can't find you X stuff, or if you have multiple X11 derivatives
# installed, you may wish to specify which one to use.
# Select nothing to let configure choose.
# This here selects openwin (as found on sun).
diff --git a/src/auto/configure b/src/auto/configure
index 1056c0b1b0..c109822693 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -2801,8 +2801,8 @@ if test -z "$CFLAGS"; then
fi
if test "$GCC" = yes; then
gccversion=`"$CC" --version | sed -e '2,$d;s/^[^0-9]*\([0-9]\.[0-9.]*\).*$/\1/g'`
- if test "$gccversion" = "3.0.1" -o "$gccversion" = "3.0.2"; then
- echo 'GCC 3.0.x has a bug in the optimizer, disabling "-O#"'
+ if test "$gccversion" = "3.0.1" -o "$gccversion" = "3.0.2" -o "$gccversion" = "4.0.1"; then
+ echo 'GCC 34.0.12 has a bug in the optimizer, disabling "-O#"'
CFLAGS=`echo "$CFLAGS" | sed 's/-O[23456789]/-O/'`
else
if test "$gccversion" = "3.1" -o "$gccversion" = "3.2" -o "$gccversion" = "3.2.1" && `echo "$CFLAGS" | grep -v fno-strength-reduce >/dev/null`; then
@@ -4516,7 +4516,7 @@ echo $ECHO_N "checking for location of tclConfig.sh script... $ECHO_C" >&6
echo "${ECHO_T}$try/tclConfig.sh" >&6
. $try/tclConfig.sh
TCL_LIBS=`eval echo "$TCL_LIB_SPEC $TCL_LIBS"`
- TCL_DEFS=`echo $TCL_DEFS | sed -e 's/\ /\X/' | tr ' ' '\012' | sed -e '/^-[^D]/d' -e '/-D[^_]/d' -e 's/-D_/ -D_/' | tr -d '\012'`
+ TCL_DEFS=`echo $TCL_DEFS | sed -e 's/\\ /\\X/' | tr ' ' '\012' | sed -e '/^-[^D]/d' -e '/-D[^_]/d' -e 's/-D_/ -D_/' | tr -d '\012'`
break
fi
done
@@ -16048,13 +16048,22 @@ echo "${ECHO_T}no" >&6
fi
fi
+echo "$as_me:$LINENO: checking for GCC 3 or later" >&5
+echo $ECHO_N "checking for GCC 3 or later... $ECHO_C" >&6
DEPEND_CFLAGS_FILTER=
if test "$GCC" = yes; then
- gccmajor=`"$CC" --version | sed -e '2,$d;s/^[^0-9]*\([3-9]\)\.[0-9.]*.*$/\1/g'`
- if test "$gccmajor" != ""; then
+ gccmajor=`"$CC" --version | sed -e '2,$d;s/^[^0-9]*\([1-9]\)\.[0-9.]*.*$/\1/g'`
+ if test "$gccmajor" > "2"; then
DEPEND_CFLAGS_FILTER="| sed 's+-I */+-isystem /+g'"
fi
fi
+if test "$DEPEND_CFLAGS_FILTER" = ""; then
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+else
+ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+fi
ac_config_files="$ac_config_files auto/config.mk:config.mk.in"
diff --git a/src/charset.c b/src/charset.c
index 19f202acf5..1e0e8372e9 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -1381,8 +1381,8 @@ getvvcol(wp, pos, start, cursor, end)
if (c != TAB && vim_isprintc(c))
{
endadd = char2cells(c) - 1;
- if (coladd >= endadd)
- coladd -= endadd;
+ if (coladd > endadd) /* past end of line */
+ endadd = 0;
else
coladd = 0;
}
diff --git a/src/configure.in b/src/configure.in
index ba22f581b8..404fbafd06 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -30,8 +30,9 @@ if test -z "$CFLAGS"; then
fi
if test "$GCC" = yes; then
gccversion=`"$CC" --version | sed -e '2,$d;s/^[[^0-9]]*\([[0-9]]\.[[0-9.]]*\).*$/\1/g'`
- if test "$gccversion" = "3.0.1" -o "$gccversion" = "3.0.2"; then
- echo 'GCC 3.0.x has a bug in the optimizer, disabling "-O#"'
+ dnl version 4.0.1 was reported to cause trouble on Macintosh by Marcin Dalecki
+ if test "$gccversion" = "3.0.1" -o "$gccversion" = "3.0.2" -o "$gccversion" = "4.0.1"; then
+ echo 'GCC [34].0.[12] has a bug in the optimizer, disabling "-O#"'
CFLAGS=`echo "$CFLAGS" | sed 's/-O[[23456789]]/-O/'`
else
if test "$gccversion" = "3.1" -o "$gccversion" = "3.2" -o "$gccversion" = "3.2.1" && `echo "$CFLAGS" | grep -v fno-strength-reduce >/dev/null`; then
@@ -748,7 +749,7 @@ if test "$enable_tclinterp" = "yes"; then
TCL_LIBS=`eval echo "$TCL_LIB_SPEC $TCL_LIBS"`
dnl Use $TCL_DEFS for -D_THREAD_SAFE et al. But only use the
dnl "-D_ABC" items. Watch out for -DFOO=long\ long.
- TCL_DEFS=`echo $TCL_DEFS | sed -e 's/\ /\X/' | tr ' ' '\012' | sed -e '/^-[[^D]]/d' -e '/-D[[^_]]/d' -e 's/-D_/ -D_/' | tr -d '\012'`
+ TCL_DEFS=`echo $TCL_DEFS | sed -e 's/\\ /\\X/' | tr ' ' '\012' | sed -e '/^-[[^D]]/d' -e '/-D[[^_]]/d' -e 's/-D_/ -D_/' | tr -d '\012'`
break
fi
done
@@ -3071,13 +3072,19 @@ fi
dnl gcc 3.1 changed the meaning of -MM. The only solution appears to be to
dnl use "-isystem" instead of "-I" for all non-Vim include dirs.
dnl But only when making dependencies, cproto and lint don't take "-isystem".
+AC_MSG_CHECKING(for GCC 3 or later)
DEPEND_CFLAGS_FILTER=
if test "$GCC" = yes; then
- gccmajor=`"$CC" --version | sed -e '2,$d;s/^[[^0-9]]*\([[3-9]]\)\.[[0-9.]]*.*$/\1/g'`
- if test "$gccmajor" != ""; then
+ gccmajor=`"$CC" --version | sed -e '2,$d;s/^[[^0-9]]*\([[1-9]]\)\.[[0-9.]]*.*$/\1/g'`
+ if test "$gccmajor" > "2"; then
DEPEND_CFLAGS_FILTER="| sed 's+-I */+-isystem /+g'"
fi
fi
+if test "$DEPEND_CFLAGS_FILTER" = ""; then
+ AC_MSG_RESULT(no)
+else
+ AC_MSG_RESULT(yes)
+fi
AC_SUBST(DEPEND_CFLAGS_FILTER)
dnl write output files
diff --git a/src/eval.c b/src/eval.c
index ef84aeecc0..423faea52e 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -16538,7 +16538,8 @@ set_var(name, tv, copy)
{
/* Make sure the variable name is valid. */
for (p = varname; *p != NUL; ++p)
- if (!eval_isnamec1(*p) && (p == varname || !VIM_ISDIGIT(*p)))
+ if (!eval_isnamec1(*p) && (p == varname || !VIM_ISDIGIT(*p))
+ && *p != AUTOLOAD_CHAR)
{
EMSG2(_(e_illvar), varname);
return;
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index 84c5b49f27..ac3a2b257c 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -12,6 +12,9 @@
*/
#include "vim.h"
+#ifdef HAVE_FCNTL_H
+# include <fcntl.h>
+#endif
#include "version.h"
#ifdef FEAT_EX_EXTRA
@@ -1797,7 +1800,17 @@ write_viminfo(file, forceit)
if (tempname != NULL)
{
- fp_out = mch_fopen((char *)tempname, WRITEBIN);
+ int fd;
+
+ /* Use mch_open() to be able to use O_NOFOLLOW and set file
+ * protection same as original file, but strip s-bit. */
+ fd = mch_open((char *)tempname,
+ O_CREAT|O_EXTRA|O_EXCL|O_WRONLY|O_NOFOLLOW,
+ (int)((st_old.st_mode & 0777) | 0600));
+ if (fd < 0)
+ fp_out = NULL;
+ else
+ fp_out = fdopen(fd, WRITEBIN);
/*
* If we can't create in the same directory, try creating a
@@ -1809,18 +1822,14 @@ write_viminfo(file, forceit)
if ((tempname = vim_tempname('o')) != NULL)
fp_out = mch_fopen((char *)tempname, WRITEBIN);
}
-#ifdef UNIX
+
+#if defined(UNIX) && defined(HAVE_FCHOWN)
/*
- * Set file protection same as original file, but strip s-bit
- * and make sure the owner can read/write it.
+ * Make sure the owner can read/write it. This only works for
+ * root.
*/
if (fp_out != NULL)
- {
- (void)mch_setperm(tempname,
- (long)((st_old.st_mode & 0777) | 0600));
- /* this only works for root: */
- (void)chown((char *)tempname, st_old.st_uid, st_old.st_gid);
- }
+ (void)fchown(fileno(fp_out), st_old.st_uid, st_old.st_gid);
#endif
}
}
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 7242381795..4a4e89f6b1 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -2152,20 +2152,16 @@ do_one_cmd(cmdlinep, sourcing,
*/
if (!global_busy && ea.line1 > ea.line2)
{
- if (sourcing || exmode_active)
- {
- errormsg = (char_u *)_("E493: Backwards range given");
- goto doend;
- }
- else
+ if (msg_silent == 0)
{
- int msg_silent_save = msg_silent;
-
- msg_silent = 0;
+ if (sourcing || exmode_active)
+ {
+ errormsg = (char_u *)_("E493: Backwards range given");
+ goto doend;
+ }
if (ask_yesno((char_u *)
_("Backwards range given, OK to swap"), FALSE) != 'y')
- goto doend;
- msg_silent = msg_silent_save;
+ goto doend;
}
lnum = ea.line1;
ea.line1 = ea.line2;
diff --git a/src/fileio.c b/src/fileio.c
index f04612d886..a3ceb4b5d8 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -3111,7 +3111,12 @@ buf_write(buf, fname, sfname, start, end, eap, append, forceit,
if (st_old.st_nlink > 1
|| mch_lstat((char *)fname, &st) < 0
|| st.st_dev != st_old.st_dev
- || st.st_ino != st_old.st_ino)
+ || st.st_ino != st_old.st_ino
+# ifndef HAVE_FCHOWN
+ || st.st_uid != st_old.st_uid
+ || st.st_gid != st_old.st_gid
+# endif
+ )
backup_copy = TRUE;
else
# endif
@@ -3126,18 +3131,19 @@ buf_write(buf, fname, sfname, start, end, eap, append, forceit,
for (i = 4913; ; i += 123)
{
sprintf((char *)gettail(IObuff), "%d", i);
- if (mch_stat((char *)IObuff, &st) < 0)
+ if (mch_lstat((char *)IObuff, &st) < 0)
break;
}
- fd = mch_open((char *)IObuff, O_CREAT|O_WRONLY|O_EXCL, perm);
- close(fd);
+ fd = mch_open((char *)IObuff,
+ O_CREAT|O_WRONLY|O_EXCL|O_NOFOLLOW, perm);
if (fd < 0) /* can't write in directory */
backup_copy = TRUE;
else
{
# ifdef UNIX
- chown((char *)IObuff, st_old.st_uid, st_old.st_gid);
- (void)mch_setperm(IObuff, perm);
+# ifdef HAVE_FCHOWN
+ fchown(fd, st_old.st_uid, st_old.st_gid);
+# endif
if (mch_stat((char *)IObuff, &st) < 0
|| st.st_uid != st_old.st_uid
|| st.st_gid != st_old.st_gid
@@ -3145,6 +3151,7 @@ buf_write(buf, fname, sfname, start, end, eap, append, forceit,
backup_copy = TRUE;
# endif
mch_remove(IObuff);
+ close(fd);
}
}
}
@@ -3338,7 +3345,8 @@ buf_write(buf, fname, sfname, start, end, eap, append, forceit,
/* Open with O_EXCL to avoid the file being created while
* we were sleeping (symlink hacker attack?) */
bfd = mch_open((char *)backup,
- O_WRONLY|O_CREAT|O_EXTRA|O_EXCL, perm & 0777);
+ O_WRONLY|O_CREAT|O_EXTRA|O_EXCL|O_NOFOLLOW,
+ perm & 0777);
if (bfd < 0)
{
vim_free(backup);
@@ -3357,11 +3365,9 @@ buf_write(buf, fname, sfname, start, end, eap, append, forceit,
* bits for the group same as the protection bits for
* others.
*/
- if (st_new.st_gid != st_old.st_gid &&
+ if (st_new.st_gid != st_old.st_gid
# ifdef HAVE_FCHOWN /* sequent-ptx lacks fchown() */
- fchown(bfd, (uid_t)-1, st_old.st_gid) != 0
-# else
- chown((char *)backup, (uid_t)-1, st_old.st_gid) != 0
+ && fchown(bfd, (uid_t)-1, st_old.st_gid) != 0
# endif
)
mch_setperm(backup,
@@ -4023,6 +4029,29 @@ restore_backup:
}
#endif
+#ifdef UNIX
+ /* When creating a new file, set its owner/group to that of the original
+ * file. Get the new device and inode number. */
+ if (backup != NULL && !backup_copy)
+ {
+# ifdef HAVE_FCHOWN
+ struct stat st;
+
+ /* don't change the owner when it's already OK, some systems remove
+ * permission or ACL stuff */
+ if (mch_stat((char *)wfname, &st) < 0
+ || st.st_uid != st_old.st_uid
+ || st.st_gid != st_old.st_gid)
+ {
+ fchown(fd, st_old.st_uid, st_old.st_gid);
+ if (perm >= 0) /* set permission again, may have changed */
+ (void)mch_setperm(wfname, perm);
+ }
+# endif
+ buf_setino(buf);
+ }
+#endif
+
if (close(fd) != 0)
{
errmsg = (char_u *)_("E512: Close failed");
@@ -4047,27 +4076,6 @@ restore_backup:
mch_set_acl(wfname, acl);
#endif
-#ifdef UNIX
- /* When creating a new file, set its owner/group to that of the original
- * file. Get the new device and inode number. */
- if (backup != NULL && !backup_copy)
- {
- struct stat st;
-
- /* don't change the owner when it's already OK, some systems remove
- * permission or ACL stuff */
- if (mch_stat((char *)wfname, &st) < 0
- || st.st_uid != st_old.st_uid
- || st.st_gid != st_old.st_gid)
- {
- chown((char *)wfname, st_old.st_uid, st_old.st_gid);
- if (perm >= 0) /* set permission again, may have changed */
- (void)mch_setperm(wfname, perm);
- }
- buf_setino(buf);
- }
-#endif
-
#if defined(FEAT_MBYTE) && defined(FEAT_EVAL)
if (wfname != fname)
@@ -4288,7 +4296,8 @@ restore_backup:
int empty_fd;
if (org == NULL
- || (empty_fd = mch_open(org, O_CREAT | O_EXTRA | O_EXCL,
+ || (empty_fd = mch_open(org,
+ O_CREAT | O_EXTRA | O_EXCL | O_NOFOLLOW,
perm < 0 ? 0666 : (perm & 0777))) < 0)
EMSG(_("E206: patchmode: can't touch empty original file"));
else
@@ -5757,7 +5766,8 @@ vim_rename(from, to)
return -1;
/* Create the new file with same permissions as the original. */
- fd_out = mch_open((char *)to, O_CREAT|O_EXCL|O_WRONLY|O_EXTRA, (int)perm);
+ fd_out = mch_open((char *)to,
+ O_CREAT|O_EXCL|O_WRONLY|O_EXTRA|O_NOFOLLOW, (int)perm);
if (fd_out == -1)
{
close(fd_in);
@@ -7273,7 +7283,7 @@ au_event_disable(what)
save_ei = vim_strsave(p_ei);
if (save_ei != NULL)
{
- new_ei = vim_strnsave(p_ei, (int)STRLEN(p_ei) + 8);
+ new_ei = vim_strnsave(p_ei, (int)(STRLEN(p_ei) + STRLEN(what)));
if (new_ei != NULL)
{
STRCAT(new_ei, what);
diff --git a/src/gui_x11.c b/src/gui_x11.c
index 829176b5b2..be93cc5b2c 100644
--- a/src/gui_x11.c
+++ b/src/gui_x11.c
@@ -535,7 +535,7 @@ static XrmOptionDescRec cmdline_options[] =
{"+reverse", "*reverseVideo", XrmoptionNoArg, "False"},
{"+rv", "*reverseVideo", XrmoptionNoArg, "False"},
{"-display", ".display", XrmoptionSepArg, NULL},
- {"-iconic", "*iconic", XrmoptionNoArg, "True"},
+ {"-iconic", ".iconic", XrmoptionNoArg, "True"},
{"-name", ".name", XrmoptionSepArg, NULL},
{"-bw", ".borderWidth", XrmoptionSepArg, NULL},
{"-borderwidth", ".borderWidth", XrmoptionSepArg, NULL},
@@ -1610,7 +1610,8 @@ gui_mch_new_colors()
gui_mch_open()
{
/* Actually open the window */
- XtPopup(vimShell, XtGrabNone);
+ XtRealizeWidget(vimShell);
+ XtManageChild(XtNameToWidget(vimShell, "*vimForm"));
gui.wid = gui_x11_get_wid();
gui.blank_pointer = gui_x11_create_blank_mouse();
diff --git a/src/if_python.c b/src/if_python.c
index 623731a55f..d58f7cf1e2 100644
--- a/src/if_python.c
+++ b/src/if_python.c
@@ -436,6 +436,14 @@ static void Python_Release_Vim(void)
void
python_end()
{
+ static int recurse = 0;
+
+ /* If a crash occurs while doing this, don't try again. */
+ if (recurse != 0)
+ return;
+
+ ++recurse;
+
#ifdef DYNAMIC_PYTHON
if (hinstPython && Py_IsInitialized())
{
@@ -450,6 +458,8 @@ python_end()
Py_Finalize();
}
#endif
+
+ --recurse;
}
static int
diff --git a/src/memfile.c b/src/memfile.c
index 8c41832c20..e1a6b603b9 100644
--- a/src/memfile.c
+++ b/src/memfile.c
@@ -1287,7 +1287,7 @@ mf_do_open(mfp, fname, flags)
/*
* try to open the file
*/
- flags |= O_EXTRA;
+ flags |= O_EXTRA | O_NOFOLLOW;
#ifdef WIN32
/* Prevent handle inheritance that cause problems with Cscope
* (swap file may not be deleted if cscope connection was open after
diff --git a/src/normal.c b/src/normal.c
index 73c4cfd006..2d574d5c04 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -4229,9 +4229,7 @@ nv_mousescroll(cap)
cmdarg_T *cap;
{
# if defined(FEAT_GUI) && defined(FEAT_WINDOWS)
- win_T *old_curwin;
-
- old_curwin = curwin;
+ win_T *old_curwin = curwin;
/* Currently we only get the mouse coordinates in the GUI. */
if (gui.in_use && mouse_row >= 0 && mouse_col >= 0)
@@ -8083,6 +8081,8 @@ nv_beginline(cap)
if ((fdo_flags & FDO_HOR) && KeyTyped && cap->oap->op_type == OP_NOP)
foldOpenCursor();
#endif
+ ins_at_eol = FALSE; /* Don't move cursor past eol (only necessary in a
+ one-character line). */
}
#ifdef FEAT_VISUAL
diff --git a/src/ops.c b/src/ops.c
index a88c907392..8c239da135 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -3724,13 +3724,17 @@ end:
&& curwin->w_cursor.col > 0
&& !(restart_edit || (State & INSERT)))
{
-#ifdef FEAT_VIRTUALEDIT
- col = curwin->w_cursor.col;
-#endif
+ /* Put the cursor on the last character in the line. */
dec_cursor();
#ifdef FEAT_VIRTUALEDIT
if (ve_flags == VE_ALL)
- curwin->w_cursor.coladd = col - curwin->w_cursor.col;
+ {
+ colnr_T scol, ecol;
+
+ /* Coladd is set to the width of the last character. */
+ getvcol(curwin, &curwin->w_cursor, &scol, NULL, &ecol);
+ curwin->w_cursor.coladd = ecol - scol + 1;
+ }
#endif
}
}
diff --git a/src/os_unix.c b/src/os_unix.c
index 491d41a2e0..f951f18469 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -3709,6 +3709,11 @@ mch_call_shell(cmd, options)
putenv(envbuf_Columns);
# endif
+ /*
+ * stderr is only redirected when using the GUI, so that a
+ * program like gpg can still access the terminal to get a
+ * passphrase using stderr.
+ */
# ifdef FEAT_GUI
if (pty_master_fd >= 0)
{
@@ -3719,8 +3724,11 @@ mch_call_shell(cmd, options)
dup(pty_slave_fd);
close(1);
dup(pty_slave_fd);
- close(2);
- dup(pty_slave_fd);
+ if (gui.in_use)
+ {
+ close(2);
+ dup(pty_slave_fd);
+ }
close(pty_slave_fd); /* has been dupped, close it now */
}
@@ -3739,9 +3747,14 @@ mch_call_shell(cmd, options)
dup(fd_fromshell[1]);
close(fd_fromshell[1]);
- /* set up stderr for the child */
- close(2);
- dup(1);
+# ifdef FEAT_GUI
+ if (gui.in_use)
+ {
+ /* set up stderr for the child */
+ close(2);
+ dup(1);
+ }
+# endif
}
}
diff --git a/src/po/check.vim b/src/po/check.vim
index a5f25aa0b2..50ed9a40f1 100644
--- a/src/po/check.vim
+++ b/src/po/check.vim
@@ -19,6 +19,9 @@ func! GetMline()
let idline .= substitute(line, '"\(.*\)"$', '\1', '')
endwhile
+ " remove '%', not used for formatting.
+ let idline = substitute(idline, "'%'", '', 'g')
+
" remove everything but % items.
return substitute(idline, '[^%]*\(%[-+ #''.0-9*]*l\=[dsuxXpoc%]\)\=', '\1', 'g')
endfunc
@@ -39,6 +42,8 @@ while 1
let toline = GetMline()
if fromline != toline
echo 'Mismatching % in line ' . (line('.') - 1)
+ echo 'msgid: ' . fromline
+ echo 'msgstr: ' . toline
let error = 1
endif
endif
diff --git a/src/po/cleanup.vim b/src/po/cleanup.vim
index 313f1595cd..78d1e5afe8 100644
--- a/src/po/cleanup.vim
+++ b/src/po/cleanup.vim
@@ -3,8 +3,8 @@
" - Comment-out fuzzy and empty messages.
" - Make sure there is a space before the string (required for Solaris).
" Requires Vim 6.0 or later (because of multi-line search patterns).
-g/^#: /d
-g/^#, fuzzy\(, .*\)\=\nmsgid ""\@!/.+1,/^$/-1s/^/#\~ /
-g/^msgstr"/s//msgstr "/
-g/^msgid"/s//msgid "/
-g/^msgstr ""\(\n"\)\@!/?^msgid?,.s/^/#\~ /
+silent g/^#: /d
+silent g/^#, fuzzy\(, .*\)\=\nmsgid ""\@!/.+1,/^$/-1s/^/#\~ /
+silent g/^msgstr"/s//msgstr "/
+silent g/^msgid"/s//msgid "/
+silent g/^msgstr ""\(\n"\)\@!/?^msgid?,.s/^/#\~ /
diff --git a/src/po/pl.cp1250.po b/src/po/pl.cp1250.po
index 8014f25d0b..aa4566248a 100644
--- a/src/po/pl.cp1250.po
+++ b/src/po/pl.cp1250.po
@@ -1,18 +1,18 @@
# translation of pl.po to Polish
# Polish Translation for Vim
#
-# updated 2001 for vim-6.0
+# updated 2005 for vim-7.0
+#
# FIRST AUTHOR Marcin Dalecki <martin@dalecki.de>, 2000.
# Mikolaj Machowski <mikmach@wp.pl>, 2004, 2005.
-#
msgid ""
msgstr ""
"Project-Id-Version: pl\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-06-27 01:18+0200\n"
-"PO-Revision-Date: 2005-06-27 10:45+0200\n"
+"POT-Creation-Date: 2005-10-14 01:26+0200\n"
+"PO-Revision-Date: 2005-10-14 12:24+0200\n"
"Last-Translator: Mikolaj Machowski <mikmach@wp.pl>\n"
-"Language-Team: Polish <kde-transl@mer.chemia.polsl.gliwice.pl>\n"
+"Language-Team: Polish <mikmach@wp.pl>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=cp1250\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -218,13 +218,8 @@ msgid " Keyword completion (^N^P)"
msgstr " Dopełnianie słów kluczowych (^N^P)"
#. ctrl_x_mode == 0, ^P/^N compl.
-msgid " ^X mode (^E^Y^L^]^F^I^K^D^U^V^N^P)"
-msgstr " ^X tryb (^E^Y^L^]^F^I^K^D^U^V^N^P)"
-
-#. Scroll has it's own msgs, in it's place there is the msg for local
-#. * ctrl_x_mode = 0 (eg continue_status & CONT_LOCAL) -- Acevedo
-msgid " Keyword Local completion (^N^P)"
-msgstr " Lokalne dopełnianie słów kluczowych (^N^P)"
+msgid " ^X mode (^]^D^E^F^I^K^L^N^O^P^S^U^V^Y)"
+msgstr " ^X tryb (^]^D^E^F^I^K^L^N^O^P^S^U^V^Y)"
msgid " Whole line completion (^L^N^P)"
msgstr " Dopełnianie pełnych wierszy (^L^N^P)"
@@ -253,15 +248,24 @@ msgstr " Dopełnianie wiersza poleceń (^V^N^P)"
msgid " User defined completion (^U^N^P)"
msgstr "Dopełnianie zdefiniowane przez użytkownika (^U^N^P)"
+msgid " Omni completion (^O^N^P)"
+msgstr " Omni uzupełnianie (^O^N^P)"
+
+msgid " Spelling suggestion (^S^N^P)"
+msgstr "Propozycja ortografii (^L^N^P)"
+
+msgid " Keyword Local completion (^N^P)"
+msgstr " Lokalne dopełnianie słów kluczowych (^N^P)"
+
msgid "Hit end of paragraph"
msgstr "Dobiłem do końca akapitu"
-msgid "'thesaurus' option is empty"
-msgstr "opcja 'thesaurus' jest pusta"
-
msgid "'dictionary' option is empty"
msgstr "opcja 'dictionary' jest pusta"
+msgid "'thesaurus' option is empty"
+msgstr "opcja 'thesaurus' jest pusta"
+
#, c-format
msgid "Scanning dictionary: %s"
msgstr "Przeglądam słownik: %s"
@@ -311,9 +315,8 @@ msgid "E18: Unexpected characters in :let"
msgstr "E18: Nieoczekiwane znaki w :let"
#, c-format
-#, fuzzy
-#~ msgid "E684: list index out of range: %ld"
-#~ msgstr "E684: : %ld"
+msgid "E684: list index out of range: %ld"
+msgstr "E684: Indeks listy poza zakresem: %ld"
#, c-format
msgid "E121: Undefined variable: %s"
@@ -372,11 +375,11 @@ msgstr "E130: Nieznana funkcja: %s"
msgid "E461: Illegal variable name: %s"
msgstr "E418: Niedozwolona nazwa zmiennej: %s"
-#~ msgid "E687: Less targets than List items"
-#~ msgstr ""
+msgid "E687: Less targets than List items"
+msgstr "E687: Mniej celów niż elementów Listy"
-#~ msgid "E688: More targets than List items"
-#~ msgstr ""
+msgid "E688: More targets than List items"
+msgstr "E688: Więcej celów niż elementów Listy"
msgid "Double ; in list of variables"
msgstr "Podwójny ; w liście zmiennych"
@@ -394,11 +397,11 @@ msgstr "E708: [:] musi być ostatnie"
msgid "E709: [:] requires a List value"
msgstr "E709: [:] wymaga wartości listy"
-#~ msgid "E710: List value has more items than target"
-#~ msgstr ""
+msgid "E710: List value has more items than target"
+msgstr "E710: Lista ma więcej elementów niż cel"
-#~ msgid "E711: List value has not enough items"
-#~ msgstr ""
+msgid "E711: List value has not enough items"
+msgstr "E711: Lista nie ma wystarczającej ilości elementów"
msgid "E690: Missing \"in\" after :for"
msgstr "E690: Brak \"in\" po :for"
@@ -438,9 +441,8 @@ msgstr "E694: Nieprawidłowa operacja dla Funcref"
msgid "E110: Missing ')'"
msgstr "E110: Brak ')'"
-#, fuzzy
-#~ msgid "E695: Cannot index a Funcref"
-#~ msgstr "E90: Nie mogę wyładować ostatniego bufora"
+msgid "E695: Cannot index a Funcref"
+msgstr "E695: Nie można zindeksować Funcref"
#, c-format
msgid "E112: Option name missing: %s"
@@ -472,7 +474,7 @@ msgstr "E720: Brak dwukropka w Słowniku: %s"
#, c-format
msgid "E721: Duplicate key in Dictionary: \"%s\""
-msgstr "E721: Podwójny klucz w Słowniku: \"%s\""
+msgstr "E721: Powtórzony klucz w Słowniku: \"%s\""
#, c-format
msgid "E722: Missing comma in Dictionary: %s"
@@ -524,8 +526,8 @@ msgstr "E745: Zakres niedozwolony"
msgid "E701: Invalid type for len()"
msgstr "E701: Nieprawidłowy typ dla len()"
-#~ msgid "E726: Stride is zero"
-#~ msgstr ""
+msgid "E726: Stride is zero"
+msgstr "E726: Skok to zero"
msgid "E727: Start past end"
msgstr "E727: Początek po końcu"
@@ -549,9 +551,8 @@ msgstr "E655: Za dużo dowiązań symbolicznych (pętla?)"
msgid "E258: Unable to send to client"
msgstr "E258: Nie mogę wysłać do klienta"
-#, fuzzy
-#~ msgid "E702: Sort compare function failed"
-#~ msgstr "E237: Wybór drukarki nie powiódł się"
+msgid "E702: Sort compare function failed"
+msgstr "E702: Funkcja porównywania w sort nie powiodła się"
msgid "(Invalid)"
msgstr "(Niewłaściwe)"
@@ -582,8 +583,8 @@ msgid "E704: Funcref variable name must start with a capital: %s"
msgstr "E704: Nazwa Funcref musi się zaczynać wielką literą: %s"
#, c-format
-#~ msgid "705: Variable name conflicts with existing function: %s"
-#~ msgstr ""
+msgid "E705: Variable name conflicts with existing function: %s"
+msgstr "E705: Nazwa zmiennej jest w konflikcie z istniejącą funkcją: %s"
#, c-format
msgid "E706: Variable type mismatch for: %s"
@@ -623,7 +624,9 @@ msgstr "E129: Wymagana jest nazwa funkcji"
#, c-format
msgid "E128: Function name must start with a capital or contain a colon: %s"
-msgstr "E128: Nazwa funkcji musi rozpoczynać się wielką literą lub zawierać dwukropek: %s"
+msgstr ""
+"E128: Nazwa funkcji musi rozpoczynać się wielką literą lub zawierać "
+"dwukropek: %s"
#, c-format
msgid "E131: Cannot delete function %s: It is in use"
@@ -663,6 +666,13 @@ msgstr ""
"\n"
"# zmienne globalne:\n"
+msgid ""
+"\n"
+"\tLast set from "
+msgstr ""
+"\n"
+"\tOstatnie ustawienie przez "
+
msgid "Entering Debug mode. Type \"cont\" to continue."
msgstr "Wchodzę w tryb odpluskwiania. Wprowadź \"cont\" aby kontynuować."
@@ -771,90 +781,6 @@ msgid "E168: :finish used outside of a sourced file"
msgstr "E168: użyto :finish poza wczytywanym plikiem"
#, c-format
-msgid "Page %d"
-msgstr "Strona %d"
-
-msgid "No text to be printed"
-msgstr "Brak tekstu do drukowania"
-
-#, c-format
-msgid "Printing page %d (%d%%)"
-msgstr "Drukuję stronę %d (%d%%)"
-
-#, c-format
-msgid " Copy %d of %d"
-msgstr " Kopia %d z %d"
-
-#, c-format
-msgid "Printed: %s"
-msgstr "Wydrukowano: %s"
-
-msgid "Printing aborted"
-msgstr "Drukowanie odwołane"
-
-msgid "E455: Error writing to PostScript output file"
-msgstr "E455: Nie można zapisać do wyjściowego pliku PostScriptu"
-
-#, c-format
-msgid "E624: Can't open file \"%s\""
-msgstr