r1146 - in /trunk/packages/vim: debian/ upstream/patches/
jamessan at users.alioth.debian.org
jamessan at users.alioth.debian.org
Thu Jan 10 13:38:09 UTC 2008
Author: jamessan
Date: Thu Jan 10 13:38:09 2008
New Revision: 1146
URL: http://svn.debian.org/wsvn/pkg-vim/?sc=1&rev=1146
Log:
Upstream patches 184 - 214
Added:
trunk/packages/vim/upstream/patches/7.1.184
trunk/packages/vim/upstream/patches/7.1.185
trunk/packages/vim/upstream/patches/7.1.186
trunk/packages/vim/upstream/patches/7.1.187
trunk/packages/vim/upstream/patches/7.1.188
trunk/packages/vim/upstream/patches/7.1.189
trunk/packages/vim/upstream/patches/7.1.190
trunk/packages/vim/upstream/patches/7.1.191
trunk/packages/vim/upstream/patches/7.1.192
trunk/packages/vim/upstream/patches/7.1.193
trunk/packages/vim/upstream/patches/7.1.194
trunk/packages/vim/upstream/patches/7.1.195
trunk/packages/vim/upstream/patches/7.1.196
trunk/packages/vim/upstream/patches/7.1.197
trunk/packages/vim/upstream/patches/7.1.198
trunk/packages/vim/upstream/patches/7.1.199
trunk/packages/vim/upstream/patches/7.1.200
trunk/packages/vim/upstream/patches/7.1.201
trunk/packages/vim/upstream/patches/7.1.202
trunk/packages/vim/upstream/patches/7.1.203
trunk/packages/vim/upstream/patches/7.1.204
trunk/packages/vim/upstream/patches/7.1.205
trunk/packages/vim/upstream/patches/7.1.206
trunk/packages/vim/upstream/patches/7.1.207
trunk/packages/vim/upstream/patches/7.1.208
trunk/packages/vim/upstream/patches/7.1.209
trunk/packages/vim/upstream/patches/7.1.210
trunk/packages/vim/upstream/patches/7.1.211
trunk/packages/vim/upstream/patches/7.1.212
trunk/packages/vim/upstream/patches/7.1.213
trunk/packages/vim/upstream/patches/7.1.214
Modified:
trunk/packages/vim/debian/README
trunk/packages/vim/debian/changelog
Modified: trunk/packages/vim/debian/README
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/debian/README?rev=1146&op=diff
==============================================================================
--- trunk/packages/vim/debian/README (original)
+++ trunk/packages/vim/debian/README Thu Jan 10 13:38:09 2008
@@ -25,6 +25,7 @@
Collection of patches for Vim 7.1:
SIZE NAME INCLUDES
91424 7.1.001-100.gz patches 7.1.001 to 7.1.100, gzip'ed
+ 75402 7.1.101-200.gz patches 7.1.101 to 7.1.200, gzip'ed
Individual patches for Vim 7.1:
@@ -155,6 +156,7 @@
2599 7.1.124 (extra) Mac: may get empty buffer if dropping file on Vim.app
12060 7.1.125 the TermResponse autocommand event is not always triggered
13372 7.1.126 (extra) ":vimgrep */*" doesn't work if autocmd changes dir
+ 12461 7.1.126ne replacement for 7.1.126 without the (extra)
2319 7.1.127 memory leak when doing completing
2079 7.1.128 (extra) build problem with Cygwin
1740 7.1.129 (extra) Win32: Can't get long user name
@@ -212,3 +214,34 @@
1878 7.1.181 accessing uninitialized memory in Farsi mode with ":s"
5457 7.1.182 with tab pages and an argument list session file may be wrong
2489 7.1.183 Internal error for ":echo matchstr('a', 'a\%[\&]')"
+ 2132 7.1.184 crash when deleting backwards over a line break in Insert mode
+ 3744 7.1.185 "gR" and then BS doesn't work properly with multi-byte chars
+ 3294 7.1.186 "expand('<afile>')" returns a bogus value after ":cd dir"
+ 2341 7.1.187 Win32 GUI: custom completion using system() doesn't work
+ 1688 7.1.188 "W10" message could be displayed in the second column
+ 1950 7.1.189 (after 7.1.104) need to call plain_vgetc() in ask_yesno()
+ 1685 7.1.190 cursor after end-of-line: "iA sentence.<Esc>)"
+ 2007 7.1.191 Win32 GUI: when not in focus click in scrollbar doesn't work
+ 2605 7.1.192 CTRL-C doesn't stop duplicating text for "s" in Visual block
+ 2962 7.1.193 some of the Vim 5.x digraphs could be supported
+ 1650 7.1.194 Unix: ":echo glob('~/{}')" results in "/home/user//"
+ 2273 7.1.195 '0 mark doesn't work for "~/foo ~ foo"
+ 2642 7.1.196 (extra) Win32 GUI: "\n" in a tooltip doesn't cause line break
+ 2308 7.1.197 Mac: "make install" doesn't work when $prefix is set
+ 1460 7.1.198 hang when using ":s/\n//gn"
+ 3572 7.1.199 can't do command line completion for a file name extension
+ 2310 7.1.200 (after 7.1.177 and 7.1.182) compiler warnings
+ 2705 7.1.201 when reading stdin 'fenc' and 'ff' are not set
+ 2383 7.1.202 incomplete utf-8 byte sequence is not checked for validity
+ 2261 7.1.203 if 'virtualedit' is "onemore" then ":normal 99|" is not right
+ 2891 7.1.204 (extra) Win32: 'balloonexpr' tooltip disappears after 4 sec
+ 5481 7.1.205 can't get the operator in an ":omap"
+ 1690 7.1.206 compiler warnings when using MODIFIED_BY
+ 7708 7.1.207 netbeans: "remove" cannot delete one line
+ 2051 7.1.208 on Alpha get an unaligned access error
+ 2249 7.1.209 GTK GUI: when using the netrw plugin ":gui" causes a hang
+ 1923 7.1.210 listing mapping for 0xdb fails when 'encoding' is utf-8
+ 25525 7.1.211 matchparen plugin may take so long it looks like Vim hangs
+ 1491 7.1.212 accessing a byte before a line
+ 1750 7.1.213 aborting ":tabedit" from the ATTENTION dialog leaves tab open
+ 8399 7.1.214 ":1s/g\n\zs1//" deletes characters from the first line
Modified: trunk/packages/vim/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/debian/changelog?rev=1146&op=diff
==============================================================================
--- trunk/packages/vim/debian/changelog (original)
+++ trunk/packages/vim/debian/changelog Thu Jan 10 13:38:09 2008
@@ -1,7 +1,7 @@
-vim (1:7.1-183+1) UNRELEASED; urgency=low
+vim (1:7.1-214+1) UNRELEASED; urgency=low
[ Debian Vim Maintainers ]
- * New upstream patches (176 - 183), see README.gz for details.
+ * New upstream patches (176 - 214), see README.gz for details.
[ James Vega ]
* Add configure-tcl_detection.diff, which allows Vim's configure script to
@@ -15,7 +15,7 @@
* runtime/syntax/debchangelog.vim: Adjust the "Closes" syntax highlighting
to allow newlines as part of the whitespace. (Closes: #460074)
- -- James Vega <jamessan at debian.org> Thu, 10 Jan 2008 08:33:10 -0500
+ -- James Vega <jamessan at debian.org> Thu, 10 Jan 2008 08:35:44 -0500
vim (1:7.1-175+2) unstable; urgency=low
Added: trunk/packages/vim/upstream/patches/7.1.184
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.184?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.184 (added)
+++ trunk/packages/vim/upstream/patches/7.1.184 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,63 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.184
+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.184
+Problem: Crash when deleting backwards over a line break in Insert mode.
+Solution: Don't advance the cursor when it's already on the NUL after a
+ line. (Matthew Wozniski)
+Files: src/normal.c
+
+
+*** ../vim-7.1.183/src/normal.c Sun Oct 14 17:15:45 2007
+--- src/normal.c Tue Jan 1 16:40:24 2008
+***************
+*** 5849,5860 ****
+ /* When the NL before the first char has to be deleted we
+ * put the cursor on the NUL after the previous line.
+ * This is a very special case, be careful!
+! * don't adjust op_end now, otherwise it won't work */
+ if ( (cap->oap->op_type == OP_DELETE
+ || cap->oap->op_type == OP_CHANGE)
+ && !lineempty(curwin->w_cursor.lnum))
+ {
+! ++curwin->w_cursor.col;
+ cap->retval |= CA_NO_ADJ_OP_END;
+ }
+ continue;
+--- 5849,5861 ----
+ /* When the NL before the first char has to be deleted we
+ * put the cursor on the NUL after the previous line.
+ * This is a very special case, be careful!
+! * Don't adjust op_end now, otherwise it won't work. */
+ if ( (cap->oap->op_type == OP_DELETE
+ || cap->oap->op_type == OP_CHANGE)
+ && !lineempty(curwin->w_cursor.lnum))
+ {
+! if (*ml_get_cursor() != NUL)
+! ++curwin->w_cursor.col;
+ cap->retval |= CA_NO_ADJ_OP_END;
+ }
+ continue;
+*** ../vim-7.1.183/src/version.c Wed Jan 2 15:34:48 2008
+--- src/version.c Wed Jan 2 16:24:19 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 184,
+ /**/
+
+--
+Not too long ago, cut and paste was done with scissors and glue...
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.185
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.185?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.185 (added)
+++ trunk/packages/vim/upstream/patches/7.1.185 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,140 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.185
+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.185
+Problem: Using "gR" with a multi-byte encoding and typing a CR pushes
+ characters onto the replace stack incorrectly, resulting in BS
+ putting back the wrong characters. (Paul B. Mahol)
+Solution: Push multi-byte characters onto the replace stack in reverse byte
+ order. Add replace_push_mb().
+Files: src/edit.c, src/misc1.c, src/proto/edit.pro
+
+
+*** ../vim-7.1.184/src/edit.c Sun Dec 9 20:25:59 2007
+--- src/edit.c Tue Jan 1 17:28:07 2008
+***************
+*** 6939,6944 ****
+--- 6939,6963 ----
+ ++replace_stack_nr;
+ }
+
++ #if defined(FEAT_MBYTE) || defined(PROTO)
++ /*
++ * Push a character onto the replace stack. Handles a multi-byte character in
++ * reverse byte order, so that the first byte is popped off first.
++ * Return the number of bytes done (includes composing characters).
++ */
++ int
++ replace_push_mb(p)
++ char_u *p;
++ {
++ int l = (*mb_ptr2len)(p);
++ int j;
++
++ for (j = l - 1; j >= 0; --j)
++ replace_push(p[j]);
++ return l;
++ }
++ #endif
++
+ #if 0
+ /*
+ * call replace_push(c) with replace_offset set to the first NUL.
+*** ../vim-7.1.184/src/misc1.c Wed Sep 26 22:35:06 2007
+--- src/misc1.c Wed Jan 2 17:48:00 2008
+***************
+*** 591,597 ****
+ replace_push(NUL);
+ p = saved_line + curwin->w_cursor.col;
+ while (*p != NUL)
+! replace_push(*p++);
+ saved_line[curwin->w_cursor.col] = NUL;
+ }
+ #endif
+--- 592,605 ----
+ replace_push(NUL);
+ p = saved_line + curwin->w_cursor.col;
+ while (*p != NUL)
+! {
+! #ifdef FEAT_MBYTE
+! if (has_mbyte)
+! p += replace_push_mb(p);
+! else
+! #endif
+! replace_push(*p++);
+! }
+ saved_line[curwin->w_cursor.col] = NUL;
+ }
+ #endif
+***************
+*** 1914,1920 ****
+ int charlen;
+ {
+ int c = buf[0];
+- int l, j;
+ #endif
+ int newlen; /* nr of bytes inserted */
+ int oldlen; /* nr of bytes deleted (0 when not replacing) */
+--- 1922,1927 ----
+***************
+*** 2016,2028 ****
+ for (i = 0; i < oldlen; ++i)
+ {
+ #ifdef FEAT_MBYTE
+! l = (*mb_ptr2len)(oldp + col + i) - 1;
+! for (j = l; j >= 0; --j)
+! replace_push(oldp[col + i + j]);
+! i += l;
+! #else
+! replace_push(oldp[col + i]);
+ #endif
+ }
+ }
+
+--- 2023,2033 ----
+ for (i = 0; i < oldlen; ++i)
+ {
+ #ifdef FEAT_MBYTE
+! if (has_mbyte)
+! i += replace_push_mb(oldp + col + i) - 1;
+! else
+ #endif
++ replace_push(oldp[col + i]);
+ }
+ }
+
+*** ../vim-7.1.184/src/proto/edit.pro Sat May 5 20:21:34 2007
+--- src/proto/edit.pro Tue Jan 1 17:21:24 2008
+***************
+*** 32,37 ****
+--- 32,38 ----
+ char_u *get_last_insert __ARGS((void));
+ char_u *get_last_insert_save __ARGS((void));
+ void replace_push __ARGS((int c));
++ int replace_push_mb __ARGS((char_u *p));
+ void fixthisline __ARGS((int (*get_the_indent)(void)));
+ void fix_indent __ARGS((void));
+ int in_cinkeys __ARGS((int keytyped, int when, int line_is_empty));
+*** ../vim-7.1.184/src/version.c Wed Jan 2 16:25:20 2008
+--- src/version.c Wed Jan 2 17:45:10 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 185,
+ /**/
+
+--
+Not too long ago, a keyboard was something to make music with...
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.186
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.186?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.186 (added)
+++ trunk/packages/vim/upstream/patches/7.1.186 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,111 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.186
+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.186
+Problem: "expand('<afile>')" returns a bogus value after changing
+ directory. (Dave Fishburn)
+Solution: Copy "autocmd_fname" to allocated memory and expand to full
+ filename. Shorten the path when expanding <afile>.
+Files: src/ex_docmd.c, src/fileio.c
+
+
+*** ../vim-7.1.185/src/ex_docmd.c Wed Jan 2 15:12:29 2008
+--- src/ex_docmd.c Wed Jan 2 20:12:33 2008
+***************
+*** 7799,7804 ****
+--- 7799,7805 ----
+ free_cd_dir()
+ {
+ vim_free(prev_dir);
++ prev_dir = NULL;
+ }
+ #endif
+
+***************
+*** 9521,9526 ****
+--- 9522,9528 ----
+ *errormsg = (char_u *)_("E495: no autocommand file name to substitute for \"<afile>\"");
+ return NULL;
+ }
++ result = shorten_fname1(result);
+ break;
+
+ case SPEC_ABUF: /* buffer number for autocommand */
+*** ../vim-7.1.185/src/fileio.c Thu Nov 8 20:47:34 2007
+--- src/fileio.c Wed Jan 2 20:21:43 2008
+***************
+*** 5556,5562 ****
+ #endif
+
+ #if defined(FEAT_VIMINFO) || defined(FEAT_BROWSE) || \
+! defined(FEAT_QUICKFIX) || defined(PROTO)
+ /*
+ * Try to find a shortname by comparing the fullname with the current
+ * directory.
+--- 5556,5562 ----
+ #endif
+
+ #if defined(FEAT_VIMINFO) || defined(FEAT_BROWSE) || \
+! defined(FEAT_QUICKFIX) || defined(FEAT_AUTOCMD) || defined(PROTO)
+ /*
+ * Try to find a shortname by comparing the fullname with the current
+ * directory.
+***************
+*** 8546,8551 ****
+--- 8546,8553 ----
+
+ /*
+ * Set the file name to be used for <afile>.
++ * Make a copy to avoid that changing a buffer name or directory makes it
++ * invalid.
+ */
+ if (fname_io == NULL)
+ {
+***************
+*** 8558,8563 ****
+--- 8560,8567 ----
+ }
+ else
+ autocmd_fname = fname_io;
++ if (autocmd_fname != NULL)
++ autocmd_fname = FullName_save(autocmd_fname, FALSE);
+
+ /*
+ * Set the buffer number to be used for <abuf>.
+***************
+*** 8740,8745 ****
+--- 8744,8750 ----
+ vim_free(sourcing_name);
+ sourcing_name = save_sourcing_name;
+ sourcing_lnum = save_sourcing_lnum;
++ vim_free(autocmd_fname);
+ autocmd_fname = save_autocmd_fname;
+ autocmd_bufnr = save_autocmd_bufnr;
+ autocmd_match = save_autocmd_match;
+*** ../vim-7.1.185/src/version.c Wed Jan 2 17:48:24 2008
+--- src/version.c Wed Jan 2 21:06:35 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 186,
+ /**/
+
+--
+ LAUNCELOT leaps into SHOT with a mighty cry and runs the GUARD through and
+ hacks him to the floor. Blood. Swashbuckling music (perhaps).
+ LAUNCELOT races through into the castle screaming.
+SECOND SENTRY: Hey!
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.187
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.187?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.187 (added)
+++ trunk/packages/vim/upstream/patches/7.1.187 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,81 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.187
+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.187
+Problem: Win32 GUI: Custom completion using system() no longer works
+ after patch 7.1.104. (Erik Falor)
+Solution: Loop when safe_vgetc() returns K_IGNORE.
+Files: src/ex_getln.c
+
+
+*** ../vim-7.1.186/src/ex_getln.c Fri Dec 7 20:28:13 2007
+--- src/ex_getln.c Wed Jan 2 21:42:51 2008
+***************
+*** 335,341 ****
+ quit_more = FALSE; /* reset after CTRL-D which had a more-prompt */
+
+ cursorcmd(); /* set the cursor on the right spot */
+! c = safe_vgetc();
+ if (KeyTyped)
+ {
+ some_key_typed = TRUE;
+--- 335,348 ----
+ quit_more = FALSE; /* reset after CTRL-D which had a more-prompt */
+
+ cursorcmd(); /* set the cursor on the right spot */
+!
+! /* Get a character. Ignore K_IGNORE, it should not do anything, such
+! * as stop completion. */
+! do
+! {
+! c = safe_vgetc();
+! } while (c == K_IGNORE);
+!
+ if (KeyTyped)
+ {
+ some_key_typed = TRUE;
+***************
+*** 1209,1215 ****
+ goto cmdline_not_changed;
+
+ case K_IGNORE:
+! goto cmdline_not_changed; /* Ignore mouse */
+
+ #ifdef FEAT_GUI_W32
+ /* On Win32 ignore <M-F4>, we get it when closing the window was
+--- 1216,1223 ----
+ goto cmdline_not_changed;
+
+ case K_IGNORE:
+! /* Ignore mouse event or ex_window() result. */
+! goto cmdline_not_changed;
+
+ #ifdef FEAT_GUI_W32
+ /* On Win32 ignore <M-F4>, we get it when closing the window was
+*** ../vim-7.1.186/src/version.c Wed Jan 2 21:07:32 2008
+--- src/version.c Wed Jan 2 21:53:24 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 187,
+ /**/
+
+--
+FATHER: Who are you?
+PRINCE: I'm ... your son ...
+FATHER: Not you.
+LAUNCELOT: I'm ... er ... Sir Launcelot, sir.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.188
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.188?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.188 (added)
+++ trunk/packages/vim/upstream/patches/7.1.188 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,54 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.188
+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.188
+Problem: When 'showmode' is off the message for changing a readonly file is
+ given in the second column instead of the first. (Payl B. Mahol)
+Solution: Put the W10 message in the first column.
+Files: src/edit.c
+
+
+*** ../vim-7.1.187/src/edit.c Wed Jan 2 17:48:24 2008
+--- src/edit.c Wed Jan 2 20:56:46 2008
+***************
+*** 550,556 ****
+ i = showmode();
+
+ if (!p_im && did_restart_edit == 0)
+! change_warning(i + 1);
+
+ #ifdef CURSOR_SHAPE
+ ui_cursor_shape(); /* may show different cursor shape */
+--- 550,556 ----
+ i = showmode();
+
+ if (!p_im && did_restart_edit == 0)
+! change_warning(i == 0 ? 0 : i + 1);
+
+ #ifdef CURSOR_SHAPE
+ ui_cursor_shape(); /* may show different cursor shape */
+*** ../vim-7.1.187/src/version.c Wed Jan 2 21:54:33 2008
+--- src/version.c Wed Jan 2 22:06:19 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 188,
+ /**/
+
+--
+PRINCE: He's come to rescue me, father.
+LAUNCELOT: (embarrassed) Well, let's not jump to conclusions ...
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.189
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.189?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.189 (added)
+++ trunk/packages/vim/upstream/patches/7.1.189 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,76 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.189
+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.189 (after 7.1.104)
+Problem: Patch 7.1.104 was incomplete.
+Solution: Also call plain_vgetc() in ask_yesno().
+Files: src/misc1.c
+
+
+*** ../vim-7.1.188/src/misc1.c Wed Jan 2 17:48:24 2008
+--- src/misc1.c Wed Jan 2 17:48:00 2008
+***************
+*** 222,231 ****
+ *s++ = *p++;
+ orig_char_len--;
+ }
+ /* Skip over any additional white space (useful when newindent is less
+ * than old) */
+ while (vim_iswhite(*p))
+! (void)*p++;
+
+ }
+ else
+--- 222,232 ----
+ *s++ = *p++;
+ orig_char_len--;
+ }
++
+ /* Skip over any additional white space (useful when newindent is less
+ * than old) */
+ while (vim_iswhite(*p))
+! ++p;
+
+ }
+ else
+***************
+*** 3024,3030 ****
+ if (direct)
+ r = get_keystroke();
+ else
+! r = safe_vgetc();
+ if (r == Ctrl_C || r == ESC)
+ r = 'n';
+ msg_putchar(r); /* show what you typed */
+--- 3025,3031 ----
+ if (direct)
+ r = get_keystroke();
+ else
+! r = plain_vgetc();
+ if (r == Ctrl_C || r == ESC)
+ r = 'n';
+ msg_putchar(r); /* show what you typed */
+*** ../vim-7.1.188/src/version.c Wed Jan 2 22:08:43 2008
+--- src/version.c Thu Jan 3 12:40:31 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 189,
+ /**/
+
+--
+Q: How does a UNIX Guru do Sex ?
+A: unzip;strip;touch;finger;mount;fsck;more;yes;umount;sleep
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.190
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.190?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.190 (added)
+++ trunk/packages/vim/upstream/patches/7.1.190 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,55 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.190
+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.190
+Problem: Cursor after end-of-line: "iA sentence.<Esc>)"
+Solution: Move cursor back and make motion inclusive.
+Files: src/normal.c
+
+
+*** ../vim-7.1.189/src/normal.c Wed Jan 2 16:25:20 2008
+--- src/normal.c Wed Jan 2 22:04:38 2008
+***************
+*** 6564,6569 ****
+--- 6564,6575 ----
+ clearopbeep(cap->oap);
+ else
+ {
++ /* Don't leave the cursor on the NUL past a line */
++ if (curwin->w_cursor.col > 0 && gchar_cursor() == NUL)
++ {
++ --curwin->w_cursor.col;
++ cap->oap->inclusive = TRUE;
++ }
+ #ifdef FEAT_VIRTUALEDIT
+ curwin->w_cursor.coladd = 0;
+ #endif
+*** ../vim-7.1.189/src/version.c Thu Jan 3 12:42:39 2008
+--- src/version.c Thu Jan 3 13:19:03 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 190,
+ /**/
+
+--
+ [clop clop]
+GUARD #1: Halt! Who goes there?
+ARTHUR: It is I, Arthur, son of Uther Pendragon, from the castle of
+ Camelot. King of the Britons, defeator of the Saxons, sovereign of
+ all England!
+GUARD #1: Pull the other one!
+ The Quest for the Holy Grail (Monty Python)
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.191
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.191?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.191 (added)
+++ trunk/packages/vim/upstream/patches/7.1.191 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,61 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.191
+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.191
+Problem: Win32 GUI: after patch 7.1.168 there is still a problem when
+ clicking in a scrollbar. (Juergen Jottkaerr)
+Solution: Don't check the input buffer when dragging the scrollbar.
+Files: src/gui.c
+
+
+*** ../vim-7.1.190/src/gui.c Tue Nov 6 22:26:39 2007
+--- src/gui.c Thu Jan 3 13:16:29 2008
+***************
+*** 3734,3741 ****
+ sb->value = value;
+
+ #ifdef USE_ON_FLY_SCROLL
+! /* When not allowed to do the scrolling right now, return. */
+! if (dont_scroll || input_available())
+ return;
+ #endif
+ #ifdef FEAT_INS_EXPAND
+--- 3734,3743 ----
+ sb->value = value;
+
+ #ifdef USE_ON_FLY_SCROLL
+! /* When not allowed to do the scrolling right now, return.
+! * This also checked input_available(), but that causes the first click in
+! * a scrollbar to be ignored when Vim doesn't have focus. */
+! if (dont_scroll)
+ return;
+ #endif
+ #ifdef FEAT_INS_EXPAND
+*** ../vim-7.1.190/src/version.c Thu Jan 3 13:19:50 2008
+--- src/version.c Thu Jan 3 16:13:23 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 191,
+ /**/
+
+--
+GUARD #1: What -- a swallow carrying a coconut?
+ARTHUR: It could grip it by the husk!
+GUARD #1: It's not a question of where he grips it! It's a simple question
+ of weight ratios! A five ounce bird could not carry a 1 pound
+ coconut.
+ The Quest for the Holy Grail (Monty Python)
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.192
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.192?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.192 (added)
+++ trunk/packages/vim/upstream/patches/7.1.192 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,79 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.192
+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.192
+Problem: With Visual block selection, "s" and typing something, CTRL-C
+ doesn't stop Vim from repeating the replacement in other lines,
+ like happens for "I".
+Solution: Check for "got_int" to be set.
+Files: src/ops.c
+
+
+*** ../vim-7.1.191/src/ops.c Sat Dec 1 21:12:23 2007
+--- src/ops.c Thu Jan 3 16:26:37 2008
+***************
+*** 2468,2476 ****
+
+ edit(NUL, FALSE, (linenr_T)count1);
+
+! /* if user has moved off this line, we don't know what to do, so do
+! * nothing */
+! if (curwin->w_cursor.lnum != oap->start.lnum)
+ return;
+
+ if (oap->block_mode)
+--- 2468,2477 ----
+
+ edit(NUL, FALSE, (linenr_T)count1);
+
+! /* If user has moved off this line, we don't know what to do, so do
+! * nothing.
+! * Also don't repeat the insert when Insert mode ended with CTRL-C. */
+! if (curwin->w_cursor.lnum != oap->start.lnum || got_int)
+ return;
+
+ if (oap->block_mode)
+***************
+*** 2601,2608 ****
+ /*
+ * In Visual block mode, handle copying the new text to all lines of the
+ * block.
+ */
+! if (oap->block_mode && oap->start.lnum != oap->end.lnum)
+ {
+ /* Auto-indenting may have changed the indent. If the cursor was past
+ * the indent, exclude that indent change from the inserted text. */
+--- 2602,2610 ----
+ /*
+ * In Visual block mode, handle copying the new text to all lines of the
+ * block.
++ * Don't repeat the insert when Insert mode ended with CTRL-C.
+ */
+! if (oap->block_mode && oap->start.lnum != oap->end.lnum && !got_int)
+ {
+ /* Auto-indenting may have changed the indent. If the cursor was past
+ * the indent, exclude that indent change from the inserted text. */
+*** ../vim-7.1.191/src/version.c Thu Jan 3 16:14:25 2008
+--- src/version.c Thu Jan 3 16:30:07 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 192,
+ /**/
+
+--
+"A mouse can be just as dangerous as a bullet or a bomb."
+ (US Representative Lamar Smith, R-Texas)
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.193
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.193?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.193 (added)
+++ trunk/packages/vim/upstream/patches/7.1.193 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,100 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.193
+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.193
+Problem: Some Vim 5.x digraphs are missing in Vim 7, even though the
+ character pairs are not used. (Philippe de Muyter)
+Solution: Add those Vim 5.x digraphs that don't conflict with others.
+Files: src/digraph.c
+
+
+*** ../vim-7.1.192/src/digraph.c Thu Sep 13 18:25:08 2007
+--- src/digraph.c Thu Jan 3 17:48:47 2008
+***************
+*** 1978,1983 ****
+--- 1978,2038 ----
+ {'f', 't', 0xfb05},
+ {'s', 't', 0xfb06},
+ # endif /* FEAT_MBYTE */
++
++ /* Vim 5.x compatible digraphs that don't conflict with the above */
++ {'~', '!', 161}, /* ¡ */
++ {'c', '|', 162}, /* ¢ */
++ {'$', '$', 163}, /* £ */
++ {'o', 'x', 164}, /* ¤ - currency symbol in ISO 8859-1 */
++ {'Y', '-', 165}, /* ¥ */
++ {'|', '|', 166}, /* ¦ */
++ {'c', 'O', 169}, /* © */
++ {'-', ',', 172}, /* ¬ */
++ {'-', '=', 175}, /* ¯ */
++ {'~', 'o', 176}, /* ° */
++ {'2', '2', 178}, /* ² */
++ {'3', '3', 179}, /* ³ */
++ {'p', 'p', 182}, /* ¶ */
++ {'~', '.', 183}, /* · */
++ {'1', '1', 185}, /* ¹ */
++ {'~', '?', 191}, /* ¿ */
++ {'A', '`', 192}, /* À */
++ {'A', '^', 194}, /* Â */
++ {'A', '~', 195}, /* Ã */
++ {'A', '"', 196}, /* Ä */
++ {'A', '@', 197}, /* Å */
++ {'E', '`', 200}, /* È */
++ {'E', '^', 202}, /* Ê */
++ {'E', '"', 203}, /* Ë */
++ {'I', '`', 204}, /* Ì */
++ {'I', '^', 206}, /* Î */
++ {'I', '"', 207}, /* Ï */
++ {'N', '~', 209}, /* Ñ */
++ {'O', '`', 210}, /* Ò */
++ {'O', '^', 212}, /* Ô */
++ {'O', '~', 213}, /* Õ */
++ {'/', '\\', 215}, /* × - multiplication symbol in ISO 8859-1 */
++ {'U', '`', 217}, /* Ù */
++ {'U', '^', 219}, /* Û */
++ {'I', 'p', 222}, /* Þ */
++ {'a', '`', 224}, /* à */
++ {'a', '^', 226}, /* â */
++ {'a', '~', 227}, /* ã */
++ {'a', '"', 228}, /* ä */
++ {'a', '@', 229}, /* å */
++ {'e', '`', 232}, /* è */
++ {'e', '^', 234}, /* ê */
++ {'e', '"', 235}, /* ë */
++ {'i', '`', 236}, /* ì */
++ {'i', '^', 238}, /* î */
++ {'n', '~', 241}, /* ñ */
++ {'o', '`', 242}, /* ò */
++ {'o', '^', 244}, /* ô */
++ {'o', '~', 245}, /* õ */
++ {'u', '`', 249}, /* ù */
++ {'u', '^', 251}, /* û */
++ {'y', '"', 255}, /* x XX */
++
+ {NUL, NUL, NUL}
+ };
+
+*** ../vim-7.1.192/src/version.c Thu Jan 3 16:31:17 2008
+--- src/version.c Thu Jan 3 17:52:51 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 193,
+ /**/
+
+--
+Futility Factor: No experiment is ever a complete failure - it can always
+serve as a negative example.
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.194
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.194?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.194 (added)
+++ trunk/packages/vim/upstream/patches/7.1.194 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,55 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.194
+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.194
+Problem: ":echo glob('~/{}')" results in /home/user//.
+Solution: Don't add a slash if there already is one.
+Files: src/os_unix.c
+
+
+*** ../vim-7.1.193/src/os_unix.c Sat Dec 1 17:18:45 2007
+--- src/os_unix.c Thu Jan 3 18:52:22 2008
+***************
+*** 5482,5488 ****
+ {
+ STRCPY(p, (*file)[i]);
+ if (dir)
+! STRCAT(p, "/"); /* add '/' to a directory name */
+ (*file)[j++] = p;
+ }
+ }
+--- 5482,5488 ----
+ {
+ STRCPY(p, (*file)[i]);
+ if (dir)
+! add_pathsep(p); /* add '/' to a directory name */
+ (*file)[j++] = p;
+ }
+ }
+*** ../vim-7.1.193/src/version.c Thu Jan 3 17:53:41 2008
+--- src/version.c Thu Jan 3 18:54:41 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 194,
+ /**/
+
+--
+ARTHUR: Will you ask your master if he wants to join my court at Camelot?!
+GUARD #1: But then of course African swallows are not migratory.
+GUARD #2: Oh, yeah...
+GUARD #1: So they couldn't bring a coconut back anyway...
+ The Quest for the Holy Grail (Monty Python)
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.195
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.195?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.195 (added)
+++ trunk/packages/vim/upstream/patches/7.1.195 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,75 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.195
+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.195
+Problem: '0 mark doesn't work for "~/foo ~ foo".
+Solution: Don't expand the whole file name, only "~/".
+Files: src/mark.c
+
+
+*** ../vim-7.1.194/src/mark.c Thu May 10 18:48:03 2007
+--- src/mark.c Thu Jan 3 20:17:29 2008
+***************
+*** 505,513 ****
+ {
+ /*
+ * First expand "~/" in the file name to the home directory.
+! * Try to shorten the file name.
+ */
+! expand_env(fm->fname, NameBuff, MAXPATHL);
+ mch_dirname(IObuff, IOSIZE);
+ p = shorten_fname(NameBuff, IObuff);
+
+--- 505,528 ----
+ {
+ /*
+ * First expand "~/" in the file name to the home directory.
+! * Don't expand the whole name, it may contain other '~' chars.
+ */
+! if (fm->fname[0] == '~' && (fm->fname[1] == '/'
+! #ifdef BACKSLASH_IN_FILENAME
+! || fm->fname[1] == '\\'
+! #endif
+! ))
+! {
+! int len;
+!
+! expand_env((char_u *)"~/", NameBuff, MAXPATHL);
+! len = STRLEN(NameBuff);
+! vim_strncpy(NameBuff + len, fm->fname + 2, MAXPATHL - len - 1);
+! }
+! else
+! vim_strncpy(NameBuff, fm->fname, MAXPATHL - 1);
+!
+! /* Try to shorten the file name. */
+ mch_dirname(IObuff, IOSIZE);
+ p = shorten_fname(NameBuff, IObuff);
+
+*** ../vim-7.1.194/src/version.c Thu Jan 3 18:55:21 2008
+--- src/version.c Thu Jan 3 20:10:16 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 195,
+ /**/
+
+--
+GUARD #2: Wait a minute -- supposing two swallows carried it together?
+GUARD #1: No, they'd have to have it on a line.
+GUARD #2: Well, simple! They'd just use a standard creeper!
+GUARD #1: What, held under the dorsal guiding feathers?
+GUARD #2: Well, why not?
+ The Quest for the Holy Grail (Monty Python)
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.196
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.196?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.196 (added)
+++ trunk/packages/vim/upstream/patches/7.1.196 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,90 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.196 (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.196 (extra)
+Problem: Win32 GUI: "\n" in a tooltip doesn't cause a line break. (Erik
+ Falor)
+Solution: Use the TTM_SETMAXTIPWIDTH message.
+Files: src/gui_w32.c
+
+
+*** ../vim-7.1.195/src/gui_w32.c Thu Aug 30 12:24:21 2007
+--- src/gui_w32.c Thu Jan 3 13:56:26 2008
+***************
+*** 987,992 ****
+--- 987,997 ----
+ {
+ LPNMTTDISPINFOW lpdi = (LPNMTTDISPINFOW)lParam;
+
++ /* Set the maximum width, this also enables using
++ * \n for line break. */
++ SendMessage(lpdi->hdr.hwndFrom, TTM_SETMAXTIPWIDTH,
++ 0, 500);
++
+ tt_text = enc_to_ucs2(str, NULL);
+ lpdi->lpszText = tt_text;
+ /* can't show tooltip if failed */
+***************
+*** 996,1001 ****
+--- 1001,1011 ----
+ {
+ LPNMTTDISPINFO lpdi = (LPNMTTDISPINFO)lParam;
+
++ /* Set the maximum width, this also enables using
++ * \n for line break. */
++ SendMessage(lpdi->hdr.hwndFrom, TTM_SETMAXTIPWIDTH,
++ 0, 500);
++
+ if (STRLEN(str) < sizeof(lpdi->szText)
+ || ((tt_text = vim_strsave(str)) == NULL))
+ vim_strncpy(lpdi->szText, str,
+***************
+*** 4734,4745 ****
+ cur_beval->showState = ShS_NEUTRAL;
+ break;
+ case TTN_GETDISPINFO:
+! {
+! /* if you get there then we have new common controls */
+! NMTTDISPINFO_NEW *info = (NMTTDISPINFO_NEW *)pnmh;
+! info->lpszText = (LPSTR)info->lParam;
+! info->uFlags |= TTF_DI_SETITEM;
+! }
+ break;
+ }
+ }
+--- 4744,4755 ----
+ cur_beval->showState = ShS_NEUTRAL;
+ break;
+ case TTN_GETDISPINFO:
+! {
+! /* if you get there then we have new common controls */
+! NMTTDISPINFO_NEW *info = (NMTTDISPINFO_NEW *)pnmh;
+! info->lpszText = (LPSTR)info->lParam;
+! info->uFlags |= TTF_DI_SETITEM;
+! }
+ break;
+ }
+ }
+*** ../vim-7.1.195/src/version.c Thu Jan 3 20:21:34 2008
+--- src/version.c Thu Jan 3 20:43:22 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 196,
+ /**/
+
+--
+Shit makes the flowers grow and that's beautiful
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.197
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.197?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.197 (added)
+++ trunk/packages/vim/upstream/patches/7.1.197 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,62 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.197
+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.197
+Problem: Mac: "make install" doesn't work when prefix defined.
+Solution: Pass different arguments to "make installruntime". (Jjgod Jiang)
+Files: src/Makefile
+
+
+*** ../vim-7.1.196/src/Makefile Thu Jan 3 20:44:40 2008
+--- src/Makefile Thu Jan 3 18:30:02 2008
+***************
+*** 2559,2566 ****
+ # -mkdir $(DESTDIR)$(prefix)/$(APPDIR)/bin
+ srcdir=`pwd`; $(MAKE) -f Makefile installruntime \
+ VIMEXE=$$srcdir/$(VIMTARGET) \
+! prefix=$(DESTDIR)$(prefix)/$(RESDIR)/vim \
+! VIMRTLOC=$(DESTDIR)$(prefix)/$(RESDIR)/vim/runtime
+ # Put the link back.
+ ln -s `pwd`/../runtime $(RESDIR)/vim
+ # Copy rgb.txt, Mac doesn't always have X11
+--- 2564,2574 ----
+ # -mkdir $(DESTDIR)$(prefix)/$(APPDIR)/bin
+ srcdir=`pwd`; $(MAKE) -f Makefile installruntime \
+ VIMEXE=$$srcdir/$(VIMTARGET) \
+! prefix=$(DESTDIR)$(prefix)/$(RESDIR)$(VIMDIR) \
+! exec_prefix=$(DESTDIR)$(prefix)/$(APPDIR)/Contents \
+! BINDIR=$(DESTDIR)$(prefix)/$(APPDIR)/Contents/MacOS \
+! VIMLOC=$(DESTDIR)$(prefix)/$(RESDIR)$(VIMDIR) \
+! VIMRTLOC=$(DESTDIR)$(prefix)/$(RESDIR)$(VIMDIR)/runtime
+ # Put the link back.
+ ln -s `pwd`/../runtime $(RESDIR)/vim
+ # Copy rgb.txt, Mac doesn't always have X11
+*** ../vim-7.1.196/src/version.c Thu Jan 3 20:44:35 2008
+--- src/version.c Fri Jan 4 11:52:46 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 197,
+ /**/
+
+--
+CUSTOMER: Well, can you hang around a couple of minutes? He won't be
+ long.
+MORTICIAN: Naaah, I got to go on to Robinson's -- they've lost nine today.
+CUSTOMER: Well, when is your next round?
+MORTICIAN: Thursday.
+DEAD PERSON: I think I'll go for a walk.
+ The Quest for the Holy Grail (Monty Python)
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.198
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.198?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.198 (added)
+++ trunk/packages/vim/upstream/patches/7.1.198 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,51 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.198
+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.198
+Problem: Hang when using ":s/\n//gn". (Burak Gorkemli)
+Solution: Set "skip_match".
+Files: src/ex_cmds.c
+
+
+*** ../vim-7.1.197/src/ex_cmds.c Wed Jan 2 13:58:17 2008
+--- src/ex_cmds.c Fri Jan 4 14:46:34 2008
+***************
+*** 4575,4580 ****
+--- 4575,4581 ----
+ {
+ matchcol = (colnr_T)STRLEN(sub_firstline);
+ nmatch = 1;
++ skip_match = TRUE;
+ }
+ sub_nsubs++;
+ did_sub = TRUE;
+*** ../vim-7.1.197/src/version.c Fri Jan 4 11:54:11 2008
+--- src/version.c Fri Jan 4 14:52:09 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 198,
+ /**/
+
+--
+ [clop clop]
+ARTHUR: Old woman!
+DENNIS: Man!
+ARTHUR: Man, sorry. What knight lives in that castle over there?
+DENNIS: I'm thirty seven.
+ARTHUR: What?
+DENNIS: I'm thirty seven -- I'm not old!
+ The Quest for the Holy Grail (Monty Python)
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.199
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.199?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.199 (added)
+++ trunk/packages/vim/upstream/patches/7.1.199 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,105 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.199
+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.199
+Problem: Can't do command line completion for a specific file name
+ extension.
+Solution: When the pattern ends in "$" don't add a star for completion and
+ remove the "$" before matching with file names.
+Files: runtime/doc/cmdline.txt, src/ex_getln.c
+
+
+*** ../vim-7.1.198/runtime/doc/cmdline.txt Sat May 12 15:38:39 2007
+--- runtime/doc/cmdline.txt Fri Jan 4 15:13:06 2008
+***************
+*** 1,4 ****
+! *cmdline.txt* For Vim version 7.1. Last change: 2006 Jul 18
+
+
+ VIM REFERENCE MANUAL by Bram Moolenaar
+--- 1,4 ----
+! *cmdline.txt* For Vim version 7.1. Last change: 2008 Jan 04
+
+
+ VIM REFERENCE MANUAL by Bram Moolenaar
+***************
+*** 316,322 ****
+ command-line is shown. (Note: the shifted arrow keys do not work on all
+ terminals)
+
+! *his* *:history*
+ :his[tory] Print the history of last entered commands.
+ {not in Vi}
+ {not available when compiled without the |+cmdline_hist|
+--- 316,322 ----
+ command-line is shown. (Note: the shifted arrow keys do not work on all
+ terminals)
+
+! *:his* *:history*
+ :his[tory] Print the history of last entered commands.
+ {not in Vi}
+ {not available when compiled without the |+cmdline_hist|
+***************
+*** 447,452 ****
+--- 447,457 ----
+
+ To completely ignore files with some extension use 'wildignore'.
+
++ To match only files that end at the end of the typed text append a "$". For
++ example, to match only files that end in ".c": >
++ :e *.c$
++ This will not match a file ending in ".cpp". Without the "$" it does match.
++
+ The old value of an option can be obtained by hitting 'wildchar' just after
+ the '='. For example, typing 'wildchar' after ":set dir=" will insert the
+ current value of 'dir'. This overrules file name completion for the options
+*** ../vim-7.1.198/src/ex_getln.c Wed Jan 2 21:54:33 2008
+--- src/ex_getln.c Fri Jan 4 15:05:31 2008
+***************
+*** 4078,4083 ****
+--- 4078,4084 ----
+ * ~ would be at the start of the file name, but not the tail.
+ * $ could be anywhere in the tail.
+ * ` could be anywhere in the file name.
++ * When the name ends in '$' don't add a star, remove the '$'.
+ */
+ tail = gettail(retval);
+ if ((*retval != '~' || tail != retval)
+***************
+*** 4085,4090 ****
+--- 4086,4093 ----
+ && vim_strchr(tail, '$') == NULL
+ && vim_strchr(retval, '`') == NULL)
+ retval[len++] = '*';
++ else if (len > 0 && retval[len - 1] == '$')
++ --len;
+ retval[len] = NUL;
+ }
+ }
+*** ../vim-7.1.198/src/version.c Fri Jan 4 14:52:14 2008
+--- src/version.c Fri Jan 4 15:14:29 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 199,
+ /**/
+
+--
+ARTHUR: Well, I can't just call you `Man'.
+DENNIS: Well, you could say `Dennis'.
+ARTHUR: Well, I didn't know you were called `Dennis.'
+DENNIS: Well, you didn't bother to find out, did you?
+ The Quest for the Holy Grail (Monty Python)
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.200
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.200?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.200 (added)
+++ trunk/packages/vim/upstream/patches/7.1.200 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,74 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.200
+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.200 (after 7.1.177 and 7.1.182)
+Problem: Compiler warnings for uninitialized variables.
+Solution: Init variables.
+Files: src/ex_cmds2.c, src/ex_docmd.c
+
+
+*** ../vim-7.1.199/src/ex_cmds2.c Tue Jan 1 14:16:42 2008
+--- src/ex_cmds2.c Fri Jan 4 15:55:54 2008
+***************
+*** 94,100 ****
+ int save_redir_off = redir_off;
+ tasave_T typeaheadbuf;
+ int typeahead_saved = FALSE;
+! int save_ignore_script;
+ # ifdef FEAT_EX_EXTRA
+ int save_ex_normal_busy;
+ # endif
+--- 94,100 ----
+ int save_redir_off = redir_off;
+ tasave_T typeaheadbuf;
+ int typeahead_saved = FALSE;
+! int save_ignore_script = 0;
+ # ifdef FEAT_EX_EXTRA
+ int save_ex_normal_busy;
+ # endif
+*** ../vim-7.1.199/src/ex_docmd.c Wed Jan 2 21:07:32 2008
+--- src/ex_docmd.c Fri Jan 4 15:57:28 2008
+***************
+*** 9765,9771 ****
+ win_T *tab_firstwin;
+ frame_T *tab_topframe;
+ int cur_arg_idx = 0;
+! int next_arg_idx;
+
+ if (ssop_flags & SSOP_BUFFERS)
+ only_save_windows = FALSE; /* Save ALL buffers */
+--- 9766,9772 ----
+ win_T *tab_firstwin;
+ frame_T *tab_topframe;
+ int cur_arg_idx = 0;
+! int next_arg_idx = 0;
+
+ if (ssop_flags & SSOP_BUFFERS)
+ only_save_windows = FALSE; /* Save ALL buffers */
+*** ../vim-7.1.199/src/version.c Fri Jan 4 15:16:57 2008
+--- src/version.c Fri Jan 4 15:59:46 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 200,
+ /**/
+
+--
+ARTHUR: I did say sorry about the `old woman,' but from the behind you
+ looked--
+DENNIS: What I object to is you automatically treat me like an inferior!
+ARTHUR: Well, I AM king...
+ The Quest for the Holy Grail (Monty Python)
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.201
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.201?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.201 (added)
+++ trunk/packages/vim/upstream/patches/7.1.201 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,87 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.201
+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.201
+Problem: When reading stdin 'fenc' and 'ff are not set.
+Solution: Set the options after reading stdin. (Ben Schmidt)
+Files: src/fileio.c
+
+
+*** ../vim-7.1.200/src/fileio.c Wed Jan 2 21:07:32 2008
+--- src/fileio.c Fri Jan 4 16:18:27 2008
+***************
+*** 221,231 ****
+ {
+ int fd = 0;
+ int newfile = (flags & READ_NEW);
+- int set_options = newfile || (eap != NULL && eap->read_edit);
+ int check_readonly;
+ int filtering = (flags & READ_FILTER);
+ int read_stdin = (flags & READ_STDIN);
+ int read_buffer = (flags & READ_BUFFER);
+ linenr_T read_buf_lnum = 1; /* next line to read from curbuf */
+ colnr_T read_buf_col = 0; /* next char to read from this line */
+ char_u c;
+--- 221,232 ----
+ {
+ int fd = 0;
+ int newfile = (flags & READ_NEW);
+ int check_readonly;
+ int filtering = (flags & READ_FILTER);
+ int read_stdin = (flags & READ_STDIN);
+ int read_buffer = (flags & READ_BUFFER);
++ int set_options = newfile || read_buffer
++ || (eap != NULL && eap->read_edit);
+ linenr_T read_buf_lnum = 1; /* next line to read from curbuf */
+ colnr_T read_buf_col = 0; /* next char to read from this line */
+ char_u c;
+***************
+*** 650,657 ****
+
+ if (set_options)
+ {
+! curbuf->b_p_eol = TRUE;
+! curbuf->b_start_eol = TRUE;
+ #ifdef FEAT_MBYTE
+ curbuf->b_p_bomb = FALSE;
+ curbuf->b_start_bomb = FALSE;
+--- 651,663 ----
+
+ if (set_options)
+ {
+! /* Don't change 'eol' if reading from buffer as it will already be
+! * correctly set when reading stdin. */
+! if (!read_buffer)
+! {
+! curbuf->b_p_eol = TRUE;
+! curbuf->b_start_eol = TRUE;
+! }
+ #ifdef FEAT_MBYTE
+ curbuf->b_p_bomb = FALSE;
+ curbuf->b_start_bomb = FALSE;
+*** ../vim-7.1.200/src/version.c Fri Jan 4 16:00:10 2008
+--- src/version.c Fri Jan 4 16:27:01 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 201,
+ /**/
+
+--
+A mathematician is a device for turning coffee into theorems.
+ Paul Erdos
+A computer programmer is a device for turning coffee into bugs.
+ Bram Moolenaar
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.202
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.202?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.202 (added)
+++ trunk/packages/vim/upstream/patches/7.1.202 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,83 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.202
+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.202
+Problem: Incomplete utf-8 byte sequence is not checked for validity.
+Solution: Check the bytes that are present for being valid. (Ben Schmidt)
+Files: src/mbyte.c
+
+
+*** ../vim-7.1.201/src/mbyte.c Thu Aug 30 13:51:52 2007
+--- src/mbyte.c Fri Jan 4 17:30:16 2008
+***************
+*** 1642,1648 ****
+ * Get the length of UTF-8 byte sequence "p[size]". Does not include any
+ * following composing characters.
+ * Returns 1 for "".
+! * Returns 1 for an illegal byte sequence.
+ * Returns number > "size" for an incomplete byte sequence.
+ */
+ int
+--- 1642,1648 ----
+ * Get the length of UTF-8 byte sequence "p[size]". Does not include any
+ * following composing characters.
+ * Returns 1 for "".
+! * Returns 1 for an illegal byte sequence (also in incomplete byte seq.).
+ * Returns number > "size" for an incomplete byte sequence.
+ */
+ int
+***************
+*** 1652,1664 ****
+ {
+ int len;
+ int i;
+
+ if (*p == NUL)
+ return 1;
+! len = utf8len_tab[*p];
+ if (len > size)
+! return len; /* incomplete byte sequence. */
+! for (i = 1; i < len; ++i)
+ if ((p[i] & 0xc0) != 0x80)
+ return 1;
+ return len;
+--- 1652,1665 ----
+ {
+ int len;
+ int i;
++ int m;
+
+ if (*p == NUL)
+ return 1;
+! m = len = utf8len_tab[*p];
+ if (len > size)
+! m = size; /* incomplete byte sequence. */
+! for (i = 1; i < m; ++i)
+ if ((p[i] & 0xc0) != 0x80)
+ return 1;
+ return len;
+*** ../vim-7.1.201/src/version.c Fri Jan 4 16:30:40 2008
+--- src/version.c Fri Jan 4 17:45:33 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 202,
+ /**/
+
+--
+A computer programmer is a device for turning requirements into
+undocumented features. It runs on cola, pizza and Dilbert cartoons.
+ Bram Moolenaar
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.203
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.203?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.203 (added)
+++ trunk/packages/vim/upstream/patches/7.1.203 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,68 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.203
+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.203
+Problem: When 'virtualedit' is "onemore" then "99|" works but ":normal 99|"
+ doesn't. (Andy Wokula)
+Solution: Check for "onemore" flag in check_cursor_col().
+Files: src/misc2.c
+
+
+*** ../vim-7.1.202/src/misc2.c Sat Nov 24 21:27:33 2007
+--- src/misc2.c Fri Jan 4 21:24:46 2008
+***************
+*** 507,517 ****
+ curwin->w_cursor.col = 0;
+ else if (curwin->w_cursor.col >= len)
+ {
+! /* Allow cursor past end-of-line in Insert mode, restarting Insert
+! * mode or when in Visual mode and 'selection' isn't "old" */
+ if ((State & INSERT) || restart_edit
+ #ifdef FEAT_VISUAL
+ || (VIsual_active && *p_sel != 'o')
+ #endif
+ || virtual_active())
+ curwin->w_cursor.col = len;
+--- 508,523 ----
+ curwin->w_cursor.col = 0;
+ else if (curwin->w_cursor.col >= len)
+ {
+! /* Allow cursor past end-of-line when:
+! * - in Insert mode or restarting Insert mode
+! * - in Visual mode and 'selection' isn't "old"
+! * - 'virtualedit' is set */
+ if ((State & INSERT) || restart_edit
+ #ifdef FEAT_VISUAL
+ || (VIsual_active && *p_sel != 'o')
++ #endif
++ #ifdef FEAT_VIRTUALEDIT
++ || (ve_flags & VE_ONEMORE)
+ #endif
+ || virtual_active())
+ curwin->w_cursor.col = len;
+*** ../vim-7.1.202/src/version.c Fri Jan 4 17:46:46 2008
+--- src/version.c Fri Jan 4 21:22:29 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 203,
+ /**/
+
+--
+`When any government, or any church for that matter, undertakes to say to
+ its subjects, "This you may not read, this you must not see, this you are
+ forbidden to know," the end result is tyranny and oppression no matter how
+ holy the motives' -- Robert A Heinlein, "If this goes on --"
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.204
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.204?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.204 (added)
+++ trunk/packages/vim/upstream/patches/7.1.204 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,74 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.204 (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.204 (extra)
+Problem: Win32: Using the example at 'balloonexpr' the balloon disappears
+ after four seconds and then comes back again. Also moves the
+ mouse pointer a little bit. (Yongwei Wu)
+Solution: Set the autopop time to 30 seconds (the max value). (Sergey
+ Khorev) Move the mouse two pixels forward and one back to end up
+ in the same position (really!).
+Files: src/gui_w32.c
+
+
+
+*** ../vim-7.1.203/src/gui_w32.c Thu Jan 3 20:44:35 2008
+--- src/gui_w32.c Sat Jan 5 13:09:56 2008
+***************
+*** 4575,4585 ****
+ SendMessage(beval->balloon, TTM_ADDTOOL, 0, (LPARAM)pti);
+ /* Make tooltip appear sooner */
+ SendMessage(beval->balloon, TTM_SETDELAYTIME, TTDT_INITIAL, 10);
+ /*
+ * HACK: force tooltip to appear, because it'll not appear until
+ * first mouse move. D*mn M$
+ */
+! mouse_event(MOUSEEVENTF_MOVE, 1, 1, 0, 0);
+ mouse_event(MOUSEEVENTF_MOVE, (DWORD)-1, (DWORD)-1, 0, 0);
+ vim_free(pti);
+ }
+--- 4575,4589 ----
+ SendMessage(beval->balloon, TTM_ADDTOOL, 0, (LPARAM)pti);
+ /* Make tooltip appear sooner */
+ SendMessage(beval->balloon, TTM_SETDELAYTIME, TTDT_INITIAL, 10);
++ /* I've performed some tests and it seems the longest possible life time
++ * of tooltip is 30 seconds */
++ SendMessage(beval->balloon, TTM_SETDELAYTIME, TTDT_AUTOPOP, 30000);
+ /*
+ * HACK: force tooltip to appear, because it'll not appear until
+ * first mouse move. D*mn M$
++ * Amazingly moving (2, 2) and then (-1, -1) the mouse doesn't move.
+ */
+! mouse_event(MOUSEEVENTF_MOVE, 2, 2, 0, 0);
+ mouse_event(MOUSEEVENTF_MOVE, (DWORD)-1, (DWORD)-1, 0, 0);
+ vim_free(pti);
+ }
+*** ../vim-7.1.203/src/version.c Fri Jan 4 21:25:01 2008
+--- src/version.c Sat Jan 5 13:12:22 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 204,
+ /**/
+
+--
+WOMAN: I didn't know we had a king. I thought we were an autonomous
+ collective.
+DENNIS: You're fooling yourself. We're living in a dictatorship. A
+ self-perpetuating autocracy in which the working classes--
+WOMAN: Oh there you go, bringing class into it again.
+DENNIS: That's what it's all about if only people would--
+ The Quest for the Holy Grail (Monty Python)
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.205
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.205?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.205 (added)
+++ trunk/packages/vim/upstream/patches/7.1.205 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,181 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.205
+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.205
+Problem: Can't get the operator in an ":omap".
+Solution: Add the "v:operator" variable. (Ben Schmidt)
+Files: runtime/doc/eval.txt, src/eval.c, src/normal.c, src/vim.h
+
+
+*** ../vim-7.1.204/runtime/doc/eval.txt Tue Sep 25 17:54:41 2007
+--- runtime/doc/eval.txt Fri Jan 4 20:38:55 2008
+***************
+*** 1,4 ****
+! *eval.txt* For Vim version 7.1. Last change: 2007 Sep 25
+
+
+ VIM REFERENCE MANUAL by Bram Moolenaar
+--- 1,4 ----
+! *eval.txt* For Vim version 7.1. Last change: 2008 Jan 04
+
+
+ VIM REFERENCE MANUAL by Bram Moolenaar
+***************
+*** 1401,1410 ****
+ This is the screen column number, like with |virtcol()|. The
+ value is zero when there was no mouse button click.
+
+ *v:prevcount* *prevcount-variable*
+ v:prevcount The count given for the last but one Normal mode command.
+ This is the v:count value of the previous command. Useful if
+! you want to cancel Visual mode and then use the count. >
+ :vmap % <Esc>:call MyFilter(v:prevcount)<CR>
+ < Read-only.
+
+--- 1401,1424 ----
+ This is the screen column number, like with |virtcol()|. The
+ value is zero when there was no mouse button click.
+
++ *v:operator* *operator-variable*
++ v:operator The last operator given in Normal mode. This is a single
++ character except for commands starting with <g> or <z>,
++ in which case it is two characters. Best used alongside
++ |v:prevcount| and |v:register|. Useful if you want to cancel
++ Operator-pending mode and then use the operator, e.g.: >
++ :omap O <Esc>:call MyMotion(v:operator)<CR>
++ < The value remains set until another operator is entered, thus
++ don't expect it to be empty.
++ v:operator is not set for |:delete|, |:yank| or other Ex
++ commands.
++ Read-only.
++
+ *v:prevcount* *prevcount-variable*
+ v:prevcount The count given for the last but one Normal mode command.
+ This is the v:count value of the previous command. Useful if
+! you want to cancel Visual or Operator-pending mode and then
+! use the count, e.g.: >
+ :vmap % <Esc>:call MyFilter(v:prevcount)<CR>
+ < Read-only.
+
+*** ../vim-7.1.204/src/eval.c Fri Dec 7 17:08:35 2007
+--- src/eval.c Sat Jan 5 13:22:52 2008
+***************
+*** 345,350 ****
+--- 345,351 ----
+ {VV_NAME("mouse_win", VAR_NUMBER), 0},
+ {VV_NAME("mouse_lnum", VAR_NUMBER), 0},
+ {VV_NAME("mouse_col", VAR_NUMBER), 0},
++ {VV_NAME("operator", VAR_STRING), VV_RO},
+ };
+
+ /* shorthand */
+*** ../vim-7.1.204/src/normal.c Thu Jan 3 13:19:50 2008
+--- src/normal.c Fri Jan 4 20:53:43 2008
+***************
+*** 141,146 ****
+--- 141,149 ----
+ static void nv_Undo __ARGS((cmdarg_T *cap));
+ static void nv_tilde __ARGS((cmdarg_T *cap));
+ static void nv_operator __ARGS((cmdarg_T *cap));
++ #ifdef FEAT_EVAL
++ static void set_op_var __ARGS((int optype));
++ #endif
+ static void nv_lineop __ARGS((cmdarg_T *cap));
+ static void nv_home __ARGS((cmdarg_T *cap));
+ static void nv_pipe __ARGS((cmdarg_T *cap));
+***************
+*** 7180,7185 ****
+--- 7183,7191 ----
+ {
+ cap->oap->start = curwin->w_cursor;
+ cap->oap->op_type = OP_DELETE;
++ #ifdef FEAT_EVAL
++ set_op_var(OP_DELETE);
++ #endif
+ cap->count1 = 1;
+ nv_dollar(cap);
+ finish_op = TRUE;
+***************
+*** 8219,8226 ****
+--- 8225,8257 ----
+ {
+ cap->oap->start = curwin->w_cursor;
+ cap->oap->op_type = op_type;
++ #ifdef FEAT_EVAL
++ set_op_var(op_type);
++ #endif
++ }
++ }
++
++ #ifdef FEAT_EVAL
++ /*
++ * Set v:operator to the characters for "optype".
++ */
++ static void
++ set_op_var(optype)
++ int optype;
++ {
++ char_u opchars[3];
++
++ if (optype == OP_NOP)
++ set_vim_var_string(VV_OP, NULL, 0);
++ else
++ {
++ opchars[0] = get_op_char(optype);
++ opchars[1] = get_extra_op_char(optype);
++ opchars[2] = NUL;
++ set_vim_var_string(VV_OP, opchars, -1);
+ }
+ }
++ #endif
+
+ /*
+ * Handle linewise operator "dd", "yy", etc.
+*** ../vim-7.1.204/src/vim.h Sat Aug 11 13:57:31 2007
+--- src/vim.h Fri Jan 4 19:11:31 2008
+***************
+*** 1688,1694 ****
+ #define VV_MOUSE_WIN 49
+ #define VV_MOUSE_LNUM 50
+ #define VV_MOUSE_COL 51
+! #define VV_LEN 52 /* number of v: vars */
+
+ #ifdef FEAT_CLIPBOARD
+
+--- 1688,1695 ----
+ #define VV_MOUSE_WIN 49
+ #define VV_MOUSE_LNUM 50
+ #define VV_MOUSE_COL 51
+! #define VV_OP 52
+! #define VV_LEN 53 /* number of v: vars */
+
+ #ifdef FEAT_CLIPBOARD
+
+*** ../vim-7.1.204/src/version.c Sat Jan 5 13:15:08 2008
+--- src/version.c Sat Jan 5 13:31:49 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 205,
+ /**/
+
+--
+ARTHUR: Then who is your lord?
+WOMAN: We don't have a lord.
+ARTHUR: What?
+DENNIS: I told you. We're an anarcho-syndicalist commune. We take it in
+ turns to act as a sort of executive officer for the week.
+ The Quest for the Holy Grail (Monty Python)
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.206
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.206?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.206 (added)
+++ trunk/packages/vim/upstream/patches/7.1.206 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,59 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.206
+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.206
+Problem: Compiler warnings when using MODIFIED_BY.
+Solution: Add type casts. (Ben Schmidt)
+Files: src/version.c
+
+
+*** ../vim-7.1.205/src/version.c Sat Jan 5 13:34:01 2008
+--- src/version.c Sat Jan 5 13:56:55 2008
+***************
+*** 1587,1595 ****
+
+ if (*mesg == ' ')
+ {
+! vim_strncpy(modby, _("Modified by "), MODBY_LEN - 1);
+ l = STRLEN(modby);
+! vim_strncpy(modby + l, MODIFIED_BY, MODBY_LEN - l - 1);
+ mesg = modby;
+ }
+ #endif
+--- 1589,1597 ----
+
+ if (*mesg == ' ')
+ {
+! vim_strncpy(modby, (char_u *)_("Modified by "), MODBY_LEN - 1);
+ l = STRLEN(modby);
+! vim_strncpy(modby + l, (char_u *)MODIFIED_BY, MODBY_LEN - l - 1);
+ mesg = modby;
+ }
+ #endif
+*** ../vim-7.1.205/src/version.c Sat Jan 5 13:34:01 2008
+--- src/version.c Sat Jan 5 13:56:55 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 206,
+ /**/
+
+--
+ARTHUR: I am your king!
+WOMAN: Well, I didn't vote for you.
+ARTHUR: You don't vote for kings.
+WOMAN: Well, 'ow did you become king then?
+ The Quest for the Holy Grail (Monty Python)
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.207
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.207?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.207 (added)
+++ trunk/packages/vim/upstream/patches/7.1.207 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,253 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.207
+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.207
+Problem: Netbeans: "remove" cannot delete one line.
+Solution: Remove partial lines and whole lines properly. Avoid a memory
+ leak. (Xavier de Gaye)
+Files: src/netbeans.c
+
+
+*** ../vim-7.1.206/src/netbeans.c Thu May 10 18:40:48 2007
+--- src/netbeans.c Sat Jan 5 18:03:24 2008
+***************
+*** 1204,1209 ****
+--- 1204,1257 ----
+ return result;
+ }
+
++ /*
++ * Remove from "first" byte to "last" byte (inclusive), at line "lnum" of the
++ * current buffer. Remove to end of line when "last" is MAXCOL.
++ */
++ static void
++ nb_partialremove(linenr_T lnum, colnr_T first, colnr_T last)
++ {
++ char_u *oldtext, *newtext;
++ int oldlen;
++ int lastbyte = last;
++
++ oldtext = ml_get(lnum);
++ oldlen = STRLEN(oldtext);
++ if (first >= oldlen || oldlen == 0) /* just in case */
++ return;
++ if (lastbyte >= oldlen)
++ lastbyte = oldlen - 1;
++ newtext = alloc(oldlen - (int)(lastbyte - first));
++ if (newtext != NULL)
++ {
++ mch_memmove(newtext, oldtext, first);
++ mch_memmove(newtext + first, oldtext + lastbyte + 1, STRLEN(oldtext + lastbyte + 1) + 1);
++ nbdebug((" NEW LINE %d: %s\n", lnum, newtext));
++ ml_replace(lnum, newtext, FALSE);
++ }
++ }
++
++ /*
++ * Replace the "first" line with the concatenation of the "first" and
++ * the "other" line. The "other" line is not removed.
++ */
++ static void
++ nb_joinlines(linenr_T first, linenr_T other)
++ {
++ int len_first, len_other;
++ char_u *p;
++
++ len_first = STRLEN(ml_get(first));
++ len_other = STRLEN(ml_get(other));
++ p = alloc((unsigned)(len_first + len_other + 1));
++ if (p != NULL)
++ {
++ mch_memmove(p, ml_get(first), len_first);
++ mch_memmove(p + len_first, ml_get(other), len_other + 1);
++ ml_replace(first, p, FALSE);
++ }
++ }
++
+ #define SKIP_STOP 2
+ #define streq(a,b) (strcmp(a,b) == 0)
+ static int needupdate = 0;
+***************
+*** 1371,1376 ****
+--- 1419,1426 ----
+ long count;
+ pos_T first, last;
+ pos_T *pos;
++ pos_T *next;
++ linenr_T del_from_lnum, del_to_lnum; /* lines to be deleted as a whole */
+ int oldFire = netbeansFireChanges;
+ int oldSuppress = netbeansSuppressNoLines;
+ int wasChanged;
+***************
+*** 1420,1444 ****
+ }
+ last = *pos;
+ nbdebug((" LAST POS: line %d, col %d\n", last.lnum, last.col));
+! curwin->w_cursor = first;
+ doupdate = 1;
+
+! /* keep part of first line */
+! if (first.lnum == last.lnum && first.col != last.col)
+ {
+! /* deletion is within one line */
+! char_u *p = ml_get(first.lnum);
+! mch_memmove(p + first.col, p + last.col + 1, STRLEN(p + last.col) + 1);
+! nbdebug((" NEW LINE %d: %s\n", first.lnum, p));
+! ml_replace(first.lnum, p, TRUE);
+ }
+
+! if (first.lnum < last.lnum)
+ {
+ int i;
+
+ /* delete signs from the lines being deleted */
+! for (i = first.lnum; i <= last.lnum; i++)
+ {
+ int id = buf_findsign_id(buf->bufp, (linenr_T)i);
+ if (id > 0)
+--- 1470,1544 ----
+ }
+ last = *pos;
+ nbdebug((" LAST POS: line %d, col %d\n", last.lnum, last.col));
+! del_from_lnum = first.lnum;
+! del_to_lnum = last.lnum;
+ doupdate = 1;
+
+! /* Get the position of the first byte after the deleted
+! * section. "next" is NULL when deleting to the end of the
+! * file. */
+! next = off2pos(buf->bufp, off + count);
+!
+! /* Remove part of the first line. */
+! if (first.col != 0 || (next != NULL && first.lnum == next->lnum))
+ {
+! if (first.lnum != last.lnum
+! || (next != NULL && first.lnum != next->lnum))
+! {
+! /* remove to the end of the first line */
+! nb_partialremove(first.lnum, first.col,
+! (colnr_T)MAXCOL);
+! if (first.lnum == last.lnum)
+! {
+! /* Partial line to remove includes the end of
+! * line. Join the line with the next one, have
+! * the next line deleted below. */
+! nb_joinlines(first.lnum, next->lnum);
+! del_to_lnum = next->lnum;
+! }
+! }
+! else
+! {
+! /* remove within one line */
+! nb_partialremove(first.lnum, first.col, last.col);
+! }
+! ++del_from_lnum; /* don't delete the first line */
+! }
+!
+! /* Remove part of the last line. */
+! if (first.lnum != last.lnum && next != NULL
+! && next->col != 0 && last.lnum == next->lnum)
+! {
+! nb_partialremove(last.lnum, 0, last.col);
+! if (del_from_lnum > first.lnum)
+! {
+! /* Join end of last line to start of first line; last
+! * line is deleted below. */
+! nb_joinlines(first.lnum, last.lnum);
+! }
+! else
+! /* First line is deleted as a whole, keep the last
+! * line. */
+! --del_to_lnum;
+ }
+
+! /* First is partial line; last line to remove includes
+! * the end of line; join first line to line following last
+! * line; line following last line is deleted below. */
+! if (first.lnum != last.lnum && del_from_lnum > first.lnum
+! && next != NULL && last.lnum != next->lnum)
+! {
+! nb_joinlines(first.lnum, next->lnum);
+! del_to_lnum = next->lnum;
+! }
+!
+! /* Delete whole lines if there are any. */
+! if (del_to_lnum >= del_from_lnum)
+ {
+ int i;
+
+ /* delete signs from the lines being deleted */
+! for (i = del_from_lnum; i <= del_to_lnum; i++)
+ {
+ int id = buf_findsign_id(buf->bufp, (linenr_T)i);
+ if (id > 0)
+***************
+*** 1450,1459 ****
+ nbdebug((" No sign on line %d\n", i));
+ }
+
+! /* delete whole lines */
+! nbdebug((" Deleting lines %d through %d\n", first.lnum, last.lnum));
+! del_lines(last.lnum - first.lnum + 1, FALSE);
+ }
+ buf->bufp->b_changed = wasChanged; /* logically unchanged */
+ netbeansFireChanges = oldFire;
+ netbeansSuppressNoLines = oldSuppress;
+--- 1550,1564 ----
+ nbdebug((" No sign on line %d\n", i));
+ }
+
+! nbdebug((" Deleting lines %d through %d\n", del_from_lnum, del_to_lnum));
+! curwin->w_cursor.lnum = del_from_lnum;
+! curwin->w_cursor.col = 0;
+! del_lines(del_to_lnum - del_from_lnum + 1, FALSE);
+ }
++
++ /* Leave cursor at first deleted byte. */
++ curwin->w_cursor = first;
++ check_cursor_lnum();
+ buf->bufp->b_changed = wasChanged; /* logically unchanged */
+ netbeansFireChanges = oldFire;
+ netbeansSuppressNoLines = oldSuppress;
+***************
+*** 2374,2381 ****
+ * the current buffer as "buf".
+ */
+ static void
+! nb_set_curbuf(buf)
+! buf_T *buf;
+ {
+ if (curbuf != buf && buf_jump_open_win(buf) == NULL)
+ set_curbuf(buf, DOBUF_GOTO);
+--- 2479,2485 ----
+ * the current buffer as "buf".
+ */
+ static void
+! nb_set_curbuf(buf_T *buf)
+ {
+ if (curbuf != buf && buf_jump_open_win(buf) == NULL)
+ set_curbuf(buf, DOBUF_GOTO);
+*** ../vim-7.1.206/src/version.c Sat Jan 5 13:58:48 2008
+--- src/version.c Sat Jan 5 18:06:04 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 207,
+ /**/
+
+--
+Q: How many hardware engineers does it take to change a lightbulb?
+A: None. We'll fix it in software.
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.208
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.208?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.208 (added)
+++ trunk/packages/vim/upstream/patches/7.1.208 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,69 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.208
+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.208
+Problem: On Alpha get an unaligned access error.
+Solution: Store the dictitem pointer before using it. (Matthew Luckie)
+Files: src/eval.c
+
+
+*** ../vim-7.1.207/src/eval.c Sat Jan 5 13:34:01 2008
+--- src/eval.c Sat Jan 5 13:22:52 2008
+***************
+*** 3407,3412 ****
+--- 3407,3413 ----
+ hashtab_T *ht;
+ hashitem_T *hi;
+ char_u *varname;
++ dictitem_T *di;
+
+ ht = find_var_ht(name, &varname);
+ if (ht != NULL && *varname != NUL)
+***************
+*** 3414,3422 ****
+ hi = hash_find(ht, varname);
+ if (!HASHITEM_EMPTY(hi))
+ {
+! if (var_check_fixed(HI2DI(hi)->di_flags, name))
+! return FAIL;
+! if (var_check_ro(HI2DI(hi)->di_flags, name))
+ return FAIL;
+ delete_var(ht, hi);
+ return OK;
+--- 3415,3423 ----
+ hi = hash_find(ht, varname);
+ if (!HASHITEM_EMPTY(hi))
+ {
+! di = HI2DI(hi);
+! if (var_check_fixed(di->di_flags, name)
+! || var_check_ro(di->di_flags, name))
+ return FAIL;
+ delete_var(ht, hi);
+ return OK;
+*** ../vim-7.1.207/src/version.c Sat Jan 5 18:06:33 2008
+--- src/version.c Sat Jan 5 22:14:17 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 208,
+ /**/
+
+--
+ARTHUR: Bloody peasant!
+DENNIS: Oh, what a give away. Did you here that, did you here that, eh?
+ That's what I'm on about -- did you see him repressing me, you saw it
+ didn't you?
+ The Quest for the Holy Grail (Monty Python)
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.209
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.209?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.209 (added)
+++ trunk/packages/vim/upstream/patches/7.1.209 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,71 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.209
+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.209
+Problem: GTK: When using the netrw plugin and doing ":gui" Vim hangs.
+Solution: Stop getting a selection after three seconds. This is a hack.
+Files: src/gui_gtk_x11.c
+
+
+*** ../vim-7.1.208/src/gui_gtk_x11.c Fri Oct 19 14:32:50 2007
+--- src/gui_gtk_x11.c Sun Jan 6 15:15:52 2008
+***************
+*** 6660,6665 ****
+--- 6660,6666 ----
+ unsigned i;
+ int nbytes;
+ char_u *buffer;
++ time_t start;
+
+ for (i = 0; i < N_SELECTION_TARGETS; ++i)
+ {
+***************
+*** 6670,6676 ****
+ cbd->gtk_sel_atom, target,
+ (guint32)GDK_CURRENT_TIME);
+
+! while (received_selection == RS_NONE)
+ gtk_main(); /* wait for selection_received_cb */
+
+ if (received_selection != RS_FAIL)
+--- 6671,6681 ----
+ cbd->gtk_sel_atom, target,
+ (guint32)GDK_CURRENT_TIME);
+
+! /* Hack: Wait up to three seconds for the selection. A hang was
+! * noticed here when using the netrw plugin combined with ":gui"
+! * during the FocusGained event. */
+! start = time(NULL);
+! while (received_selection == RS_NONE && time(NULL) < start + 3)
+ gtk_main(); /* wait for selection_received_cb */
+
+ if (received_selection != RS_FAIL)
+*** ../vim-7.1.208/src/version.c Sat Jan 5 22:15:21 2008
+--- src/version.c Sun Jan 6 15:14:48 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 209,
+ /**/
+
+--
+BLACK KNIGHT: I move for no man.
+ARTHUR: So be it!
+ [hah] [parry thrust]
+ [ARTHUR chops the BLACK KNIGHT's left arm off]
+ARTHUR: Now stand aside, worthy adversary.
+BLACK KNIGHT: 'Tis but a scratch.
+ The Quest for the Holy Grail (Monty Python)
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.210
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.210?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.210 (added)
+++ trunk/packages/vim/upstream/patches/7.1.210 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,74 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.210
+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.210
+Problem: Listing mapping for 0xdb fails when 'encoding' is utf-8. (Tony
+ Mechelynck)
+Solution: Recognize K_SPECIAL KS_EXTRA KE_CSI as a CSI byte.
+Files: src/mbyte.c
+
+
+*** ../vim-7.1.209/src/mbyte.c Fri Jan 4 17:46:46 2008
+--- src/mbyte.c Sun Jan 6 17:13:51 2008
+***************
+*** 2863,2877 ****
+ buf[m++] = K_SPECIAL;
+ n += 2;
+ }
+ # ifdef FEAT_GUI
+! else if (str[n] == CSI
+ && str[n + 1] == KS_EXTRA
+ && str[n + 2] == (int)KE_CSI)
+ {
+ buf[m++] = CSI;
+ n += 2;
+ }
+- # endif
+ else if (str[n] == K_SPECIAL
+ # ifdef FEAT_GUI
+ || str[n] == CSI
+--- 2882,2898 ----
+ buf[m++] = K_SPECIAL;
+ n += 2;
+ }
++ else if ((str[n] == K_SPECIAL
+ # ifdef FEAT_GUI
+! || str[n] == CSI
+! # endif
+! )
+ && str[n + 1] == KS_EXTRA
+ && str[n + 2] == (int)KE_CSI)
+ {
+ buf[m++] = CSI;
+ n += 2;
+ }
+ else if (str[n] == K_SPECIAL
+ # ifdef FEAT_GUI
+ || str[n] == CSI
+*** ../vim-7.1.209/src/version.c Sun Jan 6 15:16:12 2008
+--- src/version.c Sun Jan 6 17:17:25 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 210,
+ /**/
+
+--
+ARTHUR: A scratch? Your arm's off!
+BLACK KNIGHT: No, it isn't.
+ARTHUR: Well, what's that then?
+BLACK KNIGHT: I've had worse.
+ The Quest for the Holy Grail (Monty Python)
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.211
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.211?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.211 (added)
+++ trunk/packages/vim/upstream/patches/7.1.211 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,748 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.211
+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.211
+Problem: The matchparen plugin may take an unexpected amount of time, so
+ that it looks like Vim hangs.
+Solution: Add a timeout to searchpair(), searchpairpos(), search() and
+ searchpos(). Use half a second timeout in the plugin.
+Files: runtime/doc/eval.txt, runtime/plugin/matchparen.vim, src/edit.c,
+ src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/normal.c,
+ src/proto/eval.pro, src/proto/ex_cmds2.pro, src/proto/search.pro,
+ src/search.c
+
+
+*** ../vim-7.1.210/runtime/doc/eval.txt Sat Jan 5 13:34:01 2008
+--- runtime/doc/eval.txt Sun Jan 6 16:27:33 2008
+***************
+*** 1,4 ****
+! *eval.txt* For Vim version 7.1. Last change: 2008 Jan 04
+
+
+ VIM REFERENCE MANUAL by Bram Moolenaar
+--- 1,4 ----
+! *eval.txt* For Vim version 7.1. Last change: 2008 Jan 06
+
+
+ VIM REFERENCE MANUAL by Bram Moolenaar
+***************
+*** 1733,1746 ****
+ repeat( {expr}, {count}) String repeat {expr} {count} times
+ resolve( {filename}) String get filename a shortcut points to
+ reverse( {list}) List reverse {list} in-place
+! search( {pattern} [, {flags}]) Number search for {pattern}
+ searchdecl({name} [, {global} [, {thisblock}]])
+ Number search for variable declaration
+! searchpair( {start}, {middle}, {end} [, {flags} [, {skip} [, {stopline}]]])
+ Number search for other end of start/end pair
+! searchpairpos( {start}, {middle}, {end} [, {flags} [, {skip} [, {stopline}]]])
+ List search for other end of start/end pair
+! searchpos( {pattern} [, {flags} [, {stopline}]])
+ List search for {pattern}
+ server2client( {clientid}, {string})
+ Number send reply string
+--- 1733,1747 ----
+ repeat( {expr}, {count}) String repeat {expr} {count} times
+ resolve( {filename}) String get filename a shortcut points to
+ reverse( {list}) List reverse {list} in-place
+! search( {pattern} [, {flags} [, {stopline} [, {timeout}]]])
+! Number search for {pattern}
+ searchdecl({name} [, {global} [, {thisblock}]])
+ Number search for variable declaration
+! searchpair( {start}, {middle}, {end} [, {flags} [, {skip} [...]]])
+ Number search for other end of start/end pair
+! searchpairpos( {start}, {middle}, {end} [, {flags} [, {skip} [...]]])
+ List search for other end of start/end pair
+! searchpos( {pattern} [, {flags} [, {stopline} [, {timeout}]]])
+ List search for {pattern}
+ server2client( {clientid}, {string})
+ Number send reply string
+***************
+*** 4212,4218 ****
+ If you want a list to remain unmodified make a copy first: >
+ :let revlist = reverse(copy(mylist))
+
+! search({pattern} [, {flags} [, {stopline}]]) *search()*
+ Search for regexp pattern {pattern}. The search starts at the
+ cursor position (you can use |cursor()| to set it).
+
+--- 4216,4222 ----
+ If you want a list to remain unmodified make a copy first: >
+ :let revlist = reverse(copy(mylist))
+
+! search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()*
+ Search for regexp pattern {pattern}. The search starts at the
+ cursor position (you can use |cursor()| to set it).
+
+***************
+*** 4240,4245 ****
+--- 4244,4257 ----
+ let end = search('END', '', line("w$"))
+ < When {stopline} is used and it is not zero this also implies
+ that the search does not wrap around the end of the file.
++ A zero value is equal to not giving the argument.
++
++ When the {timeout} argument is given the search stops when
++ more than this many milli seconds have passed. Thus when
++ {timeout} is 500 the search stops after half a second.
++ The value must not be negative. A zero value is like not
++ giving the argument.
++ {only available when compiled with the +reltime feature}
+
+ If there is no match a 0 is returned and the cursor doesn't
+ move. No error message is given.
+***************
+*** 4302,4308 ****
+ endif
+ <
+ *searchpair()*
+! searchpair({start}, {middle}, {end} [, {flags} [, {skip} [, {stopline}]]])
+ Search for the match of a nested start-end pair. This can be
+ used to find the "endif" that matches an "if", while other
+ if/endif pairs in between are ignored.
+--- 4314,4321 ----
+ endif
+ <
+ *searchpair()*
+! searchpair({start}, {middle}, {end} [, {flags} [, {skip}
+! [, {stopline} [, {timeout}]]]])
+ Search for the match of a nested start-end pair. This can be
+ used to find the "endif" that matches an "if", while other
+ if/endif pairs in between are ignored.
+***************
+*** 4337,4343 ****
+ When evaluating {skip} causes an error the search is aborted
+ and -1 returned.
+
+! For {stopline} see |search()|.
+
+ The value of 'ignorecase' is used. 'magic' is ignored, the
+ patterns are used like it's on.
+--- 4350,4356 ----
+ When evaluating {skip} causes an error the search is aborted
+ and -1 returned.
+
+! For {stopline} and {timeout} see |search()|.
+
+ The value of 'ignorecase' is used. 'magic' is ignored, the
+ patterns are used like it's on.
+***************
+*** 4383,4389 ****
+ \ 'synIDattr(synID(line("."), col("."), 0), "name") =~? "string"')
+ <
+ *searchpairpos()*
+! searchpairpos({start}, {middle}, {end} [, {flags} [, {skip} [, {stopline}]]])
+ Same as searchpair(), but returns a |List| with the line and
+ column position of the match. The first element of the |List|
+ is the line number and the second element is the byte index of
+--- 4396,4403 ----
+ \ 'synIDattr(synID(line("."), col("."), 0), "name") =~? "string"')
+ <
+ *searchpairpos()*
+! searchpairpos({start}, {middle}, {end} [, {flags} [, {skip}
+! [, {stopline} [, {timeout}]]]])
+ Same as searchpair(), but returns a |List| with the line and
+ column position of the match. The first element of the |List|
+ is the line number and the second element is the byte index of
+***************
+*** 4394,4400 ****
+ <
+ See |match-parens| for a bigger and more useful example.
+
+! searchpos({pattern} [, {flags} [, {stopline}]]) *searchpos()*
+ Same as |search()|, but returns a |List| with the line and
+ column position of the match. The first element of the |List|
+ is the line number and the second element is the byte index of
+--- 4408,4414 ----
+ <
+ See |match-parens| for a bigger and more useful example.
+
+! searchpos({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *searchpos()*
+ Same as |search()|, but returns a |List| with the line and
+ column position of the match. The first element of the |List|
+ is the line number and the second element is the byte index of
+*** ../vim-7.1.210/runtime/plugin/matchparen.vim Sat Aug 18 18:20:57 2007
+--- runtime/plugin/matchparen.vim Sun Jan 6 16:22:39 2008
+***************
+*** 1,6 ****
+ " Vim plugin for showing matching parens
+ " Maintainer: Bram Moolenaar <Bram at vim.org>
+! " Last Change: 2007 Aug 8
+
+ " Exit quickly when:
+ " - this plugin was already loaded (or disabled)
+--- 1,6 ----
+ " Vim plugin for showing matching parens
+ " Maintainer: Bram Moolenaar <Bram at vim.org>
+! " Last Change: 2008 Jan 06
+
+ " Exit quickly when:
+ " - this plugin was already loaded (or disabled)
+***************
+*** 111,117 ****
+ \ '=~? "string\\|character\\|singlequote\\|comment"'
+ execute 'if' s_skip '| let s_skip = 0 | endif'
+
+! let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip, stopline)
+
+ if before > 0
+ call winrestview(save_cursor)
+--- 111,122 ----
+ \ '=~? "string\\|character\\|singlequote\\|comment"'
+ execute 'if' s_skip '| let s_skip = 0 | endif'
+
+! try
+! " Limit the search time to 500 msec to avoid a hang on very long lines.
+! let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip, stopline, 500)
+! catch /E118/
+! let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip, stopline)
+! endtry
+
+ if before > 0
+ call winrestview(save_cursor)
+*** ../vim-7.1.210/src/edit.c Wed Jan 2 22:08:43 2008
+--- src/edit.c Sun Jan 6 16:08:00 2008
+***************
+*** 4062,4068 ****
+ found_new_match = searchit(NULL, ins_buf, pos,
+ compl_direction,
+ compl_pattern, 1L, SEARCH_KEEP + SEARCH_NFMSG,
+! RE_LAST, (linenr_T)0);
+ --msg_silent;
+ if (!compl_started)
+ {
+--- 4062,4068 ----
+ found_new_match = searchit(NULL, ins_buf, pos,
+ compl_direction,
+ compl_pattern, 1L, SEARCH_KEEP + SEARCH_NFMSG,
+! RE_LAST, (linenr_T)0, NULL);
+ --msg_silent;
+ if (!compl_started)
+ {
+*** ../vim-7.1.210/src/eval.c Sat Jan 5 22:15:21 2008
+--- src/eval.c Sun Jan 6 16:37:42 2008
+***************
+*** 7213,7223 ****
+ {"repeat", 2, 2, f_repeat},
+ {"resolve", 1, 1, f_resolve},
+ {"reverse", 1, 1, f_reverse},
+! {"search", 1, 3, f_search},
+ {"searchdecl", 1, 3, f_searchdecl},
+! {"searchpair", 3, 6, f_searchpair},
+! {"searchpairpos", 3, 6, f_searchpairpos},
+! {"searchpos", 1, 3, f_searchpos},
+ {"server2client", 2, 2, f_server2client},
+ {"serverlist", 0, 0, f_serverlist},
+ {"setbufvar", 3, 3, f_setbufvar},
+--- 7213,7223 ----
+ {"repeat", 2, 2, f_repeat},
+ {"resolve", 1, 1, f_resolve},
+ {"reverse", 1, 1, f_reverse},
+! {"search", 1, 4, f_search},
+ {"searchdecl", 1, 3, f_searchdecl},
+! {"searchpair", 3, 7, f_searchpair},
+! {"searchpairpos", 3, 7, f_searchpairpos},
+! {"searchpos", 1, 4, f_searchpos},
+ {"server2client", 2, 2, f_server2client},
+ {"serverlist", 0, 0, f_serverlist},
+ {"setbufvar", 3, 3, f_setbufvar},
+***************
+*** 14020,14025 ****
+--- 14020,14029 ----
+ int dir;
+ int retval = 0; /* default: FAIL */
+ long lnum_stop = 0;
++ proftime_T tm;
++ #ifdef FEAT_RELTIME
++ long time_limit = 0;
++ #endif
+ int options = SEARCH_KEEP;
+ int subpatnum;
+
+***************
+*** 14033,14047 ****
+ if (flags & SP_END)
+ options |= SEARCH_END;
+
+! /* Optional extra argument: line number to stop searching. */
+! if (argvars[1].v_type != VAR_UNKNOWN
+! && argvars[2].v_type != VAR_UNKNOWN)
+ {
+ lnum_stop = get_tv_number_chk(&argvars[2], NULL);
+ if (lnum_stop < 0)
+ goto theend;
+ }
+
+ /*
+ * This function does not accept SP_REPEAT and SP_RETCOUNT flags.
+ * Check to make sure only those flags are set.
+--- 14037,14063 ----
+ if (flags & SP_END)
+ options |= SEARCH_END;
+
+! /* Optional arguments: line number to stop searching and timeout. */
+! if (argvars[1].v_type != VAR_UNKNOWN && argvars[2].v_type != VAR_UNKNOWN)
+ {
+ lnum_stop = get_tv_number_chk(&argvars[2], NULL);
+ if (lnum_stop < 0)
+ goto theend;
++ #ifdef FEAT_RELTIME
++ if (argvars[3].v_type != VAR_UNKNOWN)
++ {
++ time_limit = get_tv_number_chk(&argvars[3], NULL);
++ if (time_limit < 0)
++ goto theend;
++ }
++ #endif
+ }
+
++ #ifdef FEAT_RELTIME
++ /* Set the time limit, if there is one. */
++ profile_setlimit(time_limit, &tm);
++ #endif
++
+ /*
+ * This function does not accept SP_REPEAT and SP_RETCOUNT flags.
+ * Check to make sure only those flags are set.
+***************
+*** 14057,14063 ****
+
+ pos = save_cursor = curwin->w_cursor;
+ subpatnum = searchit(curwin, curbuf, &pos, dir, pat, 1L,
+! options, RE_SEARCH, (linenr_T)lnum_stop);
+ if (subpatnum != FAIL)
+ {
+ if (flags & SP_SUBPAT)
+--- 14073,14079 ----
+
+ pos = save_cursor = curwin->w_cursor;
+ subpatnum = searchit(curwin, curbuf, &pos, dir, pat, 1L,
+! options, RE_SEARCH, (linenr_T)lnum_stop, &tm);
+ if (subpatnum != FAIL)
+ {
+ if (flags & SP_SUBPAT)
+***************
+*** 14147,14152 ****
+--- 14163,14169 ----
+ char_u nbuf3[NUMBUFLEN];
+ int retval = 0; /* default: FAIL */
+ long lnum_stop = 0;
++ long time_limit = 0;
+
+ /* Get the three pattern arguments: start, middle, end. */
+ spat = get_tv_string_chk(&argvars[0]);
+***************
+*** 14182,14194 ****
+ lnum_stop = get_tv_number_chk(&argvars[5], NULL);
+ if (lnum_stop < 0)
+ goto theend;
+ }
+ }
+ if (skip == NULL)
+ goto theend; /* type error */
+
+ retval = do_searchpair(spat, mpat, epat, dir, skip, flags,
+! match_pos, lnum_stop);
+
+ theend:
+ p_ws = save_p_ws;
+--- 14199,14219 ----
+ lnum_stop = get_tv_number_chk(&argvars[5], NULL);
+ if (lnum_stop < 0)
+ goto theend;
++ #ifdef FEAT_RELTIME
++ if (argvars[6].v_type != VAR_UNKNOWN)
++ {
++ time_limit = get_tv_number_chk(&argvars[6], NULL);
++ if (time_limit < 0)
++ goto theend;
++ }
++ #endif
+ }
+ }
+ if (skip == NULL)
+ goto theend; /* type error */
+
+ retval = do_searchpair(spat, mpat, epat, dir, skip, flags,
+! match_pos, lnum_stop, time_limit);
+
+ theend:
+ p_ws = save_p_ws;
+***************
+*** 14240,14246 ****
+ * Returns 0 or -1 for no match,
+ */
+ long
+! do_searchpair(spat, mpat, epat, dir, skip, flags, match_pos, lnum_stop)
+ char_u *spat; /* start pattern */
+ char_u *mpat; /* middle pattern */
+ char_u *epat; /* end pattern */
+--- 14265,14272 ----
+ * Returns 0 or -1 for no match,
+ */
+ long
+! do_searchpair(spat, mpat, epat, dir, skip, flags, match_pos,
+! lnum_stop, time_limit)
+ char_u *spat; /* start pattern */
+ char_u *mpat; /* middle pattern */
+ char_u *epat; /* end pattern */
+***************
+*** 14249,14254 ****
+--- 14275,14281 ----
+ int flags; /* SP_SETPCMARK and other SP_ values */
+ pos_T *match_pos;
+ linenr_T lnum_stop; /* stop at this line if not zero */
++ long time_limit; /* stop after this many msec */
+ {
+ char_u *save_cpo;
+ char_u *pat, *pat2 = NULL, *pat3 = NULL;
+***************
+*** 14263,14273 ****
+--- 14290,14306 ----
+ int nest = 1;
+ int err;
+ int options = SEARCH_KEEP;
++ proftime_T tm;
+
+ /* Make 'cpoptions' empty, the 'l' flag should not be used here. */
+ save_cpo = p_cpo;
+ p_cpo = (char_u *)"";
+
++ #ifdef FEAT_RELTIME
++ /* Set the time limit, if there is one. */
++ profile_setlimit(time_limit, &tm);
++ #endif
++
+ /* Make two search patterns: start/end (pat2, for in nested pairs) and
+ * start/middle/end (pat3, for the top pair). */
+ pat2 = alloc((unsigned)(STRLEN(spat) + STRLEN(epat) + 15));
+***************
+*** 14291,14297 ****
+ for (;;)
+ {
+ n = searchit(curwin, curbuf, &pos, dir, pat, 1L,
+! options, RE_SEARCH, lnum_stop);
+ if (n == FAIL || (firstpos.lnum != 0 && equalpos(pos, firstpos)))
+ /* didn't find it or found the first match again: FAIL */
+ break;
+--- 14324,14330 ----
+ for (;;)
+ {
+ n = searchit(curwin, curbuf, &pos, dir, pat, 1L,
+! options, RE_SEARCH, lnum_stop, &tm);
+ if (n == FAIL || (firstpos.lnum != 0 && equalpos(pos, firstpos)))
+ /* didn't find it or found the first match again: FAIL */
+ break;
+*** ../vim-7.1.210/src/ex_cmds2.c Fri Jan 4 16:00:10 2008
+--- src/ex_cmds2.c Sun Jan 6 18:22:28 2008
+***************
+*** 895,913 ****
+ sprintf(buf, "%10.6lf", (double)tm->QuadPart / (double)fr.QuadPart);
+ # else
+ sprintf(buf, "%3ld.%06ld", (long)tm->tv_sec, (long)tm->tv_usec);
+! #endif
+ return buf;
+ }
+
+! # endif /* FEAT_PROFILE || FEAT_RELTIME */
+
+- # if defined(FEAT_PROFILE) || defined(PROTO)
+ /*
+! * Functions for profiling.
+ */
+! static void script_do_profile __ARGS((scriptitem_T *si));
+! static void script_dump_profile __ARGS((FILE *fd));
+! static proftime_T prof_wait_time;
+
+ /*
+ * Set the time in "tm" to zero.
+--- 895,955 ----
+ sprintf(buf, "%10.6lf", (double)tm->QuadPart / (double)fr.QuadPart);
+ # else
+ sprintf(buf, "%3ld.%06ld", (long)tm->tv_sec, (long)tm->tv_usec);
+! # endif
+ return buf;
+ }
+
+! /*
+! * Put the time "msec" past now in "tm".
+! */
+! void
+! profile_setlimit(msec, tm)
+! long msec;
+! proftime_T *tm;
+! {
+! if (msec <= 0) /* no limit */
+! profile_zero(tm);
+! else
+! {
+! # ifdef WIN3264
+! LARGE_INTEGER fr;
+!
+! QueryPerformanceCounter(tm);
+! QueryPerformanceFrequency(&fr);
+! tm->QuadPart += (double)msec / 1000.0 * (double)fr.QuadPart;
+! # else
+! long usec;
+!
+! gettimeofday(tm, NULL);
+! usec = (long)tm->tv_usec + (long)msec * 1000;
+! tm->tv_usec = usec % 1000000L;
+! tm->tv_sec += usec / 1000000L;
+! # endif
+! }
+! }
+
+ /*
+! * Return TRUE if the current time is past "tm".
+ */
+! int
+! profile_passed_limit(tm)
+! proftime_T *tm;
+! {
+! proftime_T now;
+!
+! # ifdef WIN3264
+! if (tm->QuadPart == 0) /* timer was not set */
+! return FALSE;
+! QueryPerformanceCounter(&now);
+! return (now.QuadPart > tm->QuadPart);
+! # else
+! if (tm->tv_sec == 0) /* timer was not set */
+! return FALSE;
+! gettimeofday(&now, NULL);
+! return (now.tv_sec > tm->tv_sec
+! || (now.tv_sec == tm->tv_sec && now.tv_usec > tm->tv_usec));
+! # endif
+! }
+
+ /*
+ * Set the time in "tm" to zero.
+***************
+*** 923,928 ****
+--- 965,980 ----
+ tm->tv_sec = 0;
+ # endif
+ }
++
++ # endif /* FEAT_PROFILE || FEAT_RELTIME */
++
++ # if defined(FEAT_PROFILE) || defined(PROTO)
++ /*
++ * Functions for profiling.
++ */
++ static void script_do_profile __ARGS((scriptitem_T *si));
++ static void script_dump_profile __ARGS((FILE *fd));
++ static proftime_T prof_wait_time;
+
+ /*
+ * Add the time "tm2" to "tm".
+*** ../vim-7.1.210/src/ex_docmd.c Fri Jan 4 16:00:10 2008
+--- src/ex_docmd.c Sun Jan 6 16:08:29 2008
+***************
+*** 3979,3985 ****
+ *cmd == '?' ? BACKWARD : FORWARD,
+ (char_u *)"", 1L,
+ SEARCH_MSG + SEARCH_START,
+! i, (linenr_T)0) != FAIL)
+ lnum = pos.lnum;
+ else
+ {
+--- 3980,3986 ----
+ *cmd == '?' ? BACKWARD : FORWARD,
+ (char_u *)"", 1L,
+ SEARCH_MSG + SEARCH_START,
+! i, (linenr_T)0, NULL) != FAIL)
+ lnum = pos.lnum;
+ else
+ {
+*** ../vim-7.1.210/src/normal.c Sat Jan 5 13:34:01 2008
+--- src/normal.c Sun Jan 6 16:08:54 2008
+***************
+*** 4194,4200 ****
+ for (;;)
+ {
+ t = searchit(curwin, curbuf, &curwin->w_cursor, FORWARD,
+! pat, 1L, searchflags, RE_LAST, (linenr_T)0);
+ if (curwin->w_cursor.lnum >= old_pos.lnum)
+ t = FAIL; /* match after start is failure too */
+
+--- 4194,4200 ----
+ for (;;)
+ {
+ t = searchit(curwin, curbuf, &curwin->w_cursor, FORWARD,
+! pat, 1L, searchflags, RE_LAST, (linenr_T)0, NULL);
+ if (curwin->w_cursor.lnum >= old_pos.lnum)
+ t = FAIL; /* match after start is failure too */
+
+*** ../vim-7.1.210/src/proto/eval.pro Sun May 6 15:18:09 2007
+--- src/proto/eval.pro Sun Jan 6 15:55:47 2008
+***************
+*** 54,60 ****
+ long get_dict_number __ARGS((dict_T *d, char_u *key));
+ char_u *get_function_name __ARGS((expand_T *xp, int idx));
+ char_u *get_expr_name __ARGS((expand_T *xp, int idx));
+! long do_searchpair __ARGS((char_u *spat, char_u *mpat, char_u *epat, int dir, char_u *skip, int flags, pos_T *match_pos, linenr_T lnum_stop));
+ void set_vim_var_nr __ARGS((int idx, long val));
+ long get_vim_var_nr __ARGS((int idx));
+ char_u *get_vim_var_str __ARGS((int idx));
+--- 54,60 ----
+ long get_dict_number __ARGS((dict_T *d, char_u *key));
+ char_u *get_function_name __ARGS((expand_T *xp, int idx));
+ char_u *get_expr_name __ARGS((expand_T *xp, int idx));
+! long do_searchpair __ARGS((char_u *spat, char_u *mpat, char_u *epat, int dir, char_u *skip, int flags, pos_T *match_pos, linenr_T lnum_stop, long time_limit));
+ void set_vim_var_nr __ARGS((int idx, long val));
+ long get_vim_var_nr __ARGS((int idx));
+ char_u *get_vim_var_str __ARGS((int idx));
+*** ../vim-7.1.210/src/proto/ex_cmds2.pro Sat May 5 20:21:13 2007
+--- src/proto/ex_cmds2.pro Sun Jan 6 16:42:24 2008
+***************
+*** 14,19 ****
+--- 14,21 ----
+ void profile_end __ARGS((proftime_T *tm));
+ void profile_sub __ARGS((proftime_T *tm, proftime_T *tm2));
+ char *profile_msg __ARGS((proftime_T *tm));
++ void profile_setlimit __ARGS((long msec, proftime_T *tm));
++ int profile_passed_limit __ARGS((proftime_T *tm));
+ void profile_zero __ARGS((proftime_T *tm));
+ void profile_add __ARGS((proftime_T *tm, proftime_T *tm2));
+ void profile_self __ARGS((proftime_T *self, proftime_T *total, proftime_T *children));
+*** ../vim-7.1.210/src/proto/search.pro Wed Aug 8 22:48:16 2007
+--- src/proto/search.pro Sun Jan 6 16:11:53 2008
+***************
+*** 10,16 ****
+ void reset_search_dir __ARGS((void));
+ void set_last_search_pat __ARGS((char_u *s, int idx, int magic, int setlast));
+ void last_pat_prog __ARGS((regmmatch_T *regmatch));
+! int searchit __ARGS((win_T *win, buf_T *buf, pos_T *pos, int dir, char_u *pat, long count, int options, int pat_use, linenr_T stop_lnum));
+ int do_search __ARGS((oparg_T *oap, int dirc, char_u *pat, long count, int options));
+ int search_for_exact_line __ARGS((buf_T *buf, pos_T *pos, int dir, char_u *pat));
+ int searchc __ARGS((cmdarg_T *cap, int t_cmd));
+--- 10,16 ----
+ void reset_search_dir __ARGS((void));
+ void set_last_search_pat __ARGS((char_u *s, int idx, int magic, int setlast));
+ void last_pat_prog __ARGS((regmmatch_T *regmatch));
+! int searchit __ARGS((win_T *win, buf_T *buf, pos_T *pos, int dir, char_u *pat, long count, int options, int pat_use, linenr_T stop_lnum, proftime_T *tm));
+ int do_search __ARGS((oparg_T *oap, int dirc, char_u *pat, long count, int options));
+ int search_for_exact_line __ARGS((buf_T *buf, pos_T *pos, int dir, char_u *pat));
+ int searchc __ARGS((cmdarg_T *cap, int t_cmd));
+*** ../vim-7.1.210/src/search.c Tue Jan 1 15:42:45 2008
+--- src/search.c Sun Jan 6 18:23:37 2008
+***************
+*** 494,501 ****
+ * When FEAT_EVAL is defined, returns the index of the first matching
+ * subpattern plus one; one if there was none.
+ */
+ int
+! searchit(win, buf, pos, dir, pat, count, options, pat_use, stop_lnum)
+ win_T *win; /* window to search in; can be NULL for a
+ buffer without a window! */
+ buf_T *buf;
+--- 494,502 ----
+ * When FEAT_EVAL is defined, returns the index of the first matching
+ * subpattern plus one; one if there was none.
+ */
++ /*ARGSUSED*/
+ int
+! searchit(win, buf, pos, dir, pat, count, options, pat_use, stop_lnum, tm)
+ win_T *win; /* window to search in; can be NULL for a
+ buffer without a window! */
+ buf_T *buf;
+***************
+*** 506,511 ****
+--- 507,513 ----
+ int options;
+ int pat_use; /* which pattern to use when "pat" is empty */
+ linenr_T stop_lnum; /* stop after this line number when != 0 */
++ proftime_T *tm; /* timeout limit or NULL */
+ {
+ int found;
+ linenr_T lnum; /* no init to shut up Apollo cc */
+***************
+*** 594,599 ****
+--- 596,606 ----
+ if (stop_lnum != 0 && (dir == FORWARD
+ ? lnum > stop_lnum : lnum < stop_lnum))
+ break;
++ #ifdef FEAT_RELTIME
++ /* Stop after passing the "tm" time limit. */
++ if (tm != NULL && profile_passed_limit(tm))
++ break;
++ #endif
+
+ /*
+ * Look for a match somewhere in line "lnum".
+***************
+*** 1249,1255 ****
+ (SEARCH_KEEP + SEARCH_PEEK + SEARCH_HIS
+ + SEARCH_MSG + SEARCH_START
+ + ((pat != NULL && *pat == ';') ? 0 : SEARCH_NOOF))),
+! RE_LAST, (linenr_T)0);
+
+ if (dircp != NULL)
+ *dircp = dirc; /* restore second '/' or '?' for normal_cmd() */
+--- 1256,1262 ----
+ (SEARCH_KEEP + SEARCH_PEEK + SEARCH_HIS
+ + SEARCH_MSG + SEARCH_START
+ + ((pat != NULL && *pat == ';') ? 0 : SEARCH_NOOF))),
+! RE_LAST, (linenr_T)0, NULL);
+
+ if (dircp != NULL)
+ *dircp = dirc; /* restore second '/' or '?' for normal_cmd() */
+***************
+*** 3780,3786 ****
+ if (do_searchpair((char_u *)"<[^ \t>/!]\\+\\%(\\_s\\_[^>]\\{-}[^/]>\\|$\\|\\_s\\=>\\)",
+ (char_u *)"",
+ (char_u *)"</[^>]*>", BACKWARD, (char_u *)"", 0,
+! NULL, (linenr_T)0) <= 0)
+ {
+ curwin->w_cursor = old_pos;
+ goto theend;
+--- 3787,3793 ----
+ if (do_searchpair((char_u *)"<[^ \t>/!]\\+\\%(\\_s\\_[^>]\\{-}[^/]>\\|$\\|\\_s\\=>\\)",
+ (char_u *)"",
+ (char_u *)"</[^>]*>", BACKWARD, (char_u *)"", 0,
+! NULL, (linenr_T)0, 0L) <= 0)
+ {
+ curwin->w_cursor = old_pos;
+ goto theend;
+***************
+*** 3814,3820 ****
+ sprintf((char *)epat, "</%.*s>\\c", len, p);
+
+ r = do_searchpair(spat, (char_u *)"", epat, FORWARD, (char_u *)"",
+! 0, NULL, (linenr_T)0);
+
+ vim_free(spat);
+ vim_free(epat);
+--- 3821,3827 ----
+ sprintf((char *)epat, "</%.*s>\\c", len, p);
+
+ r = do_searchpair(spat, (char_u *)"", epat, FORWARD, (char_u *)"",
+! 0, NULL, (linenr_T)0, 0L);
+
+ vim_free(spat);
+ vim_free(epat);
+*** ../vim-7.1.210/src/version.c Sun Jan 6 17:18:16 2008
+--- src/version.c Sun Jan 6 20:00:03 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 211,
+ /**/
+
+--
+No letters of the alphabet were harmed in the creation of this message.
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.212
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.212?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.212 (added)
+++ trunk/packages/vim/upstream/patches/7.1.212 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,47 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.212
+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.212
+Problem: Accessing a byte before a line.
+Solution: Check that the column is 1 or more. (Dominuque Pelle)
+Files: src/edit.c
+
+
+*** ../vim-7.1.211/src/edit.c Sun Jan 6 20:05:36 2008
+--- src/edit.c Mon Jan 7 22:31:36 2008
+***************
+*** 8452,8457 ****
+--- 8452,8458 ----
+ if ( mode == BACKSPACE_CHAR
+ && ((p_sta && in_indent)
+ || (curbuf->b_p_sts != 0
++ && curwin->w_cursor.col > 0
+ && (*(ml_get_cursor() - 1) == TAB
+ || (*(ml_get_cursor() - 1) == ' '
+ && (!*inserted_space_p
+*** ../vim-7.1.211/src/version.c Sun Jan 6 20:05:36 2008
+--- src/version.c Wed Jan 9 10:11:49 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 212,
+ /**/
+
+--
+CRONE: Who sent you?
+ARTHUR: The Knights Who Say Ni!
+CRONE: Aaaagh! (she looks around in rear) No! We have no shrubberies here.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.213
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.213?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.213 (added)
+++ trunk/packages/vim/upstream/patches/7.1.213 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,57 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.213
+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.213
+Problem: A ":tabedit" command that results in the "swap file exists" dialog
+ and selecting "abort" doesn't close the new tab. (Al Budden)
+Solution: Pass "old_curwin" to do_exedit().
+Files: src/ex_docmd.c
+
+
+*** ../vim-7.1.212/src/ex_docmd.c Sun Jan 6 20:05:36 2008
+--- src/ex_docmd.c Wed Jan 9 20:11:13 2008
+***************
+*** 7126,7132 ****
+ : eap->addr_count == 0 ? 0
+ : (int)eap->line2 + 1) != FAIL)
+ {
+! do_exedit(eap, NULL);
+
+ /* set the alternate buffer for the window we came from */
+ if (curwin != old_curwin
+--- 7127,7133 ----
+ : eap->addr_count == 0 ? 0
+ : (int)eap->line2 + 1) != FAIL)
+ {
+! do_exedit(eap, old_curwin);
+
+ /* set the alternate buffer for the window we came from */
+ if (curwin != old_curwin
+*** ../vim-7.1.212/src/version.c Wed Jan 9 10:13:24 2008
+--- src/version.c Wed Jan 9 20:29:09 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 213,
+ /**/
+
+--
+Q: What do you call a fish without an eye?
+A: fsh!
+Q: What do you call a deer with no eyes?
+A: no eye deer.
+Q: What do you call a deer with no eyes and no legs?
+A: still no eye deer.
+
+ /// 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 ///
Added: trunk/packages/vim/upstream/patches/7.1.214
URL: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim/upstream/patches/7.1.214?rev=1146&op=file
==============================================================================
--- trunk/packages/vim/upstream/patches/7.1.214 (added)
+++ trunk/packages/vim/upstream/patches/7.1.214 Thu Jan 10 13:38:09 2008
@@ -1,0 +1,266 @@
+To: vim-dev at vim.org
+Subject: Patch 7.1.214
+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.214
+Problem: ":1s/g\n\zs1//" deletes characters from the first line. (A Politz)
+Solution: Start replacing in the line where the match starts.
+Files: src/ex_cmds.c
+
+
+*** ../vim-7.1.213/src/ex_cmds.c Fri Jan 4 14:52:14 2008
+--- src/ex_cmds.c Wed Jan 9 22:32:26 2008
+***************
+*** 4200,4206 ****
+ linenr_T old_line_count = curbuf->b_ml.ml_line_count;
+ linenr_T line2;
+ long nmatch; /* number of lines in match */
+- linenr_T sub_firstlnum; /* nr of first sub line */
+ char_u *sub_firstline; /* allocated copy of first sub line */
+ int endcolumn = FALSE; /* cursor in last column when done */
+ pos_T old_cursor = curwin->w_cursor;
+--- 4200,4205 ----
+***************
+*** 4447,4453 ****
+ #endif
+ ); ++lnum)
+ {
+- sub_firstlnum = lnum;
+ nmatch = vim_regexec_multi(®match, curwin, curbuf, lnum, (colnr_T)0);
+ if (nmatch)
+ {
+--- 4446,4451 ----
+***************
+*** 4463,4468 ****
+--- 4461,4467 ----
+ long nmatch_tl = 0; /* nr of lines matched below lnum */
+ int do_again; /* do it again after joining lines */
+ int skip_match = FALSE;
++ linenr_T sub_firstlnum; /* nr of first sub line */
+
+ /*
+ * The new text is build up step by step, to avoid too much
+***************
+*** 4482,4489 ****
+ * far.
+ * new_end The new text, where to append new text.
+ *
+! * lnum The line number where we were looking for the
+! * first match in the old line.
+ * sub_firstlnum The line number in the buffer where to look
+ * for a match. Can be different from "lnum"
+ * when the pattern or substitute string contains
+--- 4481,4490 ----
+ * far.
+ * new_end The new text, where to append new text.
+ *
+! * lnum The line number where we found the start of
+! * the match. Can be below the line we searched
+! * when there is a \n before a \zs in the
+! * pattern.
+ * sub_firstlnum The line number in the buffer where to look
+ * for a match. Can be different from "lnum"
+ * when the pattern or substitute string contains
+***************
+*** 4507,4518 ****
+ * updating the screen or handling a multi-line match. The "old_"
+ * pointers point into this copy.
+ */
+! sub_firstline = vim_strsave(ml_get(sub_firstlnum));
+! if (sub_firstline == NULL)
+! {
+! vim_free(new_start);
+! goto outofmem;
+! }
+ copycol = 0;
+ matchcol = 0;
+
+--- 4508,4514 ----
+ * updating the screen or handling a multi-line match. The "old_"
+ * pointers point into this copy.
+ */
+! sub_firstlnum = lnum;
+ copycol = 0;
+ matchcol = 0;
+
+***************
+*** 4533,4538 ****
+--- 4529,4556 ----
+ */
+ for (;;)
+ {
++ /* Advance "lnum" to the line where the match starts. The
++ * match does not start in the first line when there is a line
++ * break before \zs. */
++ if (regmatch.startpos[0].lnum > 0)
++ {
++ lnum += regmatch.startpos[0].lnum;
++ sub_firstlnum += regmatch.startpos[0].lnum;
++ nmatch -= regmatch.startpos[0].lnum;
++ vim_free(sub_firstline);
++ sub_firstline = NULL;
++ }
++
++ if (sub_firstline == NULL)
++ {
++ sub_firstline = vim_strsave(ml_get(sub_firstlnum));
++ if (sub_firstline == NULL)
++ {
++ vim_free(new_start);
++ goto outofmem;
++ }
++ }
++
+ /* Save the line number of the last change for the final
+ * cursor position (just like Vi). */
+ curwin->w_cursor.lnum = lnum;
+***************
+*** 4638,4644 ****
+ temp = RedrawingDisabled;
+ RedrawingDisabled = 0;
+
+! search_match_lines = regmatch.endpos[0].lnum;
+ search_match_endcol = regmatch.endpos[0].col;
+ highlight_match = TRUE;
+
+--- 4656,4663 ----
+ temp = RedrawingDisabled;
+ RedrawingDisabled = 0;
+
+! search_match_lines = regmatch.endpos[0].lnum
+! - regmatch.startpos[0].lnum;
+ search_match_endcol = regmatch.endpos[0].col;
+ highlight_match = TRUE;
+
+***************
+*** 4749,4755 ****
+ * 3. substitute the string.
+ */
+ /* get length of substitution part */
+! sublen = vim_regsub_multi(®match, sub_firstlnum,
+ sub, sub_firstline, FALSE, p_magic, TRUE);
+
+ /* When the match included the "$" of the last line it may
+--- 4768,4775 ----
+ * 3. substitute the string.
+ */
+ /* get length of substitution part */
+! sublen = vim_regsub_multi(®match,
+! sub_firstlnum - regmatch.startpos[0].lnum,
+ sub, sub_firstline, FALSE, p_magic, TRUE);
+
+ /* When the match included the "$" of the last line it may
+***************
+*** 4819,4825 ****
+ mch_memmove(new_end, sub_firstline + copycol, (size_t)i);
+ new_end += i;
+
+! (void)vim_regsub_multi(®match, sub_firstlnum,
+ sub, new_end, TRUE, p_magic, TRUE);
+ sub_nsubs++;
+ did_sub = TRUE;
+--- 4839,4846 ----
+ mch_memmove(new_end, sub_firstline + copycol, (size_t)i);
+ new_end += i;
+
+! (void)vim_regsub_multi(®match,
+! sub_firstlnum - regmatch.startpos[0].lnum,
+ sub, new_end, TRUE, p_magic, TRUE);
+ sub_nsubs++;
+ did_sub = TRUE;
+***************
+*** 4908,4917 ****
+ skip:
+ /* We already know that we did the last subst when we are at
+ * the end of the line, except that a pattern like
+! * "bar\|\nfoo" may match at the NUL. */
+ lastone = (skip_match
+ || got_int
+ || got_quit
+ || !(do_all || do_again)
+ || (sub_firstline[matchcol] == NUL && nmatch <= 1
+ && !re_multiline(regmatch.regprog)));
+--- 4929,4941 ----
+ skip:
+ /* We already know that we did the last subst when we are at
+ * the end of the line, except that a pattern like
+! * "bar\|\nfoo" may match at the NUL. "lnum" can be below
+! * "line2" when there is a \zs in the pattern after a line
+! * break. */
+ lastone = (skip_match
+ || got_int
+ || got_quit
++ || lnum > line2
+ || !(do_all || do_again)
+ || (sub_firstline[matchcol] == NUL && nmatch <= 1
+ && !re_multiline(regmatch.regprog)));
+***************
+*** 4926,4937 ****
+ * When asking the user we like to show the already replaced
+ * text, but don't do it when "\<@=" or "\<@!" is used, it
+ * changes what matches.
+ */
+ if (lastone
+ || (do_ask && !re_lookbehind(regmatch.regprog))
+ || nmatch_tl > 0
+ || (nmatch = vim_regexec_multi(®match, curwin,
+! curbuf, sub_firstlnum, matchcol)) == 0)
+ {
+ if (new_start != NULL)
+ {
+--- 4950,4964 ----
+ * When asking the user we like to show the already replaced
+ * text, but don't do it when "\<@=" or "\<@!" is used, it
+ * changes what matches.
++ * When the match starts below where we start searching also
++ * need to replace the line first (using \zs after \n).
+ */
+ if (lastone
+ || (do_ask && !re_lookbehind(regmatch.regprog))
+ || nmatch_tl > 0
+ || (nmatch = vim_regexec_multi(®match, curwin,
+! curbuf, sub_firstlnum, matchcol)) == 0
+! || regmatch.startpos[0].lnum > 0)
+ {
+ if (new_start != NULL)
+ {
+***************
+*** 5001,5007 ****
+--- 5028,5041 ----
+ * 5. break if there isn't another match in this line
+ */
+ if (nmatch <= 0)
++ {
++ /* If the match found didn't start where we were
++ * searching, do the next search in the line where we
++ * found the match. */
++ if (nmatch == -1)
++ lnum -= regmatch.startpos[0].lnum;
+ break;
++ }
+ }
+
+ line_breakcheck();
+*** ../vim-7.1.213/src/version.c Wed Jan 9 20:29:51 2008
+--- src/version.c Wed Jan 9 22:37:47 2008
+***************
+*** 668,669 ****
+--- 668,671 ----
+ { /* Add new patch number below this line */
++ /**/
++ 214,
+ /**/
+
+--
+Q: What's orange and sounds like a parrot?
+A: A carrot
+
+ /// 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 pkg-vim-maintainers
mailing list