summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2005-09-01 20:46:49 +0000
committerBram Moolenaar <Bram@vim.org>2005-09-01 20:46:49 +0000
commite344bead3ecc16a0982d157e8c19050f6dff4e0c (patch)
tree34da48120172b9e2efc8c559733c2b69db5a24ba /src
parentda2303d96b0f55d30e9b5b57d3459d5e1ea22ec2 (diff)
downloadvim-git-e344bead3ecc16a0982d157e8c19050f6dff4e0c.tar.gz
updated for version 7.0140v7.0140
Diffstat (limited to 'src')
-rw-r--r--src/Makefile39
-rwxr-xr-xsrc/auto/configure13
-rw-r--r--src/buffer.c1
-rw-r--r--src/configure.in12
-rw-r--r--src/edit.c111
-rw-r--r--src/ex_getln.c3
-rw-r--r--src/gui_mac.c21
-rw-r--r--src/gui_w48.c1
-rw-r--r--src/if_mzsch.c36
-rw-r--r--src/if_perl.xs75
-rw-r--r--src/if_python.c36
-rw-r--r--src/if_ruby.c34
-rw-r--r--src/if_tcl.c30
-rw-r--r--src/if_xcmdsrv.c2
-rw-r--r--src/mbyte.c4
-rw-r--r--src/option.c14
-rw-r--r--src/po/it.po430
-rw-r--r--src/proto/gui_w32.pro2
-rw-r--r--src/proto/search.pro2
-rw-r--r--src/quickfix.c29
-rw-r--r--src/spell.c2
-rw-r--r--src/structs.h26
-rw-r--r--src/version.h4
-rw-r--r--src/vim.h4
24 files changed, 518 insertions, 413 deletions
diff --git a/src/Makefile b/src/Makefile
index cebbbc3d7..0340f796b 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -119,12 +119,14 @@
# If you don't want to install everything, there are other targets:
# make installvim only installs Vim, not the tools
# make installvimbin only installs the Vim executable
-# make installruntime only installs the Vim help and
+# make installruntime installs most of the runtime files
+# make installrtbase only installs the Vim help and
# runtime files
# make installlinks only installs the Vim binary links
# make installmanlinks only installs the Vim manpage links
# make installmacros only installs the Vim macros
-# make installtutor only installs the Vim tutor
+# make installtutorbin only installs the Vim tutor program
+# make installtutor only installs the Vim tutor files
# make installspell only installs the spell files
# make installtools only installs xxd
# If you install Vim, not to install for real but to prepare a package
@@ -1725,7 +1727,8 @@ install: $(GUI_INSTALL)
install_normal: installvim installtools $(INSTALL_LANGS) install-icons
-installvim: installvimbin installruntime installlinks installmanlinks installmacros installtutor installspell
+installvim: installvimbin installtutorbin \
+ installruntime installlinks installmanlinks
installvimbin: $(VIMTARGET) $(DESTDIR)$(exec_prefix) $(DEST_BIN)
-if test -f $(DEST_BIN)/$(VIMTARGET); then \
@@ -1743,8 +1746,11 @@ installvimbin: $(VIMTARGET) $(DESTDIR)$(exec_prefix) $(DEST_BIN)
INSTALLMANARGS = $(VIMLOC) $(SCRIPTLOC) $(VIMRCLOC) $(HELPSOURCE) $(MANMOD) \
$(VIMNAME) $(VIMDIFFNAME) $(EVIMNAME)
+# Install most of the runtime files
+installruntime: installrtbase installmacros installtutor installspell
+
# install the help files; first adjust the contents for the final location
-installruntime: $(HELPSOURCE)/vim.1 $(DEST_VIM) $(DEST_RT) \
+installrtbase: $(HELPSOURCE)/vim.1 $(DEST_VIM) $(DEST_RT) \
$(DEST_HELP) $(DEST_PRINT) $(DEST_COL) $(DEST_SYN) $(DEST_IND) \
$(DEST_FTP) $(DEST_AUTO) $(DEST_PLUG) $(DEST_TUTOR) \
$(DEST_SPELL) $(DEST_COMP)
@@ -1834,9 +1840,11 @@ installmacros: $(DEST_VIM) $(DEST_RT) $(DEST_MACRO)
fi
# install the tutor files
-installtutor: $(DEST_VIM) $(DEST_RT) $(DEST_TUTOR)
+installtutorbin: $(DEST_VIM)
$(INSTALL_DATA) vimtutor $(DEST_BIN)/$(VIMNAME)tutor
chmod $(SCRIPTMOD) $(DEST_BIN)/$(VIMNAME)tutor
+
+installtutor: $(DEST_RT) $(DEST_TUTOR)
-$(INSTALL_DATA) $(TUTORSOURCE)/README* $(TUTORSOURCE)/tutor* $(DEST_TUTOR)
chmod $(HELPMOD) $(DEST_TUTOR)/*
@@ -2539,7 +2547,19 @@ ICONS = $(RESDIR)/$(ICON_APP)
#ICONS = $(addprefix $(RESDIR)/, $(ICON_APP) $(ICON_DOC) $(ICON_DOCTXT))
install_macosx: gui_bundle
+# Remove the link to the runtime dir, don't want to copy all of that.
+ -rm $(APPDIR)/runtime
$(INSTALL_DATA_R) $(APPDIR) $(DESTDIR)$(prefix)
+# Install the runtime files. Recursive!
+ -mkdir $(DESTDIR)$(prefix)/$(APPDIR)/runtime
+ -mkdir $(DESTDIR)$(prefix)/$(APPDIR)/bin
+ srcdir=`pwd`; $(MAKE) -f Makefile installruntime \
+ VIMEXE=$$srcdir/$(VIMTARGET) \
+ prefix=$(DESTDIR)$(prefix)/$(APPDIR) \
+ VIMRTLOC=$(DESTDIR)$(prefix)/$(APPDIR)/runtime
+# Put the link back.
+ ln -s `pwd`/../runtime $(APPDIR)
+# TODO: Create the vimtutor application.
gui_bundle: $(APPDIR) bundle-dir bundle-executable bundle-info bundle-resource \
bundle-language
@@ -2549,12 +2569,9 @@ $(APPDIR):
bundle-dir: $(APPDIR)/Contents $(VIMTARGET)
-@srcdir=`pwd`; cd $(HELPSOURCE); $(MAKE) VIMEXE=$$srcdir/$(VIMTARGET) vimtags
- cp -R ../runtime $(APPDIR)
-# When using CVS some CVS directories might have been copied.
- cvs=`find $(APPDIR) \( -name CVS -o -name AAPDIR \) -print`; \
- if test -n "$$cvs"; then \
- rm -rf $$cvs; \
- fi
+# Make a link to the runtime directory, so that we can try out the executable
+# without installing it.
+ -ln -s `pwd`/../runtime $(APPDIR)
bundle-executable: $(VIMTARGET)
cp $(VIMTARGET) $(APPDIR)/Contents/MacOS/$(VIMTARGET)
diff --git a/src/auto/configure b/src/auto/configure
index ecb716182..6e11978d9 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -2851,7 +2851,6 @@ echo "${ECHO_T}yes" >&6;;
echo "${ECHO_T}no" >&6;;
esac
-DEFAULT_VIMNAME=vim
echo "$as_me:$LINENO: checking for Darwin (Mac OS X)" >&5
echo $ECHO_N "checking for Darwin (Mac OS X)... $ECHO_C" >&6
if test "`(uname) 2>/dev/null`" = Darwin; then
@@ -3274,7 +3273,6 @@ fi
if test "x$CARBON" = "xyes"; then
if test -z "$with_x" -a "X$enable_gui" != Xmotif -a "X$enable_gui" != Xathena -a "X$enable_gui" != Xgtk -a "X$enable_gui" != Xgtk2; then
with_x=no
- DEFAULT_VIMNAME=Vim
fi
fi
fi
@@ -3316,7 +3314,7 @@ if test "${with_vim_name+set}" = set; then
VIMNAME="$withval"; echo "$as_me:$LINENO: result: $VIMNAME" >&5
echo "${ECHO_T}$VIMNAME" >&6
else
- VIMNAME="$DEFAULT_VIMNAME"; echo "$as_me:$LINENO: result: Defaulting to $VIMNAME" >&5
+ VIMNAME="vim"; echo "$as_me:$LINENO: result: Defaulting to $VIMNAME" >&5
echo "${ECHO_T}Defaulting to $VIMNAME" >&6
fi;
@@ -7521,7 +7519,7 @@ echo "${ECHO_T}found $qt_major_version.$qt_minor_version in $ROOTQT" >&6
do
for j in qstyle.h;
do
- echo "configure: 7524: $i/$j" >&5
+ echo "configure: 7522: $i/$j" >&5
if test -r "$i/$j"; then
echo "taking that" >&5
qt_incdir=$i
@@ -7541,7 +7539,7 @@ echo "$as_me: error: Could not find Qt headers in $QT_INCLUDES" >&2;}
do
for j in kapplication.h;
do
- echo "configure: 7544: $i/$j" >&5
+ echo "configure: 7542: $i/$j" >&5
if test -r "$i/$j"; then
echo "taking that" >&5
kde_incdir=$i
@@ -8080,6 +8078,9 @@ echo $ECHO_N "checking for Carbon GUI... $ECHO_C" >&6
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6;
GUITYPE=CARBONGUI
+ if test "$VIMNAME" = "vim"; then
+ VIMNAME=Vim
+ fi
SKIP_GTK=YES;
SKIP_GTK2=YES;
SKIP_GNOME=YES;
@@ -11203,7 +11204,6 @@ echo "${ECHO_T}no" >&6
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-if test "x$MACOSX" != "xyes"; then
for ac_header in strings.h
do
@@ -11354,7 +11354,6 @@ fi
done
-fi
echo "$as_me:$LINENO: checking if strings.h can be included after string.h" >&5
echo $ECHO_N "checking if strings.h can be included after string.h... $ECHO_C" >&6
diff --git a/src/buffer.c b/src/buffer.c
index 1fb95fdd7..21b3bc490 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -1746,6 +1746,7 @@ free_buf_options(buf, free_p_ff)
#endif
#ifdef FEAT_COMPL_FUNC
clear_string_option(&buf->b_p_cfu);
+ clear_string_option(&buf->b_p_ofu);
#endif
#ifdef FEAT_QUICKFIX
clear_string_option(&buf->b_p_gp);
diff --git a/src/configure.in b/src/configure.in
index e9f21a2ca..74fc0170f 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -79,7 +79,6 @@ esac
dnl Check for Darwin and MacOS X
dnl We do a check for MacOS X in the very beginning because there
dnl are a lot of other things we need to change besides GUI stuff
-DEFAULT_VIMNAME=vim
AC_MSG_CHECKING([for Darwin (Mac OS X)])
if test "`(uname) 2>/dev/null`" = Darwin; then
AC_MSG_RESULT(yes)
@@ -114,7 +113,6 @@ if test "`(uname) 2>/dev/null`" = Darwin; then
if test "x$CARBON" = "xyes"; then
if test -z "$with_x" -a "X$enable_gui" != Xmotif -a "X$enable_gui" != Xathena -a "X$enable_gui" != Xgtk -a "X$enable_gui" != Xgtk2; then
with_x=no
- DEFAULT_VIMNAME=Vim
fi
fi
fi
@@ -153,7 +151,7 @@ fi
AC_MSG_CHECKING(--with-vim-name argument)
AC_ARG_WITH(vim-name, [ --with-vim-name=NAME what to call the Vim executable],
VIMNAME="$withval"; AC_MSG_RESULT($VIMNAME),
- VIMNAME="$DEFAULT_VIMNAME"; AC_MSG_RESULT(Defaulting to $VIMNAME))
+ VIMNAME="vim"; AC_MSG_RESULT(Defaulting to $VIMNAME))
AC_SUBST(VIMNAME)
AC_MSG_CHECKING(--with-ex-name argument)
AC_ARG_WITH(ex-name, [ --with-ex-name=NAME what to call the Ex executable],
@@ -1558,6 +1556,9 @@ if test "x$MACOSX" = "xyes" -a -z "$SKIP_CARBON" -a "x$CARBON" = "xyes"; then
dnl already did this
AC_MSG_RESULT(yes);
GUITYPE=CARBONGUI
+ if test "$VIMNAME" = "vim"; then
+ VIMNAME=Vim
+ fi
dnl skip everything else
SKIP_GTK=YES;
SKIP_GTK2=YES;
@@ -2257,10 +2258,7 @@ AC_TRY_COMPILE([
AC_DEFINE(HAVE_PTHREAD_NP_H),
AC_MSG_RESULT(no))
-dnl On Mac OS X strings.h exists but produces a warning message :-(
-if test "x$MACOSX" != "xyes"; then
- AC_CHECK_HEADERS(strings.h)
-fi
+AC_CHECK_HEADERS(strings.h)
dnl Check if strings.h and string.h can both be included when defined.
AC_MSG_CHECKING([if strings.h can be included after string.h])
diff --git a/src/edit.c b/src/edit.c
index f399f3031..d1a48dec9 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -819,7 +819,7 @@ doESCkey:
/*FALLTHROUGH*/
case Ctrl_O: /* execute one command */
-#ifdef FEAT_INS_EXPAND
+#ifdef FEAT_COMPL_FUNC
if (ctrl_x_mode == CTRL_X_OCCULT)
goto docomplete;
#endif
@@ -1844,9 +1844,9 @@ vim_is_ctrl_x_key(c)
#ifdef FEAT_COMPL_FUNC
case CTRL_X_FUNCTION:
return (c == Ctrl_U || c == Ctrl_P || c == Ctrl_N);
-#endif
case CTRL_X_OCCULT:
return (c == Ctrl_O || c == Ctrl_P || c == Ctrl_N);
+#endif
case CTRL_X_SPELL:
return (c == Ctrl_S || c == Ctrl_P || c == Ctrl_N);
}
@@ -2360,10 +2360,10 @@ ins_compl_prep(c)
case Ctrl_U:
ctrl_x_mode = CTRL_X_FUNCTION;
break;
-#endif
case Ctrl_O:
ctrl_x_mode = CTRL_X_OCCULT;
break;
+#endif
case 's':
case Ctrl_S:
ctrl_x_mode = CTRL_X_SPELL;
@@ -2581,36 +2581,38 @@ ins_compl_next_buf(buf, flag)
}
#ifdef FEAT_COMPL_FUNC
-static int expand_by_function __ARGS((int col, char_u *base, char_u ***matches));
+static int expand_by_function __ARGS((int type, char_u *base, char_u ***matches));
/*
- * Execute user defined complete function 'completefunc', and get matches in
- * "matches".
+ * Execute user defined complete function 'completefunc' or 'occultfunc', and
+ * get matches in "matches".
* Return value is number of matches.
*/
static int
-expand_by_function(col, base, matches)
- int col;
+expand_by_function(type, base, matches)
+ int type; /* CTRL_X_OCCULT or CTRL_X_FUNCTION */
char_u *base;
char_u ***matches;
{
list_T *matchlist;
- char_u colbuf[30];
- char_u *args[3];
+ char_u *args[2];
listitem_T *li;
garray_T ga;
char_u *p;
+ char_u *funcname;
+ pos_T pos;
- if (*curbuf->b_p_cfu == NUL)
+ funcname = (type == CTRL_X_FUNCTION) ? curbuf->b_p_cfu : curbuf->b_p_ofu;
+ if (*funcname == NUL)
return 0;
/* Call 'completefunc' to obtain the list of matches. */
args[0] = (char_u *)"0";
- sprintf((char *)colbuf, "%d", col + (int)STRLEN(base));
- args[1] = colbuf;
- args[2] = base;
+ args[1] = base;
- matchlist = call_func_retlist(curbuf->b_p_cfu, 3, args, FALSE);
+ pos = curwin->w_cursor;
+ matchlist = call_func_retlist(funcname, 2, args, FALSE);
+ curwin->w_cursor = pos; /* restore the cursor position */
if (matchlist == NULL)
return 0;
@@ -2634,30 +2636,6 @@ expand_by_function(col, base, matches)
}
#endif /* FEAT_COMPL_FUNC */
-static int expand_occult __ARGS((linenr_T lnum, int col, char_u *base, char_u ***matches));
-
-/*
- * Perform occult completion'
- * Return value is number of candidates and array of candidates as "matchp".
- */
- static int
-expand_occult(lnum, col, pat, matchp)
- linenr_T lnum;
- int col;
- char_u *pat;
- char_u ***matchp;
-{
- int num_matches;
-
- /* Use tag completion for now. */
- if (find_tags(pat, &num_matches, matchp,
- TAG_REGEXP | TAG_NAMES | TAG_NOIC |
- TAG_INS_COMP | (ctrl_x_mode ? TAG_VERBOSE : 0),
- TAG_MANY, curbuf->b_ffname) == FAIL)
- return 0;
- return num_matches;
-}
-
/*
* Get the next expansion(s), using "compl_pattern".
* The search starts at position "ini" in curbuf and in the direction dir.
@@ -2870,19 +2848,12 @@ ins_compl_get_exp(ini, dir)
#ifdef FEAT_COMPL_FUNC
case CTRL_X_FUNCTION:
- num_matches = expand_by_function(first_match_pos.col,
- compl_pattern, &matches);
- if (num_matches > 0)
- ins_compl_add_matches(num_matches, matches, dir);
- break;
-#endif
-
case CTRL_X_OCCULT:
- num_matches = expand_occult(first_match_pos.lnum,
- first_match_pos.col, compl_pattern, &matches);
+ num_matches = expand_by_function(type, compl_pattern, &matches);
if (num_matches > 0)
ins_compl_add_matches(num_matches, matches, dir);
break;
+#endif
case CTRL_X_SPELL:
#ifdef FEAT_SYN_HL
@@ -3302,7 +3273,7 @@ ins_complete(c)
compl_col = compl_startpos.col;
}
compl_length = curwin->w_cursor.col - (int)compl_col;
- /* IObuf is used to add a "word from the next line" would we
+ /* IObuff is used to add a "word from the next line" would we
* have enough space? just being paranoic */
#define MIN_SPACE 75
if (compl_length > (IOSIZE - MIN_SPACE))
@@ -3486,27 +3457,31 @@ ins_complete(c)
compl_col = startcol;
compl_length = curs_col - startcol;
}
-#ifdef FEAT_COMPL_FUNC
- else if (ctrl_x_mode == CTRL_X_FUNCTION)
+ else if (ctrl_x_mode == CTRL_X_FUNCTION || ctrl_x_mode == CTRL_X_OCCULT)
{
+#ifdef FEAT_COMPL_FUNC
/*
- * Call user defined function 'completefunc' with "a:findstart" is
- * 1 to obtain the length of text to use for completion.
+ * Call user defined function 'completefunc' with "a:findstart"
+ * set to 1 to obtain the length of text to use for completion.
*/
- char_u colbuf[30];
- char_u *args[3];
+ char_u *args[2];
int col;
-
- /* Call 'completefunc' and get pattern length as a string */
- if (*curbuf->b_p_cfu == NUL)
+ char_u *funcname;
+ pos_T pos;
+
+ /* Call 'completefunc' or 'occultfunc' and get pattern length as a
+ * string */
+ funcname = ctrl_x_mode == CTRL_X_FUNCTION
+ ? curbuf->b_p_cfu : curbuf->b_p_ofu;
+ if (*funcname == NUL)
return FAIL;
args[0] = (char_u *)"1";
- sprintf((char *)colbuf, "%d", (int)curs_col);
- args[1] = colbuf;
- args[2] = NULL;
+ args[1] = NULL;
+ pos = curwin->w_cursor;
+ col = call_func_retnr(funcname, 2, args, FALSE);
+ curwin->w_cursor = pos; /* restore the cursor position */
- col = call_func_retnr(curbuf->b_p_cfu, 3, args, FALSE);
if (col < 0)
return FAIL;
compl_col = col;
@@ -3519,19 +3494,7 @@ ins_complete(c)
compl_length = curs_col - compl_col;
compl_pattern = vim_strnsave(line + compl_col, compl_length);
if (compl_pattern == NULL)
- return FAIL;
- }
#endif
- else if (ctrl_x_mode == CTRL_X_OCCULT)
- {
- /* TODO: let language-specific function handle locating the text
- * to be completed. */
- while (--startcol >= 0 && vim_isIDc(line[startcol]))
- ;
- compl_col += ++startcol;
- compl_length = (int)curs_col - startcol;
- compl_pattern = vim_strnsave(line + compl_col, compl_length);
- if (compl_pattern == NULL)
return FAIL;
}
else if (ctrl_x_mode == CTRL_X_SPELL)
diff --git a/src/ex_getln.c b/src/ex_getln.c
index cd40a689d..c6190bed6 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -2150,7 +2150,8 @@ redraw:
return (char_u *)line_ga.ga_data;
}
-#ifdef CURSOR_SHAPE
+# if defined(MCH_CURSOR_SHAPE) || defined(FEAT_GUI) \
+ || defined(FEAT_MOUSESHAPE) || defined(PROTO)
/*
* Return TRUE if ccline.overstrike is on.
*/
diff --git a/src/gui_mac.c b/src/gui_mac.c
index 9253aa101..50e96695e 100644
--- a/src/gui_mac.c
+++ b/src/gui_mac.c
@@ -4930,16 +4930,6 @@ clip_mch_request_selection(cbd)
#endif
tempclip[scrapSize] = 0;
- searchCR = (char *)tempclip;
- while (searchCR != NULL)
- {
- searchCR = strchr(searchCR, '\r');
-
- if (searchCR != NULL)
- searchCR[0] = '\n';
-
- }
-
#if defined(FEAT_MBYTE) && defined(USE_CARBONIZED)
/* Convert from utf-16 (clipboard) */
size_t encLen = 0;
@@ -4951,6 +4941,17 @@ clip_mch_request_selection(cbd)
tempclip = to;
}
#endif
+
+ searchCR = (char *)tempclip;
+ while (searchCR != NULL)
+ {
+ searchCR = strchr(searchCR, '\r');
+
+ if (searchCR != NULL)
+ searchCR[0] = '\n';
+
+ }
+
clip_yank_selection(type, tempclip, scrapSize, cbd);
vim_free(tempclip);
diff --git a/src/gui_w48.c b/src/gui_w48.c
index 5649aeb18..03b7d7175 100644
--- a/src/gui_w48.c
+++ b/src/gui_w48.c
@@ -105,6 +105,7 @@ typedef int LPSTR;
typedef int LPWINDOWPOS;
typedef int LPWORD;
typedef int LRESULT;
+typedef int HRESULT;
# undef MSG
typedef int MSG;
typedef int NEWTEXTMETRIC;
diff --git a/src/if_mzsch.c b/src/if_mzsch.c
index dde31eb92..186ee66eb 100644
--- a/src/if_mzsch.c
+++ b/src/if_mzsch.c
@@ -956,12 +956,12 @@ do_mzscheme_command(exarg_T *eap, void *data, Scheme_Closed_Prim *what)
void
mzscheme_buffer_free(buf_T *buf)
{
- if (buf->mzscheme_ref)
+ if (buf->b_mzscheme_ref)
{
vim_mz_buffer *bp;
- bp = buf->mzscheme_ref;
+ bp = buf->b_mzscheme_ref;
bp->buf = INVALID_BUFFER_VALUE;
- buf->mzscheme_ref = NULL;
+ buf->b_mzscheme_ref = NULL;
scheme_gc_ptr_ok(bp);
}
}
@@ -972,12 +972,12 @@ mzscheme_buffer_free(buf_T *buf)
void
mzscheme_window_free(win_T *win)
{
- if (win->mzscheme_ref)
+ if (win->w_mzscheme_ref)
{
vim_mz_window *wp;
- wp = win->mzscheme_ref;
+ wp = win->w_mzscheme_ref;
wp->win = INVALID_WINDOW_VALUE;
- win->mzscheme_ref = NULL;
+ win->w_mzscheme_ref = NULL;
scheme_gc_ptr_ok(wp);
}
}
@@ -1462,21 +1462,21 @@ window_new(win_T *win)
vim_mz_window *self;
/* We need to handle deletion of windows underneath us.
- * If we add a "mzscheme_ref" field to the win_T structure,
+ * If we add a "w_mzscheme_ref" field to the win_T structure,
* then we can get at it in win_free() in vim.
*
* On a win_free() we set the Scheme object's win_T *field
* to an invalid value. We trap all uses of a window
* object, and reject them if the win_T *field is invalid.
*/
- if (win->mzscheme_ref)
- return win->mzscheme_ref;
+ if (win->w_mzscheme_ref != NULL)
+ return win->w_mzscheme_ref;
self = scheme_malloc_fail_ok(scheme_malloc, sizeof(vim_mz_window));
vim_memset(self, 0, sizeof(vim_mz_window));
scheme_dont_gc_ptr(self); /* because win isn't visible to GC */
- win->mzscheme_ref = self;
+ win->w_mzscheme_ref = self;
self->win = win;
self->tag = mz_window_type;
@@ -1787,17 +1787,17 @@ buffer_new(buf_T *buf)
vim_mz_buffer *self;
/* We need to handle deletion of buffers underneath us.
- * If we add a "mzscheme_buf" field to the buf_T structure,
+ * If we add a "b_mzscheme_ref" field to the buf_T structure,
* then we can get at it in buf_freeall() in vim.
*/
- if (buf->mzscheme_ref)
- return buf->mzscheme_ref;
+ if (buf->b_mzscheme_ref)
+ return buf->b_mzscheme_ref;
self = scheme_malloc_fail_ok(scheme_malloc, sizeof(vim_mz_buffer));
vim_memset(self, 0, sizeof(vim_mz_buffer));
scheme_dont_gc_ptr(self); /* because buf isn't visible to GC */
- buf->mzscheme_ref = self;
+ buf->b_mzscheme_ref = self;
self->buf = buf;
self->tag = mz_buffer_type;
@@ -2620,20 +2620,20 @@ static Vim_Prim prims[]=
static vim_mz_buffer *
get_vim_curr_buffer(void)
{
- if (!curbuf->mzscheme_ref)
+ if (curbuf->b_mzscheme_ref == NULL)
return (vim_mz_buffer *)buffer_new(curbuf);
else
- return (vim_mz_buffer *)curbuf->mzscheme_ref;
+ return (vim_mz_buffer *)curbuf->b_mzscheme_ref;
}
/* return MzScheme wrapper for curwin */
static vim_mz_window *
get_vim_curr_window(void)
{
- if (!curwin->mzscheme_ref)
+ if (curwin->w_mzscheme_ref == NULL)
return (vim_mz_window *)window_new(curwin);
else
- return (vim_mz_window *)curwin->mzscheme_ref;
+ return (vim_mz_window *)curwin->w_mzscheme_ref;
}
static void
diff --git a/src/if_perl.xs b/src/if_perl.xs
index 072ddcdc8..0f1dcd27f 100644
--- a/src/if_perl.xs
+++ b/src/if_perl.xs
@@ -437,37 +437,50 @@ eval_to_string(arg, nextcmd)
/*
* Create a new reference to an SV pointing to the SCR structure
- * The perl_private part of the SCR structure points to the SV,
- * so there can only be one such SV for a particular SCR structure.
- * When the last reference has gone (DESTROY is called),
- * perl_private is reset; When the screen goes away before
+ * The b_perl_private/w_perl_private part of the SCR structure points to the
+ * SV, so there can only be one such SV for a particular SCR structure. When
+ * the last reference has gone (DESTROY is called),
+ * b_perl_private/w_perl_private is reset; When the screen goes away before
* all references are gone, the value of the SV is reset;
* any subsequent use of any of those reference will produce
* a warning. (see typemap)
*/
-#define newANYrv(TYPE, TNAME) \
-static SV * \
-new ## TNAME ## rv(rv, ptr) \
- SV *rv; \
- TYPE *ptr; \
-{ \
- sv_upgrade(rv, SVt_RV); \
- if (!ptr->perl_private) \
- { \
- ptr->perl_private = newSV(0); \
- sv_setiv(ptr->perl_private, (IV)ptr); \
- } \
- else \
- SvREFCNT_inc(ptr->perl_private); \
- SvRV(rv) = ptr->perl_private; \
- SvROK_on(rv); \
- return sv_bless(rv, gv_stashpv("VI" #TNAME, TRUE)); \
+
+ static SV *
+newWINrv(rv, ptr)
+ SV *rv;
+ win_T *ptr;
+{
+ sv_upgrade(rv, SVt_RV);
+ if (ptr->w_perl_private == NULL)
+ {
+ ptr->w_perl_private = newSV(0);
+ sv_setiv(ptr->w_perl_private, (IV)ptr);
+ }
+ else
+ SvREFCNT_inc(ptr->w_perl_private);
+ SvRV(rv) = ptr->w_perl_private;
+ SvROK_on(rv);
+ return sv_bless(rv, gv_stashpv("VIWIN", TRUE));
}
-/* LINTED: avoid warning: cast from pointer to integer of different size */
-newANYrv(win_T, WIN)
-/* LINTED: avoid warning: cast from pointer to integer of different size */
-newANYrv(buf_T, BUF)
+ static SV *
+newBUFrv(rv, ptr)
+ SV *rv;
+ buf_T *ptr;
+{
+ sv_upgrade(rv, SVt_RV);
+ if (ptr->b_perl_private == NULL)
+ {
+ ptr->b_perl_private = newSV(0);
+ sv_setiv(ptr->b_perl_private, (IV)ptr);
+ }
+ else
+ SvREFCNT_inc(ptr->b_perl_private);
+ SvRV(rv) = ptr->b_perl_private;
+ SvROK_on(rv);
+ return sv_bless(rv, gv_stashpv("VIBUF", TRUE));
+}
/*
* perl_win_free
@@ -477,8 +490,8 @@ newANYrv(buf_T, BUF)
perl_win_free(wp)
win_T *wp;
{
- if (wp->perl_private)
- sv_setiv((SV *)wp->perl_private, 0);
+ if (wp->w_perl_private)
+ sv_setiv((SV *)wp->w_perl_private, 0);
return;
}
@@ -486,8 +499,8 @@ perl_win_free(wp)
perl_buf_free(bp)
buf_T *bp;
{
- if (bp->perl_private)
- sv_setiv((SV *)bp->perl_private, 0);
+ if (bp->b_perl_private)
+ sv_setiv((SV *)bp->b_perl_private, 0);
return;
}
@@ -915,7 +928,7 @@ DESTROY(win)
CODE:
if (win_valid(win))
- win->perl_private = 0;
+ win->w_perl_private = 0;
SV *
Buffer(win)
@@ -979,7 +992,7 @@ DESTROY(vimbuf)
CODE:
if (buf_valid(vimbuf))
- vimbuf->perl_private = 0;
+ vimbuf->b_perl_private = 0;
void
Name(vimbuf)
diff --git a/src/if_python.c b/src/if_python.c
index 1b5d0e33b..623731a55 100644
--- a/src/if_python.c
+++ b/src/if_python.c
@@ -1305,12 +1305,12 @@ static PyTypeObject BufferType = {
BufferNew(buf_T *buf)
{
/* We need to handle deletion of buffers underneath us.
- * If we add a "python_ref" field to the buf_T structure,
+ * If we add a "b_python_ref" field to the buf_T structure,
* then we can get at it in buf_freeall() in vim. We then
* need to create only ONE Python object per buffer - if
* we try to create a second, just INCREF the existing one
* and return it. The (single) Python object referring to
- * the buffer is stored in "python_ref".
+ * the buffer is stored in "b_python_ref".
* Question: what to do on a buf_freeall(). We'll probably
* have to either delete the Python object (DECREF it to
* zero - a bad idea, as it leaves dangling refs!) or
@@ -1320,9 +1320,9 @@ BufferNew(buf_T *buf)
BufferObject *self;
- if (buf->python_ref)
+ if (buf->b_python_ref != NULL)
{
- self = buf->python_ref;
+ self = buf->b_python_ref;
Py_INCREF(self);
}
else
@@ -1331,7 +1331,7 @@ BufferNew(buf_T *buf)
if (self == NULL)
return NULL;
self->buf = buf;
- buf->python_ref = self;
+ buf->b_python_ref = self;
}
return (PyObject *)(self);
@@ -1343,7 +1343,7 @@ BufferDestructor(PyObject *self)
BufferObject *this = (BufferObject *)(self);
if (this->buf && this->buf != INVALID_BUFFER_VALUE)
- this->buf->python_ref = NULL;
+ this->buf->b_python_ref = NULL;
PyMem_DEL(self);
}
@@ -1788,12 +1788,12 @@ static PyTypeObject WindowType = {
WindowNew(win_T *win)
{
/* We need to handle deletion of windows underneath us.
- * If we add a "python_ref" field to the win_T structure,
+ * If we add a "w_python_ref" field to the win_T structure,
* then we can get at it in win_free() in vim. We then
* need to create only ONE Python object per window - if
* we try to create a second, just INCREF the existing one
* and return it. The (single) Python object referring to
- * the window is stored in "python_ref".
+ * the window is stored in "w_python_ref".
* On a win_free() we set the Python object's win_T* field
* to an invalid value. We trap all uses of a window
* object, and reject them if the win_T* field is invalid.
@@ -1801,9 +1801,9 @@ WindowNew(win_T *win)
WindowObject *self;
- if (win->python_ref)
+ if (win->w_python_ref)
{
- self = win->python_ref;
+ self = win->w_python_ref;
Py_INCREF(self);
}
else
@@ -1812,7 +1812,7 @@ WindowNew(win_T *win)
if (self == NULL)
return NULL;
self->win = win;
- win->python_ref = self;
+ win->w_python_ref = self;
}
return (PyObject *)(self);
@@ -1824,7 +1824,7 @@ WindowDestructor(PyObject *self)
WindowObject *this = (WindowObject *)(self);
if (this->win && this->win != INVALID_WINDOW_VALUE)
- this->win->python_ref = NULL;
+ this->win->w_python_ref = NULL;
PyMem_DEL(self);
}
@@ -2144,11 +2144,11 @@ CurrentSetattr(PyObject *self, char *name, PyObject *value)
void
python_buffer_free(buf_T *buf)
{
- if (buf->python_ref)
+ if (buf->b_python_ref != NULL)
{
- BufferObject *bp = buf->python_ref;
+ BufferObject *bp = buf->b_python_ref;
bp->buf = INVALID_BUFFER_VALUE;
- buf->python_ref = NULL;
+ buf->b_python_ref = NULL;
}
}
@@ -2156,11 +2156,11 @@ python_buffer_free(buf_T *buf)
void
python_window_free(win_T *win)
{
- if (win->python_ref)
+ if (win->w_python_ref != NULL)
{
- WindowObject *wp = win->python_ref;
+ WindowObject *wp = win->w_python_ref;
wp->win = INVALID_WINDOW_VALUE;
- win->python_ref = NULL;
+ win->w_python_ref = NULL;
}
}
#endif
diff --git a/src/if_ruby.c b/src/if_ruby.c
index 4396b467d..f09b220ae 100644
--- a/src/if_ruby.c
+++ b/src/if_ruby.c
@@ -388,17 +388,19 @@ void ex_rubyfile(exarg_T *eap)
void ruby_buffer_free(buf_T *buf)
{
- if (buf->ruby_ref) {
- rb_hash_aset(objtbl, rb_obj_id((VALUE) buf->ruby_ref), Qnil);
- RDATA(buf->ruby_ref)->data = NULL;
+ if (buf->b_ruby_ref)
+ {
+ rb_hash_aset(objtbl, rb_obj_id((VALUE) buf->b_ruby_ref), Qnil);
+ RDATA(buf->b_ruby_ref)->data = NULL;
}
}
void ruby_window_free(win_T *win)
{
- if (win->ruby_ref) {
- rb_hash_aset(objtbl, rb_obj_id((VALUE) win->ruby_ref), Qnil);
- RDATA(win->ruby_ref)->data = NULL;
+ if (win->w_ruby_ref)
+ {
+ rb_hash_aset(objtbl, rb_obj_id((VALUE) win->w_ruby_ref), Qnil);
+ RDATA(win->w_ruby_ref)->data = NULL;
}
}
@@ -532,12 +534,14 @@ static VALUE vim_evaluate(VALUE self, VALUE str)
static VALUE buffer_new(buf_T *buf)
{
- if (buf->ruby_ref) {
- return (VALUE) buf->ruby_ref;
+ if (buf->b_ruby_ref)
+ {
+ return (VALUE) buf->b_ruby_ref;
}
- else {
+ else
+ {
VALUE obj = Data_Wrap_Struct(cBuffer, 0, 0, buf);
- buf->ruby_ref = (void *) obj;
+ buf->b_ruby_ref = (void *) obj;
rb_hash_aset(objtbl, rb_obj_id(obj), obj);
return obj;
}
@@ -688,12 +692,14 @@ static VALUE buffer_append(VALUE self, VALUE num, VALUE str)
static VALUE window_new(win_T *win)
{
- if (win->ruby_ref) {
- return (VALUE) win->ruby_ref;
+ if (win->w_ruby_ref)
+ {
+ return (VALUE) win->w_ruby_ref;
}
- else {
+ else
+ {
VALUE obj = Data_Wrap_Struct(cVimWindow, 0, 0, win);
- win->ruby_ref = (void *) obj;
+ win->w_ruby_ref = (void *) obj;
rb_hash_aset(objtbl, rb_obj_id(obj), obj);
return obj;
}
diff --git a/src/if_tcl.c b/src/if_tcl.c
index 8f75e0d08..30f7d9857 100644
--- a/src/if_tcl.c
+++ b/src/if_tcl.c
@@ -113,9 +113,10 @@ static tcl_info tclinfo = { NULL, 0, 0, 0, NULL, NULL };
/*
* List of Tcl interpreters who reference a vim window or buffer.
- * Each buffer and window has it's own list in the tcl_ref struct member.
- * We need this because Tcl can create sub-interpreters with the "interp"
- * command, and each interpreter can reference all windows and buffers.
+ * Each buffer and window has it's own list in the w_tcl_ref or b_tcl_ref
+ * struct member. We need this because Tcl can create sub-interpreters with
+ * the "interp" command, and each interpreter can reference all windows and
+ * buffers.
*/
struct ref
{
@@ -932,7 +933,7 @@ bufselfcmd(ref, interp, objc, objv)
err = TCL_ERROR;
break;
}
- err = tclsetdelcmd(interp, buf->tcl_ref, (void *)buf, objv[2]);
+ err = tclsetdelcmd(interp, buf->b_tcl_ref, (void *)buf, objv[2]);
break;
default:
@@ -1058,7 +1059,7 @@ winselfcmd(ref, interp, objc, objv)
err = TCL_ERROR;
break;
}
- err = tclsetdelcmd(interp, win->tcl_ref, (void *)win, objv[2]);
+ err = tclsetdelcmd(interp, win->w_tcl_ref, (void *)win, objv[2]);
break;
case WIN_CURSOR:
@@ -1465,7 +1466,8 @@ delref(cref)
static char *
tclgetref(interp, refstartP, prefix, vimobj, proc)
Tcl_Interp *interp;
- void **refstartP; /* ptr to tcl_ref member of win_T/buf_T struct */
+ void **refstartP; /* ptr to w_tcl_ref/b_tcl-ref member of
+ win_T/buf_T struct */
char *prefix; /* "win" or "buf" */
void *vimobj; /* win_T* or buf_T* */
Tcl_ObjCmdProc *proc; /* winselfcmd or bufselfcmd */
@@ -1533,7 +1535,7 @@ tclgetwindow(interp, win)
Tcl_Interp *interp;
win_T *win;
{
- return tclgetref(interp, &(win->tcl_ref), "win", (void *)win, winselfcmd);
+ return tclgetref(interp, &(win->w_tcl_ref), "win", (void *)win, winselfcmd);
}
static char *
@@ -1541,7 +1543,7 @@ tclgetbuffer(interp, buf)
Tcl_Interp *interp;
buf_T *buf;
{
- return tclgetref(interp, &(buf->tcl_ref), "buf", (void *)buf, bufselfcmd);
+ return tclgetref(interp, &(buf->b_tcl_ref), "buf", (void *)buf, bufselfcmd);
}
static int
@@ -2095,12 +2097,12 @@ tcl_buffer_free(buf)
return;
#endif
- reflist = (struct ref*)(buf->tcl_ref);
+ reflist = (struct ref *)(buf->b_tcl_ref);
if (reflist != &refsdeleted)
{
- buf->tcl_ref = (void *)&refsdeleted;
+ buf->b_tcl_ref = (void *)&refsdeleted;
tcldelallrefs(reflist);
- buf->tcl_ref = NULL;
+ buf->b_tcl_ref = NULL;
}
}
@@ -2116,12 +2118,12 @@ tcl_window_free(win)
return;
#endif
- reflist = (struct ref*)(win->tcl_ref);
+ reflist = (struct ref*)(win->w_tcl_ref);
if (reflist != &refsdeleted)
{
- win->tcl_ref = (void *)&refsdeleted;
+ win->w_tcl_ref = (void *)&refsdeleted;
tcldelallrefs(reflist);
- win->tcl_ref = NULL;
+ win->w_tcl_ref = NULL;
}
}
#endif
diff --git a/src/if_xcmdsrv.c b/src/if_xcmdsrv.c
index 63faf0c18..d19f50dd8 100644
--- a/src/if_xcmdsrv.c
+++ b/src/if_xcmdsrv.c
@@ -1273,7 +1273,7 @@ serverEventProc(dpy, eventPtr)
ga_grow(&reply, 50 + STRLEN(p_enc));
sprintf(reply.ga_data, "%cr%c-E %s%c-s %s%c-r ",
0, 0, p_enc, 0, serial, 0);
- reply.ga_len = 14 + STRLEN(serial);
+ reply.ga_len = 14 + STRLEN(p_enc) + STRLEN(serial);
#else
ga_grow(&reply, 50);
sprintf(reply.ga_data, "%cr%c-s %s%c-r ", 0, 0, serial, 0);
diff --git a/src/mbyte.c b/src/mbyte.c
index bf86b5e10..abdb9e8b3 100644
--- a/src/mbyte.c
+++ b/src/mbyte.c
@@ -2987,16 +2987,12 @@ enc_locale()
# ifdef HAVE_NL_LANGINFO_CODESET
if ((s = nl_langinfo(CODESET)) == NULL || *s == NUL)
# endif
-# ifdef MACOS
- s = "utf-8";
-# else
# if defined(HAVE_LOCALE_H) || defined(X_LOCALE)
if ((s = setlocale(LC_CTYPE, NULL)) == NULL || *s == NUL)
# endif
if ((s = getenv("LC_ALL")) == NULL || *s == NUL)
if ((s = getenv("LC_CTYPE")) == NULL || *s == NUL)
s = getenv("LANG");
-# endif
if (s == NULL || *s == NUL)
return FAIL;
diff --git a/src/option.c b/src/option.c
index bbf564a50..bfe3ed6d0 100644
--- a/src/option.c
+++ b/src/option.c
@@ -109,6 +109,7 @@ typedef enum
, PV_NU
, PV_NUW
, PV_OFT
+ , PV_OFU
, PV_PATH
, PV_PI
, PV_PVW
@@ -181,6 +182,7 @@ static char_u *p_cpt;
#endif
#ifdef FEAT_COMPL_FUNC
static char_u *p_cfu;
+static char_u *p_ofu;
#endif
static int p_eol;
static int p_et;
@@ -1601,6 +1603,15 @@ static struct vimoption
(char_u *)NULL, PV_NONE,
#endif
{(char_u *)8L, (char_u *)4L}},
+ {"occultfunc", "ofu", P_STRING|P_ALLOCED|P_VI_DEF|P_SECURE,
+#ifdef FEAT_COMPL_FUNC
+ (char_u *)&p_ofu, PV_OFU,
+ {(char_u *)"", (char_u *)0L}
+#else
+ (char_u *)NULL, PV_NONE,
+ {(char_u *)0L, (char_u *)0L}
+#endif
+ },
{"open", NULL, P_BOOL|P_VI_DEF,
(char_u *)NULL, PV_NONE,
{(char_u *)FALSE, (char_u *)0L}},
@@ -4740,6 +4751,7 @@ check_buf_options(buf)
#endif
#ifdef FEAT_COMPL_FUNC
check_string_option(&buf->b_p_cfu);
+ check_string_option(&buf->b_p_ofu);
#endif
#ifdef FEAT_KEYMAP
check_string_option(&buf->b_p_keymap);
@@ -8447,6 +8459,7 @@ get_varp(p)
#endif
#ifdef FEAT_COMPL_FUNC
case PV_CFU: return (char_u *)&(curbuf->b_p_cfu);
+ case PV_OFU: return (char_u *)&(curbuf->b_p_ofu);
#endif
case PV_EOL: return (char_u *)&(curbuf->b_p_eol);
case PV_ET: return (char_u *)&(curbuf->b_p_et);
@@ -8778,6 +8791,7 @@ buf_copy_options(buf, flags)
#endif
#ifdef FEAT_COMPL_FUNC
buf->b_p_cfu = vim_strsave(p_cfu);
+ buf->b_p_ofu = vim_strsave(p_ofu);
#endif
buf->b_p_sts = p_sts;
buf->b_p_sts_nopaste = p_sts_nopaste;
diff --git a/src/po/it.po b/src/po/it.po
index ee0becf45..ed25f47fc 100644
--- a/src/po/it.po
+++ b/src/po/it.po
@@ -13,8 +13,8 @@ msgid ""
msgstr ""
"Project-Id-Version: vim 7.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-07-02 18:00+0200\n"
-"PO-Revision-Date: 2005-07-02 18:00+0200\n"
+"POT-Creation-Date: 2005-08-25 09:30+0200\n"
+"PO-Revision-Date: 2005-08-29 21:30+0200\n"
"Last-Translator: Vlad Sandrini <marco@sandrini.biz>\n"
"Language-Team: Italian"
" Antonio Colombo <azc10@yahoo.com>"
@@ -224,13 +224,8 @@ msgid " Keyword completion (^N^P)"
msgstr " Completamento Keyword (^N^P)"
#. ctrl_x_mode == 0, ^P/^N compl.
-msgid " ^X mode (^E^Y^L^]^F^I^K^D^U^V^N^P)"
-msgstr " modalità ^X (^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 " Completamento Keyword Locale (^N^P)"
+msgid " ^X mode (^]^D^E^F^I^K^L^N^O^P^S^U^V^Y)"
+msgstr " modalità ^X (^]^D^E^F^I^K^L^N^O^P^S^U^V^Y)"
msgid " Whole line completion (^L^N^P)"
msgstr " Completamento Linea Intera (^L^N^P)"
@@ -259,15 +254,24 @@ msgstr " Completamento linea comandi (^V^N^P)"
msgid " User defined completion (^U^N^P)"
msgstr " Completamento definito dall'utente (^U^N^P)"
+msgid " Occult completion (^O^N^P)"
+msgstr " Completamento nascosto (^O^N^P)"
+
+msgid " Spelling suggestion (^S^N^P)"
+msgstr " Suggerimento ortografico (^S^N^P)"
+
+msgid " Keyword Local completion (^N^P)"
+msgstr " Completamento Keyword Locale (^N^P)"
+
msgid "Hit end of paragraph"
msgstr "Giunto alla fine del paragrafo"
-msgid "'thesaurus' option is empty"
-msgstr "l'opzione 'thesaurus' è vuota"
-
msgid "'dictionary' option is empty"
msgstr "l'opzione 'dictionary' è vuota"
+msgid "'thesaurus' option is empty"
+msgstr "l'opzione 'thesaurus' è vuota"
+
#, c-format
msgid "Scanning dictionary: %s"
msgstr "Scansione dizionario: %s"
@@ -669,6 +673,13 @@ msgstr ""
"\n"
"# variabili globali:\n"
+msgid ""
+"\n"
+"\tLast set from "
+msgstr ""
+"\n"
+"\tImpostata l'ultima volta da "
+
msgid "Entering Debug mode. Type \"cont\" to continue."
msgstr "Entro modalità Debug. Batti \"cont\" per continuare."
@@ -779,90 +790,6 @@ msgid "E168: :finish used outside of a sourced file"
msgstr "E168: :finish usato fuori da file di comandi"
#, c-format
-msgid "Page %d"
-msgstr "Pagina %d"
-
-msgid "No text to be printed"
-msgstr "Manca testo da stampare"
-
-#, c-format
-msgid "Printing page %d (%d%%)"
-msgstr "Sto stampando pagina %d (%d%%)"
-
-#, c-format
-msgid " Copy %d of %d"
-msgstr " Copia %d di %d"
-
-#, c-format
-msgid "Printed: %s"
-msgstr "Stampato: %s"
-
-msgid "Printing aborted"
-msgstr "Stampa non completata'"
-
-msgid "E455: Error writing to PostScript output file"
-msgstr "E455: Errore in scrittura a file PostScript di output"
-
-#, c-format
-msgid "E624: Can't open file \"%s\""
-msgstr "E624: Non riesco ad aprire il file \"%s\""
-
-#, c-format
-msgid "E457: Can't read PostScript resource file \"%s\""
-msgstr "E457: Non riesco a leggere file risorse PostScript \"%s\""
-
-#, c-format
-msgid "E618: file \"%s\" is not a PostScript resource file"
-msgstr "E618: file \"%s\" non è un file di risorse PostScript"
-
-#, c-format
-msgid "E619: file \"%s\" is not a supported PostScript resource file"
-msgstr "E619: file \"%s\" non è un file di risorse PostScript supportato"
-
-#, c-format
-msgid "E621: \"%s\" resource file has wrong version"
-msgstr "E621: il file di risorse \"%s\" ha una versione sbagliata"
-
-msgid "E673: Incompatible multi-byte encoding and character set."
-msgstr "E673: Codifica e set di caratteri multi-byte non compatibili."
-
-msgid "E674: printmbcharset cannot be empty with multi-byte encoding."
-msgstr "E674: printmbcharset non può essere nullo con codifica multi-byte."
-
-msgid "E675: No default font specified for multi-byte printing."
-msgstr "E675: Font predefinito non specificato per stampa multi-byte."
-
-msgid "E324: Can't open PostScript output file"
-msgstr "E324: Non riesco ad aprire file PostScript di output"
-
-#, c-format
-msgid "E456: Can't open file \"%s\""
-msgstr "E456: Non riesco ad aprire il file \"%s\""
-
-msgid "E456: Can't find PostScript resource file \"prolog.ps\""
-msgstr "E456: Non trovo file risorse PostScript \"prolog.ps\""
-
-msgid "E456: Can't find PostScript resource file \"cidfont.ps\""
-msgstr "E456: Non trovo file risorse PostScript \"cidfont.ps\""
-
-#, c-format
-msgid "E456: Can't find PostScript resource file \"%s.ps\""
-msgstr "E456: Non trovo file risorse PostScript \"%s.ps\""
-
-#, c-format
-msgid "E620: Unable to convert to print encoding \"%s\""
-msgstr "E620: Impossibile convertire a codifica di stampa \"%s\""
-
-msgid "Sending to printer..."
-msgstr "Invio a stampante..."
-
-msgid "E365: Failed to print PostScript file"
-msgstr "E365: Non riesco ad aprire file PostScript"
-
-msgid "Print job sent."
-msgstr "Richiesta di stampa inviata."
-
-#, c-format
msgid "Current %slanguage: \"%s\""
msgstr "Lingua %sin uso: \"%s\""
@@ -965,6 +892,14 @@ msgid "Overwrite existing file \"%s\"?"
msgstr "Riscrittura del file esistente \"%s\"?"
#, c-format
+msgid "Swap file \"%s\" exists, overwrite anyway?"
+msgstr "Il file swap \"%s\" esiste già, sovrascrivo?"
+
+#, c-format
+msgid "E768: Swap file exists: %s (:silent! overrides)"
+msgstr "E768: File swap esistente: %s (:silent! per sovrascriverlo)"
+
+#, c-format
msgid "E141: No file name for buffer %ld"
msgstr "E141: Manca nome file per il buffer %ld"
@@ -1221,7 +1156,7 @@ msgstr "E182: Nome comando non valido"
msgid "E183: User defined commands must start with an uppercase letter"
msgstr ""
-"E183 I comandi definiti dall'utente devono iniziare con lettera maiuscola"
+"E183: I comandi definiti dall'utente devono iniziare con lettera maiuscola"
#, c-format
msgid "E184: No such user-defined command: %s"
@@ -2163,6 +2098,99 @@ msgstr "Dimensione:"
msgid "E256: Hangul automata ERROR"
msgstr "E256: ERRORE processore Hangul"
+msgid "E550: Missing colon"
+msgstr "E550: Manca ':'"
+
+msgid "E551: Illegal component"
+msgstr "E551: Componente non valido"
+
+msgid "E552: digit expected"
+msgstr "E552: aspettavo un numero"
+
+#, c-format
+msgid "Page %d"
+msgstr "Pagina %d"
+
+msgid "No text to be printed"
+msgstr "Manca testo da stampare"
+
+#, c-format
+msgid "Printing page %d (%d%%)"
+msgstr "Sto stampando pagina %d (%d%%)"
+
+#, c-format
+msgid " Copy %d of %d"
+msgstr " Copia %d di %d"
+
+#, c-format
+msgid "Printed: %s"
+msgstr "Stampato: %s"
+
+msgid "Printing aborted"
+msgstr "Stampa non completata'"
+
+msgid "E455: Error writing to PostScript output file"
+msgstr "E455: Errore in scrittura a file PostScript di output"
+
+#, c-format
+msgid "E624: Can't open file \"%s\""
+msgstr "E624: Non riesco ad aprire il file \"%s\""
+
+#, c-format
+msgid "E457: Can't read PostScript resource file \"%s\""
+msgstr "E457: Non riesco a leggere file risorse PostScript \"%s\""
+
+#, c-format
+msgid "E618: file \"%s\" is not a PostScript resource file"
+msgstr "E618: file \"%s\" non è un file di risorse PostScript"
+
+#, c-format
+msgid "E619: file \"%s\" is not a supported PostScript resource file"
+msgstr "E619: file \"%s\" non è un file di risorse PostScript supportato"
+
+#, c-format
+msgid "E621: \"%s\" resource file has wrong version"
+msgstr "E621: il file di risorse \"%s\" ha una versione sbagliata"
+
+msgid "E673: Incompatible multi-byte encoding and character set."
+msgstr "E673: Codifica e set di caratteri multi-byte non compatibili."
+
+msgid "E674: printmbcharset cannot be empty with multi-byte encoding."
+msgstr "E674: printmbcharset non può essere nullo con codifica multi-byte."
+
+msgid "E675: No default font specified for multi-byte printing."
+msgstr "E675: Font predefinito non specificato per stampa multi-byte."
+
+msgid "E324: Can't open PostScript output file"
+msgstr "E324: Non riesco ad aprire file PostScript di output"
+
+#, c-format
+msgid "E456: Can't open file \"%s\""
+msgstr "E456: Non riesco ad aprire il file \"%s\""
+
+msgid "E456: Can't find PostScript resource file \"prolog.ps\""
+msgstr "E456: Non trovo file risorse PostScript \"prolog.ps\""
+
+msgid "E456: Can't find PostScript resource file \"cidfont.ps\""
+msgstr "E456: Non trovo file risorse PostScript \"cidfont.ps\""
+
+#, c-format
+msgid "E456: Can't find PostScript resource file \"%s.ps\""
+msgstr "E456: Non trovo file risorse PostScript \"%s.ps\""
+
+#, c-format
+msgid "E620: Unable to convert to print encoding \"%s\""
+msgstr "E620: Impossibile convertire a codifica di stampa \"%s\""
+
+msgid "Sending to printer..."
+msgstr "Invio a stampante..."
+
+msgid "E365: Failed to print PostScript file"
+msgstr "E365: Non riesco ad aprire file PostScript"
+
+msgid "Print job sent."
+msgstr "Richiesta di stampa inviata."
+
msgid "Add a new database"
msgstr "Aggiungi un nuovo database"
@@ -2612,8 +2640,8 @@ msgstr "E573: Identificativo di server non valido: %s"
msgid "E251: VIM instance registry property is badly formed. Deleted!"
msgstr "E251: Proprietà registry relative a VIM non adeguate. Cancellate!"
-msgid "Unknown option"
-msgstr "Opzione inesistente"
+msgid "Unknown option argument"
+msgstr "Argomento di opzione sconosciuto"
msgid "Too many edit arguments"
msgstr "Troppi argomenti di edit"
@@ -2621,8 +2649,8 @@ msgstr "Troppi argomenti di edit"
msgid "Argument missing after"
msgstr "Argomento mancante dopo"
-msgid "Garbage after option"
-msgstr "Spazzatura dopo opzione"
+msgid "Garbage after option argument"
+msgstr "Spazzatura dopo argomento di opzione"
msgid "Too many \"+command\", \"-c command\" or \"--cmd command\" arguments"
msgstr "Troppi argomenti \"+command\", \"-c command\" o \"--cmd command\""
@@ -2630,6 +2658,10 @@ msgstr "Troppi argomenti \"+command\", \"-c command\" o \"--cmd command\""
msgid "Invalid argument for"
msgstr "Argomento non valido per"
+#, c-format
+msgid "%d files to edit\n"
+msgstr "%d file da elaborare\n"
+
msgid "This Vim was not compiled with the diff feature."
msgstr "Vim non compilato con opzione 'diff'."
@@ -2651,10 +2683,6 @@ msgstr "Vim: Attenzione: Output non diretto a un terminale\n"
msgid "Vim: Warning: Input is not from a terminal\n"
msgstr "Vim: Attenzione: Input non proveniente da un terminale\n"
-#, c-format
-msgid "%d files to edit\n"
-msgstr "%d file da elaborare\n"
-
#. just in case..
msgid "pre-vimrc command line"
msgstr "linea comandi prima di vimrc"
@@ -3549,8 +3577,9 @@ msgstr ""
msgid "E328: Menu only exists in another mode"
msgstr "E328: I Menu esistono solo in un'altra modalità"
-msgid "E329: No menu of that name"
-msgstr "E329: Nessun Menu con quel nome"
+#, c-format
+msgid "E329: No menu \"%s\""
+msgstr "E329: Nessun Menu \"%s\""
msgid "E330: Menu path must not lead to a sub-menu"
msgstr "E330: Il percorso del Menu non deve condurre a un sotto-Menu"
@@ -3609,17 +3638,14 @@ msgstr "Manutentore messaggi: Vlad Sandrini <marco@sandrini.biz>"
msgid "Interrupt: "
msgstr "Interruzione: "
-msgid "Hit ENTER or type command to continue"
-msgstr "Batti INVIO o un comando per proseguire"
+msgid "Press ENTER or type command to continue"
+msgstr "Premi INVIO o un comando per proseguire"
msgid "-- More --"
msgstr "-- Ancora --"
-msgid " (RET/BS: line, SPACE/b: page, d/u: half page, q: quit)"
-msgstr " (RET/BS: linea, SPAZIO/b: pagina, d/u: mezza pagina, q: esci)"
-
-msgid " (RET: line, SPACE: page, d: half page, q: quit)"
-msgstr " (RET: linea, SPAZIO: pagina, d: mezza pagina, q: esci)"
+msgid " SPACE/d/j: screen/page/line down, b/u/k: up, q: quit "
+msgstr " SPAZIO/d/j: schermo/pagina/riga giù, b/u/k: su, q: abbandona"
msgid "Question"
msgstr "Domanda"
@@ -3657,6 +3683,12 @@ msgstr "Apri File dialogo"
msgid "E338: Sorry, no file browser in console mode"
msgstr "E338: Spiacente, niente esplorazione file in modalità console"
+msgid "E766: Insufficient arguments for printf()"
+msgstr "E766: Argomenti non sufficienti per printf()"
+
+msgid "E767: Too many arguments to printf()"
+msgstr "E767: Troppi argomenti per printf()"
+
msgid "W10: Warning: Changing a readonly file"
msgstr "W10: Attenzione: Modifica a un file in sola-lettura"
@@ -3776,15 +3808,6 @@ msgstr "E346: Nessun altra directory \"%s\" trovata nel 'cdpath'"
msgid "E347: No more file \"%s\" found in path"
msgstr "E347: Nessun altro file \"%s\" trovato nel percorso"
-msgid "E550: Missing colon"
-msgstr "E550: Manca ':'"
-
-msgid "E551: Illegal component"
-msgstr "E551: Componente non valido"
-
-msgid "E552: digit expected"
-msgstr "E552: aspettavo un numero"
-
#. Get here when the server can't be found.
msgid "Cannot connect to Netbeans #2"
msgstr "Non posso connettermi a Netbeans #2"
@@ -3964,13 +3987,6 @@ msgstr "E519: Opzione non supportata"
msgid "E520: Not allowed in a modeline"
msgstr "E520: Non consentito in una 'modeline'"
-msgid ""
-"\n"
-"\tLast set from "
-msgstr ""
-"\n"
-"\tImpostata l'ultima volta da "
-
msgid "E521: Number required after ="
msgstr "E521: Ci vuole un numero dopo ="
@@ -4482,6 +4498,10 @@ msgid "E71: Invalid character after %s%%"
msgstr "E71: Carattere non ammesso dopo %s%%"
#, c-format
+msgid "E769: Missing ] after %s["
+msgstr "E769: Manca ] dopo %s["
+
+#, c-format
msgid "E554: Syntax error in %s{...}"
msgstr "E554: Errore sintattico in %s{...}"
@@ -4607,29 +4627,51 @@ msgstr "E759: Errore di formato nel file ortografico"
msgid "E758: Truncated spell file"
msgstr "E758: File ortografico troncato"
+#, c-format
+msgid "Trailing text in %s line %d: %s"
+msgstr "Testo in eccesso in %s linea %d: %s"
+
+#, c-format
+msgid "Affix name too long in %s line %d: %s"
+msgstr "Nome affisso troppo lungo in %s linea %d: %s"
+
+msgid "E761: Format error in affix file FOL, LOW or UPP"
+msgstr "E761: Errore di formato nel file affissi FOL, LOW o UPP"
+
+msgid "E762: Character in FOL, LOW or UPP is out of range"
+msgstr "E762: Carattere fuori intervallo in FOL, LOW o UPP"
+
+msgid "Compressing word tree..."
+msgstr "Comprimo albero di parole..."
+
msgid "E756: Spell checking is not enabled"
msgstr "E756: Il controllo ortografico non è abilitato"
#, c-format
-msgid "Warning: Cannot find word list \"%s\""
-msgstr "Attenzione: Non trovo lista parole \"%s\""
+msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
+msgstr "Attenzione: Non trovo lista parole \"%s.%s.spl\" o \"%s.ascii.spl\""
#, c-format
msgid "Reading spell file \"%s\""
msgstr "Lettura file ortografico \"%s\""
-msgid "E757: Wrong file ID in spell file"
-msgstr "E757: File ID errato nel file ortografico"
+msgid "E757: This does not look like a spell file"
+msgstr "E757: Questo non sembra un file ortografico"
+
+msgid "E771: Old spell file, needs to be updated"
+msgstr "E771: File ortografico obsoleto, necessario aggiornamento"
+
+msgid "E772: Spell file is for newer version of Vim"
+msgstr "E772: Il file ortografico è per versioni di Vim più recenti"
+
+msgid "E770: Unsupported section in spell file"
+msgstr "E770: Sezione non supportata nel file ortografico"
#, c-format
msgid "Warning: region %s not supported"
msgstr "Attenzione: regione %s non supportata"
#, c-format
-msgid "Affix name too long in %s line %d: %s"
-msgstr "Nome affisso troppo lungo in %s linea %d: %s"
-
-#, c-format
msgid "Reading affix file %s ..."
msgstr "Lettura file affissi %s ..."
@@ -4646,28 +4688,40 @@ msgid "Conversion in %s not supported"
msgstr "Conversione in %s non supportata"
#, c-format
-msgid "Trailing text in %s line %d: %s"
-msgstr "Testo in eccesso in %s linea %d: %s"
+msgid "Invalid value for FLAG in %s line %d: %s"
+msgstr "Valore di FLAG non valido in %s linea %d: %s"
#, c-format
-msgid "Expected Y or N in %s line %d: %s"
-msgstr "Y o N deve essere presente in %s linea %d: %s"
+msgid "FLAG after using flags in %s line %d: %s"
+msgstr "FLAG dopo l'uso di flags in %s linea %d: %s"
#, c-format
-msgid "Duplicate affix in %s line %d: %s"
-msgstr "Affisso duplicato in %s linea %d: %s"
+msgid "Character used for SLASH must be ASCII; in %s line %d: %s"
+msgstr "Il carattere usato per SLASH deve essere ASCII; in %s linea %d: %s"
#, c-format
-msgid "Duplicate FOL in %s line %d"
-msgstr "FOL duplicato in %s linea %d"
+msgid "Wrong COMPOUNDMAX value in %s line %d: %s"
+msgstr "Valore errato per COMPOUNDMAX in %s linea %d: %s"
#, c-format
-msgid "Duplicate LOW in %s line %d"
-msgstr "LOW duplicato in %s linea %d"
+msgid "Wrong COMPOUNDMIN value in %s line %d: %s"
+msgstr "Valore errato per COMPOUNDMIN in %s linea %d: %s"
#, c-format
-msgid "Duplicate UPP in %s line %d"
-msgstr "UPP duplicato in %s linea %d"
+msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s"
+msgstr "Valore errato per COMPOUNDSYLMAX in %s linea %d: %s"
+
+#, c-format
+msgid "Expected Y or N in %s line %d: %s"
+msgstr "Y o N deve essere presente in %s linea %d: %s"
+
+#, c-format
+msgid "Duplicate affix in %s line %d: %s"
+msgstr "Affisso duplicato in %s linea %d: %s"
+
+#, c-format
+msgid "Broken condition in %s line %d: %s"
+msgstr "Condizione non rispettata in %s linea %d: %s"
#, c-format
msgid "Expected REP count in %s line %d"
@@ -4682,8 +4736,24 @@ msgid "Duplicate character in MAP in %s line %d"
msgstr "Carattere duplicato in MAP in %s linea %d"
#, c-format
-msgid "Unrecognized item in %s line %d: %s"
-msgstr "Elemento non riconosciuto in %s linea %d: %s"
+msgid "Unrecognized or duplicate item in %s line %d: %s"
+msgstr "Elemento non riconosciuto o duplicato in %s linea %d: %s"
+
+#, c-format
+msgid "Missing FOL/LOW/UPP line in %s"
+msgstr "Linea FOL/LOW/UPP mancante in %s"
+
+msgid "COMPOUNDSYLMAX used without SYLLABLE"
+msgstr "COMPOUNDSYLMAX usato senza SYLLABLE"
+
+msgid "Too many postponed prefixes"
+msgstr "Troppi prefissi posposti"
+
+msgid "Too many compound flags"
+msgstr "Troppi flag composti"
+
+msgid "Too many posponed prefixes and/or compound flags"
+msgstr "Troppi prefissi posposti e/o flag composti"
#, c-format
msgid "Missing SOFO%s line in %s"
@@ -4694,8 +4764,16 @@ msgid "Both SAL and SOFO lines in %s"
msgstr "Linee sia SAL che SOFO in %s"
#, c-format
-msgid "Missing FOL/LOW/UPP line in %s"
-msgstr "Linea FOL/LOW/UPP mancante in %s"
+msgid "Flag is not a number in %s line %d: %s"
+msgstr "Il flag non è un numero in %s linea %d: %s"
+
+#, c-format
+msgid "Illegal flag in %s line %d: %s"
+msgstr "Flag non ammesso in %s linea %d: %s"
+
+#, c-format
+msgid "%s value differs from what is used in another .aff file"
+msgstr "Il valore di %s è diverso da quello usato in un altro file .aff"
#, c-format
msgid "Reading dictionary file %s ..."
@@ -4714,8 +4792,16 @@ msgid "Duplicate word in %s line %d: %s"
msgstr "Parola duplicata in %s linea %d: %s"
#, c-format
-msgid "Ignored %d words with non-ASCII characters"
-msgstr "%d parole con caratteri non-ASCII ignorate"
+msgid "First duplicate word in %s line %d: %s"
+msgstr "Prima parola duplicata in %s linea %d: %s"
+
+#, c-format
+msgid "%d duplicate word(s) in %s"
+msgstr "%d parole duplicate in %s"
+
+#, c-format
+msgid "Ignored %d word(s) with non-ASCII characters in %s"
+msgstr "%d parole con caratteri non-ASCII ignorate in %s"
#, c-format
msgid "Reading word file %s ..."
@@ -4750,6 +4836,10 @@ msgid "Unrecognized flags in %s line %d: %s"
msgstr "Flag non riconosciuti in %s linea %d: %s"
#, c-format
+msgid "Ignored %d words with non-ASCII characters"
+msgstr "%d parole con caratteri non-ASCII ignorate"
+
+#, c-format
msgid "Compressed %d of %d nodes; %d%% remaining"
msgstr "%d di %d nodi compressi; ne restano %d%%"
@@ -4763,8 +4853,8 @@ msgstr "E754: Sono supportate fino ad 8 regioni"
msgid "E755: Invalid region in %s"
msgstr "E755: Regione non valida in %s"
-msgid "Compressing word tree..."
-msgstr "Comprimo albero di parole..."
+msgid "Warning: both compounding and NOBREAK specified"
+msgstr "Attenzione: specificati sia composizione sia NOBREAK"
#, c-format
msgid "Writing spell file %s ..."
@@ -4780,11 +4870,9 @@ msgstr "Uso stimato di memoria durante esecuzione: %d bytes"
msgid "E764: 'spellfile' is not set"
msgstr "E764: opzione 'spellfile' vuota"
-msgid "E761: Format error in affix file FOL, LOW or UPP"
-msgstr "E761: Errore di formato nel file affissi FOL, LOW o UPP"
-
-msgid "E762: Character in FOL, LOW or UPP is out of range"
-msgstr "E762: Carattere fuori intervallo in FOL, LOW o UPP"
+#, c-format
+msgid "E765: 'spellfile' does not have %ld enties"
+msgstr "E765: 'spellfile' non ha %ld elementi"
msgid "E763: Word characters differ between spell files"
msgstr "E763: Caratteri di parola differenti nei file ortografici"
@@ -4792,27 +4880,19 @@ msgstr "E763: Caratteri di parola differenti nei file ortografici"
msgid "Sorry, no suggestions"
msgstr "Spiacente, nessun suggerimento"
+#, c-format
+msgid "Sorry, only %ld suggestions"
+msgstr "Spiacente, solo %ld suggerimenti"
+
#. avoid more prompt
#, c-format
msgid "Change \"%.*s\" to:"
msgstr "Cambiare \"%.*s\" in:"
#, c-format
-msgid "%2d \"%s\""
-msgstr "%2d \"%s\""
-
-#, c-format
msgid " < \"%.*s\""
msgstr " < \"%.*s\""
-#, c-format
-msgid " (%s%d - %d)"
-msgstr " (%s%d - %d)"
-
-#, c-format
-msgid " (%d)"
-msgstr " (%d)"
-
msgid "E752: No previous spell replacement"
msgstr "E752: Nessuna sostituzione ortografica precedente"
diff --git a/src/proto/gui_w32.pro b/src/proto/gui_w32.pro
index 491971c54..31f44aa2e 100644
--- a/src/proto/gui_w32.pro
+++ b/src/proto/gui_w32.pro
@@ -82,11 +82,11 @@ void gui_mch_set_foreground __ARGS((void));
void gui_mch_drawsign __ARGS((int row, int col, int typenr));
void *gui_mch_register_sign __ARGS((char_u *signfile));
void gui_mch_destroy_sign __ARGS((void *sign));
+int multiline_balloon_available __ARGS((void));
void gui_mch_disable_beval_area __ARGS((BalloonEval *beval));
void gui_mch_enable_beval_area __ARGS((BalloonEval *beval));
void gui_mch_post_balloon __ARGS((BalloonEval *beval, char_u *mesg));
BalloonEval *gui_mch_create_beval_area __ARGS((void *target, char_u *mesg, void (*mesgCB)(BalloonEval *, int), void *clientData));
void gui_mch_destroy_beval_area __ARGS((BalloonEval *beval));
void netbeans_draw_multisign_indicator __ARGS((int row));
-int multiline_balloon_available __ARGS((void));
/* vim: set ft=c : */
diff --git a/src/proto/search.pro b/src/proto/search.pro
index 15e8b3007..8e222aa2a 100644
--- a/src/proto/search.pro
+++ b/src/proto/search.pro
@@ -26,7 +26,7 @@ int bckend_word __ARGS((long count, int bigword, int eol));
int current_word __ARGS((oparg_T *oap, long count, int include, int bigword));
int current_sent __ARGS((oparg_T *oap, long count, int include));
int current_block __ARGS((oparg_T *oap, long count, int include, int what, int other));
-int current_tagblock __ARGS((oparg_T *oap, long count, int include));
+int current_tagblock __ARGS((oparg_T *oap, long count_arg, int include));
int current_par __ARGS((oparg_T *oap, long count, int include, int type));
int current_quote __ARGS((oparg_T *oap, long count, int include, int quotechar));
int linewhite __ARGS((linenr_T lnum));
diff --git a/src/quickfix.c b/src/quickfix.c
index bf0b0b8c6..d595c4f5e 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -187,7 +187,7 @@ qf_init_ext(efile, buf, tv, errorformat, newlist, lnumfirst, lnumlast)
char *pattern;
} fmt_pat[FMT_PATTERNS] =
{
- {'f', "\\f\\+"},
+ {'f', ".\\+"}, /* only used when at end */
{'n', "\\d\\+"},
{'l', "\\d\\+"},
{'c', "\\d\\+"},
@@ -319,16 +319,25 @@ qf_init_ext(efile, buf, tv, errorformat, newlist, lnumfirst, lnumlast)
ptr += 10;
}
#endif
- if (*efmp == 'f' && efmp[1] != NUL
- && efmp[1] != '\\' && efmp[1] != '%')
+ if (*efmp == 'f' && efmp[1] != NUL)
{
- /* A file name may contain spaces, but this isn't in
- * "\f". For "%f:%l:%m" there may be a ":" in the
- * file name. Use ".\{-1,}x" instead (x is the next
- * character), the requirement that :999: follows
- * should work. */
- STRCPY(ptr, ".\\{-1,}");
- ptr += 7;
+ if (efmp[1] != '\\' && efmp[1] != '%')
+ {
+ /* A file name may contain spaces, but this isn't
+ * in "\f". For "%f:%l:%m" there may be a ":" in
+ * the file name. Use ".\{-1,}x" instead (x is
+ * the next character), the requirement that :999:
+ * follows should work. */
+ STRCPY(ptr, ".\\{-1,}");
+ ptr += 7;
+ }
+ else
+ {
+ /* File name followed by '\\' or '%': include as
+ * many file name chars as possible. */
+ STRCPY(ptr, "\\f\\+");
+ ptr += 4;
+ }
}
else
{
diff --git a/src/spell.c b/src/spell.c
index 56c891d82..2c21d94c8 100644
--- a/src/spell.c
+++ b/src/spell.c
@@ -7654,7 +7654,7 @@ spell_add_word(word, len, bad, index)
break;
if (*spf == NUL)
{
- EMSGN(_("E765: 'spellfile' does not have %ld enties"), index);
+ EMSGN(_("E765: 'spellfile' does not have %ld entries"), index);
return;
}
}
diff --git a/src/structs.h b/src/structs.h
index 5473510e2..9c63407a8 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -1288,6 +1288,7 @@ struct file_buffer
#endif
#ifdef FEAT_COMPL_FUNC
char_u *b_p_cfu; /* 'completefunc' */
+ char_u *b_p_ofu; /* 'occultfunc' */
#endif
int b_p_eol; /* 'endofline' */
int b_p_et; /* 'expandtab' */
@@ -1410,23 +1411,23 @@ struct file_buffer
#endif
#ifdef FEAT_MZSCHEME
- void *mzscheme_ref; /* The MzScheme reference to this buffer */
+ void *b_mzscheme_ref; /* The MzScheme reference to this buffer */
#endif
#ifdef FEAT_PERL
- void *perl_private;
+ void *b_perl_private;
#endif
#ifdef FEAT_PYTHON
- void *python_ref; /* The Python reference to this buffer */
+ void *b_python_ref; /* The Python reference to this buffer */
#endif
#ifdef FEAT_TCL
- void *tcl_ref;
+ void *b_tcl_ref;
#endif
#ifdef FEAT_RUBY
- void *ruby_ref;
+ void *b_ruby_ref;
#endif
#ifdef FEAT_SYN_HL
@@ -1810,31 +1811,30 @@ struct window
#ifdef FEAT_MZSCHEME
- void *mzscheme_ref; /* The MzScheme value referring to this window */
+ void *w_mzscheme_ref; /* The MzScheme value for this window */
#endif
#ifdef FEAT_PERL
- void *perl_private;
+ void *w_perl_private;
#endif
#ifdef FEAT_PYTHON
- void *python_ref; /* The Python value referring to this
- window */
+ void *w_python_ref; /* The Python value for this window */
#endif
#ifdef FEAT_TCL
- void *tcl_ref;
+ void *w_tcl_ref;
#endif
#ifdef FEAT_RUBY
- void *ruby_ref;
+ void *w_ruby_ref;
#endif
};
/*
* Arguments for operators.
*/
-typedef struct oparg
+typedef struct oparg_S
{
int op_type; /* current pending operator type */
int regname; /* register to use for the operator */
@@ -1865,7 +1865,7 @@ typedef struct oparg
/*
* Arguments for Normal mode commands.
*/
-typedef struct cmdarg
+typedef struct cmdarg_S
{
oparg_T *oap; /* Operator arguments */
int prechar; /* prefix character (optional, always 'g') */
diff --git a/src/version.h b/src/version.h
index 2ea46ab9b..0db9ab214 100644
--- a/src/version.h
+++ b/src/version.h
@@ -36,5 +36,5 @@
#define VIM_VERSION_NODOT "vim70aa"
#define VIM_VERSION_SHORT "7.0aa"
#define VIM_VERSION_MEDIUM "7.0aa ALPHA"
-#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2005 Aug 30)"
-#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Aug 30, compiled "
+#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2005 Sep 1)"
+#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Sep 1, compiled "
diff --git a/src/vim.h b/src/vim.h
index 2760330d3..c20541c0e 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -68,6 +68,10 @@
# ifndef HAVE_CONFIG_H
# define UNIX
# endif
+# ifdef HAVE_STRINGS_H
+/* On Mac OS X strings.h exists but produces an annoying warning message. */
+# undef HAVE_STRINGS_H
+# endif
#endif
#if defined(MACOS_X) || defined(MACOS_CLASSIC)
# define MACOS