diff options
Diffstat (limited to 'source/ap/vim/patches/7.3.007')
-rw-r--r-- | source/ap/vim/patches/7.3.007 | 187 |
1 files changed, 0 insertions, 187 deletions
diff --git a/source/ap/vim/patches/7.3.007 b/source/ap/vim/patches/7.3.007 deleted file mode 100644 index 30b3745c..00000000 --- a/source/ap/vim/patches/7.3.007 +++ /dev/null @@ -1,187 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.3.007 -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.007 -Problem: Python code defines global "buffer". Re-implements a grow-array. -Solution: Use a grow-array instead of coding the same functionality. Handle - out-of-memory situation properly. -Files: src/if_py_both.h - - -*** ../vim-7.3.006/src/if_py_both.h 2010-08-15 21:57:27.000000000 +0200 ---- src/if_py_both.h 2010-09-21 16:00:54.000000000 +0200 -*************** -*** 34,39 **** ---- 34,40 ---- - static PyObject *OutputWrite(PyObject *, PyObject *); - static PyObject *OutputWritelines(PyObject *, PyObject *); - -+ /* Function to write a line, points to either msg() or emsg(). */ - typedef void (*writefn)(char_u *); - static void writer(writefn fn, char_u *str, PyInt n); - -*************** -*** 122,173 **** - return Py_None; - } - -! 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) -- return; -- -- new_size = buffer_size; -- while (new_size < n) -- new_size += 80; -- -- if (new_size != buffer_size) -- { -- new_buffer = alloc((unsigned)new_size); -- if (new_buffer == NULL) -- return; -- -- if (buffer) -- { -- memcpy(new_buffer, buffer, buffer_len); -- vim_free(buffer); -- } -- -- buffer = new_buffer; -- buffer_size = new_size; -- } -- } -- -- static void - PythonIO_Flush(void) - { -! if (old_fn && buffer_len) - { -! buffer[buffer_len] = 0; -! old_fn(buffer); - } -! -! buffer_len = 0; - } - - static void ---- 123,141 ---- - return Py_None; - } - -! /* Buffer IO, we write one whole line at a time. */ -! static garray_T io_ga = {0, 0, 1, 80, NULL}; - static writefn old_fn = NULL; - - static void - PythonIO_Flush(void) - { -! if (old_fn != NULL && io_ga.ga_len > 0) - { -! ((char_u *)io_ga.ga_data)[io_ga.ga_len] = NUL; -! old_fn((char_u *)io_ga.ga_data); - } -! io_ga.ga_len = 0; - } - - static void -*************** -*** 175,204 **** - { - char_u *ptr; - -! if (fn != old_fn && old_fn != NULL) - PythonIO_Flush(); -- - old_fn = fn; - - while (n > 0 && (ptr = memchr(str, '\n', n)) != NULL) - { - PyInt len = ptr - str; - -! buffer_ensure(buffer_len + len + 1); - -! memcpy(buffer + buffer_len, str, len); -! buffer_len += len; -! buffer[buffer_len] = 0; -! fn(buffer); - str = ptr + 1; - n -= len + 1; -! buffer_len = 0; - } - -! /* Put the remaining text into the buffer for later printing */ -! buffer_ensure(buffer_len + n + 1); -! memcpy(buffer + buffer_len, str, n); -! buffer_len += n; - } - - /***************/ ---- 143,176 ---- - { - char_u *ptr; - -! /* Flush when switching output function. */ -! if (fn != old_fn) - PythonIO_Flush(); - old_fn = fn; - -+ /* Write each NL separated line. Text after the last NL is kept for -+ * writing later. */ - while (n > 0 && (ptr = memchr(str, '\n', n)) != NULL) - { - PyInt len = ptr - str; - -! if (ga_grow(&io_ga, len + 1) == FAIL) -! break; - -! mch_memmove(((char *)io_ga.ga_data) + io_ga.ga_len, str, (size_t)len); -! ((char *)io_ga.ga_data)[io_ga.ga_len + len] = NUL; -! fn((char_u *)io_ga.ga_data); - str = ptr + 1; - n -= len + 1; -! io_ga.ga_len = 0; - } - -! /* Put the remaining text into io_ga for later printing. */ -! if (n > 0 && ga_grow(&io_ga, n + 1) == OK) -! { -! mch_memmove(((char *)io_ga.ga_data) + io_ga.ga_len, str, (size_t)n); -! io_ga.ga_len += n; -! } - } - - /***************/ -*** ../vim-7.3.006/src/version.c 2010-09-18 13:36:41.000000000 +0200 ---- src/version.c 2010-09-21 16:49:13.000000000 +0200 -*************** -*** 716,717 **** ---- 716,719 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 7, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -180. You maintain more than six e-mail addresses. - - /// Bram Moolenaar -- Bram@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 /// |