Compare commits
5 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
97eb68ee0a | ||
|
|
c16b1f77fc | ||
|
|
0ecb7a29dd | ||
|
|
83440b4151 | ||
|
|
a15009eaa8 |
116 changed files with 20252 additions and 24 deletions
0
.cvsignore → .gitignore
vendored
0
.cvsignore → .gitignore
vendored
47
7.1.136
Normal file
47
7.1.136
Normal file
|
|
@ -0,0 +1,47 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.136
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.136
|
||||||
|
Problem: Memory leak when using Ruby syntax highlighting. (Dominique Pelle)
|
||||||
|
Solution: Free the contained-in list.
|
||||||
|
Files: src/syntax.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.135/src/syntax.c Thu Aug 30 19:36:52 2007
|
||||||
|
--- src/syntax.c Sun Oct 7 15:10:54 2007
|
||||||
|
***************
|
||||||
|
*** 3354,3359 ****
|
||||||
|
--- 3354,3360 ----
|
||||||
|
{
|
||||||
|
vim_free(SYN_ITEMS(buf)[i].sp_cont_list);
|
||||||
|
vim_free(SYN_ITEMS(buf)[i].sp_next_list);
|
||||||
|
+ vim_free(SYN_ITEMS(buf)[i].sp_syn.cont_in_list);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
*** ../vim-7.1.135/src/version.c Wed Oct 3 14:30:54 2007
|
||||||
|
--- src/version.c Sun Oct 7 15:20:22 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 136,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
Every engineer dreams about saving the universe and having sex with aliens.
|
||||||
|
This is much more glamorous than the real life of an engineer, which consists
|
||||||
|
of hiding from the universe and having sex without the participation of other
|
||||||
|
life forms. (Scott Adams - The Dilbert principle)
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
49
7.1.137
Normal file
49
7.1.137
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.137
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.137
|
||||||
|
Problem: Build failure when using EXITFREE. (Dominique Pelle)
|
||||||
|
Solution: Add an #ifdef around using clip_exclude_prog.
|
||||||
|
Files: src/misc2.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.136/src/misc2.c Sat Sep 29 14:15:00 2007
|
||||||
|
--- src/misc2.c Sun Sep 30 18:00:09 2007
|
||||||
|
***************
|
||||||
|
*** 1037,1043 ****
|
||||||
|
--- 1038,1046 ----
|
||||||
|
|
||||||
|
/* Free some global vars. */
|
||||||
|
vim_free(username);
|
||||||
|
+ # ifdef FEAT_CLIPBOARD
|
||||||
|
vim_free(clip_exclude_prog);
|
||||||
|
+ # endif
|
||||||
|
vim_free(last_cmdline);
|
||||||
|
vim_free(new_last_cmdline);
|
||||||
|
set_keep_msg(NULL, 0);
|
||||||
|
*** ../vim-7.1.136/src/version.c Sun Oct 7 15:21:31 2007
|
||||||
|
--- src/version.c Sun Oct 7 15:42:26 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 137,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
For society, it's probably a good thing that engineers value function over
|
||||||
|
appearance. For example, you wouldn't want engineers to build nuclear power
|
||||||
|
plants that only _look_ like they would keep all the radiation inside.
|
||||||
|
(Scott Adams - The Dilbert principle)
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
66
7.1.138
Normal file
66
7.1.138
Normal file
|
|
@ -0,0 +1,66 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.138
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.138
|
||||||
|
Problem: The Perl Msg() function doesn't stop when "q" is typed at the more
|
||||||
|
prompt. (Hari Krishna Dara)
|
||||||
|
Solution: Check got_int.
|
||||||
|
Files: src/if_perl.xs
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.137/src/if_perl.xs Sat Sep 15 14:48:57 2007
|
||||||
|
--- src/if_perl.xs Wed Oct 3 17:00:16 2007
|
||||||
|
***************
|
||||||
|
*** 445,457 ****
|
||||||
|
char *next;
|
||||||
|
char *token = (char *)s;
|
||||||
|
|
||||||
|
! while ((next = strchr(token, '\n')))
|
||||||
|
{
|
||||||
|
*next++ = '\0'; /* replace \n with \0 */
|
||||||
|
msg_attr((char_u *)token, attr);
|
||||||
|
token = next;
|
||||||
|
}
|
||||||
|
! if (*token)
|
||||||
|
msg_attr((char_u *)token, attr);
|
||||||
|
}
|
||||||
|
|
||||||
|
--- 445,457 ----
|
||||||
|
char *next;
|
||||||
|
char *token = (char *)s;
|
||||||
|
|
||||||
|
! while ((next = strchr(token, '\n')) && !got_int)
|
||||||
|
{
|
||||||
|
*next++ = '\0'; /* replace \n with \0 */
|
||||||
|
msg_attr((char_u *)token, attr);
|
||||||
|
token = next;
|
||||||
|
}
|
||||||
|
! if (*token && !got_int)
|
||||||
|
msg_attr((char_u *)token, attr);
|
||||||
|
}
|
||||||
|
|
||||||
|
*** ../vim-7.1.137/src/version.c Sun Oct 7 15:44:28 2007
|
||||||
|
--- src/version.c Tue Oct 9 10:45:08 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 138,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
A consultant is a person who takes your money and annoys your employees while
|
||||||
|
tirelessly searching for the best way to extend the consulting contract.
|
||||||
|
(Scott Adams - The Dilbert principle)
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
54
7.1.139
Normal file
54
7.1.139
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.139
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.139
|
||||||
|
Problem: When using marker folding and ending Insert mode with CTRL-C the
|
||||||
|
current fold is truncated. (Fred Kater)
|
||||||
|
Solution: Ignore got_int while updating folds.
|
||||||
|
Files: src/fold.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.138/src/fold.c Thu May 10 21:02:13 2007
|
||||||
|
--- src/fold.c Sun Oct 14 15:27:13 2007
|
||||||
|
***************
|
||||||
|
*** 858,864 ****
|
||||||
|
--- 858,871 ----
|
||||||
|
|| foldmethodIsDiff(wp)
|
||||||
|
#endif
|
||||||
|
|| foldmethodIsSyntax(wp))
|
||||||
|
+ {
|
||||||
|
+ int save_got_int = got_int;
|
||||||
|
+
|
||||||
|
+ /* reset got_int here, otherwise it won't work */
|
||||||
|
+ got_int = FALSE;
|
||||||
|
foldUpdateIEMS(wp, top, bot);
|
||||||
|
+ got_int |= save_got_int;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
/* foldUpdateAll() {{{2 */
|
||||||
|
*** ../vim-7.1.138/src/version.c Tue Oct 9 10:46:39 2007
|
||||||
|
--- src/version.c Sun Oct 14 15:31:18 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 139,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
If Pacman had affected us as kids we'd be running around in dark rooms,
|
||||||
|
munching pills and listening to repetitive music.
|
||||||
|
-- Marcus Brigstocke
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
52
7.1.140
Normal file
52
7.1.140
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.140
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.140
|
||||||
|
Problem: v:count is set only after typing a non-digit, that makes it
|
||||||
|
difficult to make a nice mapping.
|
||||||
|
Solution: Set v:count while still typing the count.
|
||||||
|
Files: src/normal.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.139/src/normal.c Thu Sep 13 18:25:08 2007
|
||||||
|
--- src/normal.c Sun Oct 14 17:15:36 2007
|
||||||
|
***************
|
||||||
|
*** 690,695 ****
|
||||||
|
--- 690,702 ----
|
||||||
|
ca.count0 = ca.count0 * 10 + (c - '0');
|
||||||
|
if (ca.count0 < 0) /* got too large! */
|
||||||
|
ca.count0 = 999999999L;
|
||||||
|
+ #ifdef FEAT_EVAL
|
||||||
|
+ /* Set v:count here, when called from main() and not a stuffed
|
||||||
|
+ * command, so that v:count can be used in an expression mapping
|
||||||
|
+ * right after the count. */
|
||||||
|
+ if (toplevel && stuff_empty())
|
||||||
|
+ set_vcount(ca.count0, ca.count0 == 0 ? 1 : ca.count0);
|
||||||
|
+ #endif
|
||||||
|
if (ctrl_w)
|
||||||
|
{
|
||||||
|
++no_mapping;
|
||||||
|
*** ../vim-7.1.139/src/version.c Sun Oct 14 15:32:10 2007
|
||||||
|
--- src/version.c Sun Oct 14 17:13:15 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 140,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
How To Keep A Healthy Level Of Insanity:
|
||||||
|
11. Specify that your drive-through order is "to go".
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
97
7.1.141
Normal file
97
7.1.141
Normal file
|
|
@ -0,0 +1,97 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.141
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.141
|
||||||
|
Problem: GTK: -geom argument doesn't support a negative offset.
|
||||||
|
Solution: Compute position from the right/lower corner.
|
||||||
|
Files: src/gui_gtk_x11.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.140/src/gui_gtk_x11.c Sat Sep 15 14:06:41 2007
|
||||||
|
--- src/gui_gtk_x11.c Mon Oct 8 21:26:50 2007
|
||||||
|
***************
|
||||||
|
*** 4044,4049 ****
|
||||||
|
--- 4044,4051 ----
|
||||||
|
unsigned int w, h;
|
||||||
|
int x = 0;
|
||||||
|
int y = 0;
|
||||||
|
+ guint pixel_width;
|
||||||
|
+ guint pixel_height;
|
||||||
|
|
||||||
|
mask = XParseGeometry((char *)gui.geom, &x, &y, &w, &h);
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 4055,4066 ****
|
||||||
|
--- 4057,4087 ----
|
||||||
|
p_window = h - 1;
|
||||||
|
Rows = h;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ pixel_width = (guint)(gui_get_base_width() + Columns * gui.char_width);
|
||||||
|
+ pixel_height = (guint)(gui_get_base_height() + Rows * gui.char_height);
|
||||||
|
+
|
||||||
|
+ #ifdef HAVE_GTK2
|
||||||
|
+ pixel_width += get_menu_tool_width();
|
||||||
|
+ pixel_height += get_menu_tool_height();
|
||||||
|
+ #endif
|
||||||
|
+
|
||||||
|
if (mask & (XValue | YValue))
|
||||||
|
+ {
|
||||||
|
+ int w, h;
|
||||||
|
+ gui_mch_get_screen_dimensions(&w, &h);
|
||||||
|
+ h += p_ghr + get_menu_tool_height();
|
||||||
|
+ w += get_menu_tool_width();
|
||||||
|
+ if (mask & XNegative)
|
||||||
|
+ x += w - pixel_width;
|
||||||
|
+ if (mask & YNegative)
|
||||||
|
+ y += h - pixel_height;
|
||||||
|
#ifdef HAVE_GTK2
|
||||||
|
gtk_window_move(GTK_WINDOW(gui.mainwin), x, y);
|
||||||
|
#else
|
||||||
|
gtk_widget_set_uposition(gui.mainwin, x, y);
|
||||||
|
#endif
|
||||||
|
+ }
|
||||||
|
vim_free(gui.geom);
|
||||||
|
gui.geom = NULL;
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 4071,4084 ****
|
||||||
|
*/
|
||||||
|
if (gtk_socket_id != 0 && (mask & WidthValue || mask & HeightValue))
|
||||||
|
{
|
||||||
|
- guint pixel_width = (guint)(gui_get_base_width() + Columns * gui.char_width);
|
||||||
|
- guint pixel_height = (guint)(gui_get_base_height() + Rows * gui.char_height);
|
||||||
|
-
|
||||||
|
- #ifdef HAVE_GTK2
|
||||||
|
- pixel_width += get_menu_tool_width();
|
||||||
|
- pixel_height += get_menu_tool_height();
|
||||||
|
- #endif
|
||||||
|
-
|
||||||
|
update_window_manager_hints(pixel_width, pixel_height);
|
||||||
|
init_window_hints_state = 1;
|
||||||
|
g_timeout_add(1000, check_startup_plug_hints, NULL);
|
||||||
|
--- 4092,4097 ----
|
||||||
|
*** ../vim-7.1.140/src/version.c Sun Oct 14 17:15:45 2007
|
||||||
|
--- src/version.c Fri Oct 19 14:28:52 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 141,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
hundred-and-one symptoms of being an internet addict:
|
||||||
|
35. Your husband tells you he's had the beard for 2 months.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
77
7.1.142
Normal file
77
7.1.142
Normal file
|
|
@ -0,0 +1,77 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.142
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.142
|
||||||
|
Problem: ":redir @A>" doesn't work.
|
||||||
|
Solution: Ignore the extra ">" also when appending. (James Vega)
|
||||||
|
Files: src/ex_docmd.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.141/src/ex_docmd.c Sun Sep 30 14:00:41 2007
|
||||||
|
--- src/ex_docmd.c Tue Oct 9 11:09:09 2007
|
||||||
|
***************
|
||||||
|
*** 8426,8446 ****
|
||||||
|
|| *arg == '"')
|
||||||
|
{
|
||||||
|
redir_reg = *arg++;
|
||||||
|
! if (*arg == '>' && arg[1] == '>')
|
||||||
|
arg += 2;
|
||||||
|
! else if ((*arg == NUL || (*arg == '>' && arg[1] == NUL)) &&
|
||||||
|
! (islower(redir_reg)
|
||||||
|
! # ifdef FEAT_CLIPBOARD
|
||||||
|
! || redir_reg == '*'
|
||||||
|
! || redir_reg == '+'
|
||||||
|
! # endif
|
||||||
|
! || redir_reg == '"'))
|
||||||
|
{
|
||||||
|
if (*arg == '>')
|
||||||
|
arg++;
|
||||||
|
!
|
||||||
|
! /* make register empty */
|
||||||
|
! write_reg_contents(redir_reg, (char_u *)"", -1, FALSE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (*arg != NUL)
|
||||||
|
--- 8426,8442 ----
|
||||||
|
|| *arg == '"')
|
||||||
|
{
|
||||||
|
redir_reg = *arg++;
|
||||||
|
! if (*arg == '>' && arg[1] == '>') /* append */
|
||||||
|
arg += 2;
|
||||||
|
! else
|
||||||
|
{
|
||||||
|
+ /* Can use both "@a" and "@a>". */
|
||||||
|
if (*arg == '>')
|
||||||
|
arg++;
|
||||||
|
! /* Make register empty when not using @A-@Z and the
|
||||||
|
! * command is valid. */
|
||||||
|
! if (*arg == NUL && !isupper(redir_reg))
|
||||||
|
! write_reg_contents(redir_reg, (char_u *)"", -1, FALSE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (*arg != NUL)
|
||||||
|
*** ../vim-7.1.141/src/version.c Fri Oct 19 14:32:50 2007
|
||||||
|
--- src/version.c Fri Oct 19 16:18:36 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 142,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
hundred-and-one symptoms of being an internet addict:
|
||||||
|
36. You miss more than five meals a week downloading the latest games from
|
||||||
|
Apogee.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
54
7.1.143
Normal file
54
7.1.143
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.143
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.143
|
||||||
|
Problem: Uninitialized memory read when diffing three files. (Dominique
|
||||||
|
Pelle)
|
||||||
|
Solution: Remove "+ !notset" so that we don't use fields that were not
|
||||||
|
computed.
|
||||||
|
Files: src/diff.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.142/src/diff.c Sat Sep 29 14:15:00 2007
|
||||||
|
--- src/diff.c Sun Oct 14 21:52:56 2007
|
||||||
|
***************
|
||||||
|
*** 1310,1316 ****
|
||||||
|
dp->df_count[idx_new] += -off;
|
||||||
|
off = 0;
|
||||||
|
}
|
||||||
|
! for (i = idx_orig; i < idx_new + !notset; ++i)
|
||||||
|
if (curtab->tp_diffbuf[i] != NULL)
|
||||||
|
dp->df_count[i] = dpl->df_lnum[i] + dpl->df_count[i]
|
||||||
|
- dp->df_lnum[i] + off;
|
||||||
|
--- 1310,1316 ----
|
||||||
|
dp->df_count[idx_new] += -off;
|
||||||
|
off = 0;
|
||||||
|
}
|
||||||
|
! for (i = idx_orig; i < idx_new; ++i)
|
||||||
|
if (curtab->tp_diffbuf[i] != NULL)
|
||||||
|
dp->df_count[i] = dpl->df_lnum[i] + dpl->df_count[i]
|
||||||
|
- dp->df_lnum[i] + off;
|
||||||
|
*** ../vim-7.1.142/src/version.c Fri Oct 19 16:20:09 2007
|
||||||
|
--- src/version.c Fri Oct 19 17:32:18 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 143,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
hundred-and-one symptoms of being an internet addict:
|
||||||
|
37. You start looking for hot HTML addresses in public restrooms.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
46
7.1.144
Normal file
46
7.1.144
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.144
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.144
|
||||||
|
Problem: After ":diffup" cursor can be in the wrong position.
|
||||||
|
Solution: Force recomputing the cursor position.
|
||||||
|
Files: src/diff.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.143/src/diff.c Fri Oct 19 17:32:58 2007
|
||||||
|
--- src/diff.c Fri Oct 19 18:54:13 2007
|
||||||
|
***************
|
||||||
|
*** 791,796 ****
|
||||||
|
--- 791,799 ----
|
||||||
|
}
|
||||||
|
mch_remove(tmp_orig);
|
||||||
|
|
||||||
|
+ /* force updating cursor position on screen */
|
||||||
|
+ curwin->w_valid_cursor.lnum = 0;
|
||||||
|
+
|
||||||
|
diff_redraw(TRUE);
|
||||||
|
|
||||||
|
theend:
|
||||||
|
*** ../vim-7.1.143/src/version.c Fri Oct 19 17:32:58 2007
|
||||||
|
--- src/version.c Fri Oct 19 18:56:49 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 144,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
He who laughs last, thinks slowest.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
171
7.1.145
Normal file
171
7.1.145
Normal file
|
|
@ -0,0 +1,171 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.145
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.145
|
||||||
|
Problem: Insert mode completion: When using the popup menu, after
|
||||||
|
completing a word and typing a non-word character Vim is still
|
||||||
|
completing the same word, following CTRL-N doesn't work.
|
||||||
|
Insert mode Completion: When using CTRL-X O and there is only
|
||||||
|
"struct." before the cursor, typing one char to reduce the
|
||||||
|
matches, then BS completion stops.
|
||||||
|
Solution: When typing a character that is not part of the item being
|
||||||
|
completed, stop complete mode. For whole line completion also
|
||||||
|
accept a space. For file name completion stop at a path
|
||||||
|
separator.
|
||||||
|
For omni completion stay in completion mode even if completing
|
||||||
|
with empty string.
|
||||||
|
Files: src/edit.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.144/src/edit.c Thu Sep 13 18:25:08 2007
|
||||||
|
--- src/edit.c Fri Oct 19 16:04:38 2007
|
||||||
|
***************
|
||||||
|
*** 129,134 ****
|
||||||
|
--- 129,135 ----
|
||||||
|
|
||||||
|
static void ins_ctrl_x __ARGS((void));
|
||||||
|
static int has_compl_option __ARGS((int dict_opt));
|
||||||
|
+ static int ins_compl_accept_char __ARGS((int c));
|
||||||
|
static int ins_compl_add __ARGS((char_u *str, int len, int icase, char_u *fname, char_u **cptext, int cdir, int flags, int adup));
|
||||||
|
static int ins_compl_equal __ARGS((compl_T *match, char_u *str, int len));
|
||||||
|
static void ins_compl_longest_match __ARGS((compl_T *match));
|
||||||
|
***************
|
||||||
|
*** 754,761 ****
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
! /* A printable, non-white character: Add to "compl_leader". */
|
||||||
|
! if (vim_isprintc(c) && !vim_iswhite(c))
|
||||||
|
{
|
||||||
|
ins_compl_addleader(c);
|
||||||
|
continue;
|
||||||
|
--- 755,763 ----
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
! /* A non-white character that fits in with the current
|
||||||
|
! * completion: Add to "compl_leader". */
|
||||||
|
! if (ins_compl_accept_char(c))
|
||||||
|
{
|
||||||
|
ins_compl_addleader(c);
|
||||||
|
continue;
|
||||||
|
***************
|
||||||
|
*** 2053,2058 ****
|
||||||
|
--- 2055,2094 ----
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
+ * Return TRUE when character "c" is part of the item currently being
|
||||||
|
+ * completed. Used to decide whether to abandon complete mode when the menu
|
||||||
|
+ * is visible.
|
||||||
|
+ */
|
||||||
|
+ static int
|
||||||
|
+ ins_compl_accept_char(c)
|
||||||
|
+ int c;
|
||||||
|
+ {
|
||||||
|
+ if (ctrl_x_mode & CTRL_X_WANT_IDENT)
|
||||||
|
+ /* When expanding an identifier only accept identifier chars. */
|
||||||
|
+ return vim_isIDc(c);
|
||||||
|
+
|
||||||
|
+ switch (ctrl_x_mode)
|
||||||
|
+ {
|
||||||
|
+ case CTRL_X_FILES:
|
||||||
|
+ /* When expanding file name only accept file name chars. But not
|
||||||
|
+ * path separators, so that "proto/<Tab>" expands files in
|
||||||
|
+ * "proto", not "proto/" as a whole */
|
||||||
|
+ return vim_isfilec(c) && !vim_ispathsep(c);
|
||||||
|
+
|
||||||
|
+ case CTRL_X_CMDLINE:
|
||||||
|
+ case CTRL_X_OMNI:
|
||||||
|
+ /* Command line and Omni completion can work with just about any
|
||||||
|
+ * printable character, but do stop at white space. */
|
||||||
|
+ return vim_isprintc(c) && !vim_iswhite(c);
|
||||||
|
+
|
||||||
|
+ case CTRL_X_WHOLE_LINE:
|
||||||
|
+ /* For while line completion a space can be part of the line. */
|
||||||
|
+ return vim_isprintc(c);
|
||||||
|
+ }
|
||||||
|
+ return vim_iswordc(c);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /*
|
||||||
|
* This is like ins_compl_add(), but if 'ic' and 'inf' are set, then the
|
||||||
|
* case of the originally typed text is used, and the case of the completed
|
||||||
|
* text is inferred, ie this tries to work out what case you probably wanted
|
||||||
|
***************
|
||||||
|
*** 3128,3135 ****
|
||||||
|
p = line + curwin->w_cursor.col;
|
||||||
|
mb_ptr_back(line, p);
|
||||||
|
|
||||||
|
! /* Stop completion when the whole word was deleted. */
|
||||||
|
! if ((int)(p - line) - (int)compl_col <= 0)
|
||||||
|
return K_BS;
|
||||||
|
|
||||||
|
/* Deleted more than what was used to find matches or didn't finish
|
||||||
|
--- 3164,3174 ----
|
||||||
|
p = line + curwin->w_cursor.col;
|
||||||
|
mb_ptr_back(line, p);
|
||||||
|
|
||||||
|
! /* Stop completion when the whole word was deleted. For Omni completion
|
||||||
|
! * allow the word to be deleted, we won't match everything. */
|
||||||
|
! if ((int)(p - line) - (int)compl_col < 0
|
||||||
|
! || ((int)(p - line) - (int)compl_col == 0
|
||||||
|
! && (ctrl_x_mode & CTRL_X_OMNI) == 0))
|
||||||
|
return K_BS;
|
||||||
|
|
||||||
|
/* Deleted more than what was used to find matches or didn't finish
|
||||||
|
***************
|
||||||
|
*** 4591,4604 ****
|
||||||
|
curs_col = curwin->w_cursor.col;
|
||||||
|
compl_pending = 0;
|
||||||
|
|
||||||
|
! /* if this same ctrl_x_mode has been interrupted use the text from
|
||||||
|
* "compl_startpos" to the cursor as a pattern to add a new word
|
||||||
|
* instead of expand the one before the cursor, in word-wise if
|
||||||
|
! * "compl_startpos"
|
||||||
|
! * is not in the same line as the cursor then fix it (the line has
|
||||||
|
! * been split because it was longer than 'tw'). if SOL is set then
|
||||||
|
! * skip the previous pattern, a word at the beginning of the line has
|
||||||
|
! * been inserted, we'll look for that -- Acevedo. */
|
||||||
|
if ((compl_cont_status & CONT_INTRPT) == CONT_INTRPT
|
||||||
|
&& compl_cont_mode == ctrl_x_mode)
|
||||||
|
{
|
||||||
|
--- 4630,4642 ----
|
||||||
|
curs_col = curwin->w_cursor.col;
|
||||||
|
compl_pending = 0;
|
||||||
|
|
||||||
|
! /* If this same ctrl_x_mode has been interrupted use the text from
|
||||||
|
* "compl_startpos" to the cursor as a pattern to add a new word
|
||||||
|
* instead of expand the one before the cursor, in word-wise if
|
||||||
|
! * "compl_startpos" is not in the same line as the cursor then fix it
|
||||||
|
! * (the line has been split because it was longer than 'tw'). if SOL
|
||||||
|
! * is set then skip the previous pattern, a word at the beginning of
|
||||||
|
! * the line has been inserted, we'll look for that -- Acevedo. */
|
||||||
|
if ((compl_cont_status & CONT_INTRPT) == CONT_INTRPT
|
||||||
|
&& compl_cont_mode == ctrl_x_mode)
|
||||||
|
{
|
||||||
|
*** ../vim-7.1.144/src/version.c Fri Oct 19 18:57:33 2007
|
||||||
|
--- src/version.c Fri Oct 19 20:38:21 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 145,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
Micro$oft: where do you want to go today?
|
||||||
|
Linux: where do you want to go tomorrow?
|
||||||
|
FreeBSD: are you guys coming, or what?
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
92
7.1.146
Normal file
92
7.1.146
Normal file
|
|
@ -0,0 +1,92 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.146 (extra)
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.146 (extra)
|
||||||
|
Problem: VMS: Files with a very rare record organization (VFC) cannot be
|
||||||
|
properly written by Vim.
|
||||||
|
On older VAX systems mms runs into a syntax error.
|
||||||
|
Solution: Check for this special situation. Do not wrap a comment, make it
|
||||||
|
one long line. (Zoltan Arpadffy)
|
||||||
|
Files: src/fileio.c, src/Make_vms.mms
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.145/src/fileio.c Wed Oct 3 12:49:24 2007
|
||||||
|
--- src/fileio.c Mon Oct 22 21:10:00 2007
|
||||||
|
***************
|
||||||
|
*** 4251,4257 ****
|
||||||
|
* they don't it adds one.
|
||||||
|
* With other RMS structures it works perfect without this fix.
|
||||||
|
*/
|
||||||
|
! if ((buf->b_fab_rat & (FAB$M_FTN | FAB$M_CR)) != 0)
|
||||||
|
{
|
||||||
|
int b2write;
|
||||||
|
|
||||||
|
--- 4252,4259 ----
|
||||||
|
* they don't it adds one.
|
||||||
|
* With other RMS structures it works perfect without this fix.
|
||||||
|
*/
|
||||||
|
! if (buf->b_fab_rfm == FAB$C_VFC
|
||||||
|
! || ((buf->b_fab_rat & (FAB$M_FTN | FAB$M_CR)) != 0))
|
||||||
|
{
|
||||||
|
int b2write;
|
||||||
|
|
||||||
|
*** ../vim-7.1.145/src/Make_vms.mms Thu May 10 20:47:35 2007
|
||||||
|
--- src/Make_vms.mms Mon Oct 22 21:13:08 2007
|
||||||
|
***************
|
||||||
|
*** 2,8 ****
|
||||||
|
# Makefile for Vim on OpenVMS
|
||||||
|
#
|
||||||
|
# Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com>
|
||||||
|
! # Last change: 2007 May 07
|
||||||
|
#
|
||||||
|
# This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64
|
||||||
|
# with MMS and MMK
|
||||||
|
--- 2,8 ----
|
||||||
|
# Makefile for Vim on OpenVMS
|
||||||
|
#
|
||||||
|
# Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com>
|
||||||
|
! # Last change: 2007 Oct 22
|
||||||
|
#
|
||||||
|
# This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64
|
||||||
|
# with MMS and MMK
|
||||||
|
***************
|
||||||
|
*** 96,103 ****
|
||||||
|
|
||||||
|
.IFDEF MMSVAX
|
||||||
|
.IFDEF DECC # VAX with DECC
|
||||||
|
! CC_DEF = cc # /decc # some system requires this switch
|
||||||
|
! # but when it is not required /ver might fail
|
||||||
|
PREFIX = /prefix=all
|
||||||
|
.ELSE # VAX with VAXC
|
||||||
|
CC_DEF = cc
|
||||||
|
--- 96,102 ----
|
||||||
|
|
||||||
|
.IFDEF MMSVAX
|
||||||
|
.IFDEF DECC # VAX with DECC
|
||||||
|
! CC_DEF = cc # /decc # some system requires this switch but when it is not required /ver might fail
|
||||||
|
PREFIX = /prefix=all
|
||||||
|
.ELSE # VAX with VAXC
|
||||||
|
CC_DEF = cc
|
||||||
|
*** ../vim-7.1.145/src/version.c Fri Oct 19 20:39:56 2007
|
||||||
|
--- src/version.c Mon Oct 29 22:36:20 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 146,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
Be thankful to be in a traffic jam, because it means you own a car.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
75
7.1.147
Normal file
75
7.1.147
Normal file
|
|
@ -0,0 +1,75 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.147
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.147 (after 7.1.127)
|
||||||
|
Problem: Freeing memory already freed when completing user name. (Meino
|
||||||
|
Cramer)
|
||||||
|
Solution: Use a flag to remember if "orig" needs to be freed.
|
||||||
|
Files: src/ex_getln.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.146/src/ex_getln.c Sun Sep 30 22:10:45 2007
|
||||||
|
--- src/ex_getln.c Tue Oct 30 17:13:33 2007
|
||||||
|
***************
|
||||||
|
*** 3353,3358 ****
|
||||||
|
--- 3353,3359 ----
|
||||||
|
char_u *ss = NULL;
|
||||||
|
static int findex;
|
||||||
|
static char_u *orig_save = NULL; /* kept value of orig */
|
||||||
|
+ int orig_saved = FALSE;
|
||||||
|
int i;
|
||||||
|
long_u len;
|
||||||
|
int non_suf_match; /* number without matching suffix */
|
||||||
|
***************
|
||||||
|
*** 3421,3426 ****
|
||||||
|
--- 3422,3428 ----
|
||||||
|
{
|
||||||
|
vim_free(orig_save);
|
||||||
|
orig_save = orig;
|
||||||
|
+ orig_saved = TRUE;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Do the expansion.
|
||||||
|
***************
|
||||||
|
*** 3546,3552 ****
|
||||||
|
ExpandCleanup(xp);
|
||||||
|
|
||||||
|
/* Free "orig" if it wasn't stored in "orig_save". */
|
||||||
|
! if (orig != orig_save)
|
||||||
|
vim_free(orig);
|
||||||
|
|
||||||
|
return ss;
|
||||||
|
--- 3548,3554 ----
|
||||||
|
ExpandCleanup(xp);
|
||||||
|
|
||||||
|
/* Free "orig" if it wasn't stored in "orig_save". */
|
||||||
|
! if (!orig_saved)
|
||||||
|
vim_free(orig);
|
||||||
|
|
||||||
|
return ss;
|
||||||
|
*** ../vim-7.1.146/src/version.c Mon Oct 29 22:37:57 2007
|
||||||
|
--- src/version.c Tue Oct 30 17:30:35 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 147,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
hundred-and-one symptoms of being an internet addict:
|
||||||
|
59. Your wife says communication is important in a marriage...so you buy
|
||||||
|
another computer and install a second phone line so the two of you can
|
||||||
|
chat.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
73
7.1.148
Normal file
73
7.1.148
Normal file
|
|
@ -0,0 +1,73 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.148
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.148
|
||||||
|
Problem: Some types are not found by configure.
|
||||||
|
Solution: Test for the sys/types.h header file. (Sean Boudreau)
|
||||||
|
Files: src/configure.in, src/auto/configure
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.147/src/configure.in Thu Jun 28 13:02:22 2007
|
||||||
|
--- src/configure.in Sat Oct 27 15:52:16 2007
|
||||||
|
***************
|
||||||
|
*** 2026,2032 ****
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_CHECK_HEADERS(stdarg.h stdlib.h string.h sys/select.h sys/utsname.h \
|
||||||
|
! termcap.h fcntl.h sgtty.h sys/ioctl.h sys/time.h termio.h \
|
||||||
|
iconv.h langinfo.h unistd.h stropts.h errno.h \
|
||||||
|
sys/resource.h sys/systeminfo.h locale.h \
|
||||||
|
sys/stream.h sys/ptem.h termios.h libc.h sys/statfs.h \
|
||||||
|
--- 2026,2032 ----
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_CHECK_HEADERS(stdarg.h stdlib.h string.h sys/select.h sys/utsname.h \
|
||||||
|
! termcap.h fcntl.h sgtty.h sys/ioctl.h sys/time.h sys/types.h termio.h \
|
||||||
|
iconv.h langinfo.h unistd.h stropts.h errno.h \
|
||||||
|
sys/resource.h sys/systeminfo.h locale.h \
|
||||||
|
sys/stream.h sys/ptem.h termios.h libc.h sys/statfs.h \
|
||||||
|
*** ../vim-7.1.147/src/auto/configure Thu Jun 28 13:02:22 2007
|
||||||
|
--- src/auto/configure Sun Nov 4 15:34:14 2007
|
||||||
|
***************
|
||||||
|
*** 10265,10272 ****
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
for ac_header in stdarg.h stdlib.h string.h sys/select.h sys/utsname.h \
|
||||||
|
! termcap.h fcntl.h sgtty.h sys/ioctl.h sys/time.h termio.h \
|
||||||
|
iconv.h langinfo.h unistd.h stropts.h errno.h \
|
||||||
|
sys/resource.h sys/systeminfo.h locale.h \
|
||||||
|
sys/stream.h sys/ptem.h termios.h libc.h sys/statfs.h \
|
||||||
|
--- 10265,10273 ----
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
+
|
||||||
|
for ac_header in stdarg.h stdlib.h string.h sys/select.h sys/utsname.h \
|
||||||
|
! termcap.h fcntl.h sgtty.h sys/ioctl.h sys/time.h sys/types.h termio.h \
|
||||||
|
iconv.h langinfo.h unistd.h stropts.h errno.h \
|
||||||
|
sys/resource.h sys/systeminfo.h locale.h \
|
||||||
|
sys/stream.h sys/ptem.h termios.h libc.h sys/statfs.h \
|
||||||
|
*** ../vim-7.1.147/src/version.c Tue Oct 30 17:36:31 2007
|
||||||
|
--- src/version.c Sun Nov 4 15:34:26 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 148,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
If your nose runs, and your feet smell, you might be upside down.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
180
7.1.149
Normal file
180
7.1.149
Normal file
|
|
@ -0,0 +1,180 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.149
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.149
|
||||||
|
Problem: GTK GUI: When the completion popup menu is used scrolling another
|
||||||
|
window by the scrollbar is OK, but using the scroll wheel it
|
||||||
|
behaves line <Enter>.
|
||||||
|
Solution: Ignore K_MOUSEDOWN and K_MOUSEUP. Fix redrawing the popup menu.
|
||||||
|
Files: src/edit.c, src/gui.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.148/src/edit.c Fri Oct 19 20:39:56 2007
|
||||||
|
--- src/edit.c Sun Nov 4 16:17:42 2007
|
||||||
|
***************
|
||||||
|
*** 3385,3392 ****
|
||||||
|
if (c != Ctrl_R && vim_is_ctrl_x_key(c))
|
||||||
|
edit_submode_extra = NULL;
|
||||||
|
|
||||||
|
! /* Ignore end of Select mode mapping */
|
||||||
|
! if (c == K_SELECT)
|
||||||
|
return retval;
|
||||||
|
|
||||||
|
/* Set "compl_get_longest" when finding the first matches. */
|
||||||
|
--- 3385,3392 ----
|
||||||
|
if (c != Ctrl_R && vim_is_ctrl_x_key(c))
|
||||||
|
edit_submode_extra = NULL;
|
||||||
|
|
||||||
|
! /* Ignore end of Select mode mapping and mouse scroll buttons. */
|
||||||
|
! if (c == K_SELECT || c == K_MOUSEDOWN || c == K_MOUSEUP)
|
||||||
|
return retval;
|
||||||
|
|
||||||
|
/* Set "compl_get_longest" when finding the first matches. */
|
||||||
|
***************
|
||||||
|
*** 8652,8666 ****
|
||||||
|
int up;
|
||||||
|
{
|
||||||
|
pos_T tpos;
|
||||||
|
! # if defined(FEAT_GUI) && defined(FEAT_WINDOWS)
|
||||||
|
! win_T *old_curwin;
|
||||||
|
# endif
|
||||||
|
|
||||||
|
tpos = curwin->w_cursor;
|
||||||
|
|
||||||
|
# if defined(FEAT_GUI) && defined(FEAT_WINDOWS)
|
||||||
|
- old_curwin = curwin;
|
||||||
|
-
|
||||||
|
/* Currently the mouse coordinates are only known in the GUI. */
|
||||||
|
if (gui.in_use && mouse_row >= 0 && mouse_col >= 0)
|
||||||
|
{
|
||||||
|
--- 8652,8667 ----
|
||||||
|
int up;
|
||||||
|
{
|
||||||
|
pos_T tpos;
|
||||||
|
! # if defined(FEAT_WINDOWS)
|
||||||
|
! win_T *old_curwin = curwin;
|
||||||
|
! # endif
|
||||||
|
! # ifdef FEAT_INS_EXPAND
|
||||||
|
! int did_scroll = FALSE;
|
||||||
|
# endif
|
||||||
|
|
||||||
|
tpos = curwin->w_cursor;
|
||||||
|
|
||||||
|
# if defined(FEAT_GUI) && defined(FEAT_WINDOWS)
|
||||||
|
/* Currently the mouse coordinates are only known in the GUI. */
|
||||||
|
if (gui.in_use && mouse_row >= 0 && mouse_col >= 0)
|
||||||
|
{
|
||||||
|
***************
|
||||||
|
*** 8677,8692 ****
|
||||||
|
# endif
|
||||||
|
undisplay_dollar();
|
||||||
|
|
||||||
|
! if (mod_mask & (MOD_MASK_SHIFT | MOD_MASK_CTRL))
|
||||||
|
! scroll_redraw(up, (long)(curwin->w_botline - curwin->w_topline));
|
||||||
|
! else
|
||||||
|
! scroll_redraw(up, 3L);
|
||||||
|
|
||||||
|
# if defined(FEAT_GUI) && defined(FEAT_WINDOWS)
|
||||||
|
curwin->w_redr_status = TRUE;
|
||||||
|
|
||||||
|
curwin = old_curwin;
|
||||||
|
curbuf = curwin->w_buffer;
|
||||||
|
# endif
|
||||||
|
|
||||||
|
if (!equalpos(curwin->w_cursor, tpos))
|
||||||
|
--- 8678,8717 ----
|
||||||
|
# endif
|
||||||
|
undisplay_dollar();
|
||||||
|
|
||||||
|
! # ifdef FEAT_INS_EXPAND
|
||||||
|
! /* Don't scroll the window in which completion is being done. */
|
||||||
|
! if (!pum_visible()
|
||||||
|
! # if defined(FEAT_WINDOWS)
|
||||||
|
! || curwin != old_curwin
|
||||||
|
! # endif
|
||||||
|
! )
|
||||||
|
! # endif
|
||||||
|
! {
|
||||||
|
! if (mod_mask & (MOD_MASK_SHIFT | MOD_MASK_CTRL))
|
||||||
|
! scroll_redraw(up, (long)(curwin->w_botline - curwin->w_topline));
|
||||||
|
! else
|
||||||
|
! scroll_redraw(up, 3L);
|
||||||
|
! # ifdef FEAT_INS_EXPAND
|
||||||
|
! did_scroll = TRUE;
|
||||||
|
! # endif
|
||||||
|
! }
|
||||||
|
|
||||||
|
# if defined(FEAT_GUI) && defined(FEAT_WINDOWS)
|
||||||
|
curwin->w_redr_status = TRUE;
|
||||||
|
|
||||||
|
curwin = old_curwin;
|
||||||
|
curbuf = curwin->w_buffer;
|
||||||
|
+ # endif
|
||||||
|
+
|
||||||
|
+ # ifdef FEAT_INS_EXPAND
|
||||||
|
+ /* The popup menu may overlay the window, need to redraw it.
|
||||||
|
+ * TODO: Would be more efficient to only redraw the windows that are
|
||||||
|
+ * overlapped by the popup menu. */
|
||||||
|
+ if (pum_visible() && did_scroll)
|
||||||
|
+ {
|
||||||
|
+ redraw_all_later(NOT_VALID);
|
||||||
|
+ ins_compl_show_pum();
|
||||||
|
+ }
|
||||||
|
# endif
|
||||||
|
|
||||||
|
if (!equalpos(curwin->w_cursor, tpos))
|
||||||
|
*** ../vim-7.1.148/src/gui.c Wed Sep 5 21:45:54 2007
|
||||||
|
--- src/gui.c Fri Oct 19 16:14:57 2007
|
||||||
|
***************
|
||||||
|
*** 4214,4220 ****
|
||||||
|
#endif
|
||||||
|
)
|
||||||
|
{
|
||||||
|
! redraw_win_later(wp, VALID);
|
||||||
|
updateWindow(wp); /* update window, status line, and cmdline */
|
||||||
|
}
|
||||||
|
|
||||||
|
--- 4214,4232 ----
|
||||||
|
#endif
|
||||||
|
)
|
||||||
|
{
|
||||||
|
! int type = VALID;
|
||||||
|
!
|
||||||
|
! #ifdef FEAT_INS_EXPAND
|
||||||
|
! if (pum_visible())
|
||||||
|
! {
|
||||||
|
! type = NOT_VALID;
|
||||||
|
! wp->w_lines_valid = 0;
|
||||||
|
! }
|
||||||
|
! #endif
|
||||||
|
! /* Don't set must_redraw here, it may cause the popup menu to
|
||||||
|
! * disappear when losing focus after a scrollbar drag. */
|
||||||
|
! if (wp->w_redr_type < type)
|
||||||
|
! wp->w_redr_type = type;
|
||||||
|
updateWindow(wp); /* update window, status line, and cmdline */
|
||||||
|
}
|
||||||
|
|
||||||
|
*** ../vim-7.1.148/src/version.c Sun Nov 4 15:35:23 2007
|
||||||
|
--- src/version.c Tue Nov 6 22:21:03 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 149,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
From "know your smileys":
|
||||||
|
...---... SOS
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
59
7.1.150
Normal file
59
7.1.150
Normal file
|
|
@ -0,0 +1,59 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.150
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.150
|
||||||
|
Problem: When 'clipboard' has "unnamed" using "p" in Visual mode doesn't
|
||||||
|
work correctly. (Jianrong Yu)
|
||||||
|
Solution: When 'clipboard' has "unnamed" also obtain the selection when
|
||||||
|
getting the default register.
|
||||||
|
Files: src/ops.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.149/src/ops.c Tue Sep 25 14:19:35 2007
|
||||||
|
--- src/ops.c Sun Oct 28 13:58:35 2007
|
||||||
|
***************
|
||||||
|
*** 933,941 ****
|
||||||
|
#ifdef FEAT_CLIPBOARD
|
||||||
|
/* When Visual area changed, may have to update selection. Obtain the
|
||||||
|
* selection too. */
|
||||||
|
! if (name == '*' && clip_star.available && clip_isautosel())
|
||||||
|
{
|
||||||
|
! clip_update_selection();
|
||||||
|
may_get_selection(name);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
--- 933,942 ----
|
||||||
|
#ifdef FEAT_CLIPBOARD
|
||||||
|
/* When Visual area changed, may have to update selection. Obtain the
|
||||||
|
* selection too. */
|
||||||
|
! if (name == '*' && clip_star.available)
|
||||||
|
{
|
||||||
|
! if (clip_isautosel())
|
||||||
|
! clip_update_selection();
|
||||||
|
may_get_selection(name);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
*** ../vim-7.1.149/src/version.c Tue Nov 6 22:26:39 2007
|
||||||
|
--- src/version.c Thu Nov 8 10:34:18 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 150,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
From "know your smileys":
|
||||||
|
8<}} Glasses, big nose, beard
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
70
7.1.151
Normal file
70
7.1.151
Normal file
|
|
@ -0,0 +1,70 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.151
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.151
|
||||||
|
Problem: Using whole line completion with 'ignorecase' and 'infercase' set
|
||||||
|
and the line is empty get an lalloc(0) error.
|
||||||
|
Solution: Don't try changing case for an empty match. (Matthew Wozniski)
|
||||||
|
Files: src/edit.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.150/src/edit.c Tue Nov 6 22:26:39 2007
|
||||||
|
--- src/edit.c Sun Nov 4 16:17:42 2007
|
||||||
|
***************
|
||||||
|
*** 2111,2117 ****
|
||||||
|
int has_lower = FALSE;
|
||||||
|
int was_letter = FALSE;
|
||||||
|
|
||||||
|
! if (p_ic && curbuf->b_p_inf)
|
||||||
|
{
|
||||||
|
/* Infer case of completed part. */
|
||||||
|
|
||||||
|
--- 2111,2117 ----
|
||||||
|
int has_lower = FALSE;
|
||||||
|
int was_letter = FALSE;
|
||||||
|
|
||||||
|
! if (p_ic && curbuf->b_p_inf && len > 0)
|
||||||
|
{
|
||||||
|
/* Infer case of completed part. */
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 2225,2231 ****
|
||||||
|
wca[i] = MB_TOUPPER(wca[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
! /*
|
||||||
|
* Generate encoding specific output from wide character array.
|
||||||
|
* Multi-byte characters can occupy up to five bytes more than
|
||||||
|
* ASCII characters, and we also need one byte for NUL, so stay
|
||||||
|
--- 2225,2231 ----
|
||||||
|
wca[i] = MB_TOUPPER(wca[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
! /*
|
||||||
|
* Generate encoding specific output from wide character array.
|
||||||
|
* Multi-byte characters can occupy up to five bytes more than
|
||||||
|
* ASCII characters, and we also need one byte for NUL, so stay
|
||||||
|
*** ../vim-7.1.150/src/version.c Thu Nov 8 10:35:02 2007
|
||||||
|
--- src/version.c Thu Nov 8 13:01:34 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 151,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
From "know your smileys":
|
||||||
|
%-) After staring at screen for 15 hours
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
118
7.1.152
Normal file
118
7.1.152
Normal file
|
|
@ -0,0 +1,118 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.152
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.152
|
||||||
|
Problem: Display problem when 'hls' and 'cursorcolumn' are set and
|
||||||
|
searching for "$". (John Mullin) Also when scrolling
|
||||||
|
horizontally when 'wrap' is off.
|
||||||
|
Solution: Keep track of the column where highlighting was set. Check the
|
||||||
|
column offset when skipping characters.
|
||||||
|
Files: src/screen.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.151/src/screen.c Mon Sep 17 22:37:05 2007
|
||||||
|
--- src/screen.c Fri Oct 19 15:18:49 2007
|
||||||
|
***************
|
||||||
|
*** 2599,2604 ****
|
||||||
|
--- 2599,2605 ----
|
||||||
|
int syntax_attr = 0; /* attributes desired by syntax */
|
||||||
|
int has_syntax = FALSE; /* this buffer has syntax highl. */
|
||||||
|
int save_did_emsg;
|
||||||
|
+ int eol_hl_off = 0; /* 1 if highlighted char after EOL */
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_SPELL
|
||||||
|
int has_spell = FALSE; /* this buffer has spell checking */
|
||||||
|
***************
|
||||||
|
*** 4312,4317 ****
|
||||||
|
--- 4313,4322 ----
|
||||||
|
{
|
||||||
|
#ifdef FEAT_SEARCH_EXTRA
|
||||||
|
long prevcol = (long)(ptr - line) - (c == NUL);
|
||||||
|
+
|
||||||
|
+ /* we're not really at that column when skipping some text */
|
||||||
|
+ if ((wp->w_p_wrap ? wp->w_skipcol : wp->w_leftcol) > prevcol)
|
||||||
|
+ ++prevcol;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* invert at least one char, used for Visual and empty line or
|
||||||
|
***************
|
||||||
|
*** 4408,4418 ****
|
||||||
|
--- 4413,4432 ----
|
||||||
|
ScreenAttrs[off] = char_attr;
|
||||||
|
#ifdef FEAT_RIGHTLEFT
|
||||||
|
if (wp->w_p_rl)
|
||||||
|
+ {
|
||||||
|
--col;
|
||||||
|
+ --off;
|
||||||
|
+ }
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
+ {
|
||||||
|
++col;
|
||||||
|
+ ++off;
|
||||||
|
+ }
|
||||||
|
++vcol;
|
||||||
|
+ #ifdef FEAT_SYN_HL
|
||||||
|
+ eol_hl_off = 1;
|
||||||
|
+ #endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 4422,4427 ****
|
||||||
|
--- 4436,4449 ----
|
||||||
|
if (c == NUL)
|
||||||
|
{
|
||||||
|
#ifdef FEAT_SYN_HL
|
||||||
|
+ if (eol_hl_off > 0 && vcol - eol_hl_off == (long)wp->w_virtcol)
|
||||||
|
+ {
|
||||||
|
+ /* highlight last char after line */
|
||||||
|
+ --col;
|
||||||
|
+ --off;
|
||||||
|
+ --vcol;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
/* Highlight 'cursorcolumn' past end of the line. */
|
||||||
|
if (wp->w_p_wrap)
|
||||||
|
v = wp->w_skipcol;
|
||||||
|
***************
|
||||||
|
*** 4432,4438 ****
|
||||||
|
|
||||||
|
vcol = v + col - win_col_off(wp);
|
||||||
|
if (wp->w_p_cuc
|
||||||
|
! && (int)wp->w_virtcol >= vcol
|
||||||
|
&& (int)wp->w_virtcol < W_WIDTH(wp) * (row - startrow + 1)
|
||||||
|
+ v
|
||||||
|
&& lnum != wp->w_cursor.lnum
|
||||||
|
--- 4454,4460 ----
|
||||||
|
|
||||||
|
vcol = v + col - win_col_off(wp);
|
||||||
|
if (wp->w_p_cuc
|
||||||
|
! && (int)wp->w_virtcol >= vcol - eol_hl_off
|
||||||
|
&& (int)wp->w_virtcol < W_WIDTH(wp) * (row - startrow + 1)
|
||||||
|
+ v
|
||||||
|
&& lnum != wp->w_cursor.lnum
|
||||||
|
*** ../vim-7.1.151/src/version.c Thu Nov 8 13:03:33 2007
|
||||||
|
--- src/version.c Thu Nov 8 14:48:59 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 152,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
From "know your smileys":
|
||||||
|
2B|^2B Message from Shakespeare
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
143
7.1.153
Normal file
143
7.1.153
Normal file
|
|
@ -0,0 +1,143 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.153
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.153
|
||||||
|
Problem: Compiler warnings on SGI. Undefined XpmAllocColor (Charles
|
||||||
|
Campbell)
|
||||||
|
Solution: Add type casts. Init st_dev and st_ino separately. Don't use
|
||||||
|
type casts for vim_snprintf() when HAVE_STDARG_H is defined.
|
||||||
|
Define XpmAllocColor when needed.
|
||||||
|
Files: src/eval.c, src/ex_cmds.c, src/fileio.c, src/misc2.c,
|
||||||
|
src/gui_xmebw.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.152/src/eval.c Tue Oct 2 22:07:58 2007
|
||||||
|
--- src/eval.c Mon Oct 1 20:56:09 2007
|
||||||
|
***************
|
||||||
|
*** 8729,8735 ****
|
||||||
|
static int fnum = 0;
|
||||||
|
static int change_start = 0;
|
||||||
|
static int change_end = 0;
|
||||||
|
! static hlf_T hlID = 0;
|
||||||
|
int filler_lines;
|
||||||
|
int col;
|
||||||
|
|
||||||
|
--- 8729,8735 ----
|
||||||
|
static int fnum = 0;
|
||||||
|
static int change_start = 0;
|
||||||
|
static int change_end = 0;
|
||||||
|
! static hlf_T hlID = (hlf_T)0;
|
||||||
|
int filler_lines;
|
||||||
|
int col;
|
||||||
|
|
||||||
|
*** ../vim-7.1.152/src/ex_cmds.c Thu Sep 13 18:25:08 2007
|
||||||
|
--- src/ex_cmds.c Thu Sep 13 16:19:40 2007
|
||||||
|
***************
|
||||||
|
*** 1774,1780 ****
|
||||||
|
* overwrite a user's viminfo file after a "su root", with a
|
||||||
|
* viminfo file that the user can't read.
|
||||||
|
*/
|
||||||
|
! st_old.st_dev = st_old.st_ino = 0;
|
||||||
|
st_old.st_mode = 0600;
|
||||||
|
if (mch_stat((char *)fname, &st_old) == 0
|
||||||
|
&& getuid() != ROOT_UID
|
||||||
|
--- 1774,1781 ----
|
||||||
|
* overwrite a user's viminfo file after a "su root", with a
|
||||||
|
* viminfo file that the user can't read.
|
||||||
|
*/
|
||||||
|
! st_old.st_dev = 0;
|
||||||
|
! st_old.st_ino = 0;
|
||||||
|
st_old.st_mode = 0600;
|
||||||
|
if (mch_stat((char *)fname, &st_old) == 0
|
||||||
|
&& getuid() != ROOT_UID
|
||||||
|
*** ../vim-7.1.152/src/fileio.c Mon Oct 29 22:37:57 2007
|
||||||
|
--- src/fileio.c Mon Oct 22 21:10:00 2007
|
||||||
|
***************
|
||||||
|
*** 3209,3215 ****
|
||||||
|
* Get information about original file (if there is one).
|
||||||
|
*/
|
||||||
|
#if defined(UNIX) && !defined(ARCHIE)
|
||||||
|
! st_old.st_dev = st_old.st_ino = 0;
|
||||||
|
perm = -1;
|
||||||
|
if (mch_stat((char *)fname, &st_old) < 0)
|
||||||
|
newfile = TRUE;
|
||||||
|
--- 3209,3216 ----
|
||||||
|
* Get information about original file (if there is one).
|
||||||
|
*/
|
||||||
|
#if defined(UNIX) && !defined(ARCHIE)
|
||||||
|
! st_old.st_dev = 0;
|
||||||
|
! st_old.st_ino = 0;
|
||||||
|
perm = -1;
|
||||||
|
if (mch_stat((char *)fname, &st_old) < 0)
|
||||||
|
newfile = TRUE;
|
||||||
|
*** ../vim-7.1.152/src/misc2.c Sun Oct 7 15:44:28 2007
|
||||||
|
--- src/misc2.c Sun Sep 30 18:00:09 2007
|
||||||
|
***************
|
||||||
|
*** 5924,5930 ****
|
||||||
|
--- 5925,5935 ----
|
||||||
|
{
|
||||||
|
if (emsg_not_now())
|
||||||
|
return TRUE; /* no error messages at the moment */
|
||||||
|
+ #ifdef HAVE_STDARG_H
|
||||||
|
+ vim_snprintf((char *)IObuff, IOSIZE, (char *)s, a1, a2);
|
||||||
|
+ #else
|
||||||
|
vim_snprintf((char *)IObuff, IOSIZE, (char *)s, (long_u)a1, (long_u)a2);
|
||||||
|
+ #endif
|
||||||
|
return emsg(IObuff);
|
||||||
|
}
|
||||||
|
|
||||||
|
*** ../vim-7.1.152/src/gui_xmebw.c Thu May 10 19:46:55 2007
|
||||||
|
--- src/gui_xmebw.c Thu Sep 6 12:57:51 2007
|
||||||
|
***************
|
||||||
|
*** 395,405 ****
|
||||||
|
|
||||||
|
/* Create the "highlight" pixmap. */
|
||||||
|
color[4].pixel = eb->primitive.bottom_shadow_color;
|
||||||
|
attr.valuemask = XpmColorSymbols | XpmCloseness | XpmAllocColor;
|
||||||
|
attr.closeness = 65535; /* accuracy isn't crucial */
|
||||||
|
attr.colorsymbols = color;
|
||||||
|
attr.numsymbols = XtNumber(color);
|
||||||
|
- attr.alloc_color = alloc_color;
|
||||||
|
|
||||||
|
status = XpmCreatePixmapFromData(dpy, root, data, &pix, NULL, &attr);
|
||||||
|
XpmFreeAttributes(&attr);
|
||||||
|
--- 395,409 ----
|
||||||
|
|
||||||
|
/* Create the "highlight" pixmap. */
|
||||||
|
color[4].pixel = eb->primitive.bottom_shadow_color;
|
||||||
|
+ #ifdef XpmAllocColor /* SGI doesn't have it */
|
||||||
|
attr.valuemask = XpmColorSymbols | XpmCloseness | XpmAllocColor;
|
||||||
|
+ attr.alloc_color = alloc_color;
|
||||||
|
+ #else
|
||||||
|
+ attr.valuemask = XpmColorSymbols | XpmCloseness;
|
||||||
|
+ #endif
|
||||||
|
attr.closeness = 65535; /* accuracy isn't crucial */
|
||||||
|
attr.colorsymbols = color;
|
||||||
|
attr.numsymbols = XtNumber(color);
|
||||||
|
|
||||||
|
status = XpmCreatePixmapFromData(dpy, root, data, &pix, NULL, &attr);
|
||||||
|
XpmFreeAttributes(&attr);
|
||||||
|
*** ../vim-7.1.152/src/version.c Thu Nov 8 14:50:58 2007
|
||||||
|
--- src/version.c Thu Nov 8 20:45:56 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 153,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
From "know your smileys":
|
||||||
|
@:-() Elvis Presley
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
52
7.1.154
Normal file
52
7.1.154
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.154
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.154
|
||||||
|
Problem: Compiler warning for signed/unsigned compare.
|
||||||
|
Solution: Add type cast.
|
||||||
|
Files: src/screen.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.153/src/screen.c Thu Nov 8 14:50:58 2007
|
||||||
|
--- src/screen.c Thu Nov 8 21:18:46 2007
|
||||||
|
***************
|
||||||
|
*** 4315,4321 ****
|
||||||
|
long prevcol = (long)(ptr - line) - (c == NUL);
|
||||||
|
|
||||||
|
/* we're not really at that column when skipping some text */
|
||||||
|
! if ((wp->w_p_wrap ? wp->w_skipcol : wp->w_leftcol) > prevcol)
|
||||||
|
++prevcol;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
--- 4315,4321 ----
|
||||||
|
long prevcol = (long)(ptr - line) - (c == NUL);
|
||||||
|
|
||||||
|
/* we're not really at that column when skipping some text */
|
||||||
|
! if ((long)(wp->w_p_wrap ? wp->w_skipcol : wp->w_leftcol) > prevcol)
|
||||||
|
++prevcol;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
*** ../vim-7.1.153/src/version.c Thu Nov 8 20:47:34 2007
|
||||||
|
--- src/version.c Thu Nov 8 21:19:59 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 154,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
From "know your smileys":
|
||||||
|
:-F Bucktoothed vampire with one tooth missing
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
53
7.1.155
Normal file
53
7.1.155
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.155
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.155
|
||||||
|
Problem: Crash when 'undolevels' is 0 and repeating "udd". (James Vega)
|
||||||
|
Solution: When there is only one branch use u_freeheader() to delete it.
|
||||||
|
Files: src/undo.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.154/src/undo.c Mon Oct 1 22:53:27 2007
|
||||||
|
--- src/undo.c Sat Nov 10 13:45:28 2007
|
||||||
|
***************
|
||||||
|
*** 1677,1682 ****
|
||||||
|
--- 1677,1690 ----
|
||||||
|
u_header_T **uhpp; /* if not NULL reset when freeing this header */
|
||||||
|
{
|
||||||
|
u_header_T *tofree, *next;
|
||||||
|
+
|
||||||
|
+ /* If this is the top branch we may need to use u_freeheader() to update
|
||||||
|
+ * all the pointers. */
|
||||||
|
+ if (uhp == buf->b_u_oldhead)
|
||||||
|
+ {
|
||||||
|
+ u_freeheader(buf, uhp, uhpp);
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
if (uhp->uh_alt_prev != NULL)
|
||||||
|
uhp->uh_alt_prev->uh_alt_next = NULL;
|
||||||
|
*** ../vim-7.1.154/src/version.c Thu Nov 8 21:23:34 2007
|
||||||
|
--- src/version.c Sat Nov 10 22:49:40 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 155,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
I AM THANKFUL...
|
||||||
|
...for the piles of laundry and ironing because it means I
|
||||||
|
have plenty of clothes to wear.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
121
7.1.156
Normal file
121
7.1.156
Normal file
|
|
@ -0,0 +1,121 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.156
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.156
|
||||||
|
Problem: Overlapping arguments for strcpy() when expanding command line
|
||||||
|
variables.
|
||||||
|
Solution: Use mch_memmove() instead of STRCPY(). Also fix a few typos.
|
||||||
|
(Dominique Pelle)
|
||||||
|
Files: src/ex_docmd.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.155/src/ex_docmd.c Fri Oct 19 16:20:09 2007
|
||||||
|
--- src/ex_docmd.c Sat Nov 10 12:39:51 2007
|
||||||
|
***************
|
||||||
|
*** 666,672 ****
|
||||||
|
if (ex_pressedreturn)
|
||||||
|
{
|
||||||
|
/* go up one line, to overwrite the ":<CR>" line, so the
|
||||||
|
! * output doensn't contain empty lines. */
|
||||||
|
msg_row = prev_msg_row;
|
||||||
|
if (prev_msg_row == Rows - 1)
|
||||||
|
msg_row--;
|
||||||
|
--- 666,672 ----
|
||||||
|
if (ex_pressedreturn)
|
||||||
|
{
|
||||||
|
/* go up one line, to overwrite the ":<CR>" line, so the
|
||||||
|
! * output doesn't contain empty lines. */
|
||||||
|
msg_row = prev_msg_row;
|
||||||
|
if (prev_msg_row == Rows - 1)
|
||||||
|
msg_row--;
|
||||||
|
***************
|
||||||
|
*** 2760,2766 ****
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Isolate the command and search for it in the command table.
|
||||||
|
! * Exeptions:
|
||||||
|
* - the 'k' command can directly be followed by any character.
|
||||||
|
* - the 's' command can be followed directly by 'c', 'g', 'i', 'I' or 'r'
|
||||||
|
* but :sre[wind] is another command, as are :scrip[tnames],
|
||||||
|
--- 2760,2766 ----
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Isolate the command and search for it in the command table.
|
||||||
|
! * Exceptions:
|
||||||
|
* - the 'k' command can directly be followed by any character.
|
||||||
|
* - the 's' command can be followed directly by 'c', 'g', 'i', 'I' or 'r'
|
||||||
|
* but :sre[wind] is another command, as are :scrip[tnames],
|
||||||
|
***************
|
||||||
|
*** 6677,6683 ****
|
||||||
|
* The list should be allocated using alloc(), as should each item in the
|
||||||
|
* list. This function takes over responsibility for freeing the list.
|
||||||
|
*
|
||||||
|
! * XXX The list is made into the arggument list. This is freed using
|
||||||
|
* FreeWild(), which does a series of vim_free() calls, unless the two defines
|
||||||
|
* __EMX__ and __ALWAYS_HAS_TRAILING_NUL_POINTER are set. In this case, a
|
||||||
|
* routine _fnexplodefree() is used. This may cause problems, but as the drop
|
||||||
|
--- 6677,6683 ----
|
||||||
|
* The list should be allocated using alloc(), as should each item in the
|
||||||
|
* list. This function takes over responsibility for freeing the list.
|
||||||
|
*
|
||||||
|
! * XXX The list is made into the argument list. This is freed using
|
||||||
|
* FreeWild(), which does a series of vim_free() calls, unless the two defines
|
||||||
|
* __EMX__ and __ALWAYS_HAS_TRAILING_NUL_POINTER are set. In this case, a
|
||||||
|
* routine _fnexplodefree() is used. This may cause problems, but as the drop
|
||||||
|
***************
|
||||||
|
*** 7795,7801 ****
|
||||||
|
if (vim_strchr(p_cpo, CPO_CHDIR) != NULL && curbufIsChanged()
|
||||||
|
&& !eap->forceit)
|
||||||
|
{
|
||||||
|
! EMSG(_("E747: Cannot change directory, buffer is modifed (add ! to override)"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
--- 7795,7801 ----
|
||||||
|
if (vim_strchr(p_cpo, CPO_CHDIR) != NULL && curbufIsChanged()
|
||||||
|
&& !eap->forceit)
|
||||||
|
{
|
||||||
|
! EMSG(_("E747: Cannot change directory, buffer is modified (add ! to override)"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 9391,9397 ****
|
||||||
|
if (src > srcstart && src[-1] == '\\')
|
||||||
|
{
|
||||||
|
*usedlen = 0;
|
||||||
|
! STRCPY(src - 1, src); /* remove backslash */
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
--- 9391,9397 ----
|
||||||
|
if (src > srcstart && src[-1] == '\\')
|
||||||
|
{
|
||||||
|
*usedlen = 0;
|
||||||
|
! mch_memmove(src - 1, src, STRLEN(src) + 1); /* remove backslash */
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
*** ../vim-7.1.155/src/version.c Sat Nov 10 22:50:20 2007
|
||||||
|
--- src/version.c Sun Nov 11 19:15:51 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 156,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
Common sense is what tells you that the world is flat.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
55
7.1.157
Normal file
55
7.1.157
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.157
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.157
|
||||||
|
Problem: In Ex mode, :" gives an error at end-of-file. (Michael Hordijk)
|
||||||
|
Solution: Only give an error for an empty line, not for a comment.
|
||||||
|
Files: src/ex_docmd.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.156/src/ex_docmd.c Sun Nov 11 19:16:44 2007
|
||||||
|
--- src/ex_docmd.c Sat Nov 17 20:23:38 2007
|
||||||
|
***************
|
||||||
|
*** 1741,1747 ****
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ignore comment and empty lines */
|
||||||
|
! if (*ea.cmd == '"' || *ea.cmd == NUL)
|
||||||
|
{
|
||||||
|
ex_pressedreturn = TRUE;
|
||||||
|
goto doend;
|
||||||
|
--- 1741,1749 ----
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ignore comment and empty lines */
|
||||||
|
! if (*ea.cmd == '"')
|
||||||
|
! goto doend;
|
||||||
|
! if (*ea.cmd == NUL)
|
||||||
|
{
|
||||||
|
ex_pressedreturn = TRUE;
|
||||||
|
goto doend;
|
||||||
|
*** ../vim-7.1.156/src/version.c Sun Nov 11 19:16:44 2007
|
||||||
|
--- src/version.c Tue Nov 20 12:28:22 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 157,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
hundred-and-one symptoms of being an internet addict:
|
||||||
|
119. You are reading a book and look for the scroll bar to get to
|
||||||
|
the next page.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
157
7.1.158
Normal file
157
7.1.158
Normal file
|
|
@ -0,0 +1,157 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.158 (extra)
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.158 (extra)
|
||||||
|
Problem: Win32 console: When 'encoding' is "utf-8" and typing Alt-y the
|
||||||
|
result is wrong. Win32 GUI: Alt-y results in "u" when 'encoding'
|
||||||
|
is "cp1250" (Lukas Cerman)
|
||||||
|
Solution: For utf-8 don't set the 7th bit in a byte, convert to the correct
|
||||||
|
byte sequence. For cp1250, when conversion to 'encoding' results
|
||||||
|
in the 7th bit not set, set the 7th bit after conversion.
|
||||||
|
Files: src/os_win32.c, src/gui_w48.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.157/src/os_win32.c Mon Oct 1 20:33:45 2007
|
||||||
|
--- src/os_win32.c Sat Oct 27 17:35:04 2007
|
||||||
|
***************
|
||||||
|
*** 1521,1527 ****
|
||||||
|
--- 1521,1532 ----
|
||||||
|
#endif
|
||||||
|
)
|
||||||
|
{
|
||||||
|
+ #ifdef FEAT_MBYTE
|
||||||
|
+ n = (*mb_char2bytes)(typeahead[typeaheadlen] | 0x80,
|
||||||
|
+ typeahead + typeaheadlen);
|
||||||
|
+ #else
|
||||||
|
typeahead[typeaheadlen] |= 0x80;
|
||||||
|
+ #endif
|
||||||
|
modifiers &= ~MOD_MASK_ALT;
|
||||||
|
}
|
||||||
|
|
||||||
|
*** ../vim-7.1.157/src/gui_w48.c Sun Sep 30 14:00:41 2007
|
||||||
|
--- src/gui_w48.c Mon Oct 29 20:00:25 2007
|
||||||
|
***************
|
||||||
|
*** 486,495 ****
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Convert Unicode character "ch" to bytes in "string[slen]".
|
||||||
|
* Return the length.
|
||||||
|
*/
|
||||||
|
static int
|
||||||
|
! char_to_string(int ch, char_u *string, int slen)
|
||||||
|
{
|
||||||
|
int len;
|
||||||
|
int i;
|
||||||
|
--- 486,496 ----
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Convert Unicode character "ch" to bytes in "string[slen]".
|
||||||
|
+ * When "had_alt" is TRUE the ALT key was included in "ch".
|
||||||
|
* Return the length.
|
||||||
|
*/
|
||||||
|
static int
|
||||||
|
! char_to_string(int ch, char_u *string, int slen, int had_alt)
|
||||||
|
{
|
||||||
|
int len;
|
||||||
|
int i;
|
||||||
|
***************
|
||||||
|
*** 522,529 ****
|
||||||
|
--- 523,544 ----
|
||||||
|
* "enc_codepage" is non-zero use the standard Win32 function,
|
||||||
|
* otherwise use our own conversion function (e.g., for UTF-8). */
|
||||||
|
if (enc_codepage > 0)
|
||||||
|
+ {
|
||||||
|
len = WideCharToMultiByte(enc_codepage, 0, wstring, len,
|
||||||
|
string, slen, 0, NULL);
|
||||||
|
+ /* If we had included the ALT key into the character but now the
|
||||||
|
+ * upper bit is no longer set, that probably means the conversion
|
||||||
|
+ * failed. Convert the original character and set the upper bit
|
||||||
|
+ * afterwards. */
|
||||||
|
+ if (had_alt && len == 1 && ch >= 0x80 && string[0] < 0x80)
|
||||||
|
+ {
|
||||||
|
+ wstring[0] = ch & 0x7f;
|
||||||
|
+ len = WideCharToMultiByte(enc_codepage, 0, wstring, len,
|
||||||
|
+ string, slen, 0, NULL);
|
||||||
|
+ if (len == 1) /* safety check */
|
||||||
|
+ string[0] |= 0x80;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
else
|
||||||
|
{
|
||||||
|
len = 1;
|
||||||
|
***************
|
||||||
|
*** 573,579 ****
|
||||||
|
char_u string[40];
|
||||||
|
int len = 0;
|
||||||
|
|
||||||
|
! len = char_to_string(ch, string, 40);
|
||||||
|
if (len == 1 && string[0] == Ctrl_C && ctrl_c_interrupts)
|
||||||
|
{
|
||||||
|
trash_input_buf();
|
||||||
|
--- 588,594 ----
|
||||||
|
char_u string[40];
|
||||||
|
int len = 0;
|
||||||
|
|
||||||
|
! len = char_to_string(ch, string, 40, FALSE);
|
||||||
|
if (len == 1 && string[0] == Ctrl_C && ctrl_c_interrupts)
|
||||||
|
{
|
||||||
|
trash_input_buf();
|
||||||
|
***************
|
||||||
|
*** 640,646 ****
|
||||||
|
{
|
||||||
|
/* Although the documentation isn't clear about it, we assume "ch" is
|
||||||
|
* a Unicode character. */
|
||||||
|
! len += char_to_string(ch, string + len, 40 - len);
|
||||||
|
}
|
||||||
|
|
||||||
|
add_to_input_buf(string, len);
|
||||||
|
--- 655,661 ----
|
||||||
|
{
|
||||||
|
/* Although the documentation isn't clear about it, we assume "ch" is
|
||||||
|
* a Unicode character. */
|
||||||
|
! len += char_to_string(ch, string + len, 40 - len, TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
add_to_input_buf(string, len);
|
||||||
|
***************
|
||||||
|
*** 1775,1781 ****
|
||||||
|
int len;
|
||||||
|
|
||||||
|
/* Handle "key" as a Unicode character. */
|
||||||
|
! len = char_to_string(key, string, 40);
|
||||||
|
add_to_input_buf(string, len);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
--- 1790,1796 ----
|
||||||
|
int len;
|
||||||
|
|
||||||
|
/* Handle "key" as a Unicode character. */
|
||||||
|
! len = char_to_string(key, string, 40, FALSE);
|
||||||
|
add_to_input_buf(string, len);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
*** ../vim-7.1.157/src/version.c Tue Nov 20 12:30:31 2007
|
||||||
|
--- src/version.c Tue Nov 20 17:19:18 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 158,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
hundred-and-one symptoms of being an internet addict:
|
||||||
|
123. You ask the car dealer to install an extra cigarette lighter
|
||||||
|
on your new car to power your notebook.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
54
7.1.159
Normal file
54
7.1.159
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.159
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.159
|
||||||
|
Problem: strcpy() has overlapping arguments.
|
||||||
|
Solution: Use mch_memmove() instead. (Dominique Pelle)
|
||||||
|
Files: src/ex_cmds.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.158/src/ex_cmds.c Thu Nov 8 20:47:34 2007
|
||||||
|
--- src/ex_cmds.c Sun Nov 18 14:11:58 2007
|
||||||
|
***************
|
||||||
|
*** 4885,4891 ****
|
||||||
|
++line2;
|
||||||
|
/* move the cursor to the new line, like Vi */
|
||||||
|
++curwin->w_cursor.lnum;
|
||||||
|
! STRCPY(new_start, p1 + 1); /* copy the rest */
|
||||||
|
p1 = new_start - 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
--- 4885,4892 ----
|
||||||
|
++line2;
|
||||||
|
/* move the cursor to the new line, like Vi */
|
||||||
|
++curwin->w_cursor.lnum;
|
||||||
|
! /* copy the rest */
|
||||||
|
! mch_memmove(new_start, p1 + 1, STRLEN(p1 + 1) + 1);
|
||||||
|
p1 = new_start - 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*** ../vim-7.1.158/src/version.c Tue Nov 20 17:21:28 2007
|
||||||
|
--- src/version.c Tue Nov 20 18:01:45 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 159,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
hundred-and-one symptoms of being an internet addict:
|
||||||
|
125. You begin to wonder how often it REALLY is necessary to get up
|
||||||
|
and shower or bathe.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
54
7.1.160
Normal file
54
7.1.160
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.160
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.160
|
||||||
|
Problem: When a focus autocommand is defined, getting or losing focus
|
||||||
|
causes the hit-enter prompt to be redrawn. (Bjorn Winckler)
|
||||||
|
Solution: Overwrite the last line.
|
||||||
|
Files: src/message.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.159/src/message.c Thu Sep 13 22:04:30 2007
|
||||||
|
--- src/message.c Sun Nov 4 17:33:15 2007
|
||||||
|
***************
|
||||||
|
*** 2850,2855 ****
|
||||||
|
--- 2850,2864 ----
|
||||||
|
}
|
||||||
|
else if (State == HITRETURN || State == SETWSIZE)
|
||||||
|
{
|
||||||
|
+ if (msg_row == Rows - 1)
|
||||||
|
+ {
|
||||||
|
+ /* Avoid drawing the "hit-enter" prompt below the previous one,
|
||||||
|
+ * overwrite it. Esp. useful when regaining focus and a
|
||||||
|
+ * FocusGained autocmd exists but didn't draw anything. */
|
||||||
|
+ msg_didout = FALSE;
|
||||||
|
+ msg_col = 0;
|
||||||
|
+ msg_clr_eos();
|
||||||
|
+ }
|
||||||
|
hit_return_msg();
|
||||||
|
msg_row = Rows - 1;
|
||||||
|
}
|
||||||
|
*** ../vim-7.1.159/src/version.c Tue Nov 20 18:03:34 2007
|
||||||
|
--- src/version.c Sat Nov 24 15:41:43 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 160,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
hundred-and-one symptoms of being an internet addict:
|
||||||
|
142. You dream about creating the world's greatest web site.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
176
7.1.161
Normal file
176
7.1.161
Normal file
|
|
@ -0,0 +1,176 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.161
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.161
|
||||||
|
Problem: Compilation errors with tiny features and EXITFREE.
|
||||||
|
Solution: Add #ifdefs. (Dominique Pelle)
|
||||||
|
Files: src/edit.c, src/misc2.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.160/src/edit.c Thu Nov 8 13:03:33 2007
|
||||||
|
--- src/edit.c Sat Nov 24 14:57:46 2007
|
||||||
|
***************
|
||||||
|
*** 2236,2242 ****
|
||||||
|
while (i < actual_len && (p - IObuff + 6) < IOSIZE)
|
||||||
|
#ifdef FEAT_MBYTE
|
||||||
|
if (has_mbyte)
|
||||||
|
! p += mb_char2bytes(wca[i++], p);
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
*(p++) = wca[i++];
|
||||||
|
--- 2236,2242 ----
|
||||||
|
while (i < actual_len && (p - IObuff + 6) < IOSIZE)
|
||||||
|
#ifdef FEAT_MBYTE
|
||||||
|
if (has_mbyte)
|
||||||
|
! p += (*mb_char2bytes)(wca[i++], p);
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
*(p++) = wca[i++];
|
||||||
|
***************
|
||||||
|
*** 6444,6451 ****
|
||||||
|
--- 6444,6453 ----
|
||||||
|
{
|
||||||
|
vim_free(last_insert);
|
||||||
|
last_insert = NULL;
|
||||||
|
+ # ifdef FEAT_INS_EXPAND
|
||||||
|
vim_free(compl_orig_text);
|
||||||
|
compl_orig_text = NULL;
|
||||||
|
+ # endif
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
*** ../vim-7.1.160/src/misc2.c Thu Nov 8 20:47:34 2007
|
||||||
|
--- src/misc2.c Sat Nov 24 15:01:46 2007
|
||||||
|
***************
|
||||||
|
*** 964,970 ****
|
||||||
|
{
|
||||||
|
buf_T *buf, *nextbuf;
|
||||||
|
static int entered = FALSE;
|
||||||
|
- win_T *win;
|
||||||
|
|
||||||
|
/* When we cause a crash here it is caught and Vim tries to exit cleanly.
|
||||||
|
* Don't try freeing everything again. */
|
||||||
|
--- 965,970 ----
|
||||||
|
***************
|
||||||
|
*** 972,986 ****
|
||||||
|
return;
|
||||||
|
entered = TRUE;
|
||||||
|
|
||||||
|
block_autocmds(); /* don't want to trigger autocommands here */
|
||||||
|
|
||||||
|
! #ifdef FEAT_WINDOWS
|
||||||
|
/* close all tabs and windows */
|
||||||
|
if (first_tabpage->tp_next != NULL)
|
||||||
|
do_cmdline_cmd((char_u *)"tabonly!");
|
||||||
|
if (firstwin != lastwin)
|
||||||
|
do_cmdline_cmd((char_u *)"only!");
|
||||||
|
! #endif
|
||||||
|
|
||||||
|
# if defined(FEAT_SPELL)
|
||||||
|
/* Free all spell info. */
|
||||||
|
--- 972,988 ----
|
||||||
|
return;
|
||||||
|
entered = TRUE;
|
||||||
|
|
||||||
|
+ # ifdef FEAT_AUTOCMD
|
||||||
|
block_autocmds(); /* don't want to trigger autocommands here */
|
||||||
|
+ # endif
|
||||||
|
|
||||||
|
! # ifdef FEAT_WINDOWS
|
||||||
|
/* close all tabs and windows */
|
||||||
|
if (first_tabpage->tp_next != NULL)
|
||||||
|
do_cmdline_cmd((char_u *)"tabonly!");
|
||||||
|
if (firstwin != lastwin)
|
||||||
|
do_cmdline_cmd((char_u *)"only!");
|
||||||
|
! # endif
|
||||||
|
|
||||||
|
# if defined(FEAT_SPELL)
|
||||||
|
/* Free all spell info. */
|
||||||
|
***************
|
||||||
|
*** 1031,1038 ****
|
||||||
|
--- 1033,1044 ----
|
||||||
|
free_regexp_stuff();
|
||||||
|
free_tag_stuff();
|
||||||
|
free_cd_dir();
|
||||||
|
+ # ifdef FEAT_EVAL
|
||||||
|
set_expr_line(NULL);
|
||||||
|
+ # endif
|
||||||
|
+ # ifdef FEAT_DIFF
|
||||||
|
diff_clear(curtab);
|
||||||
|
+ # endif
|
||||||
|
clear_sb_text(); /* free any scrollback text */
|
||||||
|
|
||||||
|
/* Free some global vars. */
|
||||||
|
***************
|
||||||
|
*** 1041,1059 ****
|
||||||
|
vim_free(clip_exclude_prog);
|
||||||
|
# endif
|
||||||
|
vim_free(last_cmdline);
|
||||||
|
vim_free(new_last_cmdline);
|
||||||
|
set_keep_msg(NULL, 0);
|
||||||
|
vim_free(ff_expand_buffer);
|
||||||
|
|
||||||
|
/* Clear cmdline history. */
|
||||||
|
p_hi = 0;
|
||||||
|
init_history();
|
||||||
|
|
||||||
|
#ifdef FEAT_QUICKFIX
|
||||||
|
! qf_free_all(NULL);
|
||||||
|
! /* Free all location lists */
|
||||||
|
! FOR_ALL_WINDOWS(win)
|
||||||
|
! qf_free_all(win);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Close all script inputs. */
|
||||||
|
--- 1047,1073 ----
|
||||||
|
vim_free(clip_exclude_prog);
|
||||||
|
# endif
|
||||||
|
vim_free(last_cmdline);
|
||||||
|
+ # ifdef FEAT_CMDHIST
|
||||||
|
vim_free(new_last_cmdline);
|
||||||
|
+ # endif
|
||||||
|
set_keep_msg(NULL, 0);
|
||||||
|
vim_free(ff_expand_buffer);
|
||||||
|
|
||||||
|
/* Clear cmdline history. */
|
||||||
|
p_hi = 0;
|
||||||
|
+ # ifdef FEAT_CMDHIST
|
||||||
|
init_history();
|
||||||
|
+ # endif
|
||||||
|
|
||||||
|
#ifdef FEAT_QUICKFIX
|
||||||
|
! {
|
||||||
|
! win_T *win;
|
||||||
|
!
|
||||||
|
! qf_free_all(NULL);
|
||||||
|
! /* Free all location lists */
|
||||||
|
! FOR_ALL_WINDOWS(win)
|
||||||
|
! qf_free_all(win);
|
||||||
|
! }
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Close all script inputs. */
|
||||||
|
*** ../vim-7.1.160/src/version.c Sat Nov 24 15:44:17 2007
|
||||||
|
--- src/version.c Sat Nov 24 20:55:38 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 161,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
hundred-and-one symptoms of being an internet addict:
|
||||||
|
143. You dream in pallettes of 216 websafe colors.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
172
7.1.162
Normal file
172
7.1.162
Normal file
|
|
@ -0,0 +1,172 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.162
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.162
|
||||||
|
Problem: Crash when using a modifier before "while" or "for". (A.Politz)
|
||||||
|
Solution: Skip modifiers when checking for a loop command.
|
||||||
|
Files: src/proto/ex_docmd.pro, src/ex_docmd.c, src/ex_eval.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.161/src/proto/ex_docmd.pro Sun Sep 30 14:00:41 2007
|
||||||
|
--- src/proto/ex_docmd.pro Sat Nov 24 16:34:06 2007
|
||||||
|
***************
|
||||||
|
*** 5,10 ****
|
||||||
|
--- 5,11 ----
|
||||||
|
int getline_equal __ARGS((char_u *(*fgetline)(int, void *, int), void *cookie, char_u *(*func)(int, void *, int)));
|
||||||
|
void *getline_cookie __ARGS((char_u *(*fgetline)(int, void *, int), void *cookie));
|
||||||
|
int checkforcmd __ARGS((char_u **pp, char *cmd, int len));
|
||||||
|
+ int modifier_len __ARGS((char_u *cmd));
|
||||||
|
int cmd_exists __ARGS((char_u *name));
|
||||||
|
char_u *set_one_cmd_context __ARGS((expand_T *xp, char_u *buff));
|
||||||
|
char_u *skip_range __ARGS((char_u *cmd, int *ctx));
|
||||||
|
*** ../vim-7.1.161/src/ex_docmd.c Tue Nov 20 12:30:31 2007
|
||||||
|
--- src/ex_docmd.c Sat Nov 24 16:41:20 2007
|
||||||
|
***************
|
||||||
|
*** 2963,2968 ****
|
||||||
|
--- 2963,3019 ----
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(FEAT_EVAL) || defined(PROTO)
|
||||||
|
+ static struct cmdmod
|
||||||
|
+ {
|
||||||
|
+ char *name;
|
||||||
|
+ int minlen;
|
||||||
|
+ int has_count; /* :123verbose :3tab */
|
||||||
|
+ } cmdmods[] = {
|
||||||
|
+ {"aboveleft", 3, FALSE},
|
||||||
|
+ {"belowright", 3, FALSE},
|
||||||
|
+ {"botright", 2, FALSE},
|
||||||
|
+ {"browse", 3, FALSE},
|
||||||
|
+ {"confirm", 4, FALSE},
|
||||||
|
+ {"hide", 3, FALSE},
|
||||||
|
+ {"keepalt", 5, FALSE},
|
||||||
|
+ {"keepjumps", 5, FALSE},
|
||||||
|
+ {"keepmarks", 3, FALSE},
|
||||||
|
+ {"leftabove", 5, FALSE},
|
||||||
|
+ {"lockmarks", 3, FALSE},
|
||||||
|
+ {"rightbelow", 6, FALSE},
|
||||||
|
+ {"sandbox", 3, FALSE},
|
||||||
|
+ {"silent", 3, FALSE},
|
||||||
|
+ {"tab", 3, TRUE},
|
||||||
|
+ {"topleft", 2, FALSE},
|
||||||
|
+ {"verbose", 4, TRUE},
|
||||||
|
+ {"vertical", 4, FALSE},
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ /*
|
||||||
|
+ * Return length of a command modifier (including optional count).
|
||||||
|
+ * Return zero when it's not a modifier.
|
||||||
|
+ */
|
||||||
|
+ int
|
||||||
|
+ modifier_len(cmd)
|
||||||
|
+ char_u *cmd;
|
||||||
|
+ {
|
||||||
|
+ int i, j;
|
||||||
|
+ char_u *p = cmd;
|
||||||
|
+
|
||||||
|
+ if (VIM_ISDIGIT(*cmd))
|
||||||
|
+ p = skipwhite(skipdigits(cmd));
|
||||||
|
+ for (i = 0; i < sizeof(cmdmods) / sizeof(struct cmdmod); ++i)
|
||||||
|
+ {
|
||||||
|
+ for (j = 0; p[j] != NUL; ++j)
|
||||||
|
+ if (p[j] != cmdmods[i].name[j])
|
||||||
|
+ break;
|
||||||
|
+ if (!isalpha(p[j]) && j >= cmdmods[i].minlen
|
||||||
|
+ && (p == cmd || cmdmods[i].has_count))
|
||||||
|
+ return j + (p - cmd);
|
||||||
|
+ }
|
||||||
|
+ return 0;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* Return > 0 if an Ex command "name" exists.
|
||||||
|
* Return 2 if there is an exact match.
|
||||||
|
***************
|
||||||
|
*** 2977,3006 ****
|
||||||
|
int i;
|
||||||
|
int j;
|
||||||
|
char_u *p;
|
||||||
|
- static struct cmdmod
|
||||||
|
- {
|
||||||
|
- char *name;
|
||||||
|
- int minlen;
|
||||||
|
- } cmdmods[] = {
|
||||||
|
- {"aboveleft", 3},
|
||||||
|
- {"belowright", 3},
|
||||||
|
- {"botright", 2},
|
||||||
|
- {"browse", 3},
|
||||||
|
- {"confirm", 4},
|
||||||
|
- {"hide", 3},
|
||||||
|
- {"keepalt", 5},
|
||||||
|
- {"keepjumps", 5},
|
||||||
|
- {"keepmarks", 3},
|
||||||
|
- {"leftabove", 5},
|
||||||
|
- {"lockmarks", 3},
|
||||||
|
- {"rightbelow", 6},
|
||||||
|
- {"sandbox", 3},
|
||||||
|
- {"silent", 3},
|
||||||
|
- {"tab", 3},
|
||||||
|
- {"topleft", 2},
|
||||||
|
- {"verbose", 4},
|
||||||
|
- {"vertical", 4},
|
||||||
|
- };
|
||||||
|
|
||||||
|
/* Check command modifiers. */
|
||||||
|
for (i = 0; i < sizeof(cmdmods) / sizeof(struct cmdmod); ++i)
|
||||||
|
--- 3028,3033 ----
|
||||||
|
*** ../vim-7.1.161/src/ex_eval.c Wed Aug 1 15:47:06 2007
|
||||||
|
--- src/ex_eval.c Sat Nov 24 16:34:09 2007
|
||||||
|
***************
|
||||||
|
*** 2269,2277 ****
|
||||||
|
has_loop_cmd(p)
|
||||||
|
char_u *p;
|
||||||
|
{
|
||||||
|
! p = skipwhite(p);
|
||||||
|
! while (*p == ':')
|
||||||
|
! p = skipwhite(p + 1);
|
||||||
|
if ((p[0] == 'w' && p[1] == 'h')
|
||||||
|
|| (p[0] == 'f' && p[1] == 'o' && p[2] == 'r'))
|
||||||
|
return TRUE;
|
||||||
|
--- 2269,2286 ----
|
||||||
|
has_loop_cmd(p)
|
||||||
|
char_u *p;
|
||||||
|
{
|
||||||
|
! int len;
|
||||||
|
!
|
||||||
|
! /* skip modifiers, white space and ':' */
|
||||||
|
! for (;;)
|
||||||
|
! {
|
||||||
|
! while (*p == ' ' || *p == '\t' || *p == ':')
|
||||||
|
! ++p;
|
||||||
|
! len = modifier_len(p);
|
||||||
|
! if (len == 0)
|
||||||
|
! break;
|
||||||
|
! p += len;
|
||||||
|
! }
|
||||||
|
if ((p[0] == 'w' && p[1] == 'h')
|
||||||
|
|| (p[0] == 'f' && p[1] == 'o' && p[2] == 'r'))
|
||||||
|
return TRUE;
|
||||||
|
*** ../vim-7.1.161/src/version.c Sat Nov 24 21:27:33 2007
|
||||||
|
--- src/version.c Sat Nov 24 21:48:38 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 162,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
hundred-and-one symptoms of being an internet addict:
|
||||||
|
144. You eagerly await the update of the "Cool Site of the Day."
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
72
7.1.163
Normal file
72
7.1.163
Normal file
|
|
@ -0,0 +1,72 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.163
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.163
|
||||||
|
Problem: Warning for the unknown option 'bufsecret'.
|
||||||
|
Solution: Remove the lines .vim that use this option. (Andy Wokula)
|
||||||
|
Files: runtime/menu.vim
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.162/runtime/menu.vim Sun May 6 15:21:23 2007
|
||||||
|
--- runtime/menu.vim Mon Nov 19 23:17:11 2007
|
||||||
|
***************
|
||||||
|
*** 2,8 ****
|
||||||
|
" You can also use this as a start for your own set of menus.
|
||||||
|
"
|
||||||
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
|
! " Last Change: 2007 Jan 09
|
||||||
|
|
||||||
|
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
|
||||||
|
" in all modes and avoid side effects from mappings defined by the user.
|
||||||
|
--- 2,8 ----
|
||||||
|
" You can also use this as a start for your own set of menus.
|
||||||
|
"
|
||||||
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
|
! " Last Change: 2007 Nov 19
|
||||||
|
|
||||||
|
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
|
||||||
|
" in all modes and avoid side effects from mappings defined by the user.
|
||||||
|
***************
|
||||||
|
*** 658,664 ****
|
||||||
|
let buf = 1
|
||||||
|
while buf <= bufnr('$')
|
||||||
|
if bufexists(buf) && !isdirectory(bufname(buf)) && buflisted(buf)
|
||||||
|
- \ && !getbufvar(buf, "&bufsecret")
|
||||||
|
let s:bmenu_count = s:bmenu_count + 1
|
||||||
|
endif
|
||||||
|
let buf = buf + 1
|
||||||
|
--- 658,663 ----
|
||||||
|
***************
|
||||||
|
*** 671,677 ****
|
||||||
|
let buf = 1
|
||||||
|
while buf <= bufnr('$')
|
||||||
|
if bufexists(buf) && !isdirectory(bufname(buf)) && buflisted(buf)
|
||||||
|
- \ && !getbufvar(buf, "&bufsecret")
|
||||||
|
call <SID>BMFilename(bufname(buf), buf)
|
||||||
|
endif
|
||||||
|
let buf = buf + 1
|
||||||
|
--- 670,675 ----
|
||||||
|
*** ../vim-7.1.162/src/version.c Sat Nov 24 21:49:19 2007
|
||||||
|
--- src/version.c Thu Nov 29 17:44:08 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 163,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
hundred-and-one symptoms of being an internet addict:
|
||||||
|
158. You get a tuner card so you can watch TV while surfing.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
52
7.1.164
Normal file
52
7.1.164
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.164
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.164
|
||||||
|
Problem: Reading past end of regexp pattern. (Dominique Pelle)
|
||||||
|
Solution: Use utf_ptr2len().
|
||||||
|
Files: src/regexp.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.163/src/regexp.c Sat Aug 11 13:57:31 2007
|
||||||
|
--- src/regexp.c Sat Nov 24 13:23:53 2007
|
||||||
|
***************
|
||||||
|
*** 2770,2776 ****
|
||||||
|
{
|
||||||
|
#ifdef FEAT_MBYTE
|
||||||
|
if (enc_utf8)
|
||||||
|
! prevchr_len += utf_char2len(mb_ptr2char(regparse + prevchr_len));
|
||||||
|
else if (has_mbyte)
|
||||||
|
prevchr_len += (*mb_ptr2len)(regparse + prevchr_len);
|
||||||
|
else
|
||||||
|
--- 2770,2777 ----
|
||||||
|
{
|
||||||
|
#ifdef FEAT_MBYTE
|
||||||
|
if (enc_utf8)
|
||||||
|
! /* exclude composing chars that mb_ptr2len does include */
|
||||||
|
! prevchr_len += utf_ptr2len(regparse + prevchr_len);
|
||||||
|
else if (has_mbyte)
|
||||||
|
prevchr_len += (*mb_ptr2len)(regparse + prevchr_len);
|
||||||
|
else
|
||||||
|
*** ../vim-7.1.163/src/version.c Thu Nov 29 17:46:01 2007
|
||||||
|
--- src/version.c Thu Nov 29 21:25:45 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 164,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
Send $25.00 for handy leaflet on how to make money by selling leaflets
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
177
7.1.165
Normal file
177
7.1.165
Normal file
|
|
@ -0,0 +1,177 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.165
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.165
|
||||||
|
Problem: Crash related to getting X window ID. (Dominique Pelle)
|
||||||
|
Solution: Don't trust the window ID that we got in the past, check it every
|
||||||
|
time.
|
||||||
|
Files: src/os_unix.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.164/src/os_unix.c Thu Aug 30 11:46:46 2007
|
||||||
|
--- src/os_unix.c Thu Nov 29 18:19:56 2007
|
||||||
|
***************
|
||||||
|
*** 310,316 ****
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
! * mch_inchar(): low level input funcion.
|
||||||
|
* Get a characters from the keyboard.
|
||||||
|
* Return the number of characters that are available.
|
||||||
|
* If wtime == 0 do not wait for characters.
|
||||||
|
--- 310,316 ----
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
! * mch_inchar(): low level input function.
|
||||||
|
* Get a characters from the keyboard.
|
||||||
|
* Return the number of characters that are available.
|
||||||
|
* If wtime == 0 do not wait for characters.
|
||||||
|
***************
|
||||||
|
*** 1567,1584 ****
|
||||||
|
#ifdef FEAT_XCLIPBOARD
|
||||||
|
if (xterm_dpy != NULL && x11_window != 0)
|
||||||
|
{
|
||||||
|
! /* Checked it already. */
|
||||||
|
! if (x11_display_from == XD_XTERM)
|
||||||
|
! return OK;
|
||||||
|
!
|
||||||
|
! /*
|
||||||
|
! * If the X11 display was opened here before, for the window where Vim
|
||||||
|
! * was started, close that one now to avoid a memory leak.
|
||||||
|
! */
|
||||||
|
! if (x11_display_from == XD_HERE && x11_display != NULL)
|
||||||
|
! XCloseDisplay(x11_display);
|
||||||
|
! x11_display = xterm_dpy;
|
||||||
|
! x11_display_from = XD_XTERM;
|
||||||
|
if (test_x11_window(x11_display) == FAIL)
|
||||||
|
{
|
||||||
|
/* probably bad $WINDOWID */
|
||||||
|
--- 1567,1585 ----
|
||||||
|
#ifdef FEAT_XCLIPBOARD
|
||||||
|
if (xterm_dpy != NULL && x11_window != 0)
|
||||||
|
{
|
||||||
|
! /* We may have checked it already, but Gnome terminal can move us to
|
||||||
|
! * another window, so we need to check every time. */
|
||||||
|
! if (x11_display_from != XD_XTERM)
|
||||||
|
! {
|
||||||
|
! /*
|
||||||
|
! * If the X11 display was opened here before, for the window where
|
||||||
|
! * Vim was started, close that one now to avoid a memory leak.
|
||||||
|
! */
|
||||||
|
! if (x11_display_from == XD_HERE && x11_display != NULL)
|
||||||
|
! XCloseDisplay(x11_display);
|
||||||
|
! x11_display = xterm_dpy;
|
||||||
|
! x11_display_from = XD_XTERM;
|
||||||
|
! }
|
||||||
|
if (test_x11_window(x11_display) == FAIL)
|
||||||
|
{
|
||||||
|
/* probably bad $WINDOWID */
|
||||||
|
***************
|
||||||
|
*** 2421,2427 ****
|
||||||
|
/*
|
||||||
|
* Set the case of the file name, if it already exists. This will cause the
|
||||||
|
* file name to remain exactly the same.
|
||||||
|
! * Only required for file systems where case is ingored and preserved.
|
||||||
|
*/
|
||||||
|
/*ARGSUSED*/
|
||||||
|
void
|
||||||
|
--- 2422,2428 ----
|
||||||
|
/*
|
||||||
|
* Set the case of the file name, if it already exists. This will cause the
|
||||||
|
* file name to remain exactly the same.
|
||||||
|
! * Only required for file systems where case is ignored and preserved.
|
||||||
|
*/
|
||||||
|
/*ARGSUSED*/
|
||||||
|
void
|
||||||
|
***************
|
||||||
|
*** 4653,4659 ****
|
||||||
|
ret = poll(fds, nfd, towait);
|
||||||
|
# ifdef FEAT_MZSCHEME
|
||||||
|
if (ret == 0 && mzquantum_used)
|
||||||
|
! /* MzThreads scheduling is required and timeout occured */
|
||||||
|
finished = FALSE;
|
||||||
|
# endif
|
||||||
|
|
||||||
|
--- 4654,4660 ----
|
||||||
|
ret = poll(fds, nfd, towait);
|
||||||
|
# ifdef FEAT_MZSCHEME
|
||||||
|
if (ret == 0 && mzquantum_used)
|
||||||
|
! /* MzThreads scheduling is required and timeout occurred */
|
||||||
|
finished = FALSE;
|
||||||
|
# endif
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 4801,4807 ****
|
||||||
|
#endif
|
||||||
|
# ifdef FEAT_MZSCHEME
|
||||||
|
if (ret == 0 && mzquantum_used)
|
||||||
|
! /* loop if MzThreads must be scheduled and timeout occured */
|
||||||
|
finished = FALSE;
|
||||||
|
# endif
|
||||||
|
|
||||||
|
--- 4802,4808 ----
|
||||||
|
#endif
|
||||||
|
# ifdef FEAT_MZSCHEME
|
||||||
|
if (ret == 0 && mzquantum_used)
|
||||||
|
! /* loop if MzThreads must be scheduled and timeout occurred */
|
||||||
|
finished = FALSE;
|
||||||
|
# endif
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 5191,5197 ****
|
||||||
|
{
|
||||||
|
/* When using system() always add extra quotes, because the shell
|
||||||
|
* is started twice. Otherwise put a backslash before special
|
||||||
|
! * characters, except insice ``. */
|
||||||
|
#ifdef USE_SYSTEM
|
||||||
|
STRCAT(command, " \"");
|
||||||
|
STRCAT(command, pat[i]);
|
||||||
|
--- 5192,5198 ----
|
||||||
|
{
|
||||||
|
/* When using system() always add extra quotes, because the shell
|
||||||
|
* is started twice. Otherwise put a backslash before special
|
||||||
|
! * characters, except inside ``. */
|
||||||
|
#ifdef USE_SYSTEM
|
||||||
|
STRCAT(command, " \"");
|
||||||
|
STRCAT(command, pat[i]);
|
||||||
|
***************
|
||||||
|
*** 5675,5681 ****
|
||||||
|
/* gpm library tries to handling TSTP causes
|
||||||
|
* problems. Anyways, we close connection to Gpm whenever
|
||||||
|
* we are going to suspend or starting an external process
|
||||||
|
! * so we should'nt have problem with this
|
||||||
|
*/
|
||||||
|
signal(SIGTSTP, restricted ? SIG_IGN : SIG_DFL);
|
||||||
|
return 1; /* succeed */
|
||||||
|
--- 5676,5682 ----
|
||||||
|
/* gpm library tries to handling TSTP causes
|
||||||
|
* problems. Anyways, we close connection to Gpm whenever
|
||||||
|
* we are going to suspend or starting an external process
|
||||||
|
! * so we shouldn't have problem with this
|
||||||
|
*/
|
||||||
|
signal(SIGTSTP, restricted ? SIG_IGN : SIG_DFL);
|
||||||
|
return 1; /* succeed */
|
||||||
|
*** ../vim-7.1.164/src/version.c Thu Nov 29 21:26:38 2007
|
||||||
|
--- src/version.c Sat Dec 1 17:17:20 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 165,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
"Hit any key to continue" is very confusing when you have two keyboards.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
80
7.1.166
Normal file
80
7.1.166
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.166
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.166
|
||||||
|
Problem: Memory leak for using "gp" in Visual mode.
|
||||||
|
Solution: Free memory in put_register(). (Dominique Pelle)
|
||||||
|
Files: src/ops.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.165/src/ops.c Thu Nov 8 10:35:02 2007
|
||||||
|
--- src/ops.c Sun Nov 25 15:17:43 2007
|
||||||
|
***************
|
||||||
|
*** 927,934 ****
|
||||||
|
int name;
|
||||||
|
int copy; /* make a copy, if FALSE make register empty. */
|
||||||
|
{
|
||||||
|
! static struct yankreg *reg;
|
||||||
|
! int i;
|
||||||
|
|
||||||
|
#ifdef FEAT_CLIPBOARD
|
||||||
|
/* When Visual area changed, may have to update selection. Obtain the
|
||||||
|
--- 927,934 ----
|
||||||
|
int name;
|
||||||
|
int copy; /* make a copy, if FALSE make register empty. */
|
||||||
|
{
|
||||||
|
! struct yankreg *reg;
|
||||||
|
! int i;
|
||||||
|
|
||||||
|
#ifdef FEAT_CLIPBOARD
|
||||||
|
/* When Visual area changed, may have to update selection. Obtain the
|
||||||
|
***************
|
||||||
|
*** 967,973 ****
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
! * Put "reg" into register "name". Free any previous contents.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
put_register(name, reg)
|
||||||
|
--- 967,973 ----
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
! * Put "reg" into register "name". Free any previous contents and "reg".
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
put_register(name, reg)
|
||||||
|
***************
|
||||||
|
*** 977,982 ****
|
||||||
|
--- 977,983 ----
|
||||||
|
get_yank_register(name, 0);
|
||||||
|
free_yank_all();
|
||||||
|
*y_current = *(struct yankreg *)reg;
|
||||||
|
+ vim_free(reg);
|
||||||
|
|
||||||
|
# ifdef FEAT_CLIPBOARD
|
||||||
|
/* Send text written to clipboard register to the clipboard. */
|
||||||
|
*** ../vim-7.1.165/src/version.c Sat Dec 1 17:18:45 2007
|
||||||
|
--- src/version.c Sat Dec 1 21:11:25 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 166,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
An error has occurred. Hit any user to continue.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
80
7.1.167
Normal file
80
7.1.167
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.167
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.167
|
||||||
|
Problem: Xxd crashes when using "xxd -b -c 110". (Debian bug 452789)
|
||||||
|
Solution: Allocate more memory. Fix check for maximum number of columns.
|
||||||
|
Files: src/xxd/xxd.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.166/src/xxd/xxd.c Thu May 10 19:07:42 2007
|
||||||
|
--- src/xxd/xxd.c Thu Nov 29 21:05:16 2007
|
||||||
|
***************
|
||||||
|
*** 212,218 ****
|
||||||
|
|
||||||
|
#define TRY_SEEK /* attempt to use lseek, or skip forward by reading */
|
||||||
|
#define COLS 256 /* change here, if you ever need more columns */
|
||||||
|
! #define LLEN (9 + (5*COLS-1)/2 + 2 + COLS)
|
||||||
|
|
||||||
|
char hexxa[] = "0123456789abcdef0123456789ABCDEF", *hexx = hexxa;
|
||||||
|
|
||||||
|
--- 212,218 ----
|
||||||
|
|
||||||
|
#define TRY_SEEK /* attempt to use lseek, or skip forward by reading */
|
||||||
|
#define COLS 256 /* change here, if you ever need more columns */
|
||||||
|
! #define LLEN (11 + (9*COLS-1)/1 + COLS + 2)
|
||||||
|
|
||||||
|
char hexxa[] = "0123456789abcdef0123456789ABCDEF", *hexx = hexxa;
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 590,596 ****
|
||||||
|
default: octspergrp = 0; break;
|
||||||
|
}
|
||||||
|
|
||||||
|
! if (cols < 1 || (!hextype && (cols > COLS)))
|
||||||
|
{
|
||||||
|
fprintf(stderr, "%s: invalid number of columns (max. %d).\n", pname, COLS);
|
||||||
|
exit(1);
|
||||||
|
--- 590,597 ----
|
||||||
|
default: octspergrp = 0; break;
|
||||||
|
}
|
||||||
|
|
||||||
|
! if (cols < 1 || ((hextype == HEX_NORMAL || hextype == HEX_BITS)
|
||||||
|
! && (cols > COLS)))
|
||||||
|
{
|
||||||
|
fprintf(stderr, "%s: invalid number of columns (max. %d).\n", pname, COLS);
|
||||||
|
exit(1);
|
||||||
|
***************
|
||||||
|
*** 750,755 ****
|
||||||
|
--- 751,757 ----
|
||||||
|
}
|
||||||
|
if (ebcdic)
|
||||||
|
e = (e < 64) ? '.' : etoa64[e-64];
|
||||||
|
+ /* When changing this update definition of LLEN above. */
|
||||||
|
l[11 + (grplen * cols - 1)/octspergrp + p] =
|
||||||
|
#ifdef __MVS__
|
||||||
|
(e >= 64)
|
||||||
|
*** ../vim-7.1.166/src/version.c Sat Dec 1 21:12:23 2007
|
||||||
|
--- src/version.c Mon Dec 3 21:30:31 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 167,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
hundred-and-one symptoms of being an internet addict:
|
||||||
|
178. You look for an icon to double-click to open your bedroom window.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
112
7.1.168
Normal file
112
7.1.168
Normal file
|
|
@ -0,0 +1,112 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.168 (extra)
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.168 (extra)
|
||||||
|
Problem: Win32 GUI: Since patch 7.1.095, when the Vim window does not have
|
||||||
|
focus, clicking in it doesn't position the cursor. (Juergen
|
||||||
|
Kraemer)
|
||||||
|
Solution: Don't reset s_button_pending just after receiving focus.
|
||||||
|
Files: src/gui_w48.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.167/src/gui_w48.c Tue Nov 20 17:21:28 2007
|
||||||
|
--- src/gui_w48.c Mon Dec 3 22:13:16 2007
|
||||||
|
***************
|
||||||
|
*** 290,295 ****
|
||||||
|
--- 290,300 ----
|
||||||
|
|
||||||
|
/* Local variables */
|
||||||
|
static int s_button_pending = -1;
|
||||||
|
+
|
||||||
|
+ /* s_getting_focus is set when we got focus but didn't see mouse-up event yet,
|
||||||
|
+ * so don't reset s_button_pending. */
|
||||||
|
+ static int s_getting_focus = FALSE;
|
||||||
|
+
|
||||||
|
static int s_x_pending;
|
||||||
|
static int s_y_pending;
|
||||||
|
static UINT s_kFlags_pending;
|
||||||
|
***************
|
||||||
|
*** 671,676 ****
|
||||||
|
--- 676,683 ----
|
||||||
|
{
|
||||||
|
int vim_modifiers = 0x0;
|
||||||
|
|
||||||
|
+ s_getting_focus = FALSE;
|
||||||
|
+
|
||||||
|
if (keyFlags & MK_SHIFT)
|
||||||
|
vim_modifiers |= MOUSE_SHIFT;
|
||||||
|
if (keyFlags & MK_CONTROL)
|
||||||
|
***************
|
||||||
|
*** 792,797 ****
|
||||||
|
--- 799,805 ----
|
||||||
|
{
|
||||||
|
int button;
|
||||||
|
|
||||||
|
+ s_getting_focus = FALSE;
|
||||||
|
if (s_button_pending > -1)
|
||||||
|
{
|
||||||
|
/* Delayed action for mouse down event */
|
||||||
|
***************
|
||||||
|
*** 1951,1958 ****
|
||||||
|
allow_scrollbar = FALSE;
|
||||||
|
|
||||||
|
/* Clear pending mouse button, the release event may have been
|
||||||
|
! * taken by the dialog window. */
|
||||||
|
! s_button_pending = -1;
|
||||||
|
|
||||||
|
return OK;
|
||||||
|
}
|
||||||
|
--- 1959,1968 ----
|
||||||
|
allow_scrollbar = FALSE;
|
||||||
|
|
||||||
|
/* Clear pending mouse button, the release event may have been
|
||||||
|
! * taken by the dialog window. But don't do this when getting
|
||||||
|
! * focus, we need the mouse-up event then. */
|
||||||
|
! if (!s_getting_focus)
|
||||||
|
! s_button_pending = -1;
|
||||||
|
|
||||||
|
return OK;
|
||||||
|
}
|
||||||
|
***************
|
||||||
|
*** 2702,2707 ****
|
||||||
|
--- 2712,2718 ----
|
||||||
|
HWND hwndOldFocus)
|
||||||
|
{
|
||||||
|
gui_focus_change(TRUE);
|
||||||
|
+ s_getting_focus = TRUE;
|
||||||
|
(void)MyWindowProc(hwnd, WM_SETFOCUS, (WPARAM)hwndOldFocus, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 2711,2716 ****
|
||||||
|
--- 2722,2728 ----
|
||||||
|
HWND hwndNewFocus)
|
||||||
|
{
|
||||||
|
gui_focus_change(FALSE);
|
||||||
|
+ s_getting_focus = FALSE;
|
||||||
|
(void)MyWindowProc(hwnd, WM_KILLFOCUS, (WPARAM)hwndNewFocus, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
*** ../vim-7.1.167/src/version.c Mon Dec 3 21:31:56 2007
|
||||||
|
--- src/version.c Mon Dec 3 22:16:32 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 168,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
Rule #1: Don't give somebody a tool that he's going to hurt himself with.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
75
7.1.169
Normal file
75
7.1.169
Normal file
|
|
@ -0,0 +1,75 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.169
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.169
|
||||||
|
Problem: Using uninitialized variable when system() fails. (Dominique
|
||||||
|
Pelle)
|
||||||
|
Solution: Let system() return an empty string when it fails.
|
||||||
|
Files: src/eval.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.168/src/eval.c Thu Nov 8 20:47:34 2007
|
||||||
|
--- src/eval.c Fri Nov 30 21:01:26 2007
|
||||||
|
***************
|
||||||
|
*** 15826,15832 ****
|
||||||
|
FILE *fd;
|
||||||
|
|
||||||
|
if (check_restricted() || check_secure())
|
||||||
|
! return;
|
||||||
|
|
||||||
|
if (argvars[1].v_type != VAR_UNKNOWN)
|
||||||
|
{
|
||||||
|
--- 15826,15832 ----
|
||||||
|
FILE *fd;
|
||||||
|
|
||||||
|
if (check_restricted() || check_secure())
|
||||||
|
! goto done;
|
||||||
|
|
||||||
|
if (argvars[1].v_type != VAR_UNKNOWN)
|
||||||
|
{
|
||||||
|
***************
|
||||||
|
*** 15837,15843 ****
|
||||||
|
if ((infile = vim_tempname('i')) == NULL)
|
||||||
|
{
|
||||||
|
EMSG(_(e_notmp));
|
||||||
|
! return;
|
||||||
|
}
|
||||||
|
|
||||||
|
fd = mch_fopen((char *)infile, WRITEBIN);
|
||||||
|
--- 15837,15843 ----
|
||||||
|
if ((infile = vim_tempname('i')) == NULL)
|
||||||
|
{
|
||||||
|
EMSG(_(e_notmp));
|
||||||
|
! goto done;
|
||||||
|
}
|
||||||
|
|
||||||
|
fd = mch_fopen((char *)infile, WRITEBIN);
|
||||||
|
*** ../vim-7.1.168/src/version.c Mon Dec 3 22:20:17 2007
|
||||||
|
--- src/version.c Fri Dec 7 17:07:32 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 169,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
% cat /usr/include/sys/errno.h
|
||||||
|
#define EPERM 1 /* Operation not permitted */
|
||||||
|
#define ENOENT 2 /* No such file or directory */
|
||||||
|
#define ESRCH 3 /* No such process */
|
||||||
|
[...]
|
||||||
|
#define EMACS 666 /* Too many macros */
|
||||||
|
%
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
58
7.1.170
Normal file
58
7.1.170
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.170
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.170
|
||||||
|
Problem: Valgrind warning for overlapping arguments for strcpy().
|
||||||
|
Solution: Use mch_memmove() instead. (Dominique Pelle)
|
||||||
|
Files: src/getchar.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.169/src/getchar.c Thu Sep 13 18:25:08 2007
|
||||||
|
--- src/getchar.c Mon Dec 3 20:42:29 2007
|
||||||
|
***************
|
||||||
|
*** 253,260 ****
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if (buf->bh_index != 0)
|
||||||
|
! STRCPY(buf->bh_first.b_next->b_str,
|
||||||
|
! buf->bh_first.b_next->b_str + buf->bh_index);
|
||||||
|
buf->bh_index = 0;
|
||||||
|
|
||||||
|
if (buf->bh_space >= (int)slen)
|
||||||
|
--- 253,261 ----
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if (buf->bh_index != 0)
|
||||||
|
! mch_memmove(buf->bh_first.b_next->b_str,
|
||||||
|
! buf->bh_first.b_next->b_str + buf->bh_index,
|
||||||
|
! STRLEN(buf->bh_first.b_next->b_str + buf->bh_index) + 1);
|
||||||
|
buf->bh_index = 0;
|
||||||
|
|
||||||
|
if (buf->bh_space >= (int)slen)
|
||||||
|
*** ../vim-7.1.169/src/version.c Fri Dec 7 17:08:35 2007
|
||||||
|
--- src/version.c Fri Dec 7 17:27:13 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 170,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
Some of the well know MS-Windows errors:
|
||||||
|
ESLEEP Operator fell asleep
|
||||||
|
ENOERR No error yet
|
||||||
|
EDOLLAR OS too expensive
|
||||||
|
EWINDOWS MS-Windows loaded, system in danger
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
79
7.1.171
Normal file
79
7.1.171
Normal file
|
|
@ -0,0 +1,79 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.171
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.171
|
||||||
|
Problem: Reading one byte before allocated memory.
|
||||||
|
Solution: Check index not to become negative. (Dominique Pelle)
|
||||||
|
Files: src/ex_getln.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.170/src/ex_getln.c Tue Oct 30 17:36:31 2007
|
||||||
|
--- src/ex_getln.c Tue Dec 4 21:49:24 2007
|
||||||
|
***************
|
||||||
|
*** 1186,1195 ****
|
||||||
|
case K_LEFT:
|
||||||
|
case K_S_LEFT:
|
||||||
|
case K_C_LEFT:
|
||||||
|
do
|
||||||
|
{
|
||||||
|
- if (ccline.cmdpos == 0)
|
||||||
|
- break;
|
||||||
|
--ccline.cmdpos;
|
||||||
|
#ifdef FEAT_MBYTE
|
||||||
|
if (has_mbyte) /* move to first byte of char */
|
||||||
|
--- 1186,1195 ----
|
||||||
|
case K_LEFT:
|
||||||
|
case K_S_LEFT:
|
||||||
|
case K_C_LEFT:
|
||||||
|
+ if (ccline.cmdpos == 0)
|
||||||
|
+ goto cmdline_not_changed;
|
||||||
|
do
|
||||||
|
{
|
||||||
|
--ccline.cmdpos;
|
||||||
|
#ifdef FEAT_MBYTE
|
||||||
|
if (has_mbyte) /* move to first byte of char */
|
||||||
|
***************
|
||||||
|
*** 1198,1204 ****
|
||||||
|
#endif
|
||||||
|
ccline.cmdspos -= cmdline_charsize(ccline.cmdpos);
|
||||||
|
}
|
||||||
|
! while ((c == K_S_LEFT || c == K_C_LEFT
|
||||||
|
|| (mod_mask & (MOD_MASK_SHIFT|MOD_MASK_CTRL)))
|
||||||
|
&& ccline.cmdbuff[ccline.cmdpos - 1] != ' ');
|
||||||
|
#ifdef FEAT_MBYTE
|
||||||
|
--- 1198,1205 ----
|
||||||
|
#endif
|
||||||
|
ccline.cmdspos -= cmdline_charsize(ccline.cmdpos);
|
||||||
|
}
|
||||||
|
! while (ccline.cmdpos > 0
|
||||||
|
! && (c == K_S_LEFT || c == K_C_LEFT
|
||||||
|
|| (mod_mask & (MOD_MASK_SHIFT|MOD_MASK_CTRL)))
|
||||||
|
&& ccline.cmdbuff[ccline.cmdpos - 1] != ' ');
|
||||||
|
#ifdef FEAT_MBYTE
|
||||||
|
*** ../vim-7.1.170/src/version.c Fri Dec 7 17:30:04 2007
|
||||||
|
--- src/version.c Fri Dec 7 20:00:06 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 171,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
Some of the well know MS-Windows errors:
|
||||||
|
EMULTI Multitasking attempted, system confused
|
||||||
|
EKEYBOARD Keyboard locked, try getting out of this one!
|
||||||
|
EXPLAIN Unexplained error, please tell us what happened
|
||||||
|
EFUTURE Reserved for our future mistakes
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
50
7.1.172
Normal file
50
7.1.172
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.172
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.172
|
||||||
|
Problem: When 'buftype' is "acwrite" Vim still checks if the file or
|
||||||
|
directory exists before overwriting.
|
||||||
|
Solution: Don't check for overwriting when the buffer name is not a file
|
||||||
|
name.
|
||||||
|
Files: src/ex_cmds.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.171/src/ex_cmds.c Tue Nov 20 18:03:34 2007
|
||||||
|
--- src/ex_cmds.c Fri Dec 7 22:13:32 2007
|
||||||
|
***************
|
||||||
|
*** 2732,2737 ****
|
||||||
|
--- 2732,2740 ----
|
||||||
|
&& vim_strchr(p_cpo, CPO_OVERNEW) == NULL)
|
||||||
|
|| (buf->b_flags & BF_READERR))
|
||||||
|
&& !p_wa
|
||||||
|
+ #ifdef FEAT_QUICKFIX
|
||||||
|
+ && !bt_nofile(buf)
|
||||||
|
+ #endif
|
||||||
|
&& vim_fexists(ffname))
|
||||||
|
{
|
||||||
|
if (!eap->forceit && !eap->append)
|
||||||
|
*** ../vim-7.1.171/src/version.c Fri Dec 7 20:28:13 2007
|
||||||
|
--- src/version.c Sat Dec 8 22:18:54 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 172,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
hundred-and-one symptoms of being an internet addict:
|
||||||
|
206. You religiously respond immediately to e-mail, while ignoring
|
||||||
|
your growing pile of snail mail.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
61
7.1.173
Normal file
61
7.1.173
Normal file
|
|
@ -0,0 +1,61 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.173
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.173
|
||||||
|
Problem: Accessing freed memory. (Dominique Pelle)
|
||||||
|
Solution: Don't call reg_getline() to check if a line is the first in the
|
||||||
|
file.
|
||||||
|
Files: src/regexp.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.172/src/regexp.c Thu Nov 29 21:26:38 2007
|
||||||
|
--- src/regexp.c Sat Dec 8 15:54:05 2007
|
||||||
|
***************
|
||||||
|
*** 3810,3820 ****
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RE_BOF:
|
||||||
|
! /* Passing -1 to the getline() function provided for the search
|
||||||
|
! * should always return NULL if the current line is the first
|
||||||
|
! * line of the file. */
|
||||||
|
if (reglnum != 0 || reginput != regline
|
||||||
|
! || (REG_MULTI && reg_getline((linenr_T)-1) != NULL))
|
||||||
|
status = RA_NOMATCH;
|
||||||
|
break;
|
||||||
|
|
||||||
|
--- 3810,3820 ----
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RE_BOF:
|
||||||
|
! /* We're not at the beginning of the file when below the first
|
||||||
|
! * line where we started, not at the start of the line or we
|
||||||
|
! * didn't start at the first line of the buffer. */
|
||||||
|
if (reglnum != 0 || reginput != regline
|
||||||
|
! || (REG_MULTI && reg_firstlnum > 1))
|
||||||
|
status = RA_NOMATCH;
|
||||||
|
break;
|
||||||
|
|
||||||
|
*** ../vim-7.1.172/src/version.c Sat Dec 8 22:20:24 2007
|
||||||
|
--- src/version.c Sun Dec 9 19:24:36 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 173,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
hundred-and-one symptoms of being an internet addict:
|
||||||
|
213. Your kids start referring to you as "that guy in front of the monitor."
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
71
7.1.174
Normal file
71
7.1.174
Normal file
|
|
@ -0,0 +1,71 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.174
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.174
|
||||||
|
Problem: Writing NUL past end of a buffer.
|
||||||
|
Solution: Copy one byte less when using strncat(). (Dominuque Pelle)
|
||||||
|
Files: src/ex_cmds.c, src/ex_docmd.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.173/src/ex_cmds.c Sat Dec 8 22:20:24 2007
|
||||||
|
--- src/ex_cmds.c Fri Dec 7 22:13:32 2007
|
||||||
|
***************
|
||||||
|
*** 1650,1656 ****
|
||||||
|
{
|
||||||
|
vim_snprintf((char *)IObuff, IOSIZE, _("%sviminfo: %s in line: "),
|
||||||
|
errnum, message);
|
||||||
|
! STRNCAT(IObuff, line, IOSIZE - STRLEN(IObuff));
|
||||||
|
if (IObuff[STRLEN(IObuff) - 1] == '\n')
|
||||||
|
IObuff[STRLEN(IObuff) - 1] = NUL;
|
||||||
|
emsg(IObuff);
|
||||||
|
--- 1650,1656 ----
|
||||||
|
{
|
||||||
|
vim_snprintf((char *)IObuff, IOSIZE, _("%sviminfo: %s in line: "),
|
||||||
|
errnum, message);
|
||||||
|
! STRNCAT(IObuff, line, IOSIZE - STRLEN(IObuff) - 1);
|
||||||
|
if (IObuff[STRLEN(IObuff) - 1] == '\n')
|
||||||
|
IObuff[STRLEN(IObuff) - 1] = NUL;
|
||||||
|
emsg(IObuff);
|
||||||
|
*** ../vim-7.1.173/src/ex_docmd.c Sat Nov 24 21:49:19 2007
|
||||||
|
--- src/ex_docmd.c Fri Dec 7 21:01:03 2007
|
||||||
|
***************
|
||||||
|
*** 2660,2666 ****
|
||||||
|
errormsg = IObuff;
|
||||||
|
}
|
||||||
|
STRCAT(errormsg, ": ");
|
||||||
|
! STRNCAT(errormsg, *cmdlinep, IOSIZE - STRLEN(IObuff));
|
||||||
|
}
|
||||||
|
emsg(errormsg);
|
||||||
|
}
|
||||||
|
--- 2660,2666 ----
|
||||||
|
errormsg = IObuff;
|
||||||
|
}
|
||||||
|
STRCAT(errormsg, ": ");
|
||||||
|
! STRNCAT(errormsg, *cmdlinep, IOSIZE - STRLEN(IObuff) - 1);
|
||||||
|
}
|
||||||
|
emsg(errormsg);
|
||||||
|
}
|
||||||
|
*** ../vim-7.1.173/src/version.c Sun Dec 9 19:25:35 2007
|
||||||
|
--- src/version.c Sun Dec 9 19:36:50 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 174,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
hundred-and-one symptoms of being an internet addict:
|
||||||
|
214. Your MCI "Circle of Friends" are all Hayes-compatible.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
179
7.1.175
Normal file
179
7.1.175
Normal file
|
|
@ -0,0 +1,179 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.175
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.175
|
||||||
|
Problem: <BS> doesn't work with some combination of 'sts', 'linebreak' and
|
||||||
|
'backspace'. (Francois Ingelrest)
|
||||||
|
Solution: When adding white space results in not moving back delete one
|
||||||
|
character.
|
||||||
|
Files: src/edit.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.174/src/edit.c Sat Nov 24 21:27:33 2007
|
||||||
|
--- src/edit.c Fri Dec 7 21:32:48 2007
|
||||||
|
***************
|
||||||
|
*** 8189,8194 ****
|
||||||
|
--- 8189,8217 ----
|
||||||
|
AppendCharToRedobuff(K_DEL);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ static void ins_bs_one __ARGS((colnr_T *vcolp));
|
||||||
|
+
|
||||||
|
+ /*
|
||||||
|
+ * Delete one character for ins_bs().
|
||||||
|
+ */
|
||||||
|
+ static void
|
||||||
|
+ ins_bs_one(vcolp)
|
||||||
|
+ colnr_T *vcolp;
|
||||||
|
+ {
|
||||||
|
+ dec_cursor();
|
||||||
|
+ getvcol(curwin, &curwin->w_cursor, vcolp, NULL, NULL);
|
||||||
|
+ if (State & REPLACE_FLAG)
|
||||||
|
+ {
|
||||||
|
+ /* Don't delete characters before the insert point when in
|
||||||
|
+ * Replace mode */
|
||||||
|
+ if (curwin->w_cursor.lnum != Insstart.lnum
|
||||||
|
+ || curwin->w_cursor.col >= Insstart.col)
|
||||||
|
+ replace_do_bs();
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ (void)del_char(FALSE);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* Handle Backspace, delete-word and delete-line in Insert mode.
|
||||||
|
* Return TRUE when backspace was actually used.
|
||||||
|
***************
|
||||||
|
*** 8418,8426 ****
|
||||||
|
int ts;
|
||||||
|
colnr_T vcol;
|
||||||
|
colnr_T want_vcol;
|
||||||
|
! #if 0
|
||||||
|
! int extra = 0;
|
||||||
|
! #endif
|
||||||
|
|
||||||
|
*inserted_space_p = FALSE;
|
||||||
|
if (p_sta && in_indent)
|
||||||
|
--- 8441,8447 ----
|
||||||
|
int ts;
|
||||||
|
colnr_T vcol;
|
||||||
|
colnr_T want_vcol;
|
||||||
|
! colnr_T start_vcol;
|
||||||
|
|
||||||
|
*inserted_space_p = FALSE;
|
||||||
|
if (p_sta && in_indent)
|
||||||
|
***************
|
||||||
|
*** 8431,8436 ****
|
||||||
|
--- 8452,8458 ----
|
||||||
|
* 'showbreak' may get in the way, need to get the last column of
|
||||||
|
* the previous character. */
|
||||||
|
getvcol(curwin, &curwin->w_cursor, &vcol, NULL, NULL);
|
||||||
|
+ start_vcol = vcol;
|
||||||
|
dec_cursor();
|
||||||
|
getvcol(curwin, &curwin->w_cursor, NULL, NULL, &want_vcol);
|
||||||
|
inc_cursor();
|
||||||
|
***************
|
||||||
|
*** 8439,8468 ****
|
||||||
|
/* delete characters until we are at or before want_vcol */
|
||||||
|
while (vcol > want_vcol
|
||||||
|
&& (cc = *(ml_get_cursor() - 1), vim_iswhite(cc)))
|
||||||
|
! {
|
||||||
|
! dec_cursor();
|
||||||
|
! getvcol(curwin, &curwin->w_cursor, &vcol, NULL, NULL);
|
||||||
|
! if (State & REPLACE_FLAG)
|
||||||
|
! {
|
||||||
|
! /* Don't delete characters before the insert point when in
|
||||||
|
! * Replace mode */
|
||||||
|
! if (curwin->w_cursor.lnum != Insstart.lnum
|
||||||
|
! || curwin->w_cursor.col >= Insstart.col)
|
||||||
|
! {
|
||||||
|
! #if 0 /* what was this for? It causes problems when sw != ts. */
|
||||||
|
! if (State == REPLACE && (int)vcol < want_vcol)
|
||||||
|
! {
|
||||||
|
! (void)del_char(FALSE);
|
||||||
|
! extra = 2; /* don't pop too much */
|
||||||
|
! }
|
||||||
|
! else
|
||||||
|
! #endif
|
||||||
|
! replace_do_bs();
|
||||||
|
! }
|
||||||
|
! }
|
||||||
|
! else
|
||||||
|
! (void)del_char(FALSE);
|
||||||
|
! }
|
||||||
|
|
||||||
|
/* insert extra spaces until we are at want_vcol */
|
||||||
|
while (vcol < want_vcol)
|
||||||
|
--- 8461,8467 ----
|
||||||
|
/* delete characters until we are at or before want_vcol */
|
||||||
|
while (vcol > want_vcol
|
||||||
|
&& (cc = *(ml_get_cursor() - 1), vim_iswhite(cc)))
|
||||||
|
! ins_bs_one(&vcol);
|
||||||
|
|
||||||
|
/* insert extra spaces until we are at want_vcol */
|
||||||
|
while (vcol < want_vcol)
|
||||||
|
***************
|
||||||
|
*** 8479,8500 ****
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
ins_str((char_u *)" ");
|
||||||
|
! if ((State & REPLACE_FLAG) /* && extra <= 1 */)
|
||||||
|
! {
|
||||||
|
! #if 0
|
||||||
|
! if (extra)
|
||||||
|
! replace_push_off(NUL);
|
||||||
|
! else
|
||||||
|
! #endif
|
||||||
|
! replace_push(NUL);
|
||||||
|
! }
|
||||||
|
! #if 0
|
||||||
|
! if (extra == 2)
|
||||||
|
! extra = 1;
|
||||||
|
! #endif
|
||||||
|
}
|
||||||
|
getvcol(curwin, &curwin->w_cursor, &vcol, NULL, NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
--- 8478,8493 ----
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
ins_str((char_u *)" ");
|
||||||
|
! if ((State & REPLACE_FLAG))
|
||||||
|
! replace_push(NUL);
|
||||||
|
}
|
||||||
|
getvcol(curwin, &curwin->w_cursor, &vcol, NULL, NULL);
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ /* If we are now back where we started delete one character. Can
|
||||||
|
+ * happen when using 'sts' and 'linebreak'. */
|
||||||
|
+ if (vcol >= start_vcol)
|
||||||
|
+ ins_bs_one(&vcol);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*** ../vim-7.1.174/src/version.c Sun Dec 9 19:37:37 2007
|
||||||
|
--- src/version.c Sun Dec 9 20:24:11 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 175,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
hundred-and-one symptoms of being an internet addict:
|
||||||
|
215. Your mouse-clicking forearm rivals Popeye's.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
88
7.1.176
Normal file
88
7.1.176
Normal file
|
|
@ -0,0 +1,88 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.176
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.176
|
||||||
|
Problem: Building with Aap fails when the "compiledby" argument contains
|
||||||
|
'<' or '>' characters. (Alex Yeh)
|
||||||
|
Solution: Change how quoting is done in the Aap recipe.
|
||||||
|
Files: src/main.aap
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.175/src/main.aap Tue Sep 25 22:13:14 2007
|
||||||
|
--- src/main.aap Fri Dec 7 17:03:31 2007
|
||||||
|
***************
|
||||||
|
*** 63,70 ****
|
||||||
|
@else:
|
||||||
|
@ arch = "ppc"
|
||||||
|
:print Building for $arch system
|
||||||
|
:sys CONFIG_STATUS=auto/config.status
|
||||||
|
! ./configure.aap `file2string("config.arg")`
|
||||||
|
--with-mac-arch=$arch
|
||||||
|
--cache-file=auto/config.cache
|
||||||
|
|
||||||
|
--- 63,71 ----
|
||||||
|
@else:
|
||||||
|
@ arch = "ppc"
|
||||||
|
:print Building for $arch system
|
||||||
|
+ config_args = `file2string("config.arg")`
|
||||||
|
:sys CONFIG_STATUS=auto/config.status
|
||||||
|
! ./configure.aap $config_args
|
||||||
|
--with-mac-arch=$arch
|
||||||
|
--cache-file=auto/config.cache
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 440,450 ****
|
||||||
|
:print >> $target char_u *all_lflags = (char_u *)"$linkcmd";
|
||||||
|
@if _no.get("COMPILEDBY"):
|
||||||
|
who = $COMPILEDBY
|
||||||
|
! where = ''
|
||||||
|
@else:
|
||||||
|
:syseval whoami | :eval re.sub("\n", "", stdin) | :assign who
|
||||||
|
|
||||||
|
:syseval hostname | :eval re.sub("\n", "", stdin) | :assign where
|
||||||
|
:print >> $target char_u *compiled_user = (char_u *)"$who";
|
||||||
|
:print >> $target char_u *compiled_sys = (char_u *)"$where";
|
||||||
|
|
||||||
|
--- 441,453 ----
|
||||||
|
:print >> $target char_u *all_lflags = (char_u *)"$linkcmd";
|
||||||
|
@if _no.get("COMPILEDBY"):
|
||||||
|
who = $COMPILEDBY
|
||||||
|
! where =
|
||||||
|
@else:
|
||||||
|
:syseval whoami | :eval re.sub("\n", "", stdin) | :assign who
|
||||||
|
|
||||||
|
:syseval hostname | :eval re.sub("\n", "", stdin) | :assign where
|
||||||
|
+ @who = string.replace(who, '"', '\\"')
|
||||||
|
+ @where = string.replace(where, '"', '\\"')
|
||||||
|
:print >> $target char_u *compiled_user = (char_u *)"$who";
|
||||||
|
:print >> $target char_u *compiled_sys = (char_u *)"$where";
|
||||||
|
|
||||||
|
*** ../vim-7.1.175/src/version.c Sun Dec 9 20:25:59 2007
|
||||||
|
--- src/version.c Mon Dec 31 16:40:01 2007
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 176,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
E M A C S
|
||||||
|
s e l o h
|
||||||
|
c t t n i
|
||||||
|
a a t f
|
||||||
|
p r t
|
||||||
|
e o
|
||||||
|
l
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
193
7.1.177
Normal file
193
7.1.177
Normal file
|
|
@ -0,0 +1,193 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.177
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.177
|
||||||
|
Problem: Freeing memory twice when in debug mode while reading a script.
|
||||||
|
Solution: Ignore script input while in debug mode.
|
||||||
|
Files: src/ex_cmds2.c, src/getchar.c, src/globals.h
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.176/src/ex_cmds2.c Thu May 10 20:55:46 2007
|
||||||
|
--- src/ex_cmds2.c Tue Jan 1 14:13:41 2008
|
||||||
|
***************
|
||||||
|
*** 93,98 ****
|
||||||
|
--- 93,100 ----
|
||||||
|
int save_emsg_silent = emsg_silent;
|
||||||
|
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
|
||||||
|
***************
|
||||||
|
*** 159,176 ****
|
||||||
|
* This makes sure we get input from the user here and don't interfere
|
||||||
|
* with the commands being executed. Reset "ex_normal_busy" to avoid
|
||||||
|
* the side effects of using ":normal". Save the stuff buffer and make
|
||||||
|
! * it empty. */
|
||||||
|
# ifdef FEAT_EX_EXTRA
|
||||||
|
save_ex_normal_busy = ex_normal_busy;
|
||||||
|
ex_normal_busy = 0;
|
||||||
|
# endif
|
||||||
|
if (!debug_greedy)
|
||||||
|
save_typeahead(&typeaheadbuf);
|
||||||
|
|
||||||
|
cmdline = getcmdline_prompt('>', NULL, 0, EXPAND_NOTHING, NULL);
|
||||||
|
|
||||||
|
! if (!debug_greedy)
|
||||||
|
restore_typeahead(&typeaheadbuf);
|
||||||
|
# ifdef FEAT_EX_EXTRA
|
||||||
|
ex_normal_busy = save_ex_normal_busy;
|
||||||
|
# endif
|
||||||
|
--- 161,186 ----
|
||||||
|
* This makes sure we get input from the user here and don't interfere
|
||||||
|
* with the commands being executed. Reset "ex_normal_busy" to avoid
|
||||||
|
* the side effects of using ":normal". Save the stuff buffer and make
|
||||||
|
! * it empty. Set ignore_script to avoid reading from script input. */
|
||||||
|
# ifdef FEAT_EX_EXTRA
|
||||||
|
save_ex_normal_busy = ex_normal_busy;
|
||||||
|
ex_normal_busy = 0;
|
||||||
|
# endif
|
||||||
|
if (!debug_greedy)
|
||||||
|
+ {
|
||||||
|
save_typeahead(&typeaheadbuf);
|
||||||
|
+ typeahead_saved = TRUE;
|
||||||
|
+ save_ignore_script = ignore_script;
|
||||||
|
+ ignore_script = TRUE;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
cmdline = getcmdline_prompt('>', NULL, 0, EXPAND_NOTHING, NULL);
|
||||||
|
|
||||||
|
! if (typeahead_saved)
|
||||||
|
! {
|
||||||
|
restore_typeahead(&typeaheadbuf);
|
||||||
|
+ ignore_script = save_ignore_script;
|
||||||
|
+ }
|
||||||
|
# ifdef FEAT_EX_EXTRA
|
||||||
|
ex_normal_busy = save_ex_normal_busy;
|
||||||
|
# endif
|
||||||
|
*** ../vim-7.1.176/src/getchar.c Fri Dec 7 17:30:04 2007
|
||||||
|
--- src/getchar.c Tue Jan 1 14:11:42 2008
|
||||||
|
***************
|
||||||
|
*** 1279,1286 ****
|
||||||
|
void
|
||||||
|
free_typebuf()
|
||||||
|
{
|
||||||
|
! vim_free(typebuf.tb_buf);
|
||||||
|
! vim_free(typebuf.tb_noremap);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
--- 1279,1292 ----
|
||||||
|
void
|
||||||
|
free_typebuf()
|
||||||
|
{
|
||||||
|
! if (typebuf.tb_buf == typebuf_init)
|
||||||
|
! EMSG2(_(e_intern2), "Free typebuf 1");
|
||||||
|
! else
|
||||||
|
! vim_free(typebuf.tb_buf);
|
||||||
|
! if (typebuf.tb_buf == noremapbuf_init)
|
||||||
|
! EMSG2(_(e_intern2), "Free typebuf 2");
|
||||||
|
! else
|
||||||
|
! vim_free(typebuf.tb_noremap);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
***************
|
||||||
|
*** 1359,1364 ****
|
||||||
|
--- 1365,1375 ----
|
||||||
|
EMSG(_(e_nesting));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
+ #ifdef FEAT_EVAL
|
||||||
|
+ if (ignore_script)
|
||||||
|
+ /* Not reading from script, also don't open one. Warning message? */
|
||||||
|
+ return;
|
||||||
|
+ #endif
|
||||||
|
|
||||||
|
if (scriptin[curscript] != NULL) /* already reading script */
|
||||||
|
++curscript;
|
||||||
|
***************
|
||||||
|
*** 2346,2352 ****
|
||||||
|
current_menu->silent[idx]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
! #endif /* FEAT_GUI */
|
||||||
|
continue; /* try mapping again */
|
||||||
|
}
|
||||||
|
|
||||||
|
--- 2357,2363 ----
|
||||||
|
current_menu->silent[idx]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
! #endif /* FEAT_GUI && FEAT_MENU */
|
||||||
|
continue; /* try mapping again */
|
||||||
|
}
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 2862,2872 ****
|
||||||
|
undo_off = FALSE; /* restart undo now */
|
||||||
|
|
||||||
|
/*
|
||||||
|
! * first try script file
|
||||||
|
! * If interrupted: Stop reading script files.
|
||||||
|
*/
|
||||||
|
script_char = -1;
|
||||||
|
! while (scriptin[curscript] != NULL && script_char < 0)
|
||||||
|
{
|
||||||
|
if (got_int || (script_char = getc(scriptin[curscript])) < 0)
|
||||||
|
{
|
||||||
|
--- 2873,2887 ----
|
||||||
|
undo_off = FALSE; /* restart undo now */
|
||||||
|
|
||||||
|
/*
|
||||||
|
! * Get a character from a script file if there is one.
|
||||||
|
! * If interrupted: Stop reading script files, close them all.
|
||||||
|
*/
|
||||||
|
script_char = -1;
|
||||||
|
! while (scriptin[curscript] != NULL && script_char < 0
|
||||||
|
! #ifdef FEAT_EVAL
|
||||||
|
! && !ignore_script
|
||||||
|
! #endif
|
||||||
|
! )
|
||||||
|
{
|
||||||
|
if (got_int || (script_char = getc(scriptin[curscript])) < 0)
|
||||||
|
{
|
||||||
|
*** ../vim-7.1.176/src/globals.h Sat Sep 29 14:15:00 2007
|
||||||
|
--- src/globals.h Mon Dec 31 17:00:21 2007
|
||||||
|
***************
|
||||||
|
*** 954,959 ****
|
||||||
|
--- 954,962 ----
|
||||||
|
EXTERN int ex_normal_busy INIT(= 0); /* recursiveness of ex_normal() */
|
||||||
|
EXTERN int ex_normal_lock INIT(= 0); /* forbid use of ex_normal() */
|
||||||
|
#endif
|
||||||
|
+ #ifdef FEAT_EVAL
|
||||||
|
+ EXTERN int ignore_script INIT(= FALSE); /* ignore script input */
|
||||||
|
+ #endif
|
||||||
|
EXTERN int stop_insert_mode; /* for ":stopinsert" and 'insertmode' */
|
||||||
|
|
||||||
|
EXTERN int KeyTyped; /* TRUE if user typed current char */
|
||||||
|
*** ../vim-7.1.176/src/version.c Mon Dec 31 16:41:31 2007
|
||||||
|
--- src/version.c Tue Jan 1 14:00:09 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 177,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
Back up my hard drive? I can't find the reverse switch!
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
54
7.1.178
Normal file
54
7.1.178
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.178
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.178
|
||||||
|
Problem: "%" doesn't work on "/* comment *//* comment */".
|
||||||
|
Solution: Don't handle the "//" in "*//*" as a C++ comment. (Markus
|
||||||
|
Heidelberg)
|
||||||
|
Files: src/search.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.177/src/search.c Wed Aug 8 22:48:16 2007
|
||||||
|
--- src/search.c Mon Dec 10 21:21:17 2007
|
||||||
|
***************
|
||||||
|
*** 2319,2325 ****
|
||||||
|
#endif
|
||||||
|
while ((p = vim_strchr(p, '/')) != NULL)
|
||||||
|
{
|
||||||
|
! if (p[1] == '/')
|
||||||
|
break;
|
||||||
|
++p;
|
||||||
|
}
|
||||||
|
--- 2319,2327 ----
|
||||||
|
#endif
|
||||||
|
while ((p = vim_strchr(p, '/')) != NULL)
|
||||||
|
{
|
||||||
|
! /* accept a double /, unless it's preceded with * and followed by *,
|
||||||
|
! * because * / / * is an end and start of a C comment */
|
||||||
|
! if (p[1] == '/' && (p == line || p[-1] != '*' || p[2] != '*'))
|
||||||
|
break;
|
||||||
|
++p;
|
||||||
|
}
|
||||||
|
*** ../vim-7.1.177/src/version.c Tue Jan 1 14:16:42 2008
|
||||||
|
--- src/version.c Tue Jan 1 15:41:33 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 178,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
I'd like to meet the man who invented sex and see what he's working on now.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
189
7.1.179
Normal file
189
7.1.179
Normal file
|
|
@ -0,0 +1,189 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.179
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.179
|
||||||
|
Problem: Need to check for TCL 8.5.
|
||||||
|
Solution: Adjust configure script. (Alexey Froloff)
|
||||||
|
Files: src/configure.in, src/auto/configure
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.178/src/configure.in Sun Nov 4 15:35:23 2007
|
||||||
|
--- src/configure.in Sun Dec 30 13:55:28 2007
|
||||||
|
***************
|
||||||
|
*** 759,773 ****
|
||||||
|
|
||||||
|
if test "$enable_tclinterp" = "yes"; then
|
||||||
|
|
||||||
|
! dnl on FreeBSD tclsh is a silly script, look for tclsh8.[420]
|
||||||
|
AC_MSG_CHECKING(--with-tclsh argument)
|
||||||
|
AC_ARG_WITH(tclsh, [ --with-tclsh=PATH which tclsh to use (default: tclsh8.0)],
|
||||||
|
tclsh_name="$withval"; AC_MSG_RESULT($tclsh_name),
|
||||||
|
! tclsh_name="tclsh8.4"; AC_MSG_RESULT(no))
|
||||||
|
AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name)
|
||||||
|
AC_SUBST(vi_cv_path_tcl)
|
||||||
|
|
||||||
|
! dnl when no specific version specified, also try 8.2 and 8.0
|
||||||
|
if test "X$vi_cv_path_tcl" = "X" -a $tclsh_name = "tclsh8.4"; then
|
||||||
|
tclsh_name="tclsh8.2"
|
||||||
|
AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name)
|
||||||
|
--- 759,777 ----
|
||||||
|
|
||||||
|
if test "$enable_tclinterp" = "yes"; then
|
||||||
|
|
||||||
|
! dnl on FreeBSD tclsh is a silly script, look for tclsh8.[5420]
|
||||||
|
AC_MSG_CHECKING(--with-tclsh argument)
|
||||||
|
AC_ARG_WITH(tclsh, [ --with-tclsh=PATH which tclsh to use (default: tclsh8.0)],
|
||||||
|
tclsh_name="$withval"; AC_MSG_RESULT($tclsh_name),
|
||||||
|
! tclsh_name="tclsh8.5"; AC_MSG_RESULT(no))
|
||||||
|
AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name)
|
||||||
|
AC_SUBST(vi_cv_path_tcl)
|
||||||
|
|
||||||
|
! dnl when no specific version specified, also try 8.4, 8.2 and 8.0
|
||||||
|
! if test "X$vi_cv_path_tcl" = "X" -a $tclsh_name = "tclsh8.5"; then
|
||||||
|
! tclsh_name="tclsh8.4"
|
||||||
|
! AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name)
|
||||||
|
! fi
|
||||||
|
if test "X$vi_cv_path_tcl" = "X" -a $tclsh_name = "tclsh8.4"; then
|
||||||
|
tclsh_name="tclsh8.2"
|
||||||
|
AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name)
|
||||||
|
***************
|
||||||
|
*** 810,815 ****
|
||||||
|
--- 814,820 ----
|
||||||
|
AC_MSG_CHECKING(for location of tclConfig.sh script)
|
||||||
|
if test "x$MACOSX" != "xyes"; then
|
||||||
|
tclcnf=`echo $tclinc | sed s/include/lib/g`
|
||||||
|
+ tclcnf="$tclcnf `echo $tclinc | sed s/include/lib64/g`"
|
||||||
|
else
|
||||||
|
dnl For Mac OS X 10.3, use the OS-provided framework location
|
||||||
|
tclcnf="/System/Library/Frameworks/Tcl.framework"
|
||||||
|
***************
|
||||||
|
*** 830,835 ****
|
||||||
|
--- 835,841 ----
|
||||||
|
AC_MSG_RESULT(<not found>)
|
||||||
|
AC_MSG_CHECKING(for Tcl library by myself)
|
||||||
|
tcllib=`echo $tclinc | sed s/include/lib/g`
|
||||||
|
+ tcllib="$tcllib `echo $tclinc | sed s/include/lib64/g`"
|
||||||
|
for ext in .so .a ; do
|
||||||
|
for ver in "" $tclver ; do
|
||||||
|
for try in $tcllib ; do
|
||||||
|
*** ../vim-7.1.178/src/auto/configure Sun Nov 4 15:35:23 2007
|
||||||
|
--- src/auto/configure Sun Dec 30 13:55:35 2007
|
||||||
|
***************
|
||||||
|
*** 4445,4451 ****
|
||||||
|
tclsh_name="$withval"; echo "$as_me:$LINENO: result: $tclsh_name" >&5
|
||||||
|
echo "${ECHO_T}$tclsh_name" >&6
|
||||||
|
else
|
||||||
|
! tclsh_name="tclsh8.4"; echo "$as_me:$LINENO: result: no" >&5
|
||||||
|
echo "${ECHO_T}no" >&6
|
||||||
|
fi;
|
||||||
|
# Extract the first word of "$tclsh_name", so it can be a program name with args.
|
||||||
|
--- 4445,4451 ----
|
||||||
|
tclsh_name="$withval"; echo "$as_me:$LINENO: result: $tclsh_name" >&5
|
||||||
|
echo "${ECHO_T}$tclsh_name" >&6
|
||||||
|
else
|
||||||
|
! tclsh_name="tclsh8.5"; echo "$as_me:$LINENO: result: no" >&5
|
||||||
|
echo "${ECHO_T}no" >&6
|
||||||
|
fi;
|
||||||
|
# Extract the first word of "$tclsh_name", so it can be a program name with args.
|
||||||
|
***************
|
||||||
|
*** 4489,4495 ****
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
! if test "X$vi_cv_path_tcl" = "X" -a $tclsh_name = "tclsh8.4"; then
|
||||||
|
tclsh_name="tclsh8.2"
|
||||||
|
# Extract the first word of "$tclsh_name", so it can be a program name with args.
|
||||||
|
set dummy $tclsh_name; ac_word=$2
|
||||||
|
--- 4489,4537 ----
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
! if test "X$vi_cv_path_tcl" = "X" -a $tclsh_name = "tclsh8.5"; then
|
||||||
|
! tclsh_name="tclsh8.4"
|
||||||
|
! # Extract the first word of "$tclsh_name", so it can be a program name with args.
|
||||||
|
! set dummy $tclsh_name; ac_word=$2
|
||||||
|
! echo "$as_me:$LINENO: checking for $ac_word" >&5
|
||||||
|
! echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
|
||||||
|
! if test "${ac_cv_path_vi_cv_path_tcl+set}" = set; then
|
||||||
|
! echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||||
|
! else
|
||||||
|
! case $vi_cv_path_tcl in
|
||||||
|
! [\\/]* | ?:[\\/]*)
|
||||||
|
! ac_cv_path_vi_cv_path_tcl="$vi_cv_path_tcl" # Let the user override the test with a path.
|
||||||
|
! ;;
|
||||||
|
! *)
|
||||||
|
! as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
|
! for as_dir in $PATH
|
||||||
|
! do
|
||||||
|
! IFS=$as_save_IFS
|
||||||
|
! test -z "$as_dir" && as_dir=.
|
||||||
|
! for ac_exec_ext in '' $ac_executable_extensions; do
|
||||||
|
! if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||||
|
! ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
|
||||||
|
! echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||||
|
! break 2
|
||||||
|
! fi
|
||||||
|
! done
|
||||||
|
! done
|
||||||
|
!
|
||||||
|
! ;;
|
||||||
|
! esac
|
||||||
|
! fi
|
||||||
|
! vi_cv_path_tcl=$ac_cv_path_vi_cv_path_tcl
|
||||||
|
!
|
||||||
|
! if test -n "$vi_cv_path_tcl"; then
|
||||||
|
! echo "$as_me:$LINENO: result: $vi_cv_path_tcl" >&5
|
||||||
|
! echo "${ECHO_T}$vi_cv_path_tcl" >&6
|
||||||
|
! else
|
||||||
|
! echo "$as_me:$LINENO: result: no" >&5
|
||||||
|
! echo "${ECHO_T}no" >&6
|
||||||
|
! fi
|
||||||
|
!
|
||||||
|
! fi
|
||||||
|
! if test "X$vi_cv_path_tcl" = "X" -a $tclsh_name = "tclsh8.4"; then
|
||||||
|
tclsh_name="tclsh8.2"
|
||||||
|
# Extract the first word of "$tclsh_name", so it can be a program name with args.
|
||||||
|
set dummy $tclsh_name; ac_word=$2
|
||||||
|
***************
|
||||||
|
*** 4649,4654 ****
|
||||||
|
--- 4691,4697 ----
|
||||||
|
echo $ECHO_N "checking for location of tclConfig.sh script... $ECHO_C" >&6
|
||||||
|
if test "x$MACOSX" != "xyes"; then
|
||||||
|
tclcnf=`echo $tclinc | sed s/include/lib/g`
|
||||||
|
+ tclcnf="$tclcnf `echo $tclinc | sed s/include/lib64/g`"
|
||||||
|
else
|
||||||
|
tclcnf="/System/Library/Frameworks/Tcl.framework"
|
||||||
|
fi
|
||||||
|
***************
|
||||||
|
*** 4668,4673 ****
|
||||||
|
--- 4711,4717 ----
|
||||||
|
echo "$as_me:$LINENO: checking for Tcl library by myself" >&5
|
||||||
|
echo $ECHO_N "checking for Tcl library by myself... $ECHO_C" >&6
|
||||||
|
tcllib=`echo $tclinc | sed s/include/lib/g`
|
||||||
|
+ tcllib="$tcllib `echo $tclinc | sed s/include/lib64/g`"
|
||||||
|
for ext in .so .a ; do
|
||||||
|
for ver in "" $tclver ; do
|
||||||
|
for try in $tcllib ; do
|
||||||
|
*** ../vim-7.1.178/src/version.c Tue Jan 1 15:42:45 2008
|
||||||
|
--- src/version.c Tue Jan 1 16:24:07 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 179,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
Just think of all the things we haven't thought of yet.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
266
7.1.180
Normal file
266
7.1.180
Normal file
|
|
@ -0,0 +1,266 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.180
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.180
|
||||||
|
Problem: Regexp patterns not tested sufficiently.
|
||||||
|
Solution: Add more checks to the regexp test.
|
||||||
|
Files: src/testdir/test64.in, src/testdir/test64.ok
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.179/src/testdir/test64.in Tue Sep 25 17:54:41 2007
|
||||||
|
--- src/testdir/test64.in Mon Dec 31 14:20:23 2007
|
||||||
|
***************
|
||||||
|
*** 14,23 ****
|
||||||
|
--- 14,136 ----
|
||||||
|
:" etc.
|
||||||
|
:" When there is no match use only the first two items.
|
||||||
|
:let tl = []
|
||||||
|
+ :call add(tl, ['ab', 'aab', 'ab'])
|
||||||
|
:call add(tl, ['b', 'abcdef', 'b'])
|
||||||
|
:call add(tl, ['bc*', 'abccccdef', 'bcccc'])
|
||||||
|
:call add(tl, ['bc\{-}', 'abccccdef', 'b'])
|
||||||
|
:call add(tl, ['bc\{-}\(d\)', 'abccccdef', 'bccccd', 'd'])
|
||||||
|
+ :call add(tl, ['bc*', 'abbdef', 'b'])
|
||||||
|
+ :call add(tl, ['c*', 'ccc', 'ccc'])
|
||||||
|
+ :call add(tl, ['bc*', 'abdef', 'b'])
|
||||||
|
+ :call add(tl, ['c*', 'abdef', ''])
|
||||||
|
+ :call add(tl, ['bc\+', 'abccccdef', 'bcccc'])
|
||||||
|
+ :call add(tl, ['bc\+', 'abdef']) "no match
|
||||||
|
+ :"
|
||||||
|
+ :"operator \|
|
||||||
|
+ :call add(tl, ['a\|ab', 'cabd', 'a']) "alternation is ordered
|
||||||
|
+ :"
|
||||||
|
+ :call add(tl, ['c\?', 'ccb', 'c'])
|
||||||
|
+ :call add(tl, ['bc\?', 'abd', 'b'])
|
||||||
|
+ :call add(tl, ['bc\?', 'abccd', 'bc'])
|
||||||
|
+ :"
|
||||||
|
+ :call add(tl, ['\va{1}', 'ab', 'a'])
|
||||||
|
+ :"
|
||||||
|
+ :call add(tl, ['\va{2}', 'aa', 'aa'])
|
||||||
|
+ :call add(tl, ['\va{2}', 'caad', 'aa'])
|
||||||
|
+ :call add(tl, ['\va{2}', 'aba'])
|
||||||
|
+ :call add(tl, ['\va{2}', 'ab'])
|
||||||
|
+ :call add(tl, ['\va{2}', 'abaa', 'aa'])
|
||||||
|
+ :call add(tl, ['\va{2}', 'aaa', 'aa'])
|
||||||
|
+ :"
|
||||||
|
+ :call add(tl, ['\vb{1}', 'abca', 'b'])
|
||||||
|
+ :call add(tl, ['\vba{2}', 'abaa', 'baa'])
|
||||||
|
+ :call add(tl, ['\vba{3}', 'aabaac'])
|
||||||
|
+ :"
|
||||||
|
+ :call add(tl, ['\v(ab){1}', 'ab', 'ab', 'ab'])
|
||||||
|
+ :call add(tl, ['\v(ab){1}', 'dabc', 'ab', 'ab'])
|
||||||
|
+ :call add(tl, ['\v(ab){1}', 'acb'])
|
||||||
|
+ :"
|
||||||
|
+ :call add(tl, ['\v(ab){0,2}', 'acb', "", ""])
|
||||||
|
+ :call add(tl, ['\v(ab){0,2}', 'ab', 'ab', 'ab'])
|
||||||
|
+ :call add(tl, ['\v(ab){1,2}', 'ab', 'ab', 'ab'])
|
||||||
|
+ :call add(tl, ['\v(ab){1,2}', 'ababc', 'abab', 'ab'])
|
||||||
|
+ :call add(tl, ['\v(ab){2,4}', 'ababcab', 'abab', 'ab'])
|
||||||
|
+ :call add(tl, ['\v(ab){2,4}', 'abcababa', 'abab', 'ab'])
|
||||||
|
+ :"
|
||||||
|
+ :call add(tl, ['\v(ab){2}', 'abab', 'abab', 'ab'])
|
||||||
|
+ :call add(tl, ['\v(ab){2}', 'cdababe', 'abab', 'ab'])
|
||||||
|
+ :call add(tl, ['\v(ab){2}', 'abac'])
|
||||||
|
+ :call add(tl, ['\v(ab){2}', 'abacabab', 'abab', 'ab'])
|
||||||
|
+ :call add(tl, ['\v((ab){2}){2}', 'abababab', 'abababab', 'abab', 'ab'])
|
||||||
|
+ :call add(tl, ['\v((ab){2}){2}', 'abacabababab', 'abababab', 'abab', 'ab'])
|
||||||
|
+ :"
|
||||||
|
+ :call add(tl, ['\v(a{1}){1}', 'a', 'a', 'a'])
|
||||||
|
+ :call add(tl, ['\v(a{2}){1}', 'aa', 'aa', 'aa'])
|
||||||
|
+ :call add(tl, ['\v(a{2}){1}', 'aaac', 'aa', 'aa'])
|
||||||
|
+ :call add(tl, ['\v(a{2}){1}', 'daaac', 'aa', 'aa'])
|
||||||
|
+ :call add(tl, ['\v(a{1}){2}', 'daaac', 'aa', 'a'])
|
||||||
|
+ :call add(tl, ['\v(a{1}){2}', 'aaa', 'aa', 'a'])
|
||||||
|
+ :call add(tl, ['\v(a{2})+', 'adaac', 'aa', 'aa'])
|
||||||
|
+ :call add(tl, ['\v(a{2})+', 'aa', 'aa', 'aa'])
|
||||||
|
+ :call add(tl, ['\v(a{2}){1}', 'aa', 'aa', 'aa'])
|
||||||
|
+ :call add(tl, ['\v(a{1}){2}', 'aa', 'aa', 'a'])
|
||||||
|
+ :call add(tl, ['\v(a{1}){1}', 'a', 'a', 'a'])
|
||||||
|
+ :call add(tl, ['\v(a{2}){2}', 'aaaa', 'aaaa', 'aa'])
|
||||||
|
+ :call add(tl, ['\v(a{2}){2}', 'aaabaaaa', 'aaaa', 'aa'])
|
||||||
|
+ :"
|
||||||
|
+ :call add(tl, ['\v(a+){2}', 'dadaac', 'aa', 'a'])
|
||||||
|
+ :call add(tl, ['\v(a{3}){2}', 'aaaaaaa', 'aaaaaa', 'aaa'])
|
||||||
|
+ :"
|
||||||
|
+ :call add(tl, ['\v(a{1,2}){2}', 'daaac', 'aaa', 'a'])
|
||||||
|
+ :call add(tl, ['\v(a{1,3}){2}', 'daaaac', 'aaaa', 'a'])
|
||||||
|
+ :call add(tl, ['\v(a{1,3}){2}', 'daaaaac', 'aaaaa', 'aa'])
|
||||||
|
+ :call add(tl, ['\v(a{1,3}){3}', 'daac'])
|
||||||
|
+ :call add(tl, ['\v(a{1,2}){2}', 'dac'])
|
||||||
|
+ :call add(tl, ['\v(a+)+', 'daac', 'aa', 'aa'])
|
||||||
|
+ :call add(tl, ['\v(a+)+', 'aaa', 'aaa', 'aaa'])
|
||||||
|
+ :call add(tl, ['\v(a+){1,2}', 'aaa', 'aaa', 'aaa'])
|
||||||
|
+ :call add(tl, ['\v(a+)(a+)', 'aaa', 'aaa', 'aa', 'a'])
|
||||||
|
+ :call add(tl, ['\v(a{3})+', 'daaaac', 'aaa', 'aaa'])
|
||||||
|
+ :call add(tl, ['\v(a|b|c)+', 'aacb', 'aacb', 'b'])
|
||||||
|
+ :call add(tl, ['\v(a|b|c){2}', 'abcb', 'ab', 'b'])
|
||||||
|
+ :call add(tl, ['\v(abc){2}', 'abcabd', ])
|
||||||
|
+ :call add(tl, ['\v(abc){2}', 'abdabcabc','abcabc', 'abc'])
|
||||||
|
+ :"
|
||||||
|
+ :call add(tl, ['a*', 'cc', ''])
|
||||||
|
+ :call add(tl, ['\v(a*)+', 'cc', ''])
|
||||||
|
+ :call add(tl, ['\v((ab)+)+', 'ab', 'ab', 'ab', 'ab'])
|
||||||
|
+ :call add(tl, ['\v(((ab)+)+)+', 'ab', 'ab', 'ab', 'ab', 'ab'])
|
||||||
|
+ :call add(tl, ['\v(((ab)+)+)+', 'dababc', 'abab', 'abab', 'abab', 'ab'])
|
||||||
|
+ :call add(tl, ['\v(a{0,2})+', 'cc', ''])
|
||||||
|
+ :call add(tl, ['\v(a*)+', '', ''])
|
||||||
|
+ :call add(tl, ['\v((a*)+)+', '', ''])
|
||||||
|
+ :call add(tl, ['\v((ab)*)+', '', ''])
|
||||||
|
+ :call add(tl, ['\va{1,3}', 'aab', 'aa'])
|
||||||
|
+ :call add(tl, ['\va{2,3}', 'abaa', 'aa'])
|
||||||
|
+ :"
|
||||||
|
+ :call add(tl, ['\v((ab)+|c*)+', 'abcccaba', 'abcccab', '', 'ab'])
|
||||||
|
+ :call add(tl, ['\v(a{2})|(b{3})', 'bbabbbb', 'bbb', '', 'bbb'])
|
||||||
|
+ :call add(tl, ['\va{2}|b{2}', 'abab'])
|
||||||
|
+ :call add(tl, ['\v(a)+|(c)+', 'bbacbaacbbb', 'a', 'a'])
|
||||||
|
+ :call add(tl, ['\vab{2,3}c', 'aabbccccccccccccc', 'abbc'])
|
||||||
|
+ :call add(tl, ['\vab{2,3}c', 'aabbbccccccccccccc', 'abbbc'])
|
||||||
|
+ :call add(tl, ['\vab{2,3}cd{2,3}e', 'aabbbcddee', 'abbbcdde'])
|
||||||
|
+ :call add(tl, ['\va(bc){2}d', 'aabcbfbc' ])
|
||||||
|
+ :call add(tl, ['\va*a{2}', 'a', ])
|
||||||
|
+ :call add(tl, ['\va*a{2}', 'aa', 'aa' ])
|
||||||
|
+ :call add(tl, ['\va*a{2}', 'aaa', 'aaa' ])
|
||||||
|
+ :call add(tl, ['\va*a{2}', 'bbbabcc', ])
|
||||||
|
+ :call add(tl, ['\va*b*|a*c*', 'a', 'a'])
|
||||||
|
+ :call add(tl, ['\va{1}b{1}|a{1}b{1}', ''])
|
||||||
|
+ :"
|
||||||
|
+ :"submatches
|
||||||
|
+ :call add(tl, ['\v(a)', 'ab', 'a', 'a'])
|
||||||
|
+ :call add(tl, ['\v(a)(b)', 'ab', 'ab', 'a', 'b'])
|
||||||
|
+ :call add(tl, ['\v(ab)(b)(c)', 'abbc', 'abbc', 'ab', 'b', 'c'])
|
||||||
|
+ :call add(tl, ['\v((a)(b))', 'ab', 'ab', 'ab', 'a', 'b'])
|
||||||
|
+ :call add(tl, ['\v(a)|(b)', 'ab', 'a', 'a'])
|
||||||
|
+ :"
|
||||||
|
+ :call add(tl, ['\v(a*)+', 'aaaa', 'aaaa', ''])
|
||||||
|
:call add(tl, ['x', 'abcdef'])
|
||||||
|
:"
|
||||||
|
:for t in tl
|
||||||
|
*** ../vim-7.1.179/src/testdir/test64.ok Tue Aug 14 17:28:14 2007
|
||||||
|
--- src/testdir/test64.ok Mon Dec 31 14:20:26 2007
|
||||||
|
***************
|
||||||
|
*** 4,6 ****
|
||||||
|
--- 4,102 ----
|
||||||
|
OK
|
||||||
|
OK
|
||||||
|
OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
+ OK
|
||||||
|
*** ../vim-7.1.179/src/version.c Tue Jan 1 16:25:33 2008
|
||||||
|
--- src/version.c Tue Jan 1 17:34:32 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 180,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
CONCORDE: Message for you, sir.
|
||||||
|
He falls forward revealing the arrow with the note.
|
||||||
|
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
62
7.1.181
Normal file
62
7.1.181
Normal file
|
|
@ -0,0 +1,62 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.181
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.181
|
||||||
|
Problem: Accessing uninitialized memory in Farsi mode. (Dominuque Pelle)
|
||||||
|
Solution: Only invoke lrF_sub() when there is something to do.
|
||||||
|
Files: src/ex_cmds.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.180/src/ex_cmds.c Sun Dec 9 19:37:37 2007
|
||||||
|
--- src/ex_cmds.c Mon Dec 31 17:29:25 2007
|
||||||
|
***************
|
||||||
|
*** 4212,4222 ****
|
||||||
|
sub_nlines = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
- #ifdef FEAT_FKMAP /* reverse the flow of the Farsi characters */
|
||||||
|
- if (p_altkeymap && curwin->w_p_rl)
|
||||||
|
- lrF_sub(cmd);
|
||||||
|
- #endif
|
||||||
|
-
|
||||||
|
if (eap->cmdidx == CMD_tilde)
|
||||||
|
which_pat = RE_LAST; /* use last used regexp */
|
||||||
|
else
|
||||||
|
--- 4212,4217 ----
|
||||||
|
***************
|
||||||
|
*** 4252,4257 ****
|
||||||
|
--- 4247,4256 ----
|
||||||
|
}
|
||||||
|
else /* find the end of the regexp */
|
||||||
|
{
|
||||||
|
+ #ifdef FEAT_FKMAP /* reverse the flow of the Farsi characters */
|
||||||
|
+ if (p_altkeymap && curwin->w_p_rl)
|
||||||
|
+ lrF_sub(cmd);
|
||||||
|
+ #endif
|
||||||
|
which_pat = RE_LAST; /* use last used regexp */
|
||||||
|
delimiter = *cmd++; /* remember delimiter character */
|
||||||
|
pat = cmd; /* remember start of search pat */
|
||||||
|
*** ../vim-7.1.180/src/version.c Tue Jan 1 17:37:01 2008
|
||||||
|
--- src/version.c Wed Jan 2 13:57:31 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 181,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
Yah, well, we had to carve our electrons out of driftwood we'd
|
||||||
|
find. In the winter. Uphill. Both ways.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
169
7.1.182
Normal file
169
7.1.182
Normal file
|
|
@ -0,0 +1,169 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.182
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.182
|
||||||
|
Problem: When using tab pages and an argument list the session file may
|
||||||
|
contain wrong "next" commands. (Alexander Bluem)
|
||||||
|
Solution: Use "argu" commands and only when needed.
|
||||||
|
Files: src/ex_docmd.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.181/src/ex_docmd.c Sun Dec 9 19:37:37 2007
|
||||||
|
--- src/ex_docmd.c Mon Dec 31 18:24:16 2007
|
||||||
|
***************
|
||||||
|
*** 372,378 ****
|
||||||
|
static char_u *arg_all __ARGS((void));
|
||||||
|
#ifdef FEAT_SESSION
|
||||||
|
static int makeopens __ARGS((FILE *fd, char_u *dirnow));
|
||||||
|
! static int put_view __ARGS((FILE *fd, win_T *wp, int add_edit, unsigned *flagp));
|
||||||
|
static void ex_loadview __ARGS((exarg_T *eap));
|
||||||
|
static char_u *get_view_file __ARGS((int c));
|
||||||
|
static int did_lcd; /* whether ":lcd" was produced for a session */
|
||||||
|
--- 372,378 ----
|
||||||
|
static char_u *arg_all __ARGS((void));
|
||||||
|
#ifdef FEAT_SESSION
|
||||||
|
static int makeopens __ARGS((FILE *fd, char_u *dirnow));
|
||||||
|
! static int put_view __ARGS((FILE *fd, win_T *wp, int add_edit, unsigned *flagp, int current_arg_idx));
|
||||||
|
static void ex_loadview __ARGS((exarg_T *eap));
|
||||||
|
static char_u *get_view_file __ARGS((int c));
|
||||||
|
static int did_lcd; /* whether ":lcd" was produced for a session */
|
||||||
|
***************
|
||||||
|
*** 8762,8768 ****
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
! failed |= (put_view(fd, curwin, !using_vdir, flagp) == FAIL);
|
||||||
|
}
|
||||||
|
if (put_line(fd, "let &so = s:so_save | let &siso = s:siso_save")
|
||||||
|
== FAIL)
|
||||||
|
--- 8762,8769 ----
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
! failed |= (put_view(fd, curwin, !using_vdir, flagp,
|
||||||
|
! -1) == FAIL);
|
||||||
|
}
|
||||||
|
if (put_line(fd, "let &so = s:so_save | let &siso = s:siso_save")
|
||||||
|
== FAIL)
|
||||||
|
***************
|
||||||
|
*** 9761,9766 ****
|
||||||
|
--- 9762,9769 ----
|
||||||
|
int tabnr;
|
||||||
|
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 */
|
||||||
|
***************
|
||||||
|
*** 9976,9987 ****
|
||||||
|
{
|
||||||
|
if (!ses_do_win(wp))
|
||||||
|
continue;
|
||||||
|
! if (put_view(fd, wp, wp != edited_win, &ssop_flags) == FAIL)
|
||||||
|
return FAIL;
|
||||||
|
if (nr > 1 && put_line(fd, "wincmd w") == FAIL)
|
||||||
|
return FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Restore cursor to the current window if it's not the first one.
|
||||||
|
*/
|
||||||
|
--- 9979,9997 ----
|
||||||
|
{
|
||||||
|
if (!ses_do_win(wp))
|
||||||
|
continue;
|
||||||
|
! if (put_view(fd, wp, wp != edited_win, &ssop_flags,
|
||||||
|
! cur_arg_idx) == FAIL)
|
||||||
|
return FAIL;
|
||||||
|
if (nr > 1 && put_line(fd, "wincmd w") == FAIL)
|
||||||
|
return FAIL;
|
||||||
|
+ next_arg_idx = wp->w_arg_idx;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ /* The argument index in the first tab page is zero, need to set it in
|
||||||
|
+ * each window. For further tab pages it's the window where we do
|
||||||
|
+ * "tabedit". */
|
||||||
|
+ cur_arg_idx = next_arg_idx;
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* Restore cursor to the current window if it's not the first one.
|
||||||
|
*/
|
||||||
|
***************
|
||||||
|
*** 10190,10200 ****
|
||||||
|
* Caller must make sure 'scrolloff' is zero.
|
||||||
|
*/
|
||||||
|
static int
|
||||||
|
! put_view(fd, wp, add_edit, flagp)
|
||||||
|
FILE *fd;
|
||||||
|
win_T *wp;
|
||||||
|
int add_edit; /* add ":edit" command to view */
|
||||||
|
unsigned *flagp; /* vop_flags or ssop_flags */
|
||||||
|
{
|
||||||
|
win_T *save_curwin;
|
||||||
|
int f;
|
||||||
|
--- 10200,10212 ----
|
||||||
|
* Caller must make sure 'scrolloff' is zero.
|
||||||
|
*/
|
||||||
|
static int
|
||||||
|
! put_view(fd, wp, add_edit, flagp, current_arg_idx)
|
||||||
|
FILE *fd;
|
||||||
|
win_T *wp;
|
||||||
|
int add_edit; /* add ":edit" command to view */
|
||||||
|
unsigned *flagp; /* vop_flags or ssop_flags */
|
||||||
|
+ int current_arg_idx; /* current argument index of the window, use
|
||||||
|
+ * -1 if unknown */
|
||||||
|
{
|
||||||
|
win_T *save_curwin;
|
||||||
|
int f;
|
||||||
|
***************
|
||||||
|
*** 10224,10233 ****
|
||||||
|
|
||||||
|
/* Only when part of a session: restore the argument index. Some
|
||||||
|
* arguments may have been deleted, check if the index is valid. */
|
||||||
|
! if (wp->w_arg_idx != 0 && wp->w_arg_idx <= WARGCOUNT(wp)
|
||||||
|
&& flagp == &ssop_flags)
|
||||||
|
{
|
||||||
|
! if (fprintf(fd, "%ldnext", (long)wp->w_arg_idx) < 0
|
||||||
|
|| put_eol(fd) == FAIL)
|
||||||
|
return FAIL;
|
||||||
|
did_next = TRUE;
|
||||||
|
--- 10236,10245 ----
|
||||||
|
|
||||||
|
/* Only when part of a session: restore the argument index. Some
|
||||||
|
* arguments may have been deleted, check if the index is valid. */
|
||||||
|
! if (wp->w_arg_idx != current_arg_idx && wp->w_arg_idx <= WARGCOUNT(wp)
|
||||||
|
&& flagp == &ssop_flags)
|
||||||
|
{
|
||||||
|
! if (fprintf(fd, "%ldargu", (long)wp->w_arg_idx + 1) < 0
|
||||||
|
|| put_eol(fd) == FAIL)
|
||||||
|
return FAIL;
|
||||||
|
did_next = TRUE;
|
||||||
|
*** ../vim-7.1.181/src/version.c Wed Jan 2 13:58:17 2008
|
||||||
|
--- src/version.c Wed Jan 2 15:10:01 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 182,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
You were lucky. We lived for three months in a brown paper bag in a
|
||||||
|
septic tank. We used to have to get up at six o'clock in the morning,
|
||||||
|
clean the bag, eat a crust of stale bread, go to work down mill for
|
||||||
|
fourteen hours a day week in-week out. When we got home, our Dad
|
||||||
|
would thrash us to sleep with his belt!
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
99
7.1.183
Normal file
99
7.1.183
Normal file
|
|
@ -0,0 +1,99 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.183
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.183
|
||||||
|
Problem: "Internal error" for ":echo matchstr('a', 'a\%[\&]')" (Mitanu
|
||||||
|
Paul)
|
||||||
|
Solution: Inside "\%[]" detect \&, \| and \) as an error.
|
||||||
|
Files: src/regexp.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.182/src/regexp.c Sun Dec 9 19:25:35 2007
|
||||||
|
--- src/regexp.c Wed Jan 2 15:02:37 2008
|
||||||
|
***************
|
||||||
|
*** 1288,1295 ****
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
! * regbranch - one alternative of an | operator
|
||||||
|
! *
|
||||||
|
* Implements the & operator.
|
||||||
|
*/
|
||||||
|
static char_u *
|
||||||
|
--- 1288,1294 ----
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
! * Handle one alternative of an | operator.
|
||||||
|
* Implements the & operator.
|
||||||
|
*/
|
||||||
|
static char_u *
|
||||||
|
***************
|
||||||
|
*** 1330,1337 ****
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
! * regbranch - one alternative of an | or & operator
|
||||||
|
! *
|
||||||
|
* Implements the concatenation operator.
|
||||||
|
*/
|
||||||
|
static char_u *
|
||||||
|
--- 1329,1335 ----
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
! * Handle one alternative of an | or & operator.
|
||||||
|
* Implements the concatenation operator.
|
||||||
|
*/
|
||||||
|
static char_u *
|
||||||
|
***************
|
||||||
|
*** 1708,1713 ****
|
||||||
|
--- 1706,1713 ----
|
||||||
|
case Magic('|'):
|
||||||
|
case Magic('&'):
|
||||||
|
case Magic(')'):
|
||||||
|
+ if (one_exactly)
|
||||||
|
+ EMSG_ONE_RET_NULL;
|
||||||
|
EMSG_RET_NULL(_(e_internal)); /* Supposed to be caught earlier. */
|
||||||
|
/* NOTREACHED */
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 3106,3112 ****
|
||||||
|
* slow, we keep one allocated piece of memory and only re-allocate it when
|
||||||
|
* it's too small. It's freed in vim_regexec_both() when finished.
|
||||||
|
*/
|
||||||
|
! static char_u *reg_tofree;
|
||||||
|
static unsigned reg_tofreelen;
|
||||||
|
|
||||||
|
/*
|
||||||
|
--- 3106,3112 ----
|
||||||
|
* slow, we keep one allocated piece of memory and only re-allocate it when
|
||||||
|
* it's too small. It's freed in vim_regexec_both() when finished.
|
||||||
|
*/
|
||||||
|
! static char_u *reg_tofree = NULL;
|
||||||
|
static unsigned reg_tofreelen;
|
||||||
|
|
||||||
|
/*
|
||||||
|
*** ../vim-7.1.182/src/version.c Wed Jan 2 15:12:29 2008
|
||||||
|
--- src/version.c Wed Jan 2 15:33:52 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 183,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
Not too long ago, unzipping in public was illegal...
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
63
7.1.184
Normal file
63
7.1.184
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.184
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
140
7.1.185
Normal file
140
7.1.185
Normal file
|
|
@ -0,0 +1,140 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.185
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
111
7.1.186
Normal file
111
7.1.186
Normal file
|
|
@ -0,0 +1,111 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.186
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
81
7.1.187
Normal file
81
7.1.187
Normal file
|
|
@ -0,0 +1,81 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.187
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
54
7.1.188
Normal file
54
7.1.188
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.188
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
76
7.1.189
Normal file
76
7.1.189
Normal file
|
|
@ -0,0 +1,76 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.189
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
55
7.1.190
Normal file
55
7.1.190
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.190
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
61
7.1.191
Normal file
61
7.1.191
Normal file
|
|
@ -0,0 +1,61 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.191
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
79
7.1.192
Normal file
79
7.1.192
Normal file
|
|
@ -0,0 +1,79 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.192
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
100
7.1.193
Normal file
100
7.1.193
Normal file
|
|
@ -0,0 +1,100 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.193
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
55
7.1.194
Normal file
55
7.1.194
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.194
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
75
7.1.195
Normal file
75
7.1.195
Normal file
|
|
@ -0,0 +1,75 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.195
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
90
7.1.196
Normal file
90
7.1.196
Normal file
|
|
@ -0,0 +1,90 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.196 (extra)
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
62
7.1.197
Normal file
62
7.1.197
Normal file
|
|
@ -0,0 +1,62 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.197
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
51
7.1.198
Normal file
51
7.1.198
Normal file
|
|
@ -0,0 +1,51 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.198
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
105
7.1.199
Normal file
105
7.1.199
Normal file
|
|
@ -0,0 +1,105 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.199
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
74
7.1.200
Normal file
74
7.1.200
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.200
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
87
7.1.201
Normal file
87
7.1.201
Normal file
|
|
@ -0,0 +1,87 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.201
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
83
7.1.202
Normal file
83
7.1.202
Normal file
|
|
@ -0,0 +1,83 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.202
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
68
7.1.203
Normal file
68
7.1.203
Normal file
|
|
@ -0,0 +1,68 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.203
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
74
7.1.204
Normal file
74
7.1.204
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.204 (extra)
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
181
7.1.205
Normal file
181
7.1.205
Normal file
|
|
@ -0,0 +1,181 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.205
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
59
7.1.206
Normal file
59
7.1.206
Normal file
|
|
@ -0,0 +1,59 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.206
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
253
7.1.207
Normal file
253
7.1.207
Normal file
|
|
@ -0,0 +1,253 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.207
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
69
7.1.208
Normal file
69
7.1.208
Normal file
|
|
@ -0,0 +1,69 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.208
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
71
7.1.209
Normal file
71
7.1.209
Normal file
|
|
@ -0,0 +1,71 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.209
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
74
7.1.210
Normal file
74
7.1.210
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.210
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
748
7.1.211
Normal file
748
7.1.211
Normal file
|
|
@ -0,0 +1,748 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.211
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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@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@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 ///
|
||||||
47
7.1.212
Normal file
47
7.1.212
Normal file
|
|
@ -0,0 +1,47 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.212
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
57
7.1.213
Normal file
57
7.1.213
Normal file
|
|
@ -0,0 +1,57 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.213
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
266
7.1.214
Normal file
266
7.1.214
Normal file
|
|
@ -0,0 +1,266 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.214
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@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@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 ///
|
||||||
198
7.1.215
Normal file
198
7.1.215
Normal file
|
|
@ -0,0 +1,198 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.215
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.215
|
||||||
|
Problem: It is difficult to figure out what syntax items are nested at a
|
||||||
|
certain position.
|
||||||
|
Solution: Add the synstack() function.
|
||||||
|
Files: runtime/doc/eval.txt, src/eval.c, src/proto/syntax.pro,
|
||||||
|
src/syntax.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.214/runtime/doc/eval.txt Sun Jan 6 20:05:36 2008
|
||||||
|
--- runtime/doc/eval.txt Thu Jan 10 22:20:31 2008
|
||||||
|
***************
|
||||||
|
*** 1,4 ****
|
||||||
|
! *eval.txt* For Vim version 7.1. Last change: 2008 Jan 06
|
||||||
|
|
||||||
|
|
||||||
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
--- 1,4 ----
|
||||||
|
! *eval.txt* For Vim version 7.1. Last change: 2008 Jan 10
|
||||||
|
|
||||||
|
|
||||||
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
***************
|
||||||
|
*** 1786,1791 ****
|
||||||
|
--- 1786,1792 ----
|
||||||
|
synIDattr( {synID}, {what} [, {mode}])
|
||||||
|
String attribute {what} of syntax ID {synID}
|
||||||
|
synIDtrans( {synID}) Number translated syntax ID of {synID}
|
||||||
|
+ synstack({lnum}, {col}) List stack of syntax IDs at {lnum} and {col}
|
||||||
|
system( {expr} [, {input}]) String output of shell command/filter {expr}
|
||||||
|
tabpagebuflist( [{arg}]) List list of buffer numbers in tab page
|
||||||
|
tabpagenr( [{arg}]) Number number of current or last tab page
|
||||||
|
***************
|
||||||
|
*** 4962,4967 ****
|
||||||
|
--- 4966,4989 ----
|
||||||
|
highlight the character. Highlight links given with
|
||||||
|
":highlight link" are followed.
|
||||||
|
|
||||||
|
+ synstack({lnum}, {col}) *synstack()*
|
||||||
|
+ Return a |List|, which is the stack of syntax items at the
|
||||||
|
+ position {lnum} and {col} in the current window. Each item in
|
||||||
|
+ the List is an ID like what |synID()| returns.
|
||||||
|
+ The stack is the situation in between the character at "col"
|
||||||
|
+ and the next character. Note that a region of only one
|
||||||
|
+ character will not show up, it only exists inside that
|
||||||
|
+ character, not in between characters.
|
||||||
|
+ The first item in the List is the outer region, following are
|
||||||
|
+ items contained in that one. The last one is what |synID()|
|
||||||
|
+ returns, unless not the whole item is highlighted or it is a
|
||||||
|
+ transparent item.
|
||||||
|
+ This function is useful for debugging a syntax file.
|
||||||
|
+ Example that shows the syntax stack under the cursor: >
|
||||||
|
+ for id in synstack(line("."), col("."))
|
||||||
|
+ echo synIDattr(id, "name")
|
||||||
|
+ endfor
|
||||||
|
+
|
||||||
|
system({expr} [, {input}]) *system()* *E677*
|
||||||
|
Get the output of the shell command {expr}.
|
||||||
|
When {input} is given, this string is written to a file and
|
||||||
|
*** ../vim-7.1.214/src/eval.c Sun Jan 6 20:05:36 2008
|
||||||
|
--- src/eval.c Wed Jan 9 13:42:56 2008
|
||||||
|
***************
|
||||||
|
*** 651,656 ****
|
||||||
|
--- 651,657 ----
|
||||||
|
static void f_synID __ARGS((typval_T *argvars, typval_T *rettv));
|
||||||
|
static void f_synIDattr __ARGS((typval_T *argvars, typval_T *rettv));
|
||||||
|
static void f_synIDtrans __ARGS((typval_T *argvars, typval_T *rettv));
|
||||||
|
+ static void f_synstack __ARGS((typval_T *argvars, typval_T *rettv));
|
||||||
|
static void f_system __ARGS((typval_T *argvars, typval_T *rettv));
|
||||||
|
static void f_tabpagebuflist __ARGS((typval_T *argvars, typval_T *rettv));
|
||||||
|
static void f_tabpagenr __ARGS((typval_T *argvars, typval_T *rettv));
|
||||||
|
***************
|
||||||
|
*** 7252,7257 ****
|
||||||
|
--- 7253,7259 ----
|
||||||
|
{"synID", 3, 3, f_synID},
|
||||||
|
{"synIDattr", 2, 3, f_synIDattr},
|
||||||
|
{"synIDtrans", 1, 1, f_synIDtrans},
|
||||||
|
+ {"synstack", 2, 2, f_synstack},
|
||||||
|
{"system", 1, 2, f_system},
|
||||||
|
{"tabpagebuflist", 0, 1, f_tabpagebuflist},
|
||||||
|
{"tabpagenr", 0, 1, f_tabpagenr},
|
||||||
|
***************
|
||||||
|
*** 15843,15848 ****
|
||||||
|
--- 15845,15890 ----
|
||||||
|
id = 0;
|
||||||
|
|
||||||
|
rettv->vval.v_number = id;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /*
|
||||||
|
+ * "synstack(lnum, col)" function
|
||||||
|
+ */
|
||||||
|
+ /*ARGSUSED*/
|
||||||
|
+ static void
|
||||||
|
+ f_synstack(argvars, rettv)
|
||||||
|
+ typval_T *argvars;
|
||||||
|
+ typval_T *rettv;
|
||||||
|
+ {
|
||||||
|
+ #ifdef FEAT_SYN_HL
|
||||||
|
+ long lnum;
|
||||||
|
+ long col;
|
||||||
|
+ int i;
|
||||||
|
+ int id;
|
||||||
|
+ #endif
|
||||||
|
+
|
||||||
|
+ rettv->v_type = VAR_LIST;
|
||||||
|
+ rettv->vval.v_list = NULL;
|
||||||
|
+
|
||||||
|
+ #ifdef FEAT_SYN_HL
|
||||||
|
+ lnum = get_tv_lnum(argvars); /* -1 on type error */
|
||||||
|
+ col = get_tv_number(&argvars[1]) - 1; /* -1 on type error */
|
||||||
|
+
|
||||||
|
+ if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count
|
||||||
|
+ && col >= 0 && col < (long)STRLEN(ml_get(lnum))
|
||||||
|
+ && rettv_list_alloc(rettv) != FAIL)
|
||||||
|
+ {
|
||||||
|
+ (void)syn_get_id(curwin, lnum, (colnr_T)col, FALSE, NULL);
|
||||||
|
+ for (i = 0; ; ++i)
|
||||||
|
+ {
|
||||||
|
+ id = syn_get_stack_item(i);
|
||||||
|
+ if (id < 0)
|
||||||
|
+ break;
|
||||||
|
+ if (list_append_number(rettv->vval.v_list, id) == FAIL)
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ #endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*** ../vim-7.1.214/src/proto/syntax.pro Tue Jul 24 14:32:44 2007
|
||||||
|
--- src/proto/syntax.pro Wed Jan 9 13:38:20 2008
|
||||||
|
***************
|
||||||
|
*** 13,18 ****
|
||||||
|
--- 13,19 ----
|
||||||
|
void set_context_in_syntax_cmd __ARGS((expand_T *xp, char_u *arg));
|
||||||
|
char_u *get_syntax_name __ARGS((expand_T *xp, int idx));
|
||||||
|
int syn_get_id __ARGS((win_T *wp, long lnum, colnr_T col, int trans, int *spellp));
|
||||||
|
+ int syn_get_stack_item __ARGS((int i));
|
||||||
|
int syn_get_foldlevel __ARGS((win_T *wp, long lnum));
|
||||||
|
void init_highlight __ARGS((int both, int reset));
|
||||||
|
int load_colors __ARGS((char_u *name));
|
||||||
|
*** ../vim-7.1.214/src/syntax.c Sun Oct 7 15:21:31 2007
|
||||||
|
--- src/syntax.c Wed Jan 9 15:17:47 2008
|
||||||
|
***************
|
||||||
|
*** 6104,6109 ****
|
||||||
|
--- 6102,6123 ----
|
||||||
|
|
||||||
|
return (trans ? current_trans_id : current_id);
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ #if defined(FEAT_EVAL) || defined(PROTO)
|
||||||
|
+ /*
|
||||||
|
+ * Return the syntax ID at position "i" in the current stack.
|
||||||
|
+ * The caller must have called syn_get_id() before to fill the stack.
|
||||||
|
+ * Returns -1 when "i" is out of range.
|
||||||
|
+ */
|
||||||
|
+ int
|
||||||
|
+ syn_get_stack_item(i)
|
||||||
|
+ int i;
|
||||||
|
+ {
|
||||||
|
+ if (i >= current_state.ga_len )
|
||||||
|
+ return -1;
|
||||||
|
+ return CUR_STATE(i).si_id;
|
||||||
|
+ }
|
||||||
|
+ #endif
|
||||||
|
|
||||||
|
#if defined(FEAT_FOLDING) || defined(PROTO)
|
||||||
|
/*
|
||||||
|
*** ../vim-7.1.214/src/version.c Wed Jan 9 22:39:55 2008
|
||||||
|
--- src/version.c Thu Jan 10 22:17:38 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 215,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
TALL KNIGHT: We are now no longer the Knights Who Say Ni!
|
||||||
|
ONE KNIGHT: Ni!
|
||||||
|
OTHERS: Sh!
|
||||||
|
ONE KNIGHT: (whispers) Sorry.
|
||||||
|
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
55
7.1.216
Normal file
55
7.1.216
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.216
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.216
|
||||||
|
Problem: Variants of --remote-tab are not mentioned for "vim --help".
|
||||||
|
Solution: Display optional -wait and -silent.
|
||||||
|
Files: src/main.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.215/src/main.c Tue Sep 25 17:54:41 2007
|
||||||
|
--- src/main.c Sun Dec 30 15:09:11 2007
|
||||||
|
***************
|
||||||
|
*** 3081,3087 ****
|
||||||
|
main_msg(_("--remote-wait <files> As --remote but wait for files to have been edited"));
|
||||||
|
main_msg(_("--remote-wait-silent <files> Same, don't complain if there is no server"));
|
||||||
|
# ifdef FEAT_WINDOWS
|
||||||
|
! main_msg(_("--remote-tab <files> As --remote but open tab page for each file"));
|
||||||
|
# endif
|
||||||
|
main_msg(_("--remote-send <keys>\tSend <keys> to a Vim server and exit"));
|
||||||
|
main_msg(_("--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result"));
|
||||||
|
--- 3081,3087 ----
|
||||||
|
main_msg(_("--remote-wait <files> As --remote but wait for files to have been edited"));
|
||||||
|
main_msg(_("--remote-wait-silent <files> Same, don't complain if there is no server"));
|
||||||
|
# ifdef FEAT_WINDOWS
|
||||||
|
! main_msg(_("--remote-tab[-wait][-silent] <files> As --remote but use tab page per file"));
|
||||||
|
# endif
|
||||||
|
main_msg(_("--remote-send <keys>\tSend <keys> to a Vim server and exit"));
|
||||||
|
main_msg(_("--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result"));
|
||||||
|
*** ../vim-7.1.215/src/version.c Thu Jan 10 22:23:22 2008
|
||||||
|
--- src/version.c Fri Jan 11 20:25:14 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 216,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
TIM: But follow only if you are men of valour. For the entrance to this cave
|
||||||
|
is guarded by a monster, a creature so foul and cruel that no man yet has
|
||||||
|
fought with it and lived. Bones of full fifty men lie strewn about its
|
||||||
|
lair ...
|
||||||
|
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
228
7.1.217
Normal file
228
7.1.217
Normal file
|
|
@ -0,0 +1,228 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.217
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.217
|
||||||
|
Problem: The "help-tags" tag may be missing from runtime/doc/tags when it
|
||||||
|
was generated during "make install".
|
||||||
|
Solution: Add the "++t" argument to ":helptags" to force adding the tag.
|
||||||
|
Files: runtime/doc/Makefile, runtime/doc/various.txt, src/ex_cmds.c,
|
||||||
|
src/ex_cmds.h
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.216/runtime/doc/Makefile Sat May 5 19:14:15 2007
|
||||||
|
--- runtime/doc/Makefile Fri Jan 11 20:55:34 2008
|
||||||
|
***************
|
||||||
|
*** 301,307 ****
|
||||||
|
# Use Vim to generate the tags file. Can only be used when Vim has been
|
||||||
|
# compiled and installed. Supports multiple languages.
|
||||||
|
vimtags: $(DOCS)
|
||||||
|
! $(VIMEXE) -u NONE -esX -c "helptags ." -c quit
|
||||||
|
|
||||||
|
# Use "doctags" to generate the tags file. Only works for English!
|
||||||
|
tags: doctags $(DOCS)
|
||||||
|
--- 301,307 ----
|
||||||
|
# Use Vim to generate the tags file. Can only be used when Vim has been
|
||||||
|
# compiled and installed. Supports multiple languages.
|
||||||
|
vimtags: $(DOCS)
|
||||||
|
! $(VIMEXE) -u NONE -esX -c "helptags ++t ." -c quit
|
||||||
|
|
||||||
|
# Use "doctags" to generate the tags file. Only works for English!
|
||||||
|
tags: doctags $(DOCS)
|
||||||
|
*** ../vim-7.1.216/runtime/doc/various.txt Sat May 12 17:05:26 2007
|
||||||
|
--- runtime/doc/various.txt Fri Jan 11 20:45:45 2008
|
||||||
|
***************
|
||||||
|
*** 1,4 ****
|
||||||
|
! *various.txt* For Vim version 7.1. Last change: 2007 Jan 14
|
||||||
|
|
||||||
|
|
||||||
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
--- 1,4 ----
|
||||||
|
! *various.txt* For Vim version 7.1. Last change: 2008 Jan 11
|
||||||
|
|
||||||
|
|
||||||
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
***************
|
||||||
|
*** 748,754 ****
|
||||||
|
|
||||||
|
*:helpt* *:helptags*
|
||||||
|
*E154* *E150* *E151* *E152* *E153* *E670*
|
||||||
|
! :helpt[ags] {dir} Generate the help tags file(s) for directory {dir}.
|
||||||
|
All "*.txt" and "*.??x" files in the directory are
|
||||||
|
scanned for a help tag definition in between stars.
|
||||||
|
The "*.??x" files are for translated docs, they
|
||||||
|
--- 754,761 ----
|
||||||
|
|
||||||
|
*:helpt* *:helptags*
|
||||||
|
*E154* *E150* *E151* *E152* *E153* *E670*
|
||||||
|
! :helpt[ags] [++t] {dir}
|
||||||
|
! Generate the help tags file(s) for directory {dir}.
|
||||||
|
All "*.txt" and "*.??x" files in the directory are
|
||||||
|
scanned for a help tag definition in between stars.
|
||||||
|
The "*.??x" files are for translated docs, they
|
||||||
|
***************
|
||||||
|
*** 756,761 ****
|
||||||
|
--- 763,771 ----
|
||||||
|
The generated tags files are sorted.
|
||||||
|
When there are duplicates an error message is given.
|
||||||
|
An existing tags file is silently overwritten.
|
||||||
|
+ The optional "++t" argument forces adding the
|
||||||
|
+ "help-tags" tag. This is also done when the {dir} is
|
||||||
|
+ equal to $VIMRUNTIME/doc.
|
||||||
|
To rebuild the help tags in the runtime directory
|
||||||
|
(requires write permission there): >
|
||||||
|
:helptags $VIMRUNTIME/doc
|
||||||
|
*** ../vim-7.1.216/src/ex_cmds.c Wed Jan 9 22:39:55 2008
|
||||||
|
--- src/ex_cmds.c Fri Jan 11 20:47:13 2008
|
||||||
|
***************
|
||||||
|
*** 6091,6097 ****
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(FEAT_EX_EXTRA) || defined(PROTO)
|
||||||
|
! static void helptags_one __ARGS((char_u *dir, char_u *ext, char_u *lang));
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ":helptags"
|
||||||
|
--- 6091,6097 ----
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(FEAT_EX_EXTRA) || defined(PROTO)
|
||||||
|
! static void helptags_one __ARGS((char_u *dir, char_u *ext, char_u *lang, int add_help_tags));
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ":helptags"
|
||||||
|
***************
|
||||||
|
*** 6110,6115 ****
|
||||||
|
--- 6110,6123 ----
|
||||||
|
char_u fname[8];
|
||||||
|
int filecount;
|
||||||
|
char_u **files;
|
||||||
|
+ int add_help_tags = FALSE;
|
||||||
|
+
|
||||||
|
+ /* Check for ":helptags ++t {dir}". */
|
||||||
|
+ if (STRNCMP(eap->arg, "++t", 3) == 0 && vim_iswhite(eap->arg[3]))
|
||||||
|
+ {
|
||||||
|
+ add_help_tags = TRUE;
|
||||||
|
+ eap->arg = skipwhite(eap->arg + 3);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
if (!mch_isdir(eap->arg))
|
||||||
|
{
|
||||||
|
***************
|
||||||
|
*** 6192,6198 ****
|
||||||
|
ext[1] = fname[5];
|
||||||
|
ext[2] = fname[6];
|
||||||
|
}
|
||||||
|
! helptags_one(eap->arg, ext, fname);
|
||||||
|
}
|
||||||
|
|
||||||
|
ga_clear(&ga);
|
||||||
|
--- 6200,6206 ----
|
||||||
|
ext[1] = fname[5];
|
||||||
|
ext[2] = fname[6];
|
||||||
|
}
|
||||||
|
! helptags_one(eap->arg, ext, fname, add_help_tags);
|
||||||
|
}
|
||||||
|
|
||||||
|
ga_clear(&ga);
|
||||||
|
***************
|
||||||
|
*** 6200,6214 ****
|
||||||
|
|
||||||
|
#else
|
||||||
|
/* No language support, just use "*.txt" and "tags". */
|
||||||
|
! helptags_one(eap->arg, (char_u *)".txt", (char_u *)"tags");
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
! helptags_one(dir, ext, tagfname)
|
||||||
|
! char_u *dir; /* doc directory */
|
||||||
|
! char_u *ext; /* suffix, ".txt", ".itx", ".frx", etc. */
|
||||||
|
! char_u *tagfname; /* "tags" for English, "tags-it" for Italian. */
|
||||||
|
{
|
||||||
|
FILE *fd_tags;
|
||||||
|
FILE *fd;
|
||||||
|
--- 6208,6223 ----
|
||||||
|
|
||||||
|
#else
|
||||||
|
/* No language support, just use "*.txt" and "tags". */
|
||||||
|
! helptags_one(eap->arg, (char_u *)".txt", (char_u *)"tags", add_help_tags);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
! helptags_one(dir, ext, tagfname, add_help_tags)
|
||||||
|
! char_u *dir; /* doc directory */
|
||||||
|
! char_u *ext; /* suffix, ".txt", ".itx", ".frx", etc. */
|
||||||
|
! char_u *tagfname; /* "tags" for English, "tags-fr" for French. */
|
||||||
|
! int add_help_tags; /* add "help-tags" tag */
|
||||||
|
{
|
||||||
|
FILE *fd_tags;
|
||||||
|
FILE *fd;
|
||||||
|
***************
|
||||||
|
*** 6259,6268 ****
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
! * If generating tags for "$VIMRUNTIME/doc" add the "help-tags" tag.
|
||||||
|
*/
|
||||||
|
ga_init2(&ga, (int)sizeof(char_u *), 100);
|
||||||
|
! if (fullpathcmp((char_u *)"$VIMRUNTIME/doc", dir, FALSE) == FPC_SAME)
|
||||||
|
{
|
||||||
|
if (ga_grow(&ga, 1) == FAIL)
|
||||||
|
got_int = TRUE;
|
||||||
|
--- 6268,6279 ----
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
! * If using the "++t" argument or generating tags for "$VIMRUNTIME/doc"
|
||||||
|
! * add the "help-tags" tag.
|
||||||
|
*/
|
||||||
|
ga_init2(&ga, (int)sizeof(char_u *), 100);
|
||||||
|
! if (add_help_tags || fullpathcmp((char_u *)"$VIMRUNTIME/doc",
|
||||||
|
! dir, FALSE) == FPC_SAME)
|
||||||
|
{
|
||||||
|
if (ga_grow(&ga, 1) == FAIL)
|
||||||
|
got_int = TRUE;
|
||||||
|
*** ../vim-7.1.216/src/ex_cmds.h Thu Mar 8 11:00:55 2007
|
||||||
|
--- src/ex_cmds.h Fri Jan 11 20:49:18 2008
|
||||||
|
***************
|
||||||
|
*** 422,428 ****
|
||||||
|
EX(CMD_helpgrep, "helpgrep", ex_helpgrep,
|
||||||
|
EXTRA|NOTRLCOM|NEEDARG),
|
||||||
|
EX(CMD_helptags, "helptags", ex_helptags,
|
||||||
|
! NEEDARG|FILE1|TRLBAR|CMDWIN),
|
||||||
|
EX(CMD_hardcopy, "hardcopy", ex_hardcopy,
|
||||||
|
RANGE|COUNT|EXTRA|TRLBAR|DFLALL|BANG),
|
||||||
|
EX(CMD_highlight, "highlight", ex_highlight,
|
||||||
|
--- 422,428 ----
|
||||||
|
EX(CMD_helpgrep, "helpgrep", ex_helpgrep,
|
||||||
|
EXTRA|NOTRLCOM|NEEDARG),
|
||||||
|
EX(CMD_helptags, "helptags", ex_helptags,
|
||||||
|
! NEEDARG|FILES|TRLBAR|CMDWIN),
|
||||||
|
EX(CMD_hardcopy, "hardcopy", ex_hardcopy,
|
||||||
|
RANGE|COUNT|EXTRA|TRLBAR|DFLALL|BANG),
|
||||||
|
EX(CMD_highlight, "highlight", ex_highlight,
|
||||||
|
*** ../vim-7.1.216/src/version.c Fri Jan 11 20:25:42 2008
|
||||||
|
--- src/version.c Fri Jan 11 20:58:44 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 217,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
My girlfriend told me I should be more affectionate.
|
||||||
|
So I got TWO girlfriends.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
58
7.1.218
Normal file
58
7.1.218
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.218
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.218
|
||||||
|
Problem: A syntax region without a "keepend", containing a region with
|
||||||
|
"extend" could be truncated at the end of the containing region.
|
||||||
|
Solution: Do not call syn_update_ends() when there are no keepend items.
|
||||||
|
Files: src/syntax.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.217/src/syntax.c Thu Jan 10 22:23:22 2008
|
||||||
|
--- src/syntax.c Wed Jan 9 15:17:47 2008
|
||||||
|
***************
|
||||||
|
*** 2495,2501 ****
|
||||||
|
if (current_state.ga_len == 0)
|
||||||
|
break;
|
||||||
|
|
||||||
|
! if (had_extend)
|
||||||
|
{
|
||||||
|
syn_update_ends(FALSE);
|
||||||
|
if (current_state.ga_len == 0)
|
||||||
|
--- 2493,2499 ----
|
||||||
|
if (current_state.ga_len == 0)
|
||||||
|
break;
|
||||||
|
|
||||||
|
! if (had_extend && keepend_level >= 0)
|
||||||
|
{
|
||||||
|
syn_update_ends(FALSE);
|
||||||
|
if (current_state.ga_len == 0)
|
||||||
|
*** ../vim-7.1.217/src/version.c Fri Jan 11 21:00:49 2008
|
||||||
|
--- src/version.c Fri Jan 11 21:25:46 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 218,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
The Law of VIM:
|
||||||
|
For each member b of the possible behaviour space B of program P, there exists
|
||||||
|
a finite time t before which at least one user u in the total user space U of
|
||||||
|
program P will request b becomes a member of the allowed behaviour space B'
|
||||||
|
(B' <= B).
|
||||||
|
In other words: Sooner or later everyone wants everything as an option.
|
||||||
|
-- Vince Negri
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
378
7.1.219
Normal file
378
7.1.219
Normal file
|
|
@ -0,0 +1,378 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.219
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.219 (after 7.1.215)
|
||||||
|
Problem: synstack() returns situation after the current character, can't
|
||||||
|
see the state for a one-character region.
|
||||||
|
Solution: Don't update ending states in the requested column.
|
||||||
|
Files: runtime/doc/eval.txt, src/eval.c, src/hardcopy.c,
|
||||||
|
src/proto/syntax.pro, src/screen.c, src/spell.c, src/syntax.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.218/runtime/doc/eval.txt Thu Jan 10 22:23:22 2008
|
||||||
|
--- runtime/doc/eval.txt Fri Jan 11 22:04:59 2008
|
||||||
|
***************
|
||||||
|
*** 1,4 ****
|
||||||
|
! *eval.txt* For Vim version 7.1. Last change: 2008 Jan 10
|
||||||
|
|
||||||
|
|
||||||
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
--- 1,4 ----
|
||||||
|
! *eval.txt* For Vim version 7.1. Last change: 2008 Jan 11
|
||||||
|
|
||||||
|
|
||||||
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
***************
|
||||||
|
*** 4967,4976 ****
|
||||||
|
Return a |List|, which is the stack of syntax items at the
|
||||||
|
position {lnum} and {col} in the current window. Each item in
|
||||||
|
the List is an ID like what |synID()| returns.
|
||||||
|
- The stack is the situation in between the character at "col"
|
||||||
|
- and the next character. Note that a region of only one
|
||||||
|
- character will not show up, it only exists inside that
|
||||||
|
- character, not in between characters.
|
||||||
|
The first item in the List is the outer region, following are
|
||||||
|
items contained in that one. The last one is what |synID()|
|
||||||
|
returns, unless not the whole item is highlighted or it is a
|
||||||
|
--- 4970,4975 ----
|
||||||
|
*** ../vim-7.1.218/src/eval.c Thu Jan 10 22:23:22 2008
|
||||||
|
--- src/eval.c Fri Jan 11 21:46:12 2008
|
||||||
|
***************
|
||||||
|
*** 15725,15731 ****
|
||||||
|
|
||||||
|
if (!transerr && lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count
|
||||||
|
&& col >= 0 && col < (long)STRLEN(ml_get(lnum)))
|
||||||
|
! id = syn_get_id(curwin, lnum, (colnr_T)col, trans, NULL);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
rettv->vval.v_number = id;
|
||||||
|
--- 15725,15731 ----
|
||||||
|
|
||||||
|
if (!transerr && lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count
|
||||||
|
&& col >= 0 && col < (long)STRLEN(ml_get(lnum)))
|
||||||
|
! id = syn_get_id(curwin, lnum, (colnr_T)col, trans, NULL, FALSE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
rettv->vval.v_number = id;
|
||||||
|
***************
|
||||||
|
*** 15874,15880 ****
|
||||||
|
&& col >= 0 && col < (long)STRLEN(ml_get(lnum))
|
||||||
|
&& rettv_list_alloc(rettv) != FAIL)
|
||||||
|
{
|
||||||
|
! (void)syn_get_id(curwin, lnum, (colnr_T)col, FALSE, NULL);
|
||||||
|
for (i = 0; ; ++i)
|
||||||
|
{
|
||||||
|
id = syn_get_stack_item(i);
|
||||||
|
--- 15874,15880 ----
|
||||||
|
&& col >= 0 && col < (long)STRLEN(ml_get(lnum))
|
||||||
|
&& rettv_list_alloc(rettv) != FAIL)
|
||||||
|
{
|
||||||
|
! (void)syn_get_id(curwin, lnum, (colnr_T)col, FALSE, NULL, TRUE);
|
||||||
|
for (i = 0; ; ++i)
|
||||||
|
{
|
||||||
|
id = syn_get_stack_item(i);
|
||||||
|
*** ../vim-7.1.218/src/hardcopy.c Thu May 10 20:40:02 2007
|
||||||
|
--- src/hardcopy.c Fri Jan 11 21:46:20 2008
|
||||||
|
***************
|
||||||
|
*** 876,882 ****
|
||||||
|
*/
|
||||||
|
if (psettings->do_syntax)
|
||||||
|
{
|
||||||
|
! id = syn_get_id(curwin, ppos->file_line, col, 1, NULL);
|
||||||
|
if (id > 0)
|
||||||
|
id = syn_get_final_id(id);
|
||||||
|
else
|
||||||
|
--- 876,882 ----
|
||||||
|
*/
|
||||||
|
if (psettings->do_syntax)
|
||||||
|
{
|
||||||
|
! id = syn_get_id(curwin, ppos->file_line, col, 1, NULL, FALSE);
|
||||||
|
if (id > 0)
|
||||||
|
id = syn_get_final_id(id);
|
||||||
|
else
|
||||||
|
*** ../vim-7.1.218/src/proto/syntax.pro Thu Jan 10 22:23:22 2008
|
||||||
|
--- src/proto/syntax.pro Fri Jan 11 21:54:19 2008
|
||||||
|
***************
|
||||||
|
*** 4,10 ****
|
||||||
|
void syn_stack_apply_changes __ARGS((buf_T *buf));
|
||||||
|
void syntax_end_parsing __ARGS((linenr_T lnum));
|
||||||
|
int syntax_check_changed __ARGS((linenr_T lnum));
|
||||||
|
! int get_syntax_attr __ARGS((colnr_T col, int *can_spell));
|
||||||
|
void syntax_clear __ARGS((buf_T *buf));
|
||||||
|
void ex_syntax __ARGS((exarg_T *eap));
|
||||||
|
int syntax_present __ARGS((buf_T *buf));
|
||||||
|
--- 4,10 ----
|
||||||
|
void syn_stack_apply_changes __ARGS((buf_T *buf));
|
||||||
|
void syntax_end_parsing __ARGS((linenr_T lnum));
|
||||||
|
int syntax_check_changed __ARGS((linenr_T lnum));
|
||||||
|
! int get_syntax_attr __ARGS((colnr_T col, int *can_spell, int keep_state));
|
||||||
|
void syntax_clear __ARGS((buf_T *buf));
|
||||||
|
void ex_syntax __ARGS((exarg_T *eap));
|
||||||
|
int syntax_present __ARGS((buf_T *buf));
|
||||||
|
***************
|
||||||
|
*** 12,18 ****
|
||||||
|
void set_context_in_echohl_cmd __ARGS((expand_T *xp, char_u *arg));
|
||||||
|
void set_context_in_syntax_cmd __ARGS((expand_T *xp, char_u *arg));
|
||||||
|
char_u *get_syntax_name __ARGS((expand_T *xp, int idx));
|
||||||
|
! int syn_get_id __ARGS((win_T *wp, long lnum, colnr_T col, int trans, int *spellp));
|
||||||
|
int syn_get_stack_item __ARGS((int i));
|
||||||
|
int syn_get_foldlevel __ARGS((win_T *wp, long lnum));
|
||||||
|
void init_highlight __ARGS((int both, int reset));
|
||||||
|
--- 12,18 ----
|
||||||
|
void set_context_in_echohl_cmd __ARGS((expand_T *xp, char_u *arg));
|
||||||
|
void set_context_in_syntax_cmd __ARGS((expand_T *xp, char_u *arg));
|
||||||
|
char_u *get_syntax_name __ARGS((expand_T *xp, int idx));
|
||||||
|
! int syn_get_id __ARGS((win_T *wp, long lnum, colnr_T col, int trans, int *spellp, int keep_state));
|
||||||
|
int syn_get_stack_item __ARGS((int i));
|
||||||
|
int syn_get_foldlevel __ARGS((win_T *wp, long lnum));
|
||||||
|
void init_highlight __ARGS((int both, int reset));
|
||||||
|
*** ../vim-7.1.218/src/screen.c Thu Nov 8 21:23:34 2007
|
||||||
|
--- src/screen.c Fri Jan 11 21:48:10 2008
|
||||||
|
***************
|
||||||
|
*** 3885,3891 ****
|
||||||
|
# ifdef FEAT_SPELL
|
||||||
|
has_spell ? &can_spell :
|
||||||
|
# endif
|
||||||
|
! NULL);
|
||||||
|
|
||||||
|
if (did_emsg)
|
||||||
|
{
|
||||||
|
--- 3885,3891 ----
|
||||||
|
# ifdef FEAT_SPELL
|
||||||
|
has_spell ? &can_spell :
|
||||||
|
# endif
|
||||||
|
! NULL, FALSE);
|
||||||
|
|
||||||
|
if (did_emsg)
|
||||||
|
{
|
||||||
|
*** ../vim-7.1.218/src/spell.c Sun Aug 5 18:32:21 2007
|
||||||
|
--- src/spell.c Fri Jan 11 21:46:50 2008
|
||||||
|
***************
|
||||||
|
*** 2146,2152 ****
|
||||||
|
{
|
||||||
|
col = (int)(p - buf);
|
||||||
|
(void)syn_get_id(wp, lnum, (colnr_T)col,
|
||||||
|
! FALSE, &can_spell);
|
||||||
|
if (!can_spell)
|
||||||
|
attr = HLF_COUNT;
|
||||||
|
}
|
||||||
|
--- 2146,2152 ----
|
||||||
|
{
|
||||||
|
col = (int)(p - buf);
|
||||||
|
(void)syn_get_id(wp, lnum, (colnr_T)col,
|
||||||
|
! FALSE, &can_spell, FALSE);
|
||||||
|
if (!can_spell)
|
||||||
|
attr = HLF_COUNT;
|
||||||
|
}
|
||||||
|
*** ../vim-7.1.218/src/syntax.c Fri Jan 11 21:26:49 2008
|
||||||
|
--- src/syntax.c Sat Jan 12 16:42:25 2008
|
||||||
|
***************
|
||||||
|
*** 378,384 ****
|
||||||
|
static int syn_stack_equal __ARGS((synstate_T *sp));
|
||||||
|
static void validate_current_state __ARGS((void));
|
||||||
|
static int syn_finish_line __ARGS((int syncing));
|
||||||
|
! static int syn_current_attr __ARGS((int syncing, int displaying, int *can_spell));
|
||||||
|
static int did_match_already __ARGS((int idx, garray_T *gap));
|
||||||
|
static stateitem_T *push_next_match __ARGS((stateitem_T *cur_si));
|
||||||
|
static void check_state_ends __ARGS((void));
|
||||||
|
--- 378,384 ----
|
||||||
|
static int syn_stack_equal __ARGS((synstate_T *sp));
|
||||||
|
static void validate_current_state __ARGS((void));
|
||||||
|
static int syn_finish_line __ARGS((int syncing));
|
||||||
|
! static int syn_current_attr __ARGS((int syncing, int displaying, int *can_spell, int keep_state));
|
||||||
|
static int did_match_already __ARGS((int idx, garray_T *gap));
|
||||||
|
static stateitem_T *push_next_match __ARGS((stateitem_T *cur_si));
|
||||||
|
static void check_state_ends __ARGS((void));
|
||||||
|
***************
|
||||||
|
*** 1691,1697 ****
|
||||||
|
{
|
||||||
|
while (!current_finished)
|
||||||
|
{
|
||||||
|
! (void)syn_current_attr(syncing, FALSE, NULL);
|
||||||
|
/*
|
||||||
|
* When syncing, and found some item, need to check the item.
|
||||||
|
*/
|
||||||
|
--- 1690,1696 ----
|
||||||
|
{
|
||||||
|
while (!current_finished)
|
||||||
|
{
|
||||||
|
! (void)syn_current_attr(syncing, FALSE, NULL, FALSE);
|
||||||
|
/*
|
||||||
|
* When syncing, and found some item, need to check the item.
|
||||||
|
*/
|
||||||
|
***************
|
||||||
|
*** 1731,1739 ****
|
||||||
|
* done.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
! get_syntax_attr(col, can_spell)
|
||||||
|
colnr_T col;
|
||||||
|
int *can_spell;
|
||||||
|
{
|
||||||
|
int attr = 0;
|
||||||
|
|
||||||
|
--- 1730,1739 ----
|
||||||
|
* done.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
! get_syntax_attr(col, can_spell, keep_state)
|
||||||
|
colnr_T col;
|
||||||
|
int *can_spell;
|
||||||
|
+ int keep_state; /* keep state of char at "col" */
|
||||||
|
{
|
||||||
|
int attr = 0;
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 1768,1774 ****
|
||||||
|
*/
|
||||||
|
while (current_col <= col)
|
||||||
|
{
|
||||||
|
! attr = syn_current_attr(FALSE, TRUE, can_spell);
|
||||||
|
++current_col;
|
||||||
|
}
|
||||||
|
|
||||||
|
--- 1768,1775 ----
|
||||||
|
*/
|
||||||
|
while (current_col <= col)
|
||||||
|
{
|
||||||
|
! attr = syn_current_attr(FALSE, TRUE, can_spell,
|
||||||
|
! current_col == col ? keep_state : FALSE);
|
||||||
|
++current_col;
|
||||||
|
}
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 1779,1788 ****
|
||||||
|
* Get syntax attributes for current_lnum, current_col.
|
||||||
|
*/
|
||||||
|
static int
|
||||||
|
! syn_current_attr(syncing, displaying, can_spell)
|
||||||
|
int syncing; /* When 1: called for syncing */
|
||||||
|
int displaying; /* result will be displayed */
|
||||||
|
int *can_spell; /* return: do spell checking */
|
||||||
|
{
|
||||||
|
int syn_id;
|
||||||
|
lpos_T endpos; /* was: char_u *endp; */
|
||||||
|
--- 1780,1790 ----
|
||||||
|
* Get syntax attributes for current_lnum, current_col.
|
||||||
|
*/
|
||||||
|
static int
|
||||||
|
! syn_current_attr(syncing, displaying, can_spell, keep_state)
|
||||||
|
int syncing; /* When 1: called for syncing */
|
||||||
|
int displaying; /* result will be displayed */
|
||||||
|
int *can_spell; /* return: do spell checking */
|
||||||
|
+ int keep_state; /* keep syntax stack afterwards */
|
||||||
|
{
|
||||||
|
int syn_id;
|
||||||
|
lpos_T endpos; /* was: char_u *endp; */
|
||||||
|
***************
|
||||||
|
*** 2298,2304 ****
|
||||||
|
* may be for an empty match and a containing item might end in the
|
||||||
|
* current column.
|
||||||
|
*/
|
||||||
|
! if (!syncing)
|
||||||
|
{
|
||||||
|
check_state_ends();
|
||||||
|
if (current_state.ga_len > 0
|
||||||
|
--- 2300,2306 ----
|
||||||
|
* may be for an empty match and a containing item might end in the
|
||||||
|
* current column.
|
||||||
|
*/
|
||||||
|
! if (!syncing && !keep_state)
|
||||||
|
{
|
||||||
|
check_state_ends();
|
||||||
|
if (current_state.ga_len > 0
|
||||||
|
***************
|
||||||
|
*** 6086,6097 ****
|
||||||
|
* Function called for expression evaluation: get syntax ID at file position.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
! syn_get_id(wp, lnum, col, trans, spellp)
|
||||||
|
win_T *wp;
|
||||||
|
long lnum;
|
||||||
|
colnr_T col;
|
||||||
|
! int trans; /* remove transparancy */
|
||||||
|
! int *spellp; /* return: can do spell checking */
|
||||||
|
{
|
||||||
|
/* When the position is not after the current position and in the same
|
||||||
|
* line of the same buffer, need to restart parsing. */
|
||||||
|
--- 6088,6100 ----
|
||||||
|
* Function called for expression evaluation: get syntax ID at file position.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
! syn_get_id(wp, lnum, col, trans, spellp, keep_state)
|
||||||
|
win_T *wp;
|
||||||
|
long lnum;
|
||||||
|
colnr_T col;
|
||||||
|
! int trans; /* remove transparancy */
|
||||||
|
! int *spellp; /* return: can do spell checking */
|
||||||
|
! int keep_state; /* keep state of char at "col" */
|
||||||
|
{
|
||||||
|
/* When the position is not after the current position and in the same
|
||||||
|
* line of the same buffer, need to restart parsing. */
|
||||||
|
***************
|
||||||
|
*** 6100,6106 ****
|
||||||
|
|| col < current_col)
|
||||||
|
syntax_start(wp, lnum);
|
||||||
|
|
||||||
|
! (void)get_syntax_attr(col, spellp);
|
||||||
|
|
||||||
|
return (trans ? current_trans_id : current_id);
|
||||||
|
}
|
||||||
|
--- 6103,6109 ----
|
||||||
|
|| col < current_col)
|
||||||
|
syntax_start(wp, lnum);
|
||||||
|
|
||||||
|
! (void)get_syntax_attr(col, spellp, keep_state);
|
||||||
|
|
||||||
|
return (trans ? current_trans_id : current_id);
|
||||||
|
}
|
||||||
|
***************
|
||||||
|
*** 6115,6122 ****
|
||||||
|
syn_get_stack_item(i)
|
||||||
|
int i;
|
||||||
|
{
|
||||||
|
! if (i >= current_state.ga_len )
|
||||||
|
return -1;
|
||||||
|
return CUR_STATE(i).si_id;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
--- 6118,6131 ----
|
||||||
|
syn_get_stack_item(i)
|
||||||
|
int i;
|
||||||
|
{
|
||||||
|
! if (i >= current_state.ga_len)
|
||||||
|
! {
|
||||||
|
! /* Need to invalidate the state, because we didn't properly finish it
|
||||||
|
! * for the last character, "keep_state" was TRUE. */
|
||||||
|
! invalidate_current_state();
|
||||||
|
! current_col = MAXCOL;
|
||||||
|
return -1;
|
||||||
|
+ }
|
||||||
|
return CUR_STATE(i).si_id;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
*** ../vim-7.1.218/src/version.c Fri Jan 11 21:26:49 2008
|
||||||
|
--- src/version.c Sat Jan 12 16:40:47 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 219,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
ARTHUR: Go on, Bors, chop its head off.
|
||||||
|
BORS: Right. Silly little bleeder. One rabbit stew coming up.
|
||||||
|
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
136
7.1.220
Normal file
136
7.1.220
Normal file
|
|
@ -0,0 +1,136 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.220
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.220
|
||||||
|
Problem: When a ")" or word movement command moves the cursor back from the
|
||||||
|
end of the line it may end up on the trail byte of a multi-byte
|
||||||
|
character. It's also moved back when it isn't needed.
|
||||||
|
Solution: Add the adjust_cursor() function.
|
||||||
|
Files: src/normal.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.219/src/normal.c Sun Jan 6 20:05:36 2008
|
||||||
|
--- src/normal.c Sat Jan 12 17:10:14 2008
|
||||||
|
***************
|
||||||
|
*** 150,155 ****
|
||||||
|
--- 150,156 ----
|
||||||
|
static void nv_bck_word __ARGS((cmdarg_T *cap));
|
||||||
|
static void nv_wordcmd __ARGS((cmdarg_T *cap));
|
||||||
|
static void nv_beginline __ARGS((cmdarg_T *cap));
|
||||||
|
+ static void adjust_cursor __ARGS((oparg_T *oap));
|
||||||
|
#ifdef FEAT_VISUAL
|
||||||
|
static void adjust_for_sel __ARGS((cmdarg_T *cap));
|
||||||
|
static int unadjust_for_sel __ARGS((void));
|
||||||
|
***************
|
||||||
|
*** 6567,6578 ****
|
||||||
|
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
|
||||||
|
--- 6568,6575 ----
|
||||||
|
clearopbeep(cap->oap);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
! /* Don't leave the cursor on the NUL past end of line. */
|
||||||
|
! adjust_cursor(cap->oap);
|
||||||
|
#ifdef FEAT_VIRTUALEDIT
|
||||||
|
curwin->w_cursor.coladd = 0;
|
||||||
|
#endif
|
||||||
|
***************
|
||||||
|
*** 8408,8419 ****
|
||||||
|
else
|
||||||
|
n = fwd_word(cap->count1, cap->arg, cap->oap->op_type != OP_NOP);
|
||||||
|
|
||||||
|
! /* Don't leave the cursor on the NUL past a line */
|
||||||
|
! if (n != FAIL && curwin->w_cursor.col > 0 && gchar_cursor() == NUL)
|
||||||
|
! {
|
||||||
|
! --curwin->w_cursor.col;
|
||||||
|
! cap->oap->inclusive = TRUE;
|
||||||
|
! }
|
||||||
|
|
||||||
|
if (n == FAIL && cap->oap->op_type == OP_NOP)
|
||||||
|
clearopbeep(cap->oap);
|
||||||
|
--- 8405,8413 ----
|
||||||
|
else
|
||||||
|
n = fwd_word(cap->count1, cap->arg, cap->oap->op_type != OP_NOP);
|
||||||
|
|
||||||
|
! /* Don't leave the cursor on the NUL past the end of line. */
|
||||||
|
! if (n != FAIL)
|
||||||
|
! adjust_cursor(cap->oap);
|
||||||
|
|
||||||
|
if (n == FAIL && cap->oap->op_type == OP_NOP)
|
||||||
|
clearopbeep(cap->oap);
|
||||||
|
***************
|
||||||
|
*** 8426,8431 ****
|
||||||
|
--- 8420,8458 ----
|
||||||
|
if ((fdo_flags & FDO_HOR) && KeyTyped && cap->oap->op_type == OP_NOP)
|
||||||
|
foldOpenCursor();
|
||||||
|
#endif
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /*
|
||||||
|
+ * Used after a movement command: If the cursor ends up on the NUL after the
|
||||||
|
+ * end of the line, may move it back to the last character and make the motion
|
||||||
|
+ * inclusive.
|
||||||
|
+ */
|
||||||
|
+ static void
|
||||||
|
+ adjust_cursor(oap)
|
||||||
|
+ oparg_T *oap;
|
||||||
|
+ {
|
||||||
|
+ /* The cursor cannot remain on the NUL when:
|
||||||
|
+ * - the column is > 0
|
||||||
|
+ * - not in Visual mode or 'selection' is "o"
|
||||||
|
+ * - 'virtualedit' is not "all" and not "onemore".
|
||||||
|
+ */
|
||||||
|
+ if (curwin->w_cursor.col > 0 && gchar_cursor() == NUL
|
||||||
|
+ #ifdef FEAT_VISUAL
|
||||||
|
+ && (!VIsual_active || *p_sel == 'o')
|
||||||
|
+ #endif
|
||||||
|
+ #ifdef FEAT_VIRTUALEDIT
|
||||||
|
+ && !virtual_active() && (ve_flags & VE_ONEMORE) == 0
|
||||||
|
+ #endif
|
||||||
|
+ )
|
||||||
|
+ {
|
||||||
|
+ --curwin->w_cursor.col;
|
||||||
|
+ #ifdef FEAT_MBYTE
|
||||||
|
+ /* prevent cursor from moving on the trail byte */
|
||||||
|
+ if (has_mbyte)
|
||||||
|
+ mb_adjust_cursor();
|
||||||
|
+ #endif
|
||||||
|
+ oap->inclusive = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
*** ../vim-7.1.219/src/version.c Sat Jan 12 16:45:25 2008
|
||||||
|
--- src/version.c Sat Jan 12 17:07:28 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 220,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
A hamburger walks into a bar, and the bartender says: "I'm sorry,
|
||||||
|
but we don't serve food here."
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
58
7.1.221
Normal file
58
7.1.221
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.221
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.221
|
||||||
|
Problem: When inserting a "(", triggering the matchparen plugin, the
|
||||||
|
following highlighting may be messed up.
|
||||||
|
Solution: Before triggering the CursorMovedI autocommands update the display
|
||||||
|
to update the stored syntax stacks for the change.
|
||||||
|
Files: src/edit.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.220/src/edit.c Wed Jan 9 10:13:24 2008
|
||||||
|
--- src/edit.c Sat Jan 12 16:07:41 2008
|
||||||
|
***************
|
||||||
|
*** 1455,1460 ****
|
||||||
|
--- 1455,1468 ----
|
||||||
|
# endif
|
||||||
|
)
|
||||||
|
{
|
||||||
|
+ # ifdef FEAT_SYN_HL
|
||||||
|
+ /* Need to update the screen first, to make sure syntax
|
||||||
|
+ * highlighting is correct after making a change (e.g., inserting
|
||||||
|
+ * a "(". The autocommand may also require a redraw, so it's done
|
||||||
|
+ * again below, unfortunately. */
|
||||||
|
+ if (syntax_present(curbuf) && must_redraw)
|
||||||
|
+ update_screen(0);
|
||||||
|
+ # endif
|
||||||
|
apply_autocmds(EVENT_CURSORMOVEDI, NULL, NULL, FALSE, curbuf);
|
||||||
|
last_cursormoved = curwin->w_cursor;
|
||||||
|
}
|
||||||
|
*** ../vim-7.1.220/src/version.c Sat Jan 12 17:11:25 2008
|
||||||
|
--- src/version.c Sat Jan 12 18:11:22 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 221,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
ROBIN: The what?
|
||||||
|
ARTHUR: The Holy Hand Grenade of Antioch. 'Tis one of the sacred relics
|
||||||
|
Brother Maynard always carries with him.
|
||||||
|
ALL: Yes. Of course.
|
||||||
|
ARTHUR: (shouting) Bring up the Holy Hand Grenade!
|
||||||
|
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
135
7.1.222
Normal file
135
7.1.222
Normal file
|
|
@ -0,0 +1,135 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.222
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.222 (after 7.1.217)
|
||||||
|
Problem: Wildcards in argument of ":helptags" are not expanded. (Marcel
|
||||||
|
Svitalsky)
|
||||||
|
Solution: Expand wildcards in the directory name.
|
||||||
|
Files: src/ex_cmds.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.221/src/ex_cmds.c Fri Jan 11 21:00:49 2008
|
||||||
|
--- src/ex_cmds.c Sat Jan 12 21:40:51 2008
|
||||||
|
***************
|
||||||
|
*** 6106,6111 ****
|
||||||
|
--- 6106,6113 ----
|
||||||
|
#ifdef FEAT_MULTI_LANG
|
||||||
|
char_u lang[2];
|
||||||
|
#endif
|
||||||
|
+ expand_T xpc;
|
||||||
|
+ char_u *dirname;
|
||||||
|
char_u ext[5];
|
||||||
|
char_u fname[8];
|
||||||
|
int filecount;
|
||||||
|
***************
|
||||||
|
*** 6119,6125 ****
|
||||||
|
eap->arg = skipwhite(eap->arg + 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
! if (!mch_isdir(eap->arg))
|
||||||
|
{
|
||||||
|
EMSG2(_("E150: Not a directory: %s"), eap->arg);
|
||||||
|
return;
|
||||||
|
--- 6121,6131 ----
|
||||||
|
eap->arg = skipwhite(eap->arg + 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
! ExpandInit(&xpc);
|
||||||
|
! xpc.xp_context = EXPAND_DIRECTORIES;
|
||||||
|
! dirname = ExpandOne(&xpc, eap->arg, NULL,
|
||||||
|
! WILD_LIST_NOTFOUND|WILD_SILENT, WILD_EXPAND_FREE);
|
||||||
|
! if (dirname == NULL || !mch_isdir(dirname))
|
||||||
|
{
|
||||||
|
EMSG2(_("E150: Not a directory: %s"), eap->arg);
|
||||||
|
return;
|
||||||
|
***************
|
||||||
|
*** 6127,6133 ****
|
||||||
|
|
||||||
|
#ifdef FEAT_MULTI_LANG
|
||||||
|
/* Get a list of all files in the directory. */
|
||||||
|
! STRCPY(NameBuff, eap->arg);
|
||||||
|
add_pathsep(NameBuff);
|
||||||
|
STRCAT(NameBuff, "*");
|
||||||
|
if (gen_expand_wildcards(1, &NameBuff, &filecount, &files,
|
||||||
|
--- 6133,6139 ----
|
||||||
|
|
||||||
|
#ifdef FEAT_MULTI_LANG
|
||||||
|
/* Get a list of all files in the directory. */
|
||||||
|
! STRCPY(NameBuff, dirname);
|
||||||
|
add_pathsep(NameBuff);
|
||||||
|
STRCAT(NameBuff, "*");
|
||||||
|
if (gen_expand_wildcards(1, &NameBuff, &filecount, &files,
|
||||||
|
***************
|
||||||
|
*** 6135,6140 ****
|
||||||
|
--- 6141,6147 ----
|
||||||
|
|| filecount == 0)
|
||||||
|
{
|
||||||
|
EMSG2("E151: No match: %s", NameBuff);
|
||||||
|
+ vim_free(dirname);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 6200,6206 ****
|
||||||
|
ext[1] = fname[5];
|
||||||
|
ext[2] = fname[6];
|
||||||
|
}
|
||||||
|
! helptags_one(eap->arg, ext, fname, add_help_tags);
|
||||||
|
}
|
||||||
|
|
||||||
|
ga_clear(&ga);
|
||||||
|
--- 6207,6213 ----
|
||||||
|
ext[1] = fname[5];
|
||||||
|
ext[2] = fname[6];
|
||||||
|
}
|
||||||
|
! helptags_one(dirname, ext, fname, add_help_tags);
|
||||||
|
}
|
||||||
|
|
||||||
|
ga_clear(&ga);
|
||||||
|
***************
|
||||||
|
*** 6208,6215 ****
|
||||||
|
|
||||||
|
#else
|
||||||
|
/* No language support, just use "*.txt" and "tags". */
|
||||||
|
! helptags_one(eap->arg, (char_u *)".txt", (char_u *)"tags", add_help_tags);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
--- 6215,6223 ----
|
||||||
|
|
||||||
|
#else
|
||||||
|
/* No language support, just use "*.txt" and "tags". */
|
||||||
|
! helptags_one(dirname, (char_u *)".txt", (char_u *)"tags", add_help_tags);
|
||||||
|
#endif
|
||||||
|
+ vim_free(dirname);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
*** ../vim-7.1.221/src/version.c Sat Jan 12 18:13:05 2008
|
||||||
|
--- src/version.c Sun Jan 13 13:27:04 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 222,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
Arthur pulls Pin out. The MONK blesses the grenade as ...
|
||||||
|
ARTHUR: (quietly) One, two, five ...
|
||||||
|
GALAHAD: Three, sir!
|
||||||
|
ARTHUR: Three.
|
||||||
|
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
263
7.1.223
Normal file
263
7.1.223
Normal file
|
|
@ -0,0 +1,263 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.223
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.223
|
||||||
|
Problem: glob() doesn't work properly when 'shell' is "sh" or "bash" and
|
||||||
|
the expanded name contains spaces, '~', single quotes and other
|
||||||
|
special characters. (Adri Verhoef, Charles Campbell)
|
||||||
|
Solution: For Posix shells define a vimglob() function to list the matches
|
||||||
|
instead of using "echo" directly.
|
||||||
|
Files: src/os_unix.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.222/src/os_unix.c Thu Jan 3 18:55:21 2008
|
||||||
|
--- src/os_unix.c Sun Jan 13 13:52:53 2008
|
||||||
|
***************
|
||||||
|
*** 4946,4951 ****
|
||||||
|
--- 4946,4954 ----
|
||||||
|
char_u *p;
|
||||||
|
int dir;
|
||||||
|
#ifdef __EMX__
|
||||||
|
+ /*
|
||||||
|
+ * This is the OS/2 implementation.
|
||||||
|
+ */
|
||||||
|
# define EXPL_ALLOC_INC 16
|
||||||
|
char_u **expl_files;
|
||||||
|
size_t files_alloced, files_free;
|
||||||
|
***************
|
||||||
|
*** 5056,5075 ****
|
||||||
|
return OK;
|
||||||
|
|
||||||
|
#else /* __EMX__ */
|
||||||
|
!
|
||||||
|
int j;
|
||||||
|
char_u *tempname;
|
||||||
|
char_u *command;
|
||||||
|
FILE *fd;
|
||||||
|
char_u *buffer;
|
||||||
|
! #define STYLE_ECHO 0 /* use "echo" to expand */
|
||||||
|
! #define STYLE_GLOB 1 /* use "glob" to expand, for csh */
|
||||||
|
! #define STYLE_PRINT 2 /* use "print -N" to expand, for zsh */
|
||||||
|
! #define STYLE_BT 3 /* `cmd` expansion, execute the pattern directly */
|
||||||
|
int shell_style = STYLE_ECHO;
|
||||||
|
int check_spaces;
|
||||||
|
static int did_find_nul = FALSE;
|
||||||
|
int ampersent = FALSE;
|
||||||
|
|
||||||
|
*num_file = 0; /* default: no files found */
|
||||||
|
*file = NULL;
|
||||||
|
--- 5059,5084 ----
|
||||||
|
return OK;
|
||||||
|
|
||||||
|
#else /* __EMX__ */
|
||||||
|
! /*
|
||||||
|
! * This is the non-OS/2 implementation (really Unix).
|
||||||
|
! */
|
||||||
|
int j;
|
||||||
|
char_u *tempname;
|
||||||
|
char_u *command;
|
||||||
|
FILE *fd;
|
||||||
|
char_u *buffer;
|
||||||
|
! #define STYLE_ECHO 0 /* use "echo", the default */
|
||||||
|
! #define STYLE_GLOB 1 /* use "glob", for csh */
|
||||||
|
! #define STYLE_VIMGLOB 2 /* use "vimglob", for Posix sh */
|
||||||
|
! #define STYLE_PRINT 3 /* use "print -N", for zsh */
|
||||||
|
! #define STYLE_BT 4 /* `cmd` expansion, execute the pattern
|
||||||
|
! * directly */
|
||||||
|
int shell_style = STYLE_ECHO;
|
||||||
|
int check_spaces;
|
||||||
|
static int did_find_nul = FALSE;
|
||||||
|
int ampersent = FALSE;
|
||||||
|
+ /* vimglob() function to define for Posix shell */
|
||||||
|
+ static char *sh_vimglob_func = "vimglob() { while [ $# -ge 1 ]; do echo -n \"$1\"; echo; shift; done }; vimglob >";
|
||||||
|
|
||||||
|
*num_file = 0; /* default: no files found */
|
||||||
|
*file = NULL;
|
||||||
|
***************
|
||||||
|
*** 5107,5115 ****
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Let the shell expand the patterns and write the result into the temp
|
||||||
|
! * file. if expanding `cmd` execute it directly.
|
||||||
|
! * If we use csh, glob will work better than echo.
|
||||||
|
! * If we use zsh, print -N will work better than glob.
|
||||||
|
*/
|
||||||
|
if (num_pat == 1 && *pat[0] == '`'
|
||||||
|
&& (len = STRLEN(pat[0])) > 2
|
||||||
|
--- 5116,5132 ----
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Let the shell expand the patterns and write the result into the temp
|
||||||
|
! * file.
|
||||||
|
! * STYLE_BT: NL separated
|
||||||
|
! * If expanding `cmd` execute it directly.
|
||||||
|
! * STYLE_GLOB: NUL separated
|
||||||
|
! * If we use *csh, "glob" will work better than "echo".
|
||||||
|
! * STYLE_PRINT: NL or NUL separated
|
||||||
|
! * If we use *zsh, "print -N" will work better than "glob".
|
||||||
|
! * STYLE_VIMGLOB: NL separated
|
||||||
|
! * If we use *sh*, we define "vimglob()".
|
||||||
|
! * STYLE_ECHO: space separated.
|
||||||
|
! * A shell we don't know, stay safe and use "echo".
|
||||||
|
*/
|
||||||
|
if (num_pat == 1 && *pat[0] == '`'
|
||||||
|
&& (len = STRLEN(pat[0])) > 2
|
||||||
|
***************
|
||||||
|
*** 5122,5130 ****
|
||||||
|
else if (STRCMP(p_sh + len - 3, "zsh") == 0)
|
||||||
|
shell_style = STYLE_PRINT;
|
||||||
|
}
|
||||||
|
!
|
||||||
|
! /* "unset nonomatch; print -N >" plus two is 29 */
|
||||||
|
len = STRLEN(tempname) + 29;
|
||||||
|
for (i = 0; i < num_pat; ++i)
|
||||||
|
{
|
||||||
|
/* Count the length of the patterns in the same way as they are put in
|
||||||
|
--- 5139,5155 ----
|
||||||
|
else if (STRCMP(p_sh + len - 3, "zsh") == 0)
|
||||||
|
shell_style = STYLE_PRINT;
|
||||||
|
}
|
||||||
|
! if (shell_style == STYLE_ECHO && strstr((char *)gettail(p_sh),
|
||||||
|
! "sh") != NULL)
|
||||||
|
! shell_style = STYLE_VIMGLOB;
|
||||||
|
!
|
||||||
|
! /* Compute the length of the command. We need 2 extra bytes: for the
|
||||||
|
! * optional '&' and for the NUL.
|
||||||
|
! * Worst case: "unset nonomatch; print -N >" plus two is 29 */
|
||||||
|
len = STRLEN(tempname) + 29;
|
||||||
|
+ if (shell_style == STYLE_VIMGLOB)
|
||||||
|
+ len += STRLEN(sh_vimglob_func);
|
||||||
|
+
|
||||||
|
for (i = 0; i < num_pat; ++i)
|
||||||
|
{
|
||||||
|
/* Count the length of the patterns in the same way as they are put in
|
||||||
|
***************
|
||||||
|
*** 5183,5192 ****
|
||||||
|
--- 5208,5221 ----
|
||||||
|
STRCAT(command, "glob >");
|
||||||
|
else if (shell_style == STYLE_PRINT)
|
||||||
|
STRCAT(command, "print -N >");
|
||||||
|
+ else if (shell_style == STYLE_VIMGLOB)
|
||||||
|
+ STRCAT(command, sh_vimglob_func);
|
||||||
|
else
|
||||||
|
STRCAT(command, "echo >");
|
||||||
|
}
|
||||||
|
+
|
||||||
|
STRCAT(command, tempname);
|
||||||
|
+
|
||||||
|
if (shell_style != STYLE_BT)
|
||||||
|
for (i = 0; i < num_pat; ++i)
|
||||||
|
{
|
||||||
|
***************
|
||||||
|
*** 5232,5239 ****
|
||||||
|
if (flags & EW_SILENT)
|
||||||
|
show_shell_mess = FALSE;
|
||||||
|
if (ampersent)
|
||||||
|
! STRCAT(command, "&"); /* put the '&' back after the
|
||||||
|
! redirection */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Using zsh -G: If a pattern has no matches, it is just deleted from
|
||||||
|
--- 5261,5267 ----
|
||||||
|
if (flags & EW_SILENT)
|
||||||
|
show_shell_mess = FALSE;
|
||||||
|
if (ampersent)
|
||||||
|
! STRCAT(command, "&"); /* put the '&' after the redirection */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Using zsh -G: If a pattern has no matches, it is just deleted from
|
||||||
|
***************
|
||||||
|
*** 5265,5271 ****
|
||||||
|
show_shell_mess = TRUE;
|
||||||
|
vim_free(command);
|
||||||
|
|
||||||
|
! if (i) /* mch_call_shell() failed */
|
||||||
|
{
|
||||||
|
mch_remove(tempname);
|
||||||
|
vim_free(tempname);
|
||||||
|
--- 5293,5299 ----
|
||||||
|
show_shell_mess = TRUE;
|
||||||
|
vim_free(command);
|
||||||
|
|
||||||
|
! if (i != 0) /* mch_call_shell() failed */
|
||||||
|
{
|
||||||
|
mch_remove(tempname);
|
||||||
|
vim_free(tempname);
|
||||||
|
***************
|
||||||
|
*** 5336,5342 ****
|
||||||
|
}
|
||||||
|
vim_free(tempname);
|
||||||
|
|
||||||
|
! #if defined(__CYGWIN__) || defined(__CYGWIN32__)
|
||||||
|
/* Translate <CR><NL> into <NL>. Caution, buffer may contain NUL. */
|
||||||
|
p = buffer;
|
||||||
|
for (i = 0; i < len; ++i)
|
||||||
|
--- 5364,5370 ----
|
||||||
|
}
|
||||||
|
vim_free(tempname);
|
||||||
|
|
||||||
|
! # if defined(__CYGWIN__) || defined(__CYGWIN32__)
|
||||||
|
/* Translate <CR><NL> into <NL>. Caution, buffer may contain NUL. */
|
||||||
|
p = buffer;
|
||||||
|
for (i = 0; i < len; ++i)
|
||||||
|
***************
|
||||||
|
*** 5359,5365 ****
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* file names are separated with NL */
|
||||||
|
! else if (shell_style == STYLE_BT)
|
||||||
|
{
|
||||||
|
buffer[len] = NUL; /* make sure the buffer ends in NUL */
|
||||||
|
p = buffer;
|
||||||
|
--- 5387,5393 ----
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* file names are separated with NL */
|
||||||
|
! else if (shell_style == STYLE_BT || shell_style == STYLE_VIMGLOB)
|
||||||
|
{
|
||||||
|
buffer[len] = NUL; /* make sure the buffer ends in NUL */
|
||||||
|
p = buffer;
|
||||||
|
***************
|
||||||
|
*** 5438,5444 ****
|
||||||
|
{
|
||||||
|
(*file)[i] = p;
|
||||||
|
/* Space or NL separates */
|
||||||
|
! if (shell_style == STYLE_ECHO || shell_style == STYLE_BT)
|
||||||
|
{
|
||||||
|
while (!(shell_style == STYLE_ECHO && *p == ' ')
|
||||||
|
&& *p != '\n' && *p != NUL)
|
||||||
|
--- 5466,5473 ----
|
||||||
|
{
|
||||||
|
(*file)[i] = p;
|
||||||
|
/* Space or NL separates */
|
||||||
|
! if (shell_style == STYLE_ECHO || shell_style == STYLE_BT
|
||||||
|
! || shell_style == STYLE_VIMGLOB)
|
||||||
|
{
|
||||||
|
while (!(shell_style == STYLE_ECHO && *p == ' ')
|
||||||
|
&& *p != '\n' && *p != NUL)
|
||||||
|
*** ../vim-7.1.222/src/version.c Sun Jan 13 13:30:34 2008
|
||||||
|
--- src/version.c Sun Jan 13 13:45:04 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 223,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
User: I'm having problems with my text editor.
|
||||||
|
Help desk: Which editor are you using?
|
||||||
|
User: I don't know, but it's version VI (pronounced: 6).
|
||||||
|
Help desk: Oh, then you should upgrade to version VIM (pronounced: 994).
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
73
7.1.224
Normal file
73
7.1.224
Normal file
|
|
@ -0,0 +1,73 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.224
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.224
|
||||||
|
Problem: When using "vim -F -o file1 file2" only one window is
|
||||||
|
right-to-left. Same for "-H". (Ben Schmidt)
|
||||||
|
Solution: use set_option_value() to set 'rightleft'.
|
||||||
|
Files: src/main.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.223/src/main.c Fri Jan 11 20:25:42 2008
|
||||||
|
--- src/main.c Sun Jan 13 16:12:09 2008
|
||||||
|
***************
|
||||||
|
*** 1775,1781 ****
|
||||||
|
|
||||||
|
case 'F': /* "-F" start in Farsi mode: rl + fkmap set */
|
||||||
|
#ifdef FEAT_FKMAP
|
||||||
|
! curwin->w_p_rl = p_fkmap = TRUE;
|
||||||
|
#else
|
||||||
|
mch_errmsg(_(e_nofarsi));
|
||||||
|
mch_exit(2);
|
||||||
|
--- 1775,1782 ----
|
||||||
|
|
||||||
|
case 'F': /* "-F" start in Farsi mode: rl + fkmap set */
|
||||||
|
#ifdef FEAT_FKMAP
|
||||||
|
! p_fkmap = TRUE;
|
||||||
|
! set_option_value((char_u *)"rl", 1L, NULL, 0);
|
||||||
|
#else
|
||||||
|
mch_errmsg(_(e_nofarsi));
|
||||||
|
mch_exit(2);
|
||||||
|
***************
|
||||||
|
*** 1792,1798 ****
|
||||||
|
|
||||||
|
case 'H': /* "-H" start in Hebrew mode: rl + hkmap set */
|
||||||
|
#ifdef FEAT_RIGHTLEFT
|
||||||
|
! curwin->w_p_rl = p_hkmap = TRUE;
|
||||||
|
#else
|
||||||
|
mch_errmsg(_(e_nohebrew));
|
||||||
|
mch_exit(2);
|
||||||
|
--- 1793,1800 ----
|
||||||
|
|
||||||
|
case 'H': /* "-H" start in Hebrew mode: rl + hkmap set */
|
||||||
|
#ifdef FEAT_RIGHTLEFT
|
||||||
|
! p_hkmap = TRUE;
|
||||||
|
! set_option_value((char_u *)"rl", 1L, NULL, 0);
|
||||||
|
#else
|
||||||
|
mch_errmsg(_(e_nohebrew));
|
||||||
|
mch_exit(2);
|
||||||
|
*** ../vim-7.1.223/src/version.c Sun Jan 13 13:53:30 2008
|
||||||
|
--- src/version.c Sun Jan 13 16:15:49 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 224,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
LAUNCELOT: Isn't there a St. Aaaaarrrrrrggghhh's in Cornwall?
|
||||||
|
ARTHUR: No, that's Saint Ives.
|
||||||
|
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
55
7.1.225
Normal file
55
7.1.225
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.225
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.225
|
||||||
|
Problem: Using unitialized value when XGetWMNormalHints() fails.
|
||||||
|
Solution: Check the return value. (Dominique Pelle)
|
||||||
|
Files: src/os_unix.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.224/src/os_unix.c Sun Jan 13 13:53:30 2008
|
||||||
|
--- src/os_unix.c Sun Jan 13 13:52:53 2008
|
||||||
|
***************
|
||||||
|
*** 6145,6153 ****
|
||||||
|
if (xterm_trace == 1)
|
||||||
|
{
|
||||||
|
/* Get the hints just before tracking starts. The font size might
|
||||||
|
! * have changed recently */
|
||||||
|
! XGetWMNormalHints(xterm_dpy, x11_window, &xterm_hints, &got_hints);
|
||||||
|
! if (!(got_hints & PResizeInc)
|
||||||
|
|| xterm_hints.width_inc <= 1
|
||||||
|
|| xterm_hints.height_inc <= 1)
|
||||||
|
{
|
||||||
|
--- 6145,6153 ----
|
||||||
|
if (xterm_trace == 1)
|
||||||
|
{
|
||||||
|
/* Get the hints just before tracking starts. The font size might
|
||||||
|
! * have changed recently. */
|
||||||
|
! if (!XGetWMNormalHints(xterm_dpy, x11_window, &xterm_hints, &got_hints)
|
||||||
|
! || !(got_hints & PResizeInc)
|
||||||
|
|| xterm_hints.width_inc <= 1
|
||||||
|
|| xterm_hints.height_inc <= 1)
|
||||||
|
{
|
||||||
|
*** ../vim-7.1.224/src/version.c Sun Jan 13 16:17:02 2008
|
||||||
|
--- src/version.c Sun Jan 13 16:29:51 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 225,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
"When I die, I want a tombstone that says "GAME OVER" - Ton Richters
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
68
7.1.226
Normal file
68
7.1.226
Normal file
|
|
@ -0,0 +1,68 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.226
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.226
|
||||||
|
Problem: Command line completion doesn't work when a file name contains a
|
||||||
|
'&' character.
|
||||||
|
Solution: Accept all characters in a file name, except ones that end a
|
||||||
|
command or white space.
|
||||||
|
Files: src/ex_docmd.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.225/src/ex_docmd.c Wed Jan 9 20:29:51 2008
|
||||||
|
--- src/ex_docmd.c Wed Jan 9 20:11:13 2008
|
||||||
|
***************
|
||||||
|
*** 3338,3349 ****
|
||||||
|
}
|
||||||
|
in_quote = !in_quote;
|
||||||
|
}
|
||||||
|
#ifdef SPACE_IN_FILENAME
|
||||||
|
! else if (!vim_isfilec_or_wc(c)
|
||||||
|
! && (!(ea.argt & NOSPC) || usefilter))
|
||||||
|
! #else
|
||||||
|
! else if (!vim_isfilec_or_wc(c))
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
while (*p != NUL)
|
||||||
|
{
|
||||||
|
--- 3338,3350 ----
|
||||||
|
}
|
||||||
|
in_quote = !in_quote;
|
||||||
|
}
|
||||||
|
+ /* An argument can contain just about everything, except
|
||||||
|
+ * characters that end the command and white space. */
|
||||||
|
+ else if (c == '|' || c == '\n' || c == '"' || (vim_iswhite(c)
|
||||||
|
#ifdef SPACE_IN_FILENAME
|
||||||
|
! && (!(ea.argt & NOSPC) || usefilter)
|
||||||
|
#endif
|
||||||
|
+ ))
|
||||||
|
{
|
||||||
|
while (*p != NUL)
|
||||||
|
{
|
||||||
|
*** ../vim-7.1.225/src/version.c Sun Jan 13 16:30:23 2008
|
||||||
|
--- src/version.c Sun Jan 13 17:10:15 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 226,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
[Another hideous roar.]
|
||||||
|
BEDEVERE: That's it!
|
||||||
|
ARTHUR: What?
|
||||||
|
BEDEVERE: It's The Legendary Black Beast of Aaaaarrrrrrggghhh!
|
||||||
|
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
188
7.1.227
Normal file
188
7.1.227
Normal file
|
|
@ -0,0 +1,188 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.227
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.227
|
||||||
|
Problem: Hang in syntax HL when moving over a ")". (Dominique Pelle)
|
||||||
|
Solution: Avoid storing a syntax state in the wrong position in the list of
|
||||||
|
remembered states.
|
||||||
|
Files: src/syntax.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.226/src/syntax.c Sat Jan 12 16:45:25 2008
|
||||||
|
--- src/syntax.c Sat Jan 12 16:45:44 2008
|
||||||
|
***************
|
||||||
|
*** 372,378 ****
|
||||||
|
static int syn_stack_cleanup __ARGS((void));
|
||||||
|
static void syn_stack_free_entry __ARGS((buf_T *buf, synstate_T *p));
|
||||||
|
static synstate_T *syn_stack_find_entry __ARGS((linenr_T lnum));
|
||||||
|
! static synstate_T *store_current_state __ARGS((synstate_T *sp));
|
||||||
|
static void load_current_state __ARGS((synstate_T *from));
|
||||||
|
static void invalidate_current_state __ARGS((void));
|
||||||
|
static int syn_stack_equal __ARGS((synstate_T *sp));
|
||||||
|
--- 372,378 ----
|
||||||
|
static int syn_stack_cleanup __ARGS((void));
|
||||||
|
static void syn_stack_free_entry __ARGS((buf_T *buf, synstate_T *p));
|
||||||
|
static synstate_T *syn_stack_find_entry __ARGS((linenr_T lnum));
|
||||||
|
! static synstate_T *store_current_state __ARGS((void));
|
||||||
|
static void load_current_state __ARGS((synstate_T *from));
|
||||||
|
static void invalidate_current_state __ARGS((void));
|
||||||
|
static int syn_stack_equal __ARGS((synstate_T *sp));
|
||||||
|
***************
|
||||||
|
*** 464,470 ****
|
||||||
|
synstate_T *p;
|
||||||
|
synstate_T *last_valid = NULL;
|
||||||
|
synstate_T *last_min_valid = NULL;
|
||||||
|
! synstate_T *sp, *prev;
|
||||||
|
linenr_T parsed_lnum;
|
||||||
|
linenr_T first_stored;
|
||||||
|
int dist;
|
||||||
|
--- 464,470 ----
|
||||||
|
synstate_T *p;
|
||||||
|
synstate_T *last_valid = NULL;
|
||||||
|
synstate_T *last_min_valid = NULL;
|
||||||
|
! synstate_T *sp, *prev = NULL;
|
||||||
|
linenr_T parsed_lnum;
|
||||||
|
linenr_T first_stored;
|
||||||
|
int dist;
|
||||||
|
***************
|
||||||
|
*** 502,508 ****
|
||||||
|
if (!current_state_stored)
|
||||||
|
{
|
||||||
|
++current_lnum;
|
||||||
|
! (void)store_current_state(NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
--- 502,508 ----
|
||||||
|
if (!current_state_stored)
|
||||||
|
{
|
||||||
|
++current_lnum;
|
||||||
|
! (void)store_current_state();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
***************
|
||||||
|
*** 558,564 ****
|
||||||
|
dist = 999999;
|
||||||
|
else
|
||||||
|
dist = syn_buf->b_ml.ml_line_count / (syn_buf->b_sst_len - Rows) + 1;
|
||||||
|
- prev = syn_stack_find_entry(current_lnum);
|
||||||
|
while (current_lnum < lnum)
|
||||||
|
{
|
||||||
|
syn_start_line();
|
||||||
|
--- 558,563 ----
|
||||||
|
***************
|
||||||
|
*** 573,581 ****
|
||||||
|
* equal to the current state. If so, then validate all saved
|
||||||
|
* states that depended on a change before the parsed line. */
|
||||||
|
if (prev == NULL)
|
||||||
|
sp = syn_buf->b_sst_first;
|
||||||
|
else
|
||||||
|
! sp = prev->sst_next;
|
||||||
|
if (sp != NULL
|
||||||
|
&& sp->sst_lnum == current_lnum
|
||||||
|
&& syn_stack_equal(sp))
|
||||||
|
--- 572,584 ----
|
||||||
|
* equal to the current state. If so, then validate all saved
|
||||||
|
* states that depended on a change before the parsed line. */
|
||||||
|
if (prev == NULL)
|
||||||
|
+ prev = syn_stack_find_entry(current_lnum - 1);
|
||||||
|
+ if (prev == NULL)
|
||||||
|
sp = syn_buf->b_sst_first;
|
||||||
|
else
|
||||||
|
! sp = prev;
|
||||||
|
! while (sp != NULL && sp->sst_lnum < current_lnum)
|
||||||
|
! sp = sp->sst_next;
|
||||||
|
if (sp != NULL
|
||||||
|
&& sp->sst_lnum == current_lnum
|
||||||
|
&& syn_stack_equal(sp))
|
||||||
|
***************
|
||||||
|
*** 601,607 ****
|
||||||
|
else if (prev == NULL
|
||||||
|
|| current_lnum == lnum
|
||||||
|
|| current_lnum >= prev->sst_lnum + dist)
|
||||||
|
! prev = store_current_state(prev);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* This can take a long time: break when CTRL-C pressed. The current
|
||||||
|
--- 604,610 ----
|
||||||
|
else if (prev == NULL
|
||||||
|
|| current_lnum == lnum
|
||||||
|
|| current_lnum >= prev->sst_lnum + dist)
|
||||||
|
! prev = store_current_state();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* This can take a long time: break when CTRL-C pressed. The current
|
||||||
|
***************
|
||||||
|
*** 1353,1369 ****
|
||||||
|
* The current state must be valid for the start of the current_lnum line!
|
||||||
|
*/
|
||||||
|
static synstate_T *
|
||||||
|
! store_current_state(sp)
|
||||||
|
! synstate_T *sp; /* at or before where state is to be saved or
|
||||||
|
! NULL */
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
synstate_T *p;
|
||||||
|
bufstate_T *bp;
|
||||||
|
stateitem_T *cur_si;
|
||||||
|
!
|
||||||
|
! if (sp == NULL)
|
||||||
|
! sp = syn_stack_find_entry(current_lnum);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If the current state contains a start or end pattern that continues
|
||||||
|
--- 1356,1368 ----
|
||||||
|
* The current state must be valid for the start of the current_lnum line!
|
||||||
|
*/
|
||||||
|
static synstate_T *
|
||||||
|
! store_current_state()
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
synstate_T *p;
|
||||||
|
bufstate_T *bp;
|
||||||
|
stateitem_T *cur_si;
|
||||||
|
! synstate_T *sp = syn_stack_find_entry(current_lnum);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If the current state contains a start or end pattern that continues
|
||||||
|
***************
|
||||||
|
*** 1667,1673 ****
|
||||||
|
* Store the current state in b_sst_array[] for later use.
|
||||||
|
*/
|
||||||
|
++current_lnum;
|
||||||
|
! (void)store_current_state(NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
--- 1666,1672 ----
|
||||||
|
* Store the current state in b_sst_array[] for later use.
|
||||||
|
*/
|
||||||
|
++current_lnum;
|
||||||
|
! (void)store_current_state();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
*** ../vim-7.1.226/src/version.c Sun Jan 13 17:11:25 2008
|
||||||
|
--- src/version.c Sun Jan 13 17:37:10 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 227,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
Dreams are free, but there's a small charge for alterations.
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
51
7.1.228
Normal file
51
7.1.228
Normal file
|
|
@ -0,0 +1,51 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.228
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.228
|
||||||
|
Problem: When 'foldmethod' is "indent" and a fold is created with ">>" it
|
||||||
|
can't be closed with "zc". (Daniel Shahaf)
|
||||||
|
Solution: Reset the "small" flag of a fold when adding a line to it.
|
||||||
|
Files: src/fold.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.227/src/fold.c Sun Oct 14 15:32:10 2007
|
||||||
|
--- src/fold.c Sun Jan 13 21:26:48 2008
|
||||||
|
***************
|
||||||
|
*** 2676,2681 ****
|
||||||
|
--- 2676,2682 ----
|
||||||
|
if (fp->fd_len < flp->lnum - fp->fd_top)
|
||||||
|
{
|
||||||
|
fp->fd_len = flp->lnum - fp->fd_top;
|
||||||
|
+ fp->fd_small = MAYBE;
|
||||||
|
fold_changed = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
*** ../vim-7.1.227/src/version.c Sun Jan 13 17:39:29 2008
|
||||||
|
--- src/version.c Sun Jan 13 21:56:53 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 228,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
VOICE OVER: As the horrendous Black Beast lunged forward, escape for Arthur
|
||||||
|
and his knights seemed hopeless, when, suddenly ... the animator
|
||||||
|
suffered a fatal heart attack.
|
||||||
|
ANIMATOR: Aaaaagh!
|
||||||
|
VOICE OVER: The cartoon peril was no more ... The Quest for Holy Grail could
|
||||||
|
continue.
|
||||||
|
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
55
7.1.229
Normal file
55
7.1.229
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.229
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.229
|
||||||
|
Problem: A fold is closed when it shouldn't when 'foldmethod' is "indent"
|
||||||
|
and backspacing a non-white character so that the indent increases.
|
||||||
|
Solution: Keep the fold open after backspacing a character.
|
||||||
|
Files: src/edit.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.228/src/edit.c Sat Jan 12 18:13:05 2008
|
||||||
|
--- src/edit.c Mon Jan 14 20:06:43 2008
|
||||||
|
***************
|
||||||
|
*** 8618,8623 ****
|
||||||
|
--- 8619,8632 ----
|
||||||
|
if (vim_strchr(p_cpo, CPO_BACKSPACE) != NULL && dollar_vcol == 0)
|
||||||
|
dollar_vcol = curwin->w_virtcol;
|
||||||
|
|
||||||
|
+ #ifdef FEAT_FOLDING
|
||||||
|
+ /* When deleting a char the cursor line must never be in a closed fold.
|
||||||
|
+ * E.g., when 'foldmethod' is indent and deleting the first non-white
|
||||||
|
+ * char before a Tab. */
|
||||||
|
+ if (did_backspace)
|
||||||
|
+ foldOpenCursor();
|
||||||
|
+ #endif
|
||||||
|
+
|
||||||
|
return did_backspace;
|
||||||
|
}
|
||||||
|
|
||||||
|
*** ../vim-7.1.228/src/version.c Sun Jan 13 21:57:25 2008
|
||||||
|
--- src/version.c Mon Jan 14 20:08:35 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 229,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
ROBIN: (warily) And if you get a question wrong?
|
||||||
|
ARTHUR: You are cast into the Gorge of Eternal Peril.
|
||||||
|
ROBIN: Oh ... wacho!
|
||||||
|
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
64
7.1.230
Normal file
64
7.1.230
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.230
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.230
|
||||||
|
Problem: Memory leak when executing SourceCmd autocommands.
|
||||||
|
Solution: Free the memory. (Dominique Pelle)
|
||||||
|
Files: src/ex_cmds2.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.229/src/ex_cmds2.c Sun Jan 6 20:05:36 2008
|
||||||
|
--- src/ex_cmds2.c Tue Jan 15 20:41:28 2008
|
||||||
|
***************
|
||||||
|
*** 2889,2899 ****
|
||||||
|
if (has_autocmd(EVENT_SOURCECMD, fname_exp, NULL)
|
||||||
|
&& apply_autocmds(EVENT_SOURCECMD, fname_exp, fname_exp,
|
||||||
|
FALSE, curbuf))
|
||||||
|
# ifdef FEAT_EVAL
|
||||||
|
! return aborting() ? FAIL : OK;
|
||||||
|
# else
|
||||||
|
! return OK;
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* Apply SourcePre autocommands, they may get the file. */
|
||||||
|
apply_autocmds(EVENT_SOURCEPRE, fname_exp, fname_exp, FALSE, curbuf);
|
||||||
|
--- 2889,2902 ----
|
||||||
|
if (has_autocmd(EVENT_SOURCECMD, fname_exp, NULL)
|
||||||
|
&& apply_autocmds(EVENT_SOURCECMD, fname_exp, fname_exp,
|
||||||
|
FALSE, curbuf))
|
||||||
|
+ {
|
||||||
|
# ifdef FEAT_EVAL
|
||||||
|
! retval = aborting() ? FAIL : OK;
|
||||||
|
# else
|
||||||
|
! retval = OK;
|
||||||
|
# endif
|
||||||
|
+ goto theend;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
/* Apply SourcePre autocommands, they may get the file. */
|
||||||
|
apply_autocmds(EVENT_SOURCEPRE, fname_exp, fname_exp, FALSE, curbuf);
|
||||||
|
*** ../vim-7.1.229/src/version.c Mon Jan 14 20:11:37 2008
|
||||||
|
--- src/version.c Tue Jan 15 22:15:03 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 230,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
Citizens are not allowed to attend a movie house or theater nor ride in a
|
||||||
|
public streetcar within at least four hours after eating garlic.
|
||||||
|
[real standing law in Indiana, United States of America]
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
291
7.1.231
Normal file
291
7.1.231
Normal file
|
|
@ -0,0 +1,291 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.231
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.231
|
||||||
|
Problem: When shifting lines the change is acted upon multiple times.
|
||||||
|
Solution: Don't have shift_line() call changed_bytes.
|
||||||
|
Files: src/edit.c, src/ops.c, src/proto/edit.pro, src/proto/ops.pro
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.230/src/edit.c Mon Jan 14 20:11:37 2008
|
||||||
|
--- src/edit.c Mon Jan 14 20:06:43 2008
|
||||||
|
***************
|
||||||
|
*** 1662,1672 ****
|
||||||
|
* if round is TRUE, round the indent to 'shiftwidth' (only with _INC and _Dec).
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
! change_indent(type, amount, round, replaced)
|
||||||
|
int type;
|
||||||
|
int amount;
|
||||||
|
int round;
|
||||||
|
int replaced; /* replaced character, put on replace stack */
|
||||||
|
{
|
||||||
|
int vcol;
|
||||||
|
int last_vcol;
|
||||||
|
--- 1662,1673 ----
|
||||||
|
* if round is TRUE, round the indent to 'shiftwidth' (only with _INC and _Dec).
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
! change_indent(type, amount, round, replaced, call_changed_bytes)
|
||||||
|
int type;
|
||||||
|
int amount;
|
||||||
|
int round;
|
||||||
|
int replaced; /* replaced character, put on replace stack */
|
||||||
|
+ int call_changed_bytes; /* call changed_bytes() */
|
||||||
|
{
|
||||||
|
int vcol;
|
||||||
|
int last_vcol;
|
||||||
|
***************
|
||||||
|
*** 1723,1729 ****
|
||||||
|
* Set the new indent. The cursor will be put on the first non-blank.
|
||||||
|
*/
|
||||||
|
if (type == INDENT_SET)
|
||||||
|
! (void)set_indent(amount, SIN_CHANGED);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
#ifdef FEAT_VREPLACE
|
||||||
|
--- 1724,1730 ----
|
||||||
|
* Set the new indent. The cursor will be put on the first non-blank.
|
||||||
|
*/
|
||||||
|
if (type == INDENT_SET)
|
||||||
|
! (void)set_indent(amount, call_changed_bytes ? SIN_CHANGED : 0);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
#ifdef FEAT_VREPLACE
|
||||||
|
***************
|
||||||
|
*** 1733,1739 ****
|
||||||
|
if (State & VREPLACE_FLAG)
|
||||||
|
State = INSERT;
|
||||||
|
#endif
|
||||||
|
! shift_line(type == INDENT_DEC, round, 1);
|
||||||
|
#ifdef FEAT_VREPLACE
|
||||||
|
State = save_State;
|
||||||
|
#endif
|
||||||
|
--- 1734,1740 ----
|
||||||
|
if (State & VREPLACE_FLAG)
|
||||||
|
State = INSERT;
|
||||||
|
#endif
|
||||||
|
! shift_line(type == INDENT_DEC, round, 1, call_changed_bytes);
|
||||||
|
#ifdef FEAT_VREPLACE
|
||||||
|
State = save_State;
|
||||||
|
#endif
|
||||||
|
***************
|
||||||
|
*** 5921,5927 ****
|
||||||
|
{
|
||||||
|
#ifdef FEAT_VREPLACE
|
||||||
|
if (State & VREPLACE_FLAG)
|
||||||
|
! change_indent(INDENT_SET, second_indent, FALSE, NUL);
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
(void)set_indent(second_indent, SIN_CHANGED);
|
||||||
|
--- 5922,5928 ----
|
||||||
|
{
|
||||||
|
#ifdef FEAT_VREPLACE
|
||||||
|
if (State & VREPLACE_FLAG)
|
||||||
|
! change_indent(INDENT_SET, second_indent, FALSE, NUL, TRUE);
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
(void)set_indent(second_indent, SIN_CHANGED);
|
||||||
|
***************
|
||||||
|
*** 7227,7233 ****
|
||||||
|
fixthisline(get_the_indent)
|
||||||
|
int (*get_the_indent) __ARGS((void));
|
||||||
|
{
|
||||||
|
! change_indent(INDENT_SET, get_the_indent(), FALSE, 0);
|
||||||
|
if (linewhite(curwin->w_cursor.lnum))
|
||||||
|
did_ai = TRUE; /* delete the indent if the line stays empty */
|
||||||
|
}
|
||||||
|
--- 7228,7234 ----
|
||||||
|
fixthisline(get_the_indent)
|
||||||
|
int (*get_the_indent) __ARGS((void));
|
||||||
|
{
|
||||||
|
! change_indent(INDENT_SET, get_the_indent(), FALSE, 0, TRUE);
|
||||||
|
if (linewhite(curwin->w_cursor.lnum))
|
||||||
|
did_ai = TRUE; /* delete the indent if the line stays empty */
|
||||||
|
}
|
||||||
|
***************
|
||||||
|
*** 8170,8179 ****
|
||||||
|
replace_pop_ins();
|
||||||
|
if (lastc == '^')
|
||||||
|
old_indent = get_indent(); /* remember curr. indent */
|
||||||
|
! change_indent(INDENT_SET, 0, TRUE, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
! change_indent(c == Ctrl_D ? INDENT_DEC : INDENT_INC, 0, TRUE, 0);
|
||||||
|
|
||||||
|
if (did_ai && *skipwhite(ml_get_curline()) != NUL)
|
||||||
|
did_ai = FALSE;
|
||||||
|
--- 8171,8180 ----
|
||||||
|
replace_pop_ins();
|
||||||
|
if (lastc == '^')
|
||||||
|
old_indent = get_indent(); /* remember curr. indent */
|
||||||
|
! change_indent(INDENT_SET, 0, TRUE, 0, TRUE);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
! change_indent(c == Ctrl_D ? INDENT_DEC : INDENT_INC, 0, TRUE, 0, TRUE);
|
||||||
|
|
||||||
|
if (did_ai && *skipwhite(ml_get_curline()) != NUL)
|
||||||
|
did_ai = FALSE;
|
||||||
|
***************
|
||||||
|
*** 9633,9639 ****
|
||||||
|
curwin->w_cursor = old_pos;
|
||||||
|
#ifdef FEAT_VREPLACE
|
||||||
|
if (State & VREPLACE_FLAG)
|
||||||
|
! change_indent(INDENT_SET, i, FALSE, NUL);
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
(void)set_indent(i, SIN_CHANGED);
|
||||||
|
--- 9634,9640 ----
|
||||||
|
curwin->w_cursor = old_pos;
|
||||||
|
#ifdef FEAT_VREPLACE
|
||||||
|
if (State & VREPLACE_FLAG)
|
||||||
|
! change_indent(INDENT_SET, i, FALSE, NUL, TRUE);
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
(void)set_indent(i, SIN_CHANGED);
|
||||||
|
***************
|
||||||
|
*** 9662,9668 ****
|
||||||
|
curwin->w_cursor = old_pos;
|
||||||
|
}
|
||||||
|
if (temp)
|
||||||
|
! shift_line(TRUE, FALSE, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
--- 9663,9669 ----
|
||||||
|
curwin->w_cursor = old_pos;
|
||||||
|
}
|
||||||
|
if (temp)
|
||||||
|
! shift_line(TRUE, FALSE, 1, TRUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
*** ../vim-7.1.230/src/ops.c Thu Jan 3 16:31:17 2008
|
||||||
|
--- src/ops.c Sun Jan 13 21:52:18 2008
|
||||||
|
***************
|
||||||
|
*** 258,264 ****
|
||||||
|
if (first_char != '#' || !preprocs_left())
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
! shift_line(oap->op_type == OP_LSHIFT, p_sr, amount);
|
||||||
|
}
|
||||||
|
++curwin->w_cursor.lnum;
|
||||||
|
}
|
||||||
|
--- 258,264 ----
|
||||||
|
if (first_char != '#' || !preprocs_left())
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
! shift_line(oap->op_type == OP_LSHIFT, p_sr, amount, FALSE);
|
||||||
|
}
|
||||||
|
++curwin->w_cursor.lnum;
|
||||||
|
}
|
||||||
|
***************
|
||||||
|
*** 321,330 ****
|
||||||
|
* leaves cursor on first blank in the line
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
! shift_line(left, round, amount)
|
||||||
|
int left;
|
||||||
|
int round;
|
||||||
|
int amount;
|
||||||
|
{
|
||||||
|
int count;
|
||||||
|
int i, j;
|
||||||
|
--- 321,331 ----
|
||||||
|
* leaves cursor on first blank in the line
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
! shift_line(left, round, amount, call_changed_bytes)
|
||||||
|
int left;
|
||||||
|
int round;
|
||||||
|
int amount;
|
||||||
|
+ int call_changed_bytes; /* call changed_bytes() */
|
||||||
|
{
|
||||||
|
int count;
|
||||||
|
int i, j;
|
||||||
|
***************
|
||||||
|
*** 363,372 ****
|
||||||
|
/* Set new indent */
|
||||||
|
#ifdef FEAT_VREPLACE
|
||||||
|
if (State & VREPLACE_FLAG)
|
||||||
|
! change_indent(INDENT_SET, count, FALSE, NUL);
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
! (void)set_indent(count, SIN_CHANGED);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(FEAT_VISUALEXTRA) || defined(PROTO)
|
||||||
|
--- 364,373 ----
|
||||||
|
/* Set new indent */
|
||||||
|
#ifdef FEAT_VREPLACE
|
||||||
|
if (State & VREPLACE_FLAG)
|
||||||
|
! change_indent(INDENT_SET, count, FALSE, NUL, call_changed_bytes);
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
! (void)set_indent(count, call_changed_bytes ? SIN_CHANGED : 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(FEAT_VISUALEXTRA) || defined(PROTO)
|
||||||
|
*** ../vim-7.1.230/src/proto/edit.pro Wed Jan 2 17:48:24 2008
|
||||||
|
--- src/proto/edit.pro Sun Jan 13 21:52:27 2008
|
||||||
|
***************
|
||||||
|
*** 3,9 ****
|
||||||
|
void edit_putchar __ARGS((int c, int highlight));
|
||||||
|
void edit_unputchar __ARGS((void));
|
||||||
|
void display_dollar __ARGS((colnr_T col));
|
||||||
|
! void change_indent __ARGS((int type, int amount, int round, int replaced));
|
||||||
|
void truncate_spaces __ARGS((char_u *line));
|
||||||
|
void backspace_until_column __ARGS((int col));
|
||||||
|
int vim_is_ctrl_x_key __ARGS((int c));
|
||||||
|
--- 3,9 ----
|
||||||
|
void edit_putchar __ARGS((int c, int highlight));
|
||||||
|
void edit_unputchar __ARGS((void));
|
||||||
|
void display_dollar __ARGS((colnr_T col));
|
||||||
|
! void change_indent __ARGS((int type, int amount, int round, int replaced, int call_changed_bytes));
|
||||||
|
void truncate_spaces __ARGS((char_u *line));
|
||||||
|
void backspace_until_column __ARGS((int col));
|
||||||
|
int vim_is_ctrl_x_key __ARGS((int c));
|
||||||
|
*** ../vim-7.1.230/src/proto/ops.pro Sun May 6 13:56:32 2007
|
||||||
|
--- src/proto/ops.pro Sun Jan 13 21:52:30 2008
|
||||||
|
***************
|
||||||
|
*** 4,10 ****
|
||||||
|
int get_op_char __ARGS((int optype));
|
||||||
|
int get_extra_op_char __ARGS((int optype));
|
||||||
|
void op_shift __ARGS((oparg_T *oap, int curs_top, int amount));
|
||||||
|
! void shift_line __ARGS((int left, int round, int amount));
|
||||||
|
void op_reindent __ARGS((oparg_T *oap, int (*how)(void)));
|
||||||
|
int get_expr_register __ARGS((void));
|
||||||
|
void set_expr_line __ARGS((char_u *new_line));
|
||||||
|
--- 4,10 ----
|
||||||
|
int get_op_char __ARGS((int optype));
|
||||||
|
int get_extra_op_char __ARGS((int optype));
|
||||||
|
void op_shift __ARGS((oparg_T *oap, int curs_top, int amount));
|
||||||
|
! void shift_line __ARGS((int left, int round, int amount, int call_changed_bytes));
|
||||||
|
void op_reindent __ARGS((oparg_T *oap, int (*how)(void)));
|
||||||
|
int get_expr_register __ARGS((void));
|
||||||
|
void set_expr_line __ARGS((char_u *new_line));
|
||||||
|
*** ../vim-7.1.230/src/version.c Tue Jan 15 22:16:36 2008
|
||||||
|
--- src/version.c Wed Jan 16 19:58:25 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 231,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
Snoring is prohibited unless all bedroom windows are closed and securely
|
||||||
|
locked.
|
||||||
|
[real standing law in Massachusetts, United States of America]
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
70
7.1.232
Normal file
70
7.1.232
Normal file
|
|
@ -0,0 +1,70 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.232
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.232 (after 7.1.207 and 7.1.211)
|
||||||
|
Problem: Compiler warnings with MSVC.
|
||||||
|
Solution: Add type casts. (Mike Williams)
|
||||||
|
Files: src/ex_cmds2.c, src/netbeans.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.231/src/ex_cmds2.c Tue Jan 15 22:16:36 2008
|
||||||
|
--- src/ex_cmds2.c Tue Jan 15 20:41:28 2008
|
||||||
|
***************
|
||||||
|
*** 916,922 ****
|
||||||
|
|
||||||
|
QueryPerformanceCounter(tm);
|
||||||
|
QueryPerformanceFrequency(&fr);
|
||||||
|
! tm->QuadPart += (double)msec / 1000.0 * (double)fr.QuadPart;
|
||||||
|
# else
|
||||||
|
long usec;
|
||||||
|
|
||||||
|
--- 916,922 ----
|
||||||
|
|
||||||
|
QueryPerformanceCounter(tm);
|
||||||
|
QueryPerformanceFrequency(&fr);
|
||||||
|
! tm->QuadPart += (LONGLONG)((double)msec / 1000.0 * (double)fr.QuadPart);
|
||||||
|
# else
|
||||||
|
long usec;
|
||||||
|
|
||||||
|
*** ../vim-7.1.231/src/netbeans.c Sat Jan 5 18:06:33 2008
|
||||||
|
--- src/netbeans.c Mon Jan 14 21:11:02 2008
|
||||||
|
***************
|
||||||
|
*** 1217,1223 ****
|
||||||
|
|
||||||
|
oldtext = ml_get(lnum);
|
||||||
|
oldlen = STRLEN(oldtext);
|
||||||
|
! if (first >= oldlen || oldlen == 0) /* just in case */
|
||||||
|
return;
|
||||||
|
if (lastbyte >= oldlen)
|
||||||
|
lastbyte = oldlen - 1;
|
||||||
|
--- 1217,1223 ----
|
||||||
|
|
||||||
|
oldtext = ml_get(lnum);
|
||||||
|
oldlen = STRLEN(oldtext);
|
||||||
|
! if (first >= (colnr_T)oldlen || oldlen == 0) /* just in case */
|
||||||
|
return;
|
||||||
|
if (lastbyte >= oldlen)
|
||||||
|
lastbyte = oldlen - 1;
|
||||||
|
*** ../vim-7.1.231/src/version.c Wed Jan 16 20:01:14 2008
|
||||||
|
--- src/version.c Fri Jan 18 11:38:39 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 232,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
Why is "abbreviation" such a long word?
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
109
7.1.233
Normal file
109
7.1.233
Normal file
|
|
@ -0,0 +1,109 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.233
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.233
|
||||||
|
Problem: Crash when doing Insert mode completion for a user defined
|
||||||
|
command. (Yegappan Lakshmanan)
|
||||||
|
Solution: Don't use the non-existing command line.
|
||||||
|
Files: src/ex_getln.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.232/src/ex_getln.c Fri Jan 4 15:16:57 2008
|
||||||
|
--- src/ex_getln.c Fri Jan 18 13:07:11 2008
|
||||||
|
***************
|
||||||
|
*** 4655,4661 ****
|
||||||
|
static void * call_user_expand_func __ARGS((void *(*user_expand_func) __ARGS((char_u *, int, char_u **, int)), expand_T *xp, int *num_file, char_u ***file));
|
||||||
|
|
||||||
|
/*
|
||||||
|
! * call "user_expand_func()" to invoke a user defined VimL function and return
|
||||||
|
* the result (either a string or a List).
|
||||||
|
*/
|
||||||
|
static void *
|
||||||
|
--- 4655,4661 ----
|
||||||
|
static void * call_user_expand_func __ARGS((void *(*user_expand_func) __ARGS((char_u *, int, char_u **, int)), expand_T *xp, int *num_file, char_u ***file));
|
||||||
|
|
||||||
|
/*
|
||||||
|
! * Call "user_expand_func()" to invoke a user defined VimL function and return
|
||||||
|
* the result (either a string or a List).
|
||||||
|
*/
|
||||||
|
static void *
|
||||||
|
***************
|
||||||
|
*** 4677,4687 ****
|
||||||
|
*num_file = 0;
|
||||||
|
*file = NULL;
|
||||||
|
|
||||||
|
! keep = ccline.cmdbuff[ccline.cmdlen];
|
||||||
|
! ccline.cmdbuff[ccline.cmdlen] = 0;
|
||||||
|
! sprintf((char *)num, "%d", ccline.cmdpos);
|
||||||
|
args[0] = xp->xp_pattern;
|
||||||
|
- args[1] = ccline.cmdbuff;
|
||||||
|
args[2] = num;
|
||||||
|
|
||||||
|
/* Save the cmdline, we don't know what the function may do. */
|
||||||
|
--- 4677,4698 ----
|
||||||
|
*num_file = 0;
|
||||||
|
*file = NULL;
|
||||||
|
|
||||||
|
! if (ccline.cmdbuff == NULL)
|
||||||
|
! {
|
||||||
|
! /* Completion from Insert mode, pass fake arguments. */
|
||||||
|
! keep = 0;
|
||||||
|
! sprintf((char *)num, "%d", STRLEN(xp->xp_pattern));
|
||||||
|
! args[1] = xp->xp_pattern;
|
||||||
|
! }
|
||||||
|
! else
|
||||||
|
! {
|
||||||
|
! /* Completion on the command line, pass real arguments. */
|
||||||
|
! keep = ccline.cmdbuff[ccline.cmdlen];
|
||||||
|
! ccline.cmdbuff[ccline.cmdlen] = 0;
|
||||||
|
! sprintf((char *)num, "%d", ccline.cmdpos);
|
||||||
|
! args[1] = ccline.cmdbuff;
|
||||||
|
! }
|
||||||
|
args[0] = xp->xp_pattern;
|
||||||
|
args[2] = num;
|
||||||
|
|
||||||
|
/* Save the cmdline, we don't know what the function may do. */
|
||||||
|
***************
|
||||||
|
*** 4694,4701 ****
|
||||||
|
|
||||||
|
ccline = save_ccline;
|
||||||
|
current_SID = save_current_SID;
|
||||||
|
!
|
||||||
|
! ccline.cmdbuff[ccline.cmdlen] = keep;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
--- 4705,4712 ----
|
||||||
|
|
||||||
|
ccline = save_ccline;
|
||||||
|
current_SID = save_current_SID;
|
||||||
|
! if (ccline.cmdbuff != NULL)
|
||||||
|
! ccline.cmdbuff[ccline.cmdlen] = keep;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
*** ../vim-7.1.232/src/version.c Fri Jan 18 11:40:02 2008
|
||||||
|
--- src/version.c Fri Jan 18 13:01:05 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 233,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
"I love deadlines. I especially like the whooshing sound they
|
||||||
|
make as they go flying by."
|
||||||
|
-- Douglas Adams
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
210
7.1.234
Normal file
210
7.1.234
Normal file
|
|
@ -0,0 +1,210 @@
|
||||||
|
To: vim-dev@vim.org
|
||||||
|
Subject: Patch 7.1.234
|
||||||
|
Fcc: outbox
|
||||||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||||
|
Mime-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
------------
|
||||||
|
|
||||||
|
Patch 7.1.234
|
||||||
|
Problem: When diff'ing three files the third one isn't displayed correctly.
|
||||||
|
(Gary Johnson)
|
||||||
|
Solution: Compute the size of diff blocks correctly when merging blocks.
|
||||||
|
Compute filler lines correctly when scrolling.
|
||||||
|
Files: src/diff.c
|
||||||
|
|
||||||
|
|
||||||
|
*** ../vim-7.1.233/src/diff.c Fri Oct 19 18:57:33 2007
|
||||||
|
--- src/diff.c Fri Jan 18 17:32:31 2008
|
||||||
|
***************
|
||||||
|
*** 1299,1305 ****
|
||||||
|
}
|
||||||
|
else
|
||||||
|
/* second overlap of new block with existing block */
|
||||||
|
! dp->df_count[idx_new] += count_new - count_orig;
|
||||||
|
|
||||||
|
/* Adjust the size of the block to include all the lines to the
|
||||||
|
* end of the existing block or the new diff, whatever ends last. */
|
||||||
|
--- 1299,1307 ----
|
||||||
|
}
|
||||||
|
else
|
||||||
|
/* second overlap of new block with existing block */
|
||||||
|
! dp->df_count[idx_new] += count_new - count_orig
|
||||||
|
! + dpl->df_lnum[idx_orig] + dpl->df_count[idx_orig]
|
||||||
|
! - (dp->df_lnum[idx_orig] + dp->df_count[idx_orig]);
|
||||||
|
|
||||||
|
/* Adjust the size of the block to include all the lines to the
|
||||||
|
* end of the existing block or the new diff, whatever ends last. */
|
||||||
|
***************
|
||||||
|
*** 1628,1641 ****
|
||||||
|
win_T *fromwin;
|
||||||
|
win_T *towin;
|
||||||
|
{
|
||||||
|
! buf_T *buf = fromwin->w_buffer;
|
||||||
|
linenr_T lnum = fromwin->w_topline;
|
||||||
|
! int idx;
|
||||||
|
diff_T *dp;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
! idx = diff_buf_idx(buf);
|
||||||
|
! if (idx == DB_COUNT)
|
||||||
|
return; /* safety check */
|
||||||
|
|
||||||
|
if (curtab->tp_diff_invalid)
|
||||||
|
--- 1630,1645 ----
|
||||||
|
win_T *fromwin;
|
||||||
|
win_T *towin;
|
||||||
|
{
|
||||||
|
! buf_T *frombuf = fromwin->w_buffer;
|
||||||
|
linenr_T lnum = fromwin->w_topline;
|
||||||
|
! int fromidx;
|
||||||
|
! int toidx;
|
||||||
|
diff_T *dp;
|
||||||
|
+ int max_count;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
! fromidx = diff_buf_idx(frombuf);
|
||||||
|
! if (fromidx == DB_COUNT)
|
||||||
|
return; /* safety check */
|
||||||
|
|
||||||
|
if (curtab->tp_diff_invalid)
|
||||||
|
***************
|
||||||
|
*** 1645,1686 ****
|
||||||
|
|
||||||
|
/* search for a change that includes "lnum" in the list of diffblocks. */
|
||||||
|
for (dp = curtab->tp_first_diff; dp != NULL; dp = dp->df_next)
|
||||||
|
! if (lnum <= dp->df_lnum[idx] + dp->df_count[idx])
|
||||||
|
break;
|
||||||
|
if (dp == NULL)
|
||||||
|
{
|
||||||
|
/* After last change, compute topline relative to end of file; no
|
||||||
|
* filler lines. */
|
||||||
|
towin->w_topline = towin->w_buffer->b_ml.ml_line_count
|
||||||
|
! - (buf->b_ml.ml_line_count - lnum);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Find index for "towin". */
|
||||||
|
! i = diff_buf_idx(towin->w_buffer);
|
||||||
|
! if (i == DB_COUNT)
|
||||||
|
return; /* safety check */
|
||||||
|
|
||||||
|
! towin->w_topline = lnum + (dp->df_lnum[i] - dp->df_lnum[idx]);
|
||||||
|
! if (lnum >= dp->df_lnum[idx])
|
||||||
|
{
|
||||||
|
! /* Inside a change: compute filler lines. */
|
||||||
|
! if (dp->df_count[i] == dp->df_count[idx])
|
||||||
|
towin->w_topfill = fromwin->w_topfill;
|
||||||
|
! else if (dp->df_count[i] > dp->df_count[idx])
|
||||||
|
{
|
||||||
|
! if (lnum == dp->df_lnum[idx] + dp->df_count[idx])
|
||||||
|
! towin->w_topline = dp->df_lnum[i] + dp->df_count[i]
|
||||||
|
! - fromwin->w_topfill;
|
||||||
|
}
|
||||||
|
! else
|
||||||
|
{
|
||||||
|
! if (towin->w_topline >= dp->df_lnum[i] + dp->df_count[i])
|
||||||
|
{
|
||||||
|
! if (diff_flags & DIFF_FILLER)
|
||||||
|
! towin->w_topfill = dp->df_lnum[idx]
|
||||||
|
! + dp->df_count[idx] - lnum;
|
||||||
|
! towin->w_topline = dp->df_lnum[i] + dp->df_count[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
--- 1649,1720 ----
|
||||||
|
|
||||||
|
/* search for a change that includes "lnum" in the list of diffblocks. */
|
||||||
|
for (dp = curtab->tp_first_diff; dp != NULL; dp = dp->df_next)
|
||||||
|
! if (lnum <= dp->df_lnum[fromidx] + dp->df_count[fromidx])
|
||||||
|
break;
|
||||||
|
if (dp == NULL)
|
||||||
|
{
|
||||||
|
/* After last change, compute topline relative to end of file; no
|
||||||
|
* filler lines. */
|
||||||
|
towin->w_topline = towin->w_buffer->b_ml.ml_line_count
|
||||||
|
! - (frombuf->b_ml.ml_line_count - lnum);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Find index for "towin". */
|
||||||
|
! toidx = diff_buf_idx(towin->w_buffer);
|
||||||
|
! if (toidx == DB_COUNT)
|
||||||
|
return; /* safety check */
|
||||||
|
|
||||||
|
! towin->w_topline = lnum + (dp->df_lnum[toidx] - dp->df_lnum[fromidx]);
|
||||||
|
! if (lnum >= dp->df_lnum[fromidx])
|
||||||
|
{
|
||||||
|
! /* Inside a change: compute filler lines. With three or more
|
||||||
|
! * buffers we need to know the largest count. */
|
||||||
|
! max_count = 0;
|
||||||
|
! for (i = 0; i < DB_COUNT; ++i)
|
||||||
|
! if (curtab->tp_diffbuf[i] != NULL
|
||||||
|
! && max_count < dp->df_count[i])
|
||||||
|
! max_count = dp->df_count[i];
|
||||||
|
!
|
||||||
|
! if (dp->df_count[toidx] == dp->df_count[fromidx])
|
||||||
|
! {
|
||||||
|
! /* same number of lines: use same filler count */
|
||||||
|
towin->w_topfill = fromwin->w_topfill;
|
||||||
|
! }
|
||||||
|
! else if (dp->df_count[toidx] > dp->df_count[fromidx])
|
||||||
|
{
|
||||||
|
! if (lnum == dp->df_lnum[fromidx] + dp->df_count[fromidx])
|
||||||
|
! {
|
||||||
|
! /* more lines in towin and fromwin doesn't show diff
|
||||||
|
! * lines, only filler lines */
|
||||||
|
! if (max_count - fromwin->w_topfill >= dp->df_count[toidx])
|
||||||
|
! {
|
||||||
|
! /* towin also only shows filler lines */
|
||||||
|
! towin->w_topline = dp->df_lnum[toidx]
|
||||||
|
! + dp->df_count[toidx];
|
||||||
|
! towin->w_topfill = fromwin->w_topfill;
|
||||||
|
! }
|
||||||
|
! else
|
||||||
|
! /* towin still has some diff lines to show */
|
||||||
|
! towin->w_topline = dp->df_lnum[toidx]
|
||||||
|
! + max_count - fromwin->w_topfill;
|
||||||
|
! }
|
||||||
|
}
|
||||||
|
! else if (towin->w_topline >= dp->df_lnum[toidx]
|
||||||
|
! + dp->df_count[toidx])
|
||||||
|
{
|
||||||
|
! /* less lines in towin and no diff lines to show: compute
|
||||||
|
! * filler lines */
|
||||||
|
! towin->w_topline = dp->df_lnum[toidx] + dp->df_count[toidx];
|
||||||
|
! if (diff_flags & DIFF_FILLER)
|
||||||
|
{
|
||||||
|
! if (lnum == dp->df_lnum[fromidx] + dp->df_count[fromidx])
|
||||||
|
! /* fromwin is also out of diff lines */
|
||||||
|
! towin->w_topfill = fromwin->w_topfill;
|
||||||
|
! else
|
||||||
|
! /* fromwin has some diff lines */
|
||||||
|
! towin->w_topfill = dp->df_lnum[fromidx]
|
||||||
|
! + max_count - lnum;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*** ../vim-7.1.233/src/version.c Fri Jan 18 13:15:32 2008
|
||||||
|
--- src/version.c Fri Jan 18 17:37:32 2008
|
||||||
|
***************
|
||||||
|
*** 668,669 ****
|
||||||
|
--- 668,671 ----
|
||||||
|
{ /* Add new patch number below this line */
|
||||||
|
+ /**/
|
||||||
|
+ 234,
|
||||||
|
/**/
|
||||||
|
|
||||||
|
--
|
||||||
|
ERIC IDLE PLAYED: THE DEAD COLLECTOR, MR BINT (A VILLAGE NE'ER-DO -WELL VERY
|
||||||
|
KEEN ON BURNING WITCHES), SIR ROBIN, THE GUARD WHO DOESN'T
|
||||||
|
HICOUGH BUT TRIES TO GET THINGS STRAIGHT, CONCORDE (SIR
|
||||||
|
LAUNCELOT'S TRUSTY STEED), ROGER THE SHRUBBER (A SHRUBBER),
|
||||||
|
BROTHER MAYNARD
|
||||||
|
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||||
|
|
||||||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue