rpms/vim/devel 7.1.319, NONE, 1.1 7.1.320, NONE, 1.1 7.1.321, NONE, 1.1 7.1.322, NONE, 1.1 7.1.323, NONE, 1.1 7.1.324, NONE, 1.1 7.1.325, NONE, 1.1 7.1.326, NONE, 1.1 7.1.327, NONE, 1.1 7.1.328, NONE, 1.1 7.1.329, NONE, 1.1 7.1.330, NONE, 1.1
Karsten Hopp (karsten)
fedora-extras-commits at redhat.com
Fri Jul 18 11:38:33 UTC 2008
Author: karsten
Update of /cvs/extras/rpms/vim/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv8352
Added Files:
7.1.319 7.1.320 7.1.321 7.1.322 7.1.323 7.1.324 7.1.325
7.1.326 7.1.327 7.1.328 7.1.329 7.1.330
Log Message:
- patchlevel 318-330
--- NEW FILE 7.1.319 ---
To: vim-dev at vim.org
Subject: Patch 7.1.319
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.319
Problem: When a register has an illegal utf-8 sequence, pasting it on the
command line causes an illegal memory access.
Solution: Use mb_cptr2char_adv(). (Dominique Pelle)
Files: src/ex_getln.c
*** ../vim-7.1.318/src/ex_getln.c Thu May 29 15:33:13 2008
--- src/ex_getln.c Mon Jun 9 20:10:51 2008
***************
*** 3032,3041 ****
++s;
#ifdef FEAT_MBYTE
if (has_mbyte)
! {
! c = mb_ptr2char(s);
! s += mb_char2len(c);
! }
else
#endif
c = *s++;
--- 3033,3039 ----
++s;
#ifdef FEAT_MBYTE
if (has_mbyte)
! c = mb_cptr2char_adv(&s);
else
#endif
c = *s++;
*** ../vim-7.1.318/src/version.c Fri Jun 20 11:58:27 2008
--- src/version.c Fri Jun 20 12:53:16 2008
***************
*** 668,669 ****
--- 673,676 ----
{ /* Add new patch number below this line */
+ /**/
+ 319,
/**/
--
hundred-and-one symptoms of being an internet addict:
46. Your wife makes a new rule: "The computer cannot come to bed."
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.320 ---
To: vim-dev at vim.org
Subject: Patch 7.1.320
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.320 (extra)
Problem: Win64: Warnings while compiling Python interface.
Solution: Use PyInt in more places. Also update version message for the
console. (George Reilly)
Files: src/if_python.c, src/version.c
*** ../vim-7.1.319/src/if_python.c Wed Jun 4 13:33:15 2008
--- src/if_python.c Fri Jun 20 14:45:59 2008
***************
*** 50,60 ****
#if !defined(FEAT_PYTHON) && defined(PROTO)
/* Use this to be able to generate prototypes without python being used. */
! # define PyObject int
! # define PyThreadState int
! # define PyTypeObject int
! struct PyMethodDef { int a; };
! # define PySequenceMethods int
#endif
#if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02050000
--- 50,60 ----
#if !defined(FEAT_PYTHON) && defined(PROTO)
/* Use this to be able to generate prototypes without python being used. */
! # define PyObject Py_ssize_t
! # define PyThreadState Py_ssize_t
! # define PyTypeObject Py_ssize_t
! struct PyMethodDef { Py_ssize_t a; };
! # define PySequenceMethods Py_ssize_t
#endif
#if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02050000
***************
*** 64,69 ****
--- 64,70 ----
# define PyIntIntArgFunc ssizessizeargfunc
# define PyIntObjArgProc ssizeobjargproc
# define PyIntIntObjArgProc ssizessizeobjargproc
+ # define Py_ssize_t_fmt "n"
#else
# define PyInt int
# define PyInquiry inquiry
***************
*** 71,76 ****
--- 72,78 ----
# define PyIntIntArgFunc intintargfunc
# define PyIntObjArgProc intobjargproc
# define PyIntIntObjArgProc intintobjargproc
+ # define Py_ssize_t_fmt "i"
#endif
/* Parser flags */
***************
*** 85,93 ****
#if defined(DYNAMIC_PYTHON) || defined(PROTO)
# ifndef DYNAMIC_PYTHON
! # define HINSTANCE int /* for generating prototypes */
# endif
/*
* Wrapper defines
*/
--- 87,104 ----
#if defined(DYNAMIC_PYTHON) || defined(PROTO)
# ifndef DYNAMIC_PYTHON
! # define HINSTANCE long_u /* for generating prototypes */
# endif
+ /* This makes if_python.c compile without warnings against Python 2.5
+ * on Win32 and Win64. */
+ #undef PyRun_SimpleString
+ #undef PyArg_Parse
+ #undef PyArg_ParseTuple
+ #undef Py_BuildValue
+ #undef Py_InitModule4
+ #undef Py_InitModule4_64
+
/*
* Wrapper defines
*/
***************
*** 269,275 ****
--- 280,290 ----
{"PyType_Type", (PYTHON_PROC*)&dll_PyType_Type},
{"Py_BuildValue", (PYTHON_PROC*)&dll_Py_BuildValue},
{"Py_FindMethod", (PYTHON_PROC*)&dll_Py_FindMethod},
+ # if (PY_VERSION_HEX >= 0x02050000) && SIZEOF_SIZE_T != SIZEOF_INT
+ {"Py_InitModule4_64", (PYTHON_PROC*)&dll_Py_InitModule4},
+ # else
{"Py_InitModule4", (PYTHON_PROC*)&dll_Py_InitModule4},
+ # endif
{"Py_Initialize", (PYTHON_PROC*)&dll_Py_Initialize},
{"Py_Finalize", (PYTHON_PROC*)&dll_Py_Finalize},
{"Py_IsInitialized", (PYTHON_PROC*)&dll_Py_IsInitialized},
***************
*** 339,346 ****
* TRUE, else FALSE.
*/
int
! python_enabled(verbose)
! int verbose;
{
return python_runtime_link_init(DYNAMIC_PYTHON_DLL, verbose) == OK;
}
--- 354,360 ----
* TRUE, else FALSE.
*/
int
! python_enabled(int verbose)
{
return python_runtime_link_init(DYNAMIC_PYTHON_DLL, verbose) == OK;
}
***************
*** 374,381 ****
*/
static void DoPythonCommand(exarg_T *, const char *);
! static int RangeStart;
! static int RangeEnd;
static void PythonIO_Flush(void);
static int PythonIO_Init(void);
--- 388,395 ----
*/
static void DoPythonCommand(exarg_T *, const char *);
! static PyInt RangeStart;
! static PyInt RangeEnd;
static void PythonIO_Flush(void);
static int PythonIO_Init(void);
***************
*** 384,395 ****
/* Utility functions for the vim/python interface
* ----------------------------------------------
*/
! static PyObject *GetBufferLine(buf_T *, int);
static PyObject *GetBufferLineList(buf_T *, PyInt, PyInt);
! static int SetBufferLine(buf_T *, int, PyObject *, int *);
! static int SetBufferLineList(buf_T *, PyInt, PyInt, PyObject *, int *);
! static int InsertBufferLines(buf_T *, int, PyObject *, int *);
static PyObject *LineToString(const char *);
static char *StringToLine(PyObject *);
--- 398,409 ----
/* Utility functions for the vim/python interface
* ----------------------------------------------
*/
! static PyObject *GetBufferLine(buf_T *, PyInt);
static PyObject *GetBufferLineList(buf_T *, PyInt, PyInt);
! static int SetBufferLine(buf_T *, PyInt, PyObject *, PyInt *);
! static int SetBufferLineList(buf_T *, PyInt, PyInt, PyObject *, PyInt *);
! static int InsertBufferLines(buf_T *, PyInt, PyObject *, PyInt *);
static PyObject *LineToString(const char *);
static char *StringToLine(PyObject *);
***************
*** 690,696 ****
static PyObject *OutputWritelines(PyObject *, PyObject *);
typedef void (*writefn)(char_u *);
! static void writer(writefn fn, char_u *str, int n);
/* Output object definition
*/
--- 704,710 ----
static PyObject *OutputWritelines(PyObject *, PyObject *);
typedef void (*writefn)(char_u *);
! static void writer(writefn fn, char_u *str, PyInt n);
/* Output object definition
*/
***************
*** 812,818 ****
{
PyObject *line = PyList_GetItem(list, i);
char *str;
! int len;
if (!PyArg_Parse(line, "s#", &str, &len)) {
PyErr_SetString(PyExc_TypeError, _("writelines() requires list of strings"));
--- 826,832 ----
{
PyObject *line = PyList_GetItem(list, i);
char *str;
! PyInt len;
if (!PyArg_Parse(line, "s#", &str, &len)) {
PyErr_SetString(PyExc_TypeError, _("writelines() requires list of strings"));
***************
*** 836,850 ****
*/
static char_u *buffer = NULL;
! static int buffer_len = 0;
! static int buffer_size = 0;
static writefn old_fn = NULL;
static void
! buffer_ensure(int n)
{
! int new_size;
char_u *new_buffer;
if (n < buffer_size)
--- 850,864 ----
*/
static char_u *buffer = NULL;
! static PyInt buffer_len = 0;
! static PyInt buffer_size = 0;
static writefn old_fn = NULL;
static void
! buffer_ensure(PyInt n)
{
! PyInt new_size;
char_u *new_buffer;
if (n < buffer_size)
***************
*** 884,890 ****
}
static void
! writer(writefn fn, char_u *str, int n)
{
char_u *ptr;
--- 898,904 ----
}
static void
! writer(writefn fn, char_u *str, PyInt n)
{
char_u *ptr;
***************
*** 895,901 ****
while (n > 0 && (ptr = memchr(str, '\n', n)) != NULL)
{
! int len = ptr - str;
buffer_ensure(buffer_len + len + 1);
--- 909,915 ----
while (n > 0 && (ptr = memchr(str, '\n', n)) != NULL)
{
! PyInt len = ptr - str;
buffer_ensure(buffer_len + len + 1);
***************
*** 1022,1035 ****
{
PyObject_HEAD
BufferObject *buf;
! int start;
! int end;
}
RangeObject;
#define RangeType_Check(obj) ((obj)->ob_type == &RangeType)
! static PyObject *RangeNew(buf_T *, int, int);
static void RangeDestructor(PyObject *);
static PyObject *RangeGetattr(PyObject *, char *);
--- 1036,1049 ----
{
PyObject_HEAD
BufferObject *buf;
! PyInt start;
! PyInt end;
}
RangeObject;
#define RangeType_Check(obj) ((obj)->ob_type == &RangeType)
! static PyObject *RangeNew(buf_T *, PyInt, PyInt);
static void RangeDestructor(PyObject *);
static PyObject *RangeGetattr(PyObject *, char *);
***************
*** 1069,1076 ****
static struct PyMethodDef VimMethods[] = {
/* name, function, calling, documentation */
! {"command", VimCommand, 1, "" },
! {"eval", VimEval, 1, "" },
{ NULL, NULL, 0, NULL }
};
--- 1083,1090 ----
static struct PyMethodDef VimMethods[] = {
/* name, function, calling, documentation */
! {"command", VimCommand, 1, "Execute a Vim ex-mode command" },
! {"eval", VimEval, 1, "Evaluate an expression using Vim evaluator" },
{ NULL, NULL, 0, NULL }
};
***************
*** 1110,1116 ****
* Function to translate a typval_T into a PyObject; this will recursively
* translate lists/dictionaries into their Python equivalents.
*
! * The depth parameter is too avoid infinite recursion, set it to 1 when
* you call VimToPython.
*/
static PyObject *
--- 1124,1130 ----
* Function to translate a typval_T into a PyObject; this will recursively
* translate lists/dictionaries into their Python equivalents.
*
! * The depth parameter is to avoid infinite recursion, set it to 1 when
* you call VimToPython.
*/
static PyObject *
***************
*** 1130,1136 ****
/* Check if we run into a recursive loop. The item must be in lookupDict
* then and we can use it again. */
! sprintf(ptrBuf, "%ld", (long)our_tv);
result = PyDict_GetItemString(lookupDict, ptrBuf);
if (result != NULL)
Py_INCREF(result);
--- 1144,1150 ----
/* Check if we run into a recursive loop. The item must be in lookupDict
* then and we can use it again. */
! sprintf(ptrBuf, PRINTF_DECIMAL_LONG_U, (long_u)our_tv);
result = PyDict_GetItemString(lookupDict, ptrBuf);
if (result != NULL)
Py_INCREF(result);
***************
*** 1184,1190 ****
if (our_tv->vval.v_dict != NULL)
{
hashtab_T *ht = &our_tv->vval.v_dict->dv_hashtab;
! int todo = ht->ht_used;
hashitem_T *hi;
dictitem_T *di;
--- 1198,1204 ----
if (our_tv->vval.v_dict != NULL)
{
hashtab_T *ht = &our_tv->vval.v_dict->dv_hashtab;
! long_u todo = ht->ht_used;
hashitem_T *hi;
dictitem_T *di;
***************
*** 1273,1279 ****
}
static PyObject *
! RBItem(BufferObject *self, PyInt n, int start, int end)
{
if (CheckBuffer(self))
return NULL;
--- 1287,1293 ----
}
static PyObject *
! RBItem(BufferObject *self, PyInt n, PyInt start, PyInt end)
{
if (CheckBuffer(self))
return NULL;
***************
*** 1288,1294 ****
}
static PyObject *
! RBSlice(BufferObject *self, PyInt lo, PyInt hi, int start, int end)
{
PyInt size;
--- 1302,1308 ----
}
static PyObject *
! RBSlice(BufferObject *self, PyInt lo, PyInt hi, PyInt start, PyInt end)
{
PyInt size;
***************
*** 1312,1320 ****
}
static PyInt
! RBAssItem(BufferObject *self, PyInt n, PyObject *val, int start, int end, int *new_end)
{
! int len_change;
if (CheckBuffer(self))
return -1;
--- 1326,1334 ----
}
static PyInt
! RBAssItem(BufferObject *self, PyInt n, PyObject *val, PyInt start, PyInt end, PyInt *new_end)
{
! PyInt len_change;
if (CheckBuffer(self))
return -1;
***************
*** 1335,1344 ****
}
static PyInt
! RBAssSlice(BufferObject *self, PyInt lo, PyInt hi, PyObject *val, int start, int end, int *new_end)
{
! int size;
! int len_change;
/* Self must be a valid buffer */
if (CheckBuffer(self))
--- 1349,1358 ----
}
static PyInt
! RBAssSlice(BufferObject *self, PyInt lo, PyInt hi, PyObject *val, PyInt start, PyInt end, PyInt *new_end)
{
! PyInt size;
! PyInt len_change;
/* Self must be a valid buffer */
if (CheckBuffer(self))
***************
*** 1368,1386 ****
}
static PyObject *
! RBAppend(BufferObject *self, PyObject *args, int start, int end, int *new_end)
{
PyObject *lines;
! int len_change;
! int max;
! int n;
if (CheckBuffer(self))
return NULL;
max = n = end - start + 1;
! if (!PyArg_ParseTuple(args, "O|i", &lines, &n))
return NULL;
if (n < 0 || n > max)
--- 1382,1400 ----
}
static PyObject *
! RBAppend(BufferObject *self, PyObject *args, PyInt start, PyInt end, PyInt *new_end)
{
PyObject *lines;
! PyInt len_change;
! PyInt max;
! PyInt n;
if (CheckBuffer(self))
return NULL;
max = n = end - start + 1;
! if (!PyArg_ParseTuple(args, "O|" Py_ssize_t_fmt, &lines, &n))
return NULL;
if (n < 0 || n > max)
***************
*** 1405,1413 ****
static struct PyMethodDef BufferMethods[] = {
/* name, function, calling, documentation */
! {"append", BufferAppend, 1, "" },
! {"mark", BufferMark, 1, "" },
! {"range", BufferRange, 1, "" },
{ NULL, NULL, 0, NULL }
};
--- 1419,1427 ----
static struct PyMethodDef BufferMethods[] = {
/* name, function, calling, documentation */
! {"append", BufferAppend, 1, "Append data to Vim buffer" },
! {"mark", BufferMark, 1, "Return (row,col) representing position of named mark" },
! {"range", BufferRange, 1, "Return a range object which represents the part of the given buffer between line numbers s and e" },
{ NULL, NULL, 0, NULL }
};
***************
*** 1503,1511 ****
return NULL;
if (strcmp(name, "name") == 0)
! return Py_BuildValue("s",this->buf->b_ffname);
else if (strcmp(name, "number") == 0)
! return Py_BuildValue("i",this->buf->b_fnum);
else if (strcmp(name,"__members__") == 0)
return Py_BuildValue("[ss]", "name", "number");
else
--- 1517,1525 ----
return NULL;
if (strcmp(name, "name") == 0)
! return Py_BuildValue("s", this->buf->b_ffname);
else if (strcmp(name, "number") == 0)
! return Py_BuildValue(Py_ssize_t_fmt, this->buf->b_fnum);
else if (strcmp(name,"__members__") == 0)
return Py_BuildValue("[ss]", "name", "number");
else
***************
*** 1520,1533 ****
if (this->buf == INVALID_BUFFER_VALUE)
{
! vim_snprintf(repr, 100, _("<buffer object (deleted) at %8lX>"),
! (long)(self));
return PyString_FromString(repr);
}
else
{
char *name = (char *)this->buf->b_fname;
! int len;
if (name == NULL)
name = "";
--- 1534,1546 ----
if (this->buf == INVALID_BUFFER_VALUE)
{
! vim_snprintf(repr, 100, _("<buffer object (deleted) at %p>"), (self));
return PyString_FromString(repr);
}
else
{
char *name = (char *)this->buf->b_fname;
! PyInt len;
if (name == NULL)
name = "";
***************
*** 1572,1578 ****
BufferAssItem(PyObject *self, PyInt n, PyObject *val)
{
return RBAssItem((BufferObject *)(self), n, val, 1,
! (int)((BufferObject *)(self))->buf->b_ml.ml_line_count,
NULL);
}
--- 1585,1591 ----
BufferAssItem(PyObject *self, PyInt n, PyObject *val)
{
return RBAssItem((BufferObject *)(self), n, val, 1,
! (PyInt)((BufferObject *)(self))->buf->b_ml.ml_line_count,
NULL);
}
***************
*** 1580,1586 ****
BufferAssSlice(PyObject *self, PyInt lo, PyInt hi, PyObject *val)
{
return RBAssSlice((BufferObject *)(self), lo, hi, val, 1,
! (int)((BufferObject *)(self))->buf->b_ml.ml_line_count,
NULL);
}
--- 1593,1599 ----
BufferAssSlice(PyObject *self, PyInt lo, PyInt hi, PyObject *val)
{
return RBAssSlice((BufferObject *)(self), lo, hi, val, 1,
! (PyInt)((BufferObject *)(self))->buf->b_ml.ml_line_count,
NULL);
}
***************
*** 1588,1594 ****
BufferAppend(PyObject *self, PyObject *args)
{
return RBAppend((BufferObject *)(self), args, 1,
! (int)((BufferObject *)(self))->buf->b_ml.ml_line_count,
NULL);
}
--- 1601,1607 ----
BufferAppend(PyObject *self, PyObject *args)
{
return RBAppend((BufferObject *)(self), args, 1,
! (PyInt)((BufferObject *)(self))->buf->b_ml.ml_line_count,
NULL);
}
***************
*** 1633,1645 ****
static PyObject *
BufferRange(PyObject *self, PyObject *args)
{
! int start;
! int end;
if (CheckBuffer((BufferObject *)(self)))
return NULL;
! if (!PyArg_ParseTuple(args, "ii", &start, &end))
return NULL;
return RangeNew(((BufferObject *)(self))->buf, start, end);
--- 1646,1658 ----
static PyObject *
BufferRange(PyObject *self, PyObject *args)
{
! PyInt start;
! PyInt end;
if (CheckBuffer((BufferObject *)(self)))
return NULL;
! if (!PyArg_ParseTuple(args, Py_ssize_t_fmt Py_ssize_t_fmt, &start, &end))
return NULL;
return RangeNew(((BufferObject *)(self))->buf, start, end);
***************
*** 1650,1656 ****
static struct PyMethodDef RangeMethods[] = {
/* name, function, calling, documentation */
! {"append", RangeAppend, 1, "" },
{ NULL, NULL, 0, NULL }
};
--- 1663,1669 ----
static struct PyMethodDef RangeMethods[] = {
/* name, function, calling, documentation */
! {"append", RangeAppend, 1, "Append data to the Vim range" },
{ NULL, NULL, 0, NULL }
};
***************
*** 1691,1697 ****
*/
static PyObject *
! RangeNew(buf_T *buf, int start, int end)
{
BufferObject *bufr;
RangeObject *self;
--- 1704,1710 ----
*/
static PyObject *
! RangeNew(buf_T *buf, PyInt start, PyInt end)
{
BufferObject *bufr;
RangeObject *self;
***************
*** 1725,1733 ****
RangeGetattr(PyObject *self, char *name)
{
if (strcmp(name, "start") == 0)
! return Py_BuildValue("i",((RangeObject *)(self))->start - 1);
else if (strcmp(name, "end") == 0)
! return Py_BuildValue("i",((RangeObject *)(self))->end - 1);
else
return Py_FindMethod(RangeMethods, self, name);
}
--- 1738,1746 ----
RangeGetattr(PyObject *self, char *name)
{
if (strcmp(name, "start") == 0)
! return Py_BuildValue(Py_ssize_t_fmt, ((RangeObject *)(self))->start - 1);
else if (strcmp(name, "end") == 0)
! return Py_BuildValue(Py_ssize_t_fmt, ((RangeObject *)(self))->end - 1);
else
return Py_FindMethod(RangeMethods, self, name);
}
***************
*** 1740,1747 ****
if (this->buf->buf == INVALID_BUFFER_VALUE)
{
! vim_snprintf(repr, 100, "<range object (for deleted buffer) at %8lX>",
! (long)(self));
return PyString_FromString(repr);
}
else
--- 1753,1760 ----
if (this->buf->buf == INVALID_BUFFER_VALUE)
{
! vim_snprintf(repr, 100, "<range object (for deleted buffer) at %p>",
! (self));
return PyString_FromString(repr);
}
else
***************
*** 1869,1875 ****
BufListLength(PyObject *self)
{
buf_T *b = firstbuf;
! int n = 0;
while (b)
{
--- 1882,1888 ----
BufListLength(PyObject *self)
{
buf_T *b = firstbuf;
! PyInt n = 0;
while (b)
{
***************
*** 2115,2122 ****
if (this->win == INVALID_WINDOW_VALUE)
{
! vim_snprintf(repr, 100, _("<window object (deleted) at %.8lX>"),
! (long)(self));
return PyString_FromString(repr);
}
else
--- 2128,2134 ----
if (this->win == INVALID_WINDOW_VALUE)
{
! vim_snprintf(repr, 100, _("<window object (deleted) at %p>"), (self));
return PyString_FromString(repr);
}
else
***************
*** 2128,2135 ****
++i;
if (w == NULL)
! vim_snprintf(repr, 100, _("<window object (unknown) at %.8lX>"),
! (long)(self));
else
vim_snprintf(repr, 100, _("<window %d>"), i);
--- 2140,2147 ----
++i;
if (w == NULL)
! vim_snprintf(repr, 100, _("<window object (unknown) at %p>"),
! (self));
else
vim_snprintf(repr, 100, _("<window %d>"), i);
***************
*** 2186,2192 ****
WinListLength(PyObject *self)
{
win_T *w = firstwin;
! int n = 0;
while (w != NULL)
{
--- 2198,2204 ----
WinListLength(PyObject *self)
{
win_T *w = firstwin;
! PyInt n = 0;
while (w != NULL)
{
***************
*** 2254,2260 ****
else if (strcmp(name, "window") == 0)
return (PyObject *)WindowNew(curwin);
else if (strcmp(name, "line") == 0)
! return GetBufferLine(curbuf, (int)curwin->w_cursor.lnum);
else if (strcmp(name, "range") == 0)
return RangeNew(curbuf, RangeStart, RangeEnd);
else if (strcmp(name,"__members__") == 0)
--- 2266,2272 ----
else if (strcmp(name, "window") == 0)
return (PyObject *)WindowNew(curwin);
else if (strcmp(name, "line") == 0)
! return GetBufferLine(curbuf, (PyInt)curwin->w_cursor.lnum);
else if (strcmp(name, "range") == 0)
return RangeNew(curbuf, RangeStart, RangeEnd);
else if (strcmp(name,"__members__") == 0)
***************
*** 2272,2278 ****
{
if (strcmp(name, "line") == 0)
{
! if (SetBufferLine(curbuf, (int)curwin->w_cursor.lnum, value, NULL) == FAIL)
return -1;
return 0;
--- 2284,2290 ----
{
if (strcmp(name, "line") == 0)
{
! if (SetBufferLine(curbuf, (PyInt)curwin->w_cursor.lnum, value, NULL) == FAIL)
return -1;
return 0;
***************
*** 2344,2350 ****
/* Set sys.argv[] to avoid a crash in warn(). */
PySys_SetArgv(1, argv);
! mod = Py_InitModule("vim", VimMethods);
dict = PyModule_GetDict(mod);
VimError = Py_BuildValue("s", "vim.error");
--- 2356,2362 ----
/* Set sys.argv[] to avoid a crash in warn(). */
PySys_SetArgv(1, argv);
! mod = Py_InitModule4("vim", VimMethods, (char *)NULL, (PyObject *)NULL, PYTHON_API_VERSION);
dict = PyModule_GetDict(mod);
VimError = Py_BuildValue("s", "vim.error");
***************
*** 2369,2375 ****
* string object.
*/
static PyObject *
! GetBufferLine(buf_T *buf, int n)
{
return LineToString((char *)ml_get_buf(buf, (linenr_T)n, FALSE));
}
--- 2381,2387 ----
* string object.
*/
static PyObject *
! GetBufferLine(buf_T *buf, PyInt n)
{
return LineToString((char *)ml_get_buf(buf, (linenr_T)n, FALSE));
}
***************
*** 2422,2428 ****
* deleted).
*/
static void
! py_fix_cursor(int lo, int hi, int extra)
{
if (curwin->w_cursor.lnum >= lo)
{
--- 2434,2440 ----
* deleted).
*/
static void
! py_fix_cursor(linenr_T lo, linenr_T hi, linenr_T extra)
{
if (curwin->w_cursor.lnum >= lo)
{
***************
*** 2454,2460 ****
* is set to the change in the buffer length.
*/
static int
! SetBufferLine(buf_T *buf, int n, PyObject *line, int *len_change)
{
/* First of all, we check the thpe of the supplied Python object.
* There are three cases:
--- 2466,2472 ----
* is set to the change in the buffer length.
*/
static int
! SetBufferLine(buf_T *buf, PyInt n, PyObject *line, PyInt *len_change)
{
/* First of all, we check the thpe of the supplied Python object.
* There are three cases:
***************
*** 2477,2483 ****
{
deleted_lines_mark((linenr_T)n, 1L);
if (buf == curwin->w_buffer)
! py_fix_cursor(n, n + 1, -1);
}
curbuf = savebuf;
--- 2489,2495 ----
{
deleted_lines_mark((linenr_T)n, 1L);
if (buf == curwin->w_buffer)
! py_fix_cursor((linenr_T)n, (linenr_T)n + 1, (linenr_T)-1);
}
curbuf = savebuf;
***************
*** 2545,2551 ****
* is set to the change in the buffer length.
*/
static int
! SetBufferLineList(buf_T *buf, PyInt lo, PyInt hi, PyObject *list, int *len_change)
{
/* First of all, we check the thpe of the supplied Python object.
* There are three cases:
--- 2557,2563 ----
* is set to the change in the buffer length.
*/
static int
! SetBufferLineList(buf_T *buf, PyInt lo, PyInt hi, PyObject *list, PyInt *len_change)
{
/* First of all, we check the thpe of the supplied Python object.
* There are three cases:
***************
*** 2556,2562 ****
if (list == Py_None || list == NULL)
{
PyInt i;
! PyInt n = hi - lo;
buf_T *savebuf = curbuf;
PyErr_Clear();
--- 2568,2574 ----
if (list == Py_None || list == NULL)
{
PyInt i;
! PyInt n = (int)(hi - lo);
buf_T *savebuf = curbuf;
PyErr_Clear();
***************
*** 2577,2583 ****
deleted_lines_mark((linenr_T)lo, (long)i);
if (buf == curwin->w_buffer)
! py_fix_cursor(lo, hi, -n);
}
curbuf = savebuf;
--- 2589,2595 ----
deleted_lines_mark((linenr_T)lo, (long)i);
if (buf == curwin->w_buffer)
! py_fix_cursor((linenr_T)lo, (linenr_T)hi, (linenr_T)-n);
}
curbuf = savebuf;
***************
*** 2595,2601 ****
PyInt i;
PyInt new_len = PyList_Size(list);
PyInt old_len = hi - lo;
! int extra = 0; /* lines added to text, can be negative */
char **array;
buf_T *savebuf;
--- 2607,2613 ----
PyInt i;
PyInt new_len = PyList_Size(list);
PyInt old_len = hi - lo;
! PyInt extra = 0; /* lines added to text, can be negative */
char **array;
buf_T *savebuf;
***************
*** 2706,2712 ****
changed_lines((linenr_T)lo, 0, (linenr_T)hi, (long)extra);
if (buf == curwin->w_buffer)
! py_fix_cursor(lo, hi, extra);
curbuf = savebuf;
--- 2718,2724 ----
changed_lines((linenr_T)lo, 0, (linenr_T)hi, (long)extra);
if (buf == curwin->w_buffer)
! py_fix_cursor((linenr_T)lo, (linenr_T)hi, (linenr_T)extra);
curbuf = savebuf;
***************
*** 2734,2740 ****
* is set to the change in the buffer length.
*/
static int
! InsertBufferLines(buf_T *buf, int n, PyObject *lines, int *len_change)
{
/* First of all, we check the type of the supplied Python object.
* It must be a string or a list, or the call is in error.
--- 2746,2752 ----
* is set to the change in the buffer length.
*/
static int
! InsertBufferLines(buf_T *buf, PyInt n, PyObject *lines, PyInt *len_change)
{
/* First of all, we check the type of the supplied Python object.
* It must be a string or a list, or the call is in error.
*** ../vim-7.1.319/src/version.c Fri Jun 20 12:55:28 2008
--- src/version.c Fri Jun 20 16:25:28 2008
***************
*** 1367,1378 ****
# ifdef FEAT_GUI_W32
# if defined(_MSC_VER) && (_MSC_VER <= 1010)
/* Only MS VC 4.1 and earlier can do Win32s */
! MSG_PUTS(_("\nMS-Windows 16/32 bit GUI version"));
# else
# ifdef _WIN64
! MSG_PUTS(_("\nMS-Windows 64 bit GUI version"));
# else
! MSG_PUTS(_("\nMS-Windows 32 bit GUI version"));
# endif
# endif
if (gui_is_win32s())
--- 1374,1385 ----
# ifdef FEAT_GUI_W32
# if defined(_MSC_VER) && (_MSC_VER <= 1010)
/* Only MS VC 4.1 and earlier can do Win32s */
! MSG_PUTS(_("\nMS-Windows 16/32-bit GUI version"));
# else
# ifdef _WIN64
! MSG_PUTS(_("\nMS-Windows 64-bit GUI version"));
# else
! MSG_PUTS(_("\nMS-Windows 32-bit GUI version"));
# endif
# endif
if (gui_is_win32s())
***************
*** 1381,1397 ****
MSG_PUTS(_(" with OLE support"));
# endif
# else
! MSG_PUTS(_("\nMS-Windows 32 bit console version"));
# endif
#endif
#ifdef WIN16
! MSG_PUTS(_("\nMS-Windows 16 bit version"));
#endif
#ifdef MSDOS
# ifdef DJGPP
! MSG_PUTS(_("\n32 bit MS-DOS version"));
# else
! MSG_PUTS(_("\n16 bit MS-DOS version"));
# endif
#endif
#ifdef MACOS
--- 1388,1408 ----
MSG_PUTS(_(" with OLE support"));
# endif
# else
! # ifdef _WIN64
! MSG_PUTS(_("\nMS-Windows 64-bit console version"));
! # else
! MSG_PUTS(_("\nMS-Windows 32-bit console version"));
! # endif
# endif
#endif
#ifdef WIN16
! MSG_PUTS(_("\nMS-Windows 16-bit version"));
#endif
#ifdef MSDOS
# ifdef DJGPP
! MSG_PUTS(_("\n32-bit MS-DOS version"));
# else
! MSG_PUTS(_("\n16-bit MS-DOS version"));
# endif
#endif
#ifdef MACOS
*** ../vim-7.1.319/src/version.c Fri Jun 20 12:55:28 2008
--- src/version.c Fri Jun 20 16:25:28 2008
***************
*** 668,669 ****
--- 673,676 ----
{ /* Add new patch number below this line */
+ /**/
+ 320,
/**/
--
The real
trick is
this: to
keep the
lines as
short as
possible
and keep
the size
the same
yet free
from the
need for
hyphena-
Dammit!! (Matthew Winn)
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.321 ---
To: vim-dev at vim.org
Subject: Patch 7.1.321 (extra)
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.321 (extra)
Problem: Win32 / Win64: Install file is outdated.
Solution: Update the text for recent compiler. (George Reilly)
Files: src/INSTALLpc.txt
*** ../vim-7.1.320/src/INSTALLpc.txt Sun Mar 16 14:52:53 2008
--- src/INSTALLpc.txt Fri Jun 20 13:39:35 2008
***************
*** 36,42 ****
Visual Studio
-------------
! Building with Visual Studio (VS 98, VS .NET, VS .NET 2003, and VS .NET 2005)
is straightforward. (These instructions should also work for VS 4 and VS 5.)
To build Vim from the command line with MSVC, use Make_mvc.mak.
--- 36,42 ----
Visual Studio
-------------
! Building with Visual Studio (VS 98, VS .NET, VS .NET 2003, VS 2005, and VS 2008)
is straightforward. (These instructions should also work for VS 4 and VS 5.)
To build Vim from the command line with MSVC, use Make_mvc.mak.
***************
*** 139,145 ****
is also available through the Platform SDK, |ms-platform-sdk|.
! Visual C++ 2005 Express Edition
-------------------------------
Visual C++ 2005 Express Edition can be downloaded for free from:
--- 139,145 ----
is also available through the Platform SDK, |ms-platform-sdk|.
! Visual C++ 2005 Express Edition *msvc-2005-express*
-------------------------------
Visual C++ 2005 Express Edition can be downloaded for free from:
***************
*** 159,164 ****
--- 159,172 ----
This includes the IDE and the debugger. You can build Vim with Make_mvc.mak.
+ Visual C++ 2008 Express Edition *msvc-2008-express*
+ -------------------------------
+
+ Visual C++ 2008 Express Edition can be downloaded for free from:
+ http://msdn2.microsoft.com/en-us/express/default.aspx
+ This includes the IDE and the debugger. You can build Vim with Make_mvc.mak.
+
+
2. MinGW
========
*** ../vim-7.1.320/src/version.c Fri Jun 20 16:31:45 2008
--- src/version.c Fri Jun 20 16:50:50 2008
***************
*** 668,669 ****
--- 673,676 ----
{ /* Add new patch number below this line */
+ /**/
+ 321,
/**/
--
CVS sux, men don't like commitment
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.322 ---
To: vim-dev at vim.org
Subject: Patch 7.1.322
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.322
Problem: Can't get start of Visual area in an <expr> mapping.
Solution: Add the 'v' argument to getpos().
Files: runtime/doc/eval.txt, src/eval.c
*** ../vim-7.1.321/runtime/doc/eval.txt Wed May 28 16:48:00 2008
--- runtime/doc/eval.txt Thu Jun 19 22:46:23 2008
***************
*** 3515,3520 ****
--- 3635,3644 ----
returned)
w0 first line visible in current window
w$ last line visible in current window
+ v In Visual mode: the start of the Visual area (the
+ cursor is the end). When not in Visual mode
+ returns the cursor position. Differs from |'<| in
+ that it's updated right away.
Note that a mark in another file can be used. The line number
then applies to another buffer.
To get the column number use |col()|. To get both use
*** ../vim-7.1.321/src/eval.c Thu May 29 21:46:10 2008
--- src/eval.c Fri Jun 20 17:20:52 2008
***************
*** 16907,16915 ****
name = get_tv_string_chk(varp);
if (name == NULL)
return NULL;
! if (name[0] == '.') /* cursor */
return &curwin->w_cursor;
! if (name[0] == '\'') /* mark */
{
pp = getmark_fnum(name[1], FALSE, fnum);
if (pp == NULL || pp == (pos_T *)-1 || pp->lnum <= 0)
--- 17478,17494 ----
name = get_tv_string_chk(varp);
if (name == NULL)
return NULL;
! if (name[0] == '.') /* cursor */
return &curwin->w_cursor;
! #ifdef FEAT_VISUAL
! if (name[0] == 'v' && name[1] == NUL) /* Visual start */
! {
! if (VIsual_active)
! return &VIsual;
! return &curwin->w_cursor;
! }
! #endif
! if (name[0] == '\'') /* mark */
{
pp = getmark_fnum(name[1], FALSE, fnum);
if (pp == NULL || pp == (pos_T *)-1 || pp->lnum <= 0)
*** ../vim-7.1.321/src/version.c Fri Jun 20 16:51:54 2008
--- src/version.c Fri Jun 20 17:27:30 2008
***************
*** 668,669 ****
--- 673,676 ----
{ /* Add new patch number below this line */
+ /**/
+ 322,
/**/
--
hundred-and-one symptoms of being an internet addict:
52. You ask a plumber how much it would cost to replace the chair in front of
your computer with a toilet.
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.323 ---
To: vim-dev at vim.org
Subject: Patch 7.1.323
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.323
Problem: Test 19 fails with some termcaps. (Dominque Pelle)
Solution: Set the t_kb and t_kD termcap values.
Files: src/testdir/test19.in, src/testdir/test38.in
*** ../vim-7.1.322/src/testdir/test19.in Sun Jun 13 20:24:47 2004
--- src/testdir/test19.in Mon Jun 16 19:45:10 2008
***************
*** 2,7 ****
--- 2,9 ----
STARTTEST
:set smarttab expandtab ts=8 sw=4
+ :" make sure that backspace works, no matter what termcap is used
+ :set t_kD=x7f t_kb=x08
/some
r :set noexpandtab
/other
*** ../vim-7.1.322/src/testdir/test38.in Sun Jun 13 20:28:25 2004
--- src/testdir/test38.in Mon Jun 16 19:46:35 2008
***************
*** 3,8 ****
--- 3,10 ----
STARTTEST
:so small.vim
+ :" make sure that backspace works, no matter what termcap is used
+ :set t_kD=x7f t_kb=x08
ggdGa
abcdefghi
jk lmn
*** ../vim-7.1.322/src/version.c Fri Jun 20 17:30:45 2008
--- src/version.c Fri Jun 20 17:48:17 2008
***************
*** 668,669 ****
--- 673,676 ----
{ /* Add new patch number below this line */
+ /**/
+ 323,
/**/
--
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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.324 ---
To: vim-dev at vim.org
Subject: Patch 7.1.324
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.324
Problem: File name path length on Unix is limited to 1024.
Solution: Use PATH_MAX when it's more than 1000.
Files: src/os_unix.h
*** ../vim-7.1.323/src/os_unix.h Tue Jul 10 17:09:51 2007
--- src/os_unix.h Tue Jun 17 20:01:17 2008
***************
*** 432,438 ****
* Unix has plenty of memory, use large buffers
*/
#define CMDBUFFSIZE 1024 /* size of the command processing buffer */
! #define MAXPATHL 1024 /* Unix has long paths and plenty of memory */
#define CHECK_INODE /* used when checking if a swap file already
exists for a file */
--- 432,444 ----
* Unix has plenty of memory, use large buffers
*/
#define CMDBUFFSIZE 1024 /* size of the command processing buffer */
!
! /* Use the system path length if it makes sense. */
! #if defined(PATH_MAX) && (PATH_MAX > 1000)
! # define MAXPATHL PATH_MAX
! #else
! # define MAXPATHL 1024
! #endif
#define CHECK_INODE /* used when checking if a swap file already
exists for a file */
*** ../vim-7.1.323/src/version.c Fri Jun 20 17:52:47 2008
--- src/version.c Fri Jun 20 18:04:25 2008
***************
*** 668,669 ****
--- 673,676 ----
{ /* Add new patch number below this line */
+ /**/
+ 324,
/**/
--
Q: What is a patch 22?
A: A patch you need to include to make it possible to include patches.
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.325 ---
To: vim-dev at vim.org
Subject: Patch 7.1.325
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.325
Problem: When editing a command line that's longer than available space in
the window, the characters at the end are in reverse order.
Solution: Increment the insert position even when the command line doesn't
fit. (Ingo Karkat)
Files: src/ex_getln.c
*** ../vim-7.1.324/src/ex_getln.c Fri Jun 20 12:55:28 2008
--- src/ex_getln.c Fri Jun 20 16:45:55 2008
***************
*** 2053,2062 ****
if (has_mbyte)
correct_cmdspos(i, c);
#endif
! /* If the cmdline doesn't fit, put cursor on last visible char. */
if ((ccline.cmdspos += c) >= m)
{
- ccline.cmdpos = i - 1;
ccline.cmdspos -= c;
break;
}
--- 2053,2062 ----
if (has_mbyte)
correct_cmdspos(i, c);
#endif
! /* If the cmdline doesn't fit, show cursor on last visible char.
! * Don't move the cursor itself, so we can still append. */
if ((ccline.cmdspos += c) >= m)
{
ccline.cmdspos -= c;
break;
}
***************
*** 2829,2838 ****
if (has_mbyte)
correct_cmdspos(ccline.cmdpos, c);
#endif
! /* Stop cursor at the end of the screen */
! if (ccline.cmdspos + c >= m)
! break;
! ccline.cmdspos += c;
#ifdef FEAT_MBYTE
if (has_mbyte)
{
--- 2829,2839 ----
if (has_mbyte)
correct_cmdspos(ccline.cmdpos, c);
#endif
! /* Stop cursor at the end of the screen, but do increment the
! * insert position, so that entering a very long command
! * works, even though you can't see it. */
! if (ccline.cmdspos + c < m)
! ccline.cmdspos += c;
#ifdef FEAT_MBYTE
if (has_mbyte)
{
***************
*** 3332,3338 ****
/*
* Do wildcard expansion on the string 'str'.
* Chars that should not be expanded must be preceded with a backslash.
! * Return a pointer to alloced memory containing the new string.
* Return NULL for failure.
*
* "orig" is the originally expanded string, copied to allocated memory. It
--- 3333,3339 ----
/*
* Do wildcard expansion on the string 'str'.
* Chars that should not be expanded must be preceded with a backslash.
! * Return a pointer to allocated memory containing the new string.
* Return NULL for failure.
*
* "orig" is the originally expanded string, copied to allocated memory. It
***************
*** 6111,6117 ****
exmode_active = save_exmode;
! /* Safety check: The old window or buffer was deleted: It's a a bug when
* this happens! */
if (!win_valid(old_curwin) || !buf_valid(old_curbuf))
{
--- 6112,6118 ----
exmode_active = save_exmode;
! /* Safety check: The old window or buffer was deleted: It's a bug when
* this happens! */
if (!win_valid(old_curwin) || !buf_valid(old_curbuf))
{
*** ../vim-7.1.324/src/version.c Fri Jun 20 18:06:15 2008
--- src/version.c Fri Jun 20 18:27:54 2008
***************
*** 668,669 ****
--- 673,676 ----
{ /* Add new patch number below this line */
+ /**/
+ 325,
/**/
--
"I can't complain, but sometimes I still do." (Joe Walsh)
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.326 ---
To: vim-dev at vim.org
Subject: Patch 7.1.326
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.326
Problem: ":s!from!to!" works, but ":smagic!from!to!" doesn't. It sees the
"!" as a flag to to the command. Same for ":snomagic". (Johan
Spetz)
Solution: When checking for a forced command also ignore ":smagic" and
":snomagic". (Ian Kelling)
Files: src/ex_docmd.c
*** ../vim-7.1.325/src/ex_docmd.c Fri Jun 20 11:10:53 2008
--- src/ex_docmd.c Fri Jun 20 10:42:30 2008
***************
*** 2142,2148 ****
#endif
! if (*p == '!' && ea.cmdidx != CMD_substitute) /* forced commands */
{
++p;
ea.forceit = TRUE;
--- 2142,2150 ----
#endif
! /* forced commands */
! if (*p == '!' && ea.cmdidx != CMD_substitute
! && ea.cmdidx != CMD_smagic && ea.cmdidx != CMD_snomagic)
{
++p;
ea.forceit = TRUE;
*** ../vim-7.1.325/src/version.c Fri Jun 20 18:30:27 2008
--- src/version.c Fri Jun 20 18:50:19 2008
***************
*** 668,669 ****
--- 673,676 ----
{ /* Add new patch number below this line */
+ /**/
+ 326,
/**/
--
hundred-and-one symptoms of being an internet addict:
55. You ask your doctor to implant a gig in your brain.
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.327 ---
To: vim-dev at vim.org
Subject: Patch 7.1.327
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.327
Problem: The GUI tutor is installed when there is no GUI version.
Solution: Only install gvimtutor when building a GUI version.
Files: src/Makefile
*** ../vim-7.1.326/src/Makefile Fri Jun 20 18:51:06 2008
--- src/Makefile Fri Jun 20 21:26:46 2008
***************
*** 1113,1119 ****
GTK_LIBS_DIR = $(GUI_LIB_LOC)
GTK_LIBS1 =
GTK_LIBS2 = $(GTK_LIBNAME)
! GTK_INSTALL = install_normal
GTK_TARGETS = installglinks
GTK_MAN_TARGETS = yes
GTK_TESTTARGET = gui
--- 1113,1119 ----
GTK_LIBS_DIR = $(GUI_LIB_LOC)
GTK_LIBS1 =
GTK_LIBS2 = $(GTK_LIBNAME)
! GTK_INSTALL = install_normal install_gui_extra
GTK_TARGETS = installglinks
GTK_MAN_TARGETS = yes
GTK_TESTTARGET = gui
***************
*** 1130,1136 ****
MOTIF_LIBS_DIR = $(GUI_LIB_LOC)
MOTIF_LIBS1 =
MOTIF_LIBS2 = $(MOTIF_LIBNAME) -lXt
! MOTIF_INSTALL = install_normal
MOTIF_TARGETS = installglinks
MOTIF_MAN_TARGETS = yes
MOTIF_TESTTARGET = gui
--- 1130,1136 ----
MOTIF_LIBS_DIR = $(GUI_LIB_LOC)
MOTIF_LIBS1 =
MOTIF_LIBS2 = $(MOTIF_LIBNAME) -lXt
! MOTIF_INSTALL = install_normal install_gui_extra
MOTIF_TARGETS = installglinks
MOTIF_MAN_TARGETS = yes
MOTIF_TESTTARGET = gui
***************
*** 1160,1166 ****
ATHENA_LIBS_DIR = $(GUI_LIB_LOC)
ATHENA_LIBS1 = $(XAW_LIB)
ATHENA_LIBS2 = -lXt
! ATHENA_INSTALL = install_normal
ATHENA_TARGETS = installglinks
ATHENA_MAN_TARGETS = yes
ATHENA_TESTTARGET = gui
--- 1160,1166 ----
ATHENA_LIBS_DIR = $(GUI_LIB_LOC)
ATHENA_LIBS1 = $(XAW_LIB)
ATHENA_LIBS2 = -lXt
! ATHENA_INSTALL = install_normal install_gui_extra
ATHENA_TARGETS = installglinks
ATHENA_MAN_TARGETS = yes
ATHENA_TESTTARGET = gui
***************
*** 1178,1184 ****
NEXTAW_LIBS_DIR = $(GUI_LIB_LOC)
NEXTAW_LIBS1 = $(NEXTAW_LIB)
NEXTAW_LIBS2 = -lXt
! NEXTAW_INSTALL = install_normal
NEXTAW_TARGETS = installglinks
NEXTAW_MAN_TARGETS = yes
NEXTAW_TESTTARGET = gui
--- 1178,1184 ----
NEXTAW_LIBS_DIR = $(GUI_LIB_LOC)
NEXTAW_LIBS1 = $(NEXTAW_LIB)
NEXTAW_LIBS2 = -lXt
! NEXTAW_INSTALL = install_normal install_gui_extra
NEXTAW_TARGETS = installglinks
NEXTAW_MAN_TARGETS = yes
NEXTAW_TESTTARGET = gui
***************
*** 1203,1209 ****
PHOTONGUI_LIBS_DIR =
PHOTONGUI_LIBS1 = -lph -lphexlib
PHOTONGUI_LIBS2 =
! PHOTONGUI_INSTALL = install_normal
PHOTONGUI_TARGETS = installglinks
PHOTONGUI_MAN_TARGETS = yes
PHOTONGUI_TESTTARGET = gui
--- 1203,1209 ----
PHOTONGUI_LIBS_DIR =
PHOTONGUI_LIBS1 = -lph -lphexlib
PHOTONGUI_LIBS2 =
! PHOTONGUI_INSTALL = install_normal install_gui_extra
PHOTONGUI_TARGETS = installglinks
PHOTONGUI_MAN_TARGETS = yes
PHOTONGUI_TESTTARGET = gui
***************
*** 1219,1225 ****
CARBONGUI_LIBS_DIR =
CARBONGUI_LIBS1 = -framework Carbon
CARBONGUI_LIBS2 =
! CARBONGUI_INSTALL = install_macosx
CARBONGUI_TARGETS =
CARBONGUI_MAN_TARGETS =
CARBONGUI_TESTTARGET = gui
--- 1219,1225 ----
CARBONGUI_LIBS_DIR =
CARBONGUI_LIBS1 = -framework Carbon
CARBONGUI_LIBS2 =
! CARBONGUI_INSTALL = install_macosx install_gui_extra
CARBONGUI_TARGETS =
CARBONGUI_MAN_TARGETS =
CARBONGUI_TESTTARGET = gui
***************
*** 1741,1746 ****
--- 1741,1755 ----
cd $(PODIR); $(MAKE) checkclean; \
fi
+ install: $(GUI_INSTALL)
+
+ install_normal: installvim installtools $(INSTALL_LANGS) install-icons
+
+ install_gui_extra: installgtutorbin
+
+ installvim: installvimbin installtutorbin \
+ installruntime installlinks installmanlinks
+
#
# Avoid overwriting an existing executable, somebody might be running it and
# overwriting it could cause it to crash. Deleting it is OK, it won't be
***************
*** 1750,1762 ****
# If you want to keep an older version, rename it before running "make
# install".
#
- install: $(GUI_INSTALL)
-
- install_normal: installvim installtools $(INSTALL_LANGS) install-icons
-
- installvim: installvimbin installtutorbin \
- installruntime installlinks installmanlinks
-
installvimbin: $(VIMTARGET) $(DESTDIR)$(exec_prefix) $(DEST_BIN)
-if test -f $(DEST_BIN)/$(VIMTARGET); then \
mv -f $(DEST_BIN)/$(VIMTARGET) $(DEST_BIN)/$(VIMNAME).rm; \
--- 1759,1764 ----
***************
*** 1872,1877 ****
--- 1874,1881 ----
installtutorbin: $(DEST_VIM)
$(INSTALL_DATA) vimtutor $(DEST_BIN)/$(VIMNAME)tutor
chmod $(SCRIPTMOD) $(DEST_BIN)/$(VIMNAME)tutor
+
+ installgtutorbin: $(DEST_VIM)
$(INSTALL_DATA) gvimtutor $(DEST_BIN)/$(GVIMNAME)tutor
chmod $(SCRIPTMOD) $(DEST_BIN)/$(GVIMNAME)tutor
*** ../vim-7.1.326/src/version.c Fri Jun 20 18:51:01 2008
--- src/version.c Fri Jun 20 21:26:52 2008
***************
*** 668,669 ****
--- 673,676 ----
{ /* Add new patch number below this line */
+ /**/
+ 327,
/**/
--
hundred-and-one symptoms of being an internet addict:
56. You leave the modem speaker on after connecting because you think it
sounds like the ocean wind...the perfect soundtrack for "surfing the net".
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.328 ---
To: vim-dev at vim.org
Subject: Patch 7.1.328
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.328
Problem: Crash when using Cygwin and non-posix path name in tags file.
Solution: Use separate buffer for posix path. (Ben Schmidt)
Files: src/os_unix.c
*** ../vim-7.1.327/src/os_unix.c Fri Jun 20 11:58:27 2008
--- src/os_unix.c Sat Jun 21 13:06:45 2008
***************
*** 2278,2283 ****
--- 2278,2287 ----
char_u olddir[MAXPATHL];
char_u *p;
int retval = OK;
+ #ifdef __CYGWIN__
+ char_u posix_fname[MAX_PATH];
+ #endif
+
#ifdef VMS
fname = vms_fixfilename(fname);
***************
*** 2287,2293 ****
/*
* This helps for when "/etc/hosts" is a symlink to "c:/something/hosts".
*/
! cygwin_conv_to_posix_path(fname, fname);
#endif
/* expand it if forced or not an absolute path */
--- 2291,2298 ----
/*
* This helps for when "/etc/hosts" is a symlink to "c:/something/hosts".
*/
! cygwin_conv_to_posix_path(fname, posix_fname);
! fname = posix_fname;
#endif
/* expand it if forced or not an absolute path */
*** ../vim-7.1.327/src/version.c Fri Jun 20 21:29:01 2008
--- src/version.c Sat Jun 21 13:10:39 2008
***************
*** 668,669 ****
--- 673,676 ----
{ /* Add new patch number below this line */
+ /**/
+ 328,
/**/
--
Q: Should I clean my house or work on Vim?
A: Whatever contains more bugs.
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.329 ---
To: vim-dev at vim.org
Subject: Patch 7.1.329
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.329
Problem: When the popup menu is removed a column of cells, the right halve
of double-wide characters, may not be redrawn.
Solution: Check if the right halve of a character needs to be redrawn.
(Yukihiro Nakadaira)
Files: src/screen.c
*** ../vim-7.1.328/src/screen.c Wed May 28 19:01:53 2008
--- src/screen.c Sat Jun 21 14:09:02 2008
***************
*** 4863,4868 ****
--- 4863,4869 ----
* - the (first byte of the) character is different
* - the attributes are different
* - the character is multi-byte and the next byte is different
+ * - the character is two cells wide and the second cell differs.
*/
static int
char_needs_redraw(off_from, off_to, cols)
***************
*** 4884,4890 ****
|| (enc_utf8
&& (ScreenLinesUC[off_from] != ScreenLinesUC[off_to]
|| (ScreenLinesUC[off_from] != 0
! && comp_char_differs(off_from, off_to))))
#endif
))
return TRUE;
--- 4885,4893 ----
|| (enc_utf8
&& (ScreenLinesUC[off_from] != ScreenLinesUC[off_to]
|| (ScreenLinesUC[off_from] != 0
! && comp_char_differs(off_from, off_to))
! || (cols > 1 && ScreenLines[off_from + 1]
! != ScreenLines[off_to + 1])))
#endif
))
return TRUE;
*** ../vim-7.1.328/src/version.c Sat Jun 21 13:11:58 2008
--- src/version.c Sat Jun 21 14:12:30 2008
***************
*** 668,669 ****
--- 673,676 ----
{ /* Add new patch number below this line */
+ /**/
+ 329,
/**/
--
hundred-and-one symptoms of being an internet addict:
61. Your best friends know your e-mail address, but neither your phone number
nor the address where you live.
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.330 ---
To: vim-dev at vim.org
Subject: Patch 7.1.330
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.330
Problem: Reading uninitialized memory when using Del in replace mode.
Solution: Use utfc_ptr2len_len() instead of mb_ptr2len(). (Dominique Pelle)
Files: src/misc1.c
*** ../vim-7.1.329/src/misc1.c Mon Feb 25 21:54:23 2008
--- src/misc1.c Sat Jun 21 16:02:34 2008
***************
*** 1880,1894 ****
# ifdef FEAT_MBYTE
int n;
! for (i = 0; i < len; i += n)
! {
! n = (*mb_ptr2len)(p + i);
! ins_char_bytes(p + i, n);
! }
! # else
! for (i = 0; i < len; ++i)
! ins_char(p[i]);
# endif
}
#endif
--- 1880,1899 ----
# ifdef FEAT_MBYTE
int n;
! if (has_mbyte)
! for (i = 0; i < len; i += n)
! {
! if (enc_utf8)
! /* avoid reading past p[len] */
! n = utfc_ptr2len_len(p + i, len - i);
! else
! n = (*mb_ptr2len)(p + i);
! ins_char_bytes(p + i, n);
! }
! else
# endif
+ for (i = 0; i < len; ++i)
+ ins_char(p[i]);
}
#endif
*** ../vim-7.1.329/src/version.c Sat Jun 21 14:13:51 2008
--- src/version.c Sat Jun 21 16:28:28 2008
***************
*** 668,669 ****
--- 673,676 ----
{ /* Add new patch number below this line */
+ /**/
+ 330,
/**/
--
hundred-and-one symptoms of being an internet addict:
65. The last time you looked at the clock it was 11:30pm, and in what
seems like only a few seconds later, your sister runs past you to
catch her 7am school bus.
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
More information about the scm-commits
mailing list