Merge remote branch 'fedora/f19' into rhel-7.0
This commit is contained in:
commit
e6cf33afbc
69
7.3.823
Normal file
69
7.3.823
Normal file
@ -0,0 +1,69 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.823
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.823 (after 7.3.821)
|
||||
Problem: Building with Cygwin: '-lsupc++' is not needed.
|
||||
Solution: Remove it. (Ken Takata)
|
||||
Files: src/Make_cyg.mak
|
||||
|
||||
|
||||
*** ../vim-7.3.822/src/Make_cyg.mak 2013-02-16 18:16:11.000000000 +0100
|
||||
--- src/Make_cyg.mak 2013-02-17 15:04:05.000000000 +0100
|
||||
***************
|
||||
*** 1,6 ****
|
||||
#
|
||||
# Makefile for VIM on Win32, using Cygnus gcc
|
||||
! # Last updated by Dan Sharp. Last Change: 2012 Jun 30
|
||||
#
|
||||
# Also read INSTALLpc.txt!
|
||||
#
|
||||
--- 1,6 ----
|
||||
#
|
||||
# Makefile for VIM on Win32, using Cygnus gcc
|
||||
! # Last updated by Dan Sharp. Last Change: 2013 Feb 17
|
||||
#
|
||||
# Also read INSTALLpc.txt!
|
||||
#
|
||||
***************
|
||||
*** 487,493 ****
|
||||
EXTRA_OBJS += $(OUTDIR)/if_ole.o
|
||||
EXTRA_LIBS += -loleaut32
|
||||
ifeq (yes, $(STATIC_STDCPLUS))
|
||||
! EXTRA_LIBS += -Wl,-Bstatic -lstdc++ -lsupc++ -Wl,-Bdynamic
|
||||
else
|
||||
EXTRA_LIBS += -lstdc++
|
||||
endif
|
||||
--- 487,493 ----
|
||||
EXTRA_OBJS += $(OUTDIR)/if_ole.o
|
||||
EXTRA_LIBS += -loleaut32
|
||||
ifeq (yes, $(STATIC_STDCPLUS))
|
||||
! EXTRA_LIBS += -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
|
||||
else
|
||||
EXTRA_LIBS += -lstdc++
|
||||
endif
|
||||
*** ../vim-7.3.822/src/version.c 2013-02-17 15:45:34.000000000 +0100
|
||||
--- src/version.c 2013-02-20 13:33:42.000000000 +0100
|
||||
***************
|
||||
*** 727,728 ****
|
||||
--- 727,730 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 823,
|
||||
/**/
|
||||
|
||||
--
|
||||
ARTHUR: Now stand aside worthy adversary.
|
||||
BLACK KNIGHT: (Glancing at his shoulder) 'Tis but a scratch.
|
||||
ARTHUR: A scratch? Your arm's off.
|
||||
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
49
7.3.824
Normal file
49
7.3.824
Normal file
@ -0,0 +1,49 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.824
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.824
|
||||
Problem: Can redefine builtin functions. (ZyX)
|
||||
Solution: Disallow adding a function to g:.
|
||||
Files: src/eval.c
|
||||
|
||||
|
||||
*** ../vim-7.3.823/src/eval.c 2013-02-14 22:11:31.000000000 +0100
|
||||
--- src/eval.c 2013-02-20 15:17:50.000000000 +0100
|
||||
***************
|
||||
*** 21164,21169 ****
|
||||
--- 21164,21172 ----
|
||||
if (arg[j] != NUL)
|
||||
emsg_funcname((char *)e_invarg2, arg);
|
||||
}
|
||||
+ /* Disallow using the g: dict. */
|
||||
+ if (fudi.fd_dict != NULL && fudi.fd_dict->dv_scope == VAR_DEF_SCOPE)
|
||||
+ EMSG(_("E862: Cannot use g: here"));
|
||||
}
|
||||
|
||||
/*
|
||||
*** ../vim-7.3.823/src/version.c 2013-02-20 13:34:14.000000000 +0100
|
||||
--- src/version.c 2013-02-20 14:11:01.000000000 +0100
|
||||
***************
|
||||
*** 727,728 ****
|
||||
--- 727,730 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 824,
|
||||
/**/
|
||||
|
||||
--
|
||||
ARTHUR: You are indeed brave Sir knight, but the fight is mine.
|
||||
BLACK KNIGHT: Had enough?
|
||||
ARTHUR: You stupid bastard. You havn't got any arms left.
|
||||
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
125
7.3.825
Normal file
125
7.3.825
Normal file
@ -0,0 +1,125 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.825
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.825
|
||||
Problem: With Python errors are not always clear.
|
||||
Solution: Print the stack trace, unless :silent is used. (ZyX)
|
||||
Files: src/if_python3.c, src/if_python.c
|
||||
|
||||
|
||||
*** ../vim-7.3.824/src/if_python3.c 2013-02-13 14:17:00.000000000 +0100
|
||||
--- src/if_python3.c 2013-02-20 15:26:03.000000000 +0100
|
||||
***************
|
||||
*** 122,127 ****
|
||||
--- 122,128 ----
|
||||
# define PyDict_SetItemString py3_PyDict_SetItemString
|
||||
# define PyErr_BadArgument py3_PyErr_BadArgument
|
||||
# define PyErr_Clear py3_PyErr_Clear
|
||||
+ # define PyErr_PrintEx py3_PyErr_PrintEx
|
||||
# define PyErr_NoMemory py3_PyErr_NoMemory
|
||||
# define PyErr_Occurred py3_PyErr_Occurred
|
||||
# define PyErr_SetNone py3_PyErr_SetNone
|
||||
***************
|
||||
*** 279,284 ****
|
||||
--- 280,286 ----
|
||||
static void* (*py3_PyMem_Malloc)(size_t);
|
||||
static int (*py3_Py_IsInitialized)(void);
|
||||
static void (*py3_PyErr_Clear)(void);
|
||||
+ static void (*py3_PyErr_PrintEx)(int);
|
||||
static PyObject*(*py3__PyObject_Init)(PyObject *, PyTypeObject *);
|
||||
static iternextfunc py3__PyObject_NextNotImplemented;
|
||||
static PyObject* py3__Py_NoneStruct;
|
||||
***************
|
||||
*** 403,408 ****
|
||||
--- 405,411 ----
|
||||
{"_Py_FalseStruct", (PYTHON_PROC*)&py3__Py_FalseStruct},
|
||||
{"_Py_TrueStruct", (PYTHON_PROC*)&py3__Py_TrueStruct},
|
||||
{"PyErr_Clear", (PYTHON_PROC*)&py3_PyErr_Clear},
|
||||
+ {"PyErr_PrintEx", (PYTHON_PROC*)&py3_PyErr_PrintEx},
|
||||
{"PyObject_Init", (PYTHON_PROC*)&py3__PyObject_Init},
|
||||
{"PyModule_AddObject", (PYTHON_PROC*)&py3_PyModule_AddObject},
|
||||
{"PyImport_AppendInittab", (PYTHON_PROC*)&py3_PyImport_AppendInittab},
|
||||
***************
|
||||
*** 842,848 ****
|
||||
--- 845,855 ----
|
||||
r = PyRun_String(PyBytes_AsString(cmdbytes), Py_eval_input,
|
||||
globals, globals);
|
||||
if (r == NULL)
|
||||
+ {
|
||||
+ if (PyErr_Occurred() && !msg_silent)
|
||||
+ PyErr_PrintEx(0);
|
||||
EMSG(_("E860: Eval did not return a valid python 3 object"));
|
||||
+ }
|
||||
else
|
||||
{
|
||||
if (ConvertFromPyObject(r, rettv) == -1)
|
||||
*** ../vim-7.3.824/src/if_python.c 2013-02-13 14:17:00.000000000 +0100
|
||||
--- src/if_python.c 2013-02-20 15:26:03.000000000 +0100
|
||||
***************
|
||||
*** 148,153 ****
|
||||
--- 148,154 ----
|
||||
# define PyDict_SetItemString dll_PyDict_SetItemString
|
||||
# define PyErr_BadArgument dll_PyErr_BadArgument
|
||||
# define PyErr_Clear dll_PyErr_Clear
|
||||
+ # define PyErr_PrintEx dll_PyErr_PrintEx
|
||||
# define PyErr_NoMemory dll_PyErr_NoMemory
|
||||
# define PyErr_Occurred dll_PyErr_Occurred
|
||||
# define PyErr_SetNone dll_PyErr_SetNone
|
||||
***************
|
||||
*** 251,256 ****
|
||||
--- 252,258 ----
|
||||
static int(*dll_PyDict_SetItemString)(PyObject *dp, char *key, PyObject *item);
|
||||
static int(*dll_PyErr_BadArgument)(void);
|
||||
static void(*dll_PyErr_Clear)(void);
|
||||
+ static void(*dll_PyErr_PrintEx)(int);
|
||||
static PyObject*(*dll_PyErr_NoMemory)(void);
|
||||
static PyObject*(*dll_PyErr_Occurred)(void);
|
||||
static void(*dll_PyErr_SetNone)(PyObject *);
|
||||
***************
|
||||
*** 380,385 ****
|
||||
--- 382,388 ----
|
||||
{"PyDict_SetItemString", (PYTHON_PROC*)&dll_PyDict_SetItemString},
|
||||
{"PyErr_BadArgument", (PYTHON_PROC*)&dll_PyErr_BadArgument},
|
||||
{"PyErr_Clear", (PYTHON_PROC*)&dll_PyErr_Clear},
|
||||
+ {"PyErr_PrintEx", (PYTHON_PROC*)&dll_PyErr_PrintEx},
|
||||
{"PyErr_NoMemory", (PYTHON_PROC*)&dll_PyErr_NoMemory},
|
||||
{"PyErr_Occurred", (PYTHON_PROC*)&dll_PyErr_Occurred},
|
||||
{"PyErr_SetNone", (PYTHON_PROC*)&dll_PyErr_SetNone},
|
||||
***************
|
||||
*** 856,862 ****
|
||||
--- 859,869 ----
|
||||
|
||||
r = PyRun_String((char *)(cmd), Py_eval_input, globals, globals);
|
||||
if (r == NULL)
|
||||
+ {
|
||||
+ if (PyErr_Occurred() && !msg_silent)
|
||||
+ PyErr_PrintEx(0);
|
||||
EMSG(_("E858: Eval did not return a valid python object"));
|
||||
+ }
|
||||
else
|
||||
{
|
||||
if (ConvertFromPyObject(r, rettv) == -1)
|
||||
*** ../vim-7.3.824/src/version.c 2013-02-20 15:19:38.000000000 +0100
|
||||
--- src/version.c 2013-02-20 15:27:20.000000000 +0100
|
||||
***************
|
||||
*** 727,728 ****
|
||||
--- 727,730 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 825,
|
||||
/**/
|
||||
|
||||
--
|
||||
ARTHUR: What are you going to do. bleed on me?
|
||||
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
155
7.3.826
Normal file
155
7.3.826
Normal file
@ -0,0 +1,155 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.826
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.826
|
||||
Problem: List of features in :version output is hard to read.
|
||||
Solution: Make columns. (Nazri Ramliy)
|
||||
Files: src/version.c
|
||||
|
||||
|
||||
*** ../vim-7.3.825/src/version.c 2013-02-20 16:09:35.000000000 +0100
|
||||
--- src/version.c 2013-02-20 16:27:44.000000000 +0100
|
||||
***************
|
||||
*** 34,39 ****
|
||||
--- 34,42 ----
|
||||
# if (defined(VMS) && defined(VAXC)) || defined(PROTO)
|
||||
char longVersion[sizeof(VIM_VERSION_LONG_DATE) + sizeof(__DATE__)
|
||||
+ sizeof(__TIME__) + 3];
|
||||
+
|
||||
+ static void list_features __ARGS((void));
|
||||
+
|
||||
void
|
||||
make_version()
|
||||
{
|
||||
***************
|
||||
*** 2435,2440 ****
|
||||
--- 2440,2513 ----
|
||||
}
|
||||
}
|
||||
|
||||
+ /*
|
||||
+ * List all features aligned in columns, dictionary style.
|
||||
+ */
|
||||
+ static void
|
||||
+ list_features()
|
||||
+ {
|
||||
+ int i;
|
||||
+ int ncol;
|
||||
+ int nrow;
|
||||
+ int nfeat = 0;
|
||||
+ int width = 0;
|
||||
+
|
||||
+ /* Find the length of the longest feature name, use that + 1 as the column
|
||||
+ * width */
|
||||
+ for (i = 0; features[i] != NULL; ++i)
|
||||
+ {
|
||||
+ int l = STRLEN(features[i]);
|
||||
+
|
||||
+ if (l > width)
|
||||
+ width = l;
|
||||
+ ++nfeat;
|
||||
+ }
|
||||
+ width += 1;
|
||||
+
|
||||
+ if (Columns < width)
|
||||
+ {
|
||||
+ /* Not enough screen columns - show one per line */
|
||||
+ for (i = 0; features[i] != NULL; ++i)
|
||||
+ {
|
||||
+ version_msg(features[i]);
|
||||
+ if (msg_col > 0)
|
||||
+ msg_putchar('\n');
|
||||
+ }
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ ncol = (int) Columns / width;
|
||||
+ /* The rightmost column doesn't need a separator.
|
||||
+ * Sacrifice it to fit in one more column if possible. */
|
||||
+ if (Columns % width == width - 1)
|
||||
+ ncol++;
|
||||
+
|
||||
+ nrow = nfeat / ncol + (nfeat % ncol ? 1 : 0);
|
||||
+
|
||||
+ for (i = 0; !got_int && i < nrow * ncol; ++i)
|
||||
+ {
|
||||
+ int idx = (i / ncol) + (i % ncol) * nrow;
|
||||
+
|
||||
+ if (idx < nfeat)
|
||||
+ {
|
||||
+ int last_col = (i + 1) % ncol == 0;
|
||||
+
|
||||
+ msg_puts((char_u *)features[idx]);
|
||||
+ if (last_col)
|
||||
+ {
|
||||
+ if (msg_col > 0)
|
||||
+ msg_putchar('\n');
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ while (msg_col % width)
|
||||
+ msg_putchar(' ');
|
||||
+ }
|
||||
+ }
|
||||
+ else
|
||||
+ msg_putchar('\n');
|
||||
+ }
|
||||
+ }
|
||||
void
|
||||
list_version()
|
||||
{
|
||||
***************
|
||||
*** 2632,2646 ****
|
||||
#endif
|
||||
version_msg(_(" Features included (+) or not (-):\n"));
|
||||
|
||||
! /* print all the features */
|
||||
! for (i = 0; features[i] != NULL; ++i)
|
||||
! {
|
||||
! version_msg(features[i]);
|
||||
! if (msg_col > 0)
|
||||
! version_msg(" ");
|
||||
! }
|
||||
|
||||
- version_msg("\n");
|
||||
#ifdef SYS_VIMRC_FILE
|
||||
version_msg(_(" system vimrc file: \""));
|
||||
version_msg(SYS_VIMRC_FILE);
|
||||
--- 2705,2712 ----
|
||||
#endif
|
||||
version_msg(_(" Features included (+) or not (-):\n"));
|
||||
|
||||
! list_features();
|
||||
|
||||
#ifdef SYS_VIMRC_FILE
|
||||
version_msg(_(" system vimrc file: \""));
|
||||
version_msg(SYS_VIMRC_FILE);
|
||||
*** ../vim-7.3.825/src/version.c 2013-02-20 16:09:35.000000000 +0100
|
||||
--- src/version.c 2013-02-20 16:27:44.000000000 +0100
|
||||
***************
|
||||
*** 727,728 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 826,
|
||||
/**/
|
||||
|
||||
--
|
||||
Mrs Abbott: I'm a paediatrician.
|
||||
Basil: Feet?
|
||||
Mrs Abbott: Children.
|
||||
Sybil: Oh, Basil!
|
||||
Basil: Well, children have feet, don't they? That's how they move
|
||||
around, my dear. You must take a look next time, it's most
|
||||
interesting. (Fawlty Towers)
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
94
7.3.827
Normal file
94
7.3.827
Normal file
@ -0,0 +1,94 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.827
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.827 (after 7.3.825)
|
||||
Problem: Python tests fail.
|
||||
Solution: Adjust the output for the stack trace.
|
||||
Files: src/testdir/test86.in, src/testdir/test86.ok,
|
||||
src/testdir/test87.ok
|
||||
|
||||
|
||||
*** ../vim-7.3.826/src/testdir/test86.in 2013-02-13 14:17:00.000000000 +0100
|
||||
--- src/testdir/test86.in 2013-02-17 21:16:13.000000000 +0100
|
||||
***************
|
||||
*** 1,5 ****
|
||||
--- 1,11 ----
|
||||
Tests for various python features. vim: set ft=vim :
|
||||
|
||||
+ NOTE: This will cause errors when run under valgrind.
|
||||
+ This would require recompiling Python with:
|
||||
+ ./configure --without-pymalloc
|
||||
+ See http://svn.python.org/view/python/trunk/Misc/README.valgrind?view=markup
|
||||
+
|
||||
+
|
||||
STARTTEST
|
||||
:so small.vim
|
||||
:if !has('python') | e! test.ok | wq! test.out | endif
|
||||
*** ../vim-7.3.826/src/testdir/test86.ok 2013-02-13 14:17:00.000000000 +0100
|
||||
--- src/testdir/test86.ok 2013-02-20 16:33:20.000000000 +0100
|
||||
***************
|
||||
*** 61,67 ****
|
||||
0.0
|
||||
"\0": Vim(let):E859:
|
||||
{"\0": 1}: Vim(let):E859:
|
||||
! undefined_name: Vim(let):E858:
|
||||
vim: Vim(let):E859:
|
||||
[1]
|
||||
[1, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 1]
|
||||
--- 61,67 ----
|
||||
0.0
|
||||
"\0": Vim(let):E859:
|
||||
{"\0": 1}: Vim(let):E859:
|
||||
! undefined_name: Vim(let):Trace
|
||||
vim: Vim(let):E859:
|
||||
[1]
|
||||
[1, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 1]
|
||||
*** ../vim-7.3.826/src/testdir/test87.ok 2013-02-13 14:17:00.000000000 +0100
|
||||
--- src/testdir/test87.ok 2013-02-20 16:33:31.000000000 +0100
|
||||
***************
|
||||
*** 61,67 ****
|
||||
0.0
|
||||
"\0": Vim(let):E861:
|
||||
{"\0": 1}: Vim(let):E861:
|
||||
! undefined_name: Vim(let):E860:
|
||||
vim: Vim(let):E861:
|
||||
[1]
|
||||
[1, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 1]
|
||||
--- 61,67 ----
|
||||
0.0
|
||||
"\0": Vim(let):E861:
|
||||
{"\0": 1}: Vim(let):E861:
|
||||
! undefined_name: Vim(let):Trace
|
||||
vim: Vim(let):E861:
|
||||
[1]
|
||||
[1, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 1]
|
||||
*** ../vim-7.3.826/src/version.c 2013-02-20 16:46:52.000000000 +0100
|
||||
--- src/version.c 2013-02-20 16:48:39.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 827,
|
||||
/**/
|
||||
|
||||
--
|
||||
Any resemblance between the above views and those of my employer, my terminal,
|
||||
or the view out my window are purely coincidental. Any resemblance between
|
||||
the above and my own views is non-deterministic. The question of the
|
||||
existence of views in the absence of anyone to hold them is left as an
|
||||
exercise for the reader. The question of the existence of the reader is left
|
||||
as an exercise for the second god coefficient. (A discussion of
|
||||
non-orthogonal, non-integral polytheism is beyond the scope of this article.)
|
||||
(Ralph Jennings)
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
131
7.3.828
Normal file
131
7.3.828
Normal file
@ -0,0 +1,131 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.828
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.828
|
||||
Problem: Mappings are not aware of wildmenu mode.
|
||||
Solution: Add wildmenumode(). (Christian Brabandt)
|
||||
Files: src/eval.c, runtime/doc/eval.txt
|
||||
|
||||
|
||||
*** ../vim-7.3.827/src/eval.c 2013-02-20 15:19:38.000000000 +0100
|
||||
--- src/eval.c 2013-02-20 17:45:19.000000000 +0100
|
||||
***************
|
||||
*** 751,756 ****
|
||||
--- 751,757 ----
|
||||
static void f_values __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_virtcol __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_visualmode __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
+ static void f_wildmenumode __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_winbufnr __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_wincol __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_winheight __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
***************
|
||||
*** 8121,8126 ****
|
||||
--- 8122,8128 ----
|
||||
{"values", 1, 1, f_values},
|
||||
{"virtcol", 1, 1, f_virtcol},
|
||||
{"visualmode", 0, 1, f_visualmode},
|
||||
+ {"wildmenumode", 0, 0, f_wildmenumode},
|
||||
{"winbufnr", 1, 1, f_winbufnr},
|
||||
{"wincol", 0, 0, f_wincol},
|
||||
{"winheight", 1, 1, f_winheight},
|
||||
***************
|
||||
*** 18576,18581 ****
|
||||
--- 18578,18597 ----
|
||||
#endif
|
||||
}
|
||||
|
||||
+ /*
|
||||
+ * "wildmenumode()" function
|
||||
+ */
|
||||
+ static void
|
||||
+ f_wildmenumode(argvars, rettv)
|
||||
+ typval_T *argvars UNUSED;
|
||||
+ typval_T *rettv UNUSED;
|
||||
+ {
|
||||
+ #ifdef FEAT_WILDMENU
|
||||
+ if (wild_menu_showing)
|
||||
+ rettv->vval.v_number = 1;
|
||||
+ #endif
|
||||
+ }
|
||||
+
|
||||
/*
|
||||
* "winbufnr(nr)" function
|
||||
*/
|
||||
*** ../vim-7.3.827/runtime/doc/eval.txt 2013-02-13 17:34:59.000000000 +0100
|
||||
--- runtime/doc/eval.txt 2013-02-20 17:43:23.000000000 +0100
|
||||
***************
|
||||
*** 1974,1986 ****
|
||||
toupper( {expr}) String the String {expr} switched to uppercase
|
||||
tr( {src}, {fromstr}, {tostr}) String translate chars of {src} in {fromstr}
|
||||
to chars in {tostr}
|
||||
! trunc( {expr} Float truncate Float {expr}
|
||||
type( {name}) Number type of variable {name}
|
||||
undofile( {name}) String undo file name for {name}
|
||||
undotree() List undo file tree
|
||||
values( {dict}) List values in {dict}
|
||||
virtcol( {expr}) Number screen column of cursor or mark
|
||||
visualmode( [expr]) String last visual mode used
|
||||
winbufnr( {nr}) Number buffer number of window {nr}
|
||||
wincol() Number window column of the cursor
|
||||
winheight( {nr}) Number height of window {nr}
|
||||
--- 1986,1999 ----
|
||||
toupper( {expr}) String the String {expr} switched to uppercase
|
||||
tr( {src}, {fromstr}, {tostr}) String translate chars of {src} in {fromstr}
|
||||
to chars in {tostr}
|
||||
! trunc( {expr}) Float truncate Float {expr}
|
||||
type( {name}) Number type of variable {name}
|
||||
undofile( {name}) String undo file name for {name}
|
||||
undotree() List undo file tree
|
||||
values( {dict}) List values in {dict}
|
||||
virtcol( {expr}) Number screen column of cursor or mark
|
||||
visualmode( [expr]) String last visual mode used
|
||||
+ wildmenumode() Number whether 'wildmenu' mode is active
|
||||
winbufnr( {nr}) Number buffer number of window {nr}
|
||||
wincol() Number window column of the cursor
|
||||
winheight( {nr}) Number height of window {nr}
|
||||
***************
|
||||
*** 6121,6126 ****
|
||||
--- 6163,6180 ----
|
||||
Dictionary or Float is not a Number or String, thus does not
|
||||
cause the mode to be cleared.
|
||||
|
||||
+ wildmenumode() *wildmenumode()*
|
||||
+ Returns non-zero when the wildmenu is active and zero
|
||||
+ otherwise. See 'wildmenu' and 'wildmode'.
|
||||
+ This can be used in mappings to handle the 'wildcharm' option
|
||||
+ gracefully. (Makes only sense with |mapmode-c| mappings).
|
||||
+
|
||||
+ For example to make <c-j> work like <down> in wildmode, use: >
|
||||
+ :cnoremap <expr> <C-j> wildmenumode() ? "\<Down>\<Tab>" : "\<c-j>"
|
||||
+ <
|
||||
+ (Note, this needs the 'wildcharm' option set appropriately).
|
||||
+
|
||||
+
|
||||
*winbufnr()*
|
||||
winbufnr({nr}) The result is a Number, which is the number of the buffer
|
||||
associated with window {nr}. When {nr} is zero, the number of
|
||||
*** ../vim-7.3.827/src/version.c 2013-02-20 16:54:24.000000000 +0100
|
||||
--- src/version.c 2013-02-20 17:41:17.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 828,
|
||||
/**/
|
||||
|
||||
--
|
||||
"Beware of bugs in the above code; I have only proved
|
||||
it correct, not tried it." -- Donald Knuth
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
83
7.3.829
Normal file
83
7.3.829
Normal file
@ -0,0 +1,83 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.829
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.829
|
||||
Problem: When compiled with the +rightleft feature 'showmatch' also shows a
|
||||
match for the opening paren. When 'revins' is set the screen may
|
||||
scroll.
|
||||
Solution: Only check the opening paren when the +rightleft feature was
|
||||
enabled. Do not show a match that is not visible. (partly by
|
||||
Christian Brabandt)
|
||||
Files: src/search.c
|
||||
|
||||
|
||||
*** ../vim-7.3.828/src/search.c 2013-01-23 16:43:07.000000000 +0100
|
||||
--- src/search.c 2013-02-20 18:33:33.000000000 +0100
|
||||
***************
|
||||
*** 2431,2442 ****
|
||||
/* 'matchpairs' is "x:y,x:y" */
|
||||
for (p = curbuf->b_p_mps; *p != NUL; ++p)
|
||||
{
|
||||
- if (PTR2CHAR(p) == c
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
! && (curwin->w_p_rl ^ p_ri)
|
||||
! #endif
|
||||
! )
|
||||
break;
|
||||
p += MB_PTR2LEN(p) + 1;
|
||||
if (PTR2CHAR(p) == c
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
--- 2431,2440 ----
|
||||
/* 'matchpairs' is "x:y,x:y" */
|
||||
for (p = curbuf->b_p_mps; *p != NUL; ++p)
|
||||
{
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
! if (PTR2CHAR(p) == c && (curwin->w_p_rl ^ p_ri))
|
||||
break;
|
||||
+ #endif
|
||||
p += MB_PTR2LEN(p) + 1;
|
||||
if (PTR2CHAR(p) == c
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
***************
|
||||
*** 2451,2457 ****
|
||||
|
||||
if ((lpos = findmatch(NULL, NUL)) == NULL) /* no match, so beep */
|
||||
vim_beep();
|
||||
! else if (lpos->lnum >= curwin->w_topline)
|
||||
{
|
||||
if (!curwin->w_p_wrap)
|
||||
getvcol(curwin, lpos, NULL, &vcol, NULL);
|
||||
--- 2449,2455 ----
|
||||
|
||||
if ((lpos = findmatch(NULL, NUL)) == NULL) /* no match, so beep */
|
||||
vim_beep();
|
||||
! else if (lpos->lnum >= curwin->w_topline && lpos->lnum < curwin->w_botline)
|
||||
{
|
||||
if (!curwin->w_p_wrap)
|
||||
getvcol(curwin, lpos, NULL, &vcol, NULL);
|
||||
*** ../vim-7.3.828/src/version.c 2013-02-20 17:58:01.000000000 +0100
|
||||
--- src/version.c 2013-02-20 18:35:12.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 829,
|
||||
/**/
|
||||
|
||||
--
|
||||
BLACK KNIGHT: The Black Knight always triumphs. Have at you!
|
||||
ARTHUR takes his last leg off. The BLACK KNIGHT's body lands upright.
|
||||
BLACK KNIGHT: All right, we'll call it a draw.
|
||||
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
88
7.3.830
Normal file
88
7.3.830
Normal file
@ -0,0 +1,88 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.830
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.830
|
||||
Problem: :mksession confuses bytes, columns and characters when positioning
|
||||
the cursor.
|
||||
Solution: Use w_virtcol with "|" instead of w_cursor.col with "l".
|
||||
Files: src/ex_docmd.c
|
||||
|
||||
|
||||
*** ../vim-7.3.829/src/ex_docmd.c 2013-02-14 22:11:31.000000000 +0100
|
||||
--- src/ex_docmd.c 2013-02-20 19:13:21.000000000 +0100
|
||||
***************
|
||||
*** 10829,10852 ****
|
||||
{
|
||||
if (fprintf(fd,
|
||||
"let s:c = %ld - ((%ld * winwidth(0) + %ld) / %ld)",
|
||||
! (long)wp->w_cursor.col,
|
||||
! (long)(wp->w_cursor.col - wp->w_leftcol),
|
||||
(long)wp->w_width / 2, (long)wp->w_width) < 0
|
||||
|| put_eol(fd) == FAIL
|
||||
|| put_line(fd, "if s:c > 0") == FAIL
|
||||
|| fprintf(fd,
|
||||
! " exe 'normal! 0' . s:c . 'lzs' . (%ld - s:c) . 'l'",
|
||||
! (long)wp->w_cursor.col) < 0
|
||||
|| put_eol(fd) == FAIL
|
||||
|| put_line(fd, "else") == FAIL
|
||||
! || fprintf(fd, " normal! 0%dl", wp->w_cursor.col) < 0
|
||||
|| put_eol(fd) == FAIL
|
||||
|| put_line(fd, "endif") == FAIL)
|
||||
return FAIL;
|
||||
}
|
||||
else
|
||||
{
|
||||
! if (fprintf(fd, "normal! 0%dl", wp->w_cursor.col) < 0
|
||||
|| put_eol(fd) == FAIL)
|
||||
return FAIL;
|
||||
}
|
||||
--- 10829,10852 ----
|
||||
{
|
||||
if (fprintf(fd,
|
||||
"let s:c = %ld - ((%ld * winwidth(0) + %ld) / %ld)",
|
||||
! (long)wp->w_virtcol + 1,
|
||||
! (long)(wp->w_virtcol - wp->w_leftcol),
|
||||
(long)wp->w_width / 2, (long)wp->w_width) < 0
|
||||
|| put_eol(fd) == FAIL
|
||||
|| put_line(fd, "if s:c > 0") == FAIL
|
||||
|| fprintf(fd,
|
||||
! " exe 'normal! ' . s:c . '|zs' . %ld . '|'",
|
||||
! (long)wp->w_virtcol + 1) < 0
|
||||
|| put_eol(fd) == FAIL
|
||||
|| put_line(fd, "else") == FAIL
|
||||
! || fprintf(fd, " normal! %d|", wp->w_virtcol + 1) < 0
|
||||
|| put_eol(fd) == FAIL
|
||||
|| put_line(fd, "endif") == FAIL)
|
||||
return FAIL;
|
||||
}
|
||||
else
|
||||
{
|
||||
! if (fprintf(fd, "normal! 0%d|", wp->w_virtcol + 1) < 0
|
||||
|| put_eol(fd) == FAIL)
|
||||
return FAIL;
|
||||
}
|
||||
*** ../vim-7.3.829/src/version.c 2013-02-20 18:39:07.000000000 +0100
|
||||
--- src/version.c 2013-02-20 19:14:18.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 830,
|
||||
/**/
|
||||
|
||||
--
|
||||
Westheimer's Discovery:
|
||||
A couple of months in the laboratory can
|
||||
frequently save a couple of hours in the library.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
609
7.3.831
Normal file
609
7.3.831
Normal file
@ -0,0 +1,609 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.831
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.831
|
||||
Problem: Clumsy to handle the situation that a variable does not exist.
|
||||
Solution: Add default value to getbufvar() et al. (Shougo Matsushita,
|
||||
Hirohito Higashi)
|
||||
Files: runtime/doc/eval.txt, src/eval.c src/testdir/test91.in,
|
||||
src/testdir/test91.ok, src/testdir/Make_amiga.mak,
|
||||
src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
|
||||
src/testdir/Make_os2.mak, src/testdir/Make_vms.mms,
|
||||
src/testdir/Makefile
|
||||
|
||||
|
||||
*** ../vim-7.3.830/runtime/doc/eval.txt 2013-02-20 17:58:01.000000000 +0100
|
||||
--- runtime/doc/eval.txt 2013-02-20 20:53:50.000000000 +0100
|
||||
***************
|
||||
*** 1761,1772 ****
|
||||
foldtextresult( {lnum}) String text for closed fold at {lnum}
|
||||
foreground( ) Number bring the Vim window to the foreground
|
||||
function( {name}) Funcref reference to function {name}
|
||||
! garbagecollect( [at_exit]) none free memory, breaking cyclic references
|
||||
get( {list}, {idx} [, {def}]) any get item {idx} from {list} or {def}
|
||||
get( {dict}, {key} [, {def}]) any get item {key} from {dict} or {def}
|
||||
getbufline( {expr}, {lnum} [, {end}])
|
||||
List lines {lnum} to {end} of buffer {expr}
|
||||
! getbufvar( {expr}, {varname}) any variable {varname} in buffer {expr}
|
||||
getchar( [expr]) Number get one character from the user
|
||||
getcharmod( ) Number modifiers for the last typed character
|
||||
getcmdline() String return the current command-line
|
||||
--- 1772,1784 ----
|
||||
foldtextresult( {lnum}) String text for closed fold at {lnum}
|
||||
foreground( ) Number bring the Vim window to the foreground
|
||||
function( {name}) Funcref reference to function {name}
|
||||
! garbagecollect( [{atexit}]) none free memory, breaking cyclic references
|
||||
get( {list}, {idx} [, {def}]) any get item {idx} from {list} or {def}
|
||||
get( {dict}, {key} [, {def}]) any get item {key} from {dict} or {def}
|
||||
getbufline( {expr}, {lnum} [, {end}])
|
||||
List lines {lnum} to {end} of buffer {expr}
|
||||
! getbufvar( {expr}, {varname} [, {def}])
|
||||
! any variable {varname} in buffer {expr}
|
||||
getchar( [expr]) Number get one character from the user
|
||||
getcharmod( ) Number modifiers for the last typed character
|
||||
getcmdline() String return the current command-line
|
||||
***************
|
||||
*** 1787,1798 ****
|
||||
getqflist() List list of quickfix items
|
||||
getreg( [{regname} [, 1]]) String contents of register
|
||||
getregtype( [{regname}]) String type of register
|
||||
! gettabvar( {nr}, {varname}) any variable {varname} in tab {nr}
|
||||
! gettabwinvar( {tabnr}, {winnr}, {name})
|
||||
any {name} in {winnr} in tab page {tabnr}
|
||||
getwinposx() Number X coord in pixels of GUI Vim window
|
||||
getwinposy() Number Y coord in pixels of GUI Vim window
|
||||
! getwinvar( {nr}, {varname}) any variable {varname} in window {nr}
|
||||
glob( {expr} [, {nosuf} [, {list}]])
|
||||
any expand file wildcards in {expr}
|
||||
globpath( {path}, {expr} [, {flag}])
|
||||
--- 1799,1812 ----
|
||||
getqflist() List list of quickfix items
|
||||
getreg( [{regname} [, 1]]) String contents of register
|
||||
getregtype( [{regname}]) String type of register
|
||||
! gettabvar( {nr}, {varname} [, {def}])
|
||||
! any variable {varname} in tab {nr} or {def}
|
||||
! gettabwinvar( {tabnr}, {winnr}, {name} [, {def}])
|
||||
any {name} in {winnr} in tab page {tabnr}
|
||||
getwinposx() Number X coord in pixels of GUI Vim window
|
||||
getwinposy() Number Y coord in pixels of GUI Vim window
|
||||
! getwinvar( {nr}, {varname} [, {def}])
|
||||
! any variable {varname} in window {nr}
|
||||
glob( {expr} [, {nosuf} [, {list}]])
|
||||
any expand file wildcards in {expr}
|
||||
globpath( {path}, {expr} [, {flag}])
|
||||
***************
|
||||
*** 3131,3137 ****
|
||||
Example: >
|
||||
:let lines = getbufline(bufnr("myfile"), 1, "$")
|
||||
|
||||
! getbufvar({expr}, {varname}) *getbufvar()*
|
||||
The result is the value of option or local buffer variable
|
||||
{varname} in buffer {expr}. Note that the name without "b:"
|
||||
must be used.
|
||||
--- 3146,3152 ----
|
||||
Example: >
|
||||
:let lines = getbufline(bufnr("myfile"), 1, "$")
|
||||
|
||||
! getbufvar({expr}, {varname} [, {def}]) *getbufvar()*
|
||||
The result is the value of option or local buffer variable
|
||||
{varname} in buffer {expr}. Note that the name without "b:"
|
||||
must be used.
|
||||
***************
|
||||
*** 3141,3148 ****
|
||||
doesn't work for a global variable, window-local variable or
|
||||
window-local option.
|
||||
For the use of {expr}, see |bufname()| above.
|
||||
! When the buffer or variable doesn't exist an empty string is
|
||||
! returned, there is no error message.
|
||||
Examples: >
|
||||
:let bufmodified = getbufvar(1, "&mod")
|
||||
:echo "todo myvar = " . getbufvar("todo", "myvar")
|
||||
--- 3156,3163 ----
|
||||
doesn't work for a global variable, window-local variable or
|
||||
window-local option.
|
||||
For the use of {expr}, see |bufname()| above.
|
||||
! When the buffer or variable doesn't exist {def} or an empty
|
||||
! string is returned, there is no error message.
|
||||
Examples: >
|
||||
:let bufmodified = getbufvar(1, "&mod")
|
||||
:echo "todo myvar = " . getbufvar("todo", "myvar")
|
||||
***************
|
||||
*** 3414,3439 ****
|
||||
<CTRL-V> is one character with value 0x16.
|
||||
If {regname} is not specified, |v:register| is used.
|
||||
|
||||
! gettabvar({tabnr}, {varname}) *gettabvar()*
|
||||
Get the value of a tab-local variable {varname} in tab page
|
||||
{tabnr}. |t:var|
|
||||
Tabs are numbered starting with one.
|
||||
Note that the name without "t:" must be used.
|
||||
|
||||
! gettabwinvar({tabnr}, {winnr}, {varname}) *gettabwinvar()*
|
||||
Get the value of window-local variable {varname} in window
|
||||
{winnr} in tab page {tabnr}.
|
||||
When {varname} starts with "&" get the value of a window-local
|
||||
option.
|
||||
Tabs are numbered starting with one. For the current tabpage
|
||||
use |getwinvar()|.
|
||||
When {winnr} is zero the current window is used.
|
||||
This also works for a global option, buffer-local option and
|
||||
window-local option, but it doesn't work for a global variable
|
||||
or buffer-local variable.
|
||||
! When {varname} is empty a dictionary with all window-local
|
||||
! variables is returned.
|
||||
! Note that {varname} must be the name without "w:".
|
||||
Examples: >
|
||||
:let list_is_on = gettabwinvar(1, 2, '&list')
|
||||
:echo "myvar = " . gettabwinvar(3, 1, 'myvar')
|
||||
--- 3434,3463 ----
|
||||
<CTRL-V> is one character with value 0x16.
|
||||
If {regname} is not specified, |v:register| is used.
|
||||
|
||||
! gettabvar({tabnr}, {varname} [, {def}]) *gettabvar()*
|
||||
Get the value of a tab-local variable {varname} in tab page
|
||||
{tabnr}. |t:var|
|
||||
Tabs are numbered starting with one.
|
||||
Note that the name without "t:" must be used.
|
||||
+ When the tab or variable doesn't exist {def} or an empty
|
||||
+ string is returned, there is no error message.
|
||||
|
||||
! gettabwinvar({tabnr}, {winnr}, {varname} [, {def}]) *gettabwinvar()*
|
||||
Get the value of window-local variable {varname} in window
|
||||
{winnr} in tab page {tabnr}.
|
||||
When {varname} starts with "&" get the value of a window-local
|
||||
option.
|
||||
+ When {varname} is empty a dictionary with all window-local
|
||||
+ variables is returned.
|
||||
+ Note that {varname} must be the name without "w:".
|
||||
Tabs are numbered starting with one. For the current tabpage
|
||||
use |getwinvar()|.
|
||||
When {winnr} is zero the current window is used.
|
||||
This also works for a global option, buffer-local option and
|
||||
window-local option, but it doesn't work for a global variable
|
||||
or buffer-local variable.
|
||||
! When the tab, window or variable doesn't exist {def} or an
|
||||
! empty string is returned, there is no error message.
|
||||
Examples: >
|
||||
:let list_is_on = gettabwinvar(1, 2, '&list')
|
||||
:echo "myvar = " . gettabwinvar(3, 1, 'myvar')
|
||||
***************
|
||||
*** 3448,3454 ****
|
||||
the top of the GUI Vim window. The result will be -1 if the
|
||||
information is not available.
|
||||
|
||||
! getwinvar({winnr}, {varname}) *getwinvar()*
|
||||
Like |gettabwinvar()| for the current tabpage.
|
||||
Examples: >
|
||||
:let list_is_on = getwinvar(2, '&list')
|
||||
--- 3472,3478 ----
|
||||
the top of the GUI Vim window. The result will be -1 if the
|
||||
information is not available.
|
||||
|
||||
! getwinvar({winnr}, {varname} [, {def}]) *getwinvar()*
|
||||
Like |gettabwinvar()| for the current tabpage.
|
||||
Examples: >
|
||||
:let list_is_on = getwinvar(2, '&list')
|
||||
*** ../vim-7.3.830/src/eval.c 2013-02-20 17:58:01.000000000 +0100
|
||||
--- src/eval.c 2013-02-20 20:52:09.000000000 +0100
|
||||
***************
|
||||
*** 7916,7922 ****
|
||||
{"garbagecollect", 0, 1, f_garbagecollect},
|
||||
{"get", 2, 3, f_get},
|
||||
{"getbufline", 2, 3, f_getbufline},
|
||||
! {"getbufvar", 2, 2, f_getbufvar},
|
||||
{"getchar", 0, 1, f_getchar},
|
||||
{"getcharmod", 0, 0, f_getcharmod},
|
||||
{"getcmdline", 0, 0, f_getcmdline},
|
||||
--- 7916,7922 ----
|
||||
{"garbagecollect", 0, 1, f_garbagecollect},
|
||||
{"get", 2, 3, f_get},
|
||||
{"getbufline", 2, 3, f_getbufline},
|
||||
! {"getbufvar", 2, 3, f_getbufvar},
|
||||
{"getchar", 0, 1, f_getchar},
|
||||
{"getcharmod", 0, 0, f_getcharmod},
|
||||
{"getcmdline", 0, 0, f_getcmdline},
|
||||
***************
|
||||
*** 7936,7946 ****
|
||||
{"getqflist", 0, 0, f_getqflist},
|
||||
{"getreg", 0, 2, f_getreg},
|
||||
{"getregtype", 0, 1, f_getregtype},
|
||||
! {"gettabvar", 2, 2, f_gettabvar},
|
||||
! {"gettabwinvar", 3, 3, f_gettabwinvar},
|
||||
{"getwinposx", 0, 0, f_getwinposx},
|
||||
{"getwinposy", 0, 0, f_getwinposy},
|
||||
! {"getwinvar", 2, 2, f_getwinvar},
|
||||
{"glob", 1, 3, f_glob},
|
||||
{"globpath", 2, 3, f_globpath},
|
||||
{"has", 1, 1, f_has},
|
||||
--- 7936,7946 ----
|
||||
{"getqflist", 0, 0, f_getqflist},
|
||||
{"getreg", 0, 2, f_getreg},
|
||||
{"getregtype", 0, 1, f_getregtype},
|
||||
! {"gettabvar", 2, 3, f_gettabvar},
|
||||
! {"gettabwinvar", 3, 4, f_gettabwinvar},
|
||||
{"getwinposx", 0, 0, f_getwinposx},
|
||||
{"getwinposy", 0, 0, f_getwinposy},
|
||||
! {"getwinvar", 2, 3, f_getwinvar},
|
||||
{"glob", 1, 3, f_glob},
|
||||
{"globpath", 2, 3, f_globpath},
|
||||
{"has", 1, 1, f_has},
|
||||
***************
|
||||
*** 11115,11122 ****
|
||||
++emsg_off;
|
||||
buf = get_buf_tv(&argvars[0]);
|
||||
|
||||
! rettv->v_type = VAR_STRING;
|
||||
! rettv->vval.v_string = NULL;
|
||||
|
||||
if (buf != NULL && varname != NULL)
|
||||
{
|
||||
--- 11115,11128 ----
|
||||
++emsg_off;
|
||||
buf = get_buf_tv(&argvars[0]);
|
||||
|
||||
! if (argvars[2].v_type != VAR_UNKNOWN)
|
||||
! /* set the default value */
|
||||
! copy_tv(&argvars[2], rettv);
|
||||
! else
|
||||
! {
|
||||
! rettv->v_type = VAR_STRING;
|
||||
! rettv->vval.v_string = NULL;
|
||||
! }
|
||||
|
||||
if (buf != NULL && varname != NULL)
|
||||
{
|
||||
***************
|
||||
*** 11785,11791 ****
|
||||
--- 11791,11801 ----
|
||||
v = find_var_in_ht(&tp->tp_vars.dv_hashtab, varname, FALSE);
|
||||
if (v != NULL)
|
||||
copy_tv(&v->di_tv, rettv);
|
||||
+ else if (argvars[2].v_type != VAR_UNKNOWN)
|
||||
+ copy_tv(&argvars[2], rettv);
|
||||
}
|
||||
+ else if (argvars[2].v_type != VAR_UNKNOWN)
|
||||
+ copy_tv(&argvars[2], rettv);
|
||||
}
|
||||
|
||||
/*
|
||||
***************
|
||||
*** 11907,11914 ****
|
||||
varname = get_tv_string_chk(&argvars[off + 1]);
|
||||
++emsg_off;
|
||||
|
||||
! rettv->v_type = VAR_STRING;
|
||||
! rettv->vval.v_string = NULL;
|
||||
|
||||
if (win != NULL && varname != NULL)
|
||||
{
|
||||
--- 11917,11930 ----
|
||||
varname = get_tv_string_chk(&argvars[off + 1]);
|
||||
++emsg_off;
|
||||
|
||||
! if (argvars[off + 2].v_type != VAR_UNKNOWN)
|
||||
! /* set the default return value */
|
||||
! copy_tv(&argvars[off + 2], rettv);
|
||||
! else
|
||||
! {
|
||||
! rettv->v_type = VAR_STRING;
|
||||
! rettv->vval.v_string = NULL;
|
||||
! }
|
||||
|
||||
if (win != NULL && varname != NULL)
|
||||
{
|
||||
*** ../vim-7.3.830/src/testdir/test91.in 2013-02-20 21:09:20.000000000 +0100
|
||||
--- src/testdir/test91.in 2013-02-20 20:57:49.000000000 +0100
|
||||
***************
|
||||
*** 0 ****
|
||||
--- 1,98 ----
|
||||
+ Tests for getbufvar(), getwinvar(), gettabvar() and gettabwinvar().
|
||||
+ vim: set ft=vim :
|
||||
+
|
||||
+ STARTTEST
|
||||
+ :so small.vim
|
||||
+ :"
|
||||
+ :" test for getbufvar()
|
||||
+ :let b:var_num = 1234
|
||||
+ :let def_num = 5678
|
||||
+ :$put =string(getbufvar(1, 'var_num'))
|
||||
+ :$put =string(getbufvar(1, 'var_num', def_num))
|
||||
+ :$put =string(getbufvar(1, ''))
|
||||
+ :$put =string(getbufvar(1, '', def_num))
|
||||
+ :unlet b:var_num
|
||||
+ :$put =string(getbufvar(1, 'var_num', def_num))
|
||||
+ :$put =string(getbufvar(1, ''))
|
||||
+ :$put =string(getbufvar(1, '', def_num))
|
||||
+ :$put =string(getbufvar(9, ''))
|
||||
+ :$put =string(getbufvar(9, '', def_num))
|
||||
+ :unlet def_num
|
||||
+ :$put =string(getbufvar(1, '&autoindent'))
|
||||
+ :$put =string(getbufvar(1, '&autoindent', 1))
|
||||
+ :"
|
||||
+ :" test for getwinvar()
|
||||
+ :let w:var_str = "Dance"
|
||||
+ :let def_str = "Chance"
|
||||
+ :$put =string(getwinvar(1, 'var_str'))
|
||||
+ :$put =string(getwinvar(1, 'var_str', def_str))
|
||||
+ :$put =string(getwinvar(1, ''))
|
||||
+ :$put =string(getwinvar(1, '', def_str))
|
||||
+ :unlet w:var_str
|
||||
+ :$put =string(getwinvar(1, 'var_str', def_str))
|
||||
+ :$put =string(getwinvar(1, ''))
|
||||
+ :$put =string(getwinvar(1, '', def_str))
|
||||
+ :$put =string(getwinvar(9, ''))
|
||||
+ :$put =string(getwinvar(9, '', def_str))
|
||||
+ :$put =string(getwinvar(1, '&nu'))
|
||||
+ :$put =string(getwinvar(1, '&nu', 1))
|
||||
+ :unlet def_str
|
||||
+ :"
|
||||
+ :" test for gettabvar()
|
||||
+ :tabnew
|
||||
+ :tabnew
|
||||
+ :let t:var_list = [1, 2, 3]
|
||||
+ :let def_list = [4, 5, 6, 7]
|
||||
+ :tabrewind
|
||||
+ :$put =string(gettabvar(3, 'var_list'))
|
||||
+ :$put =string(gettabvar(3, 'var_list', def_list))
|
||||
+ :$put =string(gettabvar(3, ''))
|
||||
+ :$put =string(gettabvar(3, '', def_list))
|
||||
+ :tablast
|
||||
+ :unlet t:var_list
|
||||
+ :tabrewind
|
||||
+ :$put =string(gettabvar(3, 'var_list', def_list))
|
||||
+ :$put =string(gettabvar(9, ''))
|
||||
+ :$put =string(gettabvar(9, '', def_list))
|
||||
+ :$put =string(gettabvar(3, '&nu'))
|
||||
+ :$put =string(gettabvar(3, '&nu', def_list))
|
||||
+ :unlet def_list
|
||||
+ :tabonly
|
||||
+ :"
|
||||
+ :" test for gettabwinvar()
|
||||
+ :tabnew
|
||||
+ :tabnew
|
||||
+ :tabprev
|
||||
+ :split
|
||||
+ :split
|
||||
+ :wincmd w
|
||||
+ :vert split
|
||||
+ :wincmd w
|
||||
+ :let w:var_dict = {'dict': 'tabwin'}
|
||||
+ :let def_dict = {'dict2': 'newval'}
|
||||
+ :wincmd b
|
||||
+ :tabrewind
|
||||
+ :$put =string(gettabwinvar(2, 3, 'var_dict'))
|
||||
+ :$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
|
||||
+ :$put =string(gettabwinvar(2, 3, ''))
|
||||
+ :$put =string(gettabwinvar(2, 3, '', def_dict))
|
||||
+ :tabnext
|
||||
+ :3wincmd w
|
||||
+ :unlet w:var_dict
|
||||
+ :tabrewind
|
||||
+ :$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
|
||||
+ :$put =string(gettabwinvar(2, 3, ''))
|
||||
+ :$put =string(gettabwinvar(2, 3, '', def_dict))
|
||||
+ :$put =string(gettabwinvar(2, 9, ''))
|
||||
+ :$put =string(gettabwinvar(2, 9, '', def_dict))
|
||||
+ :$put =string(gettabwinvar(9, 3, ''))
|
||||
+ :$put =string(gettabwinvar(9, 3, '', def_dict))
|
||||
+ :unlet def_dict
|
||||
+ :$put =string(gettabwinvar(2, 3, '&nux'))
|
||||
+ :$put =string(gettabwinvar(2, 3, '&nux', 1))
|
||||
+ :tabonly
|
||||
+ :"
|
||||
+ :/^start/,$wq! test.out
|
||||
+ ENDTEST
|
||||
+
|
||||
+ start:
|
||||
*** ../vim-7.3.830/src/testdir/test91.ok 2013-02-20 21:09:20.000000000 +0100
|
||||
--- src/testdir/test91.ok 2013-02-20 20:57:45.000000000 +0100
|
||||
***************
|
||||
*** 0 ****
|
||||
--- 1,45 ----
|
||||
+ start:
|
||||
+ 1234
|
||||
+ 1234
|
||||
+ {'var_num': 1234}
|
||||
+ {'var_num': 1234}
|
||||
+ 5678
|
||||
+ {}
|
||||
+ {}
|
||||
+ ''
|
||||
+ 5678
|
||||
+ 0
|
||||
+ 0
|
||||
+ 'Dance'
|
||||
+ 'Dance'
|
||||
+ {'var_str': 'Dance'}
|
||||
+ {'var_str': 'Dance'}
|
||||
+ 'Chance'
|
||||
+ {}
|
||||
+ {}
|
||||
+ ''
|
||||
+ 'Chance'
|
||||
+ 0
|
||||
+ 0
|
||||
+ [1, 2, 3]
|
||||
+ [1, 2, 3]
|
||||
+ ''
|
||||
+ [4, 5, 6, 7]
|
||||
+ [4, 5, 6, 7]
|
||||
+ ''
|
||||
+ [4, 5, 6, 7]
|
||||
+ ''
|
||||
+ [4, 5, 6, 7]
|
||||
+ {'dict': 'tabwin'}
|
||||
+ {'dict': 'tabwin'}
|
||||
+ {'var_dict': {'dict': 'tabwin'}}
|
||||
+ {'var_dict': {'dict': 'tabwin'}}
|
||||
+ {'dict2': 'newval'}
|
||||
+ {}
|
||||
+ {}
|
||||
+ ''
|
||||
+ {'dict2': 'newval'}
|
||||
+ ''
|
||||
+ {'dict2': 'newval'}
|
||||
+ ''
|
||||
+ 1
|
||||
*** ../vim-7.3.830/src/testdir/Make_amiga.mak 2013-02-13 17:34:59.000000000 +0100
|
||||
--- src/testdir/Make_amiga.mak 2013-02-20 20:21:03.000000000 +0100
|
||||
***************
|
||||
*** 32,38 ****
|
||||
test71.out test72.out test73.out test74.out test75.out \
|
||||
test76.out test77.out test78.out test79.out test80.out \
|
||||
test81.out test82.out test83.out test84.out test88.out \
|
||||
! test89.out test90.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
--- 32,38 ----
|
||||
test71.out test72.out test73.out test74.out test75.out \
|
||||
test76.out test77.out test78.out test79.out test80.out \
|
||||
test81.out test82.out test83.out test84.out test88.out \
|
||||
! test89.out test90.out test91.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
***************
|
||||
*** 139,141 ****
|
||||
--- 139,142 ----
|
||||
test88.out: test88.in
|
||||
test89.out: test89.in
|
||||
test90.out: test90.in
|
||||
+ test91.out: test91.in
|
||||
*** ../vim-7.3.830/src/testdir/Make_dos.mak 2013-02-13 17:34:59.000000000 +0100
|
||||
--- src/testdir/Make_dos.mak 2013-02-20 20:21:13.000000000 +0100
|
||||
***************
|
||||
*** 31,37 ****
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out test81.out test82.out test83.out \
|
||||
test84.out test85.out test86.out test87.out test88.out \
|
||||
! test89.out test90.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
--- 31,37 ----
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out test81.out test82.out test83.out \
|
||||
test84.out test85.out test86.out test87.out test88.out \
|
||||
! test89.out test90.out test91.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
*** ../vim-7.3.830/src/testdir/Make_ming.mak 2013-02-13 17:34:59.000000000 +0100
|
||||
--- src/testdir/Make_ming.mak 2013-02-20 20:21:19.000000000 +0100
|
||||
***************
|
||||
*** 51,57 ****
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out test81.out test82.out test83.out \
|
||||
test84.out test85.out test86.out test87.out test88.out \
|
||||
! test89.out test90.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
--- 51,57 ----
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out test81.out test82.out test83.out \
|
||||
test84.out test85.out test86.out test87.out test88.out \
|
||||
! test89.out test90.out test91.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
*** ../vim-7.3.830/src/testdir/Make_os2.mak 2013-02-13 17:34:59.000000000 +0100
|
||||
--- src/testdir/Make_os2.mak 2013-02-20 20:21:25.000000000 +0100
|
||||
***************
|
||||
*** 32,38 ****
|
||||
test71.out test72.out test73.out test74.out test75.out \
|
||||
test76.out test77.out test78.out test79.out test80.out \
|
||||
test81.out test82.out test83.out test84.out test88.out \
|
||||
! test89.out test90.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
--- 32,38 ----
|
||||
test71.out test72.out test73.out test74.out test75.out \
|
||||
test76.out test77.out test78.out test79.out test80.out \
|
||||
test81.out test82.out test83.out test84.out test88.out \
|
||||
! test89.out test90.out test91.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
*** ../vim-7.3.830/src/testdir/Make_vms.mms 2013-02-13 17:34:59.000000000 +0100
|
||||
--- src/testdir/Make_vms.mms 2013-02-20 20:21:31.000000000 +0100
|
||||
***************
|
||||
*** 4,10 ****
|
||||
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
|
||||
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
|
||||
#
|
||||
! # Last change: 2013 Feb 13
|
||||
#
|
||||
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
|
||||
# Edit the lines in the Configuration section below to select.
|
||||
--- 4,10 ----
|
||||
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
|
||||
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
|
||||
#
|
||||
! # Last change: 2013 Feb 20
|
||||
#
|
||||
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
|
||||
# Edit the lines in the Configuration section below to select.
|
||||
***************
|
||||
*** 77,83 ****
|
||||
test71.out test72.out test74.out test75.out test76.out \
|
||||
test77.out test78.out test79.out test80.out test81.out \
|
||||
test82.out test83.out test84.out test88.out test89.out \
|
||||
! test90.out
|
||||
|
||||
# Known problems:
|
||||
# Test 30: a problem around mac format - unknown reason
|
||||
--- 77,83 ----
|
||||
test71.out test72.out test74.out test75.out test76.out \
|
||||
test77.out test78.out test79.out test80.out test81.out \
|
||||
test82.out test83.out test84.out test88.out test89.out \
|
||||
! test90.out test91.out
|
||||
|
||||
# Known problems:
|
||||
# Test 30: a problem around mac format - unknown reason
|
||||
*** ../vim-7.3.830/src/testdir/Makefile 2013-02-13 17:34:59.000000000 +0100
|
||||
--- src/testdir/Makefile 2013-02-20 20:21:47.000000000 +0100
|
||||
***************
|
||||
*** 28,34 ****
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out test81.out test82.out test83.out \
|
||||
test84.out test85.out test86.out test87.out test88.out \
|
||||
! test89.out test90.out
|
||||
|
||||
SCRIPTS_GUI = test16.out
|
||||
|
||||
--- 28,34 ----
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out test81.out test82.out test83.out \
|
||||
test84.out test85.out test86.out test87.out test88.out \
|
||||
! test89.out test90.out test91.out
|
||||
|
||||
SCRIPTS_GUI = test16.out
|
||||
|
||||
*** ../vim-7.3.830/src/version.c 2013-02-20 19:26:24.000000000 +0100
|
||||
--- src/version.c 2013-02-20 21:08:40.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 831,
|
||||
/**/
|
||||
|
||||
--
|
||||
|
|
||||
|
||||
Ceci n'est pas une pipe.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
66
7.3.832
Normal file
66
7.3.832
Normal file
@ -0,0 +1,66 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.832
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.832
|
||||
Problem: Compiler warning.
|
||||
Solution: Add type cast. (Mike Williams)
|
||||
Files: src/version.c
|
||||
|
||||
|
||||
*** ../vim-7.3.831/src/version.c 2013-02-20 21:11:14.000000000 +0100
|
||||
--- src/version.c 2013-02-26 11:21:41.000000000 +0100
|
||||
***************
|
||||
*** 2466,2472 ****
|
||||
* width */
|
||||
for (i = 0; features[i] != NULL; ++i)
|
||||
{
|
||||
! int l = STRLEN(features[i]);
|
||||
|
||||
if (l > width)
|
||||
width = l;
|
||||
--- 2468,2474 ----
|
||||
* width */
|
||||
for (i = 0; features[i] != NULL; ++i)
|
||||
{
|
||||
! int l = (int)STRLEN(features[i]);
|
||||
|
||||
if (l > width)
|
||||
width = l;
|
||||
***************
|
||||
*** 2518,2523 ****
|
||||
--- 2520,2526 ----
|
||||
msg_putchar('\n');
|
||||
}
|
||||
}
|
||||
+
|
||||
void
|
||||
list_version()
|
||||
{
|
||||
*** ../vim-7.3.831/src/version.c 2013-02-20 21:11:14.000000000 +0100
|
||||
--- src/version.c 2013-02-26 11:21:41.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 832,
|
||||
/**/
|
||||
|
||||
--
|
||||
Engineers are always delighted to share wisdom, even in areas in which they
|
||||
have no experience whatsoever. Their logic provides them with inherent
|
||||
insight into any field of expertise. This can be a problem when dealing with
|
||||
the illogical people who believe that knowledge can only be derived through
|
||||
experience.
|
||||
(Scott Adams - The Dilbert principle)
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
118
7.3.833
Normal file
118
7.3.833
Normal file
@ -0,0 +1,118 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.833
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.833
|
||||
Problem: In the terminal the scroll wheel always scrolls the active window.
|
||||
Solution: Scroll the window under the mouse pointer, like in the GUI.
|
||||
(Bradie Rao)
|
||||
Files: src/edit.c, src/normal.c
|
||||
|
||||
|
||||
*** ../vim-7.3.832/src/edit.c 2013-02-13 16:30:17.000000000 +0100
|
||||
--- src/edit.c 2013-02-26 11:20:31.000000000 +0100
|
||||
***************
|
||||
*** 9139,9147 ****
|
||||
|
||||
tpos = curwin->w_cursor;
|
||||
|
||||
! # if defined(FEAT_GUI) && defined(FEAT_WINDOWS)
|
||||
! /* Currently the mouse coordinates are only known in the GUI. */
|
||||
! if (gui.in_use && mouse_row >= 0 && mouse_col >= 0)
|
||||
{
|
||||
int row, col;
|
||||
|
||||
--- 9139,9146 ----
|
||||
|
||||
tpos = curwin->w_cursor;
|
||||
|
||||
! # ifdef FEAT_WINDOWS
|
||||
! if (mouse_row >= 0 && mouse_col >= 0)
|
||||
{
|
||||
int row, col;
|
||||
|
||||
***************
|
||||
*** 9191,9197 ****
|
||||
# endif
|
||||
}
|
||||
|
||||
! # if defined(FEAT_GUI) && defined(FEAT_WINDOWS)
|
||||
curwin->w_redr_status = TRUE;
|
||||
|
||||
curwin = old_curwin;
|
||||
--- 9190,9196 ----
|
||||
# endif
|
||||
}
|
||||
|
||||
! # ifdef FEAT_WINDOWS
|
||||
curwin->w_redr_status = TRUE;
|
||||
|
||||
curwin = old_curwin;
|
||||
*** ../vim-7.3.832/src/normal.c 2013-02-14 22:11:31.000000000 +0100
|
||||
--- src/normal.c 2013-02-26 11:20:31.000000000 +0100
|
||||
***************
|
||||
*** 4649,4659 ****
|
||||
nv_mousescroll(cap)
|
||||
cmdarg_T *cap;
|
||||
{
|
||||
! # if defined(FEAT_GUI) && defined(FEAT_WINDOWS)
|
||||
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)
|
||||
{
|
||||
int row, col;
|
||||
|
||||
--- 4649,4658 ----
|
||||
nv_mousescroll(cap)
|
||||
cmdarg_T *cap;
|
||||
{
|
||||
! # ifdef FEAT_WINDOWS
|
||||
win_T *old_curwin = curwin;
|
||||
|
||||
! if (mouse_row >= 0 && mouse_col >= 0)
|
||||
{
|
||||
int row, col;
|
||||
|
||||
***************
|
||||
*** 4698,4704 ****
|
||||
}
|
||||
# endif
|
||||
|
||||
! # if defined(FEAT_GUI) && defined(FEAT_WINDOWS)
|
||||
curwin->w_redr_status = TRUE;
|
||||
|
||||
curwin = old_curwin;
|
||||
--- 4697,4703 ----
|
||||
}
|
||||
# endif
|
||||
|
||||
! # ifdef FEAT_WINDOWS
|
||||
curwin->w_redr_status = TRUE;
|
||||
|
||||
curwin = old_curwin;
|
||||
*** ../vim-7.3.832/src/version.c 2013-02-26 11:25:28.000000000 +0100
|
||||
--- src/version.c 2013-02-26 13:28:51.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 833,
|
||||
/**/
|
||||
|
||||
--
|
||||
Female engineers become irresistible at the age of consent and remain that
|
||||
way until about thirty minutes after their clinical death. Longer if it's a
|
||||
warm day.
|
||||
(Scott Adams - The Dilbert principle)
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
83
7.3.834
Normal file
83
7.3.834
Normal file
@ -0,0 +1,83 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.834
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.834
|
||||
Problem: Ruby 2.0 has a few API changes.
|
||||
Solution: Add handling of Ruby 2.0. (Yasuhiro Matsumoto)
|
||||
Files: src/if_ruby.c
|
||||
|
||||
|
||||
*** ../vim-7.3.833/src/if_ruby.c 2013-02-14 22:19:47.000000000 +0100
|
||||
--- src/if_ruby.c 2013-02-26 13:41:24.000000000 +0100
|
||||
***************
|
||||
*** 189,195 ****
|
||||
--- 189,197 ----
|
||||
#ifndef RUBY19_OR_LATER
|
||||
#define rb_num2long dll_rb_num2long
|
||||
#endif
|
||||
+ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER <= 19
|
||||
#define rb_num2ulong dll_rb_num2ulong
|
||||
+ #endif
|
||||
#define rb_obj_alloc dll_rb_obj_alloc
|
||||
#define rb_obj_as_string dll_rb_obj_as_string
|
||||
#define rb_obj_id dll_rb_obj_id
|
||||
***************
|
||||
*** 344,349 ****
|
||||
--- 346,362 ----
|
||||
{
|
||||
return dll_rb_int2big(x);
|
||||
}
|
||||
+ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20
|
||||
+ VALUE
|
||||
+ rb_float_new_in_heap(double d)
|
||||
+ {
|
||||
+ return dll_rb_float_new(d);
|
||||
+ }
|
||||
+ unsigned long rb_num2ulong(VALUE x)
|
||||
+ {
|
||||
+ return (long)RSHIFT((SIGNED_VALUE)(x),1);
|
||||
+ }
|
||||
+ #endif
|
||||
#endif
|
||||
|
||||
static HINSTANCE hinstRuby = NULL; /* Instance of ruby.dll */
|
||||
***************
|
||||
*** 434,440 ****
|
||||
--- 447,457 ----
|
||||
#endif
|
||||
#if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
|
||||
{"rb_string_value_ptr", (RUBY_PROC*)&dll_rb_string_value_ptr},
|
||||
+ # if DYNAMIC_RUBY_VER <= 19
|
||||
{"rb_float_new", (RUBY_PROC*)&dll_rb_float_new},
|
||||
+ # else
|
||||
+ {"rb_float_new_in_heap", (RUBY_PROC*)&dll_rb_float_new},
|
||||
+ # endif
|
||||
{"rb_ary_new", (RUBY_PROC*)&dll_rb_ary_new},
|
||||
{"rb_ary_push", (RUBY_PROC*)&dll_rb_ary_push},
|
||||
#endif
|
||||
*** ../vim-7.3.833/src/version.c 2013-02-26 13:30:28.000000000 +0100
|
||||
--- src/version.c 2013-02-26 13:33:34.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 834,
|
||||
/**/
|
||||
|
||||
--
|
||||
An alien life briefly visits earth. Just before departing it leaves a
|
||||
message in the dust on the back of a white van. The world is shocked
|
||||
and wants to know what it means. After months of studies the worlds
|
||||
best linguistic scientists are able to decipher the message: "Wash me!".
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
60
7.3.835
Normal file
60
7.3.835
Normal file
@ -0,0 +1,60 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.835
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.835
|
||||
Problem: "xxd -i" fails on an empty file.
|
||||
Solution: Do output the closing } for an empty file. (partly by Lawrence
|
||||
Woodman)
|
||||
Files: src/xxd/xxd.c
|
||||
|
||||
|
||||
*** ../vim-7.3.834/src/xxd/xxd.c 2011-04-11 21:35:03.000000000 +0200
|
||||
--- src/xxd/xxd.c 2013-02-26 14:08:48.000000000 +0100
|
||||
***************
|
||||
*** 729,737 ****
|
||||
if (c == EOF && ferror(fp))
|
||||
die(2);
|
||||
|
||||
! if (p)
|
||||
! if (fputs("\n};\n" + 3 * (fp == stdin), fpo) == EOF)
|
||||
! die(3);
|
||||
|
||||
if (fp != stdin)
|
||||
{
|
||||
--- 729,738 ----
|
||||
if (c == EOF && ferror(fp))
|
||||
die(2);
|
||||
|
||||
! if (p && fputs("\n", fpo) == EOF)
|
||||
! die(3);
|
||||
! if (fputs("};\n" + 3 * (fp == stdin), fpo) == EOF)
|
||||
! die(3);
|
||||
|
||||
if (fp != stdin)
|
||||
{
|
||||
*** ../vim-7.3.834/src/version.c 2013-02-26 13:41:31.000000000 +0100
|
||||
--- src/version.c 2013-02-26 14:11:21.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 835,
|
||||
/**/
|
||||
|
||||
--
|
||||
For society, it's probably a good thing that engineers value function over
|
||||
appearance. For example, you wouldn't want engineers to build nuclear power
|
||||
plants that only _look_ like they would keep all the radiation inside.
|
||||
(Scott Adams - The Dilbert principle)
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
84
7.3.837
Normal file
84
7.3.837
Normal file
@ -0,0 +1,84 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.837
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.837 (after 7.3.826)
|
||||
Problem: Empty lines in :version output when 'columns' is 320.
|
||||
Solution: Simplify the logic of making columns. (Nazri Ramliy, Roland
|
||||
Eggner)
|
||||
Files: src/version.c
|
||||
|
||||
|
||||
*** ../vim-7.3.836/src/version.c 2013-02-26 14:56:24.000000000 +0100
|
||||
--- src/version.c 2013-02-26 15:10:56.000000000 +0100
|
||||
***************
|
||||
*** 2496,2509 ****
|
||||
return;
|
||||
}
|
||||
|
||||
- ncol = (int) Columns / width;
|
||||
/* The rightmost column doesn't need a separator.
|
||||
* Sacrifice it to fit in one more column if possible. */
|
||||
! if (Columns % width == width - 1)
|
||||
! ncol++;
|
||||
!
|
||||
nrow = nfeat / ncol + (nfeat % ncol ? 1 : 0);
|
||||
|
||||
for (i = 0; !got_int && i < nrow * ncol; ++i)
|
||||
{
|
||||
int idx = (i / ncol) + (i % ncol) * nrow;
|
||||
--- 2498,2509 ----
|
||||
return;
|
||||
}
|
||||
|
||||
/* The rightmost column doesn't need a separator.
|
||||
* Sacrifice it to fit in one more column if possible. */
|
||||
! ncol = (int) (Columns + 1) / width;
|
||||
nrow = nfeat / ncol + (nfeat % ncol ? 1 : 0);
|
||||
|
||||
+ /* i counts columns then rows. idx counts rows then columns. */
|
||||
for (i = 0; !got_int && i < nrow * ncol; ++i)
|
||||
{
|
||||
int idx = (i / ncol) + (i % ncol) * nrow;
|
||||
***************
|
||||
*** 2525,2531 ****
|
||||
}
|
||||
}
|
||||
else
|
||||
! msg_putchar('\n');
|
||||
}
|
||||
}
|
||||
|
||||
--- 2525,2534 ----
|
||||
}
|
||||
}
|
||||
else
|
||||
! {
|
||||
! if (msg_col > 0)
|
||||
! msg_putchar('\n');
|
||||
! }
|
||||
}
|
||||
}
|
||||
|
||||
*** ../vim-7.3.836/src/version.c 2013-02-26 14:56:24.000000000 +0100
|
||||
--- src/version.c 2013-02-26 15:10:56.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 837,
|
||||
/**/
|
||||
|
||||
--
|
||||
Imagine a world without hypothetical situations.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
364
7.3.838
Normal file
364
7.3.838
Normal file
@ -0,0 +1,364 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.838
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.838 (after 7.3.830)
|
||||
Problem: Insufficient testing for mksession.
|
||||
Solution: Add tests. (mostly by Roland Eggner)
|
||||
Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
|
||||
src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
|
||||
src/testdir/Make_vms.mms, src/testdir/Makefile,
|
||||
src/testdir/test92.in, src/testdir/test92.ok,
|
||||
src/testdir/test93.in, src/testdir/test93.ok,
|
||||
src/ex_docmd.c
|
||||
|
||||
|
||||
*** ../vim-7.3.837/src/testdir/Make_amiga.mak 2013-02-20 21:11:14.000000000 +0100
|
||||
--- src/testdir/Make_amiga.mak 2013-02-26 15:30:10.000000000 +0100
|
||||
***************
|
||||
*** 32,38 ****
|
||||
test71.out test72.out test73.out test74.out test75.out \
|
||||
test76.out test77.out test78.out test79.out test80.out \
|
||||
test81.out test82.out test83.out test84.out test88.out \
|
||||
! test89.out test90.out test91.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
--- 32,38 ----
|
||||
test71.out test72.out test73.out test74.out test75.out \
|
||||
test76.out test77.out test78.out test79.out test80.out \
|
||||
test81.out test82.out test83.out test84.out test88.out \
|
||||
! test89.out test90.out test91.out test92.out test93.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
***************
|
||||
*** 140,142 ****
|
||||
--- 140,144 ----
|
||||
test89.out: test89.in
|
||||
test90.out: test90.in
|
||||
test91.out: test91.in
|
||||
+ test92.out: test92.in
|
||||
+ test93.out: test93.in
|
||||
*** ../vim-7.3.837/src/testdir/Make_dos.mak 2013-02-20 21:11:14.000000000 +0100
|
||||
--- src/testdir/Make_dos.mak 2013-02-26 15:30:10.000000000 +0100
|
||||
***************
|
||||
*** 31,37 ****
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out test81.out test82.out test83.out \
|
||||
test84.out test85.out test86.out test87.out test88.out \
|
||||
! test89.out test90.out test91.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
--- 31,37 ----
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out test81.out test82.out test83.out \
|
||||
test84.out test85.out test86.out test87.out test88.out \
|
||||
! test89.out test90.out test91.out test92.out test93.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
*** ../vim-7.3.837/src/testdir/Make_ming.mak 2013-02-20 21:11:14.000000000 +0100
|
||||
--- src/testdir/Make_ming.mak 2013-02-26 15:30:10.000000000 +0100
|
||||
***************
|
||||
*** 51,57 ****
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out test81.out test82.out test83.out \
|
||||
test84.out test85.out test86.out test87.out test88.out \
|
||||
! test89.out test90.out test91.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
--- 51,57 ----
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out test81.out test82.out test83.out \
|
||||
test84.out test85.out test86.out test87.out test88.out \
|
||||
! test89.out test90.out test91.out test92.out test93.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
*** ../vim-7.3.837/src/testdir/Make_os2.mak 2013-02-20 21:11:14.000000000 +0100
|
||||
--- src/testdir/Make_os2.mak 2013-02-26 15:30:10.000000000 +0100
|
||||
***************
|
||||
*** 32,38 ****
|
||||
test71.out test72.out test73.out test74.out test75.out \
|
||||
test76.out test77.out test78.out test79.out test80.out \
|
||||
test81.out test82.out test83.out test84.out test88.out \
|
||||
! test89.out test90.out test91.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
--- 32,38 ----
|
||||
test71.out test72.out test73.out test74.out test75.out \
|
||||
test76.out test77.out test78.out test79.out test80.out \
|
||||
test81.out test82.out test83.out test84.out test88.out \
|
||||
! test89.out test90.out test91.out test92.out test93.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
*** ../vim-7.3.837/src/testdir/Make_vms.mms 2013-02-20 21:11:14.000000000 +0100
|
||||
--- src/testdir/Make_vms.mms 2013-02-26 15:30:10.000000000 +0100
|
||||
***************
|
||||
*** 4,10 ****
|
||||
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
|
||||
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
|
||||
#
|
||||
! # Last change: 2013 Feb 20
|
||||
#
|
||||
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
|
||||
# Edit the lines in the Configuration section below to select.
|
||||
--- 4,10 ----
|
||||
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
|
||||
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
|
||||
#
|
||||
! # Last change: 2013-02-21
|
||||
#
|
||||
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
|
||||
# Edit the lines in the Configuration section below to select.
|
||||
***************
|
||||
*** 77,83 ****
|
||||
test71.out test72.out test74.out test75.out test76.out \
|
||||
test77.out test78.out test79.out test80.out test81.out \
|
||||
test82.out test83.out test84.out test88.out test89.out \
|
||||
! test90.out test91.out
|
||||
|
||||
# Known problems:
|
||||
# Test 30: a problem around mac format - unknown reason
|
||||
--- 77,83 ----
|
||||
test71.out test72.out test74.out test75.out test76.out \
|
||||
test77.out test78.out test79.out test80.out test81.out \
|
||||
test82.out test83.out test84.out test88.out test89.out \
|
||||
! test90.out test91.out test92.out test93.out
|
||||
|
||||
# Known problems:
|
||||
# Test 30: a problem around mac format - unknown reason
|
||||
*** ../vim-7.3.837/src/testdir/Makefile 2013-02-20 21:11:14.000000000 +0100
|
||||
--- src/testdir/Makefile 2013-02-26 15:30:10.000000000 +0100
|
||||
***************
|
||||
*** 28,34 ****
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out test81.out test82.out test83.out \
|
||||
test84.out test85.out test86.out test87.out test88.out \
|
||||
! test89.out test90.out test91.out
|
||||
|
||||
SCRIPTS_GUI = test16.out
|
||||
|
||||
--- 28,34 ----
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out test81.out test82.out test83.out \
|
||||
test84.out test85.out test86.out test87.out test88.out \
|
||||
! test89.out test90.out test91.out test92.out test93.out
|
||||
|
||||
SCRIPTS_GUI = test16.out
|
||||
|
||||
*** ../vim-7.3.837/src/testdir/test92.in 2013-02-26 17:20:44.000000000 +0100
|
||||
--- src/testdir/test92.in 2013-02-26 16:27:55.000000000 +0100
|
||||
***************
|
||||
*** 0 ****
|
||||
--- 1,48 ----
|
||||
+ vim: set ft=vim fenc=utf-8:
|
||||
+
|
||||
+ Tests if :mksession saves cursor columns correctly in presence of tab and
|
||||
+ multibyte characters when fileencoding=utf-8.
|
||||
+
|
||||
+ STARTTEST
|
||||
+ :so mbyte.vim
|
||||
+ :if !has('mksession')
|
||||
+ : e! test.ok
|
||||
+ : wq! test.out
|
||||
+ :endif
|
||||
+ :set sessionoptions=buffers splitbelow fileencoding=utf-8
|
||||
+ /^start:
|
||||
+ :vsplit
|
||||
+ j16|:split
|
||||
+ j16|:split
|
||||
+ j16|:split
|
||||
+ j8|:split
|
||||
+ j8|:split
|
||||
+ j16|:split
|
||||
+ j16|:split
|
||||
+ j16|:wincmd l
|
||||
+ /^start:
|
||||
+ :set nowrap
|
||||
+ j16|3zl:split
|
||||
+ j016|3zl:split
|
||||
+ j016|3zl:split
|
||||
+ j08|3zl:split
|
||||
+ j08|3zl:split
|
||||
+ j016|3zl:split
|
||||
+ j016|3zl:split
|
||||
+ j016|3zl:split
|
||||
+ :mksession! test.out
|
||||
+ :new test.out
|
||||
+ :v/\(^ *normal! 0\|^ *exe 'normal!\)/d
|
||||
+ :w
|
||||
+ :qa!
|
||||
+ ENDTEST
|
||||
+
|
||||
+ start:
|
||||
+ no multibyte chAracter
|
||||
+ one leaDing tab
|
||||
+ four leadinG spaces
|
||||
+ two consecutive tabs
|
||||
+ two tabs in one line
|
||||
+ one ⦠multibyteCharacter
|
||||
+ a âbâ two multiByte characters
|
||||
+ âcâ1⬠three mulTibyte characters
|
||||
*** ../vim-7.3.837/src/testdir/test92.ok 2013-02-26 17:20:44.000000000 +0100
|
||||
--- src/testdir/test92.ok 2013-02-26 17:13:48.000000000 +0100
|
||||
***************
|
||||
*** 0 ****
|
||||
--- 1,26 ----
|
||||
+ normal! 016|
|
||||
+ normal! 016|
|
||||
+ normal! 016|
|
||||
+ normal! 08|
|
||||
+ normal! 08|
|
||||
+ normal! 016|
|
||||
+ normal! 016|
|
||||
+ normal! 016|
|
||||
+ exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
+ normal! 016|
|
||||
+ exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
+ normal! 016|
|
||||
+ exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
+ normal! 016|
|
||||
+ exe 'normal! ' . s:c . '|zs' . 8 . '|'
|
||||
+ normal! 08|
|
||||
+ exe 'normal! ' . s:c . '|zs' . 8 . '|'
|
||||
+ normal! 08|
|
||||
+ exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
+ normal! 016|
|
||||
+ exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
+ normal! 016|
|
||||
+ exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
+ normal! 016|
|
||||
+ exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
+ normal! 016|
|
||||
*** ../vim-7.3.837/src/testdir/test93.in 2013-02-26 17:20:44.000000000 +0100
|
||||
--- src/testdir/test93.in 2013-02-26 17:13:01.000000000 +0100
|
||||
***************
|
||||
*** 0 ****
|
||||
--- 1,48 ----
|
||||
+ vim: set ft=vim fenc=latin1:
|
||||
+
|
||||
+ Tests if :mksession saves cursor columns correctly in presence of tab and
|
||||
+ multibyte characters when fileencoding=latin1.
|
||||
+
|
||||
+ STARTTEST
|
||||
+ :so mbyte.vim
|
||||
+ :if !has('mksession')
|
||||
+ : e! test.ok
|
||||
+ : wq! test.out
|
||||
+ :endif
|
||||
+ :set sessionoptions=buffers splitbelow fileencoding=latin1
|
||||
+ /^start:
|
||||
+ :vsplit
|
||||
+ j16|:split
|
||||
+ j16|:split
|
||||
+ j16|:split
|
||||
+ j8|:split
|
||||
+ j8|:split
|
||||
+ j16|:split
|
||||
+ j16|:split
|
||||
+ j16|:wincmd l
|
||||
+ /^start:
|
||||
+ :set nowrap
|
||||
+ j16|3zl:split
|
||||
+ j016|3zl:split
|
||||
+ j016|3zl:split
|
||||
+ j08|3zl:split
|
||||
+ j08|3zl:split
|
||||
+ j016|3zl:split
|
||||
+ j016|3zl:split
|
||||
+ j016|3zl:split
|
||||
+ :mksession! test.out
|
||||
+ :new test.out
|
||||
+ :v/\(^ *normal! 0\|^ *exe 'normal!\)/d
|
||||
+ :w
|
||||
+ :qa!
|
||||
+ ENDTEST
|
||||
+
|
||||
+ start:
|
||||
+ no multibyte chAracter
|
||||
+ one leaDing tab
|
||||
+ four leadinG spaces
|
||||
+ two consecutive tabs
|
||||
+ two tabs in one line
|
||||
+ one ä multibyteCharacter
|
||||
+ aä Ä two multiByte characters
|
||||
+ Aäöü three mulTibyte characters
|
||||
*** ../vim-7.3.837/src/testdir/test93.ok 2013-02-26 17:20:44.000000000 +0100
|
||||
--- src/testdir/test93.ok 2013-02-26 17:14:02.000000000 +0100
|
||||
***************
|
||||
*** 0 ****
|
||||
--- 1,26 ----
|
||||
+ normal! 016|
|
||||
+ normal! 016|
|
||||
+ normal! 016|
|
||||
+ normal! 08|
|
||||
+ normal! 08|
|
||||
+ normal! 016|
|
||||
+ normal! 016|
|
||||
+ normal! 016|
|
||||
+ exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
+ normal! 016|
|
||||
+ exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
+ normal! 016|
|
||||
+ exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
+ normal! 016|
|
||||
+ exe 'normal! ' . s:c . '|zs' . 8 . '|'
|
||||
+ normal! 08|
|
||||
+ exe 'normal! ' . s:c . '|zs' . 8 . '|'
|
||||
+ normal! 08|
|
||||
+ exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
+ normal! 016|
|
||||
+ exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
+ normal! 016|
|
||||
+ exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
+ normal! 016|
|
||||
+ exe 'normal! ' . s:c . '|zs' . 16 . '|'
|
||||
+ normal! 016|
|
||||
*** ../vim-7.3.837/src/ex_docmd.c 2013-02-20 19:26:24.000000000 +0100
|
||||
--- src/ex_docmd.c 2013-02-26 16:14:07.000000000 +0100
|
||||
***************
|
||||
*** 10839,10845 ****
|
||||
(long)wp->w_virtcol + 1) < 0
|
||||
|| put_eol(fd) == FAIL
|
||||
|| put_line(fd, "else") == FAIL
|
||||
! || fprintf(fd, " normal! %d|", wp->w_virtcol + 1) < 0
|
||||
|| put_eol(fd) == FAIL
|
||||
|| put_line(fd, "endif") == FAIL)
|
||||
return FAIL;
|
||||
--- 10839,10845 ----
|
||||
(long)wp->w_virtcol + 1) < 0
|
||||
|| put_eol(fd) == FAIL
|
||||
|| put_line(fd, "else") == FAIL
|
||||
! || fprintf(fd, " normal! 0%d|", wp->w_virtcol + 1) < 0
|
||||
|| put_eol(fd) == FAIL
|
||||
|| put_line(fd, "endif") == FAIL)
|
||||
return FAIL;
|
||||
*** ../vim-7.3.837/src/version.c 2013-02-26 15:27:20.000000000 +0100
|
||||
--- src/version.c 2013-02-26 15:31:06.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 838,
|
||||
/**/
|
||||
|
||||
--
|
||||
It doesn't really matter what you are able to do if you don't do it.
|
||||
(Bram Moolenaar)
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
76
7.3.839
Normal file
76
7.3.839
Normal file
@ -0,0 +1,76 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.839
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.839
|
||||
Problem: Some files missing in the list of distributed files.
|
||||
Solution: Add lines for new files.
|
||||
Files: Filelist
|
||||
|
||||
|
||||
*** ../vim-7.3.838/Filelist 2012-10-03 21:48:38.000000000 +0200
|
||||
--- Filelist 2013-02-26 17:55:17.000000000 +0100
|
||||
***************
|
||||
*** 73,78 ****
|
||||
--- 73,79 ----
|
||||
src/version.c \
|
||||
src/version.h \
|
||||
src/vim.h \
|
||||
+ src/winclip.c \
|
||||
src/window.c \
|
||||
src/xxd/xxd.c \
|
||||
src/main.aap \
|
||||
***************
|
||||
*** 83,88 ****
|
||||
--- 84,90 ----
|
||||
src/testdir/test60.vim \
|
||||
src/testdir/test83-tags? \
|
||||
src/proto.h \
|
||||
+ src/proto/arabic.pro \
|
||||
src/proto/blowfish.pro \
|
||||
src/proto/buffer.pro \
|
||||
src/proto/charset.pro \
|
||||
***************
|
||||
*** 130,135 ****
|
||||
--- 132,138 ----
|
||||
src/proto/ui.pro \
|
||||
src/proto/undo.pro \
|
||||
src/proto/version.pro \
|
||||
+ src/proto/winclip.pro \
|
||||
src/proto/window.pro \
|
||||
|
||||
|
||||
***************
|
||||
*** 444,449 ****
|
||||
--- 447,453 ----
|
||||
src/os_beos.c \
|
||||
src/os_beos.h \
|
||||
src/os_beos.rsrc \
|
||||
+ src/proto/os_beos.pro \
|
||||
src/os_mint.h \
|
||||
src/os_vms_fix.com \
|
||||
src/toolbar.phi \
|
||||
*** ../vim-7.3.838/src/version.c 2013-02-26 17:21:15.000000000 +0100
|
||||
--- src/version.c 2013-02-26 17:56:40.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 839,
|
||||
/**/
|
||||
|
||||
--
|
||||
Normal people believe that if it ain't broke, don't fix it. Engineers believe
|
||||
that if it ain't broke, it doesn't have enough features yet.
|
||||
(Scott Adams - The Dilbert principle)
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
54
7.3.840
Normal file
54
7.3.840
Normal file
@ -0,0 +1,54 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.840
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.840
|
||||
Problem: "\@<!" in regexp does not work correctly with multi-byte
|
||||
characters, especially cp932.
|
||||
Solution: Move column to start of multi-byte character. (Yasuhiro Matsumoto)
|
||||
Files: src/regexp.c
|
||||
|
||||
|
||||
*** ../vim-7.3.839/src/regexp.c 2013-01-30 18:21:48.000000000 +0100
|
||||
--- src/regexp.c 2013-02-26 18:37:45.000000000 +0100
|
||||
***************
|
||||
*** 5449,5454 ****
|
||||
--- 5449,5461 ----
|
||||
}
|
||||
}
|
||||
else
|
||||
+ #ifdef FEAT_MBYTE
|
||||
+ if (has_mbyte)
|
||||
+ rp->rs_un.regsave.rs_u.pos.col -=
|
||||
+ (*mb_head_off)(regline, regline
|
||||
+ + rp->rs_un.regsave.rs_u.pos.col - 1) + 1;
|
||||
+ else
|
||||
+ #endif
|
||||
--rp->rs_un.regsave.rs_u.pos.col;
|
||||
}
|
||||
else
|
||||
*** ../vim-7.3.839/src/version.c 2013-02-26 17:59:37.000000000 +0100
|
||||
--- src/version.c 2013-02-26 18:39:28.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 840,
|
||||
/**/
|
||||
|
||||
--
|
||||
I learned the customs and mannerisms of engineers by observing them, much the
|
||||
way Jane Goodall learned about the great apes, but without the hassle of
|
||||
grooming.
|
||||
(Scott Adams - The Dilbert principle)
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
59
7.3.841
Normal file
59
7.3.841
Normal file
@ -0,0 +1,59 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.841
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.841
|
||||
Problem: When a "cond ? one : two" expression has a subscript it is not
|
||||
parsed correctly. (Andy Wokula)
|
||||
Solution: Handle a subscript also when the type is unknown. (Christian
|
||||
Brabandt)
|
||||
Files: src/eval.c
|
||||
|
||||
|
||||
*** ../vim-7.3.840/src/eval.c 2013-02-20 21:11:14.000000000 +0100
|
||||
--- src/eval.c 2013-02-26 19:27:59.000000000 +0100
|
||||
***************
|
||||
*** 5164,5169 ****
|
||||
--- 5164,5179 ----
|
||||
ret = get_func_tv(s, len, rettv, arg,
|
||||
curwin->w_cursor.lnum, curwin->w_cursor.lnum,
|
||||
&len, evaluate, NULL);
|
||||
+
|
||||
+ /* If evaluate is FALSE rettv->v_type was not set in
|
||||
+ * get_func_tv, but it's needed in handle_subscript() to parse
|
||||
+ * what follows. So set it here. */
|
||||
+ if (rettv->v_type == VAR_UNKNOWN && !evaluate && **arg == '(')
|
||||
+ {
|
||||
+ rettv->vval.v_string = vim_strsave("");
|
||||
+ rettv->v_type = VAR_FUNC;
|
||||
+ }
|
||||
+
|
||||
/* Stop the expression evaluation when immediately
|
||||
* aborting on error, or when an interrupt occurred or
|
||||
* an exception was thrown but not caught. */
|
||||
*** ../vim-7.3.840/src/version.c 2013-02-26 18:45:49.000000000 +0100
|
||||
--- src/version.c 2013-02-26 19:35:36.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 841,
|
||||
/**/
|
||||
|
||||
--
|
||||
If someone questions your market projections, simply point out that your
|
||||
target market is "People who are nuts" and "People who will buy any damn
|
||||
thing". Nobody is going to tell you there aren't enough of those people
|
||||
to go around.
|
||||
(Scott Adams - The Dilbert principle)
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
54
7.3.842
Normal file
54
7.3.842
Normal file
@ -0,0 +1,54 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.842
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.842
|
||||
Problem: Compiler warning for signed/unsigned pointer.
|
||||
Solution: Add type cast. (Christian Brabandt)
|
||||
Files: src/eval.c
|
||||
|
||||
|
||||
*** ../vim-7.3.841/src/eval.c 2013-02-26 19:36:03.000000000 +0100
|
||||
--- src/eval.c 2013-02-26 21:41:24.000000000 +0100
|
||||
***************
|
||||
*** 5170,5176 ****
|
||||
* what follows. So set it here. */
|
||||
if (rettv->v_type == VAR_UNKNOWN && !evaluate && **arg == '(')
|
||||
{
|
||||
! rettv->vval.v_string = vim_strsave("");
|
||||
rettv->v_type = VAR_FUNC;
|
||||
}
|
||||
|
||||
--- 5170,5176 ----
|
||||
* what follows. So set it here. */
|
||||
if (rettv->v_type == VAR_UNKNOWN && !evaluate && **arg == '(')
|
||||
{
|
||||
! rettv->vval.v_string = vim_strsave((char_u *)"");
|
||||
rettv->v_type = VAR_FUNC;
|
||||
}
|
||||
|
||||
*** ../vim-7.3.841/src/version.c 2013-02-26 19:36:03.000000000 +0100
|
||||
--- src/version.c 2013-02-26 21:43:21.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 842,
|
||||
/**/
|
||||
|
||||
--
|
||||
The process for understanding customers primarily involves sitting around with
|
||||
other marketing people and talking about what you would to if you were dumb
|
||||
enough to be a customer.
|
||||
(Scott Adams - The Dilbert principle)
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
111
7.3.843
Normal file
111
7.3.843
Normal file
@ -0,0 +1,111 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.843
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.843 (after 7.3.841)
|
||||
Problem: Missing test file changes.
|
||||
Solution: Change the tests.
|
||||
Files: src/testdir/test49.vim, src/testdir/test49.ok
|
||||
|
||||
|
||||
*** ../vim-7.3.842/src/testdir/test49.vim 2012-12-05 19:00:03.000000000 +0100
|
||||
--- src/testdir/test49.vim 2013-02-26 19:22:36.000000000 +0100
|
||||
***************
|
||||
*** 9624,9630 ****
|
||||
Xcheck 0
|
||||
|
||||
"-------------------------------------------------------------------------------
|
||||
! " Test 87: $VIMNOERRTHROW and $VIMNOINTTHROW support {{{1
|
||||
"
|
||||
" It is possible to configure Vim for throwing exceptions on error
|
||||
" or interrupt, controlled by variables $VIMNOERRTHROW and
|
||||
--- 9624,9661 ----
|
||||
Xcheck 0
|
||||
|
||||
"-------------------------------------------------------------------------------
|
||||
! " Test 87 using (expr) ? funcref : funcref {{{1
|
||||
! "
|
||||
! " Vim needs to correctly parse the funcref and even when it does
|
||||
! " not execute the funcref, it needs to consume the trailing ()
|
||||
! "-------------------------------------------------------------------------------
|
||||
!
|
||||
! XpathINIT
|
||||
!
|
||||
! func Add2(x1, x2)
|
||||
! return a:x1 + a:x2
|
||||
! endfu
|
||||
!
|
||||
! func GetStr()
|
||||
! return "abcdefghijklmnopqrstuvwxyp"
|
||||
! endfu
|
||||
!
|
||||
! echo function('Add2')(2,3)
|
||||
!
|
||||
! Xout 1 ? function('Add2')(1,2) : function('Add2')(2,3)
|
||||
! Xout 0 ? function('Add2')(1,2) : function('Add2')(2,3)
|
||||
! " Make sure, GetStr() still works.
|
||||
! Xout GetStr()[0:10]
|
||||
!
|
||||
!
|
||||
! delfunction GetStr
|
||||
! delfunction Add2
|
||||
! Xout "Successfully executed funcref Add2"
|
||||
!
|
||||
! Xcheck 0
|
||||
!
|
||||
! "-------------------------------------------------------------------------------
|
||||
! " Test 88: $VIMNOERRTHROW and $VIMNOINTTHROW support {{{1
|
||||
"
|
||||
" It is possible to configure Vim for throwing exceptions on error
|
||||
" or interrupt, controlled by variables $VIMNOERRTHROW and
|
||||
*** ../vim-7.3.842/src/testdir/test49.ok 2012-11-14 22:38:04.000000000 +0100
|
||||
--- src/testdir/test49.ok 2013-02-26 19:22:36.000000000 +0100
|
||||
***************
|
||||
*** 87,94 ****
|
||||
*** Test 85: OK (198689)
|
||||
--- Test 86: No Crash for vimgrep on BufUnload
|
||||
*** Test 86: OK (0)
|
||||
! --- Test 87: All tests were run with throwing exceptions on error.
|
||||
The $VIMNOERRTHROW control is not configured.
|
||||
! --- Test 87: All tests were run with throwing exceptions on interrupt.
|
||||
The $VIMNOINTTHROW control is not configured.
|
||||
! *** Test 87: OK (50443995)
|
||||
--- 87,99 ----
|
||||
*** Test 85: OK (198689)
|
||||
--- Test 86: No Crash for vimgrep on BufUnload
|
||||
*** Test 86: OK (0)
|
||||
! --- Test 87: 3
|
||||
! --- Test 87: 5
|
||||
! --- Test 87: abcdefghijk
|
||||
! --- Test 87: Successfully executed funcref Add2
|
||||
! *** Test 87: OK (0)
|
||||
! --- Test 88: All tests were run with throwing exceptions on error.
|
||||
The $VIMNOERRTHROW control is not configured.
|
||||
! --- Test 88: All tests were run with throwing exceptions on interrupt.
|
||||
The $VIMNOINTTHROW control is not configured.
|
||||
! *** Test 88: OK (50443995)
|
||||
*** ../vim-7.3.842/src/version.c 2013-02-26 21:43:28.000000000 +0100
|
||||
--- src/version.c 2013-02-26 22:53:13.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 843,
|
||||
/**/
|
||||
|
||||
--
|
||||
Never enter the boss's office unless it's absolutely necessary. Every boss
|
||||
saves one corner of the desk for useless assignments that are doled out like
|
||||
Halloween candy to each visitor.
|
||||
(Scott Adams - The Dilbert principle)
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
197
7.3.844
Normal file
197
7.3.844
Normal file
@ -0,0 +1,197 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.844
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.844
|
||||
Problem: Enum is not indented correctly with "public" etc.
|
||||
Solution: Skip "public", "private" and "protected". (Hong Xu)
|
||||
Files: src/misc1.c
|
||||
|
||||
|
||||
*** ../vim-7.3.843/src/misc1.c 2013-02-13 16:10:13.000000000 +0100
|
||||
--- src/misc1.c 2013-03-07 12:59:45.000000000 +0100
|
||||
***************
|
||||
*** 5275,5280 ****
|
||||
--- 5275,5281 ----
|
||||
static int cin_is_cpp_baseclass __ARGS((colnr_T *col));
|
||||
static int get_baseclass_amount __ARGS((int col, int ind_maxparen, int ind_maxcomment, int ind_cpp_baseclass));
|
||||
static int cin_ends_in __ARGS((char_u *, char_u *, char_u *));
|
||||
+ static int cin_starts_with __ARGS((char_u *s, char *word));
|
||||
static int cin_skip2pos __ARGS((pos_T *trypos));
|
||||
static pos_T *find_start_brace __ARGS((int));
|
||||
static pos_T *find_match_paren __ARGS((int, int));
|
||||
***************
|
||||
*** 5446,5469 ****
|
||||
}
|
||||
|
||||
/*
|
||||
! * Recognize structure initialization and enumerations.
|
||||
! * Q&D-Implementation:
|
||||
! * check for "=" at end or "[typedef] enum" at beginning of line.
|
||||
*/
|
||||
static int
|
||||
cin_isinit(void)
|
||||
{
|
||||
char_u *s;
|
||||
|
||||
s = cin_skipcomment(ml_get_curline());
|
||||
|
||||
! if (STRNCMP(s, "typedef", 7) == 0 && !vim_isIDc(s[7]))
|
||||
s = cin_skipcomment(s + 7);
|
||||
|
||||
! if (STRNCMP(s, "static", 6) == 0 && !vim_isIDc(s[6]))
|
||||
! s = cin_skipcomment(s + 6);
|
||||
|
||||
! if (STRNCMP(s, "enum", 4) == 0 && !vim_isIDc(s[4]))
|
||||
return TRUE;
|
||||
|
||||
if (cin_ends_in(s, (char_u *)"=", (char_u *)"{"))
|
||||
--- 5447,5486 ----
|
||||
}
|
||||
|
||||
/*
|
||||
! * Recognize structure initialization and enumerations:
|
||||
! * "[typedef] [static|public|protected|private] enum"
|
||||
! * "[typedef] [static|public|protected|private] = {"
|
||||
*/
|
||||
static int
|
||||
cin_isinit(void)
|
||||
{
|
||||
char_u *s;
|
||||
+ static char *skip[] = {"static", "public", "protected", "private"};
|
||||
|
||||
s = cin_skipcomment(ml_get_curline());
|
||||
|
||||
! if (cin_starts_with(s, "typedef"))
|
||||
s = cin_skipcomment(s + 7);
|
||||
|
||||
! for (;;)
|
||||
! {
|
||||
! int i, l;
|
||||
!
|
||||
! for (i = 0; i < (int)(sizeof(skip) / sizeof(char *)); ++i)
|
||||
! {
|
||||
! l = strlen(skip[i]);
|
||||
! if (cin_starts_with(s, skip[i]))
|
||||
! {
|
||||
! s = cin_skipcomment(s + l);
|
||||
! l = 0;
|
||||
! break;
|
||||
! }
|
||||
! }
|
||||
! if (l != 0)
|
||||
! break;
|
||||
! }
|
||||
|
||||
! if (cin_starts_with(s, "enum"))
|
||||
return TRUE;
|
||||
|
||||
if (cin_ends_in(s, (char_u *)"=", (char_u *)"{"))
|
||||
***************
|
||||
*** 5481,5487 ****
|
||||
int strict; /* Allow relaxed check of case statement for JS */
|
||||
{
|
||||
s = cin_skipcomment(s);
|
||||
! if (STRNCMP(s, "case", 4) == 0 && !vim_isIDc(s[4]))
|
||||
{
|
||||
for (s += 4; *s; ++s)
|
||||
{
|
||||
--- 5498,5504 ----
|
||||
int strict; /* Allow relaxed check of case statement for JS */
|
||||
{
|
||||
s = cin_skipcomment(s);
|
||||
! if (cin_starts_with(s, "case"))
|
||||
{
|
||||
for (s += 4; *s; ++s)
|
||||
{
|
||||
***************
|
||||
*** 6049,6055 ****
|
||||
p = cin_skipcomment(p);
|
||||
if (*p == '}') /* accept "} while (cond);" */
|
||||
p = cin_skipcomment(p + 1);
|
||||
! if (STRNCMP(p, "while", 5) == 0 && !vim_isIDc(p[5]))
|
||||
{
|
||||
cursor_save = curwin->w_cursor;
|
||||
curwin->w_cursor.lnum = lnum;
|
||||
--- 6066,6072 ----
|
||||
p = cin_skipcomment(p);
|
||||
if (*p == '}') /* accept "} while (cond);" */
|
||||
p = cin_skipcomment(p + 1);
|
||||
! if (cin_starts_with(p, "while"))
|
||||
{
|
||||
cursor_save = curwin->w_cursor;
|
||||
curwin->w_cursor.lnum = lnum;
|
||||
***************
|
||||
*** 6156,6162 ****
|
||||
s = cin_skipcomment(ml_get(trypos->lnum));
|
||||
if (*s == '}') /* accept "} while (cond);" */
|
||||
s = cin_skipcomment(s + 1);
|
||||
! if (STRNCMP(s, "while", 5) == 0 && !vim_isIDc(s[5]))
|
||||
{
|
||||
curwin->w_cursor.lnum = trypos->lnum;
|
||||
return TRUE;
|
||||
--- 6173,6179 ----
|
||||
s = cin_skipcomment(ml_get(trypos->lnum));
|
||||
if (*s == '}') /* accept "} while (cond);" */
|
||||
s = cin_skipcomment(s + 1);
|
||||
! if (cin_starts_with(s, "while"))
|
||||
{
|
||||
curwin->w_cursor.lnum = trypos->lnum;
|
||||
return TRUE;
|
||||
***************
|
||||
*** 6406,6411 ****
|
||||
--- 6423,6441 ----
|
||||
}
|
||||
|
||||
/*
|
||||
+ * Return TRUE when "s" starts with "word" and then a non-ID character.
|
||||
+ */
|
||||
+ static int
|
||||
+ cin_starts_with(s, word)
|
||||
+ char_u *s;
|
||||
+ char *word;
|
||||
+ {
|
||||
+ int l = STRLEN(word);
|
||||
+
|
||||
+ return (STRNCMP(s, word, l) == 0 && !vim_isIDc(s[l]));
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
* Skip strings, chars and comments until at or past "trypos".
|
||||
* Return the column found.
|
||||
*/
|
||||
*** ../vim-7.3.843/src/version.c 2013-02-26 22:54:06.000000000 +0100
|
||||
--- src/version.c 2013-03-07 13:12:20.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 844,
|
||||
/**/
|
||||
|
||||
--
|
||||
Now it is such a bizarrely improbable coincidence that anything as
|
||||
mind-bogglingly useful as the Babel fish could have evolved purely by chance
|
||||
that some thinkers have chosen to see it as a final and clinching proof of the
|
||||
NON-existence of God.
|
||||
The argument goes something like this: 'I refuse to prove that I exist,' says
|
||||
God, 'for proof denies faith, and without faith I am nothing.'
|
||||
'But,' says Man, 'the Babel fish is a dead giveaway, isn't it? It could not
|
||||
have evolved by chance. It proves you exist, and so therefore, by your own
|
||||
arguments, you don't. QED.'
|
||||
'Oh dear,' says God, 'I hadn't thought of that,' and promptly vanishes in a
|
||||
puff of logic.
|
||||
'Oh, that was easy,' says Man, and for an encore goes on to prove that black
|
||||
is white and gets himself killed on the next pedestrian crossing.
|
||||
-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
88
7.3.845
Normal file
88
7.3.845
Normal file
@ -0,0 +1,88 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.845
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.845 (after 7.3.844)
|
||||
Problem: Enum indenting is not tested.
|
||||
Solution: Add tests. (Hong Xu)
|
||||
Files: src/testdir/test3.in, src/testdir/test3.ok
|
||||
|
||||
|
||||
*** ../vim-7.3.844/src/testdir/test3.in 2012-06-13 13:40:45.000000000 +0200
|
||||
--- src/testdir/test3.in 2013-03-07 12:39:35.000000000 +0100
|
||||
***************
|
||||
*** 318,323 ****
|
||||
--- 318,337 ----
|
||||
maybe
|
||||
} soppie;
|
||||
|
||||
+ public static enum
|
||||
+ {
|
||||
+ yes = 0,
|
||||
+ no,
|
||||
+ maybe
|
||||
+ } soppie;
|
||||
+
|
||||
+ static private enum
|
||||
+ {
|
||||
+ yes = 0,
|
||||
+ no,
|
||||
+ maybe
|
||||
+ } soppie;
|
||||
+
|
||||
{
|
||||
int a,
|
||||
b;
|
||||
*** ../vim-7.3.844/src/testdir/test3.ok 2012-06-13 13:40:45.000000000 +0200
|
||||
--- src/testdir/test3.ok 2013-03-07 12:40:03.000000000 +0100
|
||||
***************
|
||||
*** 306,311 ****
|
||||
--- 306,325 ----
|
||||
maybe
|
||||
} soppie;
|
||||
|
||||
+ public static enum
|
||||
+ {
|
||||
+ yes = 0,
|
||||
+ no,
|
||||
+ maybe
|
||||
+ } soppie;
|
||||
+
|
||||
+ static private enum
|
||||
+ {
|
||||
+ yes = 0,
|
||||
+ no,
|
||||
+ maybe
|
||||
+ } soppie;
|
||||
+
|
||||
{
|
||||
int a,
|
||||
b;
|
||||
*** ../vim-7.3.844/src/version.c 2013-03-07 13:13:45.000000000 +0100
|
||||
--- src/version.c 2013-03-07 13:18:49.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 845,
|
||||
/**/
|
||||
|
||||
--
|
||||
"So this is it," said Arthur, "we are going to die."
|
||||
"Yes," said Ford, "except...no! Wait a minute!" He suddenly lunged across
|
||||
the chamber at something behind Arthur's line of vision. "What's this
|
||||
switch?" he cried.
|
||||
"What? Where?" cried Arthur, twisting around.
|
||||
"No, I was only fooling," said Ford, "we are going to die after all."
|
||||
-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
46
7.3.846
Normal file
46
7.3.846
Normal file
@ -0,0 +1,46 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.846
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.846
|
||||
Problem: Missing proto file, listing a non-existing proto file.
|
||||
Solution: Remove the file. Add os_beos.pro only in Mercurial.
|
||||
Files: Filelist
|
||||
|
||||
|
||||
*** ../vim-7.3.845/Filelist 2013-02-26 17:59:37.000000000 +0100
|
||||
--- Filelist 2013-03-07 13:27:30.000000000 +0100
|
||||
***************
|
||||
*** 84,90 ****
|
||||
src/testdir/test60.vim \
|
||||
src/testdir/test83-tags? \
|
||||
src/proto.h \
|
||||
- src/proto/arabic.pro \
|
||||
src/proto/blowfish.pro \
|
||||
src/proto/buffer.pro \
|
||||
src/proto/charset.pro \
|
||||
--- 84,89 ----
|
||||
*** ../vim-7.3.845/src/version.c 2013-03-07 13:21:28.000000000 +0100
|
||||
--- src/version.c 2013-03-07 13:23:02.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 846,
|
||||
/**/
|
||||
|
||||
--
|
||||
I am also told that there is a logical proof out there somewhere
|
||||
that demonstrates that there is no task which duct tape cannot handle.
|
||||
-- Paul Brannan
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
47
7.3.847
Normal file
47
7.3.847
Normal file
@ -0,0 +1,47 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.847
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.847
|
||||
Problem: Test 55 fails when messages are translated.
|
||||
Solution: Set language to C. (Ken Takata)
|
||||
Files: src/testdir/test55.in
|
||||
|
||||
|
||||
*** ../vim-7.3.846/src/testdir/test55.in 2012-08-29 16:55:09.000000000 +0200
|
||||
--- src/testdir/test55.in 2013-03-07 14:33:12.000000000 +0100
|
||||
***************
|
||||
*** 3,8 ****
|
||||
--- 3,9 ----
|
||||
STARTTEST
|
||||
:so small.vim
|
||||
:fun Test(...)
|
||||
+ :lang C
|
||||
:" Creating List directly with different types
|
||||
:let l = [1, 'as''d', [1, 2, function("strlen")], {'a': 1},]
|
||||
:$put =string(l)
|
||||
*** ../vim-7.3.846/src/version.c 2013-03-07 13:32:03.000000000 +0100
|
||||
--- src/version.c 2013-03-07 14:49:57.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 847,
|
||||
/**/
|
||||
|
||||
--
|
||||
"Space is big. Really big. You just won't believe how vastly hugely mind-
|
||||
bogglingly big it is. I mean, you may think it's a long way down the
|
||||
road to the chemist, but that's just peanuts to space."
|
||||
-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
153
7.3.848
Normal file
153
7.3.848
Normal file
@ -0,0 +1,153 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.848
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.848
|
||||
Problem: Can't build with Ruby 2.0 when using MinGW x64 or MSVC10.
|
||||
Solution: Fix it. Also detect RUBY_PLATFORM and RUBY_INSTALL_NAME for x64.
|
||||
(Ken Takata)
|
||||
Files: src/Make_cyg.mak, src/Make_ming.mak, src/if_ruby.c
|
||||
|
||||
|
||||
*** ../vim-7.3.847/src/Make_cyg.mak 2013-02-26 14:56:24.000000000 +0100
|
||||
--- src/Make_cyg.mak 2013-03-07 14:56:29.000000000 +0100
|
||||
***************
|
||||
*** 229,246 ****
|
||||
--- 229,254 ----
|
||||
ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/i386-mingw32),)
|
||||
RUBY_PLATFORM = i386-mingw32
|
||||
else
|
||||
+ ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/x64-mingw32),)
|
||||
+ RUBY_PLATFORM = x64-mingw32
|
||||
+ else
|
||||
RUBY_PLATFORM = i386-mswin32
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
+ endif
|
||||
|
||||
ifndef RUBY_INSTALL_NAME
|
||||
ifeq ($(RUBY_VER), 16)
|
||||
RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER)
|
||||
else
|
||||
+ ifeq ($(ARCH),x86-64)
|
||||
+ RUBY_INSTALL_NAME = x64-msvcrt-ruby$(RUBY_API_VER)
|
||||
+ else
|
||||
RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER)
|
||||
endif
|
||||
endif
|
||||
+ endif
|
||||
|
||||
ifeq (19, $(word 1,$(sort 19 $(RUBY_VER))))
|
||||
RUBY_19_OR_LATER = 1
|
||||
*** ../vim-7.3.847/src/Make_ming.mak 2013-02-26 14:56:24.000000000 +0100
|
||||
--- src/Make_ming.mak 2013-03-07 14:56:29.000000000 +0100
|
||||
***************
|
||||
*** 288,305 ****
|
||||
--- 288,313 ----
|
||||
ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/i386-mingw32),)
|
||||
RUBY_PLATFORM = i386-mingw32
|
||||
else
|
||||
+ ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/x64-mingw32),)
|
||||
+ RUBY_PLATFORM = x64-mingw32
|
||||
+ else
|
||||
RUBY_PLATFORM = i386-mswin32
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
+ endif
|
||||
|
||||
ifndef RUBY_INSTALL_NAME
|
||||
ifeq ($(RUBY_VER), 16)
|
||||
RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER)
|
||||
else
|
||||
+ ifeq ($(ARCH),x86-64)
|
||||
+ RUBY_INSTALL_NAME = x64-msvcrt-ruby$(RUBY_API_VER)
|
||||
+ else
|
||||
RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER)
|
||||
endif
|
||||
endif
|
||||
+ endif
|
||||
|
||||
ifeq (19, $(word 1,$(sort 19 $(RUBY_VER))))
|
||||
RUBY_19_OR_LATER = 1
|
||||
*** ../vim-7.3.847/src/if_ruby.c 2013-02-26 13:41:31.000000000 +0100
|
||||
--- src/if_ruby.c 2013-03-07 14:56:29.000000000 +0100
|
||||
***************
|
||||
*** 39,44 ****
|
||||
--- 39,47 ----
|
||||
*/
|
||||
# define rb_cFalseClass (*dll_rb_cFalseClass)
|
||||
# define rb_cFixnum (*dll_rb_cFixnum)
|
||||
+ # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20
|
||||
+ # define rb_cFloat (*dll_rb_cFloat)
|
||||
+ # endif
|
||||
# define rb_cNilClass (*dll_rb_cNilClass)
|
||||
# define rb_cSymbol (*dll_rb_cSymbol)
|
||||
# define rb_cTrueClass (*dll_rb_cTrueClass)
|
||||
***************
|
||||
*** 249,254 ****
|
||||
--- 252,260 ----
|
||||
static VALUE (*dll_rb_assoc_new) (VALUE, VALUE);
|
||||
VALUE *dll_rb_cFalseClass;
|
||||
VALUE *dll_rb_cFixnum;
|
||||
+ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20
|
||||
+ VALUE *dll_rb_cFloat;
|
||||
+ #endif
|
||||
VALUE *dll_rb_cNilClass;
|
||||
static VALUE *dll_rb_cObject;
|
||||
VALUE *dll_rb_cSymbol;
|
||||
***************
|
||||
*** 352,358 ****
|
||||
{
|
||||
return dll_rb_float_new(d);
|
||||
}
|
||||
! unsigned long rb_num2ulong(VALUE x)
|
||||
{
|
||||
return (long)RSHIFT((SIGNED_VALUE)(x),1);
|
||||
}
|
||||
--- 358,364 ----
|
||||
{
|
||||
return dll_rb_float_new(d);
|
||||
}
|
||||
! VALUE rb_num2ulong(VALUE x)
|
||||
{
|
||||
return (long)RSHIFT((SIGNED_VALUE)(x),1);
|
||||
}
|
||||
***************
|
||||
*** 373,378 ****
|
||||
--- 379,387 ----
|
||||
{"rb_assoc_new", (RUBY_PROC*)&dll_rb_assoc_new},
|
||||
{"rb_cFalseClass", (RUBY_PROC*)&dll_rb_cFalseClass},
|
||||
{"rb_cFixnum", (RUBY_PROC*)&dll_rb_cFixnum},
|
||||
+ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20
|
||||
+ {"rb_cFloat", (RUBY_PROC*)&dll_rb_cFloat},
|
||||
+ #endif
|
||||
{"rb_cNilClass", (RUBY_PROC*)&dll_rb_cNilClass},
|
||||
{"rb_cObject", (RUBY_PROC*)&dll_rb_cObject},
|
||||
{"rb_cSymbol", (RUBY_PROC*)&dll_rb_cSymbol},
|
||||
*** ../vim-7.3.847/src/version.c 2013-03-07 14:50:30.000000000 +0100
|
||||
--- src/version.c 2013-03-07 14:57:03.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 848,
|
||||
/**/
|
||||
|
||||
--
|
||||
`The Guide says there is an art to flying,' said Ford, `or at least a
|
||||
knack. The knack lies in learning how to throw yourself at the ground
|
||||
and miss.' He smiled weakly.
|
||||
-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
55
7.3.849
Normal file
55
7.3.849
Normal file
@ -0,0 +1,55 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.849
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.849
|
||||
Problem: ":g//" gives "Pattern not found error" with E486. Should not use
|
||||
the error number, it's not a regular error message.
|
||||
Solution: Use a normal message. (David Bürgin)
|
||||
Files: src/ex_cmds.c
|
||||
|
||||
|
||||
*** ../vim-7.3.848/src/ex_cmds.c 2013-02-06 18:23:58.000000000 +0100
|
||||
--- src/ex_cmds.c 2013-03-07 16:05:49.000000000 +0100
|
||||
***************
|
||||
*** 5411,5417 ****
|
||||
if (type == 'v')
|
||||
smsg((char_u *)_("Pattern found in every line: %s"), pat);
|
||||
else
|
||||
! smsg((char_u *)_(e_patnotf2), pat);
|
||||
}
|
||||
else
|
||||
global_exe(cmd);
|
||||
--- 5411,5417 ----
|
||||
if (type == 'v')
|
||||
smsg((char_u *)_("Pattern found in every line: %s"), pat);
|
||||
else
|
||||
! smsg((char_u *)_("Pattern not found: %s"), pat);
|
||||
}
|
||||
else
|
||||
global_exe(cmd);
|
||||
*** ../vim-7.3.848/src/version.c 2013-03-07 15:16:16.000000000 +0100
|
||||
--- src/version.c 2013-03-07 16:03:57.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 849,
|
||||
/**/
|
||||
|
||||
--
|
||||
Apparently, 1 in 5 people in the world are Chinese. And there are 5
|
||||
people in my family, so it must be one of them. It's either my mum
|
||||
or my dad. Or my older brother Colin. Or my younger brother
|
||||
Ho-Cha-Chu. But I think it's Colin.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
82
7.3.850
Normal file
82
7.3.850
Normal file
@ -0,0 +1,82 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.850
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.850
|
||||
Problem: ":vimgrep //" matches everywhere.
|
||||
Solution: Make it use the previous search pattern. (David Bürgin)
|
||||
Files: runtime/doc/quickfix.txt, src/quickfix.c
|
||||
|
||||
|
||||
*** ../vim-7.3.849/runtime/doc/quickfix.txt 2010-08-15 21:57:19.000000000 +0200
|
||||
--- runtime/doc/quickfix.txt 2013-03-07 16:17:39.000000000 +0100
|
||||
***************
|
||||
*** 563,568 ****
|
||||
--- 574,581 ----
|
||||
'ignorecase' applies. To overrule it put |/\c| in the
|
||||
pattern to ignore case or |/\C| to match case.
|
||||
'smartcase' is not used.
|
||||
+ If {pattern} is empty (e.g. // is specified), the last
|
||||
+ used search pattern is used. |last-pattern|
|
||||
|
||||
When a number is put before the command this is used
|
||||
as the maximum number of matches to find. Use
|
||||
*** ../vim-7.3.849/src/quickfix.c 2012-12-12 15:55:16.000000000 +0100
|
||||
--- src/quickfix.c 2013-03-07 16:21:17.000000000 +0100
|
||||
***************
|
||||
*** 3179,3185 ****
|
||||
EMSG(_(e_invalpat));
|
||||
goto theend;
|
||||
}
|
||||
! regmatch.regprog = vim_regcomp(s, RE_MAGIC);
|
||||
if (regmatch.regprog == NULL)
|
||||
goto theend;
|
||||
regmatch.rmm_ic = p_ic;
|
||||
--- 3179,3198 ----
|
||||
EMSG(_(e_invalpat));
|
||||
goto theend;
|
||||
}
|
||||
!
|
||||
! if (s != NULL && *s == NUL)
|
||||
! {
|
||||
! /* Pattern is empty, use last search pattern. */
|
||||
! if (last_search_pat() == NULL)
|
||||
! {
|
||||
! EMSG(_(e_noprevre));
|
||||
! goto theend;
|
||||
! }
|
||||
! regmatch.regprog = vim_regcomp(last_search_pat(), RE_MAGIC);
|
||||
! }
|
||||
! else
|
||||
! regmatch.regprog = vim_regcomp(s, RE_MAGIC);
|
||||
!
|
||||
if (regmatch.regprog == NULL)
|
||||
goto theend;
|
||||
regmatch.rmm_ic = p_ic;
|
||||
*** ../vim-7.3.849/src/version.c 2013-03-07 16:08:31.000000000 +0100
|
||||
--- src/version.c 2013-03-07 16:16:26.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 850,
|
||||
/**/
|
||||
|
||||
--
|
||||
The technology involved in making anything invisible is so infinitely
|
||||
complex that nine hundred and ninety-nine billion, nine hundred and
|
||||
ninety-nine million, nine hundred and ninety-nine thousand, nine hundred
|
||||
and ninety-nine times out of a trillion it is much simpler and more
|
||||
effective just to take the thing away and do without it.
|
||||
-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
67
7.3.851
Normal file
67
7.3.851
Normal file
@ -0,0 +1,67 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.851
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.851
|
||||
Problem: Using an empty pattern with :sort silently continues when there is
|
||||
no previous search pattern.
|
||||
Solution: Give an error message.
|
||||
Files: src/ex_cmds.c
|
||||
|
||||
|
||||
*** ../vim-7.3.850/src/ex_cmds.c 2013-03-07 16:08:31.000000000 +0100
|
||||
--- src/ex_cmds.c 2013-03-07 16:25:28.000000000 +0100
|
||||
***************
|
||||
*** 415,422 ****
|
||||
}
|
||||
*s = NUL;
|
||||
/* Use last search pattern if sort pattern is empty. */
|
||||
! if (s == p + 1 && last_search_pat() != NULL)
|
||||
regmatch.regprog = vim_regcomp(last_search_pat(), RE_MAGIC);
|
||||
else
|
||||
regmatch.regprog = vim_regcomp(p + 1, RE_MAGIC);
|
||||
if (regmatch.regprog == NULL)
|
||||
--- 415,429 ----
|
||||
}
|
||||
*s = NUL;
|
||||
/* Use last search pattern if sort pattern is empty. */
|
||||
! if (s == p + 1)
|
||||
! {
|
||||
! if (last_search_pat() == NULL)
|
||||
! {
|
||||
! EMSG(_(e_noprevre));
|
||||
! goto sortend;
|
||||
! }
|
||||
regmatch.regprog = vim_regcomp(last_search_pat(), RE_MAGIC);
|
||||
+ }
|
||||
else
|
||||
regmatch.regprog = vim_regcomp(p + 1, RE_MAGIC);
|
||||
if (regmatch.regprog == NULL)
|
||||
*** ../vim-7.3.850/src/version.c 2013-03-07 16:32:49.000000000 +0100
|
||||
--- src/version.c 2013-03-07 16:38:49.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 851,
|
||||
/**/
|
||||
|
||||
--
|
||||
This planet has -- or rather had -- a problem, which was this: most
|
||||
of the people living on it were unhappy for pretty much of the time.
|
||||
Many solutions were suggested for this problem, but most of these
|
||||
were largely concerned with the movements of small green pieces of
|
||||
paper, which is odd because on the whole it wasn't the small green
|
||||
pieces of paper that were unhappy.
|
||||
-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
124
7.3.852
Normal file
124
7.3.852
Normal file
@ -0,0 +1,124 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.852
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.852
|
||||
Problem: system() breaks clipboard text. (Yukihiro Nakadaira)
|
||||
Solution: Use Xutf8TextPropertyToTextList(). (Christian Brabandt)
|
||||
Also do not put the text in the clip buffer if conversion fails.
|
||||
Files: src/ui.c, src/ops.c
|
||||
|
||||
|
||||
*** ../vim-7.3.851/src/ui.c 2012-10-21 00:58:34.000000000 +0200
|
||||
--- src/ui.c 2013-03-07 17:30:37.000000000 +0100
|
||||
***************
|
||||
*** 2119,2125 ****
|
||||
text_prop.encoding = *type;
|
||||
text_prop.format = *format;
|
||||
text_prop.nitems = len;
|
||||
! status = XmbTextPropertyToTextList(X_DISPLAY, &text_prop,
|
||||
&text_list, &n_text);
|
||||
if (status != Success || n_text < 1)
|
||||
{
|
||||
--- 2119,2131 ----
|
||||
text_prop.encoding = *type;
|
||||
text_prop.format = *format;
|
||||
text_prop.nitems = len;
|
||||
! #ifdef FEAT_MBYTE
|
||||
! if (*type == utf8_atom)
|
||||
! status = Xutf8TextPropertyToTextList(X_DISPLAY, &text_prop,
|
||||
! &text_list, &n_text);
|
||||
! else
|
||||
! #endif
|
||||
! status = XmbTextPropertyToTextList(X_DISPLAY, &text_prop,
|
||||
&text_list, &n_text);
|
||||
if (status != Success || n_text < 1)
|
||||
{
|
||||
*** ../vim-7.3.851/src/ops.c 2012-12-12 16:11:28.000000000 +0100
|
||||
--- src/ops.c 2013-03-07 17:55:59.000000000 +0100
|
||||
***************
|
||||
*** 5828,5833 ****
|
||||
--- 5828,5835 ----
|
||||
&& len < 1024*1024 && len > 0)
|
||||
{
|
||||
#ifdef FEAT_MBYTE
|
||||
+ int ok = TRUE;
|
||||
+
|
||||
/* The CUT_BUFFER0 is supposed to always contain latin1. Convert from
|
||||
* 'enc' when it is a multi-byte encoding. When 'enc' is an 8-bit
|
||||
* encoding conversion usually doesn't work, so keep the text as-is.
|
||||
***************
|
||||
*** 5842,5847 ****
|
||||
--- 5844,5850 ----
|
||||
int intlen = len;
|
||||
char_u *conv_str;
|
||||
|
||||
+ vc.vc_fail = TRUE;
|
||||
conv_str = string_convert(&vc, str, &intlen);
|
||||
len = intlen;
|
||||
if (conv_str != NULL)
|
||||
***************
|
||||
*** 5849,5860 ****
|
||||
vim_free(str);
|
||||
str = conv_str;
|
||||
}
|
||||
convert_setup(&vc, NULL, NULL);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
! XStoreBuffer(dpy, (char *)str, (int)len, 0);
|
||||
! XFlush(dpy);
|
||||
}
|
||||
|
||||
vim_free(str);
|
||||
--- 5852,5877 ----
|
||||
vim_free(str);
|
||||
str = conv_str;
|
||||
}
|
||||
+ else
|
||||
+ {
|
||||
+ ok = FALSE;
|
||||
+ }
|
||||
convert_setup(&vc, NULL, NULL);
|
||||
}
|
||||
+ else
|
||||
+ {
|
||||
+ ok = FALSE;
|
||||
+ }
|
||||
}
|
||||
+
|
||||
+ /* Do not store the string if conversion failed. Better to use any
|
||||
+ * other selection than garbled text. */
|
||||
+ if (ok)
|
||||
#endif
|
||||
! {
|
||||
! XStoreBuffer(dpy, (char *)str, (int)len, 0);
|
||||
! XFlush(dpy);
|
||||
! }
|
||||
}
|
||||
|
||||
vim_free(str);
|
||||
*** ../vim-7.3.851/src/version.c 2013-03-07 16:41:26.000000000 +0100
|
||||
--- src/version.c 2013-03-07 18:01:08.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 852,
|
||||
/**/
|
||||
|
||||
--
|
||||
Tips for aliens in New York: Land anywhere. Central Park, anywhere.
|
||||
No one will care or indeed even notice.
|
||||
-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
96
7.3.853
Normal file
96
7.3.853
Normal file
@ -0,0 +1,96 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.853
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.853
|
||||
Problem: Using "ra" in multiple lines on multi-byte characters leaves a few
|
||||
characters not replaced.
|
||||
Solution: Adjust the end column only in the last line. (Yasuhiro Matsumoto)
|
||||
Files: src/testdir/test69.in, src/testdir/test69.ok, src/ops.c
|
||||
|
||||
|
||||
*** ../vim-7.3.852/src/testdir/test69.in 2013-01-17 17:01:57.000000000 +0100
|
||||
--- src/testdir/test69.in 2013-03-07 18:30:50.000000000 +0100
|
||||
***************
|
||||
*** 1,5 ****
|
||||
--- 1,6 ----
|
||||
Test for multi-byte text formatting.
|
||||
Also test, that 'mps' with multibyte chars works.
|
||||
+ And test "ra" on multi-byte characters.
|
||||
|
||||
STARTTEST
|
||||
:so mbyte.vim
|
||||
***************
|
||||
*** 144,149 ****
|
||||
--- 145,159 ----
|
||||
‘ two three ’ four
|
||||
}
|
||||
STARTTEST
|
||||
+ /^ra test
|
||||
+ jVjra
|
||||
+ ENDTEST
|
||||
+
|
||||
+ ra test
|
||||
+ abba
|
||||
+ aab
|
||||
+
|
||||
+ STARTTEST
|
||||
:g/^STARTTEST/.,/^ENDTEST/d
|
||||
:1;/^Results/,$wq! test.out
|
||||
ENDTEST
|
||||
*** ../vim-7.3.852/src/testdir/test69.ok 2013-01-17 17:01:57.000000000 +0100
|
||||
--- src/testdir/test69.ok 2013-03-07 18:31:32.000000000 +0100
|
||||
***************
|
||||
*** 144,146 ****
|
||||
--- 144,151 ----
|
||||
{
|
||||
four
|
||||
}
|
||||
+
|
||||
+ ra test
|
||||
+ aaaa
|
||||
+ aaa
|
||||
+
|
||||
*** ../vim-7.3.852/src/ops.c 2013-03-07 18:02:27.000000000 +0100
|
||||
--- src/ops.c 2013-03-07 18:35:01.000000000 +0100
|
||||
***************
|
||||
*** 2194,2200 ****
|
||||
{
|
||||
/* This is slow, but it handles replacing a single-byte
|
||||
* with a multi-byte and the other way around. */
|
||||
! oap->end.col += (*mb_char2len)(c) - (*mb_char2len)(n);
|
||||
n = State;
|
||||
State = REPLACE;
|
||||
ins_char(c);
|
||||
--- 2194,2201 ----
|
||||
{
|
||||
/* This is slow, but it handles replacing a single-byte
|
||||
* with a multi-byte and the other way around. */
|
||||
! if (curwin->w_cursor.lnum == oap->end.lnum)
|
||||
! oap->end.col += (*mb_char2len)(c) - (*mb_char2len)(n);
|
||||
n = State;
|
||||
State = REPLACE;
|
||||
ins_char(c);
|
||||
*** ../vim-7.3.852/src/version.c 2013-03-07 18:02:27.000000000 +0100
|
||||
--- src/version.c 2013-03-07 18:36:46.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 853,
|
||||
/**/
|
||||
|
||||
--
|
||||
What a wonderfully exciting cough! Do you mind if I join you?
|
||||
-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
49
7.3.854
Normal file
49
7.3.854
Normal file
@ -0,0 +1,49 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.854
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.854
|
||||
Problem: After using backspace in insert mode completion, CTRL-N and CTRL-P
|
||||
do not highlight the right entry. (Olivier Teuliere)
|
||||
Solution: Set the current item to the shown item after using backspace.
|
||||
Files: src/edit.c
|
||||
|
||||
|
||||
*** ../vim-7.3.853/src/edit.c 2013-02-26 13:30:28.000000000 +0100
|
||||
--- src/edit.c 2013-03-07 19:31:46.000000000 +0100
|
||||
***************
|
||||
*** 3380,3385 ****
|
||||
--- 3380,3388 ----
|
||||
if (compl_leader != NULL)
|
||||
{
|
||||
ins_compl_new_leader();
|
||||
+ if (compl_shown_match != NULL)
|
||||
+ /* Make sure current match is not a hidden item. */
|
||||
+ compl_curr_match = compl_shown_match;
|
||||
return NUL;
|
||||
}
|
||||
return K_BS;
|
||||
*** ../vim-7.3.853/src/version.c 2013-03-07 18:50:52.000000000 +0100
|
||||
--- src/version.c 2013-03-07 19:34:32.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 854,
|
||||
/**/
|
||||
|
||||
--
|
||||
If you put 7 of the most talented OSS developers in a room for a week
|
||||
and asked them to fix a bug in a spreadsheet program, in 1 week
|
||||
you'd have 2 new mail readers and a text-based web browser.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
69
7.3.855
Normal file
69
7.3.855
Normal file
@ -0,0 +1,69 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.855
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.855
|
||||
Problem: Compiler warnings.
|
||||
Solution: Add type casts. (Mike Williams)
|
||||
Files: src/misc1.c
|
||||
|
||||
|
||||
*** ../vim-7.3.854/src/misc1.c 2013-03-07 13:13:45.000000000 +0100
|
||||
--- src/misc1.c 2013-03-13 16:58:12.000000000 +0100
|
||||
***************
|
||||
*** 5468,5474 ****
|
||||
|
||||
for (i = 0; i < (int)(sizeof(skip) / sizeof(char *)); ++i)
|
||||
{
|
||||
! l = strlen(skip[i]);
|
||||
if (cin_starts_with(s, skip[i]))
|
||||
{
|
||||
s = cin_skipcomment(s + l);
|
||||
--- 5468,5474 ----
|
||||
|
||||
for (i = 0; i < (int)(sizeof(skip) / sizeof(char *)); ++i)
|
||||
{
|
||||
! l = (int)strlen(skip[i]);
|
||||
if (cin_starts_with(s, skip[i]))
|
||||
{
|
||||
s = cin_skipcomment(s + l);
|
||||
***************
|
||||
*** 6430,6436 ****
|
||||
char_u *s;
|
||||
char *word;
|
||||
{
|
||||
! int l = STRLEN(word);
|
||||
|
||||
return (STRNCMP(s, word, l) == 0 && !vim_isIDc(s[l]));
|
||||
}
|
||||
--- 6430,6436 ----
|
||||
char_u *s;
|
||||
char *word;
|
||||
{
|
||||
! int l = (int)STRLEN(word);
|
||||
|
||||
return (STRNCMP(s, word, l) == 0 && !vim_isIDc(s[l]));
|
||||
}
|
||||
*** ../vim-7.3.854/src/version.c 2013-03-07 19:38:49.000000000 +0100
|
||||
--- src/version.c 2013-03-13 16:59:02.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 855,
|
||||
/**/
|
||||
|
||||
--
|
||||
George: "I just got a new set of golf clubs for my wife!"
|
||||
John: "Great trade!"
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
311
7.3.856
Normal file
311
7.3.856
Normal file
@ -0,0 +1,311 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.856
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.856
|
||||
Problem: When calling system() multi-byte clipboard contents is garbled.
|
||||
Solution: Save and restore the clipboard contents. (Yukihiro Nakadaira)
|
||||
Files: src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro, src/ops.c,
|
||||
src/proto/ops.pro, src/os_unix.c, src/proto/ui.pro, src/ui.c
|
||||
|
||||
|
||||
*** ../vim-7.3.855/src/gui_gtk_x11.c 2013-02-14 22:11:31.000000000 +0100
|
||||
--- src/gui_gtk_x11.c 2013-03-13 17:28:00.000000000 +0100
|
||||
***************
|
||||
*** 5674,5685 ****
|
||||
void
|
||||
clip_mch_lose_selection(VimClipboard *cbd UNUSED)
|
||||
{
|
||||
! /* WEIRD: when using NULL to actually disown the selection, we lose the
|
||||
! * selection the first time we own it. */
|
||||
! /*
|
||||
! gtk_selection_owner_set(NULL, cbd->gtk_sel_atom, (guint32)GDK_CURRENT_TIME);
|
||||
gui_mch_update();
|
||||
- */
|
||||
}
|
||||
|
||||
/*
|
||||
--- 5674,5681 ----
|
||||
void
|
||||
clip_mch_lose_selection(VimClipboard *cbd UNUSED)
|
||||
{
|
||||
! gtk_selection_owner_set(NULL, cbd->gtk_sel_atom, gui.event_time);
|
||||
gui_mch_update();
|
||||
}
|
||||
|
||||
/*
|
||||
***************
|
||||
*** 5705,5710 ****
|
||||
--- 5701,5712 ----
|
||||
{
|
||||
}
|
||||
|
||||
+ int
|
||||
+ clip_gtk_owner_exists(VimClipboard *cbd)
|
||||
+ {
|
||||
+ return gdk_selection_owner_get(cbd->gtk_sel_atom) != NULL;
|
||||
+ }
|
||||
+
|
||||
|
||||
#if defined(FEAT_MENU) || defined(PROTO)
|
||||
/*
|
||||
*** ../vim-7.3.855/src/proto/gui_gtk_x11.pro 2012-05-18 17:03:14.000000000 +0200
|
||||
--- src/proto/gui_gtk_x11.pro 2013-03-13 17:35:17.000000000 +0100
|
||||
***************
|
||||
*** 59,64 ****
|
||||
--- 59,65 ----
|
||||
void clip_mch_lose_selection __ARGS((VimClipboard *cbd));
|
||||
int clip_mch_own_selection __ARGS((VimClipboard *cbd));
|
||||
void clip_mch_set_selection __ARGS((VimClipboard *cbd));
|
||||
+ int clip_gtk_owner_exists __ARGS((VimClipboard *cbd));
|
||||
void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
|
||||
void gui_mch_menu_hidden __ARGS((vimmenu_T *menu, int hidden));
|
||||
void gui_mch_draw_menubar __ARGS((void));
|
||||
*** ../vim-7.3.855/src/ops.c 2013-03-07 18:50:52.000000000 +0100
|
||||
--- src/ops.c 2013-03-13 17:30:50.000000000 +0100
|
||||
***************
|
||||
*** 1017,1022 ****
|
||||
--- 1017,1035 ----
|
||||
may_set_selection();
|
||||
# endif
|
||||
}
|
||||
+
|
||||
+ void
|
||||
+ free_register(reg)
|
||||
+ void *reg;
|
||||
+ {
|
||||
+ struct yankreg tmp;
|
||||
+
|
||||
+ tmp = *y_current;
|
||||
+ *y_current = *(struct yankreg *)reg;
|
||||
+ free_yank_all();
|
||||
+ vim_free(reg);
|
||||
+ *y_current = tmp;
|
||||
+ }
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_MOUSE) || defined(PROTO)
|
||||
*** ../vim-7.3.855/src/proto/ops.pro 2012-06-06 16:12:54.000000000 +0200
|
||||
--- src/proto/ops.pro 2013-03-13 17:35:04.000000000 +0100
|
||||
***************
|
||||
*** 15,20 ****
|
||||
--- 15,21 ----
|
||||
int may_get_selection __ARGS((int regname));
|
||||
void *get_register __ARGS((int name, int copy));
|
||||
void put_register __ARGS((int name, void *reg));
|
||||
+ void free_register __ARGS((void *reg));
|
||||
int yank_register_mline __ARGS((int regname));
|
||||
int do_record __ARGS((int c));
|
||||
int do_execreg __ARGS((int regname, int colon, int addcr, int silent));
|
||||
*** ../vim-7.3.855/src/os_unix.c 2013-02-26 14:56:24.000000000 +0100
|
||||
--- src/os_unix.c 2013-03-13 17:33:00.000000000 +0100
|
||||
***************
|
||||
*** 1138,1143 ****
|
||||
--- 1138,1148 ----
|
||||
|
||||
# if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
|
||||
static void loose_clipboard __ARGS((void));
|
||||
+ static void save_clipboard __ARGS((void));
|
||||
+ static void restore_clipboard __ARGS((void));
|
||||
+
|
||||
+ static void *clip_star_save = NULL;
|
||||
+ static void *clip_plus_save = NULL;
|
||||
|
||||
/*
|
||||
* Called when Vim is going to sleep or execute a shell command.
|
||||
***************
|
||||
*** 1158,1163 ****
|
||||
--- 1163,1204 ----
|
||||
XFlush(x11_display);
|
||||
}
|
||||
}
|
||||
+
|
||||
+ /*
|
||||
+ * Save clipboard text to restore later.
|
||||
+ */
|
||||
+ static void
|
||||
+ save_clipboard()
|
||||
+ {
|
||||
+ if (clip_star.owned)
|
||||
+ clip_star_save = get_register('*', TRUE);
|
||||
+ if (clip_plus.owned)
|
||||
+ clip_plus_save = get_register('+', TRUE);
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * Restore clipboard text if no one own the X selection.
|
||||
+ */
|
||||
+ static void
|
||||
+ restore_clipboard()
|
||||
+ {
|
||||
+ if (clip_star_save != NULL)
|
||||
+ {
|
||||
+ if (!clip_gen_owner_exists(&clip_star))
|
||||
+ put_register('*', clip_star_save);
|
||||
+ else
|
||||
+ free_register(clip_star_save);
|
||||
+ clip_star_save = NULL;
|
||||
+ }
|
||||
+ if (clip_plus_save != NULL)
|
||||
+ {
|
||||
+ if (!clip_gen_owner_exists(&clip_plus))
|
||||
+ put_register('+', clip_plus_save);
|
||||
+ else
|
||||
+ free_register(clip_plus_save);
|
||||
+ clip_plus_save = NULL;
|
||||
+ }
|
||||
+ }
|
||||
#endif
|
||||
|
||||
/*
|
||||
***************
|
||||
*** 3844,3849 ****
|
||||
--- 3885,3891 ----
|
||||
settmode(TMODE_COOK); /* set to normal mode */
|
||||
|
||||
# if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
|
||||
+ save_clipboard();
|
||||
loose_clipboard();
|
||||
# endif
|
||||
|
||||
***************
|
||||
*** 3917,3922 ****
|
||||
--- 3959,3967 ----
|
||||
# ifdef FEAT_TITLE
|
||||
resettitle();
|
||||
# endif
|
||||
+ # if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
|
||||
+ restore_clipboard();
|
||||
+ # endif
|
||||
return x;
|
||||
|
||||
#else /* USE_SYSTEM */ /* don't use system(), use fork()/exec() */
|
||||
***************
|
||||
*** 3965,3970 ****
|
||||
--- 4010,4018 ----
|
||||
settmode(TMODE_COOK); /* set to normal mode */
|
||||
|
||||
# if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
|
||||
+ /* Disown the clipboard, because is the executed command tries to obtain a
|
||||
+ * selection and we own it we get a deadlock. */
|
||||
+ save_clipboard();
|
||||
loose_clipboard();
|
||||
# endif
|
||||
|
||||
***************
|
||||
*** 4836,4841 ****
|
||||
--- 4884,4892 ----
|
||||
# ifdef FEAT_TITLE
|
||||
resettitle();
|
||||
# endif
|
||||
+ # if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
|
||||
+ restore_clipboard();
|
||||
+ # endif
|
||||
vim_free(newcmd);
|
||||
|
||||
return retval;
|
||||
*** ../vim-7.3.855/src/proto/ui.pro 2012-07-10 16:49:08.000000000 +0200
|
||||
--- src/proto/ui.pro 2013-03-13 17:35:08.000000000 +0100
|
||||
***************
|
||||
*** 29,34 ****
|
||||
--- 29,35 ----
|
||||
void clip_gen_lose_selection __ARGS((VimClipboard *cbd));
|
||||
void clip_gen_set_selection __ARGS((VimClipboard *cbd));
|
||||
void clip_gen_request_selection __ARGS((VimClipboard *cbd));
|
||||
+ int clip_gen_owner_exists __ARGS((VimClipboard *cbd));
|
||||
int vim_is_input_buf_full __ARGS((void));
|
||||
int vim_is_input_buf_empty __ARGS((void));
|
||||
int vim_free_in_input_buf __ARGS((void));
|
||||
***************
|
||||
*** 52,57 ****
|
||||
--- 53,59 ----
|
||||
void clip_x11_lose_selection __ARGS((Widget myShell, VimClipboard *cbd));
|
||||
int clip_x11_own_selection __ARGS((Widget myShell, VimClipboard *cbd));
|
||||
void clip_x11_set_selection __ARGS((VimClipboard *cbd));
|
||||
+ int clip_x11_owner_exists __ARGS((VimClipboard *cbd));
|
||||
void yank_cut_buffer0 __ARGS((Display *dpy, VimClipboard *cbd));
|
||||
int jump_to_mouse __ARGS((int flags, int *inclusive, int which_button));
|
||||
int mouse_comp_pos __ARGS((win_T *win, int *rowp, int *colp, linenr_T *lnump));
|
||||
*** ../vim-7.3.855/src/ui.c 2013-03-07 18:02:27.000000000 +0100
|
||||
--- src/ui.c 2013-03-13 17:31:31.000000000 +0100
|
||||
***************
|
||||
*** 1456,1461 ****
|
||||
--- 1456,1476 ----
|
||||
#endif
|
||||
}
|
||||
|
||||
+ int
|
||||
+ clip_gen_owner_exists(cbd)
|
||||
+ VimClipboard *cbd;
|
||||
+ {
|
||||
+ #ifdef FEAT_XCLIPBOARD
|
||||
+ # ifdef FEAT_GUI_GTK
|
||||
+ if (gui.in_use)
|
||||
+ return clip_gtk_owner_exists(cbd);
|
||||
+ else
|
||||
+ # endif
|
||||
+ return clip_x11_owner_exists(cbd);
|
||||
+ #endif
|
||||
+ return TRUE;
|
||||
+ }
|
||||
+
|
||||
#endif /* FEAT_CLIPBOARD */
|
||||
|
||||
/*****************************************************************************
|
||||
***************
|
||||
*** 2398,2404 ****
|
||||
Widget myShell;
|
||||
VimClipboard *cbd;
|
||||
{
|
||||
! XtDisownSelection(myShell, cbd->sel_atom, CurrentTime);
|
||||
}
|
||||
|
||||
int
|
||||
--- 2413,2420 ----
|
||||
Widget myShell;
|
||||
VimClipboard *cbd;
|
||||
{
|
||||
! XtDisownSelection(myShell, cbd->sel_atom,
|
||||
! XtLastTimestampProcessed(XtDisplay(myShell)));
|
||||
}
|
||||
|
||||
int
|
||||
***************
|
||||
*** 2440,2445 ****
|
||||
--- 2456,2468 ----
|
||||
VimClipboard *cbd UNUSED;
|
||||
{
|
||||
}
|
||||
+
|
||||
+ int
|
||||
+ clip_x11_owner_exists(cbd)
|
||||
+ VimClipboard *cbd;
|
||||
+ {
|
||||
+ return XGetSelectionOwner(X_DISPLAY, cbd->sel_atom) != None;
|
||||
+ }
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_XCLIPBOARD) || defined(FEAT_GUI_X11) \
|
||||
*** ../vim-7.3.855/src/version.c 2013-03-13 17:01:47.000000000 +0100
|
||||
--- src/version.c 2013-03-13 17:45:25.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 856,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
39. You move into a new house and decide to Netscape before you landscape.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
91
7.3.857
Normal file
91
7.3.857
Normal file
@ -0,0 +1,91 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.857
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.857
|
||||
Problem: The QuitPre autocommand event does not trigger for :qa and :wq.
|
||||
Solution: Trigger the event. (Tatsuro Fujii)
|
||||
Files: src/ex_docmd.c
|
||||
|
||||
|
||||
*** ../vim-7.3.856/src/ex_docmd.c 2013-02-26 17:21:15.000000000 +0100
|
||||
--- src/ex_docmd.c 2013-03-13 18:14:56.000000000 +0100
|
||||
***************
|
||||
*** 6526,6532 ****
|
||||
}
|
||||
#ifdef FEAT_AUTOCMD
|
||||
apply_autocmds(EVENT_QUITPRE, NULL, NULL, FALSE, curbuf);
|
||||
! /* Refuse to quick when locked or when the buffer in the last window is
|
||||
* being closed (can only happen in autocommands). */
|
||||
if (curbuf_locked() || (curbuf->b_nwindows == 1 && curbuf->b_closing))
|
||||
return;
|
||||
--- 6526,6532 ----
|
||||
}
|
||||
#ifdef FEAT_AUTOCMD
|
||||
apply_autocmds(EVENT_QUITPRE, NULL, NULL, FALSE, curbuf);
|
||||
! /* Refuse to quit when locked or when the buffer in the last window is
|
||||
* being closed (can only happen in autocommands). */
|
||||
if (curbuf_locked() || (curbuf->b_nwindows == 1 && curbuf->b_closing))
|
||||
return;
|
||||
***************
|
||||
*** 6600,6606 ****
|
||||
return;
|
||||
}
|
||||
#ifdef FEAT_AUTOCMD
|
||||
! if (curbuf_locked())
|
||||
return;
|
||||
#endif
|
||||
|
||||
--- 6600,6609 ----
|
||||
return;
|
||||
}
|
||||
#ifdef FEAT_AUTOCMD
|
||||
! apply_autocmds(EVENT_QUITPRE, NULL, NULL, FALSE, curbuf);
|
||||
! /* Refuse to quit when locked or when the buffer in the last window is
|
||||
! * being closed (can only happen in autocommands). */
|
||||
! if (curbuf_locked() || (curbuf->b_nwindows == 1 && curbuf->b_closing))
|
||||
return;
|
||||
#endif
|
||||
|
||||
***************
|
||||
*** 6936,6942 ****
|
||||
return;
|
||||
}
|
||||
#ifdef FEAT_AUTOCMD
|
||||
! if (curbuf_locked())
|
||||
return;
|
||||
#endif
|
||||
|
||||
--- 6939,6948 ----
|
||||
return;
|
||||
}
|
||||
#ifdef FEAT_AUTOCMD
|
||||
! apply_autocmds(EVENT_QUITPRE, NULL, NULL, FALSE, curbuf);
|
||||
! /* Refuse to quit when locked or when the buffer in the last window is
|
||||
! * being closed (can only happen in autocommands). */
|
||||
! if (curbuf_locked() || (curbuf->b_nwindows == 1 && curbuf->b_closing))
|
||||
return;
|
||||
#endif
|
||||
|
||||
*** ../vim-7.3.856/src/version.c 2013-03-13 17:50:20.000000000 +0100
|
||||
--- src/version.c 2013-03-13 18:26:13.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 857,
|
||||
/**/
|
||||
|
||||
--
|
||||
The future isn't what it used to be.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
159
7.3.858
Normal file
159
7.3.858
Normal file
@ -0,0 +1,159 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.858
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.858
|
||||
Problem: "gv" selects the wrong area after some operators.
|
||||
Solution: Save and restore the type of selection. (Christian Brabandt)
|
||||
Files: src/testdir/test66.in, src/testdir/test66.ok, src/normal.c
|
||||
|
||||
|
||||
*** ../vim-7.3.857/src/testdir/test66.in 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/testdir/test66.in 2013-03-13 18:42:46.000000000 +0100
|
||||
***************
|
||||
*** 3,14 ****
|
||||
|
||||
STARTTEST
|
||||
:so small.vim
|
||||
/^abcdefgh
|
||||
4jI j<<11|D
|
||||
7|a
|
||||
7|a
|
||||
7|a 4k13|4j<
|
||||
! :$-4,$w! test.out
|
||||
:$-4,$s/\s\+//g
|
||||
4kI j<<
|
||||
7|a
|
||||
--- 3,16 ----
|
||||
|
||||
STARTTEST
|
||||
:so small.vim
|
||||
+ /^one
|
||||
+ fe4jRugvr1:'<,'>w! test.out
|
||||
/^abcdefgh
|
||||
4jI j<<11|D
|
||||
7|a
|
||||
7|a
|
||||
7|a 4k13|4j<
|
||||
! :$-5,$w >> test.out
|
||||
:$-4,$s/\s\+//g
|
||||
4kI j<<
|
||||
7|a
|
||||
***************
|
||||
*** 18,23 ****
|
||||
--- 20,31 ----
|
||||
:qa!
|
||||
ENDTEST
|
||||
|
||||
+ one two three
|
||||
+ one two three
|
||||
+ one two three
|
||||
+ one two three
|
||||
+ one two three
|
||||
+
|
||||
abcdefghijklmnopqrstuvwxyz
|
||||
abcdefghijklmnopqrstuvwxyz
|
||||
abcdefghijklmnopqrstuvwxyz
|
||||
*** ../vim-7.3.857/src/testdir/test66.ok 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/testdir/test66.ok 2013-03-13 18:42:46.000000000 +0100
|
||||
***************
|
||||
*** 1,3 ****
|
||||
--- 1,9 ----
|
||||
+ on1 two three
|
||||
+ on1 two three
|
||||
+ on1 two three
|
||||
+ on1 two three
|
||||
+ on1 two three
|
||||
+
|
||||
abcdefghijklmnopqrstuvwxyz
|
||||
abcdefghij
|
||||
abc defghijklmnopqrstuvwxyz
|
||||
*** ../vim-7.3.857/src/normal.c 2013-02-26 13:30:28.000000000 +0100
|
||||
--- src/normal.c 2013-03-13 18:47:49.000000000 +0100
|
||||
***************
|
||||
*** 21,26 ****
|
||||
--- 21,27 ----
|
||||
static int resel_VIsual_mode = NUL; /* 'v', 'V', or Ctrl-V */
|
||||
static linenr_T resel_VIsual_line_count; /* number of lines */
|
||||
static colnr_T resel_VIsual_vcol; /* nr of cols or end col */
|
||||
+ static int VIsual_mode_orig = NUL; /* type of Visual mode, that user entered */
|
||||
|
||||
static int restart_VIsual_select = 0;
|
||||
#endif
|
||||
***************
|
||||
*** 1594,1599 ****
|
||||
--- 1595,1605 ----
|
||||
curbuf->b_visual.vi_start = VIsual;
|
||||
curbuf->b_visual.vi_end = curwin->w_cursor;
|
||||
curbuf->b_visual.vi_mode = VIsual_mode;
|
||||
+ if (VIsual_mode_orig != NUL)
|
||||
+ {
|
||||
+ curbuf->b_visual.vi_mode = VIsual_mode_orig;
|
||||
+ VIsual_mode_orig = NUL;
|
||||
+ }
|
||||
curbuf->b_visual.vi_curswant = curwin->w_curswant;
|
||||
# ifdef FEAT_EVAL
|
||||
curbuf->b_visual_mode_eval = VIsual_mode;
|
||||
***************
|
||||
*** 7230,7235 ****
|
||||
--- 7236,7242 ----
|
||||
{
|
||||
cap->cmdchar = 'c';
|
||||
cap->nchar = NUL;
|
||||
+ VIsual_mode_orig = VIsual_mode; /* remember original area for gv */
|
||||
VIsual_mode = 'V';
|
||||
nv_operator(cap);
|
||||
}
|
||||
***************
|
||||
*** 7429,7435 ****
|
||||
--- 7436,7445 ----
|
||||
if (isupper(cap->cmdchar))
|
||||
{
|
||||
if (VIsual_mode != Ctrl_V)
|
||||
+ {
|
||||
+ VIsual_mode_orig = VIsual_mode;
|
||||
VIsual_mode = 'V';
|
||||
+ }
|
||||
else if (cap->cmdchar == 'C' || cap->cmdchar == 'D')
|
||||
curwin->w_curswant = MAXCOL;
|
||||
}
|
||||
***************
|
||||
*** 7449,7455 ****
|
||||
--- 7459,7468 ----
|
||||
if (VIsual_active) /* "vs" and "vS" are the same as "vc" */
|
||||
{
|
||||
if (cap->cmdchar == 'S')
|
||||
+ {
|
||||
+ VIsual_mode_orig = VIsual_mode;
|
||||
VIsual_mode = 'V';
|
||||
+ }
|
||||
cap->cmdchar = 'c';
|
||||
nv_operator(cap);
|
||||
}
|
||||
*** ../vim-7.3.857/src/version.c 2013-03-13 18:30:39.000000000 +0100
|
||||
--- src/version.c 2013-03-13 18:48:50.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 858,
|
||||
/**/
|
||||
|
||||
--
|
||||
"Oh, no! NOT the Spanish Inquisition!"
|
||||
"NOBODY expects the Spanish Inquisition!!!"
|
||||
-- Monty Python sketch --
|
||||
"Oh, no! NOT another option!"
|
||||
"EVERYBODY expects another option!!!"
|
||||
-- Discussion in vim-dev mailing list --
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
316
7.3.859
Normal file
316
7.3.859
Normal file
@ -0,0 +1,316 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.859
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.859
|
||||
Problem: 'ambiwidth' must be set by the user.
|
||||
Solution: Detects East Asian ambiguous width (UAX #11) state of the terminal
|
||||
at the start-up time and 'ambiwidth' accordingly. (Hayaki Saito)
|
||||
Files: src/main.c, src/option.c, src/term.c, src/term.h,
|
||||
src/proto/term.pro
|
||||
|
||||
|
||||
*** ../vim-7.3.858/src/main.c 2013-01-17 13:59:56.000000000 +0100
|
||||
--- src/main.c 2013-03-13 19:09:03.000000000 +0100
|
||||
***************
|
||||
*** 804,809 ****
|
||||
--- 804,812 ----
|
||||
|
||||
starttermcap(); /* start termcap if not done by wait_return() */
|
||||
TIME_MSG("start termcap");
|
||||
+ #if defined(FEAT_TERMRESPONSE) && defined(FEAT_MBYTE)
|
||||
+ may_req_ambiguous_character_width();
|
||||
+ #endif
|
||||
|
||||
#ifdef FEAT_MOUSE
|
||||
setmouse(); /* may start using the mouse */
|
||||
*** ../vim-7.3.858/src/option.c 2013-02-13 15:44:22.000000000 +0100
|
||||
--- src/option.c 2013-03-13 19:09:03.000000000 +0100
|
||||
***************
|
||||
*** 2900,2905 ****
|
||||
--- 2900,2906 ----
|
||||
p_term("t_op", T_OP)
|
||||
p_term("t_RI", T_CRI)
|
||||
p_term("t_RV", T_CRV)
|
||||
+ p_term("t_u7", T_U7)
|
||||
p_term("t_Sb", T_CSB)
|
||||
p_term("t_Sf", T_CSF)
|
||||
p_term("t_se", T_SE)
|
||||
*** ../vim-7.3.858/src/term.c 2013-02-26 14:56:24.000000000 +0100
|
||||
--- src/term.c 2013-03-13 19:18:22.000000000 +0100
|
||||
***************
|
||||
*** 111,116 ****
|
||||
--- 111,121 ----
|
||||
# define CRV_SENT 2 /* did send T_CRV, waiting for answer */
|
||||
# define CRV_GOT 3 /* received T_CRV response */
|
||||
static int crv_status = CRV_GET;
|
||||
+ /* Request Cursor position report: */
|
||||
+ # define U7_GET 1 /* send T_U7 when switched to RAW mode */
|
||||
+ # define U7_SENT 2 /* did send T_U7, waiting for answer */
|
||||
+ # define U7_GOT 3 /* received T_U7 response */
|
||||
+ static int u7_status = U7_GET;
|
||||
# endif
|
||||
|
||||
/*
|
||||
***************
|
||||
*** 933,938 ****
|
||||
--- 938,944 ----
|
||||
{(int)KS_CWP, IF_EB("\033[3;%d;%dt", ESC_STR "[3;%d;%dt")},
|
||||
# endif
|
||||
{(int)KS_CRV, IF_EB("\033[>c", ESC_STR "[>c")},
|
||||
+ {(int)KS_U7, IF_EB("\033[6n", ESC_STR "[6n")},
|
||||
|
||||
{K_UP, IF_EB("\033O*A", ESC_STR "O*A")},
|
||||
{K_DOWN, IF_EB("\033O*B", ESC_STR "O*B")},
|
||||
***************
|
||||
*** 1221,1226 ****
|
||||
--- 1227,1233 ----
|
||||
{(int)KS_CWP, "[%dCWP%d]"},
|
||||
# endif
|
||||
{(int)KS_CRV, "[CRV]"},
|
||||
+ {(int)KS_U7, "[U7]"},
|
||||
{K_UP, "[KU]"},
|
||||
{K_DOWN, "[KD]"},
|
||||
{K_LEFT, "[KL]"},
|
||||
***************
|
||||
*** 1596,1601 ****
|
||||
--- 1603,1609 ----
|
||||
{KS_TS, "ts"}, {KS_FS, "fs"},
|
||||
{KS_CWP, "WP"}, {KS_CWS, "WS"},
|
||||
{KS_CSI, "SI"}, {KS_CEI, "EI"},
|
||||
+ {KS_U7, "u7"},
|
||||
{(enum SpecialKey)0, NULL}
|
||||
};
|
||||
|
||||
***************
|
||||
*** 3183,3189 ****
|
||||
/* May need to check for T_CRV response and termcodes, it
|
||||
* doesn't work in Cooked mode, an external program may get
|
||||
* them. */
|
||||
! if (tmode != TMODE_RAW && crv_status == CRV_SENT)
|
||||
(void)vpeekc_nomap();
|
||||
check_for_codes_from_term();
|
||||
}
|
||||
--- 3191,3198 ----
|
||||
/* May need to check for T_CRV response and termcodes, it
|
||||
* doesn't work in Cooked mode, an external program may get
|
||||
* them. */
|
||||
! if (tmode != TMODE_RAW && (crv_status == CRV_SENT
|
||||
! || u7_status == U7_SENT))
|
||||
(void)vpeekc_nomap();
|
||||
check_for_codes_from_term();
|
||||
}
|
||||
***************
|
||||
*** 3245,3251 ****
|
||||
# endif
|
||||
{
|
||||
/* May need to check for T_CRV response. */
|
||||
! if (crv_status == CRV_SENT)
|
||||
(void)vpeekc_nomap();
|
||||
/* Check for termcodes first, otherwise an external program may
|
||||
* get them. */
|
||||
--- 3254,3260 ----
|
||||
# endif
|
||||
{
|
||||
/* May need to check for T_CRV response. */
|
||||
! if (crv_status == CRV_SENT || u7_status == U7_SENT)
|
||||
(void)vpeekc_nomap();
|
||||
/* Check for termcodes first, otherwise an external program may
|
||||
* get them. */
|
||||
***************
|
||||
*** 3299,3304 ****
|
||||
--- 3308,3355 ----
|
||||
(void)vpeekc_nomap();
|
||||
}
|
||||
}
|
||||
+
|
||||
+ # if defined(FEAT_MBYTE) || defined(PROTO)
|
||||
+ /*
|
||||
+ * Check how the terminal treats ambiguous character width (UAX #11).
|
||||
+ * First, we move the cursor to (0, 0) and print a test ambiguous character
|
||||
+ * \u25bd (WHITE DOWN-POINTING TRIANGLE) and query current cursor position.
|
||||
+ * If the terminal treats \u25bd as single width, the position is (0, 1),
|
||||
+ * or if it is treated as double width, that will be (0, 2).
|
||||
+ * This function has the side effect that changes cursor position, so
|
||||
+ * it must be called immediately after entering termcap mode.
|
||||
+ */
|
||||
+ void
|
||||
+ may_req_ambiguous_character_width()
|
||||
+ {
|
||||
+ if (u7_status == U7_GET
|
||||
+ && cur_tmode == TMODE_RAW
|
||||
+ && termcap_active
|
||||
+ && p_ek
|
||||
+ # ifdef UNIX
|
||||
+ && isatty(1)
|
||||
+ && isatty(read_cmd_fd)
|
||||
+ # endif
|
||||
+ && *T_U7 != NUL
|
||||
+ && !option_was_set((char_u *)"ambiwidth"))
|
||||
+ {
|
||||
+ char_u buf[16];
|
||||
+
|
||||
+ term_windgoto(0, 0);
|
||||
+ buf[mb_char2bytes(0x25bd, buf)] = 0;
|
||||
+ out_str(buf);
|
||||
+ out_str(T_U7);
|
||||
+ u7_status = U7_SENT;
|
||||
+ term_windgoto(0, 0);
|
||||
+ out_str((char_u *)" ");
|
||||
+ term_windgoto(0, 0);
|
||||
+ /* check for the characters now, otherwise they might be eaten by
|
||||
+ * get_keystroke() */
|
||||
+ out_flush();
|
||||
+ (void)vpeekc_nomap();
|
||||
+ }
|
||||
+ }
|
||||
+ # endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
***************
|
||||
*** 4049,4061 ****
|
||||
/* URXVT mouse uses <ESC>[#;#;#M, but we are matching <ESC>[ */
|
||||
|| key_name[0] == KS_URXVT_MOUSE)
|
||||
{
|
||||
! /* Check for xterm version string: "<Esc>[>{x};{vers};{y}c". Also
|
||||
! * eat other possible responses to t_RV, rxvt returns
|
||||
! * "<Esc>[?1;2c". Also accept CSI instead of <Esc>[.
|
||||
! * mrxvt has been reported to have "+" in the version. Assume
|
||||
! * the escape sequence ends with a letter or one of "{|}~". */
|
||||
! if (*T_CRV != NUL && ((tp[0] == ESC && tp[1] == '[' && len >= 3)
|
||||
! || (tp[0] == CSI && len >= 2)))
|
||||
{
|
||||
j = 0;
|
||||
extra = 0;
|
||||
--- 4100,4121 ----
|
||||
/* URXVT mouse uses <ESC>[#;#;#M, but we are matching <ESC>[ */
|
||||
|| key_name[0] == KS_URXVT_MOUSE)
|
||||
{
|
||||
! /* Check for some responses from terminal start with "<Esc>[" or
|
||||
! * CSI.
|
||||
! *
|
||||
! * - xterm version string: <Esc>[>{x};{vers};{y}c
|
||||
! * Also eat other possible responses to t_RV, rxvt returns
|
||||
! * "<Esc>[?1;2c". Also accept CSI instead of <Esc>[.
|
||||
! * mrxvt has been reported to have "+" in the version. Assume
|
||||
! * the escape sequence ends with a letter or one of "{|}~".
|
||||
! *
|
||||
! * - cursor position report: <Esc>[{row};{col}R
|
||||
! * The final byte is 'R'. now it is only used for checking for
|
||||
! * ambiguous-width character state.
|
||||
! */
|
||||
! if ((*T_CRV != NUL || *T_U7 != NUL)
|
||||
! && ((tp[0] == ESC && tp[1] == '[' && len >= 3)
|
||||
! || (tp[0] == CSI && len >= 2)))
|
||||
{
|
||||
j = 0;
|
||||
extra = 0;
|
||||
***************
|
||||
*** 4067,4074 ****
|
||||
if (i == len)
|
||||
return -1; /* not enough characters */
|
||||
|
||||
/* eat it when at least one digit and ending in 'c' */
|
||||
! if (i > 2 + (tp[0] != CSI) && tp[i] == 'c')
|
||||
{
|
||||
crv_status = CRV_GOT;
|
||||
|
||||
--- 4127,4153 ----
|
||||
if (i == len)
|
||||
return -1; /* not enough characters */
|
||||
|
||||
+ #ifdef FEAT_MBYTE
|
||||
+ /* eat it when it has 2 arguments and ends in 'R' */
|
||||
+ if (u7_status == U7_SENT && j == 1 && tp[i] == 'R')
|
||||
+ {
|
||||
+ char *p = NULL;
|
||||
+
|
||||
+ u7_status = U7_GOT;
|
||||
+ if (extra == 2)
|
||||
+ p = "single";
|
||||
+ else if (extra == 3)
|
||||
+ p = "double";
|
||||
+ if (p != NULL)
|
||||
+ set_option_value((char_u *)"ambw", 0L, (char_u *)p, 0);
|
||||
+ key_name[0] = (int)KS_EXTRA;
|
||||
+ key_name[1] = (int)KE_IGNORE;
|
||||
+ slen = i + 1;
|
||||
+ }
|
||||
+ else
|
||||
+ #endif
|
||||
/* eat it when at least one digit and ending in 'c' */
|
||||
! if (*T_CRV != NUL && i > 2 + (tp[0] != CSI) && tp[i] == 'c')
|
||||
{
|
||||
crv_status = CRV_GOT;
|
||||
|
||||
*** ../vim-7.3.858/src/term.h 2010-08-15 21:57:25.000000000 +0200
|
||||
--- src/term.h 2013-03-13 19:09:03.000000000 +0100
|
||||
***************
|
||||
*** 83,92 ****
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
KS_CSV, /* scroll region vertical */
|
||||
#endif
|
||||
! KS_OP /* original color pair */
|
||||
};
|
||||
|
||||
! #define KS_LAST KS_OP
|
||||
|
||||
/*
|
||||
* the terminal capabilities are stored in this array
|
||||
--- 83,93 ----
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
KS_CSV, /* scroll region vertical */
|
||||
#endif
|
||||
! KS_OP, /* original color pair */
|
||||
! KS_U7 /* request cursor position */
|
||||
};
|
||||
|
||||
! #define KS_LAST KS_U7
|
||||
|
||||
/*
|
||||
* the terminal capabilities are stored in this array
|
||||
***************
|
||||
*** 158,163 ****
|
||||
--- 159,165 ----
|
||||
#define T_CEI (term_str(KS_CEI)) /* end insert mode */
|
||||
#define T_CRV (term_str(KS_CRV)) /* request version string */
|
||||
#define T_OP (term_str(KS_OP)) /* original color pair */
|
||||
+ #define T_U7 (term_str(KS_U7)) /* request cursor position */
|
||||
|
||||
#define TMODE_COOK 0 /* terminal mode for external cmds and Ex mode */
|
||||
#define TMODE_SLEEP 1 /* terminal mode for sleeping (cooked but no echo) */
|
||||
*** ../vim-7.3.858/src/proto/term.pro 2012-02-05 22:05:44.000000000 +0100
|
||||
--- src/proto/term.pro 2013-03-13 19:09:54.000000000 +0100
|
||||
***************
|
||||
*** 34,39 ****
|
||||
--- 34,40 ----
|
||||
void starttermcap __ARGS((void));
|
||||
void stoptermcap __ARGS((void));
|
||||
void may_req_termresponse __ARGS((void));
|
||||
+ void may_req_ambiguous_character_width __ARGS((void));
|
||||
int swapping_screen __ARGS((void));
|
||||
void setmouse __ARGS((void));
|
||||
int mouse_has __ARGS((int c));
|
||||
*** ../vim-7.3.858/src/version.c 2013-03-13 19:02:37.000000000 +0100
|
||||
--- src/version.c 2013-03-13 19:27:31.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 859,
|
||||
/**/
|
||||
|
||||
--
|
||||
Microsoft is to software what McDonalds is to gourmet cooking
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
85
7.3.860
Normal file
85
7.3.860
Normal file
@ -0,0 +1,85 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.860
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.860
|
||||
Problem: When using --remote-expr try/catch does not work. (Andrey Radev)
|
||||
Solution: Set emsg_silent instead of emsg_skip.
|
||||
Files: src/main.c
|
||||
|
||||
|
||||
*** ../vim-7.3.859/src/main.c 2013-03-13 19:29:24.000000000 +0100
|
||||
--- src/main.c 2013-03-13 19:46:03.000000000 +0100
|
||||
***************
|
||||
*** 4025,4032 ****
|
||||
|
||||
/*
|
||||
* Evaluate an expression that the client sent to a string.
|
||||
- * Handles disabling error messages and disables debugging, otherwise Vim
|
||||
- * hangs, waiting for "cont" to be typed.
|
||||
*/
|
||||
char_u *
|
||||
eval_client_expr_to_string(expr)
|
||||
--- 4025,4030 ----
|
||||
***************
|
||||
*** 4036,4050 ****
|
||||
int save_dbl = debug_break_level;
|
||||
int save_ro = redir_off;
|
||||
|
||||
debug_break_level = -1;
|
||||
redir_off = 0;
|
||||
! ++emsg_skip;
|
||||
|
||||
res = eval_to_string(expr, NULL, TRUE);
|
||||
|
||||
debug_break_level = save_dbl;
|
||||
redir_off = save_ro;
|
||||
! --emsg_skip;
|
||||
|
||||
/* A client can tell us to redraw, but not to display the cursor, so do
|
||||
* that here. */
|
||||
--- 4034,4054 ----
|
||||
int save_dbl = debug_break_level;
|
||||
int save_ro = redir_off;
|
||||
|
||||
+ /* Disable debugging, otherwise Vim hangs, waiting for "cont" to be
|
||||
+ * typed. */
|
||||
debug_break_level = -1;
|
||||
redir_off = 0;
|
||||
! /* Do not display error message, otherwise Vim hangs, waiting for "cont"
|
||||
! * to be typed. Do generate errors so that try/catch works. */
|
||||
! ++emsg_silent;
|
||||
|
||||
res = eval_to_string(expr, NULL, TRUE);
|
||||
|
||||
debug_break_level = save_dbl;
|
||||
redir_off = save_ro;
|
||||
! --emsg_silent;
|
||||
! if (emsg_silent < 0)
|
||||
! emsg_silent = 0;
|
||||
|
||||
/* A client can tell us to redraw, but not to display the cursor, so do
|
||||
* that here. */
|
||||
*** ../vim-7.3.859/src/version.c 2013-03-13 19:29:24.000000000 +0100
|
||||
--- src/version.c 2013-03-13 20:09:47.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 860,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
42. Your virtual girlfriend finds a new net sweetheart with a larger bandwidth.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
165
7.3.861
Normal file
165
7.3.861
Normal file
@ -0,0 +1,165 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.861
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.861
|
||||
Problem: ":setlocal number" clears global value of 'relativenumber'.
|
||||
Solution: Do it properly. (Markus Heidelberg)
|
||||
Files: src/testdir/test89.in, src/testdir/test89.ok, src/option.c
|
||||
|
||||
|
||||
*** ../vim-7.3.860/src/testdir/test89.in 2013-02-14 20:10:28.000000000 +0100
|
||||
--- src/testdir/test89.in 2013-03-13 20:27:10.000000000 +0100
|
||||
***************
|
||||
*** 10,15 ****
|
||||
--- 10,52 ----
|
||||
:$put ='results:'
|
||||
:$put a
|
||||
:$put b
|
||||
+ :"
|
||||
+ :set nonu nornu
|
||||
+ :setglobal nu
|
||||
+ :setlocal rnu
|
||||
+ :redir @c | setglobal nu? | redir END
|
||||
+ :set nonu nornu
|
||||
+ :setglobal rnu
|
||||
+ :setlocal nu
|
||||
+ :redir @d | setglobal rnu? | redir END
|
||||
+ :$put =':setlocal must NOT reset the other global value'
|
||||
+ :$put c
|
||||
+ :$put d
|
||||
+ :"
|
||||
+ :set nonu nornu
|
||||
+ :setglobal nu
|
||||
+ :setglobal rnu
|
||||
+ :redir @e | setglobal nu? | redir END
|
||||
+ :set nonu nornu
|
||||
+ :setglobal rnu
|
||||
+ :setglobal nu
|
||||
+ :redir @f | setglobal rnu? | redir END
|
||||
+ :$put =':setglobal MUST reset the other global value'
|
||||
+ :$put e
|
||||
+ :$put f
|
||||
+ :"
|
||||
+ :set nonu nornu
|
||||
+ :set nu
|
||||
+ :set rnu
|
||||
+ :redir @g | setglobal nu? | redir END
|
||||
+ :set nonu nornu
|
||||
+ :set rnu
|
||||
+ :set nu
|
||||
+ :redir @h | setglobal rnu? | redir END
|
||||
+ :$put =':set MUST reset the other global value'
|
||||
+ :$put g
|
||||
+ :$put h
|
||||
+ :"
|
||||
:/^results/,$w! test.out
|
||||
:q!
|
||||
ENDTEST
|
||||
*** ../vim-7.3.860/src/testdir/test89.ok 2013-02-13 15:44:22.000000000 +0100
|
||||
--- src/testdir/test89.ok 2013-03-13 20:27:10.000000000 +0100
|
||||
***************
|
||||
*** 5,7 ****
|
||||
--- 5,22 ----
|
||||
|
||||
nonumber
|
||||
relativenumber
|
||||
+ :setlocal must NOT reset the other global value
|
||||
+
|
||||
+ number
|
||||
+
|
||||
+ relativenumber
|
||||
+ :setglobal MUST reset the other global value
|
||||
+
|
||||
+ nonumber
|
||||
+
|
||||
+ norelativenumber
|
||||
+ :set MUST reset the other global value
|
||||
+
|
||||
+ nonumber
|
||||
+
|
||||
+ norelativenumber
|
||||
*** ../vim-7.3.860/src/option.c 2013-03-13 19:29:24.000000000 +0100
|
||||
--- src/option.c 2013-03-13 20:35:20.000000000 +0100
|
||||
***************
|
||||
*** 7631,7652 ****
|
||||
}
|
||||
#endif
|
||||
|
||||
! /* 'number', 'relativenumber' */
|
||||
! else if ((int *)varp == &curwin->w_p_nu
|
||||
! || (int *)varp == &curwin->w_p_rnu)
|
||||
{
|
||||
! /* If 'number' is set, reset 'relativenumber'. */
|
||||
! /* If 'relativenumber' is set, reset 'number'. */
|
||||
! if ((int *)varp == &curwin->w_p_nu && curwin->w_p_nu)
|
||||
! {
|
||||
! curwin->w_p_rnu = FALSE;
|
||||
curwin->w_allbuf_opt.wo_rnu = FALSE;
|
||||
! }
|
||||
! if ((int *)varp == &curwin->w_p_rnu && curwin->w_p_rnu)
|
||||
! {
|
||||
! curwin->w_p_nu = FALSE;
|
||||
curwin->w_allbuf_opt.wo_nu = FALSE;
|
||||
! }
|
||||
}
|
||||
|
||||
else if ((int *)varp == &curbuf->b_p_ro)
|
||||
--- 7631,7663 ----
|
||||
}
|
||||
#endif
|
||||
|
||||
! /* If 'number' is set, reset 'relativenumber'. */
|
||||
! /* If 'relativenumber' is set, reset 'number'. */
|
||||
! else if ((int *)varp == &curwin->w_p_nu && curwin->w_p_nu)
|
||||
{
|
||||
! curwin->w_p_rnu = FALSE;
|
||||
!
|
||||
! /* Only reset the global value if the own value is set globally. */
|
||||
! if (((opt_flags & (OPT_LOCAL | OPT_GLOBAL)) == 0))
|
||||
curwin->w_allbuf_opt.wo_rnu = FALSE;
|
||||
! }
|
||||
! else if ((int *)varp == &curwin->w_p_rnu && curwin->w_p_rnu)
|
||||
! {
|
||||
! curwin->w_p_nu = FALSE;
|
||||
!
|
||||
! /* Only reset the global value if the own value is set globally. */
|
||||
! if (((opt_flags & (OPT_LOCAL | OPT_GLOBAL)) == 0))
|
||||
curwin->w_allbuf_opt.wo_nu = FALSE;
|
||||
! }
|
||||
! else if ((int *)varp == &curwin->w_allbuf_opt.wo_nu
|
||||
! && curwin->w_allbuf_opt.wo_nu)
|
||||
! {
|
||||
! curwin->w_allbuf_opt.wo_rnu = FALSE;
|
||||
! }
|
||||
! else if ((int *)varp == &curwin->w_allbuf_opt.wo_rnu
|
||||
! && curwin->w_allbuf_opt.wo_rnu)
|
||||
! {
|
||||
! curwin->w_allbuf_opt.wo_nu = FALSE;
|
||||
}
|
||||
|
||||
else if ((int *)varp == &curbuf->b_p_ro)
|
||||
*** ../vim-7.3.860/src/version.c 2013-03-13 20:23:17.000000000 +0100
|
||||
--- src/version.c 2013-03-13 20:42:09.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 861,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
43. You tell the kids they can't use the computer because "Daddy's got work to
|
||||
do" and you don't even have a job.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
215
7.3.862
Normal file
215
7.3.862
Normal file
@ -0,0 +1,215 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.862
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.862
|
||||
Problem: Dragging the status line can be slow.
|
||||
Solution: Look ahead and drop the drag event if there is a next one.
|
||||
Files: src/eval.c, src/misc1.c, src/proto/misc1.pro, src/normal.c
|
||||
|
||||
|
||||
*** ../vim-7.3.861/src/eval.c 2013-02-26 21:43:28.000000000 +0100
|
||||
--- src/eval.c 2013-03-16 14:02:36.000000000 +0100
|
||||
***************
|
||||
*** 11238,11264 ****
|
||||
rettv->vval.v_string = vim_strsave(temp);
|
||||
|
||||
#ifdef FEAT_MOUSE
|
||||
! if (n == K_LEFTMOUSE
|
||||
! || n == K_LEFTMOUSE_NM
|
||||
! || n == K_LEFTDRAG
|
||||
! || n == K_LEFTRELEASE
|
||||
! || n == K_LEFTRELEASE_NM
|
||||
! || n == K_MIDDLEMOUSE
|
||||
! || n == K_MIDDLEDRAG
|
||||
! || n == K_MIDDLERELEASE
|
||||
! || n == K_RIGHTMOUSE
|
||||
! || n == K_RIGHTDRAG
|
||||
! || n == K_RIGHTRELEASE
|
||||
! || n == K_X1MOUSE
|
||||
! || n == K_X1DRAG
|
||||
! || n == K_X1RELEASE
|
||||
! || n == K_X2MOUSE
|
||||
! || n == K_X2DRAG
|
||||
! || n == K_X2RELEASE
|
||||
! || n == K_MOUSELEFT
|
||||
! || n == K_MOUSERIGHT
|
||||
! || n == K_MOUSEDOWN
|
||||
! || n == K_MOUSEUP)
|
||||
{
|
||||
int row = mouse_row;
|
||||
int col = mouse_col;
|
||||
--- 11238,11244 ----
|
||||
rettv->vval.v_string = vim_strsave(temp);
|
||||
|
||||
#ifdef FEAT_MOUSE
|
||||
! if (is_mouse_key(n))
|
||||
{
|
||||
int row = mouse_row;
|
||||
int col = mouse_col;
|
||||
*** ../vim-7.3.861/src/misc1.c 2013-03-13 17:01:47.000000000 +0100
|
||||
--- src/misc1.c 2013-03-16 14:08:05.000000000 +0100
|
||||
***************
|
||||
*** 3288,3293 ****
|
||||
--- 3288,3325 ----
|
||||
return r;
|
||||
}
|
||||
|
||||
+ #if defined(FEAT_MOUSE) || defined(PROTO)
|
||||
+ /*
|
||||
+ * Return TRUE if "c" is a mouse key.
|
||||
+ */
|
||||
+ int
|
||||
+ is_mouse_key(c)
|
||||
+ int c;
|
||||
+ {
|
||||
+ return c == K_LEFTMOUSE
|
||||
+ || c == K_LEFTMOUSE_NM
|
||||
+ || c == K_LEFTDRAG
|
||||
+ || c == K_LEFTRELEASE
|
||||
+ || c == K_LEFTRELEASE_NM
|
||||
+ || c == K_MIDDLEMOUSE
|
||||
+ || c == K_MIDDLEDRAG
|
||||
+ || c == K_MIDDLERELEASE
|
||||
+ || c == K_RIGHTMOUSE
|
||||
+ || c == K_RIGHTDRAG
|
||||
+ || c == K_RIGHTRELEASE
|
||||
+ || c == K_MOUSEDOWN
|
||||
+ || c == K_MOUSEUP
|
||||
+ || c == K_MOUSELEFT
|
||||
+ || c == K_MOUSERIGHT
|
||||
+ || c == K_X1MOUSE
|
||||
+ || c == K_X1DRAG
|
||||
+ || c == K_X1RELEASE
|
||||
+ || c == K_X2MOUSE
|
||||
+ || c == K_X2DRAG
|
||||
+ || c == K_X2RELEASE;
|
||||
+ }
|
||||
+ #endif
|
||||
+
|
||||
/*
|
||||
* Get a key stroke directly from the user.
|
||||
* Ignores mouse clicks and scrollbar events, except a click for the left
|
||||
***************
|
||||
*** 3373,3403 ****
|
||||
n = TO_SPECIAL(buf[1], buf[2]);
|
||||
if (buf[1] == KS_MODIFIER
|
||||
|| n == K_IGNORE
|
||||
! #ifdef FEAT_MOUSE
|
||||
! || n == K_LEFTMOUSE_NM
|
||||
! || n == K_LEFTDRAG
|
||||
! || n == K_LEFTRELEASE
|
||||
! || n == K_LEFTRELEASE_NM
|
||||
! || n == K_MIDDLEMOUSE
|
||||
! || n == K_MIDDLEDRAG
|
||||
! || n == K_MIDDLERELEASE
|
||||
! || n == K_RIGHTMOUSE
|
||||
! || n == K_RIGHTDRAG
|
||||
! || n == K_RIGHTRELEASE
|
||||
! || n == K_MOUSEDOWN
|
||||
! || n == K_MOUSEUP
|
||||
! || n == K_MOUSELEFT
|
||||
! || n == K_MOUSERIGHT
|
||||
! || n == K_X1MOUSE
|
||||
! || n == K_X1DRAG
|
||||
! || n == K_X1RELEASE
|
||||
! || n == K_X2MOUSE
|
||||
! || n == K_X2DRAG
|
||||
! || n == K_X2RELEASE
|
||||
! # ifdef FEAT_GUI
|
||||
|| n == K_VER_SCROLLBAR
|
||||
|| n == K_HOR_SCROLLBAR
|
||||
- # endif
|
||||
#endif
|
||||
)
|
||||
{
|
||||
--- 3405,3414 ----
|
||||
n = TO_SPECIAL(buf[1], buf[2]);
|
||||
if (buf[1] == KS_MODIFIER
|
||||
|| n == K_IGNORE
|
||||
! || (is_mouse_key(n) && n != K_LEFTMOUSE)
|
||||
! #ifdef FEAT_GUI
|
||||
|| n == K_VER_SCROLLBAR
|
||||
|| n == K_HOR_SCROLLBAR
|
||||
#endif
|
||||
)
|
||||
{
|
||||
*** ../vim-7.3.861/src/proto/misc1.pro 2012-11-20 16:56:49.000000000 +0100
|
||||
--- src/proto/misc1.pro 2013-03-16 14:02:33.000000000 +0100
|
||||
***************
|
||||
*** 42,47 ****
|
||||
--- 42,48 ----
|
||||
void check_status __ARGS((buf_T *buf));
|
||||
void change_warning __ARGS((int col));
|
||||
int ask_yesno __ARGS((char_u *str, int direct));
|
||||
+ int is_mouse_key __ARGS((int c));
|
||||
int get_keystroke __ARGS((void));
|
||||
int get_number __ARGS((int colon, int *mouse_used));
|
||||
int prompt_for_number __ARGS((int *mouse_used));
|
||||
*** ../vim-7.3.861/src/normal.c 2013-03-13 19:02:37.000000000 +0100
|
||||
--- src/normal.c 2013-03-16 14:09:34.000000000 +0100
|
||||
***************
|
||||
*** 2443,2449 ****
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
! which_button = get_mouse_button(KEY2TERMCAP1(c), &is_click, &is_drag);
|
||||
|
||||
#ifdef FEAT_MOUSESHAPE
|
||||
/* May have stopped dragging the status or separator line. The pointer is
|
||||
--- 2443,2473 ----
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
! for (;;)
|
||||
! {
|
||||
! which_button = get_mouse_button(KEY2TERMCAP1(c), &is_click, &is_drag);
|
||||
! if (is_drag)
|
||||
! {
|
||||
! /* If the next character is the same mouse event then use that
|
||||
! * one. Speeds up dragging the status line. */
|
||||
! if (vpeekc() != NUL)
|
||||
! {
|
||||
! int nc;
|
||||
! int save_mouse_row = mouse_row;
|
||||
! int save_mouse_col = mouse_col;
|
||||
!
|
||||
! /* Need to get the character, peeking doesn't get the actual
|
||||
! * one. */
|
||||
! nc = safe_vgetc();
|
||||
! if (c == nc)
|
||||
! continue;
|
||||
! vungetc(nc);
|
||||
! mouse_row = save_mouse_row;
|
||||
! mouse_col = save_mouse_col;
|
||||
! }
|
||||
! }
|
||||
! break;
|
||||
! }
|
||||
|
||||
#ifdef FEAT_MOUSESHAPE
|
||||
/* May have stopped dragging the status or separator line. The pointer is
|
||||
*** ../vim-7.3.861/src/version.c 2013-03-13 20:42:28.000000000 +0100
|
||||
--- src/version.c 2013-03-16 14:18:36.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 862,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
53. To find out what time it is, you send yourself an e-mail and check the
|
||||
"Date:" field.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
91
7.3.863
Normal file
91
7.3.863
Normal file
@ -0,0 +1,91 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.863
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.863 (after 7.3.859)
|
||||
Problem: Problem with 'ambiwidth' detection for ANSI terminal.
|
||||
Solution: Work around not recognizing a term response. (Hayaki Saito)
|
||||
Files: src/term.c
|
||||
|
||||
|
||||
*** ../vim-7.3.862/src/term.c 2013-03-13 19:29:24.000000000 +0100
|
||||
--- src/term.c 2013-03-16 14:29:00.000000000 +0100
|
||||
***************
|
||||
*** 3926,3933 ****
|
||||
* Check at several positions in typebuf.tb_buf[], to catch something like
|
||||
* "x<Up>" that can be mapped. Stop at max_offset, because characters
|
||||
* after that cannot be used for mapping, and with @r commands
|
||||
! * typebuf.tb_buf[]
|
||||
! * can become very long.
|
||||
* This is used often, KEEP IT FAST!
|
||||
*/
|
||||
for (offset = 0; offset < max_offset; ++offset)
|
||||
--- 3926,3932 ----
|
||||
* Check at several positions in typebuf.tb_buf[], to catch something like
|
||||
* "x<Up>" that can be mapped. Stop at max_offset, because characters
|
||||
* after that cannot be used for mapping, and with @r commands
|
||||
! * typebuf.tb_buf[] can become very long.
|
||||
* This is used often, KEEP IT FAST!
|
||||
*/
|
||||
for (offset = 0; offset < max_offset; ++offset)
|
||||
***************
|
||||
*** 4098,4104 ****
|
||||
#ifdef FEAT_TERMRESPONSE
|
||||
if (key_name[0] == NUL
|
||||
/* URXVT mouse uses <ESC>[#;#;#M, but we are matching <ESC>[ */
|
||||
! || key_name[0] == KS_URXVT_MOUSE)
|
||||
{
|
||||
/* Check for some responses from terminal start with "<Esc>[" or
|
||||
* CSI.
|
||||
--- 4097,4107 ----
|
||||
#ifdef FEAT_TERMRESPONSE
|
||||
if (key_name[0] == NUL
|
||||
/* URXVT mouse uses <ESC>[#;#;#M, but we are matching <ESC>[ */
|
||||
! || key_name[0] == KS_URXVT_MOUSE
|
||||
! # ifdef FEAT_MBYTE
|
||||
! || u7_status == U7_SENT
|
||||
! # endif
|
||||
! )
|
||||
{
|
||||
/* Check for some responses from terminal start with "<Esc>[" or
|
||||
* CSI.
|
||||
***************
|
||||
*** 4129,4135 ****
|
||||
|
||||
#ifdef FEAT_MBYTE
|
||||
/* eat it when it has 2 arguments and ends in 'R' */
|
||||
! if (u7_status == U7_SENT && j == 1 && tp[i] == 'R')
|
||||
{
|
||||
char *p = NULL;
|
||||
|
||||
--- 4132,4138 ----
|
||||
|
||||
#ifdef FEAT_MBYTE
|
||||
/* eat it when it has 2 arguments and ends in 'R' */
|
||||
! if (j == 1 && tp[i] == 'R')
|
||||
{
|
||||
char *p = NULL;
|
||||
|
||||
*** ../vim-7.3.862/src/version.c 2013-03-16 14:20:45.000000000 +0100
|
||||
--- src/version.c 2013-03-16 14:33:16.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 863,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
54. You start tilting your head sideways to smile. :-)
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
48
7.3.864
Normal file
48
7.3.864
Normal file
@ -0,0 +1,48 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.864
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.864 (after 7.3.862)
|
||||
Problem: Can't build without the mouse feature.
|
||||
Solution: Add an #ifdef. (Ike Devolder)
|
||||
Files: src/misc1.c
|
||||
|
||||
|
||||
*** ../vim-7.3.863/src/misc1.c 2013-03-16 14:20:45.000000000 +0100
|
||||
--- src/misc1.c 2013-03-16 21:33:08.000000000 +0100
|
||||
***************
|
||||
*** 3405,3411 ****
|
||||
--- 3405,3413 ----
|
||||
n = TO_SPECIAL(buf[1], buf[2]);
|
||||
if (buf[1] == KS_MODIFIER
|
||||
|| n == K_IGNORE
|
||||
+ #ifdef FEAT_MOUSE
|
||||
|| (is_mouse_key(n) && n != K_LEFTMOUSE)
|
||||
+ #endif
|
||||
#ifdef FEAT_GUI
|
||||
|| n == K_VER_SCROLLBAR
|
||||
|| n == K_HOR_SCROLLBAR
|
||||
*** ../vim-7.3.863/src/version.c 2013-03-16 14:33:32.000000000 +0100
|
||||
--- src/version.c 2013-03-16 21:34:15.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 864,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
57. You begin to wonder how on earth your service provider is allowed to call
|
||||
200 hours per month "unlimited."
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
74
7.3.865
Normal file
74
7.3.865
Normal file
@ -0,0 +1,74 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.865
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.865 (after 7.3.862)
|
||||
Problem: Mouse position may be wrong.
|
||||
Solution: Let vungetc() restore the mouse position.
|
||||
Files: src/getchar.c
|
||||
|
||||
|
||||
*** ../vim-7.3.864/src/getchar.c 2012-06-06 12:06:10.000000000 +0200
|
||||
--- src/getchar.c 2013-03-16 21:41:02.000000000 +0100
|
||||
***************
|
||||
*** 1337,1342 ****
|
||||
--- 1337,1346 ----
|
||||
|
||||
static int old_char = -1; /* character put back by vungetc() */
|
||||
static int old_mod_mask; /* mod_mask for ungotten character */
|
||||
+ #ifdef FEAT_MOUSE
|
||||
+ static int old_mouse_row; /* mouse_row related to old_char */
|
||||
+ static int old_mouse_col; /* mouse_col related to old_char */
|
||||
+ #endif
|
||||
|
||||
#if defined(FEAT_EVAL) || defined(FEAT_EX_EXTRA) || defined(PROTO)
|
||||
|
||||
***************
|
||||
*** 1567,1572 ****
|
||||
--- 1571,1580 ----
|
||||
c = old_char;
|
||||
old_char = -1;
|
||||
mod_mask = old_mod_mask;
|
||||
+ #ifdef FEAT_MOUSE
|
||||
+ mouse_row = old_mouse_row;
|
||||
+ mouse_col = old_mouse_col;
|
||||
+ #endif
|
||||
}
|
||||
else
|
||||
{
|
||||
***************
|
||||
*** 1877,1882 ****
|
||||
--- 1885,1894 ----
|
||||
{
|
||||
old_char = c;
|
||||
old_mod_mask = mod_mask;
|
||||
+ #ifdef FEAT_MOUSE
|
||||
+ old_mouse_row = mouse_row;
|
||||
+ old_mouse_col = mouse_col;
|
||||
+ #endif
|
||||
}
|
||||
|
||||
/*
|
||||
*** ../vim-7.3.864/src/version.c 2013-03-16 21:35:28.000000000 +0100
|
||||
--- src/version.c 2013-03-16 21:38:44.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 865,
|
||||
/**/
|
||||
|
||||
--
|
||||
Creating the world with Emacs: M-x let-there-be-light
|
||||
Creating the world with Vim: :make world
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
196
7.3.866
Normal file
196
7.3.866
Normal file
@ -0,0 +1,196 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.866
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.866
|
||||
Problem: Not serving the X selection during system() isn't nice.
|
||||
Solution: When using fork() do not loose the selection, keep serving it.
|
||||
Add a loop similar to handling I/O. (Yukihiro Nakadaira)
|
||||
Files: src/os_unix.c
|
||||
|
||||
|
||||
*** ../vim-7.3.865/src/os_unix.c 2013-03-13 17:50:20.000000000 +0100
|
||||
--- src/os_unix.c 2013-03-19 12:34:04.000000000 +0100
|
||||
***************
|
||||
*** 132,137 ****
|
||||
--- 132,138 ----
|
||||
# include <X11/Shell.h>
|
||||
# include <X11/StringDefs.h>
|
||||
static Widget xterm_Shell = (Widget)0;
|
||||
+ static void clip_update __ARGS((void));
|
||||
static void xterm_update __ARGS((void));
|
||||
# endif
|
||||
|
||||
***************
|
||||
*** 1138,1148 ****
|
||||
--- 1139,1151 ----
|
||||
|
||||
# if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
|
||||
static void loose_clipboard __ARGS((void));
|
||||
+ # ifdef USE_SYSTEM
|
||||
static void save_clipboard __ARGS((void));
|
||||
static void restore_clipboard __ARGS((void));
|
||||
|
||||
static void *clip_star_save = NULL;
|
||||
static void *clip_plus_save = NULL;
|
||||
+ # endif
|
||||
|
||||
/*
|
||||
* Called when Vim is going to sleep or execute a shell command.
|
||||
***************
|
||||
*** 1164,1169 ****
|
||||
--- 1167,1173 ----
|
||||
}
|
||||
}
|
||||
|
||||
+ # ifdef USE_SYSTEM
|
||||
/*
|
||||
* Save clipboard text to restore later.
|
||||
*/
|
||||
***************
|
||||
*** 1199,1204 ****
|
||||
--- 1203,1209 ----
|
||||
clip_plus_save = NULL;
|
||||
}
|
||||
}
|
||||
+ # endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
***************
|
||||
*** 4009,4021 ****
|
||||
if (options & SHELL_COOKED)
|
||||
settmode(TMODE_COOK); /* set to normal mode */
|
||||
|
||||
- # if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
|
||||
- /* Disown the clipboard, because is the executed command tries to obtain a
|
||||
- * selection and we own it we get a deadlock. */
|
||||
- save_clipboard();
|
||||
- loose_clipboard();
|
||||
- # endif
|
||||
-
|
||||
/*
|
||||
* Do this loop twice:
|
||||
* 1: find number of arguments
|
||||
--- 4014,4019 ----
|
||||
***************
|
||||
*** 4788,4793 ****
|
||||
--- 4786,4796 ----
|
||||
}
|
||||
else
|
||||
wait_pid = 0;
|
||||
+
|
||||
+ # if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
|
||||
+ /* Handle any X events, e.g. serving the clipboard. */
|
||||
+ clip_update();
|
||||
+ # endif
|
||||
}
|
||||
finished:
|
||||
p_more = p_more_save;
|
||||
***************
|
||||
*** 4814,4819 ****
|
||||
--- 4817,4861 ----
|
||||
close(toshell_fd);
|
||||
close(fromshell_fd);
|
||||
}
|
||||
+ # if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
|
||||
+ else
|
||||
+ {
|
||||
+ /*
|
||||
+ * Similar to the loop above, but only handle X events, no
|
||||
+ * I/O.
|
||||
+ */
|
||||
+ for (;;)
|
||||
+ {
|
||||
+ if (got_int)
|
||||
+ {
|
||||
+ /* CTRL-C sends a signal to the child, we ignore it
|
||||
+ * ourselves */
|
||||
+ # ifdef HAVE_SETSID
|
||||
+ kill(-pid, SIGINT);
|
||||
+ # else
|
||||
+ kill(0, SIGINT);
|
||||
+ # endif
|
||||
+ got_int = FALSE;
|
||||
+ }
|
||||
+ # ifdef __NeXT__
|
||||
+ wait_pid = wait4(pid, &status, WNOHANG, (struct rusage *)0);
|
||||
+ # else
|
||||
+ wait_pid = waitpid(pid, &status, WNOHANG);
|
||||
+ # endif
|
||||
+ if ((wait_pid == (pid_t)-1 && errno == ECHILD)
|
||||
+ || (wait_pid == pid && WIFEXITED(status)))
|
||||
+ {
|
||||
+ wait_pid = pid;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ /* Handle any X events, e.g. serving the clipboard. */
|
||||
+ clip_update();
|
||||
+
|
||||
+ mch_delay(10L, TRUE);
|
||||
+ }
|
||||
+ }
|
||||
+ # endif
|
||||
|
||||
/*
|
||||
* Wait until our child has exited.
|
||||
***************
|
||||
*** 4884,4892 ****
|
||||
# ifdef FEAT_TITLE
|
||||
resettitle();
|
||||
# endif
|
||||
- # if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
|
||||
- restore_clipboard();
|
||||
- # endif
|
||||
vim_free(newcmd);
|
||||
|
||||
return retval;
|
||||
--- 4926,4931 ----
|
||||
***************
|
||||
*** 6868,6873 ****
|
||||
--- 6907,6927 ----
|
||||
# endif
|
||||
|
||||
/*
|
||||
+ * Catch up with GUI or X events.
|
||||
+ */
|
||||
+ static void
|
||||
+ clip_update()
|
||||
+ {
|
||||
+ # ifdef FEAT_GUI
|
||||
+ if (gui.in_use)
|
||||
+ gui_mch_update();
|
||||
+ else
|
||||
+ # endif
|
||||
+ if (xterm_Shell != (Widget)0)
|
||||
+ xterm_update();
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
* Catch up with any queued X events. This may put keyboard input into the
|
||||
* input buffer, call resize call-backs, trigger timers etc. If there is
|
||||
* nothing in the X event queue (& no timers pending), then we return
|
||||
*** ../vim-7.3.865/src/version.c 2013-03-16 21:42:12.000000000 +0100
|
||||
--- src/version.c 2013-03-19 12:30:16.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 866,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
71. You wonder how people walk
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
279
7.3.867
Normal file
279
7.3.867
Normal file
@ -0,0 +1,279 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.867
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.867
|
||||
Problem: Matchparen does not update match when using auto-indenting.
|
||||
(Marc Aldorasi)
|
||||
Solution: Add the TextChanged and TextChangedI autocommand events.
|
||||
Files: runtime/plugin/matchparen.vim, src/main.c, src/edit.c,
|
||||
src/globals.h, src/vim.h, src/fileio.c, src/proto/fileio.pro,
|
||||
runtime/doc/autocmd.txt
|
||||
|
||||
|
||||
*** ../vim-7.3.866/runtime/plugin/matchparen.vim 2010-08-15 21:57:19.000000000 +0200
|
||||
--- runtime/plugin/matchparen.vim 2013-03-19 13:16:46.000000000 +0100
|
||||
***************
|
||||
*** 1,6 ****
|
||||
" Vim plugin for showing matching parens
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
! " Last Change: 2008 Sep 03
|
||||
|
||||
" Exit quickly when:
|
||||
" - this plugin was already loaded (or disabled)
|
||||
--- 1,6 ----
|
||||
" Vim plugin for showing matching parens
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
! " Last Change: 2013 Mar 19
|
||||
|
||||
" Exit quickly when:
|
||||
" - this plugin was already loaded (or disabled)
|
||||
***************
|
||||
*** 14,19 ****
|
||||
--- 14,22 ----
|
||||
augroup matchparen
|
||||
" Replace all matchparen autocommands
|
||||
autocmd! CursorMoved,CursorMovedI,WinEnter * call s:Highlight_Matching_Pair()
|
||||
+ if exists('##TextChanged')
|
||||
+ autocmd! TextChanged,TextChangedI * call s:Highlight_Matching_Pair()
|
||||
+ endif
|
||||
augroup END
|
||||
|
||||
" Skip the rest if it was already done.
|
||||
***************
|
||||
*** 82,89 ****
|
||||
endif
|
||||
|
||||
" When not in a string or comment ignore matches inside them.
|
||||
let s_skip ='synIDattr(synID(line("."), col("."), 0), "name") ' .
|
||||
! \ '=~? "string\\|character\\|singlequote\\|comment"'
|
||||
execute 'if' s_skip '| let s_skip = 0 | endif'
|
||||
|
||||
" Limit the search to lines visible in the window.
|
||||
--- 85,93 ----
|
||||
endif
|
||||
|
||||
" When not in a string or comment ignore matches inside them.
|
||||
+ " We match "escape" for special items, such as lispEscapeSpecial.
|
||||
let s_skip ='synIDattr(synID(line("."), col("."), 0), "name") ' .
|
||||
! \ '=~? "string\\|character\\|singlequote\\|escape\\|comment"'
|
||||
execute 'if' s_skip '| let s_skip = 0 | endif'
|
||||
|
||||
" Limit the search to lines visible in the window.
|
||||
*** ../vim-7.3.866/src/main.c 2013-03-13 20:23:17.000000000 +0100
|
||||
--- src/main.c 2013-03-19 13:00:34.000000000 +0100
|
||||
***************
|
||||
*** 1168,1173 ****
|
||||
--- 1168,1186 ----
|
||||
}
|
||||
#endif
|
||||
|
||||
+ #ifdef FEAT_AUTOCMD
|
||||
+ /* Trigger TextChanged if b_changedtick differs. */
|
||||
+ if (!finish_op && has_textchanged()
|
||||
+ && last_changedtick != curbuf->b_changedtick)
|
||||
+ {
|
||||
+ if (last_changedtick_buf == curbuf)
|
||||
+ apply_autocmds(EVENT_TEXTCHANGED, NULL, NULL,
|
||||
+ FALSE, curbuf);
|
||||
+ last_changedtick_buf = curbuf;
|
||||
+ last_changedtick = curbuf->b_changedtick;
|
||||
+ }
|
||||
+ #endif
|
||||
+
|
||||
#if defined(FEAT_DIFF) && defined(FEAT_SCROLLBIND)
|
||||
/* Scroll-binding for diff mode may have been postponed until
|
||||
* here. Avoids doing it for every change. */
|
||||
*** ../vim-7.3.866/src/edit.c 2013-03-07 19:38:49.000000000 +0100
|
||||
--- src/edit.c 2013-03-19 13:08:46.000000000 +0100
|
||||
***************
|
||||
*** 1593,1598 ****
|
||||
--- 1593,1613 ----
|
||||
last_cursormoved = curwin->w_cursor;
|
||||
}
|
||||
#endif
|
||||
+ #ifdef FEAT_AUTOCMD
|
||||
+ /* Trigger TextChangedI if b_changedtick differs. */
|
||||
+ if (!ready && has_textchangedI()
|
||||
+ && last_changedtick != curbuf->b_changedtick
|
||||
+ # ifdef FEAT_INS_EXPAND
|
||||
+ && !pum_visible()
|
||||
+ # endif
|
||||
+ )
|
||||
+ {
|
||||
+ if (last_changedtick_buf == curbuf)
|
||||
+ apply_autocmds(EVENT_TEXTCHANGEDI, NULL, NULL, FALSE, curbuf);
|
||||
+ last_changedtick_buf = curbuf;
|
||||
+ last_changedtick = curbuf->b_changedtick;
|
||||
+ }
|
||||
+ #endif
|
||||
if (must_redraw)
|
||||
update_screen(0);
|
||||
else if (clear_cmdline || redraw_cmdline)
|
||||
*** ../vim-7.3.866/src/globals.h 2013-02-26 14:56:24.000000000 +0100
|
||||
--- src/globals.h 2013-03-19 13:11:35.000000000 +0100
|
||||
***************
|
||||
*** 1057,1067 ****
|
||||
EXTERN int autocmd_bufnr INIT(= 0); /* fnum for <abuf> on cmdline */
|
||||
EXTERN char_u *autocmd_match INIT(= NULL); /* name for <amatch> on cmdline */
|
||||
EXTERN int did_cursorhold INIT(= FALSE); /* set when CursorHold t'gerd */
|
||||
! EXTERN pos_T last_cursormoved /* for CursorMoved event */
|
||||
# ifdef DO_INIT
|
||||
= INIT_POS_T(0, 0, 0)
|
||||
# endif
|
||||
;
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_WINDOWS
|
||||
--- 1057,1069 ----
|
||||
EXTERN int autocmd_bufnr INIT(= 0); /* fnum for <abuf> on cmdline */
|
||||
EXTERN char_u *autocmd_match INIT(= NULL); /* name for <amatch> on cmdline */
|
||||
EXTERN int did_cursorhold INIT(= FALSE); /* set when CursorHold t'gerd */
|
||||
! EXTERN pos_T last_cursormoved /* for CursorMoved event */
|
||||
# ifdef DO_INIT
|
||||
= INIT_POS_T(0, 0, 0)
|
||||
# endif
|
||||
;
|
||||
+ EXTERN int last_changedtick INIT(= 0); /* for TextChanged event */
|
||||
+ EXTERN buf_T *last_changedtick_buf INIT(= NULL);
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_WINDOWS
|
||||
*** ../vim-7.3.866/src/vim.h 2013-02-26 14:56:24.000000000 +0100
|
||||
--- src/vim.h 2013-03-19 13:07:00.000000000 +0100
|
||||
***************
|
||||
*** 1300,1305 ****
|
||||
--- 1300,1307 ----
|
||||
EVENT_TABENTER, /* after entering a tab page */
|
||||
EVENT_SHELLCMDPOST, /* after ":!cmd" */
|
||||
EVENT_SHELLFILTERPOST, /* after ":1,2!cmd", ":w !cmd", ":r !cmd". */
|
||||
+ EVENT_TEXTCHANGED, /* text was modified */
|
||||
+ EVENT_TEXTCHANGEDI, /* text was modified in Insert mode*/
|
||||
NUM_EVENTS /* MUST be the last one */
|
||||
};
|
||||
|
||||
*** ../vim-7.3.866/src/fileio.c 2013-01-30 14:13:52.000000000 +0100
|
||||
--- src/fileio.c 2013-03-19 13:08:31.000000000 +0100
|
||||
***************
|
||||
*** 7713,7718 ****
|
||||
--- 7713,7720 ----
|
||||
{"TabLeave", EVENT_TABLEAVE},
|
||||
{"TermChanged", EVENT_TERMCHANGED},
|
||||
{"TermResponse", EVENT_TERMRESPONSE},
|
||||
+ {"TextChanged", EVENT_TEXTCHANGED},
|
||||
+ {"TextChangedI", EVENT_TEXTCHANGEDI},
|
||||
{"User", EVENT_USER},
|
||||
{"VimEnter", EVENT_VIMENTER},
|
||||
{"VimLeave", EVENT_VIMLEAVE},
|
||||
***************
|
||||
*** 9138,9143 ****
|
||||
--- 9140,9163 ----
|
||||
}
|
||||
|
||||
/*
|
||||
+ * Return TRUE when there is a TextChanged autocommand defined.
|
||||
+ */
|
||||
+ int
|
||||
+ has_textchanged()
|
||||
+ {
|
||||
+ return (first_autopat[(int)EVENT_TEXTCHANGED] != NULL);
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * Return TRUE when there is a TextChangedI autocommand defined.
|
||||
+ */
|
||||
+ int
|
||||
+ has_textchangedI()
|
||||
+ {
|
||||
+ return (first_autopat[(int)EVENT_TEXTCHANGEDI] != NULL);
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
* Return TRUE when there is an InsertCharPre autocommand defined.
|
||||
*/
|
||||
int
|
||||
*** ../vim-7.3.866/src/proto/fileio.pro 2012-12-05 19:13:11.000000000 +0100
|
||||
--- src/proto/fileio.pro 2013-03-19 13:10:13.000000000 +0100
|
||||
***************
|
||||
*** 44,49 ****
|
||||
--- 44,51 ----
|
||||
int trigger_cursorhold __ARGS((void));
|
||||
int has_cursormoved __ARGS((void));
|
||||
int has_cursormovedI __ARGS((void));
|
||||
+ int has_textchanged __ARGS((void));
|
||||
+ int has_textchangedI __ARGS((void));
|
||||
int has_insertcharpre __ARGS((void));
|
||||
void block_autocmds __ARGS((void));
|
||||
void unblock_autocmds __ARGS((void));
|
||||
*** ../vim-7.3.866/runtime/doc/autocmd.txt 2012-03-07 20:13:44.000000000 +0100
|
||||
--- runtime/doc/autocmd.txt 2013-03-19 13:22:37.000000000 +0100
|
||||
***************
|
||||
*** 805,817 ****
|
||||
TermResponse After the response to |t_RV| is received from
|
||||
the terminal. The value of |v:termresponse|
|
||||
can be used to do things depending on the
|
||||
! terminal version.
|
||||
*User*
|
||||
User Never executed automatically. To be used for
|
||||
autocommands that are only executed with
|
||||
":doautocmd".
|
||||
*UserGettingBored*
|
||||
! UserGettingBored When the user hits CTRL-C. Just kidding! :-)
|
||||
*VimEnter*
|
||||
VimEnter After doing all the startup stuff, including
|
||||
loading .vimrc files, executing the "-c cmd"
|
||||
--- 828,858 ----
|
||||
TermResponse After the response to |t_RV| is received from
|
||||
the terminal. The value of |v:termresponse|
|
||||
can be used to do things depending on the
|
||||
! terminal version. Note that this event may be
|
||||
! triggered halfway executing another event,
|
||||
! especially if file I/O, a shell command or
|
||||
! anything else that takes time is involved.
|
||||
! *TextChanged*
|
||||
! TextChanged After a change was made to the text in the
|
||||
! current buffer in Normal mode. That is when
|
||||
! |b:changedtick| has changed.
|
||||
! Not triggered when there is typeahead or when
|
||||
! an operator is pending.
|
||||
! Careful: This is triggered very often, don't
|
||||
! do anything that the user does not expect or
|
||||
! that is slow.
|
||||
! *TextChangedI*
|
||||
! TextChangedI After a change was made to the text in the
|
||||
! current buffer in Insert mode.
|
||||
! Not triggered when the popup menu is visible.
|
||||
! Otherwise the same as TextChanged.
|
||||
*User*
|
||||
User Never executed automatically. To be used for
|
||||
autocommands that are only executed with
|
||||
":doautocmd".
|
||||
*UserGettingBored*
|
||||
! UserGettingBored When the user presses the same key 42 times.
|
||||
! Just kidding! :-)
|
||||
*VimEnter*
|
||||
VimEnter After doing all the startup stuff, including
|
||||
loading .vimrc files, executing the "-c cmd"
|
||||
*** ../vim-7.3.866/src/version.c 2013-03-19 12:35:33.000000000 +0100
|
||||
--- src/version.c 2013-03-19 13:29:58.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 867,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
73. You give your dog used motherboards instead of bones
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
90
7.3.868
Normal file
90
7.3.868
Normal file
@ -0,0 +1,90 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.868
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.868
|
||||
Problem: When at the hit-return prompt and using "k" while no text has
|
||||
scrolled off screen, then using "j", an empty line is displayed.
|
||||
Solution: Only act on "k" when text scrolled off screen. Also accept
|
||||
page-up and page-down. (cptstubing)
|
||||
Files: src/message.c
|
||||
|
||||
|
||||
*** ../vim-7.3.867/src/message.c 2012-11-14 18:10:49.000000000 +0100
|
||||
--- src/message.c 2013-03-19 13:50:16.000000000 +0100
|
||||
***************
|
||||
*** 976,985 ****
|
||||
*/
|
||||
if (p_more && !p_cp)
|
||||
{
|
||||
! if (c == 'b' || c == 'k' || c == 'u' || c == 'g' || c == K_UP)
|
||||
{
|
||||
! /* scroll back to show older messages */
|
||||
! do_more_prompt(c);
|
||||
if (quit_more)
|
||||
{
|
||||
c = CAR; /* just pretend CR was hit */
|
||||
--- 976,997 ----
|
||||
*/
|
||||
if (p_more && !p_cp)
|
||||
{
|
||||
! if (c == 'b' || c == 'k' || c == 'u' || c == 'g'
|
||||
! || c == K_UP || c == K_PAGEUP)
|
||||
{
|
||||
! if (msg_scrolled > Rows)
|
||||
! /* scroll back to show older messages */
|
||||
! do_more_prompt(c);
|
||||
! else
|
||||
! {
|
||||
! msg_didout = FALSE;
|
||||
! c = K_IGNORE;
|
||||
! msg_col =
|
||||
! #ifdef FEAT_RIGHTLEFT
|
||||
! cmdmsg_rl ? Columns - 1 :
|
||||
! #endif
|
||||
! 0;
|
||||
! }
|
||||
if (quit_more)
|
||||
{
|
||||
c = CAR; /* just pretend CR was hit */
|
||||
***************
|
||||
*** 993,999 ****
|
||||
}
|
||||
}
|
||||
else if (msg_scrolled > Rows - 2
|
||||
! && (c == 'j' || c == K_DOWN || c == 'd' || c == 'f'))
|
||||
c = K_IGNORE;
|
||||
}
|
||||
} while ((had_got_int && c == Ctrl_C)
|
||||
--- 1005,1012 ----
|
||||
}
|
||||
}
|
||||
else if (msg_scrolled > Rows - 2
|
||||
! && (c == 'j' || c == 'd' || c == 'f'
|
||||
! || c == K_DOWN || c == K_PAGEDOWN))
|
||||
c = K_IGNORE;
|
||||
}
|
||||
} while ((had_got_int && c == Ctrl_C)
|
||||
*** ../vim-7.3.867/src/version.c 2013-03-19 13:33:18.000000000 +0100
|
||||
--- src/version.c 2013-03-19 13:53:02.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 868,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
74. Your most erotic dreams are about cybersex
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
358
7.3.869
Normal file
358
7.3.869
Normal file
@ -0,0 +1,358 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.869
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.869
|
||||
Problem: bufwinnr() matches buffers in other tabs.
|
||||
Solution: For bufwinnr() and ? only match buffers in the current tab.
|
||||
(Alexey Radkov)
|
||||
Files: src/buffer.c, src/diff.c, src/eval.c, src/ex_docmd.c,
|
||||
src/if_perl.xs, src/proto/buffer.pro
|
||||
|
||||
|
||||
*** ../vim-7.3.868/src/buffer.c 2013-02-17 15:45:34.000000000 +0100
|
||||
--- src/buffer.c 2013-03-19 14:19:17.000000000 +0100
|
||||
***************
|
||||
*** 928,934 ****
|
||||
if (!VIM_ISDIGIT(*arg))
|
||||
{
|
||||
p = skiptowhite_esc(arg);
|
||||
! bnr = buflist_findpat(arg, p, command == DOBUF_WIPE, FALSE);
|
||||
if (bnr < 0) /* failed */
|
||||
break;
|
||||
arg = p;
|
||||
--- 928,935 ----
|
||||
if (!VIM_ISDIGIT(*arg))
|
||||
{
|
||||
p = skiptowhite_esc(arg);
|
||||
! bnr = buflist_findpat(arg, p, command == DOBUF_WIPE,
|
||||
! FALSE, FALSE);
|
||||
if (bnr < 0) /* failed */
|
||||
break;
|
||||
arg = p;
|
||||
***************
|
||||
*** 2129,2146 ****
|
||||
return NULL;
|
||||
}
|
||||
|
||||
! #if defined(FEAT_LISTCMDS) || defined(FEAT_EVAL) || defined(FEAT_PERL) || defined(PROTO)
|
||||
/*
|
||||
* Find file in buffer list by a regexp pattern.
|
||||
* Return fnum of the found buffer.
|
||||
* Return < 0 for error.
|
||||
*/
|
||||
int
|
||||
! buflist_findpat(pattern, pattern_end, unlisted, diffmode)
|
||||
char_u *pattern;
|
||||
char_u *pattern_end; /* pointer to first char after pattern */
|
||||
int unlisted; /* find unlisted buffers */
|
||||
int diffmode UNUSED; /* find diff-mode buffers only */
|
||||
{
|
||||
buf_T *buf;
|
||||
regprog_T *prog;
|
||||
--- 2130,2149 ----
|
||||
return NULL;
|
||||
}
|
||||
|
||||
! #if defined(FEAT_LISTCMDS) || defined(FEAT_EVAL) || defined(FEAT_PERL) \
|
||||
! || defined(PROTO)
|
||||
/*
|
||||
* Find file in buffer list by a regexp pattern.
|
||||
* Return fnum of the found buffer.
|
||||
* Return < 0 for error.
|
||||
*/
|
||||
int
|
||||
! buflist_findpat(pattern, pattern_end, unlisted, diffmode, curtab_only)
|
||||
char_u *pattern;
|
||||
char_u *pattern_end; /* pointer to first char after pattern */
|
||||
int unlisted; /* find unlisted buffers */
|
||||
int diffmode UNUSED; /* find diff-mode buffers only */
|
||||
+ int curtab_only; /* find buffers in current tab only */
|
||||
{
|
||||
buf_T *buf;
|
||||
regprog_T *prog;
|
||||
***************
|
||||
*** 2208,2213 ****
|
||||
--- 2211,2233 ----
|
||||
#endif
|
||||
&& buflist_match(prog, buf) != NULL)
|
||||
{
|
||||
+ if (curtab_only)
|
||||
+ {
|
||||
+ /* Ignore the match if the buffer is not open in
|
||||
+ * the current tab. */
|
||||
+ #ifdef FEAT_WINDOWS
|
||||
+ win_T *wp;
|
||||
+
|
||||
+ for (wp = firstwin; wp != NULL; wp = wp->w_next)
|
||||
+ if (wp->w_buffer == buf)
|
||||
+ break;
|
||||
+ if (wp == NULL)
|
||||
+ continue;
|
||||
+ #else
|
||||
+ if (curwin->w_buffer != buf)
|
||||
+ continue;
|
||||
+ #endif
|
||||
+ }
|
||||
if (match >= 0) /* already found a match */
|
||||
{
|
||||
match = -2;
|
||||
*** ../vim-7.3.868/src/diff.c 2012-10-21 22:18:17.000000000 +0200
|
||||
--- src/diff.c 2013-03-19 14:11:40.000000000 +0100
|
||||
***************
|
||||
*** 2152,2158 ****
|
||||
i = atol((char *)eap->arg);
|
||||
else
|
||||
{
|
||||
! i = buflist_findpat(eap->arg, p, FALSE, TRUE);
|
||||
if (i < 0)
|
||||
return; /* error message already given */
|
||||
}
|
||||
--- 2152,2158 ----
|
||||
i = atol((char *)eap->arg);
|
||||
else
|
||||
{
|
||||
! i = buflist_findpat(eap->arg, p, FALSE, TRUE, FALSE);
|
||||
if (i < 0)
|
||||
return; /* error message already given */
|
||||
}
|
||||
*** ../vim-7.3.868/src/eval.c 2013-03-16 14:20:45.000000000 +0100
|
||||
--- src/eval.c 2013-03-19 14:11:40.000000000 +0100
|
||||
***************
|
||||
*** 9019,9032 ****
|
||||
rettv->vval.v_number = (buf != NULL && buf->b_ml.ml_mfp != NULL);
|
||||
}
|
||||
|
||||
! static buf_T *get_buf_tv __ARGS((typval_T *tv));
|
||||
|
||||
/*
|
||||
* Get buffer by number or pattern.
|
||||
*/
|
||||
static buf_T *
|
||||
! get_buf_tv(tv)
|
||||
typval_T *tv;
|
||||
{
|
||||
char_u *name = tv->vval.v_string;
|
||||
int save_magic;
|
||||
--- 9019,9033 ----
|
||||
rettv->vval.v_number = (buf != NULL && buf->b_ml.ml_mfp != NULL);
|
||||
}
|
||||
|
||||
! static buf_T *get_buf_tv __ARGS((typval_T *tv, int curtab_only));
|
||||
|
||||
/*
|
||||
* Get buffer by number or pattern.
|
||||
*/
|
||||
static buf_T *
|
||||
! get_buf_tv(tv, curtab_only)
|
||||
typval_T *tv;
|
||||
+ int curtab_only;
|
||||
{
|
||||
char_u *name = tv->vval.v_string;
|
||||
int save_magic;
|
||||
***************
|
||||
*** 9049,9055 ****
|
||||
p_cpo = (char_u *)"";
|
||||
|
||||
buf = buflist_findnr(buflist_findpat(name, name + STRLEN(name),
|
||||
! TRUE, FALSE));
|
||||
|
||||
p_magic = save_magic;
|
||||
p_cpo = save_cpo;
|
||||
--- 9050,9056 ----
|
||||
p_cpo = (char_u *)"";
|
||||
|
||||
buf = buflist_findnr(buflist_findpat(name, name + STRLEN(name),
|
||||
! TRUE, FALSE, curtab_only));
|
||||
|
||||
p_magic = save_magic;
|
||||
p_cpo = save_cpo;
|
||||
***************
|
||||
*** 9073,9079 ****
|
||||
|
||||
(void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
|
||||
++emsg_off;
|
||||
! buf = get_buf_tv(&argvars[0]);
|
||||
rettv->v_type = VAR_STRING;
|
||||
if (buf != NULL && buf->b_fname != NULL)
|
||||
rettv->vval.v_string = vim_strsave(buf->b_fname);
|
||||
--- 9074,9080 ----
|
||||
|
||||
(void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
|
||||
++emsg_off;
|
||||
! buf = get_buf_tv(&argvars[0], FALSE);
|
||||
rettv->v_type = VAR_STRING;
|
||||
if (buf != NULL && buf->b_fname != NULL)
|
||||
rettv->vval.v_string = vim_strsave(buf->b_fname);
|
||||
***************
|
||||
*** 9096,9102 ****
|
||||
|
||||
(void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
|
||||
++emsg_off;
|
||||
! buf = get_buf_tv(&argvars[0]);
|
||||
--emsg_off;
|
||||
|
||||
/* If the buffer isn't found and the second argument is not zero create a
|
||||
--- 9097,9103 ----
|
||||
|
||||
(void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
|
||||
++emsg_off;
|
||||
! buf = get_buf_tv(&argvars[0], FALSE);
|
||||
--emsg_off;
|
||||
|
||||
/* If the buffer isn't found and the second argument is not zero create a
|
||||
***************
|
||||
*** 9131,9137 ****
|
||||
|
||||
(void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
|
||||
++emsg_off;
|
||||
! buf = get_buf_tv(&argvars[0]);
|
||||
#ifdef FEAT_WINDOWS
|
||||
for (wp = firstwin; wp; wp = wp->w_next)
|
||||
{
|
||||
--- 9132,9138 ----
|
||||
|
||||
(void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
|
||||
++emsg_off;
|
||||
! buf = get_buf_tv(&argvars[0], TRUE);
|
||||
#ifdef FEAT_WINDOWS
|
||||
for (wp = firstwin; wp; wp = wp->w_next)
|
||||
{
|
||||
***************
|
||||
*** 11095,11101 ****
|
||||
|
||||
(void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
|
||||
++emsg_off;
|
||||
! buf = get_buf_tv(&argvars[0]);
|
||||
--emsg_off;
|
||||
|
||||
lnum = get_tv_lnum_buf(&argvars[1], buf);
|
||||
--- 11096,11102 ----
|
||||
|
||||
(void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
|
||||
++emsg_off;
|
||||
! buf = get_buf_tv(&argvars[0], FALSE);
|
||||
--emsg_off;
|
||||
|
||||
lnum = get_tv_lnum_buf(&argvars[1], buf);
|
||||
***************
|
||||
*** 11123,11129 ****
|
||||
(void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
|
||||
varname = get_tv_string_chk(&argvars[1]);
|
||||
++emsg_off;
|
||||
! buf = get_buf_tv(&argvars[0]);
|
||||
|
||||
if (argvars[2].v_type != VAR_UNKNOWN)
|
||||
/* set the default value */
|
||||
--- 11124,11130 ----
|
||||
(void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
|
||||
varname = get_tv_string_chk(&argvars[1]);
|
||||
++emsg_off;
|
||||
! buf = get_buf_tv(&argvars[0], FALSE);
|
||||
|
||||
if (argvars[2].v_type != VAR_UNKNOWN)
|
||||
/* set the default value */
|
||||
***************
|
||||
*** 16216,16222 ****
|
||||
return;
|
||||
(void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
|
||||
varname = get_tv_string_chk(&argvars[1]);
|
||||
! buf = get_buf_tv(&argvars[0]);
|
||||
varp = &argvars[2];
|
||||
|
||||
if (buf != NULL && varname != NULL && varp != NULL)
|
||||
--- 16217,16223 ----
|
||||
return;
|
||||
(void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
|
||||
varname = get_tv_string_chk(&argvars[1]);
|
||||
! buf = get_buf_tv(&argvars[0], FALSE);
|
||||
varp = &argvars[2];
|
||||
|
||||
if (buf != NULL && varname != NULL && varp != NULL)
|
||||
*** ../vim-7.3.868/src/ex_docmd.c 2013-03-13 18:30:39.000000000 +0100
|
||||
--- src/ex_docmd.c 2013-03-19 14:15:17.000000000 +0100
|
||||
***************
|
||||
*** 2645,2651 ****
|
||||
while (p > ea.arg && vim_iswhite(p[-1]))
|
||||
--p;
|
||||
}
|
||||
! ea.line2 = buflist_findpat(ea.arg, p, (ea.argt & BUFUNL) != 0, FALSE);
|
||||
if (ea.line2 < 0) /* failed */
|
||||
goto doend;
|
||||
ea.addr_count = 1;
|
||||
--- 2645,2652 ----
|
||||
while (p > ea.arg && vim_iswhite(p[-1]))
|
||||
--p;
|
||||
}
|
||||
! ea.line2 = buflist_findpat(ea.arg, p, (ea.argt & BUFUNL) != 0,
|
||||
! FALSE, FALSE);
|
||||
if (ea.line2 < 0) /* failed */
|
||||
goto doend;
|
||||
ea.addr_count = 1;
|
||||
*** ../vim-7.3.868/src/if_perl.xs 2013-02-14 22:19:47.000000000 +0100
|
||||
--- src/if_perl.xs 2013-03-19 14:15:46.000000000 +0100
|
||||
***************
|
||||
*** 1056,1062 ****
|
||||
|
||||
pat = (char_u *)SvPV(sv, len);
|
||||
++emsg_off;
|
||||
! b = buflist_findpat(pat, pat+len, FALSE, FALSE);
|
||||
--emsg_off;
|
||||
}
|
||||
|
||||
--- 1056,1062 ----
|
||||
|
||||
pat = (char_u *)SvPV(sv, len);
|
||||
++emsg_off;
|
||||
! b = buflist_findpat(pat, pat+len, FALSE, FALSE, FALSE);
|
||||
--emsg_off;
|
||||
}
|
||||
|
||||
*** ../vim-7.3.868/src/proto/buffer.pro 2012-10-03 18:24:55.000000000 +0200
|
||||
--- src/proto/buffer.pro 2013-03-19 14:16:22.000000000 +0100
|
||||
***************
|
||||
*** 17,23 ****
|
||||
void buflist_getfpos __ARGS((void));
|
||||
buf_T *buflist_findname_exp __ARGS((char_u *fname));
|
||||
buf_T *buflist_findname __ARGS((char_u *ffname));
|
||||
! int buflist_findpat __ARGS((char_u *pattern, char_u *pattern_end, int unlisted, int diffmode));
|
||||
int ExpandBufnames __ARGS((char_u *pat, int *num_file, char_u ***file, int options));
|
||||
buf_T *buflist_findnr __ARGS((int nr));
|
||||
char_u *buflist_nr2name __ARGS((int n, int fullname, int helptail));
|
||||
--- 17,23 ----
|
||||
void buflist_getfpos __ARGS((void));
|
||||
buf_T *buflist_findname_exp __ARGS((char_u *fname));
|
||||
buf_T *buflist_findname __ARGS((char_u *ffname));
|
||||
! int buflist_findpat __ARGS((char_u *pattern, char_u *pattern_end, int unlisted, int diffmode, int curtab_only));
|
||||
int ExpandBufnames __ARGS((char_u *pat, int *num_file, char_u ***file, int options));
|
||||
buf_T *buflist_findnr __ARGS((int nr));
|
||||
char_u *buflist_nr2name __ARGS((int n, int fullname, int helptail));
|
||||
*** ../vim-7.3.868/src/version.c 2013-03-19 13:56:03.000000000 +0100
|
||||
--- src/version.c 2013-03-19 14:23:42.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 869,
|
||||
/**/
|
||||
|
||||
--
|
||||
Proof techniques #2: Proof by Oddity.
|
||||
SAMPLE: To prove that horses have an infinite number of legs.
|
||||
(1) Horses have an even number of legs.
|
||||
(2) They have two legs in back and fore legs in front.
|
||||
(3) This makes a total of six legs, which certainly is an odd number of
|
||||
legs for a horse.
|
||||
(4) But the only number that is both odd and even is infinity.
|
||||
(5) Therefore, horses must have an infinite number of legs.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
203
7.3.870
Normal file
203
7.3.870
Normal file
@ -0,0 +1,203 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.870
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.870
|
||||
Problem: Compiler warnings when using MingW 4.5.3.
|
||||
Solution: Do not use MAKEINTRESOURCE. Adjust #if. (Ken Takata)
|
||||
Files: src/gui_w32.c, src/gui_w48.c, src/os_mswin.c, src/os_win32.c,
|
||||
src/os_win32.h
|
||||
|
||||
|
||||
*** ../vim-7.3.869/src/gui_w32.c 2012-11-20 16:53:34.000000000 +0100
|
||||
--- src/gui_w32.c 2013-03-19 14:45:24.000000000 +0100
|
||||
***************
|
||||
*** 1614,1620 ****
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_EVAL
|
||||
! # if _MSC_VER < 1400
|
||||
/* HandleToLong() only exists in compilers that can do 64 bit builds */
|
||||
# define HandleToLong(h) ((long)(h))
|
||||
# endif
|
||||
--- 1614,1620 ----
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_EVAL
|
||||
! # ifndef HandleToLong
|
||||
/* HandleToLong() only exists in compilers that can do 64 bit builds */
|
||||
# define HandleToLong(h) ((long)(h))
|
||||
# endif
|
||||
*** ../vim-7.3.869/src/gui_w48.c 2013-01-25 19:28:34.000000000 +0100
|
||||
--- src/gui_w48.c 2013-03-19 14:46:35.000000000 +0100
|
||||
***************
|
||||
*** 3265,3291 ****
|
||||
* misc2.c! */
|
||||
static LPCSTR mshape_idcs[] =
|
||||
{
|
||||
! MAKEINTRESOURCE(IDC_ARROW), /* arrow */
|
||||
! MAKEINTRESOURCE(0), /* blank */
|
||||
! MAKEINTRESOURCE(IDC_IBEAM), /* beam */
|
||||
! MAKEINTRESOURCE(IDC_SIZENS), /* updown */
|
||||
! MAKEINTRESOURCE(IDC_SIZENS), /* udsizing */
|
||||
! MAKEINTRESOURCE(IDC_SIZEWE), /* leftright */
|
||||
! MAKEINTRESOURCE(IDC_SIZEWE), /* lrsizing */
|
||||
! MAKEINTRESOURCE(IDC_WAIT), /* busy */
|
||||
#ifdef WIN3264
|
||||
! MAKEINTRESOURCE(IDC_NO), /* no */
|
||||
#else
|
||||
! MAKEINTRESOURCE(IDC_ICON), /* no */
|
||||
#endif
|
||||
! MAKEINTRESOURCE(IDC_ARROW), /* crosshair */
|
||||
! MAKEINTRESOURCE(IDC_ARROW), /* hand1 */
|
||||
! MAKEINTRESOURCE(IDC_ARROW), /* hand2 */
|
||||
! MAKEINTRESOURCE(IDC_ARROW), /* pencil */
|
||||
! MAKEINTRESOURCE(IDC_ARROW), /* question */
|
||||
! MAKEINTRESOURCE(IDC_ARROW), /* right-arrow */
|
||||
! MAKEINTRESOURCE(IDC_UPARROW), /* up-arrow */
|
||||
! MAKEINTRESOURCE(IDC_ARROW) /* last one */
|
||||
};
|
||||
|
||||
void
|
||||
--- 3265,3291 ----
|
||||
* misc2.c! */
|
||||
static LPCSTR mshape_idcs[] =
|
||||
{
|
||||
! IDC_ARROW, /* arrow */
|
||||
! MAKEINTRESOURCE(0), /* blank */
|
||||
! IDC_IBEAM, /* beam */
|
||||
! IDC_SIZENS, /* updown */
|
||||
! IDC_SIZENS, /* udsizing */
|
||||
! IDC_SIZEWE, /* leftright */
|
||||
! IDC_SIZEWE, /* lrsizing */
|
||||
! IDC_WAIT, /* busy */
|
||||
#ifdef WIN3264
|
||||
! IDC_NO, /* no */
|
||||
#else
|
||||
! IDC_ICON, /* no */
|
||||
#endif
|
||||
! IDC_ARROW, /* crosshair */
|
||||
! IDC_ARROW, /* hand1 */
|
||||
! IDC_ARROW, /* hand2 */
|
||||
! IDC_ARROW, /* pencil */
|
||||
! IDC_ARROW, /* question */
|
||||
! IDC_ARROW, /* right-arrow */
|
||||
! IDC_UPARROW, /* up-arrow */
|
||||
! IDC_ARROW /* last one */
|
||||
};
|
||||
|
||||
void
|
||||
***************
|
||||
*** 3298,3304 ****
|
||||
else
|
||||
{
|
||||
if (shape >= MSHAPE_NUMBERED)
|
||||
! idc = MAKEINTRESOURCE(IDC_ARROW);
|
||||
else
|
||||
idc = mshape_idcs[shape];
|
||||
#ifdef SetClassLongPtr
|
||||
--- 3298,3304 ----
|
||||
else
|
||||
{
|
||||
if (shape >= MSHAPE_NUMBERED)
|
||||
! idc = IDC_ARROW;
|
||||
else
|
||||
idc = mshape_idcs[shape];
|
||||
#ifdef SetClassLongPtr
|
||||
*** ../vim-7.3.869/src/os_mswin.c 2013-02-26 14:56:24.000000000 +0100
|
||||
--- src/os_mswin.c 2013-03-19 14:45:24.000000000 +0100
|
||||
***************
|
||||
*** 184,195 ****
|
||||
--- 184,197 ----
|
||||
}
|
||||
# endif
|
||||
|
||||
+ # if !defined(__MINGW32__) || (__GNUC__ < 4)
|
||||
int _chdrive(int drive)
|
||||
{
|
||||
char temp [3] = "-:";
|
||||
temp[0] = drive + 'A' - 1;
|
||||
return !SetCurrentDirectory(temp);
|
||||
}
|
||||
+ # endif
|
||||
#else
|
||||
# ifdef __BORLANDC__
|
||||
/* being a more ANSI compliant compiler, BorlandC doesn't define _stricoll:
|
||||
*** ../vim-7.3.869/src/os_win32.c 2013-02-26 14:56:24.000000000 +0100
|
||||
--- src/os_win32.c 2013-03-19 14:45:24.000000000 +0100
|
||||
***************
|
||||
*** 163,169 ****
|
||||
|
||||
/* Enable common dialogs input unicode from IME if posible. */
|
||||
#ifdef FEAT_MBYTE
|
||||
! LRESULT (WINAPI *pDispatchMessage)(LPMSG) = DispatchMessage;
|
||||
BOOL (WINAPI *pGetMessage)(LPMSG, HWND, UINT, UINT) = GetMessage;
|
||||
BOOL (WINAPI *pIsDialogMessage)(HWND, LPMSG) = IsDialogMessage;
|
||||
BOOL (WINAPI *pPeekMessage)(LPMSG, HWND, UINT, UINT, UINT) = PeekMessage;
|
||||
--- 163,169 ----
|
||||
|
||||
/* Enable common dialogs input unicode from IME if posible. */
|
||||
#ifdef FEAT_MBYTE
|
||||
! LRESULT (WINAPI *pDispatchMessage)(CONST MSG *) = DispatchMessage;
|
||||
BOOL (WINAPI *pGetMessage)(LPMSG, HWND, UINT, UINT) = GetMessage;
|
||||
BOOL (WINAPI *pIsDialogMessage)(HWND, LPMSG) = IsDialogMessage;
|
||||
BOOL (WINAPI *pPeekMessage)(LPMSG, HWND, UINT, UINT, UINT) = PeekMessage;
|
||||
***************
|
||||
*** 3464,3470 ****
|
||||
&& (lnum != curbuf->b_ml.ml_line_count
|
||||
|| curbuf->b_p_eol)))
|
||||
{
|
||||
! WriteFile(g_hChildStd_IN_Wr, "\n", 1, &ignored, NULL);
|
||||
}
|
||||
|
||||
++lnum;
|
||||
--- 3464,3470 ----
|
||||
&& (lnum != curbuf->b_ml.ml_line_count
|
||||
|| curbuf->b_p_eol)))
|
||||
{
|
||||
! WriteFile(g_hChildStd_IN_Wr, "\n", 1, (LPDWORD)&ignored, NULL);
|
||||
}
|
||||
|
||||
++lnum;
|
||||
*** ../vim-7.3.869/src/os_win32.h 2012-11-20 16:53:34.000000000 +0100
|
||||
--- src/os_win32.h 2013-03-19 14:45:24.000000000 +0100
|
||||
***************
|
||||
*** 204,210 ****
|
||||
/* Enable common dialogs input unicode from IME if posible. */
|
||||
#ifdef FEAT_MBYTE
|
||||
/* The variables are defined in os_win32.c. */
|
||||
! extern LRESULT (WINAPI *pDispatchMessage)(LPMSG);
|
||||
extern BOOL (WINAPI *pGetMessage)(LPMSG, HWND, UINT, UINT);
|
||||
extern BOOL (WINAPI *pIsDialogMessage)(HWND, LPMSG);
|
||||
extern BOOL (WINAPI *pPeekMessage)(LPMSG, HWND, UINT, UINT, UINT);
|
||||
--- 204,210 ----
|
||||
/* Enable common dialogs input unicode from IME if posible. */
|
||||
#ifdef FEAT_MBYTE
|
||||
/* The variables are defined in os_win32.c. */
|
||||
! extern LRESULT (WINAPI *pDispatchMessage)(CONST MSG *);
|
||||
extern BOOL (WINAPI *pGetMessage)(LPMSG, HWND, UINT, UINT);
|
||||
extern BOOL (WINAPI *pIsDialogMessage)(HWND, LPMSG);
|
||||
extern BOOL (WINAPI *pPeekMessage)(LPMSG, HWND, UINT, UINT, UINT);
|
||||
*** ../vim-7.3.869/src/version.c 2013-03-19 14:25:50.000000000 +0100
|
||||
--- src/version.c 2013-03-19 14:45:42.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 870,
|
||||
/**/
|
||||
|
||||
--
|
||||
Q: How many legs does a giraffe have?
|
||||
A: Eight: two in front, two behind, two on the left and two on the right
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
102
7.3.871
Normal file
102
7.3.871
Normal file
@ -0,0 +1,102 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.871
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.871
|
||||
Problem: search('^$', 'c') does not use the empty match under the cursor.
|
||||
Solution: Special handling of the 'c' flag. (Christian Brabandt)
|
||||
Add tests.
|
||||
Files: src/search.c, src/testdir/test14.in, src/testdir/test14.ok
|
||||
|
||||
|
||||
*** ../vim-7.3.870/src/search.c 2013-02-20 18:39:07.000000000 +0100
|
||||
--- src/search.c 2013-03-19 15:23:13.000000000 +0100
|
||||
***************
|
||||
*** 727,732 ****
|
||||
--- 727,734 ----
|
||||
++matchcol;
|
||||
}
|
||||
}
|
||||
+ if (options & SEARCH_START)
|
||||
+ break;
|
||||
if (ptr[matchcol] == NUL
|
||||
|| (nmatched = vim_regexec_multi(®match,
|
||||
win, buf, lnum + matchpos.lnum,
|
||||
*** ../vim-7.3.870/src/testdir/test14.in 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/testdir/test14.in 2013-03-19 15:21:54.000000000 +0100
|
||||
***************
|
||||
*** 2,7 ****
|
||||
--- 2,8 ----
|
||||
Also test ":s/pat/sub/" with different ~s in sub.
|
||||
Also test for ^Vxff and ^Vo123 in Insert mode.
|
||||
Also test "[m", "]m", "[M" and "]M"
|
||||
+ Also test search()
|
||||
|
||||
STARTTEST
|
||||
:so small.vim
|
||||
***************
|
||||
*** 34,39 ****
|
||||
--- 35,50 ----
|
||||
2[MaJ:.w >>test.out
|
||||
k[MaK:.w >>test.out
|
||||
3[MaL:.w >>test.out
|
||||
+ :"
|
||||
+ /^foobar
|
||||
+ :let startline = line('.')
|
||||
+ :call search('foobar', 'c')
|
||||
+ :call append(line('$'), line('.') - startline)
|
||||
+ j:call search('^$', 'c')
|
||||
+ :call append(line('$'), line('.') - startline)
|
||||
+ :call search('^$', 'bc')
|
||||
+ :call append(line('$'), line('.') - startline)
|
||||
+ :/^search()/,$w >>test.out
|
||||
:qa!
|
||||
ENDTEST
|
||||
|
||||
***************
|
||||
*** 64,66 ****
|
||||
--- 75,82 ----
|
||||
}
|
||||
} e3
|
||||
}
|
||||
+
|
||||
+ foobar
|
||||
+
|
||||
+
|
||||
+ search()
|
||||
*** ../vim-7.3.870/src/testdir/test14.ok 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/testdir/test14.ok 2013-03-19 15:26:18.000000000 +0100
|
||||
***************
|
||||
*** 15,17 ****
|
||||
--- 15,21 ----
|
||||
}JH e3
|
||||
}K e2
|
||||
{LF
|
||||
+ search()
|
||||
+ 0
|
||||
+ 1
|
||||
+ 1
|
||||
*** ../vim-7.3.870/src/version.c 2013-03-19 14:48:25.000000000 +0100
|
||||
--- src/version.c 2013-03-19 15:26:38.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 871,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
75. You start wondering whether you could actually upgrade your brain
|
||||
with a Pentium Pro microprocessor 80. The upgrade works just fine.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
524
7.3.872
Normal file
524
7.3.872
Normal file
@ -0,0 +1,524 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.872
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.872
|
||||
Problem: On some systems case of file names is always ignored, on others
|
||||
never.
|
||||
Solution: Add the 'fileignorecase' option to control this at runtime.
|
||||
Implies 'wildignorecase'.
|
||||
Files: src/buffer.c, src/edit.c, src/ex_cmds2.c, src/ex_getln.c,
|
||||
src/fileio.c, src/misc1.c, src/misc2.c, src/option.c,
|
||||
src/option.h, src/vim.h, runtime/doc/options.txt
|
||||
|
||||
|
||||
*** ../vim-7.3.871/src/buffer.c 2013-03-19 14:25:50.000000000 +0100
|
||||
--- src/buffer.c 2013-03-19 16:03:42.000000000 +0100
|
||||
***************
|
||||
*** 2401,2412 ****
|
||||
if (name != NULL)
|
||||
{
|
||||
regmatch.regprog = prog;
|
||||
! #ifdef CASE_INSENSITIVE_FILENAME
|
||||
! regmatch.rm_ic = TRUE; /* Always ignore case */
|
||||
! #else
|
||||
! regmatch.rm_ic = FALSE; /* Never ignore case */
|
||||
! #endif
|
||||
!
|
||||
if (vim_regexec(®match, name, (colnr_T)0))
|
||||
match = name;
|
||||
else
|
||||
--- 2401,2407 ----
|
||||
if (name != NULL)
|
||||
{
|
||||
regmatch.regprog = prog;
|
||||
! regmatch.rm_ic = p_fic; /* ignore case when 'fileignorecase' is set */
|
||||
if (vim_regexec(®match, name, (colnr_T)0))
|
||||
match = name;
|
||||
else
|
||||
*** ../vim-7.3.871/src/edit.c 2013-03-19 13:33:18.000000000 +0100
|
||||
--- src/edit.c 2013-03-19 15:43:19.000000000 +0100
|
||||
***************
|
||||
*** 4336,4348 ****
|
||||
|
||||
/* May change home directory back to "~". */
|
||||
tilde_replace(compl_pattern, num_matches, matches);
|
||||
! ins_compl_add_matches(num_matches, matches,
|
||||
! #ifdef CASE_INSENSITIVE_FILENAME
|
||||
! TRUE
|
||||
! #else
|
||||
! FALSE
|
||||
! #endif
|
||||
! );
|
||||
}
|
||||
break;
|
||||
|
||||
--- 4336,4342 ----
|
||||
|
||||
/* May change home directory back to "~". */
|
||||
tilde_replace(compl_pattern, num_matches, matches);
|
||||
! ins_compl_add_matches(num_matches, matches, p_fic || p_wic);
|
||||
}
|
||||
break;
|
||||
|
||||
*** ../vim-7.3.871/src/ex_cmds2.c 2012-10-03 18:24:55.000000000 +0200
|
||||
--- src/ex_cmds2.c 2013-03-19 16:03:50.000000000 +0100
|
||||
***************
|
||||
*** 1926,1936 ****
|
||||
* Delete the items: use each item as a regexp and find a match in the
|
||||
* argument list.
|
||||
*/
|
||||
! #ifdef CASE_INSENSITIVE_FILENAME
|
||||
! regmatch.rm_ic = TRUE; /* Always ignore case */
|
||||
! #else
|
||||
! regmatch.rm_ic = FALSE; /* Never ignore case */
|
||||
! #endif
|
||||
for (i = 0; i < new_ga.ga_len && !got_int; ++i)
|
||||
{
|
||||
p = ((char_u **)new_ga.ga_data)[i];
|
||||
--- 1926,1932 ----
|
||||
* Delete the items: use each item as a regexp and find a match in the
|
||||
* argument list.
|
||||
*/
|
||||
! regmatch.rm_ic = p_fic; /* ignore case when 'fileignorecase' is set */
|
||||
for (i = 0; i < new_ga.ga_len && !got_int; ++i)
|
||||
{
|
||||
p = ((char_u **)new_ga.ga_data)[i];
|
||||
*** ../vim-7.3.871/src/ex_getln.c 2012-11-28 16:49:53.000000000 +0100
|
||||
--- src/ex_getln.c 2013-03-19 16:03:53.000000000 +0100
|
||||
***************
|
||||
*** 3653,3671 ****
|
||||
{
|
||||
for (i = 0; i < xp->xp_numfiles; ++i)
|
||||
{
|
||||
! #ifdef CASE_INSENSITIVE_FILENAME
|
||||
! if (xp->xp_context == EXPAND_DIRECTORIES
|
||||
|| xp->xp_context == EXPAND_FILES
|
||||
|| xp->xp_context == EXPAND_SHELLCMD
|
||||
! || xp->xp_context == EXPAND_BUFFERS)
|
||||
{
|
||||
if (TOLOWER_LOC(xp->xp_files[i][len]) !=
|
||||
TOLOWER_LOC(xp->xp_files[0][len]))
|
||||
break;
|
||||
}
|
||||
! else
|
||||
! #endif
|
||||
! if (xp->xp_files[i][len] != xp->xp_files[0][len])
|
||||
break;
|
||||
}
|
||||
if (i < xp->xp_numfiles)
|
||||
--- 3653,3668 ----
|
||||
{
|
||||
for (i = 0; i < xp->xp_numfiles; ++i)
|
||||
{
|
||||
! if (p_fic && (xp->xp_context == EXPAND_DIRECTORIES
|
||||
|| xp->xp_context == EXPAND_FILES
|
||||
|| xp->xp_context == EXPAND_SHELLCMD
|
||||
! || xp->xp_context == EXPAND_BUFFERS))
|
||||
{
|
||||
if (TOLOWER_LOC(xp->xp_files[i][len]) !=
|
||||
TOLOWER_LOC(xp->xp_files[0][len]))
|
||||
break;
|
||||
}
|
||||
! else if (xp->xp_files[i][len] != xp->xp_files[0][len])
|
||||
break;
|
||||
}
|
||||
if (i < xp->xp_numfiles)
|
||||
*** ../vim-7.3.871/src/fileio.c 2013-03-19 13:33:18.000000000 +0100
|
||||
--- src/fileio.c 2013-03-19 15:49:28.000000000 +0100
|
||||
***************
|
||||
*** 6485,6493 ****
|
||||
#ifdef HAVE_ACL
|
||||
vim_acl_T acl; /* ACL from original file */
|
||||
#endif
|
||||
- #if defined(UNIX) || defined(CASE_INSENSITIVE_FILENAME)
|
||||
int use_tmp_file = FALSE;
|
||||
- #endif
|
||||
|
||||
/*
|
||||
* When the names are identical, there is nothing to do. When they refer
|
||||
--- 6485,6491 ----
|
||||
***************
|
||||
*** 6496,6506 ****
|
||||
*/
|
||||
if (fnamecmp(from, to) == 0)
|
||||
{
|
||||
! #ifdef CASE_INSENSITIVE_FILENAME
|
||||
! if (STRCMP(gettail(from), gettail(to)) != 0)
|
||||
use_tmp_file = TRUE;
|
||||
else
|
||||
- #endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
--- 6494,6502 ----
|
||||
*/
|
||||
if (fnamecmp(from, to) == 0)
|
||||
{
|
||||
! if (p_fic && STRCMP(gettail(from), gettail(to)) != 0)
|
||||
use_tmp_file = TRUE;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
***************
|
||||
*** 6539,6545 ****
|
||||
}
|
||||
#endif
|
||||
|
||||
- #if defined(UNIX) || defined(CASE_INSENSITIVE_FILENAME)
|
||||
if (use_tmp_file)
|
||||
{
|
||||
char tempname[MAXPATHL + 1];
|
||||
--- 6535,6540 ----
|
||||
***************
|
||||
*** 6572,6578 ****
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
- #endif
|
||||
|
||||
/*
|
||||
* Delete the "to" file, this is required on some systems to make the
|
||||
--- 6567,6572 ----
|
||||
***************
|
||||
*** 10007,10017 ****
|
||||
int match = FALSE;
|
||||
#endif
|
||||
|
||||
! #ifdef CASE_INSENSITIVE_FILENAME
|
||||
! regmatch.rm_ic = TRUE; /* Always ignore case */
|
||||
! #else
|
||||
! regmatch.rm_ic = FALSE; /* Don't ever ignore case */
|
||||
! #endif
|
||||
#ifdef FEAT_OSFILETYPE
|
||||
if (*pattern == '<')
|
||||
{
|
||||
--- 10001,10007 ----
|
||||
int match = FALSE;
|
||||
#endif
|
||||
|
||||
! regmatch.rm_ic = p_fic; /* ignore case if 'fileignorecase' is set */
|
||||
#ifdef FEAT_OSFILETYPE
|
||||
if (*pattern == '<')
|
||||
{
|
||||
*** ../vim-7.3.871/src/misc1.c 2013-03-16 21:35:28.000000000 +0100
|
||||
--- src/misc1.c 2013-03-19 16:16:24.000000000 +0100
|
||||
***************
|
||||
*** 5026,5041 ****
|
||||
return retval;
|
||||
}
|
||||
|
||||
- #if (defined(CASE_INSENSITIVE_FILENAME) && defined(BACKSLASH_IN_FILENAME)) \
|
||||
- || defined(PROTO)
|
||||
/*
|
||||
! * Versions of fnamecmp() and fnamencmp() that handle '/' and '\' equally.
|
||||
*/
|
||||
int
|
||||
vim_fnamecmp(x, y)
|
||||
char_u *x, *y;
|
||||
{
|
||||
return vim_fnamencmp(x, y, MAXPATHL);
|
||||
}
|
||||
|
||||
int
|
||||
--- 5026,5046 ----
|
||||
return retval;
|
||||
}
|
||||
|
||||
/*
|
||||
! * Versions of fnamecmp() and fnamencmp() that handle '/' and '\' equally
|
||||
! * and deal with 'fileignorecase'.
|
||||
*/
|
||||
int
|
||||
vim_fnamecmp(x, y)
|
||||
char_u *x, *y;
|
||||
{
|
||||
+ #ifdef BACKSLASH_IN_FILENAME
|
||||
return vim_fnamencmp(x, y, MAXPATHL);
|
||||
+ #else
|
||||
+ if (p_fic)
|
||||
+ return MB_STRICMP(x, y);
|
||||
+ return STRCMP(x, y);
|
||||
+ #endif
|
||||
}
|
||||
|
||||
int
|
||||
***************
|
||||
*** 5043,5051 ****
|
||||
char_u *x, *y;
|
||||
size_t len;
|
||||
{
|
||||
while (len > 0 && *x && *y)
|
||||
{
|
||||
! if (TOLOWER_LOC(*x) != TOLOWER_LOC(*y)
|
||||
&& !(*x == '/' && *y == '\\')
|
||||
&& !(*x == '\\' && *y == '/'))
|
||||
break;
|
||||
--- 5048,5058 ----
|
||||
char_u *x, *y;
|
||||
size_t len;
|
||||
{
|
||||
+ #ifdef BACKSLASH_IN_FILENAME
|
||||
+ /* TODO: multi-byte characters. */
|
||||
while (len > 0 && *x && *y)
|
||||
{
|
||||
! if ((p_fic ? TOLOWER_LOC(*x) != TOLOWER_LOC(*y) : *x != *y)
|
||||
&& !(*x == '/' && *y == '\\')
|
||||
&& !(*x == '\\' && *y == '/'))
|
||||
break;
|
||||
***************
|
||||
*** 5056,5063 ****
|
||||
if (len == 0)
|
||||
return 0;
|
||||
return (*x - *y);
|
||||
! }
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Concatenate file names fname1 and fname2 into allocated memory.
|
||||
--- 5063,5074 ----
|
||||
if (len == 0)
|
||||
return 0;
|
||||
return (*x - *y);
|
||||
! #else
|
||||
! if (p_fic)
|
||||
! return MB_STRNICMP(x, y, len);
|
||||
! return STRNCMP(x, y, len);
|
||||
#endif
|
||||
+ }
|
||||
|
||||
/*
|
||||
* Concatenate file names fname1 and fname2 into allocated memory.
|
||||
***************
|
||||
*** 9835,9845 ****
|
||||
}
|
||||
else if (path_end >= path + wildoff
|
||||
&& (vim_strchr((char_u *)"*?[{~$", *path_end) != NULL
|
||||
! #ifndef CASE_INSENSITIVE_FILENAME
|
||||
! || ((flags & EW_ICASE)
|
||||
! && isalpha(PTR2CHAR(path_end)))
|
||||
! #endif
|
||||
! ))
|
||||
e = p;
|
||||
#ifdef FEAT_MBYTE
|
||||
if (has_mbyte)
|
||||
--- 9846,9853 ----
|
||||
}
|
||||
else if (path_end >= path + wildoff
|
||||
&& (vim_strchr((char_u *)"*?[{~$", *path_end) != NULL
|
||||
! || (!p_fic && (flags & EW_ICASE)
|
||||
! && isalpha(PTR2CHAR(path_end)))))
|
||||
e = p;
|
||||
#ifdef FEAT_MBYTE
|
||||
if (has_mbyte)
|
||||
***************
|
||||
*** 9882,9895 ****
|
||||
}
|
||||
|
||||
/* compile the regexp into a program */
|
||||
- #ifdef CASE_INSENSITIVE_FILENAME
|
||||
- regmatch.rm_ic = TRUE; /* Behave like Terminal.app */
|
||||
- #else
|
||||
if (flags & EW_ICASE)
|
||||
regmatch.rm_ic = TRUE; /* 'wildignorecase' set */
|
||||
else
|
||||
! regmatch.rm_ic = FALSE; /* Don't ignore case */
|
||||
! #endif
|
||||
if (flags & (EW_NOERROR | EW_NOTWILD))
|
||||
++emsg_silent;
|
||||
regmatch.regprog = vim_regcomp(pat, RE_MAGIC);
|
||||
--- 9890,9899 ----
|
||||
}
|
||||
|
||||
/* compile the regexp into a program */
|
||||
if (flags & EW_ICASE)
|
||||
regmatch.rm_ic = TRUE; /* 'wildignorecase' set */
|
||||
else
|
||||
! regmatch.rm_ic = p_fic; /* ignore case when 'fileignorecase' is set */
|
||||
if (flags & (EW_NOERROR | EW_NOTWILD))
|
||||
++emsg_silent;
|
||||
regmatch.regprog = vim_regcomp(pat, RE_MAGIC);
|
||||
*** ../vim-7.3.871/src/misc2.c 2012-11-28 18:31:49.000000000 +0100
|
||||
--- src/misc2.c 2013-03-19 16:39:56.000000000 +0100
|
||||
***************
|
||||
*** 5362,5374 ****
|
||||
if (STRLEN(s1) != STRLEN(s2))
|
||||
return FAIL;
|
||||
|
||||
for (i = 0; s1[i] != NUL && s2[i] != NUL; i++)
|
||||
{
|
||||
if (s1[i] != s2[i]
|
||||
! #ifdef CASE_INSENSITIVE_FILENAME
|
||||
! && TOUPPER_LOC(s1[i]) != TOUPPER_LOC(s2[i])
|
||||
! #endif
|
||||
! )
|
||||
{
|
||||
if (i >= 2)
|
||||
if (s1[i-1] == '*' && s1[i-2] == '*')
|
||||
--- 5362,5372 ----
|
||||
if (STRLEN(s1) != STRLEN(s2))
|
||||
return FAIL;
|
||||
|
||||
+ /* TODO: handle multi-byte characters. */
|
||||
for (i = 0; s1[i] != NUL && s2[i] != NUL; i++)
|
||||
{
|
||||
if (s1[i] != s2[i]
|
||||
! && (!p_fic || TOUPPER_LOC(s1[i]) != TOUPPER_LOC(s2[i])))
|
||||
{
|
||||
if (i >= 2)
|
||||
if (s1[i-1] == '*' && s1[i-2] == '*')
|
||||
***************
|
||||
*** 6123,6134 ****
|
||||
break;
|
||||
}
|
||||
|
||||
! if (
|
||||
! #ifdef CASE_INSENSITIVE_FILENAME
|
||||
! TOUPPER_LOC(p[i]) != TOUPPER_LOC(q[i])
|
||||
! #else
|
||||
! p[i] != q[i]
|
||||
! #endif
|
||||
#ifdef BACKSLASH_IN_FILENAME
|
||||
/* consider '/' and '\\' to be equal */
|
||||
&& !((p[i] == '/' && q[i] == '\\')
|
||||
--- 6121,6127 ----
|
||||
break;
|
||||
}
|
||||
|
||||
! if ((p_fic ? TOUPPER_LOC(p[i]) != TOUPPER_LOC(q[i]) : p[i] != q[i])
|
||||
#ifdef BACKSLASH_IN_FILENAME
|
||||
/* consider '/' and '\\' to be equal */
|
||||
&& !((p[i] == '/' && q[i] == '\\')
|
||||
*** ../vim-7.3.871/src/option.c 2013-03-13 20:42:28.000000000 +0100
|
||||
--- src/option.c 2013-03-19 15:40:25.000000000 +0100
|
||||
***************
|
||||
*** 1108,1113 ****
|
||||
--- 1108,1122 ----
|
||||
(char_u *)&p_ffs, PV_NONE,
|
||||
{(char_u *)DFLT_FFS_VI, (char_u *)DFLT_FFS_VIM}
|
||||
SCRIPTID_INIT},
|
||||
+ {"fileignorecase", "fic", P_BOOL|P_VI_DEF,
|
||||
+ (char_u *)&p_fic, PV_NONE,
|
||||
+ {
|
||||
+ #ifdef CASE_INSENSITIVE_FILENAME
|
||||
+ (char_u *)TRUE,
|
||||
+ #else
|
||||
+ (char_u *)FALSE,
|
||||
+ #endif
|
||||
+ (char_u *)0L} SCRIPTID_INIT},
|
||||
{"filetype", "ft", P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB|P_NFNAME,
|
||||
#ifdef FEAT_AUTOCMD
|
||||
(char_u *)&p_ft, PV_FT,
|
||||
*** ../vim-7.3.871/src/option.h 2012-08-15 16:20:59.000000000 +0200
|
||||
--- src/option.h 2013-03-19 15:42:24.000000000 +0100
|
||||
***************
|
||||
*** 453,458 ****
|
||||
--- 453,459 ----
|
||||
EXTERN char_u *p_fencs; /* 'fileencodings' */
|
||||
#endif
|
||||
EXTERN char_u *p_ffs; /* 'fileformats' */
|
||||
+ EXTERN long p_fic; /* 'fileignorecase' */
|
||||
#ifdef FEAT_FOLDING
|
||||
EXTERN char_u *p_fcl; /* 'foldclose' */
|
||||
EXTERN long p_fdls; /* 'foldlevelstart' */
|
||||
*** ../vim-7.3.871/src/vim.h 2013-03-19 13:33:18.000000000 +0100
|
||||
--- src/vim.h 2013-03-19 16:14:29.000000000 +0100
|
||||
***************
|
||||
*** 1627,1644 ****
|
||||
* (this does not account for maximum name lengths and things like "../dir",
|
||||
* thus it is not 100% accurate!)
|
||||
*/
|
||||
! #ifdef CASE_INSENSITIVE_FILENAME
|
||||
! # ifdef BACKSLASH_IN_FILENAME
|
||||
! # define fnamecmp(x, y) vim_fnamecmp((x), (y))
|
||||
! # define fnamencmp(x, y, n) vim_fnamencmp((x), (y), (size_t)(n))
|
||||
! # else
|
||||
! # define fnamecmp(x, y) MB_STRICMP((x), (y))
|
||||
! # define fnamencmp(x, y, n) MB_STRNICMP((x), (y), (n))
|
||||
! # endif
|
||||
! #else
|
||||
! # define fnamecmp(x, y) strcmp((char *)(x), (char *)(y))
|
||||
! # define fnamencmp(x, y, n) strncmp((char *)(x), (char *)(y), (size_t)(n))
|
||||
! #endif
|
||||
|
||||
#ifdef HAVE_MEMSET
|
||||
# define vim_memset(ptr, c, size) memset((ptr), (c), (size))
|
||||
--- 1627,1634 ----
|
||||
* (this does not account for maximum name lengths and things like "../dir",
|
||||
* thus it is not 100% accurate!)
|
||||
*/
|
||||
! #define fnamecmp(x, y) vim_fnamecmp((char_u *)(x), (char_u *)(y))
|
||||
! #define fnamencmp(x, y, n) vim_fnamencmp((char_u *)(x), (char_u *)(y), (size_t)(n))
|
||||
|
||||
#ifdef HAVE_MEMSET
|
||||
# define vim_memset(ptr, c, size) memset((ptr), (c), (size))
|
||||
*** ../vim-7.3.871/runtime/doc/options.txt 2013-01-23 18:37:31.000000000 +0100
|
||||
--- runtime/doc/options.txt 2013-03-19 16:25:49.000000000 +0100
|
||||
***************
|
||||
*** 2895,2900 ****
|
||||
--- 2941,2954 ----
|
||||
NOTE: This option is set to the Vi default value when 'compatible' is
|
||||
set and to the Vim default value when 'compatible' is reset.
|
||||
|
||||
+ *'fileignorecase'* *'wic'* *'nofileignorecase'* *'nowic'*
|
||||
+ 'fileignorecase' 'wic' boolean (default on for systems where case in file
|
||||
+ names is normally ignored.
|
||||
+ global
|
||||
+ {not in Vi}
|
||||
+ When set case is ignored when using file names and directories.
|
||||
+ See 'wildignorecase' for only ignoring case when doing completion.
|
||||
+
|
||||
*'filetype'* *'ft'*
|
||||
'filetype' 'ft' string (default: "")
|
||||
local to buffer
|
||||
***************
|
||||
*** 7832,7843 ****
|
||||
uses another default.
|
||||
|
||||
|
||||
! *'wildignorecase* *'wic'* *'nowildignorecase* *'nowic'*
|
||||
'wildignorecase' 'wic' boolean (default off)
|
||||
global
|
||||
{not in Vi}
|
||||
When set case is ignored when completing file names and directories.
|
||||
! Has no effect on systems where file name case is generally ignored.
|
||||
Does not apply when the shell is used to expand wildcards, which
|
||||
happens when there are special characters.
|
||||
|
||||
--- 7906,7917 ----
|
||||
uses another default.
|
||||
|
||||
|
||||
! *'wildignorecase'* *'wic'* *'nowildignorecase'* *'nowic'*
|
||||
'wildignorecase' 'wic' boolean (default off)
|
||||
global
|
||||
{not in Vi}
|
||||
When set case is ignored when completing file names and directories.
|
||||
! Has no effect when 'fileignorecase' is set.
|
||||
Does not apply when the shell is used to expand wildcards, which
|
||||
happens when there are special characters.
|
||||
|
||||
*** ../vim-7.3.871/src/version.c 2013-03-19 15:27:43.000000000 +0100
|
||||
--- src/version.c 2013-03-19 16:22:46.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 872,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
76. Your ISP regards you as a business partner rather than as a customer.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
139
7.3.874
Normal file
139
7.3.874
Normal file
@ -0,0 +1,139 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.874
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.874
|
||||
Problem: Comparing file names does not handle multi-byte characters
|
||||
properly.
|
||||
Solution: Implement multi-byte handling.
|
||||
Files: src/misc1.c, src/misc2.c
|
||||
|
||||
|
||||
*** ../vim-7.3.873/src/misc1.c 2013-03-19 16:46:59.000000000 +0100
|
||||
--- src/misc1.c 2013-03-19 18:30:52.000000000 +0100
|
||||
***************
|
||||
*** 5049,5068 ****
|
||||
size_t len;
|
||||
{
|
||||
#ifdef BACKSLASH_IN_FILENAME
|
||||
/* TODO: multi-byte characters. */
|
||||
! while (len > 0 && *x && *y)
|
||||
{
|
||||
! if ((p_fic ? TOLOWER_LOC(*x) != TOLOWER_LOC(*y) : *x != *y)
|
||||
! && !(*x == '/' && *y == '\\')
|
||||
! && !(*x == '\\' && *y == '/'))
|
||||
break;
|
||||
! ++x;
|
||||
! ++y;
|
||||
! --len;
|
||||
}
|
||||
if (len == 0)
|
||||
return 0;
|
||||
! return (*x - *y);
|
||||
#else
|
||||
if (p_fic)
|
||||
return MB_STRNICMP(x, y, len);
|
||||
--- 5049,5076 ----
|
||||
size_t len;
|
||||
{
|
||||
#ifdef BACKSLASH_IN_FILENAME
|
||||
+ char_u *px = x;
|
||||
+ char_u *py = y;
|
||||
+ int cx = NUL;
|
||||
+ int cy = NUL;
|
||||
+
|
||||
/* TODO: multi-byte characters. */
|
||||
! while (len > 0)
|
||||
{
|
||||
! cx = PTR2CHAR(px);
|
||||
! cy = PTR2CHAR(py);
|
||||
! if (cx == NUL || cy == NUL
|
||||
! || ((p_fic ? MB_TOLOWER(cx) != MB_TOLOWER(cy) : cx != cy)
|
||||
! && !(cx == '/' && cy == '\\')
|
||||
! && !(cx == '\\' && cy == '/')))
|
||||
break;
|
||||
! len -= MB_PTR2LEN(px);
|
||||
! px += MB_PTR2LEN(px);
|
||||
! py += MB_PTR2LEN(py);
|
||||
}
|
||||
if (len == 0)
|
||||
return 0;
|
||||
! return (cx - cy);
|
||||
#else
|
||||
if (p_fic)
|
||||
return MB_STRNICMP(x, y, len);
|
||||
*** ../vim-7.3.873/src/misc2.c 2013-03-19 16:46:59.000000000 +0100
|
||||
--- src/misc2.c 2013-03-19 18:22:29.000000000 +0100
|
||||
***************
|
||||
*** 5352,5357 ****
|
||||
--- 5352,5359 ----
|
||||
char_u *s2;
|
||||
{
|
||||
int i;
|
||||
+ int prev1 = NUL;
|
||||
+ int prev2 = NUL;
|
||||
|
||||
if (s1 == s2)
|
||||
return TRUE;
|
||||
***************
|
||||
*** 5362,5381 ****
|
||||
if (STRLEN(s1) != STRLEN(s2))
|
||||
return FAIL;
|
||||
|
||||
! /* TODO: handle multi-byte characters. */
|
||||
! for (i = 0; s1[i] != NUL && s2[i] != NUL; i++)
|
||||
{
|
||||
! if (s1[i] != s2[i]
|
||||
! && (!p_fic || TOUPPER_LOC(s1[i]) != TOUPPER_LOC(s2[i])))
|
||||
! {
|
||||
! if (i >= 2)
|
||||
! if (s1[i-1] == '*' && s1[i-2] == '*')
|
||||
! continue;
|
||||
! else
|
||||
! return FAIL;
|
||||
! else
|
||||
! return FAIL;
|
||||
! }
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
--- 5364,5379 ----
|
||||
if (STRLEN(s1) != STRLEN(s2))
|
||||
return FAIL;
|
||||
|
||||
! for (i = 0; s1[i] != NUL && s2[i] != NUL; i += MB_PTR2LEN(s1 + i))
|
||||
{
|
||||
! int c1 = PTR2CHAR(s1 + i);
|
||||
! int c2 = PTR2CHAR(s2 + i);
|
||||
!
|
||||
! if ((p_fic ? MB_TOLOWER(c1) != MB_TOLOWER(c2) : c1 != c2)
|
||||
! && (prev1 != '*' || prev2 != '*'))
|
||||
! return FAIL;
|
||||
! prev2 = prev1;
|
||||
! prev1 = c1;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
*** ../vim-7.3.873/src/version.c 2013-03-19 17:42:10.000000000 +0100
|
||||
--- src/version.c 2013-03-19 18:24:57.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 874,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
80. At parties, you introduce your spouse as your "service provider."
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
69
7.3.875
Normal file
69
7.3.875
Normal file
@ -0,0 +1,69 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.875
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.875 (after 7.3.866)
|
||||
Problem: Build problem with some combination of features.
|
||||
Solution: Use FEAT_XCLIPBOARD instead of FEAT_CLIPBOARD.
|
||||
Files: src/os_unix.c
|
||||
|
||||
|
||||
*** ../vim-7.3.874/src/os_unix.c 2013-03-19 12:35:33.000000000 +0100
|
||||
--- src/os_unix.c 2013-03-21 21:43:37.000000000 +0100
|
||||
***************
|
||||
*** 4787,4793 ****
|
||||
else
|
||||
wait_pid = 0;
|
||||
|
||||
! # if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
|
||||
/* Handle any X events, e.g. serving the clipboard. */
|
||||
clip_update();
|
||||
# endif
|
||||
--- 4787,4793 ----
|
||||
else
|
||||
wait_pid = 0;
|
||||
|
||||
! # if defined(FEAT_XCLIPBOARD) && defined(FEAT_X11)
|
||||
/* Handle any X events, e.g. serving the clipboard. */
|
||||
clip_update();
|
||||
# endif
|
||||
***************
|
||||
*** 4817,4823 ****
|
||||
close(toshell_fd);
|
||||
close(fromshell_fd);
|
||||
}
|
||||
! # if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
|
||||
else
|
||||
{
|
||||
/*
|
||||
--- 4817,4823 ----
|
||||
close(toshell_fd);
|
||||
close(fromshell_fd);
|
||||
}
|
||||
! # if defined(FEAT_XCLIPBOARD) && defined(FEAT_X11)
|
||||
else
|
||||
{
|
||||
/*
|
||||
*** ../vim-7.3.874/src/version.c 2013-03-19 18:31:45.000000000 +0100
|
||||
--- src/version.c 2013-03-21 22:05:59.000000000 +0100
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 875,
|
||||
/**/
|
||||
|
||||
--
|
||||
From "know your smileys":
|
||||
O:-) Saint
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
80
7.3.876
Normal file
80
7.3.876
Normal file
@ -0,0 +1,80 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.876
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.876
|
||||
Problem: #if indents are off.
|
||||
Solution: Insert a space where appropriate. (Taro Muraoka)
|
||||
Files: src/gui.c
|
||||
|
||||
|
||||
*** ../vim-7.3.875/src/gui.c 2013-01-23 18:37:31.000000000 +0100
|
||||
--- src/gui.c 2013-03-27 22:44:19.000000000 +0100
|
||||
***************
|
||||
*** 991,997 ****
|
||||
}
|
||||
|
||||
gui_mch_free_font(gui.wide_font);
|
||||
! #ifdef FEAT_GUI_GTK
|
||||
/* Avoid unnecessary overhead if 'guifontwide' is equal to 'guifont'. */
|
||||
if (font != NOFONT && gui.norm_font != NOFONT
|
||||
&& pango_font_description_equal(font, gui.norm_font))
|
||||
--- 991,997 ----
|
||||
}
|
||||
|
||||
gui_mch_free_font(gui.wide_font);
|
||||
! # ifdef FEAT_GUI_GTK
|
||||
/* Avoid unnecessary overhead if 'guifontwide' is equal to 'guifont'. */
|
||||
if (font != NOFONT && gui.norm_font != NOFONT
|
||||
&& pango_font_description_equal(font, gui.norm_font))
|
||||
***************
|
||||
*** 1000,1010 ****
|
||||
gui_mch_free_font(font);
|
||||
}
|
||||
else
|
||||
! #endif
|
||||
gui.wide_font = font;
|
||||
! #ifdef FEAT_GUI_MSWIN
|
||||
gui_mch_wide_font_changed();
|
||||
! #endif
|
||||
return OK;
|
||||
}
|
||||
#endif
|
||||
--- 1000,1010 ----
|
||||
gui_mch_free_font(font);
|
||||
}
|
||||
else
|
||||
! # endif
|
||||
gui.wide_font = font;
|
||||
! # ifdef FEAT_GUI_MSWIN
|
||||
gui_mch_wide_font_changed();
|
||||
! # endif
|
||||
return OK;
|
||||
}
|
||||
#endif
|
||||
*** ../vim-7.3.875/src/version.c 2013-03-21 22:53:45.000000000 +0100
|
||||
--- src/version.c 2013-04-03 21:10:44.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 876,
|
||||
/**/
|
||||
|
||||
--
|
||||
Nobody will ever need more than 640 kB RAM.
|
||||
-- Bill Gates, 1983
|
||||
Windows 98 requires 16 MB RAM.
|
||||
-- Bill Gates, 1999
|
||||
Logical conclusion: Nobody will ever need Windows 98.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
100
7.3.877
Normal file
100
7.3.877
Normal file
@ -0,0 +1,100 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.877
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.877 (after 7.3.871)
|
||||
Problem: Forward searching with search() is broken.
|
||||
Solution: Fix it and add tests. (Sung Pae)
|
||||
Files: src/search.c, src/testdir/test14.in, src/testdir/test14.ok
|
||||
|
||||
|
||||
*** ../vim-7.3.876/src/search.c 2013-03-19 15:27:43.000000000 +0100
|
||||
--- src/search.c 2013-04-03 21:07:11.000000000 +0200
|
||||
***************
|
||||
*** 727,733 ****
|
||||
++matchcol;
|
||||
}
|
||||
}
|
||||
! if (options & SEARCH_START)
|
||||
break;
|
||||
if (ptr[matchcol] == NUL
|
||||
|| (nmatched = vim_regexec_multi(®match,
|
||||
--- 727,733 ----
|
||||
++matchcol;
|
||||
}
|
||||
}
|
||||
! if (matchcol == 0 && (options & SEARCH_START))
|
||||
break;
|
||||
if (ptr[matchcol] == NUL
|
||||
|| (nmatched = vim_regexec_multi(®match,
|
||||
***************
|
||||
*** 869,875 ****
|
||||
/* With the SEARCH_END option move to the last character
|
||||
* of the match. Don't do it for an empty match, end
|
||||
* should be same as start then. */
|
||||
! if (options & SEARCH_END && !(options & SEARCH_NOOF)
|
||||
&& !(matchpos.lnum == endpos.lnum
|
||||
&& matchpos.col == endpos.col))
|
||||
{
|
||||
--- 869,875 ----
|
||||
/* With the SEARCH_END option move to the last character
|
||||
* of the match. Don't do it for an empty match, end
|
||||
* should be same as start then. */
|
||||
! if ((options & SEARCH_END) && !(options & SEARCH_NOOF)
|
||||
&& !(matchpos.lnum == endpos.lnum
|
||||
&& matchpos.col == endpos.col))
|
||||
{
|
||||
*** ../vim-7.3.876/src/testdir/test14.in 2013-03-19 15:27:43.000000000 +0100
|
||||
--- src/testdir/test14.in 2013-04-03 20:59:14.000000000 +0200
|
||||
***************
|
||||
*** 44,49 ****
|
||||
--- 44,52 ----
|
||||
:call append(line('$'), line('.') - startline)
|
||||
:call search('^$', 'bc')
|
||||
:call append(line('$'), line('.') - startline)
|
||||
+ /two
|
||||
+ :call search('.', 'c')
|
||||
+ :call append(line('$'), getline('.')[col('.') - 1:])
|
||||
:/^search()/,$w >>test.out
|
||||
:qa!
|
||||
ENDTEST
|
||||
***************
|
||||
*** 79,82 ****
|
||||
--- 82,86 ----
|
||||
foobar
|
||||
|
||||
|
||||
+ one two
|
||||
search()
|
||||
*** ../vim-7.3.876/src/testdir/test14.ok 2013-03-19 15:27:43.000000000 +0100
|
||||
--- src/testdir/test14.ok 2013-04-03 20:59:14.000000000 +0200
|
||||
***************
|
||||
*** 19,21 ****
|
||||
--- 19,22 ----
|
||||
0
|
||||
1
|
||||
1
|
||||
+ two
|
||||
*** ../vim-7.3.876/src/version.c 2013-04-03 21:11:33.000000000 +0200
|
||||
--- src/version.c 2013-04-03 21:12:50.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 877,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
113. You are asked about a bus schedule, you wonder if it is 16 or 32 bits.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
78
7.3.878
Normal file
78
7.3.878
Normal file
@ -0,0 +1,78 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.878
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.878
|
||||
Problem: 'fileignorecase' is missing in options window and quickref.
|
||||
Solution: Add the option.
|
||||
Files: runtime/optwin.vim, runtime/doc/quickref.txt
|
||||
|
||||
|
||||
*** ../vim-7.3.877/runtime/optwin.vim 2010-08-15 21:57:20.000000000 +0200
|
||||
--- runtime/optwin.vim 2013-04-05 15:35:22.000000000 +0200
|
||||
***************
|
||||
*** 1042,1047 ****
|
||||
--- 1035,1044 ----
|
||||
call append("$", "wildignore\tlist of patterns to ignore files for file name completion")
|
||||
call <SID>OptionG("wig", &wig)
|
||||
endif
|
||||
+ call append("$", "fileignorecase\tignore case when using file names")
|
||||
+ call <SID>BinOptionG("fic", &fic)
|
||||
+ call append("$", "wildignorecase\tignore case when completing file names")
|
||||
+ call <SID>BinOptionG("wic", &wic)
|
||||
if has("wildmenu")
|
||||
call append("$", "wildmenu\tcommand-line completion shows a list of matches")
|
||||
call <SID>BinOptionG("wmnu", &wmnu)
|
||||
***************
|
||||
*** 1340,1342 ****
|
||||
--- 1339,1343 ----
|
||||
let &sc = s:old_sc
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:old_title s:old_icon s:old_ru s:old_sc s:cpo_save s:idx s:lnum
|
||||
+
|
||||
+ " vim: ts=8 sw=2 sts=2
|
||||
*** ../vim-7.3.877/runtime/doc/quickref.txt 2010-08-15 21:57:17.000000000 +0200
|
||||
--- runtime/doc/quickref.txt 2013-04-05 15:36:35.000000000 +0200
|
||||
***************
|
||||
*** 690,695 ****
|
||||
--- 691,697 ----
|
||||
'fileencodings' 'fencs' automatically detected character encodings
|
||||
'fileformat' 'ff' file format used for file I/O
|
||||
'fileformats' 'ffs' automatically detected values for 'fileformat'
|
||||
+ 'fileignorecase' 'fic' ignore case when using file names
|
||||
'filetype' 'ft' type of file, used for autocommands
|
||||
'fillchars' 'fcs' characters to use for displaying special items
|
||||
'fkmap' 'fk' Farsi keyboard mapping
|
||||
***************
|
||||
*** 934,939 ****
|
||||
--- 937,943 ----
|
||||
'wildchar' 'wc' command-line character for wildcard expansion
|
||||
'wildcharm' 'wcm' like 'wildchar' but also works when mapped
|
||||
'wildignore' 'wig' files matching these patterns are not completed
|
||||
+ 'wildignorecase' 'wic' ignore case when completing file names
|
||||
'wildmenu' 'wmnu' use menu for command line completion
|
||||
'wildmode' 'wim' mode for 'wildchar' command-line expansion
|
||||
'wildoptions' 'wop' specifies how command line completion is done
|
||||
*** ../vim-7.3.877/src/version.c 2013-04-03 21:14:25.000000000 +0200
|
||||
--- src/version.c 2013-04-05 15:37:09.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 878,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
121. You ask for e-mail adresses instead of telephone numbers.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
97
7.3.879
Normal file
97
7.3.879
Normal file
@ -0,0 +1,97 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.879
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.879
|
||||
Problem: When using an ex command in operator pending mode, using Esc to
|
||||
abort the command still executes the operator. (David Bürgin)
|
||||
Solution: Clear the operator when the ex command fails. (Christian Brabandt)
|
||||
Files: src/normal.c
|
||||
|
||||
|
||||
*** ../vim-7.3.878/src/normal.c 2013-03-16 14:20:45.000000000 +0100
|
||||
--- src/normal.c 2013-04-05 16:54:13.000000000 +0200
|
||||
***************
|
||||
*** 5418,5423 ****
|
||||
--- 5418,5424 ----
|
||||
cmdarg_T *cap;
|
||||
{
|
||||
int old_p_im;
|
||||
+ int cmd_result;
|
||||
|
||||
#ifdef FEAT_VISUAL
|
||||
if (VIsual_active)
|
||||
***************
|
||||
*** 5449,5455 ****
|
||||
old_p_im = p_im;
|
||||
|
||||
/* get a command line and execute it */
|
||||
! do_cmdline(NULL, getexline, NULL,
|
||||
cap->oap->op_type != OP_NOP ? DOCMD_KEEPLINE : 0);
|
||||
|
||||
/* If 'insertmode' changed, enter or exit Insert mode */
|
||||
--- 5450,5456 ----
|
||||
old_p_im = p_im;
|
||||
|
||||
/* get a command line and execute it */
|
||||
! cmd_result = do_cmdline(NULL, getexline, NULL,
|
||||
cap->oap->op_type != OP_NOP ? DOCMD_KEEPLINE : 0);
|
||||
|
||||
/* If 'insertmode' changed, enter or exit Insert mode */
|
||||
***************
|
||||
*** 5461,5472 ****
|
||||
restart_edit = 0;
|
||||
}
|
||||
|
||||
! /* The start of the operator may have become invalid by the Ex
|
||||
! * command. */
|
||||
! if (cap->oap->op_type != OP_NOP
|
||||
&& (cap->oap->start.lnum > curbuf->b_ml.ml_line_count
|
||||
|| cap->oap->start.col >
|
||||
! (colnr_T)STRLEN(ml_get(cap->oap->start.lnum))))
|
||||
clearopbeep(cap->oap);
|
||||
}
|
||||
}
|
||||
--- 5462,5478 ----
|
||||
restart_edit = 0;
|
||||
}
|
||||
|
||||
! if (cmd_result == FAIL)
|
||||
! /* The Ex command failed, do not execute the operator. */
|
||||
! clearop(cap->oap);
|
||||
! else if (cap->oap->op_type != OP_NOP
|
||||
&& (cap->oap->start.lnum > curbuf->b_ml.ml_line_count
|
||||
|| cap->oap->start.col >
|
||||
! (colnr_T)STRLEN(ml_get(cap->oap->start.lnum))
|
||||
! || did_emsg
|
||||
! ))
|
||||
! /* The start of the operator has become invalid by the Ex command.
|
||||
! */
|
||||
clearopbeep(cap->oap);
|
||||
}
|
||||
}
|
||||
*** ../vim-7.3.878/src/version.c 2013-04-05 15:39:41.000000000 +0200
|
||||
--- src/version.c 2013-04-05 16:56:43.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 879,
|
||||
/**/
|
||||
|
||||
--
|
||||
~
|
||||
~
|
||||
~
|
||||
".signature" 4 lines, 50 characters written
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
287
7.3.880
Normal file
287
7.3.880
Normal file
@ -0,0 +1,287 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.880
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.880
|
||||
Problem: When writing viminfo, old history lines may replace lines written
|
||||
more recently by another Vim instance.
|
||||
Solution: Mark history entries that were read from viminfo and overwrite
|
||||
them when merging with the current viminfo.
|
||||
Files: src/ex_getln.c
|
||||
|
||||
|
||||
*** ../vim-7.3.879/src/ex_getln.c 2013-03-19 16:46:59.000000000 +0100
|
||||
--- src/ex_getln.c 2013-04-05 18:56:08.000000000 +0200
|
||||
***************
|
||||
*** 56,61 ****
|
||||
--- 56,62 ----
|
||||
typedef struct hist_entry
|
||||
{
|
||||
int hisnum; /* identifying number */
|
||||
+ int viminfo; /* when TRUE hisstr comes from viminfo */
|
||||
char_u *hisstr; /* actual entry, separator char after the NUL */
|
||||
} histentry_T;
|
||||
|
||||
***************
|
||||
*** 113,118 ****
|
||||
--- 114,120 ----
|
||||
static int ExpandRTDir __ARGS((char_u *pat, int *num_file, char_u ***file, char *dirname[]));
|
||||
# ifdef FEAT_CMDHIST
|
||||
static char_u *get_history_arg __ARGS((expand_T *xp, int idx));
|
||||
+ static void clear_hist_entry __ARGS((histentry_T *hisptr));
|
||||
# endif
|
||||
# if defined(FEAT_USR_CMDS) && defined(FEAT_EVAL)
|
||||
static int ExpandUserDefined __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file));
|
||||
***************
|
||||
*** 5343,5352 ****
|
||||
if (hisidx[type] < 0) /* there are no entries yet */
|
||||
{
|
||||
for (i = 0; i < newlen; ++i)
|
||||
! {
|
||||
! temp[i].hisnum = 0;
|
||||
! temp[i].hisstr = NULL;
|
||||
! }
|
||||
}
|
||||
else if (newlen > hislen) /* array becomes bigger */
|
||||
{
|
||||
--- 5345,5351 ----
|
||||
if (hisidx[type] < 0) /* there are no entries yet */
|
||||
{
|
||||
for (i = 0; i < newlen; ++i)
|
||||
! clear_hist_entry(&temp[i]);
|
||||
}
|
||||
else if (newlen > hislen) /* array becomes bigger */
|
||||
{
|
||||
***************
|
||||
*** 5354,5363 ****
|
||||
temp[i] = history[type][i];
|
||||
j = i;
|
||||
for ( ; i <= newlen - (hislen - hisidx[type]); ++i)
|
||||
! {
|
||||
! temp[i].hisnum = 0;
|
||||
! temp[i].hisstr = NULL;
|
||||
! }
|
||||
for ( ; j < hislen; ++i, ++j)
|
||||
temp[i] = history[type][j];
|
||||
}
|
||||
--- 5353,5359 ----
|
||||
temp[i] = history[type][i];
|
||||
j = i;
|
||||
for ( ; i <= newlen - (hislen - hisidx[type]); ++i)
|
||||
! clear_hist_entry(&temp[i]);
|
||||
for ( ; j < hislen; ++i, ++j)
|
||||
temp[i] = history[type][j];
|
||||
}
|
||||
***************
|
||||
*** 5385,5390 ****
|
||||
--- 5381,5395 ----
|
||||
}
|
||||
}
|
||||
|
||||
+ static void
|
||||
+ clear_hist_entry(hisptr)
|
||||
+ histentry_T *hisptr;
|
||||
+ {
|
||||
+ hisptr->hisnum = 0;
|
||||
+ hisptr->viminfo = FALSE;
|
||||
+ hisptr->hisstr = NULL;
|
||||
+ }
|
||||
+
|
||||
/*
|
||||
* Check if command line 'str' is already in history.
|
||||
* If 'move_to_front' is TRUE, matching entry is moved to end of history.
|
||||
***************
|
||||
*** 5433,5440 ****
|
||||
history[type][last_i] = history[type][i];
|
||||
last_i = i;
|
||||
}
|
||||
- history[type][i].hisstr = str;
|
||||
history[type][i].hisnum = ++hisnum[type];
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
--- 5438,5446 ----
|
||||
history[type][last_i] = history[type][i];
|
||||
last_i = i;
|
||||
}
|
||||
history[type][i].hisnum = ++hisnum[type];
|
||||
+ history[type][i].viminfo = FALSE;
|
||||
+ history[type][i].hisstr = str;
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
***************
|
||||
*** 5498,5505 ****
|
||||
/* Current line is from the same mapping, remove it */
|
||||
hisptr = &history[HIST_SEARCH][hisidx[HIST_SEARCH]];
|
||||
vim_free(hisptr->hisstr);
|
||||
! hisptr->hisstr = NULL;
|
||||
! hisptr->hisnum = 0;
|
||||
--hisnum[histype];
|
||||
if (--hisidx[HIST_SEARCH] < 0)
|
||||
hisidx[HIST_SEARCH] = hislen - 1;
|
||||
--- 5504,5510 ----
|
||||
/* Current line is from the same mapping, remove it */
|
||||
hisptr = &history[HIST_SEARCH][hisidx[HIST_SEARCH]];
|
||||
vim_free(hisptr->hisstr);
|
||||
! clear_hist_entry(hisptr);
|
||||
--hisnum[histype];
|
||||
if (--hisidx[HIST_SEARCH] < 0)
|
||||
hisidx[HIST_SEARCH] = hislen - 1;
|
||||
***************
|
||||
*** 5520,5525 ****
|
||||
--- 5525,5531 ----
|
||||
hisptr->hisstr[len + 1] = sep;
|
||||
|
||||
hisptr->hisnum = ++hisnum[histype];
|
||||
+ hisptr->viminfo = FALSE;
|
||||
if (histype == HIST_SEARCH && in_map)
|
||||
last_maptick = maptick;
|
||||
}
|
||||
***************
|
||||
*** 5709,5716 ****
|
||||
for (i = hislen; i--;)
|
||||
{
|
||||
vim_free(hisptr->hisstr);
|
||||
! hisptr->hisnum = 0;
|
||||
! hisptr++->hisstr = NULL;
|
||||
}
|
||||
hisidx[histype] = -1; /* mark history as cleared */
|
||||
hisnum[histype] = 0; /* reset identifier counter */
|
||||
--- 5715,5721 ----
|
||||
for (i = hislen; i--;)
|
||||
{
|
||||
vim_free(hisptr->hisstr);
|
||||
! clear_hist_entry(hisptr);
|
||||
}
|
||||
hisidx[histype] = -1; /* mark history as cleared */
|
||||
hisnum[histype] = 0; /* reset identifier counter */
|
||||
***************
|
||||
*** 5755,5770 ****
|
||||
{
|
||||
found = TRUE;
|
||||
vim_free(hisptr->hisstr);
|
||||
! hisptr->hisstr = NULL;
|
||||
! hisptr->hisnum = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (i != last)
|
||||
{
|
||||
history[histype][last] = *hisptr;
|
||||
! hisptr->hisstr = NULL;
|
||||
! hisptr->hisnum = 0;
|
||||
}
|
||||
if (--last < 0)
|
||||
last += hislen;
|
||||
--- 5760,5773 ----
|
||||
{
|
||||
found = TRUE;
|
||||
vim_free(hisptr->hisstr);
|
||||
! clear_hist_entry(hisptr);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (i != last)
|
||||
{
|
||||
history[histype][last] = *hisptr;
|
||||
! clear_hist_entry(hisptr);
|
||||
}
|
||||
if (--last < 0)
|
||||
last += hislen;
|
||||
***************
|
||||
*** 5808,5815 ****
|
||||
history[histype][i] = history[histype][j];
|
||||
i = j;
|
||||
}
|
||||
! history[histype][i].hisstr = NULL;
|
||||
! history[histype][i].hisnum = 0;
|
||||
if (--i < 0)
|
||||
i += hislen;
|
||||
hisidx[histype] = i;
|
||||
--- 5811,5817 ----
|
||||
history[histype][i] = history[histype][j];
|
||||
i = j;
|
||||
}
|
||||
! clear_hist_entry(&history[histype][i]);
|
||||
if (--i < 0)
|
||||
i += hislen;
|
||||
hisidx[histype] = i;
|
||||
***************
|
||||
*** 6043,6054 ****
|
||||
|
||||
for (type = 0; type < HIST_COUNT; ++type)
|
||||
{
|
||||
! /*
|
||||
! * Count the number of empty spaces in the history list. If there are
|
||||
! * more spaces available than we request, then fill them up.
|
||||
! */
|
||||
for (i = 0, num = 0; i < hislen; i++)
|
||||
! if (history[type][i].hisstr == NULL)
|
||||
num++;
|
||||
len = asklen;
|
||||
if (num > len)
|
||||
--- 6045,6055 ----
|
||||
|
||||
for (type = 0; type < HIST_COUNT; ++type)
|
||||
{
|
||||
! /* Count the number of empty spaces in the history list. Entries read
|
||||
! * from viminfo previously are also considered empty. If there are
|
||||
! * more spaces available than we request, then fill them up. */
|
||||
for (i = 0, num = 0; i < hislen; i++)
|
||||
! if (history[type][i].hisstr == NULL || history[type][i].viminfo)
|
||||
num++;
|
||||
len = asklen;
|
||||
if (num > len)
|
||||
***************
|
||||
*** 6141,6147 ****
|
||||
hisidx[type] = hislen - 1;
|
||||
do
|
||||
{
|
||||
! if (history[type][idx].hisstr != NULL)
|
||||
break;
|
||||
if (++idx == hislen)
|
||||
idx = 0;
|
||||
--- 6142,6149 ----
|
||||
hisidx[type] = hislen - 1;
|
||||
do
|
||||
{
|
||||
! if (history[type][idx].hisstr != NULL
|
||||
! || history[type][idx].viminfo)
|
||||
break;
|
||||
if (++idx == hislen)
|
||||
idx = 0;
|
||||
***************
|
||||
*** 6153,6158 ****
|
||||
--- 6155,6161 ----
|
||||
{
|
||||
vim_free(history[type][idx].hisstr);
|
||||
history[type][idx].hisstr = viminfo_history[type][i];
|
||||
+ history[type][idx].viminfo = TRUE;
|
||||
if (--idx < 0)
|
||||
idx = hislen - 1;
|
||||
}
|
||||
*** ../vim-7.3.879/src/version.c 2013-04-05 17:43:10.000000000 +0200
|
||||
--- src/version.c 2013-04-05 18:54:11.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 880,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
122. You ask if the Netaholics Anonymous t-shirt you ordered can be
|
||||
sent to you via e-mail.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
108
7.3.881
Normal file
108
7.3.881
Normal file
@ -0,0 +1,108 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.881
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.881
|
||||
Problem: Python list does not work correctly.
|
||||
Solution: Fix it and add a test. (Yukihiro Nakadaira)
|
||||
Files: src/testdir/test86.in, src/testdir/test86.ok, src/if_py_both.h
|
||||
|
||||
|
||||
*** ../vim-7.3.880/src/testdir/test86.in 2013-02-20 16:54:24.000000000 +0100
|
||||
--- src/testdir/test86.in 2013-04-05 19:18:48.000000000 +0200
|
||||
***************
|
||||
*** 321,326 ****
|
||||
--- 321,351 ----
|
||||
:py trace_main()
|
||||
:py sys.settrace(None)
|
||||
:$put =string(l)
|
||||
+ :"
|
||||
+ :" Slice
|
||||
+ :py ll = vim.bindeval('[0, 1, 2, 3, 4, 5]')
|
||||
+ :py l = ll[:4]
|
||||
+ :$put =string(pyeval('l'))
|
||||
+ :py l = ll[2:]
|
||||
+ :$put =string(pyeval('l'))
|
||||
+ :py l = ll[:-4]
|
||||
+ :$put =string(pyeval('l'))
|
||||
+ :py l = ll[-2:]
|
||||
+ :$put =string(pyeval('l'))
|
||||
+ :py l = ll[2:4]
|
||||
+ :$put =string(pyeval('l'))
|
||||
+ :py l = ll[4:2]
|
||||
+ :$put =string(pyeval('l'))
|
||||
+ :py l = ll[-4:-2]
|
||||
+ :$put =string(pyeval('l'))
|
||||
+ :py l = ll[-2:-4]
|
||||
+ :$put =string(pyeval('l'))
|
||||
+ :py l = ll[:]
|
||||
+ :$put =string(pyeval('l'))
|
||||
+ :py l = ll[0:6]
|
||||
+ :$put =string(pyeval('l'))
|
||||
+ :py l = ll[-10:10]
|
||||
+ :$put =string(pyeval('l'))
|
||||
:endfun
|
||||
:"
|
||||
:call Test()
|
||||
*** ../vim-7.3.880/src/testdir/test86.ok 2013-02-20 16:54:24.000000000 +0100
|
||||
--- src/testdir/test86.ok 2013-04-05 19:18:48.000000000 +0200
|
||||
***************
|
||||
*** 65,67 ****
|
||||
--- 65,78 ----
|
||||
vim: Vim(let):E859:
|
||||
[1]
|
||||
[1, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 1]
|
||||
+ [0, 1, 2, 3]
|
||||
+ [2, 3, 4, 5]
|
||||
+ [0, 1]
|
||||
+ [4, 5]
|
||||
+ [2, 3]
|
||||
+ []
|
||||
+ [2, 3]
|
||||
+ []
|
||||
+ [0, 1, 2, 3, 4, 5]
|
||||
+ [0, 1, 2, 3, 4, 5]
|
||||
+ [0, 1, 2, 3, 4, 5]
|
||||
*** ../vim-7.3.880/src/if_py_both.h 2013-02-14 22:11:31.000000000 +0100
|
||||
--- src/if_py_both.h 2013-04-05 19:27:46.000000000 +0200
|
||||
***************
|
||||
*** 1139,1145 ****
|
||||
|
||||
for (i = 0; i < n; ++i)
|
||||
{
|
||||
! PyObject *item = ListItem(self, i);
|
||||
if (item == NULL)
|
||||
{
|
||||
Py_DECREF(list);
|
||||
--- 1139,1145 ----
|
||||
|
||||
for (i = 0; i < n; ++i)
|
||||
{
|
||||
! PyObject *item = ListItem(self, first + i);
|
||||
if (item == NULL)
|
||||
{
|
||||
Py_DECREF(list);
|
||||
*** ../vim-7.3.880/src/version.c 2013-04-05 18:58:42.000000000 +0200
|
||||
--- src/version.c 2013-04-05 19:31:59.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 881,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
123. You ask the car dealer to install an extra cigarette lighter
|
||||
on your new car to power your notebook.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
59
7.3.882
Normal file
59
7.3.882
Normal file
@ -0,0 +1,59 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.882
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.882
|
||||
Problem: CursorHold may trigger after receiving the termresponse.
|
||||
Solution: Set the did_cursorhold flag. (Hayaki Saito)
|
||||
Files: src/term.c
|
||||
|
||||
|
||||
*** ../vim-7.3.881/src/term.c 2013-03-16 14:33:32.000000000 +0100
|
||||
--- src/term.c 2013-04-05 19:49:58.000000000 +0200
|
||||
***************
|
||||
*** 4137,4142 ****
|
||||
--- 4137,4145 ----
|
||||
char *p = NULL;
|
||||
|
||||
u7_status = U7_GOT;
|
||||
+ # ifdef FEAT_AUTOCMD
|
||||
+ did_cursorhold = TRUE;
|
||||
+ # endif
|
||||
if (extra == 2)
|
||||
p = "single";
|
||||
else if (extra == 3)
|
||||
***************
|
||||
*** 4153,4158 ****
|
||||
--- 4156,4164 ----
|
||||
if (*T_CRV != NUL && i > 2 + (tp[0] != CSI) && tp[i] == 'c')
|
||||
{
|
||||
crv_status = CRV_GOT;
|
||||
+ # ifdef FEAT_AUTOCMD
|
||||
+ did_cursorhold = TRUE;
|
||||
+ # endif
|
||||
|
||||
/* If this code starts with CSI, you can bet that the
|
||||
* terminal uses 8-bit codes. */
|
||||
*** ../vim-7.3.881/src/version.c 2013-04-05 19:32:30.000000000 +0200
|
||||
--- src/version.c 2013-04-05 19:46:21.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 882,
|
||||
/**/
|
||||
|
||||
--
|
||||
Would you care for a drink? I mean, if it were, like,
|
||||
disabled and you had to look after it?
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
65
7.3.883
Normal file
65
7.3.883
Normal file
@ -0,0 +1,65 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.883
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.883 (after 7.3.880)
|
||||
Problem: Can't build with some combination of features.
|
||||
Solution: Adjust #ifdefs.
|
||||
Files: src/ex_getln.c
|
||||
|
||||
|
||||
*** ../vim-7.3.882/src/ex_getln.c 2013-04-05 18:58:41.000000000 +0200
|
||||
--- src/ex_getln.c 2013-04-06 13:24:22.000000000 +0200
|
||||
***************
|
||||
*** 114,126 ****
|
||||
static int ExpandRTDir __ARGS((char_u *pat, int *num_file, char_u ***file, char *dirname[]));
|
||||
# ifdef FEAT_CMDHIST
|
||||
static char_u *get_history_arg __ARGS((expand_T *xp, int idx));
|
||||
- static void clear_hist_entry __ARGS((histentry_T *hisptr));
|
||||
# endif
|
||||
# if defined(FEAT_USR_CMDS) && defined(FEAT_EVAL)
|
||||
static int ExpandUserDefined __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file));
|
||||
static int ExpandUserList __ARGS((expand_T *xp, int *num_file, char_u ***file));
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_CMDWIN
|
||||
static int ex_window __ARGS((void));
|
||||
--- 114,128 ----
|
||||
static int ExpandRTDir __ARGS((char_u *pat, int *num_file, char_u ***file, char *dirname[]));
|
||||
# ifdef FEAT_CMDHIST
|
||||
static char_u *get_history_arg __ARGS((expand_T *xp, int idx));
|
||||
# endif
|
||||
# if defined(FEAT_USR_CMDS) && defined(FEAT_EVAL)
|
||||
static int ExpandUserDefined __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file));
|
||||
static int ExpandUserList __ARGS((expand_T *xp, int *num_file, char_u ***file));
|
||||
# endif
|
||||
#endif
|
||||
+ #ifdef FEAT_CMDHIST
|
||||
+ static void clear_hist_entry __ARGS((histentry_T *hisptr));
|
||||
+ #endif
|
||||
|
||||
#ifdef FEAT_CMDWIN
|
||||
static int ex_window __ARGS((void));
|
||||
*** ../vim-7.3.882/src/version.c 2013-04-05 19:50:12.000000000 +0200
|
||||
--- src/version.c 2013-04-06 14:28:41.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 883,
|
||||
/**/
|
||||
|
||||
--
|
||||
Why is it called "Windows"? "Gates" would be more appropriate...
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
73
7.3.884
Normal file
73
7.3.884
Normal file
@ -0,0 +1,73 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.884
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.884
|
||||
Problem: Compiler warning for variable shadowing another. (John Little)
|
||||
Solution: Rename the variable. (Christian Brabandt)
|
||||
Files: src/term.c
|
||||
|
||||
|
||||
*** ../vim-7.3.883/src/term.c 2013-04-05 19:50:12.000000000 +0200
|
||||
--- src/term.c 2013-04-06 13:27:59.000000000 +0200
|
||||
***************
|
||||
*** 4134,4151 ****
|
||||
/* eat it when it has 2 arguments and ends in 'R' */
|
||||
if (j == 1 && tp[i] == 'R')
|
||||
{
|
||||
! char *p = NULL;
|
||||
|
||||
u7_status = U7_GOT;
|
||||
# ifdef FEAT_AUTOCMD
|
||||
did_cursorhold = TRUE;
|
||||
# endif
|
||||
if (extra == 2)
|
||||
! p = "single";
|
||||
else if (extra == 3)
|
||||
! p = "double";
|
||||
! if (p != NULL)
|
||||
! set_option_value((char_u *)"ambw", 0L, (char_u *)p, 0);
|
||||
key_name[0] = (int)KS_EXTRA;
|
||||
key_name[1] = (int)KE_IGNORE;
|
||||
slen = i + 1;
|
||||
--- 4134,4151 ----
|
||||
/* eat it when it has 2 arguments and ends in 'R' */
|
||||
if (j == 1 && tp[i] == 'R')
|
||||
{
|
||||
! char *aw = NULL;
|
||||
|
||||
u7_status = U7_GOT;
|
||||
# ifdef FEAT_AUTOCMD
|
||||
did_cursorhold = TRUE;
|
||||
# endif
|
||||
if (extra == 2)
|
||||
! aw = "single";
|
||||
else if (extra == 3)
|
||||
! aw = "double";
|
||||
! if (aw != NULL)
|
||||
! set_option_value((char_u *)"ambw", 0L, (char_u *)aw, 0);
|
||||
key_name[0] = (int)KS_EXTRA;
|
||||
key_name[1] = (int)KE_IGNORE;
|
||||
slen = i + 1;
|
||||
*** ../vim-7.3.883/src/version.c 2013-04-06 14:28:56.000000000 +0200
|
||||
--- src/version.c 2013-04-06 14:30:05.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 884,
|
||||
/**/
|
||||
|
||||
--
|
||||
Don't drink and drive. You might hit a bump and spill your beer.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
88
7.3.885
Normal file
88
7.3.885
Normal file
@ -0,0 +1,88 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.885
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.885
|
||||
Problem: Double free for list and dict in Lua. (Shougo Matsu)
|
||||
Solution: Do not unref list and dict. (Yasuhiro Matsumoto)
|
||||
Files: src/if_lua.c
|
||||
|
||||
|
||||
*** ../vim-7.3.884/src/if_lua.c 2013-02-14 22:19:47.000000000 +0100
|
||||
--- src/if_lua.c 2013-04-12 11:42:56.000000000 +0200
|
||||
***************
|
||||
*** 665,677 ****
|
||||
luaV_type_tostring(list, LUAVIM_LIST)
|
||||
|
||||
static int
|
||||
- luaV_list_gc (lua_State *L)
|
||||
- {
|
||||
- list_unref(luaV_unbox(L, luaV_List, 1));
|
||||
- return 0;
|
||||
- }
|
||||
-
|
||||
- static int
|
||||
luaV_list_len (lua_State *L)
|
||||
{
|
||||
list_T *l = luaV_unbox(L, luaV_List, 1);
|
||||
--- 665,670 ----
|
||||
***************
|
||||
*** 801,807 ****
|
||||
|
||||
static const luaL_Reg luaV_List_mt[] = {
|
||||
{"__tostring", luaV_list_tostring},
|
||||
- {"__gc", luaV_list_gc},
|
||||
{"__len", luaV_list_len},
|
||||
{"__call", luaV_list_call},
|
||||
{"__index", luaV_list_index},
|
||||
--- 794,799 ----
|
||||
***************
|
||||
*** 830,842 ****
|
||||
luaV_type_tostring(dict, LUAVIM_DICT)
|
||||
|
||||
static int
|
||||
- luaV_dict_gc (lua_State *L)
|
||||
- {
|
||||
- dict_unref(luaV_unbox(L, luaV_Dict, 1));
|
||||
- return 0;
|
||||
- }
|
||||
-
|
||||
- static int
|
||||
luaV_dict_len (lua_State *L)
|
||||
{
|
||||
dict_T *d = luaV_unbox(L, luaV_Dict, 1);
|
||||
--- 822,827 ----
|
||||
***************
|
||||
*** 929,935 ****
|
||||
|
||||
static const luaL_Reg luaV_Dict_mt[] = {
|
||||
{"__tostring", luaV_dict_tostring},
|
||||
- {"__gc", luaV_dict_gc},
|
||||
{"__len", luaV_dict_len},
|
||||
{"__call", luaV_dict_call},
|
||||
{"__index", luaV_dict_index},
|
||||
--- 914,919 ----
|
||||
*** ../vim-7.3.884/src/version.c 2013-04-06 14:30:35.000000000 +0200
|
||||
--- src/version.c 2013-04-12 11:44:45.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 885,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
148. You find it easier to dial-up the National Weather Service
|
||||
Weather/your_town/now.html than to simply look out the window.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
93
7.3.886
Normal file
93
7.3.886
Normal file
@ -0,0 +1,93 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.886
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.886
|
||||
Problem: Can't build with multi-byte on Solaris 10.
|
||||
Solution: Add #ifdef X_HAVE_UTF8_STRING. (Laurent Blume)
|
||||
Files: src/ui.c
|
||||
|
||||
|
||||
*** ../vim-7.3.885/src/ui.c 2013-03-13 17:50:20.000000000 +0100
|
||||
--- src/ui.c 2013-04-12 12:24:10.000000000 +0200
|
||||
***************
|
||||
*** 1458,1464 ****
|
||||
|
||||
int
|
||||
clip_gen_owner_exists(cbd)
|
||||
! VimClipboard *cbd;
|
||||
{
|
||||
#ifdef FEAT_XCLIPBOARD
|
||||
# ifdef FEAT_GUI_GTK
|
||||
--- 1458,1464 ----
|
||||
|
||||
int
|
||||
clip_gen_owner_exists(cbd)
|
||||
! VimClipboard *cbd UNUSED;
|
||||
{
|
||||
#ifdef FEAT_XCLIPBOARD
|
||||
# ifdef FEAT_GUI_GTK
|
||||
***************
|
||||
*** 2134,2140 ****
|
||||
text_prop.encoding = *type;
|
||||
text_prop.format = *format;
|
||||
text_prop.nitems = len;
|
||||
! #ifdef FEAT_MBYTE
|
||||
if (*type == utf8_atom)
|
||||
status = Xutf8TextPropertyToTextList(X_DISPLAY, &text_prop,
|
||||
&text_list, &n_text);
|
||||
--- 2134,2140 ----
|
||||
text_prop.encoding = *type;
|
||||
text_prop.format = *format;
|
||||
text_prop.nitems = len;
|
||||
! #if defined(FEAT_MBYTE) && defined(X_HAVE_UTF8_STRING)
|
||||
if (*type == utf8_atom)
|
||||
status = Xutf8TextPropertyToTextList(X_DISPLAY, &text_prop,
|
||||
&text_list, &n_text);
|
||||
***************
|
||||
*** 2196,2203 ****
|
||||
default: type = XA_STRING;
|
||||
}
|
||||
#ifdef FEAT_MBYTE
|
||||
! if (type == utf8_atom && !enc_utf8)
|
||||
! /* Only request utf-8 when 'encoding' is utf8. */
|
||||
continue;
|
||||
#endif
|
||||
success = MAYBE;
|
||||
--- 2196,2208 ----
|
||||
default: type = XA_STRING;
|
||||
}
|
||||
#ifdef FEAT_MBYTE
|
||||
! if (type == utf8_atom
|
||||
! # if defined(X_HAVE_UTF8_STRING)
|
||||
! && !enc_utf8
|
||||
! # endif
|
||||
! )
|
||||
! /* Only request utf-8 when 'encoding' is utf8 and
|
||||
! * Xutf8TextPropertyToTextList is available. */
|
||||
continue;
|
||||
#endif
|
||||
success = MAYBE;
|
||||
*** ../vim-7.3.885/src/version.c 2013-04-12 12:18:43.000000000 +0200
|
||||
--- src/version.c 2013-04-12 12:25:44.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 886,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
149. You find your computer sexier than your girlfriend
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
308
7.3.887
Normal file
308
7.3.887
Normal file
@ -0,0 +1,308 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.887
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.887
|
||||
Problem: No tests for Visual mode operators, what 7.3.879 fixes.
|
||||
Solution: Add a new test file. (David Bürgin)
|
||||
Files: src/testdir/test94.in, src/testdir/test94.ok,
|
||||
src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
|
||||
src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
|
||||
src/testdir/Make_vms.mms, src/testdir/Makefile
|
||||
|
||||
|
||||
*** ../vim-7.3.886/src/testdir/test94.in 2013-04-12 13:44:19.000000000 +0200
|
||||
--- src/testdir/test94.in 2013-04-12 13:37:12.000000000 +0200
|
||||
***************
|
||||
*** 0 ****
|
||||
--- 1,98 ----
|
||||
+ Test for Visual mode and operators
|
||||
+
|
||||
+ Tests for the two kinds of operations: Those executed with Visual mode
|
||||
+ followed by an operator and those executed via Operator-pending mode. Also
|
||||
+ part of the test are mappings, counts, and repetition with the . command.
|
||||
+
|
||||
+ Test cases:
|
||||
+ - Visual modes (v V CTRL-V) followed by an operator; count; repeating
|
||||
+ - Visual mode maps; count; repeating
|
||||
+ - Simple
|
||||
+ - With an Ex command (custom text object)
|
||||
+ - Operator-pending mode maps
|
||||
+ - Simple
|
||||
+ - With Ex command moving the cursor
|
||||
+ - With Ex command and Visual selection (custom text object)
|
||||
+ - Patch 7.3.879: Properly abort Ex command in Operator-pending mode
|
||||
+
|
||||
+ STARTTEST
|
||||
+ :so small.vim
|
||||
+ :set nocp
|
||||
+ :
|
||||
+ :" User functions
|
||||
+ :function MoveToCap()
|
||||
+ : call search('\u', 'W')
|
||||
+ :endfunction
|
||||
+ :function SelectInCaps()
|
||||
+ : let [line1, col1] = searchpos('\u', 'bcnW')
|
||||
+ : let [line2, col2] = searchpos('.\u', 'nW')
|
||||
+ : call setpos("'<", [0, line1, col1, 0])
|
||||
+ : call setpos("'>", [0, line2, col2, 0])
|
||||
+ : normal! gv
|
||||
+ :endfunction
|
||||
+ :function MoveToEndCount(count)
|
||||
+ : normal! v:count . e
|
||||
+ :endfunction
|
||||
+ :
|
||||
+ :" Visual modes followed by operator
|
||||
+ /^apple
|
||||
+ lvld.l3vd.:
|
||||
+ /^line 1
|
||||
+ Vcnewlinej.j2Vd.:
|
||||
+ /^xxxx
|
||||
+ jlc l.l2c----l.:
|
||||
+ :
|
||||
+ :" Visual mode maps (movement and text object)
|
||||
+ :vnoremap W /\u/s-1<CR>
|
||||
+ :vnoremap iW :<C-U>call SelectInCaps()<CR>
|
||||
+ /^Kiwi
|
||||
+ vWcNol.fD2vd.:
|
||||
+ /^Jambu
|
||||
+ llviWc-l.l2vdl.:
|
||||
+ :
|
||||
+ :" Operator-pending mode maps (movement and text object)
|
||||
+ :onoremap W /\u/<CR>
|
||||
+ :onoremap <Leader>W :<C-U>call MoveToCap()<CR>
|
||||
+ :onoremap iW :<C-U>call SelectInCaps()<CR>
|
||||
+ /^Pineapple
|
||||
+ cW-l.l2.l.:
|
||||
+ /^Juniper
|
||||
+ g?\WfD.:
|
||||
+ /^Lemon
|
||||
+ yiWPlciWNew:
|
||||
+ :
|
||||
+ :" Patch 7.3.879: Properly abort Operator-pending mode for "dv:<Esc>" etc.
|
||||
+ /^zzzz
|
||||
+ dV:
dv:
:set noma | let v:errmsg = ''
|
||||
+ d:
:set ma | put = v:errmsg =~# '^E21' ? 'ok' : 'failed'
|
||||
+ dv:dV::set noma | let v:errmsg = ''
|
||||
+ d::set ma | put = v:errmsg =~# '^E21' ? 'failed' : 'ok'
|
||||
+ :/^start:/+2,$w! test.out
|
||||
+ :q!
|
||||
+ ENDTEST
|
||||
+
|
||||
+ start:
|
||||
+
|
||||
+ apple banana cherry
|
||||
+
|
||||
+ line 1 line 1
|
||||
+ line 2 line 2
|
||||
+ line 3 line 3
|
||||
+ line 4 line 4
|
||||
+ line 5 line 5
|
||||
+ line 6 line 6
|
||||
+
|
||||
+ xxxxxxxxxxxxx
|
||||
+ xxxxxxxxxxxxx
|
||||
+ xxxxxxxxxxxxx
|
||||
+ xxxxxxxxxxxxx
|
||||
+
|
||||
+ KiwiRaspberryDateWatermelonPeach
|
||||
+ JambuRambutanBananaTangerineMango
|
||||
+
|
||||
+ PineappleQuinceLoganberryOrangeGrapefruitKiwiZ
|
||||
+ JuniperDurianZ
|
||||
+ LemonNectarineZ
|
||||
+
|
||||
+ zzzz
|
||||
+ zzzz
|
||||
*** ../vim-7.3.886/src/testdir/test94.ok 2013-04-12 13:44:19.000000000 +0200
|
||||
--- src/testdir/test94.ok 2013-04-12 13:37:12.000000000 +0200
|
||||
***************
|
||||
*** 0 ****
|
||||
--- 1,20 ----
|
||||
+ a y
|
||||
+
|
||||
+ newline
|
||||
+ newline
|
||||
+
|
||||
+ --------x
|
||||
+ --------x
|
||||
+ xxxx--------x
|
||||
+ xxxx--------x
|
||||
+
|
||||
+ NoNoberryach
|
||||
+ --ago
|
||||
+
|
||||
+ ----Z
|
||||
+ WhavcreQhevnaZ
|
||||
+ LemonNewNectarineZ
|
||||
+
|
||||
+ zzz
|
||||
+ ok
|
||||
+ ok
|
||||
*** ../vim-7.3.886/src/testdir/Make_amiga.mak 2013-02-26 17:21:15.000000000 +0100
|
||||
--- src/testdir/Make_amiga.mak 2013-04-12 13:39:47.000000000 +0200
|
||||
***************
|
||||
*** 32,38 ****
|
||||
test71.out test72.out test73.out test74.out test75.out \
|
||||
test76.out test77.out test78.out test79.out test80.out \
|
||||
test81.out test82.out test83.out test84.out test88.out \
|
||||
! test89.out test90.out test91.out test92.out test93.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
--- 32,39 ----
|
||||
test71.out test72.out test73.out test74.out test75.out \
|
||||
test76.out test77.out test78.out test79.out test80.out \
|
||||
test81.out test82.out test83.out test84.out test88.out \
|
||||
! test89.out test90.out test91.out test92.out test93.out \
|
||||
! test94.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
***************
|
||||
*** 142,144 ****
|
||||
--- 143,146 ----
|
||||
test91.out: test91.in
|
||||
test92.out: test92.in
|
||||
test93.out: test93.in
|
||||
+ test94.out: test94.in
|
||||
*** ../vim-7.3.886/src/testdir/Make_dos.mak 2013-02-26 17:21:15.000000000 +0100
|
||||
--- src/testdir/Make_dos.mak 2013-04-12 13:39:56.000000000 +0200
|
||||
***************
|
||||
*** 31,37 ****
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out test81.out test82.out test83.out \
|
||||
test84.out test85.out test86.out test87.out test88.out \
|
||||
! test89.out test90.out test91.out test92.out test93.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
--- 31,38 ----
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out test81.out test82.out test83.out \
|
||||
test84.out test85.out test86.out test87.out test88.out \
|
||||
! test89.out test90.out test91.out test92.out test93.out \
|
||||
! test94.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
*** ../vim-7.3.886/src/testdir/Make_ming.mak 2013-02-26 17:21:15.000000000 +0100
|
||||
--- src/testdir/Make_ming.mak 2013-04-12 13:40:06.000000000 +0200
|
||||
***************
|
||||
*** 51,57 ****
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out test81.out test82.out test83.out \
|
||||
test84.out test85.out test86.out test87.out test88.out \
|
||||
! test89.out test90.out test91.out test92.out test93.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
--- 51,58 ----
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out test81.out test82.out test83.out \
|
||||
test84.out test85.out test86.out test87.out test88.out \
|
||||
! test89.out test90.out test91.out test92.out test93.out \
|
||||
! test94.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
*** ../vim-7.3.886/src/testdir/Make_os2.mak 2013-02-26 17:21:15.000000000 +0100
|
||||
--- src/testdir/Make_os2.mak 2013-04-12 13:40:13.000000000 +0200
|
||||
***************
|
||||
*** 32,38 ****
|
||||
test71.out test72.out test73.out test74.out test75.out \
|
||||
test76.out test77.out test78.out test79.out test80.out \
|
||||
test81.out test82.out test83.out test84.out test88.out \
|
||||
! test89.out test90.out test91.out test92.out test93.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
--- 32,39 ----
|
||||
test71.out test72.out test73.out test74.out test75.out \
|
||||
test76.out test77.out test78.out test79.out test80.out \
|
||||
test81.out test82.out test83.out test84.out test88.out \
|
||||
! test89.out test90.out test91.out test92.out test93.out \
|
||||
! test94.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
*** ../vim-7.3.886/src/testdir/Make_vms.mms 2013-02-26 17:21:15.000000000 +0100
|
||||
--- src/testdir/Make_vms.mms 2013-04-12 13:40:24.000000000 +0200
|
||||
***************
|
||||
*** 4,10 ****
|
||||
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
|
||||
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
|
||||
#
|
||||
! # Last change: 2013-02-21
|
||||
#
|
||||
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
|
||||
# Edit the lines in the Configuration section below to select.
|
||||
--- 4,10 ----
|
||||
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
|
||||
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
|
||||
#
|
||||
! # Last change: 2013 Apr 12
|
||||
#
|
||||
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
|
||||
# Edit the lines in the Configuration section below to select.
|
||||
***************
|
||||
*** 77,83 ****
|
||||
test71.out test72.out test74.out test75.out test76.out \
|
||||
test77.out test78.out test79.out test80.out test81.out \
|
||||
test82.out test83.out test84.out test88.out test89.out \
|
||||
! test90.out test91.out test92.out test93.out
|
||||
|
||||
# Known problems:
|
||||
# Test 30: a problem around mac format - unknown reason
|
||||
--- 77,83 ----
|
||||
test71.out test72.out test74.out test75.out test76.out \
|
||||
test77.out test78.out test79.out test80.out test81.out \
|
||||
test82.out test83.out test84.out test88.out test89.out \
|
||||
! test90.out test91.out test92.out test93.out test94.out
|
||||
|
||||
# Known problems:
|
||||
# Test 30: a problem around mac format - unknown reason
|
||||
*** ../vim-7.3.886/src/testdir/Makefile 2013-02-26 17:21:15.000000000 +0100
|
||||
--- src/testdir/Makefile 2013-04-12 13:40:32.000000000 +0200
|
||||
***************
|
||||
*** 28,34 ****
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out test81.out test82.out test83.out \
|
||||
test84.out test85.out test86.out test87.out test88.out \
|
||||
! test89.out test90.out test91.out test92.out test93.out
|
||||
|
||||
SCRIPTS_GUI = test16.out
|
||||
|
||||
--- 28,35 ----
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out test81.out test82.out test83.out \
|
||||
test84.out test85.out test86.out test87.out test88.out \
|
||||
! test89.out test90.out test91.out test92.out test93.out \
|
||||
! test94.out
|
||||
|
||||
SCRIPTS_GUI = test16.out
|
||||
|
||||
*** ../vim-7.3.886/src/version.c 2013-04-12 12:27:24.000000000 +0200
|
||||
--- src/version.c 2013-04-12 13:43:34.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 887,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
153. You find yourself staring at your "inbox" waiting for new e-mail
|
||||
to arrive.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
150
7.3.888
Normal file
150
7.3.888
Normal file
@ -0,0 +1,150 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.888
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.888
|
||||
Problem: Filename completion with 'fileignorecase' does not work for
|
||||
multi-byte characters.
|
||||
Solution: Make 'fileignorecase' work properly. (Hirohito Higashi)
|
||||
Files: src/misc2.c
|
||||
|
||||
|
||||
*** ../vim-7.3.887/src/misc2.c 2013-03-19 18:31:45.000000000 +0100
|
||||
--- src/misc2.c 2013-04-12 14:15:03.000000000 +0200
|
||||
***************
|
||||
*** 6099,6150 ****
|
||||
int maxlen;
|
||||
{
|
||||
int i;
|
||||
const char *s = NULL;
|
||||
|
||||
! for (i = 0; maxlen < 0 || i < maxlen; ++i)
|
||||
{
|
||||
/* End of "p": check if "q" also ends or just has a slash. */
|
||||
! if (p[i] == NUL)
|
||||
{
|
||||
! if (q[i] == NUL) /* full match */
|
||||
return 0;
|
||||
s = q;
|
||||
break;
|
||||
}
|
||||
|
||||
/* End of "q": check if "p" just has a slash. */
|
||||
! if (q[i] == NUL)
|
||||
{
|
||||
s = p;
|
||||
break;
|
||||
}
|
||||
|
||||
! if ((p_fic ? TOUPPER_LOC(p[i]) != TOUPPER_LOC(q[i]) : p[i] != q[i])
|
||||
#ifdef BACKSLASH_IN_FILENAME
|
||||
/* consider '/' and '\\' to be equal */
|
||||
! && !((p[i] == '/' && q[i] == '\\')
|
||||
! || (p[i] == '\\' && q[i] == '/'))
|
||||
#endif
|
||||
)
|
||||
{
|
||||
! if (vim_ispathsep(p[i]))
|
||||
return -1;
|
||||
! if (vim_ispathsep(q[i]))
|
||||
return 1;
|
||||
! return ((char_u *)p)[i] - ((char_u *)q)[i]; /* no match */
|
||||
}
|
||||
}
|
||||
if (s == NULL) /* "i" ran into "maxlen" */
|
||||
return 0;
|
||||
|
||||
/* ignore a trailing slash, but not "//" or ":/" */
|
||||
! if (s[i + 1] == NUL
|
||||
&& i > 0
|
||||
&& !after_pathsep((char_u *)s, (char_u *)s + i)
|
||||
#ifdef BACKSLASH_IN_FILENAME
|
||||
! && (s[i] == '/' || s[i] == '\\')
|
||||
#else
|
||||
! && s[i] == '/'
|
||||
#endif
|
||||
)
|
||||
return 0; /* match with trailing slash */
|
||||
--- 6099,6157 ----
|
||||
int maxlen;
|
||||
{
|
||||
int i;
|
||||
+ int c1, c2;
|
||||
const char *s = NULL;
|
||||
|
||||
! for (i = 0; maxlen < 0 || i < maxlen; i += MB_PTR2LEN((char_u *)p + i))
|
||||
{
|
||||
+ c1 = PTR2CHAR((char_u *)p + i);
|
||||
+ c2 = PTR2CHAR((char_u *)q + i);
|
||||
+
|
||||
/* End of "p": check if "q" also ends or just has a slash. */
|
||||
! if (c1 == NUL)
|
||||
{
|
||||
! if (c2 == NUL) /* full match */
|
||||
return 0;
|
||||
s = q;
|
||||
break;
|
||||
}
|
||||
|
||||
/* End of "q": check if "p" just has a slash. */
|
||||
! if (c2 == NUL)
|
||||
{
|
||||
s = p;
|
||||
break;
|
||||
}
|
||||
|
||||
! if ((p_fic ? MB_TOUPPER(c1) != MB_TOUPPER(c2) : c1 != c2)
|
||||
#ifdef BACKSLASH_IN_FILENAME
|
||||
/* consider '/' and '\\' to be equal */
|
||||
! && !((c1 == '/' && c2 == '\\')
|
||||
! || (c1 == '\\' && c2 == '/'))
|
||||
#endif
|
||||
)
|
||||
{
|
||||
! if (vim_ispathsep(c1))
|
||||
return -1;
|
||||
! if (vim_ispathsep(c2))
|
||||
return 1;
|
||||
! return p_fic ? MB_TOUPPER(c1) - MB_TOUPPER(c2)
|
||||
! : c1 - c2; /* no match */
|
||||
}
|
||||
}
|
||||
if (s == NULL) /* "i" ran into "maxlen" */
|
||||
return 0;
|
||||
|
||||
+ c1 = PTR2CHAR((char_u *)s + i);
|
||||
+ c2 = PTR2CHAR((char_u *)s + i + MB_PTR2LEN((char_u *)s + i));
|
||||
/* ignore a trailing slash, but not "//" or ":/" */
|
||||
! if (c2 == NUL
|
||||
&& i > 0
|
||||
&& !after_pathsep((char_u *)s, (char_u *)s + i)
|
||||
#ifdef BACKSLASH_IN_FILENAME
|
||||
! && (c1 == '/' || c1 == '\\')
|
||||
#else
|
||||
! && c1 == '/'
|
||||
#endif
|
||||
)
|
||||
return 0; /* match with trailing slash */
|
||||
*** ../vim-7.3.887/src/version.c 2013-04-12 13:44:49.000000000 +0200
|
||||
--- src/version.c 2013-04-12 14:10:41.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 888,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
155. You forget to eat because you're too busy surfing the net.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
71
7.3.889
Normal file
71
7.3.889
Normal file
@ -0,0 +1,71 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.889
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.889
|
||||
Problem: Can't build with Ruby 2.0 on a 64 bit system.
|
||||
Solution: Define rb_fix2int and rb_num2int. (Kohei Suzuki)
|
||||
Files: src/if_ruby.c
|
||||
|
||||
|
||||
*** ../vim-7.3.888/src/if_ruby.c 2013-03-07 15:16:16.000000000 +0100
|
||||
--- src/if_ruby.c 2013-04-12 15:25:26.000000000 +0200
|
||||
***************
|
||||
*** 88,93 ****
|
||||
--- 88,101 ----
|
||||
# define rb_int2big rb_int2big_stub
|
||||
#endif
|
||||
|
||||
+ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \
|
||||
+ && SIZEOF_INT < SIZEOF_LONG
|
||||
+ /* Ruby 2.0 defines a number of static functions which use rb_fix2int and
|
||||
+ * rb_num2int if SIZEOF_INT < SIZEOF_LONG (64bit) */
|
||||
+ # define rb_fix2int rb_fix2int_stub
|
||||
+ # define rb_num2int rb_num2int_stub
|
||||
+ #endif
|
||||
+
|
||||
#include <ruby.h>
|
||||
#ifdef RUBY19_OR_LATER
|
||||
# include <ruby/encoding.h>
|
||||
***************
|
||||
*** 352,357 ****
|
||||
--- 360,376 ----
|
||||
{
|
||||
return dll_rb_int2big(x);
|
||||
}
|
||||
+ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \
|
||||
+ && SIZEOF_INT < SIZEOF_LONG
|
||||
+ long rb_fix2int_stub(VALUE x)
|
||||
+ {
|
||||
+ return dll_rb_fix2int(x);
|
||||
+ }
|
||||
+ long rb_num2int_stub(VALUE x)
|
||||
+ {
|
||||
+ return dll_rb_num2int(x);
|
||||
+ }
|
||||
+ #endif
|
||||
#if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20
|
||||
VALUE
|
||||
rb_float_new_in_heap(double d)
|
||||
*** ../vim-7.3.888/src/version.c 2013-04-12 14:42:35.000000000 +0200
|
||||
--- src/version.c 2013-04-12 15:24:15.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 889,
|
||||
/**/
|
||||
|
||||
--
|
||||
"Hit any key to continue" is very confusing when you have two keyboards.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
60
7.3.890
Normal file
60
7.3.890
Normal file
@ -0,0 +1,60 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.890
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.890
|
||||
Problem: Test 79 fails on Windows. (Michael Soyka)
|
||||
Solution: Add comment below line causing an error.
|
||||
Files: src/testdir/test79.in
|
||||
|
||||
|
||||
*** ../vim-7.3.889/src/testdir/test79.in 2013-03-19 17:42:10.000000000 +0100
|
||||
--- src/testdir/test79.in 2013-04-13 11:16:38.000000000 +0200
|
||||
***************
|
||||
*** 206,216 ****
|
||||
STARTTEST
|
||||
:set magic&
|
||||
:set cpo&
|
||||
! /^TEST/
|
||||
j:s/A./\=submatch(0)/
|
||||
j:s/B./\=submatch(0)/
|
||||
/^Q$
|
||||
:s/Q[^\n]Q/\=submatch(0)."foobar"/
|
||||
ENDTEST
|
||||
|
||||
TEST_7:
|
||||
--- 206,217 ----
|
||||
STARTTEST
|
||||
:set magic&
|
||||
:set cpo&
|
||||
! /^TEST_7/
|
||||
j:s/A./\=submatch(0)/
|
||||
j:s/B./\=submatch(0)/
|
||||
/^Q$
|
||||
:s/Q[^\n]Q/\=submatch(0)."foobar"/
|
||||
+ :" Avoid :s error breaks dotest map on Windows.
|
||||
ENDTEST
|
||||
|
||||
TEST_7:
|
||||
*** ../vim-7.3.889/src/version.c 2013-04-14 16:18:52.000000000 +0200
|
||||
--- src/version.c 2013-04-14 16:21:14.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 890,
|
||||
/**/
|
||||
|
||||
--
|
||||
"Hit any key to continue" it said, but nothing happened after F sharp.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
142
7.3.891
Normal file
142
7.3.891
Normal file
@ -0,0 +1,142 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.891
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.891
|
||||
Problem: Merging viminfo history doesn't work well.
|
||||
Solution: Don't stop when one type of history is empty. Don't merge history
|
||||
when writing viminfo.
|
||||
Files: src/ex_getln.c
|
||||
|
||||
|
||||
*** ../vim-7.3.890/src/ex_getln.c 2013-04-06 14:28:56.000000000 +0200
|
||||
--- src/ex_getln.c 2013-04-14 16:25:28.000000000 +0200
|
||||
***************
|
||||
*** 6130,6136 ****
|
||||
for (type = 0; type < HIST_COUNT; ++type)
|
||||
{
|
||||
if (history[type] == NULL)
|
||||
! return;
|
||||
idx = hisidx[type] + viminfo_hisidx[type];
|
||||
if (idx >= hislen)
|
||||
idx -= hislen;
|
||||
--- 6130,6136 ----
|
||||
for (type = 0; type < HIST_COUNT; ++type)
|
||||
{
|
||||
if (history[type] == NULL)
|
||||
! continue;
|
||||
idx = hisidx[type] + viminfo_hisidx[type];
|
||||
if (idx >= hislen)
|
||||
idx -= hislen;
|
||||
***************
|
||||
*** 6182,6187 ****
|
||||
--- 6182,6188 ----
|
||||
int num_saved;
|
||||
char_u *p;
|
||||
int c;
|
||||
+ int round;
|
||||
|
||||
init_history();
|
||||
if (hislen == 0)
|
||||
***************
|
||||
*** 6200,6225 ****
|
||||
_("Input Line"));
|
||||
if (num_saved > hislen)
|
||||
num_saved = hislen;
|
||||
! i = hisidx[type];
|
||||
! if (i >= 0)
|
||||
! while (num_saved--)
|
||||
! {
|
||||
! p = history[type][i].hisstr;
|
||||
! if (p != NULL)
|
||||
{
|
||||
! fputc(hist_type2char(type, TRUE), fp);
|
||||
! /* For the search history: put the separator in the second
|
||||
! * column; use a space if there isn't one. */
|
||||
! if (type == HIST_SEARCH)
|
||||
{
|
||||
! c = p[STRLEN(p) + 1];
|
||||
! putc(c == NUL ? ' ' : c, fp);
|
||||
}
|
||||
- viminfo_writestring(fp, p);
|
||||
}
|
||||
! if (--i < 0)
|
||||
! i = hislen - 1;
|
||||
! }
|
||||
}
|
||||
}
|
||||
#endif /* FEAT_VIMINFO */
|
||||
--- 6201,6250 ----
|
||||
_("Input Line"));
|
||||
if (num_saved > hislen)
|
||||
num_saved = hislen;
|
||||
!
|
||||
! /*
|
||||
! * Merge typed and viminfo history:
|
||||
! * round 1: history of typed commands.
|
||||
! * round 2: history from recently read viminfo.
|
||||
! */
|
||||
! for (round = 1; round <= 2; ++round)
|
||||
! {
|
||||
! i = round == 1 ? hisidx[type] : 0;
|
||||
! if (i >= 0)
|
||||
! while (num_saved > 0
|
||||
! && !(round == 2 && i >= viminfo_hisidx[type]))
|
||||
{
|
||||
! p = round == 1 ? history[type][i].hisstr
|
||||
! : viminfo_history[type][i];
|
||||
! if (p != NULL)
|
||||
{
|
||||
! --num_saved;
|
||||
! fputc(hist_type2char(type, TRUE), fp);
|
||||
! /* For the search history: put the separator in the
|
||||
! * second column; use a space if there isn't one. */
|
||||
! if (type == HIST_SEARCH)
|
||||
! {
|
||||
! c = p[STRLEN(p) + 1];
|
||||
! putc(c == NUL ? ' ' : c, fp);
|
||||
! }
|
||||
! viminfo_writestring(fp, p);
|
||||
! }
|
||||
! if (round == 1)
|
||||
! {
|
||||
! /* Decrement index, loop around and stop when back at
|
||||
! * the start. */
|
||||
! if (--i < 0)
|
||||
! i = hislen - 1;
|
||||
! if (i == hisidx[type])
|
||||
! break;
|
||||
! }
|
||||
! else
|
||||
! {
|
||||
! /* Increment index. Stop at the end in the while. */
|
||||
! ++i;
|
||||
}
|
||||
}
|
||||
! }
|
||||
}
|
||||
}
|
||||
#endif /* FEAT_VIMINFO */
|
||||
*** ../vim-7.3.890/src/version.c 2013-04-14 16:21:30.000000000 +0200
|
||||
--- src/version.c 2013-04-14 16:23:17.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 891,
|
||||
/**/
|
||||
|
||||
--
|
||||
"The question of whether computers can think is just like the question
|
||||
of whether submarines can swim." -- Edsger W. Dijkstra
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
295
7.3.892
Normal file
295
7.3.892
Normal file
@ -0,0 +1,295 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.892
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.892 (after 7.3.891)
|
||||
Problem: Still merging problems for viminfo history.
|
||||
Solution: Do not merge lines when writing, don't write old viminfo lines.
|
||||
Files: src/ex_getln.c, src/ex_cmds.c, src/proto/ex_getln.pro
|
||||
|
||||
|
||||
*** ../vim-7.3.891/src/ex_getln.c 2013-04-14 16:26:08.000000000 +0200
|
||||
--- src/ex_getln.c 2013-04-14 23:12:37.000000000 +0200
|
||||
***************
|
||||
*** 68,74 ****
|
||||
|
||||
static int hist_char2type __ARGS((int c));
|
||||
|
||||
! static int in_history __ARGS((int, char_u *, int, int));
|
||||
# ifdef FEAT_EVAL
|
||||
static int calc_hist_idx __ARGS((int histype, int num));
|
||||
# endif
|
||||
--- 68,74 ----
|
||||
|
||||
static int hist_char2type __ARGS((int c));
|
||||
|
||||
! static int in_history __ARGS((int, char_u *, int, int, int));
|
||||
# ifdef FEAT_EVAL
|
||||
static int calc_hist_idx __ARGS((int histype, int num));
|
||||
# endif
|
||||
***************
|
||||
*** 5397,5407 ****
|
||||
* If 'move_to_front' is TRUE, matching entry is moved to end of history.
|
||||
*/
|
||||
static int
|
||||
! in_history(type, str, move_to_front, sep)
|
||||
int type;
|
||||
char_u *str;
|
||||
int move_to_front; /* Move the entry to the front if it exists */
|
||||
int sep;
|
||||
{
|
||||
int i;
|
||||
int last_i = -1;
|
||||
--- 5397,5408 ----
|
||||
* If 'move_to_front' is TRUE, matching entry is moved to end of history.
|
||||
*/
|
||||
static int
|
||||
! in_history(type, str, move_to_front, sep, writing)
|
||||
int type;
|
||||
char_u *str;
|
||||
int move_to_front; /* Move the entry to the front if it exists */
|
||||
int sep;
|
||||
+ int writing; /* ignore entries read from viminfo */
|
||||
{
|
||||
int i;
|
||||
int last_i = -1;
|
||||
***************
|
||||
*** 5419,5424 ****
|
||||
--- 5420,5426 ----
|
||||
* well. */
|
||||
p = history[type][i].hisstr;
|
||||
if (STRCMP(str, p) == 0
|
||||
+ && !(writing && history[type][i].viminfo)
|
||||
&& (type != HIST_SEARCH || sep == p[STRLEN(p) + 1]))
|
||||
{
|
||||
if (!move_to_front)
|
||||
***************
|
||||
*** 5513,5519 ****
|
||||
}
|
||||
last_maptick = -1;
|
||||
}
|
||||
! if (!in_history(histype, new_entry, TRUE, sep))
|
||||
{
|
||||
if (++hisidx[histype] == hislen)
|
||||
hisidx[histype] = 0;
|
||||
--- 5515,5521 ----
|
||||
}
|
||||
last_maptick = -1;
|
||||
}
|
||||
! if (!in_history(histype, new_entry, TRUE, sep, FALSE))
|
||||
{
|
||||
if (++hisidx[histype] == hislen)
|
||||
hisidx[histype] = 0;
|
||||
***************
|
||||
*** 6032,6039 ****
|
||||
* This allocates history arrays to store the read history lines.
|
||||
*/
|
||||
void
|
||||
! prepare_viminfo_history(asklen)
|
||||
int asklen;
|
||||
{
|
||||
int i;
|
||||
int num;
|
||||
--- 6034,6042 ----
|
||||
* This allocates history arrays to store the read history lines.
|
||||
*/
|
||||
void
|
||||
! prepare_viminfo_history(asklen, writing)
|
||||
int asklen;
|
||||
+ int writing;
|
||||
{
|
||||
int i;
|
||||
int num;
|
||||
***************
|
||||
*** 6041,6047 ****
|
||||
int len;
|
||||
|
||||
init_history();
|
||||
! viminfo_add_at_front = (asklen != 0);
|
||||
if (asklen > hislen)
|
||||
asklen = hislen;
|
||||
|
||||
--- 6044,6050 ----
|
||||
int len;
|
||||
|
||||
init_history();
|
||||
! viminfo_add_at_front = (asklen != 0 && !writing);
|
||||
if (asklen > hislen)
|
||||
asklen = hislen;
|
||||
|
||||
***************
|
||||
*** 6073,6080 ****
|
||||
* new.
|
||||
*/
|
||||
int
|
||||
! read_viminfo_history(virp)
|
||||
vir_T *virp;
|
||||
{
|
||||
int type;
|
||||
long_u len;
|
||||
--- 6076,6084 ----
|
||||
* new.
|
||||
*/
|
||||
int
|
||||
! read_viminfo_history(virp, writing)
|
||||
vir_T *virp;
|
||||
+ int writing;
|
||||
{
|
||||
int type;
|
||||
long_u len;
|
||||
***************
|
||||
*** 6090,6096 ****
|
||||
int sep = (*val == ' ' ? NUL : *val);
|
||||
|
||||
if (!in_history(type, val + (type == HIST_SEARCH),
|
||||
! viminfo_add_at_front, sep))
|
||||
{
|
||||
/* Need to re-allocate to append the separator byte. */
|
||||
len = STRLEN(val);
|
||||
--- 6094,6100 ----
|
||||
int sep = (*val == ' ' ? NUL : *val);
|
||||
|
||||
if (!in_history(type, val + (type == HIST_SEARCH),
|
||||
! viminfo_add_at_front, sep, writing))
|
||||
{
|
||||
/* Need to re-allocate to append the separator byte. */
|
||||
len = STRLEN(val);
|
||||
***************
|
||||
*** 6120,6125 ****
|
||||
--- 6124,6132 ----
|
||||
return viminfo_readline(virp);
|
||||
}
|
||||
|
||||
+ /*
|
||||
+ * Finish reading history lines from viminfo. Not used when writing viminfo.
|
||||
+ */
|
||||
void
|
||||
finish_viminfo_history()
|
||||
{
|
||||
***************
|
||||
*** 6216,6222 ****
|
||||
{
|
||||
p = round == 1 ? history[type][i].hisstr
|
||||
: viminfo_history[type][i];
|
||||
! if (p != NULL)
|
||||
{
|
||||
--num_saved;
|
||||
fputc(hist_type2char(type, TRUE), fp);
|
||||
--- 6223,6229 ----
|
||||
{
|
||||
p = round == 1 ? history[type][i].hisstr
|
||||
: viminfo_history[type][i];
|
||||
! if (p != NULL && (round == 2 || !history[type][i].viminfo))
|
||||
{
|
||||
--num_saved;
|
||||
fputc(hist_type2char(type, TRUE), fp);
|
||||
***************
|
||||
*** 6245,6250 ****
|
||||
--- 6252,6261 ----
|
||||
}
|
||||
}
|
||||
}
|
||||
+ for (i = 0; i < viminfo_hisidx[type]; ++i)
|
||||
+ vim_free(viminfo_history[type][i]);
|
||||
+ vim_free(viminfo_history[type]);
|
||||
+ viminfo_history[type] = NULL;
|
||||
}
|
||||
}
|
||||
#endif /* FEAT_VIMINFO */
|
||||
*** ../vim-7.3.891/src/ex_cmds.c 2013-03-07 16:41:26.000000000 +0100
|
||||
--- src/ex_cmds.c 2013-04-14 23:08:26.000000000 +0200
|
||||
***************
|
||||
*** 2113,2119 ****
|
||||
buf_T *buf;
|
||||
|
||||
#ifdef FEAT_CMDHIST
|
||||
! prepare_viminfo_history(forceit ? 9999 : 0);
|
||||
#endif
|
||||
eof = viminfo_readline(virp);
|
||||
while (!eof && virp->vir_line[0] != '>')
|
||||
--- 2113,2119 ----
|
||||
buf_T *buf;
|
||||
|
||||
#ifdef FEAT_CMDHIST
|
||||
! prepare_viminfo_history(forceit ? 9999 : 0, writing);
|
||||
#endif
|
||||
eof = viminfo_readline(virp);
|
||||
while (!eof && virp->vir_line[0] != '>')
|
||||
***************
|
||||
*** 2161,2167 ****
|
||||
case '=':
|
||||
case '@':
|
||||
#ifdef FEAT_CMDHIST
|
||||
! eof = read_viminfo_history(virp);
|
||||
#else
|
||||
eof = viminfo_readline(virp);
|
||||
#endif
|
||||
--- 2161,2167 ----
|
||||
case '=':
|
||||
case '@':
|
||||
#ifdef FEAT_CMDHIST
|
||||
! eof = read_viminfo_history(virp, writing);
|
||||
#else
|
||||
eof = viminfo_readline(virp);
|
||||
#endif
|
||||
***************
|
||||
*** 2182,2188 ****
|
||||
|
||||
#ifdef FEAT_CMDHIST
|
||||
/* Finish reading history items. */
|
||||
! finish_viminfo_history();
|
||||
#endif
|
||||
|
||||
/* Change file names to buffer numbers for fmarks. */
|
||||
--- 2182,2189 ----
|
||||
|
||||
#ifdef FEAT_CMDHIST
|
||||
/* Finish reading history items. */
|
||||
! if (!writing)
|
||||
! finish_viminfo_history();
|
||||
#endif
|
||||
|
||||
/* Change file names to buffer numbers for fmarks. */
|
||||
*** ../vim-7.3.891/src/proto/ex_getln.pro 2011-05-19 18:26:34.000000000 +0200
|
||||
--- src/proto/ex_getln.pro 2013-04-14 23:12:02.000000000 +0200
|
||||
***************
|
||||
*** 48,55 ****
|
||||
void remove_key_from_history __ARGS((void));
|
||||
int get_list_range __ARGS((char_u **str, int *num1, int *num2));
|
||||
void ex_history __ARGS((exarg_T *eap));
|
||||
! void prepare_viminfo_history __ARGS((int asklen));
|
||||
! int read_viminfo_history __ARGS((vir_T *virp));
|
||||
void finish_viminfo_history __ARGS((void));
|
||||
void write_viminfo_history __ARGS((FILE *fp));
|
||||
void cmd_pchar __ARGS((int c, int offset));
|
||||
--- 48,55 ----
|
||||
void remove_key_from_history __ARGS((void));
|
||||
int get_list_range __ARGS((char_u **str, int *num1, int *num2));
|
||||
void ex_history __ARGS((exarg_T *eap));
|
||||
! void prepare_viminfo_history __ARGS((int asklen, int writing));
|
||||
! int read_viminfo_history __ARGS((vir_T *virp, int writing));
|
||||
void finish_viminfo_history __ARGS((void));
|
||||
void write_viminfo_history __ARGS((FILE *fp));
|
||||
void cmd_pchar __ARGS((int c, int offset));
|
||||
*** ../vim-7.3.891/src/version.c 2013-04-14 16:26:08.000000000 +0200
|
||||
--- src/version.c 2013-04-14 22:53:04.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 892,
|
||||
/**/
|
||||
|
||||
--
|
||||
"Hit any key to continue" is a lie.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
718
7.3.893
Normal file
718
7.3.893
Normal file
@ -0,0 +1,718 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.893
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.893
|
||||
Problem: Crash when using b:, w: or t: after closing the buffer, window or
|
||||
tabpage.
|
||||
Solution: Allocate the dictionary instead of having it part of the
|
||||
buffer/window/tabpage struct. (Yukihiro Nakadaira)
|
||||
Files: src/buffer.c, src/eval.c, src/fileio.c, src/structs.h,
|
||||
src/window.c, src/proto/eval.pro
|
||||
|
||||
|
||||
*** ../vim-7.3.892/src/buffer.c 2013-03-19 16:46:59.000000000 +0100
|
||||
--- src/buffer.c 2013-04-15 12:07:07.000000000 +0200
|
||||
***************
|
||||
*** 648,653 ****
|
||||
--- 648,656 ----
|
||||
buf_T *buf;
|
||||
{
|
||||
free_buffer_stuff(buf, TRUE);
|
||||
+ #ifdef FEAT_EVAL
|
||||
+ unref_var_dict(buf->b_vars);
|
||||
+ #endif
|
||||
#ifdef FEAT_LUA
|
||||
lua_buffer_free(buf);
|
||||
#endif
|
||||
***************
|
||||
*** 689,696 ****
|
||||
#endif
|
||||
}
|
||||
#ifdef FEAT_EVAL
|
||||
! vars_clear(&buf->b_vars.dv_hashtab); /* free all internal variables */
|
||||
! hash_init(&buf->b_vars.dv_hashtab);
|
||||
#endif
|
||||
#ifdef FEAT_USR_CMDS
|
||||
uc_clear(&buf->b_ucmds); /* clear local user commands */
|
||||
--- 692,699 ----
|
||||
#endif
|
||||
}
|
||||
#ifdef FEAT_EVAL
|
||||
! vars_clear(&buf->b_vars->dv_hashtab); /* free all internal variables */
|
||||
! hash_init(&buf->b_vars->dv_hashtab);
|
||||
#endif
|
||||
#ifdef FEAT_USR_CMDS
|
||||
uc_clear(&buf->b_ucmds); /* clear local user commands */
|
||||
***************
|
||||
*** 1694,1699 ****
|
||||
--- 1697,1713 ----
|
||||
vim_free(ffname);
|
||||
return NULL;
|
||||
}
|
||||
+ #ifdef FEAT_EVAL
|
||||
+ /* init b: variables */
|
||||
+ buf->b_vars = dict_alloc();
|
||||
+ if (buf->b_vars == NULL)
|
||||
+ {
|
||||
+ vim_free(ffname);
|
||||
+ vim_free(buf);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+ init_var_dict(buf->b_vars, &buf->b_bufvar, VAR_SCOPE);
|
||||
+ #endif
|
||||
}
|
||||
|
||||
if (ffname != NULL)
|
||||
***************
|
||||
*** 1778,1787 ****
|
||||
buf->b_wininfo->wi_fpos.lnum = lnum;
|
||||
buf->b_wininfo->wi_win = curwin;
|
||||
|
||||
- #ifdef FEAT_EVAL
|
||||
- /* init b: variables */
|
||||
- init_var_dict(&buf->b_vars, &buf->b_bufvar, VAR_SCOPE);
|
||||
- #endif
|
||||
#ifdef FEAT_SYN_HL
|
||||
hash_init(&buf->b_s.b_keywtab);
|
||||
hash_init(&buf->b_s.b_keywtab_ic);
|
||||
--- 1792,1797 ----
|
||||
*** ../vim-7.3.892/src/eval.c 2013-03-19 14:25:50.000000000 +0100
|
||||
--- src/eval.c 2013-04-15 12:26:33.000000000 +0200
|
||||
***************
|
||||
*** 2131,2137 ****
|
||||
{
|
||||
char_u numbuf[NUMBUFLEN];
|
||||
|
||||
! list_hashtable_vars(&curbuf->b_vars.dv_hashtab, (char_u *)"b:",
|
||||
TRUE, first);
|
||||
|
||||
sprintf((char *)numbuf, "%ld", (long)curbuf->b_changedtick);
|
||||
--- 2131,2137 ----
|
||||
{
|
||||
char_u numbuf[NUMBUFLEN];
|
||||
|
||||
! list_hashtable_vars(&curbuf->b_vars->dv_hashtab, (char_u *)"b:",
|
||||
TRUE, first);
|
||||
|
||||
sprintf((char *)numbuf, "%ld", (long)curbuf->b_changedtick);
|
||||
***************
|
||||
*** 2146,2152 ****
|
||||
list_win_vars(first)
|
||||
int *first;
|
||||
{
|
||||
! list_hashtable_vars(&curwin->w_vars.dv_hashtab,
|
||||
(char_u *)"w:", TRUE, first);
|
||||
}
|
||||
|
||||
--- 2146,2152 ----
|
||||
list_win_vars(first)
|
||||
int *first;
|
||||
{
|
||||
! list_hashtable_vars(&curwin->w_vars->dv_hashtab,
|
||||
(char_u *)"w:", TRUE, first);
|
||||
}
|
||||
|
||||
***************
|
||||
*** 2158,2164 ****
|
||||
list_tab_vars(first)
|
||||
int *first;
|
||||
{
|
||||
! list_hashtable_vars(&curtab->tp_vars.dv_hashtab,
|
||||
(char_u *)"t:", TRUE, first);
|
||||
}
|
||||
#endif
|
||||
--- 2158,2164 ----
|
||||
list_tab_vars(first)
|
||||
int *first;
|
||||
{
|
||||
! list_hashtable_vars(&curtab->tp_vars->dv_hashtab,
|
||||
(char_u *)"t:", TRUE, first);
|
||||
}
|
||||
#endif
|
||||
***************
|
||||
*** 3948,3954 ****
|
||||
}
|
||||
|
||||
/* b: variables */
|
||||
! ht = &curbuf->b_vars.dv_hashtab;
|
||||
if (bdone < ht->ht_used)
|
||||
{
|
||||
if (bdone++ == 0)
|
||||
--- 3948,3954 ----
|
||||
}
|
||||
|
||||
/* b: variables */
|
||||
! ht = &curbuf->b_vars->dv_hashtab;
|
||||
if (bdone < ht->ht_used)
|
||||
{
|
||||
if (bdone++ == 0)
|
||||
***************
|
||||
*** 3966,3972 ****
|
||||
}
|
||||
|
||||
/* w: variables */
|
||||
! ht = &curwin->w_vars.dv_hashtab;
|
||||
if (wdone < ht->ht_used)
|
||||
{
|
||||
if (wdone++ == 0)
|
||||
--- 3966,3972 ----
|
||||
}
|
||||
|
||||
/* w: variables */
|
||||
! ht = &curwin->w_vars->dv_hashtab;
|
||||
if (wdone < ht->ht_used)
|
||||
{
|
||||
if (wdone++ == 0)
|
||||
***************
|
||||
*** 3980,3986 ****
|
||||
|
||||
#ifdef FEAT_WINDOWS
|
||||
/* t: variables */
|
||||
! ht = &curtab->tp_vars.dv_hashtab;
|
||||
if (tdone < ht->ht_used)
|
||||
{
|
||||
if (tdone++ == 0)
|
||||
--- 3980,3986 ----
|
||||
|
||||
#ifdef FEAT_WINDOWS
|
||||
/* t: variables */
|
||||
! ht = &curtab->tp_vars->dv_hashtab;
|
||||
if (tdone < ht->ht_used)
|
||||
{
|
||||
if (tdone++ == 0)
|
||||
***************
|
||||
*** 6787,6802 ****
|
||||
|
||||
/* buffer-local variables */
|
||||
for (buf = firstbuf; buf != NULL; buf = buf->b_next)
|
||||
! set_ref_in_ht(&buf->b_vars.dv_hashtab, copyID);
|
||||
|
||||
/* window-local variables */
|
||||
FOR_ALL_TAB_WINDOWS(tp, wp)
|
||||
! set_ref_in_ht(&wp->w_vars.dv_hashtab, copyID);
|
||||
|
||||
#ifdef FEAT_WINDOWS
|
||||
/* tabpage-local variables */
|
||||
for (tp = first_tabpage; tp != NULL; tp = tp->tp_next)
|
||||
! set_ref_in_ht(&tp->tp_vars.dv_hashtab, copyID);
|
||||
#endif
|
||||
|
||||
/* global variables */
|
||||
--- 6787,6802 ----
|
||||
|
||||
/* buffer-local variables */
|
||||
for (buf = firstbuf; buf != NULL; buf = buf->b_next)
|
||||
! set_ref_in_item(&buf->b_bufvar.di_tv, copyID);
|
||||
|
||||
/* window-local variables */
|
||||
FOR_ALL_TAB_WINDOWS(tp, wp)
|
||||
! set_ref_in_item(&wp->w_winvar.di_tv, copyID);
|
||||
|
||||
#ifdef FEAT_WINDOWS
|
||||
/* tabpage-local variables */
|
||||
for (tp = first_tabpage; tp != NULL; tp = tp->tp_next)
|
||||
! set_ref_in_item(&tp->tp_winvar.di_tv, copyID);
|
||||
#endif
|
||||
|
||||
/* global variables */
|
||||
***************
|
||||
*** 11156,11162 ****
|
||||
* find_var_in_ht(). */
|
||||
varname = (char_u *)"b:" + 2;
|
||||
/* look up the variable */
|
||||
! v = find_var_in_ht(&curbuf->b_vars.dv_hashtab, varname, FALSE);
|
||||
if (v != NULL)
|
||||
copy_tv(&v->di_tv, rettv);
|
||||
}
|
||||
--- 11156,11162 ----
|
||||
* find_var_in_ht(). */
|
||||
varname = (char_u *)"b:" + 2;
|
||||
/* look up the variable */
|
||||
! v = find_var_in_ht(&curbuf->b_vars->dv_hashtab, varname, FALSE);
|
||||
if (v != NULL)
|
||||
copy_tv(&v->di_tv, rettv);
|
||||
}
|
||||
***************
|
||||
*** 11779,11785 ****
|
||||
if (tp != NULL && varname != NULL)
|
||||
{
|
||||
/* look up the variable */
|
||||
! v = find_var_in_ht(&tp->tp_vars.dv_hashtab, varname, FALSE);
|
||||
if (v != NULL)
|
||||
copy_tv(&v->di_tv, rettv);
|
||||
else if (argvars[2].v_type != VAR_UNKNOWN)
|
||||
--- 11779,11785 ----
|
||||
if (tp != NULL && varname != NULL)
|
||||
{
|
||||
/* look up the variable */
|
||||
! v = find_var_in_ht(&tp->tp_vars->dv_hashtab, varname, FALSE);
|
||||
if (v != NULL)
|
||||
copy_tv(&v->di_tv, rettv);
|
||||
else if (argvars[2].v_type != VAR_UNKNOWN)
|
||||
***************
|
||||
*** 11935,11941 ****
|
||||
* find_var_in_ht(). */
|
||||
varname = (char_u *)"w:" + 2;
|
||||
/* look up the variable */
|
||||
! v = find_var_in_ht(&win->w_vars.dv_hashtab, varname, FALSE);
|
||||
if (v != NULL)
|
||||
copy_tv(&v->di_tv, rettv);
|
||||
}
|
||||
--- 11935,11941 ----
|
||||
* find_var_in_ht(). */
|
||||
varname = (char_u *)"w:" + 2;
|
||||
/* look up the variable */
|
||||
! v = find_var_in_ht(&win->w_vars->dv_hashtab, varname, FALSE);
|
||||
if (v != NULL)
|
||||
copy_tv(&v->di_tv, rettv);
|
||||
}
|
||||
***************
|
||||
*** 14333,14339 ****
|
||||
rettv->v_type = VAR_STRING;
|
||||
}
|
||||
|
||||
! #ifdef FEAT_MZSCHEME
|
||||
/*
|
||||
* "mzeval()" function
|
||||
*/
|
||||
--- 14333,14339 ----
|
||||
rettv->v_type = VAR_STRING;
|
||||
}
|
||||
|
||||
! #if defined(FEAT_MZSCHEME) || defined(PROTO)
|
||||
/*
|
||||
* "mzeval()" function
|
||||
*/
|
||||
***************
|
||||
*** 20134,20145 ****
|
||||
|| vim_strchr(name + 2, AUTOLOAD_CHAR) != NULL)
|
||||
return NULL;
|
||||
if (*name == 'b') /* buffer variable */
|
||||
! return &curbuf->b_vars.dv_hashtab;
|
||||
if (*name == 'w') /* window variable */
|
||||
! return &curwin->w_vars.dv_hashtab;
|
||||
#ifdef FEAT_WINDOWS
|
||||
if (*name == 't') /* tab page variable */
|
||||
! return &curtab->tp_vars.dv_hashtab;
|
||||
#endif
|
||||
if (*name == 'v') /* v: variable */
|
||||
return &vimvarht;
|
||||
--- 20134,20145 ----
|
||||
|| vim_strchr(name + 2, AUTOLOAD_CHAR) != NULL)
|
||||
return NULL;
|
||||
if (*name == 'b') /* buffer variable */
|
||||
! return &curbuf->b_vars->dv_hashtab;
|
||||
if (*name == 'w') /* window variable */
|
||||
! return &curwin->w_vars->dv_hashtab;
|
||||
#ifdef FEAT_WINDOWS
|
||||
if (*name == 't') /* tab page variable */
|
||||
! return &curtab->tp_vars->dv_hashtab;
|
||||
#endif
|
||||
if (*name == 'v') /* v: variable */
|
||||
return &vimvarht;
|
||||
***************
|
||||
*** 20229,20234 ****
|
||||
--- 20229,20247 ----
|
||||
}
|
||||
|
||||
/*
|
||||
+ * Unreference a dictionary initialized by init_var_dict().
|
||||
+ */
|
||||
+ void
|
||||
+ unref_var_dict(dict)
|
||||
+ dict_T *dict;
|
||||
+ {
|
||||
+ /* Now the dict needs to be freed if no one else is using it, go back to
|
||||
+ * normal reference counting. */
|
||||
+ dict->dv_refcount -= DO_NOT_FREE_CNT - 1;
|
||||
+ dict_unref(dict);
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
* Clean up a list of internal variables.
|
||||
* Frees all allocated variables and the value they contain.
|
||||
* Clears hashtab "ht", does not free it.
|
||||
*** ../vim-7.3.892/src/fileio.c 2013-03-19 16:46:59.000000000 +0100
|
||||
--- src/fileio.c 2013-04-15 11:52:34.000000000 +0200
|
||||
***************
|
||||
*** 8955,8962 ****
|
||||
/* Hmm, original window disappeared. Just use the first one. */
|
||||
curwin = firstwin;
|
||||
# ifdef FEAT_EVAL
|
||||
! vars_clear(&aucmd_win->w_vars.dv_hashtab); /* free all w: variables */
|
||||
! hash_init(&aucmd_win->w_vars.dv_hashtab); /* re-use the hashtab */
|
||||
# endif
|
||||
#else
|
||||
curwin = aco->save_curwin;
|
||||
--- 8955,8962 ----
|
||||
/* Hmm, original window disappeared. Just use the first one. */
|
||||
curwin = firstwin;
|
||||
# ifdef FEAT_EVAL
|
||||
! vars_clear(&aucmd_win->w_vars->dv_hashtab); /* free all w: variables */
|
||||
! hash_init(&aucmd_win->w_vars->dv_hashtab); /* re-use the hashtab */
|
||||
# endif
|
||||
#else
|
||||
curwin = aco->save_curwin;
|
||||
*** ../vim-7.3.892/src/structs.h 2012-07-16 17:31:48.000000000 +0200
|
||||
--- src/structs.h 2013-04-15 11:52:34.000000000 +0200
|
||||
***************
|
||||
*** 1611,1617 ****
|
||||
|
||||
#ifdef FEAT_EVAL
|
||||
dictitem_T b_bufvar; /* variable for "b:" Dictionary */
|
||||
! dict_T b_vars; /* internal variables, local to buffer */
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_BEVAL) && defined(FEAT_EVAL)
|
||||
--- 1611,1617 ----
|
||||
|
||||
#ifdef FEAT_EVAL
|
||||
dictitem_T b_bufvar; /* variable for "b:" Dictionary */
|
||||
! dict_T *b_vars; /* internal variables, local to buffer */
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_BEVAL) && defined(FEAT_EVAL)
|
||||
***************
|
||||
*** 1757,1763 ****
|
||||
frame_T *(tp_snapshot[SNAP_COUNT]); /* window layout snapshots */
|
||||
#ifdef FEAT_EVAL
|
||||
dictitem_T tp_winvar; /* variable for "t:" Dictionary */
|
||||
! dict_T tp_vars; /* internal variables, local to tab page */
|
||||
#endif
|
||||
};
|
||||
|
||||
--- 1757,1763 ----
|
||||
frame_T *(tp_snapshot[SNAP_COUNT]); /* window layout snapshots */
|
||||
#ifdef FEAT_EVAL
|
||||
dictitem_T tp_winvar; /* variable for "t:" Dictionary */
|
||||
! dict_T *tp_vars; /* internal variables, local to tab page */
|
||||
#endif
|
||||
};
|
||||
|
||||
***************
|
||||
*** 2080,2086 ****
|
||||
|
||||
#ifdef FEAT_EVAL
|
||||
dictitem_T w_winvar; /* variable for "w:" Dictionary */
|
||||
! dict_T w_vars; /* internal variables, local to window */
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_RIGHTLEFT) && defined(FEAT_FKMAP)
|
||||
--- 2080,2086 ----
|
||||
|
||||
#ifdef FEAT_EVAL
|
||||
dictitem_T w_winvar; /* variable for "w:" Dictionary */
|
||||
! dict_T *w_vars; /* internal variables, local to window */
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_RIGHTLEFT) && defined(FEAT_FKMAP)
|
||||
*** ../vim-7.3.892/src/window.c 2013-02-06 13:37:58.000000000 +0100
|
||||
--- src/window.c 2013-04-15 12:20:09.000000000 +0200
|
||||
***************
|
||||
*** 3457,3481 ****
|
||||
alloc_tabpage()
|
||||
{
|
||||
tabpage_T *tp;
|
||||
|
||||
tp = (tabpage_T *)alloc_clear((unsigned)sizeof(tabpage_T));
|
||||
! if (tp != NULL)
|
||||
{
|
||||
! # ifdef FEAT_GUI
|
||||
! int i;
|
||||
|
||||
! for (i = 0; i < 3; i++)
|
||||
! tp->tp_prev_which_scrollbars[i] = -1;
|
||||
# endif
|
||||
# ifdef FEAT_DIFF
|
||||
! tp->tp_diff_invalid = TRUE;
|
||||
# endif
|
||||
! #ifdef FEAT_EVAL
|
||||
! /* init t: variables */
|
||||
! init_var_dict(&tp->tp_vars, &tp->tp_winvar, VAR_SCOPE);
|
||||
! #endif
|
||||
! tp->tp_ch_used = p_ch;
|
||||
! }
|
||||
return tp;
|
||||
}
|
||||
|
||||
--- 3457,3491 ----
|
||||
alloc_tabpage()
|
||||
{
|
||||
tabpage_T *tp;
|
||||
+ # ifdef FEAT_GUI
|
||||
+ int i;
|
||||
+ # endif
|
||||
+
|
||||
|
||||
tp = (tabpage_T *)alloc_clear((unsigned)sizeof(tabpage_T));
|
||||
! if (tp == NULL)
|
||||
! return NULL;
|
||||
!
|
||||
! # ifdef FEAT_EVAL
|
||||
! /* init t: variables */
|
||||
! tp->tp_vars = dict_alloc();
|
||||
! if (tp->tp_vars == NULL)
|
||||
{
|
||||
! vim_free(tp);
|
||||
! return NULL;
|
||||
! }
|
||||
! init_var_dict(tp->tp_vars, &tp->tp_winvar, VAR_SCOPE);
|
||||
! # endif
|
||||
|
||||
! # ifdef FEAT_GUI
|
||||
! for (i = 0; i < 3; i++)
|
||||
! tp->tp_prev_which_scrollbars[i] = -1;
|
||||
# endif
|
||||
# ifdef FEAT_DIFF
|
||||
! tp->tp_diff_invalid = TRUE;
|
||||
# endif
|
||||
! tp->tp_ch_used = p_ch;
|
||||
!
|
||||
return tp;
|
||||
}
|
||||
|
||||
***************
|
||||
*** 3491,3497 ****
|
||||
for (idx = 0; idx < SNAP_COUNT; ++idx)
|
||||
clear_snapshot(tp, idx);
|
||||
#ifdef FEAT_EVAL
|
||||
! vars_clear(&tp->tp_vars.dv_hashtab); /* free all t: variables */
|
||||
#endif
|
||||
vim_free(tp);
|
||||
}
|
||||
--- 3501,3509 ----
|
||||
for (idx = 0; idx < SNAP_COUNT; ++idx)
|
||||
clear_snapshot(tp, idx);
|
||||
#ifdef FEAT_EVAL
|
||||
! vars_clear(&tp->tp_vars->dv_hashtab); /* free all t: variables */
|
||||
! hash_init(&tp->tp_vars->dv_hashtab);
|
||||
! unref_var_dict(tp->tp_vars);
|
||||
#endif
|
||||
vim_free(tp);
|
||||
}
|
||||
***************
|
||||
*** 4363,4433 ****
|
||||
* allocate window structure and linesizes arrays
|
||||
*/
|
||||
new_wp = (win_T *)alloc_clear((unsigned)sizeof(win_T));
|
||||
! if (new_wp != NULL && win_alloc_lines(new_wp) == FAIL)
|
||||
{
|
||||
vim_free(new_wp);
|
||||
! new_wp = NULL;
|
||||
}
|
||||
|
||||
! if (new_wp != NULL)
|
||||
{
|
||||
#ifdef FEAT_AUTOCMD
|
||||
! /* Don't execute autocommands while the window is not properly
|
||||
! * initialized yet. gui_create_scrollbar() may trigger a FocusGained
|
||||
! * event. */
|
||||
! block_autocmds();
|
||||
#endif
|
||||
! /*
|
||||
! * link the window in the window list
|
||||
! */
|
||||
#ifdef FEAT_WINDOWS
|
||||
! if (!hidden)
|
||||
! win_append(after, new_wp);
|
||||
#endif
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
! new_wp->w_wincol = 0;
|
||||
! new_wp->w_width = Columns;
|
||||
#endif
|
||||
|
||||
! /* position the display and the cursor at the top of the file. */
|
||||
! new_wp->w_topline = 1;
|
||||
#ifdef FEAT_DIFF
|
||||
! new_wp->w_topfill = 0;
|
||||
#endif
|
||||
! new_wp->w_botline = 2;
|
||||
! new_wp->w_cursor.lnum = 1;
|
||||
#ifdef FEAT_SCROLLBIND
|
||||
! new_wp->w_scbind_pos = 1;
|
||||
#endif
|
||||
|
||||
! /* We won't calculate w_fraction until resizing the window */
|
||||
! new_wp->w_fraction = 0;
|
||||
! new_wp->w_prev_fraction_row = -1;
|
||||
|
||||
#ifdef FEAT_GUI
|
||||
! if (gui.in_use)
|
||||
! {
|
||||
! gui_create_scrollbar(&new_wp->w_scrollbars[SBAR_LEFT],
|
||||
! SBAR_LEFT, new_wp);
|
||||
! gui_create_scrollbar(&new_wp->w_scrollbars[SBAR_RIGHT],
|
||||
! SBAR_RIGHT, new_wp);
|
||||
! }
|
||||
! #endif
|
||||
! #ifdef FEAT_EVAL
|
||||
! /* init w: variables */
|
||||
! init_var_dict(&new_wp->w_vars, &new_wp->w_winvar, VAR_SCOPE);
|
||||
#endif
|
||||
#ifdef FEAT_FOLDING
|
||||
! foldInitWin(new_wp);
|
||||
#endif
|
||||
#ifdef FEAT_AUTOCMD
|
||||
! unblock_autocmds();
|
||||
#endif
|
||||
#ifdef FEAT_SEARCH_EXTRA
|
||||
! new_wp->w_match_head = NULL;
|
||||
! new_wp->w_next_match_id = 4;
|
||||
#endif
|
||||
- }
|
||||
return new_wp;
|
||||
}
|
||||
|
||||
--- 4375,4453 ----
|
||||
* allocate window structure and linesizes arrays
|
||||
*/
|
||||
new_wp = (win_T *)alloc_clear((unsigned)sizeof(win_T));
|
||||
! if (new_wp == NULL)
|
||||
! return NULL;
|
||||
!
|
||||
! if (win_alloc_lines(new_wp) == FAIL)
|
||||
{
|
||||
vim_free(new_wp);
|
||||
! return NULL;
|
||||
}
|
||||
|
||||
! #ifdef FEAT_EVAL
|
||||
! /* init w: variables */
|
||||
! new_wp->w_vars = dict_alloc();
|
||||
! if (new_wp->w_vars == NULL)
|
||||
{
|
||||
+ win_free_lsize(new_wp);
|
||||
+ vim_free(new_wp);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+ init_var_dict(new_wp->w_vars, &new_wp->w_winvar, VAR_SCOPE);
|
||||
+ #endif
|
||||
+
|
||||
#ifdef FEAT_AUTOCMD
|
||||
! /* Don't execute autocommands while the window is not properly
|
||||
! * initialized yet. gui_create_scrollbar() may trigger a FocusGained
|
||||
! * event. */
|
||||
! block_autocmds();
|
||||
#endif
|
||||
! /*
|
||||
! * link the window in the window list
|
||||
! */
|
||||
#ifdef FEAT_WINDOWS
|
||||
! if (!hidden)
|
||||
! win_append(after, new_wp);
|
||||
#endif
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
! new_wp->w_wincol = 0;
|
||||
! new_wp->w_width = Columns;
|
||||
#endif
|
||||
|
||||
! /* position the display and the cursor at the top of the file. */
|
||||
! new_wp->w_topline = 1;
|
||||
#ifdef FEAT_DIFF
|
||||
! new_wp->w_topfill = 0;
|
||||
#endif
|
||||
! new_wp->w_botline = 2;
|
||||
! new_wp->w_cursor.lnum = 1;
|
||||
#ifdef FEAT_SCROLLBIND
|
||||
! new_wp->w_scbind_pos = 1;
|
||||
#endif
|
||||
|
||||
! /* We won't calculate w_fraction until resizing the window */
|
||||
! new_wp->w_fraction = 0;
|
||||
! new_wp->w_prev_fraction_row = -1;
|
||||
|
||||
#ifdef FEAT_GUI
|
||||
! if (gui.in_use)
|
||||
! {
|
||||
! gui_create_scrollbar(&new_wp->w_scrollbars[SBAR_LEFT],
|
||||
! SBAR_LEFT, new_wp);
|
||||
! gui_create_scrollbar(&new_wp->w_scrollbars[SBAR_RIGHT],
|
||||
! SBAR_RIGHT, new_wp);
|
||||
! }
|
||||
#endif
|
||||
#ifdef FEAT_FOLDING
|
||||
! foldInitWin(new_wp);
|
||||
#endif
|
||||
#ifdef FEAT_AUTOCMD
|
||||
! unblock_autocmds();
|
||||
#endif
|
||||
#ifdef FEAT_SEARCH_EXTRA
|
||||
! new_wp->w_match_head = NULL;
|
||||
! new_wp->w_next_match_id = 4;
|
||||
#endif
|
||||
return new_wp;
|
||||
}
|
||||
|
||||
***************
|
||||
*** 4488,4494 ****
|
||||
clear_winopt(&wp->w_allbuf_opt);
|
||||
|
||||
#ifdef FEAT_EVAL
|
||||
! vars_clear(&wp->w_vars.dv_hashtab); /* free all w: variables */
|
||||
#endif
|
||||
|
||||
if (prevwin == wp)
|
||||
--- 4508,4516 ----
|
||||
clear_winopt(&wp->w_allbuf_opt);
|
||||
|
||||
#ifdef FEAT_EVAL
|
||||
! vars_clear(&wp->w_vars->dv_hashtab); /* free all w: variables */
|
||||
! hash_init(&wp->w_vars->dv_hashtab);
|
||||
! unref_var_dict(wp->w_vars);
|
||||
#endif
|
||||
|
||||
if (prevwin == wp)
|
||||
*** ../vim-7.3.892/src/proto/eval.pro 2013-01-30 14:55:35.000000000 +0100
|
||||
--- src/proto/eval.pro 2013-04-15 12:26:39.000000000 +0200
|
||||
***************
|
||||
*** 24,31 ****
|
||||
int get_spellword __ARGS((list_T *list, char_u **pp));
|
||||
typval_T *eval_expr __ARGS((char_u *arg, char_u **nextcmd));
|
||||
int call_vim_function __ARGS((char_u *func, int argc, char_u **argv, int safe, int str_arg_only, typval_T *rettv));
|
||||
- void *call_func_retstr __ARGS((char_u *func, int argc, char_u **argv, int safe));
|
||||
long call_func_retnr __ARGS((char_u *func, int argc, char_u **argv, int safe));
|
||||
void *call_func_retlist __ARGS((char_u *func, int argc, char_u **argv, int safe));
|
||||
void *save_funccal __ARGS((void));
|
||||
void restore_funccal __ARGS((void *vfc));
|
||||
--- 24,31 ----
|
||||
int get_spellword __ARGS((list_T *list, char_u **pp));
|
||||
typval_T *eval_expr __ARGS((char_u *arg, char_u **nextcmd));
|
||||
int call_vim_function __ARGS((char_u *func, int argc, char_u **argv, int safe, int str_arg_only, typval_T *rettv));
|
||||
long call_func_retnr __ARGS((char_u *func, int argc, char_u **argv, int safe));
|
||||
+ void *call_func_retstr __ARGS((char_u *func, int argc, char_u **argv, int safe));
|
||||
void *call_func_retlist __ARGS((char_u *func, int argc, char_u **argv, int safe));
|
||||
void *save_funccal __ARGS((void));
|
||||
void restore_funccal __ARGS((void *vfc));
|
||||
***************
|
||||
*** 95,100 ****
|
||||
--- 95,101 ----
|
||||
char_u *get_var_value __ARGS((char_u *name));
|
||||
void new_script_vars __ARGS((scid_T id));
|
||||
void init_var_dict __ARGS((dict_T *dict, dictitem_T *dict_var, int scope));
|
||||
+ void unref_var_dict __ARGS((dict_T *dict));
|
||||
void vars_clear __ARGS((hashtab_T *ht));
|
||||
void copy_tv __ARGS((typval_T *from, typval_T *to));
|
||||
void ex_echo __ARGS((exarg_T *eap));
|
||||
*** ../vim-7.3.892/src/version.c 2013-04-14 23:19:32.000000000 +0200
|
||||
--- src/version.c 2013-04-15 12:19:17.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 893,
|
||||
/**/
|
||||
|
||||
--
|
||||
Apathy Error: Don't bother striking any key.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
47
7.3.894
Normal file
47
7.3.894
Normal file
@ -0,0 +1,47 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.894
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.894
|
||||
Problem: Using wrong RUBY_VER causing Ruby build to break.
|
||||
Solution: Correct the RUBY_VER value. (Yongwei Wu)
|
||||
Files: src/bigvim.bat
|
||||
|
||||
|
||||
*** ../vim-7.3.893/src/bigvim.bat 2012-08-29 14:18:26.000000000 +0200
|
||||
--- src/bigvim.bat 2013-04-15 12:32:08.000000000 +0200
|
||||
***************
|
||||
*** 1,5 ****
|
||||
:: command to build big Vim with OLE, Perl, Python, Ruby and Tcl
|
||||
SET VCDIR="C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\"
|
||||
SET TOOLDIR=E:\
|
||||
! %VCDIR%nmake -f Make_mvc.mak GUI=yes OLE=yes PERL=E:\perl514 DYNAMIC_PERL=yes PERL_VER=514 PYTHON=%TOOLDIR%python27 DYNAMIC_PYTHON=yes PYTHON_VER=27 PYTHON3=%TOOLDIR%python32 DYNAMIC_PYTHON3=yes PYTHON3_VER=32 RUBY=%TOOLDIR%ruby192 DYNAMIC_RUBY=yes RUBY_VER=192 RUBY_VER_LONG=1.9.2 TCL=%TOOLDIR%tcl TCL_VER=85 TCL_VER_LONG=8.5 DYNAMIC_TCL=yes %1 IME=yes CSCOPE=yes
|
||||
|
||||
--- 1,5 ----
|
||||
:: command to build big Vim with OLE, Perl, Python, Ruby and Tcl
|
||||
SET VCDIR="C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\"
|
||||
SET TOOLDIR=E:\
|
||||
! %VCDIR%nmake -f Make_mvc.mak GUI=yes OLE=yes PERL=E:\perl514 DYNAMIC_PERL=yes PERL_VER=514 PYTHON=%TOOLDIR%python27 DYNAMIC_PYTHON=yes PYTHON_VER=27 PYTHON3=%TOOLDIR%python32 DYNAMIC_PYTHON3=yes PYTHON3_VER=32 RUBY=%TOOLDIR%ruby192 DYNAMIC_RUBY=yes RUBY_VER=19 RUBY_VER_LONG=1.9.2 TCL=%TOOLDIR%tcl TCL_VER=85 TCL_VER_LONG=8.5 DYNAMIC_TCL=yes %1 IME=yes CSCOPE=yes
|
||||
|
||||
*** ../vim-7.3.893/src/version.c 2013-04-15 12:27:30.000000000 +0200
|
||||
--- src/version.c 2013-04-15 12:34:36.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 894,
|
||||
/**/
|
||||
|
||||
--
|
||||
Did you ever see a "Hit any key to continue" message in a music piece?
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
189
7.3.895
Normal file
189
7.3.895
Normal file
@ -0,0 +1,189 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.895
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.895
|
||||
Problem: Valgrind error in test 91. (Issue 128)
|
||||
Solution: Pass scope name to find_var_in_ht().
|
||||
Files: src/eval.c
|
||||
|
||||
|
||||
*** ../vim-7.3.894/src/eval.c 2013-04-15 12:27:30.000000000 +0200
|
||||
--- src/eval.c 2013-04-15 13:00:44.000000000 +0200
|
||||
***************
|
||||
*** 788,794 ****
|
||||
static char_u *get_tv_string_buf __ARGS((typval_T *varp, char_u *buf));
|
||||
static char_u *get_tv_string_buf_chk __ARGS((typval_T *varp, char_u *buf));
|
||||
static dictitem_T *find_var __ARGS((char_u *name, hashtab_T **htp));
|
||||
! static dictitem_T *find_var_in_ht __ARGS((hashtab_T *ht, char_u *varname, int writing));
|
||||
static hashtab_T *find_var_ht __ARGS((char_u *name, char_u **varname));
|
||||
static void vars_clear_ext __ARGS((hashtab_T *ht, int free_val));
|
||||
static void delete_var __ARGS((hashtab_T *ht, hashitem_T *hi));
|
||||
--- 788,794 ----
|
||||
static char_u *get_tv_string_buf __ARGS((typval_T *varp, char_u *buf));
|
||||
static char_u *get_tv_string_buf_chk __ARGS((typval_T *varp, char_u *buf));
|
||||
static dictitem_T *find_var __ARGS((char_u *name, hashtab_T **htp));
|
||||
! static dictitem_T *find_var_in_ht __ARGS((hashtab_T *ht, int htname, char_u *varname, int writing));
|
||||
static hashtab_T *find_var_ht __ARGS((char_u *name, char_u **varname));
|
||||
static void vars_clear_ext __ARGS((hashtab_T *ht, int free_val));
|
||||
static void delete_var __ARGS((hashtab_T *ht, hashitem_T *hi));
|
||||
***************
|
||||
*** 11150,11162 ****
|
||||
}
|
||||
else
|
||||
{
|
||||
! if (*varname == NUL)
|
||||
! /* let getbufvar({nr}, "") return the "b:" dictionary. The
|
||||
! * scope prefix before the NUL byte is required by
|
||||
! * find_var_in_ht(). */
|
||||
! varname = (char_u *)"b:" + 2;
|
||||
! /* look up the variable */
|
||||
! v = find_var_in_ht(&curbuf->b_vars->dv_hashtab, varname, FALSE);
|
||||
if (v != NULL)
|
||||
copy_tv(&v->di_tv, rettv);
|
||||
}
|
||||
--- 11150,11159 ----
|
||||
}
|
||||
else
|
||||
{
|
||||
! /* Look up the variable. */
|
||||
! /* Let getbufvar({nr}, "") return the "b:" dictionary. */
|
||||
! v = find_var_in_ht(&curbuf->b_vars->dv_hashtab,
|
||||
! 'b', varname, FALSE);
|
||||
if (v != NULL)
|
||||
copy_tv(&v->di_tv, rettv);
|
||||
}
|
||||
***************
|
||||
*** 11779,11785 ****
|
||||
if (tp != NULL && varname != NULL)
|
||||
{
|
||||
/* look up the variable */
|
||||
! v = find_var_in_ht(&tp->tp_vars->dv_hashtab, varname, FALSE);
|
||||
if (v != NULL)
|
||||
copy_tv(&v->di_tv, rettv);
|
||||
else if (argvars[2].v_type != VAR_UNKNOWN)
|
||||
--- 11776,11782 ----
|
||||
if (tp != NULL && varname != NULL)
|
||||
{
|
||||
/* look up the variable */
|
||||
! v = find_var_in_ht(&tp->tp_vars->dv_hashtab, 0, varname, FALSE);
|
||||
if (v != NULL)
|
||||
copy_tv(&v->di_tv, rettv);
|
||||
else if (argvars[2].v_type != VAR_UNKNOWN)
|
||||
***************
|
||||
*** 11929,11941 ****
|
||||
get_option_tv(&varname, rettv, 1);
|
||||
else
|
||||
{
|
||||
! if (*varname == NUL)
|
||||
! /* let getwinvar({nr}, "") return the "w:" dictionary. The
|
||||
! * scope prefix before the NUL byte is required by
|
||||
! * find_var_in_ht(). */
|
||||
! varname = (char_u *)"w:" + 2;
|
||||
! /* look up the variable */
|
||||
! v = find_var_in_ht(&win->w_vars->dv_hashtab, varname, FALSE);
|
||||
if (v != NULL)
|
||||
copy_tv(&v->di_tv, rettv);
|
||||
}
|
||||
--- 11926,11934 ----
|
||||
get_option_tv(&varname, rettv, 1);
|
||||
else
|
||||
{
|
||||
! /* Look up the variable. */
|
||||
! /* Let getwinvar({nr}, "") return the "w:" dictionary. */
|
||||
! v = find_var_in_ht(&win->w_vars->dv_hashtab, 'w', varname, FALSE);
|
||||
if (v != NULL)
|
||||
copy_tv(&v->di_tv, rettv);
|
||||
}
|
||||
***************
|
||||
*** 20041,20056 ****
|
||||
*htp = ht;
|
||||
if (ht == NULL)
|
||||
return NULL;
|
||||
! return find_var_in_ht(ht, varname, htp != NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
! * Find variable "varname" in hashtab "ht".
|
||||
* Returns NULL if not found.
|
||||
*/
|
||||
static dictitem_T *
|
||||
! find_var_in_ht(ht, varname, writing)
|
||||
hashtab_T *ht;
|
||||
char_u *varname;
|
||||
int writing;
|
||||
{
|
||||
--- 20034,20050 ----
|
||||
*htp = ht;
|
||||
if (ht == NULL)
|
||||
return NULL;
|
||||
! return find_var_in_ht(ht, *name, varname, htp != NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
! * Find variable "varname" in hashtab "ht" with name "htname".
|
||||
* Returns NULL if not found.
|
||||
*/
|
||||
static dictitem_T *
|
||||
! find_var_in_ht(ht, htname, varname, writing)
|
||||
hashtab_T *ht;
|
||||
+ int htname;
|
||||
char_u *varname;
|
||||
int writing;
|
||||
{
|
||||
***************
|
||||
*** 20059,20065 ****
|
||||
if (*varname == NUL)
|
||||
{
|
||||
/* Must be something like "s:", otherwise "ht" would be NULL. */
|
||||
! switch (varname[-2])
|
||||
{
|
||||
case 's': return &SCRIPT_SV(current_SID)->sv_var;
|
||||
case 'g': return &globvars_var;
|
||||
--- 20053,20059 ----
|
||||
if (*varname == NUL)
|
||||
{
|
||||
/* Must be something like "s:", otherwise "ht" would be NULL. */
|
||||
! switch (htname)
|
||||
{
|
||||
case 's': return &SCRIPT_SV(current_SID)->sv_var;
|
||||
case 'g': return &globvars_var;
|
||||
***************
|
||||
*** 20389,20395 ****
|
||||
EMSG2(_(e_illvar), name);
|
||||
return;
|
||||
}
|
||||
! v = find_var_in_ht(ht, varname, TRUE);
|
||||
|
||||
if (tv->v_type == VAR_FUNC && var_check_func_name(name, v == NULL))
|
||||
return;
|
||||
--- 20383,20389 ----
|
||||
EMSG2(_(e_illvar), name);
|
||||
return;
|
||||
}
|
||||
! v = find_var_in_ht(ht, 0, varname, TRUE);
|
||||
|
||||
if (tv->v_type == VAR_FUNC && var_check_func_name(name, v == NULL))
|
||||
return;
|
||||
*** ../vim-7.3.894/src/version.c 2013-04-15 12:36:14.000000000 +0200
|
||||
--- src/version.c 2013-04-15 13:04:54.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 895,
|
||||
/**/
|
||||
|
||||
--
|
||||
Very funny, Scotty. Now beam down my clothes.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
206
7.3.896
Normal file
206
7.3.896
Normal file
@ -0,0 +1,206 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.896
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.896
|
||||
Problem: Memory leaks in Lua interface.
|
||||
Solution: Fix the leaks, add tests. (Yukihiro Nakadaira)
|
||||
Files: src/testdir/test85.in, src/testdir/test85.ok, src/if_lua.c
|
||||
|
||||
|
||||
*** ../vim-7.3.895/src/testdir/test85.in 2012-04-05 16:56:38.000000000 +0200
|
||||
--- src/testdir/test85.in 2013-04-15 13:12:43.000000000 +0200
|
||||
***************
|
||||
*** 33,38 ****
|
||||
--- 33,81 ----
|
||||
:let res = "FAILED"
|
||||
:endif
|
||||
:call setline(search("^3"), "circular test " . res)
|
||||
+
|
||||
+ :let l = []
|
||||
+ :lua l = vim.eval("l")
|
||||
+ :lua l:add(123)
|
||||
+ :lua l:add("abc")
|
||||
+ :lua l:add(vim.eval("[1, 2, 3]"))
|
||||
+ :lua l:add(vim.eval("{'a':1, 'b':2, 'c':3}"))
|
||||
+ :lua l:insert(123)
|
||||
+ :lua l:insert("abc")
|
||||
+ :lua l:insert(vim.eval("[1, 2, 3]"))
|
||||
+ :lua l:insert(vim.eval("{'a':1, 'b':2, 'c':3}"))
|
||||
+ :lua l[0] = l[0]
|
||||
+ :lua l[1] = l[1]
|
||||
+ :lua l[2] = l[2]
|
||||
+ :lua l[3] = l[3]
|
||||
+ :lua l[0] = 123
|
||||
+ :lua l[1] = "abc"
|
||||
+ :lua l[2] = vim.eval("[1, 2, 3]")
|
||||
+ :lua l[3] = vim.eval("{'a':1, 'b':2, 'c':3}")
|
||||
+ :lua l[3] = nil
|
||||
+ :lua l[2] = nil
|
||||
+ :lua l[1] = nil
|
||||
+ :lua l[0] = nil
|
||||
+ :lua l = nil
|
||||
+ :$put =string(l)
|
||||
+
|
||||
+ :let d = {}
|
||||
+ :lua d = vim.eval("d")
|
||||
+ :lua d[0] = 123
|
||||
+ :lua d[1] = "abc"
|
||||
+ :lua d[2] = vim.eval("[1, 2, 3]")
|
||||
+ :lua d[3] = vim.eval("{'a':1, 'b':2, 'c':3}")
|
||||
+ :lua d[4] = d[0]
|
||||
+ :lua d[5] = d[1]
|
||||
+ :lua d[6] = d[2]
|
||||
+ :lua d[7] = d[3]
|
||||
+ :lua d[3] = nil
|
||||
+ :lua d[2] = nil
|
||||
+ :lua d[1] = nil
|
||||
+ :lua d[0] = nil
|
||||
+ :lua d = nil
|
||||
+ :$put =string(d)
|
||||
+
|
||||
:?^1?,$w! test.out
|
||||
:qa!
|
||||
ENDTEST
|
||||
*** ../vim-7.3.895/src/testdir/test85.ok 2012-04-05 16:56:38.000000000 +0200
|
||||
--- src/testdir/test85.ok 2013-04-15 13:12:47.000000000 +0200
|
||||
***************
|
||||
*** 3,5 ****
|
||||
--- 3,7 ----
|
||||
2 line 2
|
||||
dictionary with list OK
|
||||
circular test OK
|
||||
+ [123.0, 'abc', [1, 2, 3], {'a': 1, 'b': 2, 'c': 3}]
|
||||
+ {'4': 123.0, '5': 'abc', '6': [1, 2, 3], '7': {'a': 1, 'b': 2, 'c': 3}}
|
||||
*** ../vim-7.3.895/src/if_lua.c 2013-04-12 12:18:43.000000000 +0200
|
||||
--- src/if_lua.c 2013-04-15 13:35:40.000000000 +0200
|
||||
***************
|
||||
*** 709,716 ****
|
||||
{
|
||||
const char *s = lua_tostring(L, 2);
|
||||
if (strncmp(s, "add", 3) == 0
|
||||
! || strncmp(s, "insert", 6) == 0
|
||||
! || strncmp(s, "extend", 6) == 0)
|
||||
{
|
||||
lua_getmetatable(L, 1);
|
||||
lua_getfield(L, -1, s);
|
||||
--- 709,715 ----
|
||||
{
|
||||
const char *s = lua_tostring(L, 2);
|
||||
if (strncmp(s, "add", 3) == 0
|
||||
! || strncmp(s, "insert", 6) == 0)
|
||||
{
|
||||
lua_getmetatable(L, 1);
|
||||
lua_getfield(L, -1, s);
|
||||
***************
|
||||
*** 745,750 ****
|
||||
--- 744,750 ----
|
||||
luaV_totypval(L, 3, &v);
|
||||
clear_tv(&li->li_tv);
|
||||
copy_tv(&v, &li->li_tv);
|
||||
+ clear_tv(&v);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
***************
|
||||
*** 754,770 ****
|
||||
{
|
||||
luaV_List *lis = luaV_checkudata(L, 1, LUAVIM_LIST);
|
||||
list_T *l = (list_T *) luaV_checkcache(L, (void *) *lis);
|
||||
! listitem_T *li;
|
||||
if (l->lv_lock)
|
||||
luaL_error(L, "list is locked");
|
||||
! li = listitem_alloc();
|
||||
! if (li != NULL)
|
||||
{
|
||||
! typval_T v;
|
||||
! lua_settop(L, 2);
|
||||
! luaV_totypval(L, 2, &v);
|
||||
! list_append_tv(l, &v);
|
||||
}
|
||||
lua_settop(L, 1);
|
||||
return 1;
|
||||
}
|
||||
--- 754,770 ----
|
||||
{
|
||||
luaV_List *lis = luaV_checkudata(L, 1, LUAVIM_LIST);
|
||||
list_T *l = (list_T *) luaV_checkcache(L, (void *) *lis);
|
||||
! typval_T v;
|
||||
if (l->lv_lock)
|
||||
luaL_error(L, "list is locked");
|
||||
! lua_settop(L, 2);
|
||||
! luaV_totypval(L, 2, &v);
|
||||
! if (list_append_tv(l, &v) == FAIL)
|
||||
{
|
||||
! clear_tv(&v);
|
||||
! luaL_error(L, "Failed to add item to list");
|
||||
}
|
||||
+ clear_tv(&v);
|
||||
lua_settop(L, 1);
|
||||
return 1;
|
||||
}
|
||||
***************
|
||||
*** 787,793 ****
|
||||
}
|
||||
lua_settop(L, 2);
|
||||
luaV_totypval(L, 2, &v);
|
||||
! list_insert_tv(l, &v, li);
|
||||
lua_settop(L, 1);
|
||||
return 1;
|
||||
}
|
||||
--- 787,798 ----
|
||||
}
|
||||
lua_settop(L, 2);
|
||||
luaV_totypval(L, 2, &v);
|
||||
! if (list_insert_tv(l, &v, li) == FAIL)
|
||||
! {
|
||||
! clear_tv(&v);
|
||||
! luaL_error(L, "Failed to add item to list");
|
||||
! }
|
||||
! clear_tv(&v);
|
||||
lua_settop(L, 1);
|
||||
return 1;
|
||||
}
|
||||
***************
|
||||
*** 908,913 ****
|
||||
--- 913,919 ----
|
||||
typval_T v;
|
||||
luaV_totypval(L, 3, &v);
|
||||
copy_tv(&v, &di->di_tv);
|
||||
+ clear_tv(&v);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
***************
|
||||
*** 1323,1328 ****
|
||||
--- 1329,1335 ----
|
||||
typval_T *tv = eval_expr((char_u *) luaL_checkstring(L, 1), NULL);
|
||||
if (tv == NULL) luaL_error(L, "invalid expression");
|
||||
luaV_pushtypval(L, tv);
|
||||
+ free_tv(tv);
|
||||
return 1;
|
||||
}
|
||||
|
||||
*** ../vim-7.3.895/src/version.c 2013-04-15 13:06:15.000000000 +0200
|
||||
--- src/version.c 2013-04-15 13:48:21.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 896,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
172. You join listservers just for the extra e-mail.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
126
7.3.897
Normal file
126
7.3.897
Normal file
@ -0,0 +1,126 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.897
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.897
|
||||
Problem: Configure doesn't always find the shared library.
|
||||
Solution: Change the configure script. (Ken Takata)
|
||||
Files: src/configure.in, src/auto/configure
|
||||
|
||||
|
||||
*** ../vim-7.3.896/src/configure.in 2013-02-26 14:56:24.000000000 +0100
|
||||
--- src/configure.in 2013-04-15 14:28:02.000000000 +0200
|
||||
***************
|
||||
*** 494,510 ****
|
||||
if test -f "${vi_cv_path_lua_pfx}/bin/cyglua-${vi_cv_version_lua}.dll"; then
|
||||
vi_cv_dll_name_lua="cyglua-${vi_cv_version_lua}.dll"
|
||||
else
|
||||
! dnl Determine the SONAME for the current version, but fallback to
|
||||
! dnl liblua${vi_cv_version_lua}.so if no SONAME-versioned file is found.
|
||||
! for LUA_SOVER in "${vi_cv_version_lua}.so" ".so.${vi_cv_version_lua}"; do
|
||||
! for i in 0 1 2 3 4 5 6 7 8 9; do
|
||||
! if test -f "${vi_cv_path_lua_pfx}/lib/liblua${LUA_SOVER}.$i"; then
|
||||
! LUA_SONAME=".$i"
|
||||
! break
|
||||
! fi
|
||||
done
|
||||
- vi_cv_dll_name_lua="liblua${LUA_SOVER}$LUA_SONAME"
|
||||
done
|
||||
fi
|
||||
AC_DEFINE(DYNAMIC_LUA)
|
||||
LUA_LIBS=""
|
||||
--- 494,519 ----
|
||||
if test -f "${vi_cv_path_lua_pfx}/bin/cyglua-${vi_cv_version_lua}.dll"; then
|
||||
vi_cv_dll_name_lua="cyglua-${vi_cv_version_lua}.dll"
|
||||
else
|
||||
! multiarch=`dpkg-architecture -qDEB_HOST_MULTIARCH 2> /dev/null`
|
||||
! if test "X$multiarch" != "X"; then
|
||||
! lib_multiarch="lib/${multiarch}"
|
||||
! fi
|
||||
! dnl Determine the sover for the current version, but fallback to
|
||||
! dnl liblua${vi_cv_version_lua}.so if no sover-versioned file is found.
|
||||
! for subdir in "${lib_multiarch}" lib64 lib; do
|
||||
! if test -z "$subdir"; then
|
||||
! continue
|
||||
! fi
|
||||
! for sover in "${vi_cv_version_lua}.so" "-${vi_cv_version_lua}.so" ".so.${vi_cv_version_lua}"; do
|
||||
! for i in .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 ""; do
|
||||
! if test -f "${vi_cv_path_lua_pfx}/${subdir}/liblua${sover}$i"; then
|
||||
! sover2="$i"
|
||||
! break 3
|
||||
! fi
|
||||
! done
|
||||
done
|
||||
done
|
||||
+ vi_cv_dll_name_lua="liblua${sover}$sover2"
|
||||
fi
|
||||
AC_DEFINE(DYNAMIC_LUA)
|
||||
LUA_LIBS=""
|
||||
*** ../vim-7.3.896/src/auto/configure 2013-02-26 14:56:24.000000000 +0100
|
||||
--- src/auto/configure 2013-04-15 14:28:06.000000000 +0200
|
||||
***************
|
||||
*** 4737,4751 ****
|
||||
if test -f "${vi_cv_path_lua_pfx}/bin/cyglua-${vi_cv_version_lua}.dll"; then
|
||||
vi_cv_dll_name_lua="cyglua-${vi_cv_version_lua}.dll"
|
||||
else
|
||||
! for LUA_SOVER in "${vi_cv_version_lua}.so" ".so.${vi_cv_version_lua}"; do
|
||||
! for i in 0 1 2 3 4 5 6 7 8 9; do
|
||||
! if test -f "${vi_cv_path_lua_pfx}/lib/liblua${LUA_SOVER}.$i"; then
|
||||
! LUA_SONAME=".$i"
|
||||
! break
|
||||
! fi
|
||||
done
|
||||
- vi_cv_dll_name_lua="liblua${LUA_SOVER}$LUA_SONAME"
|
||||
done
|
||||
fi
|
||||
$as_echo "#define DYNAMIC_LUA 1" >>confdefs.h
|
||||
|
||||
--- 4737,4760 ----
|
||||
if test -f "${vi_cv_path_lua_pfx}/bin/cyglua-${vi_cv_version_lua}.dll"; then
|
||||
vi_cv_dll_name_lua="cyglua-${vi_cv_version_lua}.dll"
|
||||
else
|
||||
! multiarch=`dpkg-architecture -qDEB_HOST_MULTIARCH 2> /dev/null`
|
||||
! if test "X$multiarch" != "X"; then
|
||||
! lib_multiarch="lib/${multiarch}"
|
||||
! fi
|
||||
! for subdir in "${lib_multiarch}" lib64 lib; do
|
||||
! if test -z "$subdir"; then
|
||||
! continue
|
||||
! fi
|
||||
! for sover in "${vi_cv_version_lua}.so" "-${vi_cv_version_lua}.so" ".so.${vi_cv_version_lua}"; do
|
||||
! for i in .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 ""; do
|
||||
! if test -f "${vi_cv_path_lua_pfx}/${subdir}/liblua${sover}$i"; then
|
||||
! sover2="$i"
|
||||
! break 3
|
||||
! fi
|
||||
! done
|
||||
done
|
||||
done
|
||||
+ vi_cv_dll_name_lua="liblua${sover}$sover2"
|
||||
fi
|
||||
$as_echo "#define DYNAMIC_LUA 1" >>confdefs.h
|
||||
|
||||
*** ../vim-7.3.896/src/version.c 2013-04-15 13:49:17.000000000 +0200
|
||||
--- src/version.c 2013-04-15 14:43:52.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 897,
|
||||
/**/
|
||||
|
||||
--
|
||||
If Microsoft would build a car...
|
||||
... the oil, water temperature, and alternator warning lights would
|
||||
all be replaced by a single "General Protection Fault" warning light.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
304
7.3.898
Normal file
304
7.3.898
Normal file
@ -0,0 +1,304 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.898
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.898
|
||||
Problem: Memory leak reported by valgrind in test 91.
|
||||
Solution: Only use default argument when needed.
|
||||
Files: src/eval.c, src/testdir/test91.in, src/testdir/test91.ok
|
||||
|
||||
|
||||
*** ../vim-7.3.897/src/eval.c 2013-04-15 13:06:15.000000000 +0200
|
||||
--- src/eval.c 2013-04-15 15:09:17.000000000 +0200
|
||||
***************
|
||||
*** 11120,11139 ****
|
||||
buf_T *save_curbuf;
|
||||
char_u *varname;
|
||||
dictitem_T *v;
|
||||
|
||||
(void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
|
||||
varname = get_tv_string_chk(&argvars[1]);
|
||||
++emsg_off;
|
||||
buf = get_buf_tv(&argvars[0], FALSE);
|
||||
|
||||
! if (argvars[2].v_type != VAR_UNKNOWN)
|
||||
! /* set the default value */
|
||||
! copy_tv(&argvars[2], rettv);
|
||||
! else
|
||||
! {
|
||||
! rettv->v_type = VAR_STRING;
|
||||
! rettv->vval.v_string = NULL;
|
||||
! }
|
||||
|
||||
if (buf != NULL && varname != NULL)
|
||||
{
|
||||
--- 11120,11134 ----
|
||||
buf_T *save_curbuf;
|
||||
char_u *varname;
|
||||
dictitem_T *v;
|
||||
+ int done = FALSE;
|
||||
|
||||
(void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
|
||||
varname = get_tv_string_chk(&argvars[1]);
|
||||
++emsg_off;
|
||||
buf = get_buf_tv(&argvars[0], FALSE);
|
||||
|
||||
! rettv->v_type = VAR_STRING;
|
||||
! rettv->vval.v_string = NULL;
|
||||
|
||||
if (buf != NULL && varname != NULL)
|
||||
{
|
||||
***************
|
||||
*** 11142,11152 ****
|
||||
curbuf = buf;
|
||||
|
||||
if (*varname == '&') /* buffer-local-option */
|
||||
! get_option_tv(&varname, rettv, TRUE);
|
||||
else if (STRCMP(varname, "changedtick") == 0)
|
||||
{
|
||||
rettv->v_type = VAR_NUMBER;
|
||||
rettv->vval.v_number = curbuf->b_changedtick;
|
||||
}
|
||||
else
|
||||
{
|
||||
--- 11137,11151 ----
|
||||
curbuf = buf;
|
||||
|
||||
if (*varname == '&') /* buffer-local-option */
|
||||
! {
|
||||
! if (get_option_tv(&varname, rettv, TRUE) == OK)
|
||||
! done = TRUE;
|
||||
! }
|
||||
else if (STRCMP(varname, "changedtick") == 0)
|
||||
{
|
||||
rettv->v_type = VAR_NUMBER;
|
||||
rettv->vval.v_number = curbuf->b_changedtick;
|
||||
+ done = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
***************
|
||||
*** 11155,11167 ****
|
||||
--- 11154,11173 ----
|
||||
v = find_var_in_ht(&curbuf->b_vars->dv_hashtab,
|
||||
'b', varname, FALSE);
|
||||
if (v != NULL)
|
||||
+ {
|
||||
copy_tv(&v->di_tv, rettv);
|
||||
+ done = TRUE;
|
||||
+ }
|
||||
}
|
||||
|
||||
/* restore previous notion of curbuf */
|
||||
curbuf = save_curbuf;
|
||||
}
|
||||
|
||||
+ if (!done && argvars[2].v_type != VAR_UNKNOWN)
|
||||
+ /* use the default value */
|
||||
+ copy_tv(&argvars[2], rettv);
|
||||
+
|
||||
--emsg_off;
|
||||
}
|
||||
|
||||
***************
|
||||
*** 11767,11772 ****
|
||||
--- 11773,11779 ----
|
||||
tabpage_T *tp;
|
||||
dictitem_T *v;
|
||||
char_u *varname;
|
||||
+ int done = FALSE;
|
||||
|
||||
rettv->v_type = VAR_STRING;
|
||||
rettv->vval.v_string = NULL;
|
||||
***************
|
||||
*** 11778,11788 ****
|
||||
/* look up the variable */
|
||||
v = find_var_in_ht(&tp->tp_vars->dv_hashtab, 0, varname, FALSE);
|
||||
if (v != NULL)
|
||||
copy_tv(&v->di_tv, rettv);
|
||||
! else if (argvars[2].v_type != VAR_UNKNOWN)
|
||||
! copy_tv(&argvars[2], rettv);
|
||||
}
|
||||
! else if (argvars[2].v_type != VAR_UNKNOWN)
|
||||
copy_tv(&argvars[2], rettv);
|
||||
}
|
||||
|
||||
--- 11785,11797 ----
|
||||
/* look up the variable */
|
||||
v = find_var_in_ht(&tp->tp_vars->dv_hashtab, 0, varname, FALSE);
|
||||
if (v != NULL)
|
||||
+ {
|
||||
copy_tv(&v->di_tv, rettv);
|
||||
! done = TRUE;
|
||||
! }
|
||||
}
|
||||
!
|
||||
! if (!done && argvars[2].v_type != VAR_UNKNOWN)
|
||||
copy_tv(&argvars[2], rettv);
|
||||
}
|
||||
|
||||
***************
|
||||
*** 11894,11899 ****
|
||||
--- 11903,11909 ----
|
||||
char_u *varname;
|
||||
dictitem_T *v;
|
||||
tabpage_T *tp;
|
||||
+ int done = FALSE;
|
||||
|
||||
#ifdef FEAT_WINDOWS
|
||||
if (off == 1)
|
||||
***************
|
||||
*** 11905,11918 ****
|
||||
varname = get_tv_string_chk(&argvars[off + 1]);
|
||||
++emsg_off;
|
||||
|
||||
! if (argvars[off + 2].v_type != VAR_UNKNOWN)
|
||||
! /* set the default return value */
|
||||
! copy_tv(&argvars[off + 2], rettv);
|
||||
! else
|
||||
! {
|
||||
! rettv->v_type = VAR_STRING;
|
||||
! rettv->vval.v_string = NULL;
|
||||
! }
|
||||
|
||||
if (win != NULL && varname != NULL)
|
||||
{
|
||||
--- 11915,11922 ----
|
||||
varname = get_tv_string_chk(&argvars[off + 1]);
|
||||
++emsg_off;
|
||||
|
||||
! rettv->v_type = VAR_STRING;
|
||||
! rettv->vval.v_string = NULL;
|
||||
|
||||
if (win != NULL && varname != NULL)
|
||||
{
|
||||
***************
|
||||
*** 11923,11936 ****
|
||||
curbuf = win->w_buffer;
|
||||
|
||||
if (*varname == '&') /* window-local-option */
|
||||
! get_option_tv(&varname, rettv, 1);
|
||||
else
|
||||
{
|
||||
/* Look up the variable. */
|
||||
/* Let getwinvar({nr}, "") return the "w:" dictionary. */
|
||||
v = find_var_in_ht(&win->w_vars->dv_hashtab, 'w', varname, FALSE);
|
||||
if (v != NULL)
|
||||
copy_tv(&v->di_tv, rettv);
|
||||
}
|
||||
|
||||
/* restore previous notion of curwin */
|
||||
--- 11927,11946 ----
|
||||
curbuf = win->w_buffer;
|
||||
|
||||
if (*varname == '&') /* window-local-option */
|
||||
! {
|
||||
! if (get_option_tv(&varname, rettv, 1) == OK)
|
||||
! done = TRUE;
|
||||
! }
|
||||
else
|
||||
{
|
||||
/* Look up the variable. */
|
||||
/* Let getwinvar({nr}, "") return the "w:" dictionary. */
|
||||
v = find_var_in_ht(&win->w_vars->dv_hashtab, 'w', varname, FALSE);
|
||||
if (v != NULL)
|
||||
+ {
|
||||
copy_tv(&v->di_tv, rettv);
|
||||
+ done = TRUE;
|
||||
+ }
|
||||
}
|
||||
|
||||
/* restore previous notion of curwin */
|
||||
***************
|
||||
*** 11938,11943 ****
|
||||
--- 11948,11957 ----
|
||||
curbuf = curwin->w_buffer;
|
||||
}
|
||||
|
||||
+ if (!done && argvars[off + 2].v_type != VAR_UNKNOWN)
|
||||
+ /* use the default return value */
|
||||
+ copy_tv(&argvars[off + 2], rettv);
|
||||
+
|
||||
--emsg_off;
|
||||
}
|
||||
|
||||
*** ../vim-7.3.897/src/testdir/test91.in 2013-02-20 21:11:14.000000000 +0100
|
||||
--- src/testdir/test91.in 2013-04-15 14:59:31.000000000 +0200
|
||||
***************
|
||||
*** 4,12 ****
|
||||
STARTTEST
|
||||
:so small.vim
|
||||
:"
|
||||
! :" test for getbufvar()
|
||||
! :let b:var_num = 1234
|
||||
! :let def_num = 5678
|
||||
:$put =string(getbufvar(1, 'var_num'))
|
||||
:$put =string(getbufvar(1, 'var_num', def_num))
|
||||
:$put =string(getbufvar(1, ''))
|
||||
--- 4,13 ----
|
||||
STARTTEST
|
||||
:so small.vim
|
||||
:"
|
||||
! :" Test for getbufvar()
|
||||
! :" Use strings to test for memory leaks.
|
||||
! :let b:var_num = '1234'
|
||||
! :let def_num = '5678'
|
||||
:$put =string(getbufvar(1, 'var_num'))
|
||||
:$put =string(getbufvar(1, 'var_num', def_num))
|
||||
:$put =string(getbufvar(1, ''))
|
||||
*** ../vim-7.3.897/src/testdir/test91.ok 2013-02-20 21:11:14.000000000 +0100
|
||||
--- src/testdir/test91.ok 2013-04-15 15:02:45.000000000 +0200
|
||||
***************
|
||||
*** 1,13 ****
|
||||
start:
|
||||
! 1234
|
||||
! 1234
|
||||
! {'var_num': 1234}
|
||||
! {'var_num': 1234}
|
||||
! 5678
|
||||
{}
|
||||
{}
|
||||
''
|
||||
! 5678
|
||||
0
|
||||
0
|
||||
'Dance'
|
||||
--- 1,13 ----
|
||||
start:
|
||||
! '1234'
|
||||
! '1234'
|
||||
! {'var_num': '1234'}
|
||||
! {'var_num': '1234'}
|
||||
! '5678'
|
||||
{}
|
||||
{}
|
||||
''
|
||||
! '5678'
|
||||
0
|
||||
0
|
||||
'Dance'
|
||||
*** ../vim-7.3.897/src/version.c 2013-04-15 14:44:53.000000000 +0200
|
||||
--- src/version.c 2013-04-15 15:14:22.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 898,
|
||||
/**/
|
||||
|
||||
--
|
||||
If Apple would build a car...
|
||||
... it would be powered by the sun, be reliable, five times
|
||||
as fast and twice as easy to drive; but would only run on
|
||||
five percent of the roads.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
67
7.3.899
Normal file
67
7.3.899
Normal file
@ -0,0 +1,67 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.899
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.899
|
||||
Problem: #if indents are off.
|
||||
Solution: Fix the indents.
|
||||
Files: src/os_unix.c
|
||||
|
||||
|
||||
*** ../vim-7.3.898/src/os_unix.c 2013-03-21 22:53:45.000000000 +0100
|
||||
--- src/os_unix.c 2013-04-15 15:28:01.000000000 +0200
|
||||
***************
|
||||
*** 3493,3505 ****
|
||||
* 4 = Windows Cross Hair
|
||||
* 5 = Windows UP Arrow
|
||||
*/
|
||||
! #ifdef JSBTERM_MOUSE_NONADVANCED /* Disables full feedback of pointer movements */
|
||||
out_str_nf((char_u *)IF_EB("\033[0~ZwLMRK1Q\033\\",
|
||||
ESC_STR "[0~ZwLMRK1Q" ESC_STR "\\"));
|
||||
! #else
|
||||
out_str_nf((char_u *)IF_EB("\033[0~ZwLMRK+1Q\033\\",
|
||||
ESC_STR "[0~ZwLMRK+1Q" ESC_STR "\\"));
|
||||
! #endif
|
||||
ison = TRUE;
|
||||
}
|
||||
else
|
||||
--- 3493,3506 ----
|
||||
* 4 = Windows Cross Hair
|
||||
* 5 = Windows UP Arrow
|
||||
*/
|
||||
! # ifdef JSBTERM_MOUSE_NONADVANCED
|
||||
! /* Disables full feedback of pointer movements */
|
||||
out_str_nf((char_u *)IF_EB("\033[0~ZwLMRK1Q\033\\",
|
||||
ESC_STR "[0~ZwLMRK1Q" ESC_STR "\\"));
|
||||
! # else
|
||||
out_str_nf((char_u *)IF_EB("\033[0~ZwLMRK+1Q\033\\",
|
||||
ESC_STR "[0~ZwLMRK+1Q" ESC_STR "\\"));
|
||||
! # endif
|
||||
ison = TRUE;
|
||||
}
|
||||
else
|
||||
*** ../vim-7.3.898/src/version.c 2013-04-15 15:15:31.000000000 +0200
|
||||
--- src/version.c 2013-04-15 15:31:43.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 899,
|
||||
/**/
|
||||
|
||||
--
|
||||
If Microsoft would build a car...
|
||||
... Occasionally, executing a maneuver such as a left turn
|
||||
would cause your car to shut down and refuse to restart, in
|
||||
which case you would have to reinstall the engine.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
55
7.3.900
Normal file
55
7.3.900
Normal file
@ -0,0 +1,55 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.900
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.900
|
||||
Problem: Not obvious that some mouse features are mutual-exclusive.
|
||||
Solution: Add a comment.
|
||||
Files: src/feature.h
|
||||
|
||||
|
||||
*** ../vim-7.3.899/src/feature.h 2013-02-26 14:56:24.000000000 +0100
|
||||
--- src/feature.h 2013-04-15 15:29:17.000000000 +0200
|
||||
***************
|
||||
*** 1088,1093 ****
|
||||
--- 1088,1100 ----
|
||||
# endif
|
||||
#endif
|
||||
|
||||
+ /*
|
||||
+ * Note: Only one of the following may be defined:
|
||||
+ * FEAT_MOUSE_GPM
|
||||
+ * FEAT_SYSMOUSE
|
||||
+ * FEAT_MOUSE_JSB
|
||||
+ * FEAT_MOUSE_PTERM
|
||||
+ */
|
||||
#if defined(FEAT_NORMAL) && defined(HAVE_GPM)
|
||||
# define FEAT_MOUSE_GPM
|
||||
#endif
|
||||
*** ../vim-7.3.899/src/version.c 2013-04-15 15:32:20.000000000 +0200
|
||||
--- src/version.c 2013-04-15 15:39:10.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 900,
|
||||
/**/
|
||||
|
||||
--
|
||||
If Microsoft would build a car...
|
||||
... Occasionally your car would die on the freeway for no
|
||||
reason. You would have to pull over to the side of the road,
|
||||
close all of the car windows, shut it off, restart it, and
|
||||
reopen the windows before you could continue. For some reason
|
||||
you would simply accept this.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
95
7.3.901
Normal file
95
7.3.901
Normal file
@ -0,0 +1,95 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.901
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.901
|
||||
Problem: Outdated comment, ugly condition.
|
||||
Solution: Update a few comments, break line.
|
||||
Files: src/getchar.c, src/misc1.c, src/undo.c
|
||||
|
||||
|
||||
*** ../vim-7.3.900/src/getchar.c 2013-03-16 21:42:12.000000000 +0100
|
||||
--- src/getchar.c 2013-04-12 15:01:39.000000000 +0200
|
||||
***************
|
||||
*** 444,450 ****
|
||||
typebuf.tb_off = MAXMAPLEN;
|
||||
typebuf.tb_len = 0;
|
||||
}
|
||||
! else /* remove mapped characters only */
|
||||
{
|
||||
typebuf.tb_off += typebuf.tb_maplen;
|
||||
typebuf.tb_len -= typebuf.tb_maplen;
|
||||
--- 444,450 ----
|
||||
typebuf.tb_off = MAXMAPLEN;
|
||||
typebuf.tb_len = 0;
|
||||
}
|
||||
! else /* remove mapped characters at the start only */
|
||||
{
|
||||
typebuf.tb_off += typebuf.tb_maplen;
|
||||
typebuf.tb_len -= typebuf.tb_maplen;
|
||||
*** ../vim-7.3.900/src/misc1.c 2013-03-19 18:31:45.000000000 +0100
|
||||
--- src/misc1.c 2013-03-19 20:43:48.000000000 +0100
|
||||
***************
|
||||
*** 5054,5060 ****
|
||||
int cx = NUL;
|
||||
int cy = NUL;
|
||||
|
||||
- /* TODO: multi-byte characters. */
|
||||
while (len > 0)
|
||||
{
|
||||
cx = PTR2CHAR(px);
|
||||
--- 5054,5059 ----
|
||||
*** ../vim-7.3.900/src/undo.c 2012-08-23 12:58:56.000000000 +0200
|
||||
--- src/undo.c 2012-12-12 16:00:19.000000000 +0100
|
||||
***************
|
||||
*** 216,221 ****
|
||||
--- 216,222 ----
|
||||
|
||||
/*
|
||||
* Save the current line for both the "u" and "U" command.
|
||||
+ * Careful: may trigger autocommands that reload the buffer.
|
||||
* Returns OK or FAIL.
|
||||
*/
|
||||
int
|
||||
***************
|
||||
*** 238,245 ****
|
||||
if (undo_off)
|
||||
return OK;
|
||||
|
||||
! if (top > curbuf->b_ml.ml_line_count ||
|
||||
! top >= bot || bot > curbuf->b_ml.ml_line_count + 1)
|
||||
return FALSE; /* rely on caller to do error messages */
|
||||
|
||||
if (top + 2 == bot)
|
||||
--- 239,247 ----
|
||||
if (undo_off)
|
||||
return OK;
|
||||
|
||||
! if (top > curbuf->b_ml.ml_line_count
|
||||
! || top >= bot
|
||||
! || bot > curbuf->b_ml.ml_line_count + 1)
|
||||
return FALSE; /* rely on caller to do error messages */
|
||||
|
||||
if (top + 2 == bot)
|
||||
*** ../vim-7.3.900/src/version.c 2013-04-15 15:40:08.000000000 +0200
|
||||
--- src/version.c 2013-04-15 15:46:37.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 901,
|
||||
/**/
|
||||
|
||||
--
|
||||
The CIA drives around in cars with the "Intel inside" logo.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
45
7.3.902
Normal file
45
7.3.902
Normal file
@ -0,0 +1,45 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.902
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.902
|
||||
Problem: When deleting last buffer in other tab the tabline is not updated.
|
||||
Solution: Set the redraw_tabline flag. (Yukihiro Nakadaira)
|
||||
Files: src/window.c
|
||||
|
||||
|
||||
*** ../vim-7.3.901/src/window.c 2013-04-15 12:27:30.000000000 +0200
|
||||
--- src/window.c 2013-04-15 15:52:46.000000000 +0200
|
||||
***************
|
||||
*** 2070,2075 ****
|
||||
--- 2070,2076 ----
|
||||
|
||||
--RedrawingDisabled;
|
||||
|
||||
+ redraw_tabline = TRUE;
|
||||
if (h != tabline_height())
|
||||
shell_new_rows();
|
||||
}
|
||||
*** ../vim-7.3.901/src/version.c 2013-04-15 15:47:07.000000000 +0200
|
||||
--- src/version.c 2013-04-15 15:54:42.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 902,
|
||||
/**/
|
||||
|
||||
--
|
||||
If Microsoft would build a car...
|
||||
... The airbag system would ask "are you SURE?" before deploying.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
60
7.3.903
Normal file
60
7.3.903
Normal file
@ -0,0 +1,60 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.903
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.903 (after 7.3.892)
|
||||
Problem: Crash on exit writing viminfo. (Ron Aaron)
|
||||
Solution: Check for the history to be empty.
|
||||
Files: src/ex_getln.c
|
||||
|
||||
|
||||
*** ../vim-7.3.902/src/ex_getln.c 2013-04-14 23:19:32.000000000 +0200
|
||||
--- src/ex_getln.c 2013-04-15 16:13:56.000000000 +0200
|
||||
***************
|
||||
*** 6216,6222 ****
|
||||
*/
|
||||
for (round = 1; round <= 2; ++round)
|
||||
{
|
||||
! i = round == 1 ? hisidx[type] : 0;
|
||||
if (i >= 0)
|
||||
while (num_saved > 0
|
||||
&& !(round == 2 && i >= viminfo_hisidx[type]))
|
||||
--- 6216,6230 ----
|
||||
*/
|
||||
for (round = 1; round <= 2; ++round)
|
||||
{
|
||||
! if (round == 1)
|
||||
! /* start at newest entry, somewhere in the list */
|
||||
! i = hisidx[type];
|
||||
! else if (viminfo_hisidx[type] > 0)
|
||||
! /* start at newest entry, first in the list */
|
||||
! i = 0;
|
||||
! else
|
||||
! /* empty list */
|
||||
! i = -1;
|
||||
if (i >= 0)
|
||||
while (num_saved > 0
|
||||
&& !(round == 2 && i >= viminfo_hisidx[type]))
|
||||
*** ../vim-7.3.902/src/version.c 2013-04-15 15:55:15.000000000 +0200
|
||||
--- src/version.c 2013-04-15 16:11:08.000000000 +0200
|
||||
***************
|
||||
*** 730,731 ****
|
||||
--- 730,733 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 903,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
176. You lie, even to user-friends, about how long you were online yesterday.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
@ -854,3 +854,84 @@ Individual patches for Vim 7.3:
|
||||
3295 7.3.820 errors when building with small features and Lua, Perl or Ruby
|
||||
2199 7.3.821 build with OLE and Cygwin is broken
|
||||
4013 7.3.822 (after 7.3.799) crash when accessing freed buffer
|
||||
2051 7.3.823 (after 7.3.821) building with Cygwin: '-lsupc++' is not needed
|
||||
1566 7.3.824 can redefine builtin functions
|
||||
4540 7.3.825 with Python errors are not always clear
|
||||
3807 7.3.826 list of features in :version output is hard to read
|
||||
3112 7.3.827 (after 7.3.825) Python tests fail
|
||||
4780 7.3.828 mappings are not aware of wildmenu mode
|
||||
2664 7.3.829 'showmatch' shows wrong match and may scroll the screen
|
||||
2841 7.3.830 :mksession confuses bytes and characters when placing cursor
|
||||
20653 7.3.831 clumsy to handle the situation that a variable does not exist
|
||||
1830 7.3.832 compiler warning
|
||||
2985 7.3.833 In the terminal scroll wheel always scrolls the active window
|
||||
2556 7.3.834 Ruby 2.0 has a few API changes
|
||||
1755 7.3.835 "xxd -i" fails on an empty file
|
||||
59985 7.3.836 clipboard does not work on Win32 when compiled with Cygwin
|
||||
2221 7.3.837 empty lines in :version output when 'columns' is 320
|
||||
11082 7.3.838 (after 7.3.830) insufficient testing for mksession
|
||||
2012 7.3.839 some files missing in the list of distributed files
|
||||
1652 7.3.840 "\@<!" in regexp does not work correctly with cp932
|
||||
2073 7.3.841 parse error in "cond ? one : two" expression with a subscript
|
||||
1724 7.3.842 compiler warning
|
||||
3883 7.3.843 (after 7.3.841) missing test file changes
|
||||
5894 7.3.844 enum is not indented correctly with "public" etc
|
||||
2057 7.3.845 (after 7.3.844) enum indenting is not tested
|
||||
1442 7.3.846 missing proto file, listing a non-existing proto file
|
||||
1546 7.3.847 test 55 fails when messages are translated
|
||||
4475 7.3.848 can't build with Ruby 2.0 when using MinGW x64 or MSVC10
|
||||
1773 7.3.849 ":g//" gives "Pattern not found error" with E486
|
||||
2719 7.3.850 ":vimgrep //" matches everywhere
|
||||
2264 7.3.851 empty pattern with :sort incorrect without previous pattern
|
||||
3376 7.3.852 system() breaks clipboard text
|
||||
2711 7.3.853 "ra" does not replace all chars on multi-byte chars > 1 line
|
||||
1630 7.3.854 after BS in insert mode completion current entry is wrong
|
||||
1831 7.3.855 compiler warnings
|
||||
8587 7.3.856 system() garbles multi-byte clipboard contents
|
||||
2763 7.3.857 QuitPre autocommand event does not trigger for :qa and :wq
|
||||
4120 7.3.858 "gv" selects the wrong area after some operators
|
||||
9955 7.3.859 'ambiwidth' must be set by the user
|
||||
2602 7.3.860 in --remote-expr try/catch does not work
|
||||
4494 7.3.861 ":setlocal number" clears global value of 'relativenumber'
|
||||
5831 7.3.862 dragging the status line can be slow
|
||||
3025 7.3.863 (after 7.3.859) 'ambiwidth' detection for ANSI terminal
|
||||
1516 7.3.864 (after 7.3.862) can't build without the mouse feature
|
||||
2015 7.3.865 (after 7.3.862) mouse position can be wrong
|
||||
4745 7.3.866 not serving the X selection during system() isn't nice
|
||||
9641 7.3.867 matchparen does not update match when using auto-indenting
|
||||
2567 7.3.868 empty line at hit-return prompt with few lines of text
|
||||
11112 7.3.869 bufwinnr() matches buffers in other tabs
|
||||
6562 7.3.870 compiler warnings when using MingW 4.5.3
|
||||
2741 7.3.871 search('^$', 'c') does not use empty match under the cursor
|
||||
14914 7.3.872 on some systems file name case is always ignored
|
||||
5967 7.3.873 cannot easily use :s to make title case
|
||||
3480 7.3.874 comparing file names does not handle multi-byte chars properly
|
||||
1865 7.3.875 (after 7.3.866) build problem with a combination of features
|
||||
2182 7.3.876 #if indents are off
|
||||
3069 7.3.877 (after 7.3.871) forward searching with search() is broken
|
||||
3124 7.3.878 'fileignorecase' is missing in options window and quickref
|
||||
2792 7.3.879 aborting an ex command does not abort a pending operator
|
||||
7907 7.3.880 new viminfo history lines may be replacd with old lines
|
||||
2849 7.3.881 Python list does not work correctly
|
||||
1714 7.3.882 CursorHold may trigger after receiving the termresponse
|
||||
2350 7.3.883 (after 7.3.880) can't build with some combination of features
|
||||
2150 7.3.884 compiler warning for variable shadowing another
|
||||
2408 7.3.885 double free for list and dict in Lua
|
||||
2567 7.3.886 can't build with multi-byte on Solaris 10
|
||||
9601 7.3.887 no tests for Visual mode operators, what 7.3.879 fixes
|
||||
3933 7.3.888 filename completion with 'fic' does not work for multi-byte
|
||||
2040 7.3.889 can't build with Ruby 2.0 on a 64 bit system
|
||||
1563 7.3.890 test 79 fails on Windows
|
||||
3761 7.3.891 merging viminfo history doesn't work well
|
||||
7984 7.3.892 (after 7.3.891) still merging problems for viminfo history
|
||||
19606 7.3.893 crash when using b:, w: or t: after closing the buffer etc.
|
||||
2219 7.3.894 using wrong RUBY_VER causing Ruby build to break
|
||||
5927 7.3.895 valgrind error in test 91
|
||||
5208 7.3.896 memory leaks in Lua interface
|
||||
4487 7.3.897 configure doesn't always find the shared library
|
||||
7367 7.3.898 memory leak reported by valgrind in test 91
|
||||
2116 7.3.899 #if indents are off
|
||||
1639 7.3.900 not obvious that some mouse features are mutual-exclusive
|
||||
2748 7.3.901 outdated comment, ugly condition
|
||||
1345 7.3.902 tabline not updated when deleting last buffer in other tab
|
||||
1827 7.3.903 (after 7.3.892) crash on exit writing viminfo
|
||||
|
167
vim.spec
167
vim.spec
@ -18,7 +18,7 @@
|
||||
#used for pre-releases:
|
||||
%define beta %{nil}
|
||||
%define vimdir vim73%{?beta}
|
||||
%define patchlevel 822
|
||||
%define patchlevel 903
|
||||
|
||||
Summary: The VIM editor
|
||||
URL: http://www.vim.org/
|
||||
@ -879,6 +879,87 @@ Patch819: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.819
|
||||
Patch820: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.820
|
||||
Patch821: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.821
|
||||
Patch822: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.822
|
||||
Patch823: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.823
|
||||
Patch824: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.824
|
||||
Patch825: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.825
|
||||
Patch826: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.826
|
||||
Patch827: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.827
|
||||
Patch828: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.828
|
||||
Patch829: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.829
|
||||
Patch830: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.830
|
||||
Patch831: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.831
|
||||
Patch832: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.832
|
||||
Patch833: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.833
|
||||
Patch834: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.834
|
||||
Patch835: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.835
|
||||
Patch836: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.836
|
||||
Patch837: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.837
|
||||
Patch838: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.838
|
||||
Patch839: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.839
|
||||
Patch840: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.840
|
||||
Patch841: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.841
|
||||
Patch842: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.842
|
||||
Patch843: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.843
|
||||
Patch844: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.844
|
||||
Patch845: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.845
|
||||
Patch846: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.846
|
||||
Patch847: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.847
|
||||
Patch848: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.848
|
||||
Patch849: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.849
|
||||
Patch850: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.850
|
||||
Patch851: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.851
|
||||
Patch852: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.852
|
||||
Patch853: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.853
|
||||
Patch854: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.854
|
||||
Patch855: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.855
|
||||
Patch856: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.856
|
||||
Patch857: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.857
|
||||
Patch858: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.858
|
||||
Patch859: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.859
|
||||
Patch860: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.860
|
||||
Patch861: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.861
|
||||
Patch862: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.862
|
||||
Patch863: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.863
|
||||
Patch864: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.864
|
||||
Patch865: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.865
|
||||
Patch866: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.866
|
||||
Patch867: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.867
|
||||
Patch868: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.868
|
||||
Patch869: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.869
|
||||
Patch870: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.870
|
||||
Patch871: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.871
|
||||
Patch872: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.872
|
||||
Patch873: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.873
|
||||
Patch874: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.874
|
||||
Patch875: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.875
|
||||
Patch876: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.876
|
||||
Patch877: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.877
|
||||
Patch878: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.878
|
||||
Patch879: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.879
|
||||
Patch880: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.880
|
||||
Patch881: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.881
|
||||
Patch882: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.882
|
||||
Patch883: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.883
|
||||
Patch884: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.884
|
||||
Patch885: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.885
|
||||
Patch886: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.886
|
||||
Patch887: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.887
|
||||
Patch888: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.888
|
||||
Patch889: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.889
|
||||
Patch890: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.890
|
||||
Patch891: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.891
|
||||
Patch892: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.892
|
||||
Patch893: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.893
|
||||
Patch894: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.894
|
||||
Patch895: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.895
|
||||
Patch896: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.896
|
||||
Patch897: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.897
|
||||
Patch898: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.898
|
||||
Patch899: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.899
|
||||
Patch900: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.900
|
||||
Patch901: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.901
|
||||
Patch902: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.902
|
||||
Patch903: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.903
|
||||
|
||||
Patch3000: vim-7.3-syntax.patch
|
||||
Patch3002: vim-7.1-nowarnings.patch
|
||||
@ -1847,6 +1928,87 @@ perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk
|
||||
%patch820 -p0
|
||||
%patch821 -p0
|
||||
%patch822 -p0
|
||||
%patch823 -p0
|
||||
%patch824 -p0
|
||||
%patch825 -p0
|
||||
%patch826 -p0
|
||||
%patch827 -p0
|
||||
%patch828 -p0
|
||||
%patch829 -p0
|
||||
%patch830 -p0
|
||||
%patch831 -p0
|
||||
%patch832 -p0
|
||||
%patch833 -p0
|
||||
%patch834 -p0
|
||||
%patch835 -p0
|
||||
%patch836 -p0
|
||||
%patch837 -p0
|
||||
%patch838 -p0
|
||||
%patch839 -p0
|
||||
%patch840 -p0
|
||||
%patch841 -p0
|
||||
%patch842 -p0
|
||||
%patch843 -p0
|
||||
%patch844 -p0
|
||||
%patch845 -p0
|
||||
%patch846 -p0
|
||||
%patch847 -p0
|
||||
%patch848 -p0
|
||||
%patch849 -p0
|
||||
%patch850 -p0
|
||||
%patch851 -p0
|
||||
%patch852 -p0
|
||||
%patch853 -p0
|
||||
%patch854 -p0
|
||||
%patch855 -p0
|
||||
%patch856 -p0
|
||||
%patch857 -p0
|
||||
%patch858 -p0
|
||||
%patch859 -p0
|
||||
%patch860 -p0
|
||||
%patch861 -p0
|
||||
%patch862 -p0
|
||||
%patch863 -p0
|
||||
%patch864 -p0
|
||||
%patch865 -p0
|
||||
%patch866 -p0
|
||||
%patch867 -p0
|
||||
%patch868 -p0
|
||||
%patch869 -p0
|
||||
%patch870 -p0
|
||||
%patch871 -p0
|
||||
%patch872 -p0
|
||||
%patch873 -p0
|
||||
%patch874 -p0
|
||||
%patch875 -p0
|
||||
%patch876 -p0
|
||||
%patch877 -p0
|
||||
%patch878 -p0
|
||||
%patch879 -p0
|
||||
%patch880 -p0
|
||||
%patch881 -p0
|
||||
%patch882 -p0
|
||||
%patch883 -p0
|
||||
%patch884 -p0
|
||||
%patch885 -p0
|
||||
%patch886 -p0
|
||||
%patch887 -p0
|
||||
%patch888 -p0
|
||||
%patch889 -p0
|
||||
%patch890 -p0
|
||||
%patch891 -p0
|
||||
%patch892 -p0
|
||||
%patch893 -p0
|
||||
%patch894 -p0
|
||||
%patch895 -p0
|
||||
%patch896 -p0
|
||||
%patch897 -p0
|
||||
%patch898 -p0
|
||||
%patch899 -p0
|
||||
%patch900 -p0
|
||||
%patch901 -p0
|
||||
%patch902 -p0
|
||||
%patch903 -p0
|
||||
|
||||
|
||||
# install spell files
|
||||
@ -2322,6 +2484,9 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%{_datadir}/icons/hicolor/*/apps/*
|
||||
|
||||
%changelog
|
||||
* Mon Apr 15 2013 Karsten Hopp <karsten@redhat.com> 7.3.903-1
|
||||
- patchlevel 903
|
||||
|
||||
* Mon Feb 18 2013 Karsten Hopp <karsten@redhat.com> 7.3.822-1
|
||||
- patchlevel 822
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user