rpms/vim/F-8 7.1.136, NONE, 1.1 7.1.137, NONE, 1.1 7.1.138, NONE, 1.1 7.1.139, NONE, 1.1 7.1.140, NONE, 1.1 7.1.141, NONE, 1.1 7.1.142, NONE, 1.1 7.1.143, NONE, 1.1 7.1.144, NONE, 1.1 7.1.145, NONE, 1.1 7.1.146, NONE, 1.1 7.1.147, NONE, 1.1 7.1.148, NONE, 1.1 7.1.149, NONE, 1.1 7.1.150, NONE, 1.1 7.1.151, NONE, 1.1 7.1.152, NONE, 1.1 7.1.153, NONE, 1.1 7.1.154, NONE, 1.1 7.1.155, NONE, 1.1 7.1.156, NONE, 1.1 7.1.157, NONE, 1.1 7.1.158, NONE, 1.1 7.1.159, NONE, 1.1 7.1.160, NONE, 1.1 7.1.161, NONE, 1.1 7.1.162, NONE, 1.1 7.1.163, NONE, 1.1 7.1.164, NONE, 1.1 7.1.165, NONE, 1.1 7.1.166, NONE, 1.1 7.1.167, NONE, 1.1 7.1.168, NONE, 1.1 7.1.169, NONE, 1.1 7.1.170, NONE, 1.1 7.1.171, NONE, 1.1 7.1.172, NONE, 1.1 7.1.173, NONE, 1.1 7.1.174, NONE, 1.1 7.1.175, NONE, 1.1 7.1.176, NONE, 1.1 7.1.177, NONE, 1.1 7.1.178, NONE, 1.1 7.1.179, NONE, 1.1 7.1.180, NONE, 1.1 7.1.181, NONE, 1.1 7.1.182, NONE, 1.1 7.1.183, NONE, 1.1 7.1.184, NONE, 1.1 7.1.185, NONE, 1.1 7.1.186, NONE, 1.1 7.1.187, NONE, 1.1 7.1.188, NONE, 1.1 7.1.189, NONE, 1.1 7.1.190, NONE, 1.1 7.1.191, NONE, 1.1 7.1.192, NONE, 1.1 7.1.193, NONE, 1.1 7.1.194, NONE, 1.1 7.1.195, NONE, 1.1 7.1.196, NONE, 1.1 7.1.197, NONE, 1.1 7.1.198, NONE, 1.1 7.1.199, NONE, 1.1 7.1.200, NONE, 1.1 7.1.201, NONE, 1.1 7.1.202, NONE, 1.1 7.1.203, NONE, 1.1 7.1.204, NONE, 1.1 7.1.205, NONE, 1.1 7.1.206, NONE, 1.1 7.1.207, NONE, 1.1 7.1.208, NONE, 1.1 7.1.209, NONE, 1.1 7.1.210, NONE, 1.1 7.1.211, NONE, 1.1 README.patches, 1.87, 1.88 gvim.desktop, 1.4, 1.5 vim.spec, 1.179, 1.180
Karsten Hopp (karsten)
fedora-extras-commits at redhat.com
Thu Jan 10 10:08:39 UTC 2008
- Previous message (by thread): rpms/tog-pegasus/F-7 pegasus-2.6.1-cve-2008-0003.patch, NONE, 1.1 tog-pegasus.spec, 1.48, 1.49
- Next message (by thread): rpms/vim/devel 7.1.212, NONE, 1.1 7.1.213, NONE, 1.1 7.1.214, NONE, 1.1 README.patches, 1.90, 1.91 vim.spec, 1.182, 1.183
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: karsten
Update of /cvs/extras/rpms/vim/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv952
Modified Files:
README.patches gvim.desktop vim.spec
Added Files:
7.1.136 7.1.137 7.1.138 7.1.139 7.1.140 7.1.141 7.1.142
7.1.143 7.1.144 7.1.145 7.1.146 7.1.147 7.1.148 7.1.149
7.1.150 7.1.151 7.1.152 7.1.153 7.1.154 7.1.155 7.1.156
7.1.157 7.1.158 7.1.159 7.1.160 7.1.161 7.1.162 7.1.163
7.1.164 7.1.165 7.1.166 7.1.167 7.1.168 7.1.169 7.1.170
7.1.171 7.1.172 7.1.173 7.1.174 7.1.175 7.1.176 7.1.177
7.1.178 7.1.179 7.1.180 7.1.181 7.1.182 7.1.183 7.1.184
7.1.185 7.1.186 7.1.187 7.1.188 7.1.189 7.1.190 7.1.191
7.1.192 7.1.193 7.1.194 7.1.195 7.1.196 7.1.197 7.1.198
7.1.199 7.1.200 7.1.201 7.1.202 7.1.203 7.1.204 7.1.205
7.1.206 7.1.207 7.1.208 7.1.209 7.1.210 7.1.211
Log Message:
- build patchlevel 211 for F-8
--- NEW FILE 7.1.136 ---
To: vim-dev at vim.org
Subject: Patch 7.1.136
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.137 ---
To: vim-dev at vim.org
Subject: Patch 7.1.137
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.138 ---
To: vim-dev at vim.org
Subject: Patch 7.1.138
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.139 ---
To: vim-dev at vim.org
Subject: Patch 7.1.139
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.140 ---
To: vim-dev at vim.org
Subject: Patch 7.1.140
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.141 ---
To: vim-dev at vim.org
Subject: Patch 7.1.141
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.142 ---
To: vim-dev at vim.org
Subject: Patch 7.1.142
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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- at 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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.143 ---
To: vim-dev at vim.org
Subject: Patch 7.1.143
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.144 ---
To: vim-dev at vim.org
Subject: Patch 7.1.144
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.145 ---
To: vim-dev at vim.org
Subject: Patch 7.1.145
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.146 ---
To: vim-dev at vim.org
Subject: Patch 7.1.146 (extra)
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at 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 at 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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.147 ---
To: vim-dev at vim.org
Subject: Patch 7.1.147
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.148 ---
To: vim-dev at vim.org
Subject: Patch 7.1.148
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.149 ---
To: vim-dev at vim.org
Subject: Patch 7.1.149
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.150 ---
To: vim-dev at vim.org
Subject: Patch 7.1.150
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.151 ---
To: vim-dev at vim.org
Subject: Patch 7.1.151
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.152 ---
To: vim-dev at vim.org
Subject: Patch 7.1.152
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.153 ---
To: vim-dev at vim.org
Subject: Patch 7.1.153
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.154 ---
To: vim-dev at vim.org
Subject: Patch 7.1.154
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.155 ---
To: vim-dev at vim.org
Subject: Patch 7.1.155
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.156 ---
To: vim-dev at vim.org
Subject: Patch 7.1.156
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.157 ---
To: vim-dev at vim.org
Subject: Patch 7.1.157
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.158 ---
To: vim-dev at vim.org
Subject: Patch 7.1.158 (extra)
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.159 ---
To: vim-dev at vim.org
Subject: Patch 7.1.159
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.160 ---
To: vim-dev at vim.org
Subject: Patch 7.1.160
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.161 ---
To: vim-dev at vim.org
Subject: Patch 7.1.161
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.162 ---
To: vim-dev at vim.org
Subject: Patch 7.1.162
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.163 ---
To: vim-dev at vim.org
Subject: Patch 7.1.163
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at 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 at 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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.164 ---
To: vim-dev at vim.org
Subject: Patch 7.1.164
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.165 ---
To: vim-dev at vim.org
Subject: Patch 7.1.165
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.166 ---
To: vim-dev at vim.org
Subject: Patch 7.1.166
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.167 ---
To: vim-dev at vim.org
Subject: Patch 7.1.167
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.168 ---
To: vim-dev at vim.org
Subject: Patch 7.1.168 (extra)
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.169 ---
To: vim-dev at vim.org
Subject: Patch 7.1.169
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.170 ---
To: vim-dev at vim.org
Subject: Patch 7.1.170
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.171 ---
To: vim-dev at vim.org
Subject: Patch 7.1.171
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.172 ---
To: vim-dev at vim.org
Subject: Patch 7.1.172
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.173 ---
To: vim-dev at vim.org
Subject: Patch 7.1.173
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.174 ---
To: vim-dev at vim.org
Subject: Patch 7.1.174
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.175 ---
To: vim-dev at vim.org
Subject: Patch 7.1.175
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.176 ---
To: vim-dev at vim.org
Subject: Patch 7.1.176
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.177 ---
To: vim-dev at vim.org
Subject: Patch 7.1.177
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.178 ---
To: vim-dev at vim.org
Subject: Patch 7.1.178
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.179 ---
To: vim-dev at vim.org
Subject: Patch 7.1.179
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.180 ---
To: vim-dev at vim.org
Subject: Patch 7.1.180
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.181 ---
To: vim-dev at vim.org
Subject: Patch 7.1.181
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.182 ---
To: vim-dev at vim.org
Subject: Patch 7.1.182
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.183 ---
To: vim-dev at vim.org
Subject: Patch 7.1.183
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.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 at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.184 ---
To: vim-dev at vim.org
Subject: Patch 7.1.184
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.184
Problem: Crash when deleting backwards over a line break in Insert mode.
Solution: Don't advance the cursor when it's already on the NUL after a
line. (Matthew Wozniski)
Files: src/normal.c
*** ../vim-7.1.183/src/normal.c Sun Oct 14 17:15:45 2007
--- src/normal.c Tue Jan 1 16:40:24 2008
***************
*** 5849,5860 ****
/* When the NL before the first char has to be deleted we
* put the cursor on the NUL after the previous line.
* This is a very special case, be careful!
! * don't adjust op_end now, otherwise it won't work */
if ( (cap->oap->op_type == OP_DELETE
|| cap->oap->op_type == OP_CHANGE)
&& !lineempty(curwin->w_cursor.lnum))
{
! ++curwin->w_cursor.col;
cap->retval |= CA_NO_ADJ_OP_END;
}
continue;
--- 5849,5861 ----
/* When the NL before the first char has to be deleted we
* put the cursor on the NUL after the previous line.
* This is a very special case, be careful!
! * Don't adjust op_end now, otherwise it won't work. */
if ( (cap->oap->op_type == OP_DELETE
|| cap->oap->op_type == OP_CHANGE)
&& !lineempty(curwin->w_cursor.lnum))
{
! if (*ml_get_cursor() != NUL)
! ++curwin->w_cursor.col;
cap->retval |= CA_NO_ADJ_OP_END;
}
continue;
*** ../vim-7.1.183/src/version.c Wed Jan 2 15:34:48 2008
--- src/version.c Wed Jan 2 16:24:19 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 184,
/**/
--
Not too long ago, cut and paste was done with scissors and glue...
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.185 ---
To: vim-dev at vim.org
Subject: Patch 7.1.185
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.185
Problem: Using "gR" with a multi-byte encoding and typing a CR pushes
characters onto the replace stack incorrectly, resulting in BS
putting back the wrong characters. (Paul B. Mahol)
Solution: Push multi-byte characters onto the replace stack in reverse byte
order. Add replace_push_mb().
Files: src/edit.c, src/misc1.c, src/proto/edit.pro
*** ../vim-7.1.184/src/edit.c Sun Dec 9 20:25:59 2007
--- src/edit.c Tue Jan 1 17:28:07 2008
***************
*** 6939,6944 ****
--- 6939,6963 ----
++replace_stack_nr;
}
+ #if defined(FEAT_MBYTE) || defined(PROTO)
+ /*
+ * Push a character onto the replace stack. Handles a multi-byte character in
+ * reverse byte order, so that the first byte is popped off first.
+ * Return the number of bytes done (includes composing characters).
+ */
+ int
+ replace_push_mb(p)
+ char_u *p;
+ {
+ int l = (*mb_ptr2len)(p);
+ int j;
+
+ for (j = l - 1; j >= 0; --j)
+ replace_push(p[j]);
+ return l;
+ }
+ #endif
+
#if 0
/*
* call replace_push(c) with replace_offset set to the first NUL.
*** ../vim-7.1.184/src/misc1.c Wed Sep 26 22:35:06 2007
--- src/misc1.c Wed Jan 2 17:48:00 2008
***************
*** 591,597 ****
replace_push(NUL);
p = saved_line + curwin->w_cursor.col;
while (*p != NUL)
! replace_push(*p++);
saved_line[curwin->w_cursor.col] = NUL;
}
#endif
--- 592,605 ----
replace_push(NUL);
p = saved_line + curwin->w_cursor.col;
while (*p != NUL)
! {
! #ifdef FEAT_MBYTE
! if (has_mbyte)
! p += replace_push_mb(p);
! else
! #endif
! replace_push(*p++);
! }
saved_line[curwin->w_cursor.col] = NUL;
}
#endif
***************
*** 1914,1920 ****
int charlen;
{
int c = buf[0];
- int l, j;
#endif
int newlen; /* nr of bytes inserted */
int oldlen; /* nr of bytes deleted (0 when not replacing) */
--- 1922,1927 ----
***************
*** 2016,2028 ****
for (i = 0; i < oldlen; ++i)
{
#ifdef FEAT_MBYTE
! l = (*mb_ptr2len)(oldp + col + i) - 1;
! for (j = l; j >= 0; --j)
! replace_push(oldp[col + i + j]);
! i += l;
! #else
! replace_push(oldp[col + i]);
#endif
}
}
--- 2023,2033 ----
for (i = 0; i < oldlen; ++i)
{
#ifdef FEAT_MBYTE
! if (has_mbyte)
! i += replace_push_mb(oldp + col + i) - 1;
! else
#endif
+ replace_push(oldp[col + i]);
}
}
*** ../vim-7.1.184/src/proto/edit.pro Sat May 5 20:21:34 2007
--- src/proto/edit.pro Tue Jan 1 17:21:24 2008
***************
*** 32,37 ****
--- 32,38 ----
char_u *get_last_insert __ARGS((void));
char_u *get_last_insert_save __ARGS((void));
void replace_push __ARGS((int c));
+ int replace_push_mb __ARGS((char_u *p));
void fixthisline __ARGS((int (*get_the_indent)(void)));
void fix_indent __ARGS((void));
int in_cinkeys __ARGS((int keytyped, int when, int line_is_empty));
*** ../vim-7.1.184/src/version.c Wed Jan 2 16:25:20 2008
--- src/version.c Wed Jan 2 17:45:10 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 185,
/**/
--
Not too long ago, a keyboard was something to make music with...
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.186 ---
To: vim-dev at vim.org
Subject: Patch 7.1.186
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.186
Problem: "expand('<afile>')" returns a bogus value after changing
directory. (Dave Fishburn)
Solution: Copy "autocmd_fname" to allocated memory and expand to full
filename. Shorten the path when expanding <afile>.
Files: src/ex_docmd.c, src/fileio.c
*** ../vim-7.1.185/src/ex_docmd.c Wed Jan 2 15:12:29 2008
--- src/ex_docmd.c Wed Jan 2 20:12:33 2008
***************
*** 7799,7804 ****
--- 7799,7805 ----
free_cd_dir()
{
vim_free(prev_dir);
+ prev_dir = NULL;
}
#endif
***************
*** 9521,9526 ****
--- 9522,9528 ----
*errormsg = (char_u *)_("E495: no autocommand file name to substitute for \"<afile>\"");
return NULL;
}
+ result = shorten_fname1(result);
break;
case SPEC_ABUF: /* buffer number for autocommand */
*** ../vim-7.1.185/src/fileio.c Thu Nov 8 20:47:34 2007
--- src/fileio.c Wed Jan 2 20:21:43 2008
***************
*** 5556,5562 ****
#endif
#if defined(FEAT_VIMINFO) || defined(FEAT_BROWSE) || \
! defined(FEAT_QUICKFIX) || defined(PROTO)
/*
* Try to find a shortname by comparing the fullname with the current
* directory.
--- 5556,5562 ----
#endif
#if defined(FEAT_VIMINFO) || defined(FEAT_BROWSE) || \
! defined(FEAT_QUICKFIX) || defined(FEAT_AUTOCMD) || defined(PROTO)
/*
* Try to find a shortname by comparing the fullname with the current
* directory.
***************
*** 8546,8551 ****
--- 8546,8553 ----
/*
* Set the file name to be used for <afile>.
+ * Make a copy to avoid that changing a buffer name or directory makes it
+ * invalid.
*/
if (fname_io == NULL)
{
***************
*** 8558,8563 ****
--- 8560,8567 ----
}
else
autocmd_fname = fname_io;
+ if (autocmd_fname != NULL)
+ autocmd_fname = FullName_save(autocmd_fname, FALSE);
/*
* Set the buffer number to be used for <abuf>.
***************
*** 8740,8745 ****
--- 8744,8750 ----
vim_free(sourcing_name);
sourcing_name = save_sourcing_name;
sourcing_lnum = save_sourcing_lnum;
+ vim_free(autocmd_fname);
autocmd_fname = save_autocmd_fname;
autocmd_bufnr = save_autocmd_bufnr;
autocmd_match = save_autocmd_match;
*** ../vim-7.1.185/src/version.c Wed Jan 2 17:48:24 2008
--- src/version.c Wed Jan 2 21:06:35 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 186,
/**/
--
LAUNCELOT leaps into SHOT with a mighty cry and runs the GUARD through and
hacks him to the floor. Blood. Swashbuckling music (perhaps).
LAUNCELOT races through into the castle screaming.
SECOND SENTRY: Hey!
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.187 ---
To: vim-dev at vim.org
Subject: Patch 7.1.187
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.187
Problem: Win32 GUI: Custom completion using system() no longer works
after patch 7.1.104. (Erik Falor)
Solution: Loop when safe_vgetc() returns K_IGNORE.
Files: src/ex_getln.c
*** ../vim-7.1.186/src/ex_getln.c Fri Dec 7 20:28:13 2007
--- src/ex_getln.c Wed Jan 2 21:42:51 2008
***************
*** 335,341 ****
quit_more = FALSE; /* reset after CTRL-D which had a more-prompt */
cursorcmd(); /* set the cursor on the right spot */
! c = safe_vgetc();
if (KeyTyped)
{
some_key_typed = TRUE;
--- 335,348 ----
quit_more = FALSE; /* reset after CTRL-D which had a more-prompt */
cursorcmd(); /* set the cursor on the right spot */
!
! /* Get a character. Ignore K_IGNORE, it should not do anything, such
! * as stop completion. */
! do
! {
! c = safe_vgetc();
! } while (c == K_IGNORE);
!
if (KeyTyped)
{
some_key_typed = TRUE;
***************
*** 1209,1215 ****
goto cmdline_not_changed;
case K_IGNORE:
! goto cmdline_not_changed; /* Ignore mouse */
#ifdef FEAT_GUI_W32
/* On Win32 ignore <M-F4>, we get it when closing the window was
--- 1216,1223 ----
goto cmdline_not_changed;
case K_IGNORE:
! /* Ignore mouse event or ex_window() result. */
! goto cmdline_not_changed;
#ifdef FEAT_GUI_W32
/* On Win32 ignore <M-F4>, we get it when closing the window was
*** ../vim-7.1.186/src/version.c Wed Jan 2 21:07:32 2008
--- src/version.c Wed Jan 2 21:53:24 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 187,
/**/
--
FATHER: Who are you?
PRINCE: I'm ... your son ...
FATHER: Not you.
LAUNCELOT: I'm ... er ... Sir Launcelot, sir.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.188 ---
To: vim-dev at vim.org
Subject: Patch 7.1.188
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.188
Problem: When 'showmode' is off the message for changing a readonly file is
given in the second column instead of the first. (Payl B. Mahol)
Solution: Put the W10 message in the first column.
Files: src/edit.c
*** ../vim-7.1.187/src/edit.c Wed Jan 2 17:48:24 2008
--- src/edit.c Wed Jan 2 20:56:46 2008
***************
*** 550,556 ****
i = showmode();
if (!p_im && did_restart_edit == 0)
! change_warning(i + 1);
#ifdef CURSOR_SHAPE
ui_cursor_shape(); /* may show different cursor shape */
--- 550,556 ----
i = showmode();
if (!p_im && did_restart_edit == 0)
! change_warning(i == 0 ? 0 : i + 1);
#ifdef CURSOR_SHAPE
ui_cursor_shape(); /* may show different cursor shape */
*** ../vim-7.1.187/src/version.c Wed Jan 2 21:54:33 2008
--- src/version.c Wed Jan 2 22:06:19 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 188,
/**/
--
PRINCE: He's come to rescue me, father.
LAUNCELOT: (embarrassed) Well, let's not jump to conclusions ...
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.189 ---
To: vim-dev at vim.org
Subject: Patch 7.1.189
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.189 (after 7.1.104)
Problem: Patch 7.1.104 was incomplete.
Solution: Also call plain_vgetc() in ask_yesno().
Files: src/misc1.c
*** ../vim-7.1.188/src/misc1.c Wed Jan 2 17:48:24 2008
--- src/misc1.c Wed Jan 2 17:48:00 2008
***************
*** 222,231 ****
*s++ = *p++;
orig_char_len--;
}
/* Skip over any additional white space (useful when newindent is less
* than old) */
while (vim_iswhite(*p))
! (void)*p++;
}
else
--- 222,232 ----
*s++ = *p++;
orig_char_len--;
}
+
/* Skip over any additional white space (useful when newindent is less
* than old) */
while (vim_iswhite(*p))
! ++p;
}
else
***************
*** 3024,3030 ****
if (direct)
r = get_keystroke();
else
! r = safe_vgetc();
if (r == Ctrl_C || r == ESC)
r = 'n';
msg_putchar(r); /* show what you typed */
--- 3025,3031 ----
if (direct)
r = get_keystroke();
else
! r = plain_vgetc();
if (r == Ctrl_C || r == ESC)
r = 'n';
msg_putchar(r); /* show what you typed */
*** ../vim-7.1.188/src/version.c Wed Jan 2 22:08:43 2008
--- src/version.c Thu Jan 3 12:40:31 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 189,
/**/
--
Q: How does a UNIX Guru do Sex ?
A: unzip;strip;touch;finger;mount;fsck;more;yes;umount;sleep
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.190 ---
To: vim-dev at vim.org
Subject: Patch 7.1.190
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.190
Problem: Cursor after end-of-line: "iA sentence.<Esc>)"
Solution: Move cursor back and make motion inclusive.
Files: src/normal.c
*** ../vim-7.1.189/src/normal.c Wed Jan 2 16:25:20 2008
--- src/normal.c Wed Jan 2 22:04:38 2008
***************
*** 6564,6569 ****
--- 6564,6575 ----
clearopbeep(cap->oap);
else
{
+ /* Don't leave the cursor on the NUL past a line */
+ if (curwin->w_cursor.col > 0 && gchar_cursor() == NUL)
+ {
+ --curwin->w_cursor.col;
+ cap->oap->inclusive = TRUE;
+ }
#ifdef FEAT_VIRTUALEDIT
curwin->w_cursor.coladd = 0;
#endif
*** ../vim-7.1.189/src/version.c Thu Jan 3 12:42:39 2008
--- src/version.c Thu Jan 3 13:19:03 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 190,
/**/
--
[clop clop]
GUARD #1: Halt! Who goes there?
ARTHUR: It is I, Arthur, son of Uther Pendragon, from the castle of
Camelot. King of the Britons, defeator of the Saxons, sovereign of
all England!
GUARD #1: Pull the other one!
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.191 ---
To: vim-dev at vim.org
Subject: Patch 7.1.191
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.191
Problem: Win32 GUI: after patch 7.1.168 there is still a problem when
clicking in a scrollbar. (Juergen Jottkaerr)
Solution: Don't check the input buffer when dragging the scrollbar.
Files: src/gui.c
*** ../vim-7.1.190/src/gui.c Tue Nov 6 22:26:39 2007
--- src/gui.c Thu Jan 3 13:16:29 2008
***************
*** 3734,3741 ****
sb->value = value;
#ifdef USE_ON_FLY_SCROLL
! /* When not allowed to do the scrolling right now, return. */
! if (dont_scroll || input_available())
return;
#endif
#ifdef FEAT_INS_EXPAND
--- 3734,3743 ----
sb->value = value;
#ifdef USE_ON_FLY_SCROLL
! /* When not allowed to do the scrolling right now, return.
! * This also checked input_available(), but that causes the first click in
! * a scrollbar to be ignored when Vim doesn't have focus. */
! if (dont_scroll)
return;
#endif
#ifdef FEAT_INS_EXPAND
*** ../vim-7.1.190/src/version.c Thu Jan 3 13:19:50 2008
--- src/version.c Thu Jan 3 16:13:23 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 191,
/**/
--
GUARD #1: What -- a swallow carrying a coconut?
ARTHUR: It could grip it by the husk!
GUARD #1: It's not a question of where he grips it! It's a simple question
of weight ratios! A five ounce bird could not carry a 1 pound
coconut.
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.192 ---
To: vim-dev at vim.org
Subject: Patch 7.1.192
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.192
Problem: With Visual block selection, "s" and typing something, CTRL-C
doesn't stop Vim from repeating the replacement in other lines,
like happens for "I".
Solution: Check for "got_int" to be set.
Files: src/ops.c
*** ../vim-7.1.191/src/ops.c Sat Dec 1 21:12:23 2007
--- src/ops.c Thu Jan 3 16:26:37 2008
***************
*** 2468,2476 ****
edit(NUL, FALSE, (linenr_T)count1);
! /* if user has moved off this line, we don't know what to do, so do
! * nothing */
! if (curwin->w_cursor.lnum != oap->start.lnum)
return;
if (oap->block_mode)
--- 2468,2477 ----
edit(NUL, FALSE, (linenr_T)count1);
! /* If user has moved off this line, we don't know what to do, so do
! * nothing.
! * Also don't repeat the insert when Insert mode ended with CTRL-C. */
! if (curwin->w_cursor.lnum != oap->start.lnum || got_int)
return;
if (oap->block_mode)
***************
*** 2601,2608 ****
/*
* In Visual block mode, handle copying the new text to all lines of the
* block.
*/
! if (oap->block_mode && oap->start.lnum != oap->end.lnum)
{
/* Auto-indenting may have changed the indent. If the cursor was past
* the indent, exclude that indent change from the inserted text. */
--- 2602,2610 ----
/*
* In Visual block mode, handle copying the new text to all lines of the
* block.
+ * Don't repeat the insert when Insert mode ended with CTRL-C.
*/
! if (oap->block_mode && oap->start.lnum != oap->end.lnum && !got_int)
{
/* Auto-indenting may have changed the indent. If the cursor was past
* the indent, exclude that indent change from the inserted text. */
*** ../vim-7.1.191/src/version.c Thu Jan 3 16:14:25 2008
--- src/version.c Thu Jan 3 16:30:07 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 192,
/**/
--
"A mouse can be just as dangerous as a bullet or a bomb."
(US Representative Lamar Smith, R-Texas)
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.193 ---
To: vim-dev at vim.org
Subject: Patch 7.1.193
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.193
Problem: Some Vim 5.x digraphs are missing in Vim 7, even though the
character pairs are not used. (Philippe de Muyter)
Solution: Add those Vim 5.x digraphs that don't conflict with others.
Files: src/digraph.c
*** ../vim-7.1.192/src/digraph.c Thu Sep 13 18:25:08 2007
--- src/digraph.c Thu Jan 3 17:48:47 2008
***************
*** 1978,1983 ****
--- 1978,2038 ----
{'f', 't', 0xfb05},
{'s', 't', 0xfb06},
# endif /* FEAT_MBYTE */
+
+ /* Vim 5.x compatible digraphs that don't conflict with the above */
+ {'~', '!', 161}, /* ¡ */
+ {'c', '|', 162}, /* ¢ */
+ {'$', '$', 163}, /* £ */
+ {'o', 'x', 164}, /* ¤ - currency symbol in ISO 8859-1 */
+ {'Y', '-', 165}, /* ¥ */
+ {'|', '|', 166}, /* ¦ */
+ {'c', 'O', 169}, /* © */
+ {'-', ',', 172}, /* ¬ */
+ {'-', '=', 175}, /* ¯ */
+ {'~', 'o', 176}, /* ° */
+ {'2', '2', 178}, /* ² */
+ {'3', '3', 179}, /* ³ */
+ {'p', 'p', 182}, /* ¶ */
+ {'~', '.', 183}, /* · */
+ {'1', '1', 185}, /* ¹ */
+ {'~', '?', 191}, /* ¿ */
+ {'A', '`', 192}, /* À */
+ {'A', '^', 194}, /* Â */
+ {'A', '~', 195}, /* Ã */
+ {'A', '"', 196}, /* Ä */
+ {'A', '@', 197}, /* Å */
+ {'E', '`', 200}, /* È */
+ {'E', '^', 202}, /* Ê */
+ {'E', '"', 203}, /* Ë */
+ {'I', '`', 204}, /* Ì */
+ {'I', '^', 206}, /* Î */
+ {'I', '"', 207}, /* Ï */
+ {'N', '~', 209}, /* Ñ */
+ {'O', '`', 210}, /* Ò */
+ {'O', '^', 212}, /* Ô */
+ {'O', '~', 213}, /* Õ */
+ {'/', '\\', 215}, /* × - multiplication symbol in ISO 8859-1 */
+ {'U', '`', 217}, /* Ù */
+ {'U', '^', 219}, /* Û */
+ {'I', 'p', 222}, /* Þ */
+ {'a', '`', 224}, /* à */
+ {'a', '^', 226}, /* â */
+ {'a', '~', 227}, /* ã */
+ {'a', '"', 228}, /* ä */
+ {'a', '@', 229}, /* å */
+ {'e', '`', 232}, /* è */
+ {'e', '^', 234}, /* ê */
+ {'e', '"', 235}, /* ë */
+ {'i', '`', 236}, /* ì */
+ {'i', '^', 238}, /* î */
+ {'n', '~', 241}, /* ñ */
+ {'o', '`', 242}, /* ò */
+ {'o', '^', 244}, /* ô */
+ {'o', '~', 245}, /* õ */
+ {'u', '`', 249}, /* ù */
+ {'u', '^', 251}, /* û */
+ {'y', '"', 255}, /* x XX */
+
{NUL, NUL, NUL}
};
*** ../vim-7.1.192/src/version.c Thu Jan 3 16:31:17 2008
--- src/version.c Thu Jan 3 17:52:51 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 193,
/**/
--
Futility Factor: No experiment is ever a complete failure - it can always
serve as a negative example.
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.194 ---
To: vim-dev at vim.org
Subject: Patch 7.1.194
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.194
Problem: ":echo glob('~/{}')" results in /home/user//.
Solution: Don't add a slash if there already is one.
Files: src/os_unix.c
*** ../vim-7.1.193/src/os_unix.c Sat Dec 1 17:18:45 2007
--- src/os_unix.c Thu Jan 3 18:52:22 2008
***************
*** 5482,5488 ****
{
STRCPY(p, (*file)[i]);
if (dir)
! STRCAT(p, "/"); /* add '/' to a directory name */
(*file)[j++] = p;
}
}
--- 5482,5488 ----
{
STRCPY(p, (*file)[i]);
if (dir)
! add_pathsep(p); /* add '/' to a directory name */
(*file)[j++] = p;
}
}
*** ../vim-7.1.193/src/version.c Thu Jan 3 17:53:41 2008
--- src/version.c Thu Jan 3 18:54:41 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 194,
/**/
--
ARTHUR: Will you ask your master if he wants to join my court at Camelot?!
GUARD #1: But then of course African swallows are not migratory.
GUARD #2: Oh, yeah...
GUARD #1: So they couldn't bring a coconut back anyway...
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.195 ---
To: vim-dev at vim.org
Subject: Patch 7.1.195
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.195
Problem: '0 mark doesn't work for "~/foo ~ foo".
Solution: Don't expand the whole file name, only "~/".
Files: src/mark.c
*** ../vim-7.1.194/src/mark.c Thu May 10 18:48:03 2007
--- src/mark.c Thu Jan 3 20:17:29 2008
***************
*** 505,513 ****
{
/*
* First expand "~/" in the file name to the home directory.
! * Try to shorten the file name.
*/
! expand_env(fm->fname, NameBuff, MAXPATHL);
mch_dirname(IObuff, IOSIZE);
p = shorten_fname(NameBuff, IObuff);
--- 505,528 ----
{
/*
* First expand "~/" in the file name to the home directory.
! * Don't expand the whole name, it may contain other '~' chars.
*/
! if (fm->fname[0] == '~' && (fm->fname[1] == '/'
! #ifdef BACKSLASH_IN_FILENAME
! || fm->fname[1] == '\\'
! #endif
! ))
! {
! int len;
!
! expand_env((char_u *)"~/", NameBuff, MAXPATHL);
! len = STRLEN(NameBuff);
! vim_strncpy(NameBuff + len, fm->fname + 2, MAXPATHL - len - 1);
! }
! else
! vim_strncpy(NameBuff, fm->fname, MAXPATHL - 1);
!
! /* Try to shorten the file name. */
mch_dirname(IObuff, IOSIZE);
p = shorten_fname(NameBuff, IObuff);
*** ../vim-7.1.194/src/version.c Thu Jan 3 18:55:21 2008
--- src/version.c Thu Jan 3 20:10:16 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 195,
/**/
--
GUARD #2: Wait a minute -- supposing two swallows carried it together?
GUARD #1: No, they'd have to have it on a line.
GUARD #2: Well, simple! They'd just use a standard creeper!
GUARD #1: What, held under the dorsal guiding feathers?
GUARD #2: Well, why not?
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.196 ---
To: vim-dev at vim.org
Subject: Patch 7.1.196 (extra)
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.196 (extra)
Problem: Win32 GUI: "\n" in a tooltip doesn't cause a line break. (Erik
Falor)
Solution: Use the TTM_SETMAXTIPWIDTH message.
Files: src/gui_w32.c
*** ../vim-7.1.195/src/gui_w32.c Thu Aug 30 12:24:21 2007
--- src/gui_w32.c Thu Jan 3 13:56:26 2008
***************
*** 987,992 ****
--- 987,997 ----
{
LPNMTTDISPINFOW lpdi = (LPNMTTDISPINFOW)lParam;
+ /* Set the maximum width, this also enables using
+ * \n for line break. */
+ SendMessage(lpdi->hdr.hwndFrom, TTM_SETMAXTIPWIDTH,
+ 0, 500);
+
tt_text = enc_to_ucs2(str, NULL);
lpdi->lpszText = tt_text;
/* can't show tooltip if failed */
***************
*** 996,1001 ****
--- 1001,1011 ----
{
LPNMTTDISPINFO lpdi = (LPNMTTDISPINFO)lParam;
+ /* Set the maximum width, this also enables using
+ * \n for line break. */
+ SendMessage(lpdi->hdr.hwndFrom, TTM_SETMAXTIPWIDTH,
+ 0, 500);
+
if (STRLEN(str) < sizeof(lpdi->szText)
|| ((tt_text = vim_strsave(str)) == NULL))
vim_strncpy(lpdi->szText, str,
***************
*** 4734,4745 ****
cur_beval->showState = ShS_NEUTRAL;
break;
case TTN_GETDISPINFO:
! {
! /* if you get there then we have new common controls */
! NMTTDISPINFO_NEW *info = (NMTTDISPINFO_NEW *)pnmh;
! info->lpszText = (LPSTR)info->lParam;
! info->uFlags |= TTF_DI_SETITEM;
! }
break;
}
}
--- 4744,4755 ----
cur_beval->showState = ShS_NEUTRAL;
break;
case TTN_GETDISPINFO:
! {
! /* if you get there then we have new common controls */
! NMTTDISPINFO_NEW *info = (NMTTDISPINFO_NEW *)pnmh;
! info->lpszText = (LPSTR)info->lParam;
! info->uFlags |= TTF_DI_SETITEM;
! }
break;
}
}
*** ../vim-7.1.195/src/version.c Thu Jan 3 20:21:34 2008
--- src/version.c Thu Jan 3 20:43:22 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 196,
/**/
--
Shit makes the flowers grow and that's beautiful
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.197 ---
To: vim-dev at vim.org
Subject: Patch 7.1.197
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.197
Problem: Mac: "make install" doesn't work when prefix defined.
Solution: Pass different arguments to "make installruntime". (Jjgod Jiang)
Files: src/Makefile
*** ../vim-7.1.196/src/Makefile Thu Jan 3 20:44:40 2008
--- src/Makefile Thu Jan 3 18:30:02 2008
***************
*** 2559,2566 ****
# -mkdir $(DESTDIR)$(prefix)/$(APPDIR)/bin
srcdir=`pwd`; $(MAKE) -f Makefile installruntime \
VIMEXE=$$srcdir/$(VIMTARGET) \
! prefix=$(DESTDIR)$(prefix)/$(RESDIR)/vim \
! VIMRTLOC=$(DESTDIR)$(prefix)/$(RESDIR)/vim/runtime
# Put the link back.
ln -s `pwd`/../runtime $(RESDIR)/vim
# Copy rgb.txt, Mac doesn't always have X11
--- 2564,2574 ----
# -mkdir $(DESTDIR)$(prefix)/$(APPDIR)/bin
srcdir=`pwd`; $(MAKE) -f Makefile installruntime \
VIMEXE=$$srcdir/$(VIMTARGET) \
! prefix=$(DESTDIR)$(prefix)/$(RESDIR)$(VIMDIR) \
! exec_prefix=$(DESTDIR)$(prefix)/$(APPDIR)/Contents \
! BINDIR=$(DESTDIR)$(prefix)/$(APPDIR)/Contents/MacOS \
! VIMLOC=$(DESTDIR)$(prefix)/$(RESDIR)$(VIMDIR) \
! VIMRTLOC=$(DESTDIR)$(prefix)/$(RESDIR)$(VIMDIR)/runtime
# Put the link back.
ln -s `pwd`/../runtime $(RESDIR)/vim
# Copy rgb.txt, Mac doesn't always have X11
*** ../vim-7.1.196/src/version.c Thu Jan 3 20:44:35 2008
--- src/version.c Fri Jan 4 11:52:46 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 197,
/**/
--
CUSTOMER: Well, can you hang around a couple of minutes? He won't be
long.
MORTICIAN: Naaah, I got to go on to Robinson's -- they've lost nine today.
CUSTOMER: Well, when is your next round?
MORTICIAN: Thursday.
DEAD PERSON: I think I'll go for a walk.
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.198 ---
To: vim-dev at vim.org
Subject: Patch 7.1.198
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.198
Problem: Hang when using ":s/\n//gn". (Burak Gorkemli)
Solution: Set "skip_match".
Files: src/ex_cmds.c
*** ../vim-7.1.197/src/ex_cmds.c Wed Jan 2 13:58:17 2008
--- src/ex_cmds.c Fri Jan 4 14:46:34 2008
***************
*** 4575,4580 ****
--- 4575,4581 ----
{
matchcol = (colnr_T)STRLEN(sub_firstline);
nmatch = 1;
+ skip_match = TRUE;
}
sub_nsubs++;
did_sub = TRUE;
*** ../vim-7.1.197/src/version.c Fri Jan 4 11:54:11 2008
--- src/version.c Fri Jan 4 14:52:09 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 198,
/**/
--
[clop clop]
ARTHUR: Old woman!
DENNIS: Man!
ARTHUR: Man, sorry. What knight lives in that castle over there?
DENNIS: I'm thirty seven.
ARTHUR: What?
DENNIS: I'm thirty seven -- I'm not old!
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.199 ---
To: vim-dev at vim.org
Subject: Patch 7.1.199
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.199
Problem: Can't do command line completion for a specific file name
extension.
Solution: When the pattern ends in "$" don't add a star for completion and
remove the "$" before matching with file names.
Files: runtime/doc/cmdline.txt, src/ex_getln.c
*** ../vim-7.1.198/runtime/doc/cmdline.txt Sat May 12 15:38:39 2007
--- runtime/doc/cmdline.txt Fri Jan 4 15:13:06 2008
***************
*** 1,4 ****
! *cmdline.txt* For Vim version 7.1. Last change: 2006 Jul 18
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *cmdline.txt* For Vim version 7.1. Last change: 2008 Jan 04
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 316,322 ****
command-line is shown. (Note: the shifted arrow keys do not work on all
terminals)
! *his* *:history*
:his[tory] Print the history of last entered commands.
{not in Vi}
{not available when compiled without the |+cmdline_hist|
--- 316,322 ----
command-line is shown. (Note: the shifted arrow keys do not work on all
terminals)
! *:his* *:history*
:his[tory] Print the history of last entered commands.
{not in Vi}
{not available when compiled without the |+cmdline_hist|
***************
*** 447,452 ****
--- 447,457 ----
To completely ignore files with some extension use 'wildignore'.
+ To match only files that end at the end of the typed text append a "$". For
+ example, to match only files that end in ".c": >
+ :e *.c$
+ This will not match a file ending in ".cpp". Without the "$" it does match.
+
The old value of an option can be obtained by hitting 'wildchar' just after
the '='. For example, typing 'wildchar' after ":set dir=" will insert the
current value of 'dir'. This overrules file name completion for the options
*** ../vim-7.1.198/src/ex_getln.c Wed Jan 2 21:54:33 2008
--- src/ex_getln.c Fri Jan 4 15:05:31 2008
***************
*** 4078,4083 ****
--- 4078,4084 ----
* ~ would be at the start of the file name, but not the tail.
* $ could be anywhere in the tail.
* ` could be anywhere in the file name.
+ * When the name ends in '$' don't add a star, remove the '$'.
*/
tail = gettail(retval);
if ((*retval != '~' || tail != retval)
***************
*** 4085,4090 ****
--- 4086,4093 ----
&& vim_strchr(tail, '$') == NULL
&& vim_strchr(retval, '`') == NULL)
retval[len++] = '*';
+ else if (len > 0 && retval[len - 1] == '$')
+ --len;
retval[len] = NUL;
}
}
*** ../vim-7.1.198/src/version.c Fri Jan 4 14:52:14 2008
--- src/version.c Fri Jan 4 15:14:29 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 199,
/**/
--
ARTHUR: Well, I can't just call you `Man'.
DENNIS: Well, you could say `Dennis'.
ARTHUR: Well, I didn't know you were called `Dennis.'
DENNIS: Well, you didn't bother to find out, did you?
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.200 ---
To: vim-dev at vim.org
Subject: Patch 7.1.200
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.200 (after 7.1.177 and 7.1.182)
Problem: Compiler warnings for uninitialized variables.
Solution: Init variables.
Files: src/ex_cmds2.c, src/ex_docmd.c
*** ../vim-7.1.199/src/ex_cmds2.c Tue Jan 1 14:16:42 2008
--- src/ex_cmds2.c Fri Jan 4 15:55:54 2008
***************
*** 94,100 ****
int save_redir_off = redir_off;
tasave_T typeaheadbuf;
int typeahead_saved = FALSE;
! int save_ignore_script;
# ifdef FEAT_EX_EXTRA
int save_ex_normal_busy;
# endif
--- 94,100 ----
int save_redir_off = redir_off;
tasave_T typeaheadbuf;
int typeahead_saved = FALSE;
! int save_ignore_script = 0;
# ifdef FEAT_EX_EXTRA
int save_ex_normal_busy;
# endif
*** ../vim-7.1.199/src/ex_docmd.c Wed Jan 2 21:07:32 2008
--- src/ex_docmd.c Fri Jan 4 15:57:28 2008
***************
*** 9765,9771 ****
win_T *tab_firstwin;
frame_T *tab_topframe;
int cur_arg_idx = 0;
! int next_arg_idx;
if (ssop_flags & SSOP_BUFFERS)
only_save_windows = FALSE; /* Save ALL buffers */
--- 9766,9772 ----
win_T *tab_firstwin;
frame_T *tab_topframe;
int cur_arg_idx = 0;
! int next_arg_idx = 0;
if (ssop_flags & SSOP_BUFFERS)
only_save_windows = FALSE; /* Save ALL buffers */
*** ../vim-7.1.199/src/version.c Fri Jan 4 15:16:57 2008
--- src/version.c Fri Jan 4 15:59:46 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 200,
/**/
--
ARTHUR: I did say sorry about the `old woman,' but from the behind you
looked--
DENNIS: What I object to is you automatically treat me like an inferior!
ARTHUR: Well, I AM king...
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.201 ---
To: vim-dev at vim.org
Subject: Patch 7.1.201
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.201
Problem: When reading stdin 'fenc' and 'ff are not set.
Solution: Set the options after reading stdin. (Ben Schmidt)
Files: src/fileio.c
*** ../vim-7.1.200/src/fileio.c Wed Jan 2 21:07:32 2008
--- src/fileio.c Fri Jan 4 16:18:27 2008
***************
*** 221,231 ****
{
int fd = 0;
int newfile = (flags & READ_NEW);
- int set_options = newfile || (eap != NULL && eap->read_edit);
int check_readonly;
int filtering = (flags & READ_FILTER);
int read_stdin = (flags & READ_STDIN);
int read_buffer = (flags & READ_BUFFER);
linenr_T read_buf_lnum = 1; /* next line to read from curbuf */
colnr_T read_buf_col = 0; /* next char to read from this line */
char_u c;
--- 221,232 ----
{
int fd = 0;
int newfile = (flags & READ_NEW);
int check_readonly;
int filtering = (flags & READ_FILTER);
int read_stdin = (flags & READ_STDIN);
int read_buffer = (flags & READ_BUFFER);
+ int set_options = newfile || read_buffer
+ || (eap != NULL && eap->read_edit);
linenr_T read_buf_lnum = 1; /* next line to read from curbuf */
colnr_T read_buf_col = 0; /* next char to read from this line */
char_u c;
***************
*** 650,657 ****
if (set_options)
{
! curbuf->b_p_eol = TRUE;
! curbuf->b_start_eol = TRUE;
#ifdef FEAT_MBYTE
curbuf->b_p_bomb = FALSE;
curbuf->b_start_bomb = FALSE;
--- 651,663 ----
if (set_options)
{
! /* Don't change 'eol' if reading from buffer as it will already be
! * correctly set when reading stdin. */
! if (!read_buffer)
! {
! curbuf->b_p_eol = TRUE;
! curbuf->b_start_eol = TRUE;
! }
#ifdef FEAT_MBYTE
curbuf->b_p_bomb = FALSE;
curbuf->b_start_bomb = FALSE;
*** ../vim-7.1.200/src/version.c Fri Jan 4 16:00:10 2008
--- src/version.c Fri Jan 4 16:27:01 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 201,
/**/
--
A mathematician is a device for turning coffee into theorems.
Paul Erdos
A computer programmer is a device for turning coffee into bugs.
Bram Moolenaar
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.202 ---
To: vim-dev at vim.org
Subject: Patch 7.1.202
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.202
Problem: Incomplete utf-8 byte sequence is not checked for validity.
Solution: Check the bytes that are present for being valid. (Ben Schmidt)
Files: src/mbyte.c
*** ../vim-7.1.201/src/mbyte.c Thu Aug 30 13:51:52 2007
--- src/mbyte.c Fri Jan 4 17:30:16 2008
***************
*** 1642,1648 ****
* Get the length of UTF-8 byte sequence "p[size]". Does not include any
* following composing characters.
* Returns 1 for "".
! * Returns 1 for an illegal byte sequence.
* Returns number > "size" for an incomplete byte sequence.
*/
int
--- 1642,1648 ----
* Get the length of UTF-8 byte sequence "p[size]". Does not include any
* following composing characters.
* Returns 1 for "".
! * Returns 1 for an illegal byte sequence (also in incomplete byte seq.).
* Returns number > "size" for an incomplete byte sequence.
*/
int
***************
*** 1652,1664 ****
{
int len;
int i;
if (*p == NUL)
return 1;
! len = utf8len_tab[*p];
if (len > size)
! return len; /* incomplete byte sequence. */
! for (i = 1; i < len; ++i)
if ((p[i] & 0xc0) != 0x80)
return 1;
return len;
--- 1652,1665 ----
{
int len;
int i;
+ int m;
if (*p == NUL)
return 1;
! m = len = utf8len_tab[*p];
if (len > size)
! m = size; /* incomplete byte sequence. */
! for (i = 1; i < m; ++i)
if ((p[i] & 0xc0) != 0x80)
return 1;
return len;
*** ../vim-7.1.201/src/version.c Fri Jan 4 16:30:40 2008
--- src/version.c Fri Jan 4 17:45:33 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 202,
/**/
--
A computer programmer is a device for turning requirements into
undocumented features. It runs on cola, pizza and Dilbert cartoons.
Bram Moolenaar
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.203 ---
To: vim-dev at vim.org
Subject: Patch 7.1.203
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.203
Problem: When 'virtualedit' is "onemore" then "99|" works but ":normal 99|"
doesn't. (Andy Wokula)
Solution: Check for "onemore" flag in check_cursor_col().
Files: src/misc2.c
*** ../vim-7.1.202/src/misc2.c Sat Nov 24 21:27:33 2007
--- src/misc2.c Fri Jan 4 21:24:46 2008
***************
*** 507,517 ****
curwin->w_cursor.col = 0;
else if (curwin->w_cursor.col >= len)
{
! /* Allow cursor past end-of-line in Insert mode, restarting Insert
! * mode or when in Visual mode and 'selection' isn't "old" */
if ((State & INSERT) || restart_edit
#ifdef FEAT_VISUAL
|| (VIsual_active && *p_sel != 'o')
#endif
|| virtual_active())
curwin->w_cursor.col = len;
--- 508,523 ----
curwin->w_cursor.col = 0;
else if (curwin->w_cursor.col >= len)
{
! /* Allow cursor past end-of-line when:
! * - in Insert mode or restarting Insert mode
! * - in Visual mode and 'selection' isn't "old"
! * - 'virtualedit' is set */
if ((State & INSERT) || restart_edit
#ifdef FEAT_VISUAL
|| (VIsual_active && *p_sel != 'o')
+ #endif
+ #ifdef FEAT_VIRTUALEDIT
+ || (ve_flags & VE_ONEMORE)
#endif
|| virtual_active())
curwin->w_cursor.col = len;
*** ../vim-7.1.202/src/version.c Fri Jan 4 17:46:46 2008
--- src/version.c Fri Jan 4 21:22:29 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 203,
/**/
--
`When any government, or any church for that matter, undertakes to say to
its subjects, "This you may not read, this you must not see, this you are
forbidden to know," the end result is tyranny and oppression no matter how
holy the motives' -- Robert A Heinlein, "If this goes on --"
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.204 ---
To: vim-dev at vim.org
Subject: Patch 7.1.204 (extra)
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.204 (extra)
Problem: Win32: Using the example at 'balloonexpr' the balloon disappears
after four seconds and then comes back again. Also moves the
mouse pointer a little bit. (Yongwei Wu)
Solution: Set the autopop time to 30 seconds (the max value). (Sergey
Khorev) Move the mouse two pixels forward and one back to end up
in the same position (really!).
Files: src/gui_w32.c
*** ../vim-7.1.203/src/gui_w32.c Thu Jan 3 20:44:35 2008
--- src/gui_w32.c Sat Jan 5 13:09:56 2008
***************
*** 4575,4585 ****
SendMessage(beval->balloon, TTM_ADDTOOL, 0, (LPARAM)pti);
/* Make tooltip appear sooner */
SendMessage(beval->balloon, TTM_SETDELAYTIME, TTDT_INITIAL, 10);
/*
* HACK: force tooltip to appear, because it'll not appear until
* first mouse move. D*mn M$
*/
! mouse_event(MOUSEEVENTF_MOVE, 1, 1, 0, 0);
mouse_event(MOUSEEVENTF_MOVE, (DWORD)-1, (DWORD)-1, 0, 0);
vim_free(pti);
}
--- 4575,4589 ----
SendMessage(beval->balloon, TTM_ADDTOOL, 0, (LPARAM)pti);
/* Make tooltip appear sooner */
SendMessage(beval->balloon, TTM_SETDELAYTIME, TTDT_INITIAL, 10);
+ /* I've performed some tests and it seems the longest possible life time
+ * of tooltip is 30 seconds */
+ SendMessage(beval->balloon, TTM_SETDELAYTIME, TTDT_AUTOPOP, 30000);
/*
* HACK: force tooltip to appear, because it'll not appear until
* first mouse move. D*mn M$
+ * Amazingly moving (2, 2) and then (-1, -1) the mouse doesn't move.
*/
! mouse_event(MOUSEEVENTF_MOVE, 2, 2, 0, 0);
mouse_event(MOUSEEVENTF_MOVE, (DWORD)-1, (DWORD)-1, 0, 0);
vim_free(pti);
}
*** ../vim-7.1.203/src/version.c Fri Jan 4 21:25:01 2008
--- src/version.c Sat Jan 5 13:12:22 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 204,
/**/
--
WOMAN: I didn't know we had a king. I thought we were an autonomous
collective.
DENNIS: You're fooling yourself. We're living in a dictatorship. A
self-perpetuating autocracy in which the working classes--
WOMAN: Oh there you go, bringing class into it again.
DENNIS: That's what it's all about if only people would--
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.205 ---
To: vim-dev at vim.org
Subject: Patch 7.1.205
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.205
Problem: Can't get the operator in an ":omap".
Solution: Add the "v:operator" variable. (Ben Schmidt)
Files: runtime/doc/eval.txt, src/eval.c, src/normal.c, src/vim.h
*** ../vim-7.1.204/runtime/doc/eval.txt Tue Sep 25 17:54:41 2007
--- runtime/doc/eval.txt Fri Jan 4 20:38:55 2008
***************
*** 1,4 ****
! *eval.txt* For Vim version 7.1. Last change: 2007 Sep 25
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *eval.txt* For Vim version 7.1. Last change: 2008 Jan 04
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 1401,1410 ****
This is the screen column number, like with |virtcol()|. The
value is zero when there was no mouse button click.
*v:prevcount* *prevcount-variable*
v:prevcount The count given for the last but one Normal mode command.
This is the v:count value of the previous command. Useful if
! you want to cancel Visual mode and then use the count. >
:vmap % <Esc>:call MyFilter(v:prevcount)<CR>
< Read-only.
--- 1401,1424 ----
This is the screen column number, like with |virtcol()|. The
value is zero when there was no mouse button click.
+ *v:operator* *operator-variable*
+ v:operator The last operator given in Normal mode. This is a single
+ character except for commands starting with <g> or <z>,
+ in which case it is two characters. Best used alongside
+ |v:prevcount| and |v:register|. Useful if you want to cancel
+ Operator-pending mode and then use the operator, e.g.: >
+ :omap O <Esc>:call MyMotion(v:operator)<CR>
+ < The value remains set until another operator is entered, thus
+ don't expect it to be empty.
+ v:operator is not set for |:delete|, |:yank| or other Ex
+ commands.
+ Read-only.
+
*v:prevcount* *prevcount-variable*
v:prevcount The count given for the last but one Normal mode command.
This is the v:count value of the previous command. Useful if
! you want to cancel Visual or Operator-pending mode and then
! use the count, e.g.: >
:vmap % <Esc>:call MyFilter(v:prevcount)<CR>
< Read-only.
*** ../vim-7.1.204/src/eval.c Fri Dec 7 17:08:35 2007
--- src/eval.c Sat Jan 5 13:22:52 2008
***************
*** 345,350 ****
--- 345,351 ----
{VV_NAME("mouse_win", VAR_NUMBER), 0},
{VV_NAME("mouse_lnum", VAR_NUMBER), 0},
{VV_NAME("mouse_col", VAR_NUMBER), 0},
+ {VV_NAME("operator", VAR_STRING), VV_RO},
};
/* shorthand */
*** ../vim-7.1.204/src/normal.c Thu Jan 3 13:19:50 2008
--- src/normal.c Fri Jan 4 20:53:43 2008
***************
*** 141,146 ****
--- 141,149 ----
static void nv_Undo __ARGS((cmdarg_T *cap));
static void nv_tilde __ARGS((cmdarg_T *cap));
static void nv_operator __ARGS((cmdarg_T *cap));
+ #ifdef FEAT_EVAL
+ static void set_op_var __ARGS((int optype));
+ #endif
static void nv_lineop __ARGS((cmdarg_T *cap));
static void nv_home __ARGS((cmdarg_T *cap));
static void nv_pipe __ARGS((cmdarg_T *cap));
***************
*** 7180,7185 ****
--- 7183,7191 ----
{
cap->oap->start = curwin->w_cursor;
cap->oap->op_type = OP_DELETE;
+ #ifdef FEAT_EVAL
+ set_op_var(OP_DELETE);
+ #endif
cap->count1 = 1;
nv_dollar(cap);
finish_op = TRUE;
***************
*** 8219,8226 ****
--- 8225,8257 ----
{
cap->oap->start = curwin->w_cursor;
cap->oap->op_type = op_type;
+ #ifdef FEAT_EVAL
+ set_op_var(op_type);
+ #endif
+ }
+ }
+
+ #ifdef FEAT_EVAL
+ /*
+ * Set v:operator to the characters for "optype".
+ */
+ static void
+ set_op_var(optype)
+ int optype;
+ {
+ char_u opchars[3];
+
+ if (optype == OP_NOP)
+ set_vim_var_string(VV_OP, NULL, 0);
+ else
+ {
+ opchars[0] = get_op_char(optype);
+ opchars[1] = get_extra_op_char(optype);
+ opchars[2] = NUL;
+ set_vim_var_string(VV_OP, opchars, -1);
}
}
+ #endif
/*
* Handle linewise operator "dd", "yy", etc.
*** ../vim-7.1.204/src/vim.h Sat Aug 11 13:57:31 2007
--- src/vim.h Fri Jan 4 19:11:31 2008
***************
*** 1688,1694 ****
#define VV_MOUSE_WIN 49
#define VV_MOUSE_LNUM 50
#define VV_MOUSE_COL 51
! #define VV_LEN 52 /* number of v: vars */
#ifdef FEAT_CLIPBOARD
--- 1688,1695 ----
#define VV_MOUSE_WIN 49
#define VV_MOUSE_LNUM 50
#define VV_MOUSE_COL 51
! #define VV_OP 52
! #define VV_LEN 53 /* number of v: vars */
#ifdef FEAT_CLIPBOARD
*** ../vim-7.1.204/src/version.c Sat Jan 5 13:15:08 2008
--- src/version.c Sat Jan 5 13:31:49 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 205,
/**/
--
ARTHUR: Then who is your lord?
WOMAN: We don't have a lord.
ARTHUR: What?
DENNIS: I told you. We're an anarcho-syndicalist commune. We take it in
turns to act as a sort of executive officer for the week.
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.206 ---
To: vim-dev at vim.org
Subject: Patch 7.1.206
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.206
Problem: Compiler warnings when using MODIFIED_BY.
Solution: Add type casts. (Ben Schmidt)
Files: src/version.c
*** ../vim-7.1.205/src/version.c Sat Jan 5 13:34:01 2008
--- src/version.c Sat Jan 5 13:56:55 2008
***************
*** 1587,1595 ****
if (*mesg == ' ')
{
! vim_strncpy(modby, _("Modified by "), MODBY_LEN - 1);
l = STRLEN(modby);
! vim_strncpy(modby + l, MODIFIED_BY, MODBY_LEN - l - 1);
mesg = modby;
}
#endif
--- 1589,1597 ----
if (*mesg == ' ')
{
! vim_strncpy(modby, (char_u *)_("Modified by "), MODBY_LEN - 1);
l = STRLEN(modby);
! vim_strncpy(modby + l, (char_u *)MODIFIED_BY, MODBY_LEN - l - 1);
mesg = modby;
}
#endif
*** ../vim-7.1.205/src/version.c Sat Jan 5 13:34:01 2008
--- src/version.c Sat Jan 5 13:56:55 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 206,
/**/
--
ARTHUR: I am your king!
WOMAN: Well, I didn't vote for you.
ARTHUR: You don't vote for kings.
WOMAN: Well, 'ow did you become king then?
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.207 ---
To: vim-dev at vim.org
Subject: Patch 7.1.207
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.207
Problem: Netbeans: "remove" cannot delete one line.
Solution: Remove partial lines and whole lines properly. Avoid a memory
leak. (Xavier de Gaye)
Files: src/netbeans.c
*** ../vim-7.1.206/src/netbeans.c Thu May 10 18:40:48 2007
--- src/netbeans.c Sat Jan 5 18:03:24 2008
***************
*** 1204,1209 ****
--- 1204,1257 ----
return result;
}
+ /*
+ * Remove from "first" byte to "last" byte (inclusive), at line "lnum" of the
+ * current buffer. Remove to end of line when "last" is MAXCOL.
+ */
+ static void
+ nb_partialremove(linenr_T lnum, colnr_T first, colnr_T last)
+ {
+ char_u *oldtext, *newtext;
+ int oldlen;
+ int lastbyte = last;
+
+ oldtext = ml_get(lnum);
+ oldlen = STRLEN(oldtext);
+ if (first >= oldlen || oldlen == 0) /* just in case */
+ return;
+ if (lastbyte >= oldlen)
+ lastbyte = oldlen - 1;
+ newtext = alloc(oldlen - (int)(lastbyte - first));
+ if (newtext != NULL)
+ {
+ mch_memmove(newtext, oldtext, first);
+ mch_memmove(newtext + first, oldtext + lastbyte + 1, STRLEN(oldtext + lastbyte + 1) + 1);
+ nbdebug((" NEW LINE %d: %s\n", lnum, newtext));
+ ml_replace(lnum, newtext, FALSE);
+ }
+ }
+
+ /*
+ * Replace the "first" line with the concatenation of the "first" and
+ * the "other" line. The "other" line is not removed.
+ */
+ static void
+ nb_joinlines(linenr_T first, linenr_T other)
+ {
+ int len_first, len_other;
+ char_u *p;
+
+ len_first = STRLEN(ml_get(first));
+ len_other = STRLEN(ml_get(other));
+ p = alloc((unsigned)(len_first + len_other + 1));
+ if (p != NULL)
+ {
+ mch_memmove(p, ml_get(first), len_first);
+ mch_memmove(p + len_first, ml_get(other), len_other + 1);
+ ml_replace(first, p, FALSE);
+ }
+ }
+
#define SKIP_STOP 2
#define streq(a,b) (strcmp(a,b) == 0)
static int needupdate = 0;
***************
*** 1371,1376 ****
--- 1419,1426 ----
long count;
pos_T first, last;
pos_T *pos;
+ pos_T *next;
+ linenr_T del_from_lnum, del_to_lnum; /* lines to be deleted as a whole */
int oldFire = netbeansFireChanges;
int oldSuppress = netbeansSuppressNoLines;
int wasChanged;
***************
*** 1420,1444 ****
}
last = *pos;
nbdebug((" LAST POS: line %d, col %d\n", last.lnum, last.col));
! curwin->w_cursor = first;
doupdate = 1;
! /* keep part of first line */
! if (first.lnum == last.lnum && first.col != last.col)
{
! /* deletion is within one line */
! char_u *p = ml_get(first.lnum);
! mch_memmove(p + first.col, p + last.col + 1, STRLEN(p + last.col) + 1);
! nbdebug((" NEW LINE %d: %s\n", first.lnum, p));
! ml_replace(first.lnum, p, TRUE);
}
! if (first.lnum < last.lnum)
{
int i;
/* delete signs from the lines being deleted */
! for (i = first.lnum; i <= last.lnum; i++)
{
int id = buf_findsign_id(buf->bufp, (linenr_T)i);
if (id > 0)
--- 1470,1544 ----
}
last = *pos;
nbdebug((" LAST POS: line %d, col %d\n", last.lnum, last.col));
! del_from_lnum = first.lnum;
! del_to_lnum = last.lnum;
doupdate = 1;
! /* Get the position of the first byte after the deleted
! * section. "next" is NULL when deleting to the end of the
! * file. */
! next = off2pos(buf->bufp, off + count);
!
! /* Remove part of the first line. */
! if (first.col != 0 || (next != NULL && first.lnum == next->lnum))
{
! if (first.lnum != last.lnum
! || (next != NULL && first.lnum != next->lnum))
! {
! /* remove to the end of the first line */
! nb_partialremove(first.lnum, first.col,
! (colnr_T)MAXCOL);
! if (first.lnum == last.lnum)
! {
! /* Partial line to remove includes the end of
! * line. Join the line with the next one, have
! * the next line deleted below. */
! nb_joinlines(first.lnum, next->lnum);
! del_to_lnum = next->lnum;
! }
! }
! else
! {
! /* remove within one line */
! nb_partialremove(first.lnum, first.col, last.col);
! }
! ++del_from_lnum; /* don't delete the first line */
! }
!
! /* Remove part of the last line. */
! if (first.lnum != last.lnum && next != NULL
! && next->col != 0 && last.lnum == next->lnum)
! {
! nb_partialremove(last.lnum, 0, last.col);
! if (del_from_lnum > first.lnum)
! {
! /* Join end of last line to start of first line; last
! * line is deleted below. */
! nb_joinlines(first.lnum, last.lnum);
! }
! else
! /* First line is deleted as a whole, keep the last
! * line. */
! --del_to_lnum;
}
! /* First is partial line; last line to remove includes
! * the end of line; join first line to line following last
! * line; line following last line is deleted below. */
! if (first.lnum != last.lnum && del_from_lnum > first.lnum
! && next != NULL && last.lnum != next->lnum)
! {
! nb_joinlines(first.lnum, next->lnum);
! del_to_lnum = next->lnum;
! }
!
! /* Delete whole lines if there are any. */
! if (del_to_lnum >= del_from_lnum)
{
int i;
/* delete signs from the lines being deleted */
! for (i = del_from_lnum; i <= del_to_lnum; i++)
{
int id = buf_findsign_id(buf->bufp, (linenr_T)i);
if (id > 0)
***************
*** 1450,1459 ****
nbdebug((" No sign on line %d\n", i));
}
! /* delete whole lines */
! nbdebug((" Deleting lines %d through %d\n", first.lnum, last.lnum));
! del_lines(last.lnum - first.lnum + 1, FALSE);
}
buf->bufp->b_changed = wasChanged; /* logically unchanged */
netbeansFireChanges = oldFire;
netbeansSuppressNoLines = oldSuppress;
--- 1550,1564 ----
nbdebug((" No sign on line %d\n", i));
}
! nbdebug((" Deleting lines %d through %d\n", del_from_lnum, del_to_lnum));
! curwin->w_cursor.lnum = del_from_lnum;
! curwin->w_cursor.col = 0;
! del_lines(del_to_lnum - del_from_lnum + 1, FALSE);
}
+
+ /* Leave cursor at first deleted byte. */
+ curwin->w_cursor = first;
+ check_cursor_lnum();
buf->bufp->b_changed = wasChanged; /* logically unchanged */
netbeansFireChanges = oldFire;
netbeansSuppressNoLines = oldSuppress;
***************
*** 2374,2381 ****
* the current buffer as "buf".
*/
static void
! nb_set_curbuf(buf)
! buf_T *buf;
{
if (curbuf != buf && buf_jump_open_win(buf) == NULL)
set_curbuf(buf, DOBUF_GOTO);
--- 2479,2485 ----
* the current buffer as "buf".
*/
static void
! nb_set_curbuf(buf_T *buf)
{
if (curbuf != buf && buf_jump_open_win(buf) == NULL)
set_curbuf(buf, DOBUF_GOTO);
*** ../vim-7.1.206/src/version.c Sat Jan 5 13:58:48 2008
--- src/version.c Sat Jan 5 18:06:04 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 207,
/**/
--
Q: How many hardware engineers does it take to change a lightbulb?
A: None. We'll fix it in software.
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.208 ---
To: vim-dev at vim.org
Subject: Patch 7.1.208
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.208
Problem: On Alpha get an unaligned access error.
Solution: Store the dictitem pointer before using it. (Matthew Luckie)
Files: src/eval.c
*** ../vim-7.1.207/src/eval.c Sat Jan 5 13:34:01 2008
--- src/eval.c Sat Jan 5 13:22:52 2008
***************
*** 3407,3412 ****
--- 3407,3413 ----
hashtab_T *ht;
hashitem_T *hi;
char_u *varname;
+ dictitem_T *di;
ht = find_var_ht(name, &varname);
if (ht != NULL && *varname != NUL)
***************
*** 3414,3422 ****
hi = hash_find(ht, varname);
if (!HASHITEM_EMPTY(hi))
{
! if (var_check_fixed(HI2DI(hi)->di_flags, name))
! return FAIL;
! if (var_check_ro(HI2DI(hi)->di_flags, name))
return FAIL;
delete_var(ht, hi);
return OK;
--- 3415,3423 ----
hi = hash_find(ht, varname);
if (!HASHITEM_EMPTY(hi))
{
! di = HI2DI(hi);
! if (var_check_fixed(di->di_flags, name)
! || var_check_ro(di->di_flags, name))
return FAIL;
delete_var(ht, hi);
return OK;
*** ../vim-7.1.207/src/version.c Sat Jan 5 18:06:33 2008
--- src/version.c Sat Jan 5 22:14:17 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 208,
/**/
--
ARTHUR: Bloody peasant!
DENNIS: Oh, what a give away. Did you here that, did you here that, eh?
That's what I'm on about -- did you see him repressing me, you saw it
didn't you?
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.209 ---
To: vim-dev at vim.org
Subject: Patch 7.1.209
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.209
Problem: GTK: When using the netrw plugin and doing ":gui" Vim hangs.
Solution: Stop getting a selection after three seconds. This is a hack.
Files: src/gui_gtk_x11.c
*** ../vim-7.1.208/src/gui_gtk_x11.c Fri Oct 19 14:32:50 2007
--- src/gui_gtk_x11.c Sun Jan 6 15:15:52 2008
***************
*** 6660,6665 ****
--- 6660,6666 ----
unsigned i;
int nbytes;
char_u *buffer;
+ time_t start;
for (i = 0; i < N_SELECTION_TARGETS; ++i)
{
***************
*** 6670,6676 ****
cbd->gtk_sel_atom, target,
(guint32)GDK_CURRENT_TIME);
! while (received_selection == RS_NONE)
gtk_main(); /* wait for selection_received_cb */
if (received_selection != RS_FAIL)
--- 6671,6681 ----
cbd->gtk_sel_atom, target,
(guint32)GDK_CURRENT_TIME);
! /* Hack: Wait up to three seconds for the selection. A hang was
! * noticed here when using the netrw plugin combined with ":gui"
! * during the FocusGained event. */
! start = time(NULL);
! while (received_selection == RS_NONE && time(NULL) < start + 3)
gtk_main(); /* wait for selection_received_cb */
if (received_selection != RS_FAIL)
*** ../vim-7.1.208/src/version.c Sat Jan 5 22:15:21 2008
--- src/version.c Sun Jan 6 15:14:48 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 209,
/**/
--
BLACK KNIGHT: I move for no man.
ARTHUR: So be it!
[hah] [parry thrust]
[ARTHUR chops the BLACK KNIGHT's left arm off]
ARTHUR: Now stand aside, worthy adversary.
BLACK KNIGHT: 'Tis but a scratch.
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.210 ---
To: vim-dev at vim.org
Subject: Patch 7.1.210
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.210
Problem: Listing mapping for 0xdb fails when 'encoding' is utf-8. (Tony
Mechelynck)
Solution: Recognize K_SPECIAL KS_EXTRA KE_CSI as a CSI byte.
Files: src/mbyte.c
*** ../vim-7.1.209/src/mbyte.c Fri Jan 4 17:46:46 2008
--- src/mbyte.c Sun Jan 6 17:13:51 2008
***************
*** 2863,2877 ****
buf[m++] = K_SPECIAL;
n += 2;
}
# ifdef FEAT_GUI
! else if (str[n] == CSI
&& str[n + 1] == KS_EXTRA
&& str[n + 2] == (int)KE_CSI)
{
buf[m++] = CSI;
n += 2;
}
- # endif
else if (str[n] == K_SPECIAL
# ifdef FEAT_GUI
|| str[n] == CSI
--- 2882,2898 ----
buf[m++] = K_SPECIAL;
n += 2;
}
+ else if ((str[n] == K_SPECIAL
# ifdef FEAT_GUI
! || str[n] == CSI
! # endif
! )
&& str[n + 1] == KS_EXTRA
&& str[n + 2] == (int)KE_CSI)
{
buf[m++] = CSI;
n += 2;
}
else if (str[n] == K_SPECIAL
# ifdef FEAT_GUI
|| str[n] == CSI
*** ../vim-7.1.209/src/version.c Sun Jan 6 15:16:12 2008
--- src/version.c Sun Jan 6 17:17:25 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 210,
/**/
--
ARTHUR: A scratch? Your arm's off!
BLACK KNIGHT: No, it isn't.
ARTHUR: Well, what's that then?
BLACK KNIGHT: I've had worse.
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--- NEW FILE 7.1.211 ---
To: vim-dev at vim.org
Subject: Patch 7.1.211
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.211
Problem: The matchparen plugin may take an unexpected amount of time, so
that it looks like Vim hangs.
Solution: Add a timeout to searchpair(), searchpairpos(), search() and
searchpos(). Use half a second timeout in the plugin.
Files: runtime/doc/eval.txt, runtime/plugin/matchparen.vim, src/edit.c,
src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/normal.c,
src/proto/eval.pro, src/proto/ex_cmds2.pro, src/proto/search.pro,
src/search.c
*** ../vim-7.1.210/runtime/doc/eval.txt Sat Jan 5 13:34:01 2008
--- runtime/doc/eval.txt Sun Jan 6 16:27:33 2008
***************
*** 1,4 ****
! *eval.txt* For Vim version 7.1. Last change: 2008 Jan 04
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *eval.txt* For Vim version 7.1. Last change: 2008 Jan 06
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 1733,1746 ****
repeat( {expr}, {count}) String repeat {expr} {count} times
resolve( {filename}) String get filename a shortcut points to
reverse( {list}) List reverse {list} in-place
! search( {pattern} [, {flags}]) Number search for {pattern}
searchdecl({name} [, {global} [, {thisblock}]])
Number search for variable declaration
! searchpair( {start}, {middle}, {end} [, {flags} [, {skip} [, {stopline}]]])
Number search for other end of start/end pair
! searchpairpos( {start}, {middle}, {end} [, {flags} [, {skip} [, {stopline}]]])
List search for other end of start/end pair
! searchpos( {pattern} [, {flags} [, {stopline}]])
List search for {pattern}
server2client( {clientid}, {string})
Number send reply string
--- 1733,1747 ----
repeat( {expr}, {count}) String repeat {expr} {count} times
resolve( {filename}) String get filename a shortcut points to
reverse( {list}) List reverse {list} in-place
! search( {pattern} [, {flags} [, {stopline} [, {timeout}]]])
! Number search for {pattern}
searchdecl({name} [, {global} [, {thisblock}]])
Number search for variable declaration
! searchpair( {start}, {middle}, {end} [, {flags} [, {skip} [...]]])
Number search for other end of start/end pair
! searchpairpos( {start}, {middle}, {end} [, {flags} [, {skip} [...]]])
List search for other end of start/end pair
! searchpos( {pattern} [, {flags} [, {stopline} [, {timeout}]]])
List search for {pattern}
server2client( {clientid}, {string})
Number send reply string
***************
*** 4212,4218 ****
If you want a list to remain unmodified make a copy first: >
:let revlist = reverse(copy(mylist))
! search({pattern} [, {flags} [, {stopline}]]) *search()*
Search for regexp pattern {pattern}. The search starts at the
cursor position (you can use |cursor()| to set it).
--- 4216,4222 ----
If you want a list to remain unmodified make a copy first: >
:let revlist = reverse(copy(mylist))
! search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()*
Search for regexp pattern {pattern}. The search starts at the
cursor position (you can use |cursor()| to set it).
***************
*** 4240,4245 ****
--- 4244,4257 ----
let end = search('END', '', line("w$"))
< When {stopline} is used and it is not zero this also implies
that the search does not wrap around the end of the file.
+ A zero value is equal to not giving the argument.
+
+ When the {timeout} argument is given the search stops when
+ more than this many milli seconds have passed. Thus when
+ {timeout} is 500 the search stops after half a second.
+ The value must not be negative. A zero value is like not
+ giving the argument.
+ {only available when compiled with the +reltime feature}
If there is no match a 0 is returned and the cursor doesn't
move. No error message is given.
***************
*** 4302,4308 ****
endif
<
*searchpair()*
! searchpair({start}, {middle}, {end} [, {flags} [, {skip} [, {stopline}]]])
Search for the match of a nested start-end pair. This can be
used to find the "endif" that matches an "if", while other
if/endif pairs in between are ignored.
--- 4314,4321 ----
endif
<
*searchpair()*
! searchpair({start}, {middle}, {end} [, {flags} [, {skip}
! [, {stopline} [, {timeout}]]]])
Search for the match of a nested start-end pair. This can be
used to find the "endif" that matches an "if", while other
if/endif pairs in between are ignored.
***************
*** 4337,4343 ****
When evaluating {skip} causes an error the search is aborted
and -1 returned.
! For {stopline} see |search()|.
The value of 'ignorecase' is used. 'magic' is ignored, the
patterns are used like it's on.
--- 4350,4356 ----
When evaluating {skip} causes an error the search is aborted
and -1 returned.
! For {stopline} and {timeout} see |search()|.
The value of 'ignorecase' is used. 'magic' is ignored, the
patterns are used like it's on.
***************
*** 4383,4389 ****
\ 'synIDattr(synID(line("."), col("."), 0), "name") =~? "string"')
<
*searchpairpos()*
! searchpairpos({start}, {middle}, {end} [, {flags} [, {skip} [, {stopline}]]])
Same as searchpair(), but returns a |List| with the line and
column position of the match. The first element of the |List|
is the line number and the second element is the byte index of
--- 4396,4403 ----
\ 'synIDattr(synID(line("."), col("."), 0), "name") =~? "string"')
<
*searchpairpos()*
! searchpairpos({start}, {middle}, {end} [, {flags} [, {skip}
! [, {stopline} [, {timeout}]]]])
Same as searchpair(), but returns a |List| with the line and
column position of the match. The first element of the |List|
is the line number and the second element is the byte index of
***************
*** 4394,4400 ****
<
See |match-parens| for a bigger and more useful example.
! searchpos({pattern} [, {flags} [, {stopline}]]) *searchpos()*
Same as |search()|, but returns a |List| with the line and
column position of the match. The first element of the |List|
is the line number and the second element is the byte index of
--- 4408,4414 ----
<
See |match-parens| for a bigger and more useful example.
! searchpos({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *searchpos()*
Same as |search()|, but returns a |List| with the line and
column position of the match. The first element of the |List|
is the line number and the second element is the byte index of
*** ../vim-7.1.210/runtime/plugin/matchparen.vim Sat Aug 18 18:20:57 2007
--- runtime/plugin/matchparen.vim Sun Jan 6 16:22:39 2008
***************
*** 1,6 ****
" Vim plugin for showing matching parens
" Maintainer: Bram Moolenaar <Bram at vim.org>
! " Last Change: 2007 Aug 8
" Exit quickly when:
" - this plugin was already loaded (or disabled)
--- 1,6 ----
" Vim plugin for showing matching parens
" Maintainer: Bram Moolenaar <Bram at vim.org>
! " Last Change: 2008 Jan 06
" Exit quickly when:
" - this plugin was already loaded (or disabled)
***************
*** 111,117 ****
\ '=~? "string\\|character\\|singlequote\\|comment"'
execute 'if' s_skip '| let s_skip = 0 | endif'
! let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip, stopline)
if before > 0
call winrestview(save_cursor)
--- 111,122 ----
\ '=~? "string\\|character\\|singlequote\\|comment"'
execute 'if' s_skip '| let s_skip = 0 | endif'
! try
! " Limit the search time to 500 msec to avoid a hang on very long lines.
! let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip, stopline, 500)
! catch /E118/
! let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip, stopline)
! endtry
if before > 0
call winrestview(save_cursor)
*** ../vim-7.1.210/src/edit.c Wed Jan 2 22:08:43 2008
--- src/edit.c Sun Jan 6 16:08:00 2008
***************
*** 4062,4068 ****
found_new_match = searchit(NULL, ins_buf, pos,
compl_direction,
compl_pattern, 1L, SEARCH_KEEP + SEARCH_NFMSG,
! RE_LAST, (linenr_T)0);
--msg_silent;
if (!compl_started)
{
--- 4062,4068 ----
found_new_match = searchit(NULL, ins_buf, pos,
compl_direction,
compl_pattern, 1L, SEARCH_KEEP + SEARCH_NFMSG,
! RE_LAST, (linenr_T)0, NULL);
--msg_silent;
if (!compl_started)
{
*** ../vim-7.1.210/src/eval.c Sat Jan 5 22:15:21 2008
--- src/eval.c Sun Jan 6 16:37:42 2008
***************
*** 7213,7223 ****
{"repeat", 2, 2, f_repeat},
{"resolve", 1, 1, f_resolve},
{"reverse", 1, 1, f_reverse},
! {"search", 1, 3, f_search},
{"searchdecl", 1, 3, f_searchdecl},
! {"searchpair", 3, 6, f_searchpair},
! {"searchpairpos", 3, 6, f_searchpairpos},
! {"searchpos", 1, 3, f_searchpos},
{"server2client", 2, 2, f_server2client},
{"serverlist", 0, 0, f_serverlist},
{"setbufvar", 3, 3, f_setbufvar},
--- 7213,7223 ----
{"repeat", 2, 2, f_repeat},
{"resolve", 1, 1, f_resolve},
{"reverse", 1, 1, f_reverse},
! {"search", 1, 4, f_search},
{"searchdecl", 1, 3, f_searchdecl},
! {"searchpair", 3, 7, f_searchpair},
! {"searchpairpos", 3, 7, f_searchpairpos},
! {"searchpos", 1, 4, f_searchpos},
{"server2client", 2, 2, f_server2client},
{"serverlist", 0, 0, f_serverlist},
{"setbufvar", 3, 3, f_setbufvar},
***************
*** 14020,14025 ****
--- 14020,14029 ----
int dir;
int retval = 0; /* default: FAIL */
long lnum_stop = 0;
+ proftime_T tm;
+ #ifdef FEAT_RELTIME
+ long time_limit = 0;
+ #endif
int options = SEARCH_KEEP;
int subpatnum;
***************
*** 14033,14047 ****
if (flags & SP_END)
options |= SEARCH_END;
! /* Optional extra argument: line number to stop searching. */
! if (argvars[1].v_type != VAR_UNKNOWN
! && argvars[2].v_type != VAR_UNKNOWN)
{
lnum_stop = get_tv_number_chk(&argvars[2], NULL);
if (lnum_stop < 0)
goto theend;
}
/*
* This function does not accept SP_REPEAT and SP_RETCOUNT flags.
* Check to make sure only those flags are set.
--- 14037,14063 ----
if (flags & SP_END)
options |= SEARCH_END;
! /* Optional arguments: line number to stop searching and timeout. */
! if (argvars[1].v_type != VAR_UNKNOWN && argvars[2].v_type != VAR_UNKNOWN)
{
lnum_stop = get_tv_number_chk(&argvars[2], NULL);
if (lnum_stop < 0)
goto theend;
+ #ifdef FEAT_RELTIME
+ if (argvars[3].v_type != VAR_UNKNOWN)
+ {
+ time_limit = get_tv_number_chk(&argvars[3], NULL);
+ if (time_limit < 0)
+ goto theend;
+ }
+ #endif
}
+ #ifdef FEAT_RELTIME
+ /* Set the time limit, if there is one. */
+ profile_setlimit(time_limit, &tm);
+ #endif
+
/*
* This function does not accept SP_REPEAT and SP_RETCOUNT flags.
* Check to make sure only those flags are set.
***************
*** 14057,14063 ****
pos = save_cursor = curwin->w_cursor;
subpatnum = searchit(curwin, curbuf, &pos, dir, pat, 1L,
! options, RE_SEARCH, (linenr_T)lnum_stop);
if (subpatnum != FAIL)
{
if (flags & SP_SUBPAT)
--- 14073,14079 ----
pos = save_cursor = curwin->w_cursor;
subpatnum = searchit(curwin, curbuf, &pos, dir, pat, 1L,
! options, RE_SEARCH, (linenr_T)lnum_stop, &tm);
if (subpatnum != FAIL)
{
if (flags & SP_SUBPAT)
***************
*** 14147,14152 ****
--- 14163,14169 ----
char_u nbuf3[NUMBUFLEN];
int retval = 0; /* default: FAIL */
long lnum_stop = 0;
+ long time_limit = 0;
/* Get the three pattern arguments: start, middle, end. */
spat = get_tv_string_chk(&argvars[0]);
***************
*** 14182,14194 ****
lnum_stop = get_tv_number_chk(&argvars[5], NULL);
if (lnum_stop < 0)
goto theend;
}
}
if (skip == NULL)
goto theend; /* type error */
retval = do_searchpair(spat, mpat, epat, dir, skip, flags,
! match_pos, lnum_stop);
theend:
p_ws = save_p_ws;
--- 14199,14219 ----
lnum_stop = get_tv_number_chk(&argvars[5], NULL);
if (lnum_stop < 0)
goto theend;
+ #ifdef FEAT_RELTIME
+ if (argvars[6].v_type != VAR_UNKNOWN)
+ {
+ time_limit = get_tv_number_chk(&argvars[6], NULL);
+ if (time_limit < 0)
+ goto theend;
+ }
+ #endif
}
}
if (skip == NULL)
goto theend; /* type error */
retval = do_searchpair(spat, mpat, epat, dir, skip, flags,
! match_pos, lnum_stop, time_limit);
theend:
p_ws = save_p_ws;
***************
*** 14240,14246 ****
* Returns 0 or -1 for no match,
*/
long
! do_searchpair(spat, mpat, epat, dir, skip, flags, match_pos, lnum_stop)
char_u *spat; /* start pattern */
char_u *mpat; /* middle pattern */
char_u *epat; /* end pattern */
--- 14265,14272 ----
* Returns 0 or -1 for no match,
*/
long
! do_searchpair(spat, mpat, epat, dir, skip, flags, match_pos,
! lnum_stop, time_limit)
char_u *spat; /* start pattern */
char_u *mpat; /* middle pattern */
char_u *epat; /* end pattern */
***************
*** 14249,14254 ****
--- 14275,14281 ----
int flags; /* SP_SETPCMARK and other SP_ values */
pos_T *match_pos;
linenr_T lnum_stop; /* stop at this line if not zero */
+ long time_limit; /* stop after this many msec */
{
char_u *save_cpo;
char_u *pat, *pat2 = NULL, *pat3 = NULL;
***************
*** 14263,14273 ****
--- 14290,14306 ----
int nest = 1;
int err;
int options = SEARCH_KEEP;
+ proftime_T tm;
/* Make 'cpoptions' empty, the 'l' flag should not be used here. */
save_cpo = p_cpo;
p_cpo = (char_u *)"";
+ #ifdef FEAT_RELTIME
+ /* Set the time limit, if there is one. */
+ profile_setlimit(time_limit, &tm);
+ #endif
+
/* Make two search patterns: start/end (pat2, for in nested pairs) and
* start/middle/end (pat3, for the top pair). */
pat2 = alloc((unsigned)(STRLEN(spat) + STRLEN(epat) + 15));
***************
*** 14291,14297 ****
for (;;)
{
n = searchit(curwin, curbuf, &pos, dir, pat, 1L,
! options, RE_SEARCH, lnum_stop);
if (n == FAIL || (firstpos.lnum != 0 && equalpos(pos, firstpos)))
/* didn't find it or found the first match again: FAIL */
break;
--- 14324,14330 ----
for (;;)
{
n = searchit(curwin, curbuf, &pos, dir, pat, 1L,
! options, RE_SEARCH, lnum_stop, &tm);
if (n == FAIL || (firstpos.lnum != 0 && equalpos(pos, firstpos)))
/* didn't find it or found the first match again: FAIL */
break;
*** ../vim-7.1.210/src/ex_cmds2.c Fri Jan 4 16:00:10 2008
--- src/ex_cmds2.c Sun Jan 6 18:22:28 2008
***************
*** 895,913 ****
sprintf(buf, "%10.6lf", (double)tm->QuadPart / (double)fr.QuadPart);
# else
sprintf(buf, "%3ld.%06ld", (long)tm->tv_sec, (long)tm->tv_usec);
! #endif
return buf;
}
! # endif /* FEAT_PROFILE || FEAT_RELTIME */
- # if defined(FEAT_PROFILE) || defined(PROTO)
/*
! * Functions for profiling.
*/
! static void script_do_profile __ARGS((scriptitem_T *si));
! static void script_dump_profile __ARGS((FILE *fd));
! static proftime_T prof_wait_time;
/*
* Set the time in "tm" to zero.
--- 895,955 ----
sprintf(buf, "%10.6lf", (double)tm->QuadPart / (double)fr.QuadPart);
# else
sprintf(buf, "%3ld.%06ld", (long)tm->tv_sec, (long)tm->tv_usec);
! # endif
return buf;
}
! /*
! * Put the time "msec" past now in "tm".
! */
! void
! profile_setlimit(msec, tm)
! long msec;
! proftime_T *tm;
! {
! if (msec <= 0) /* no limit */
! profile_zero(tm);
! else
! {
! # ifdef WIN3264
! LARGE_INTEGER fr;
!
! QueryPerformanceCounter(tm);
! QueryPerformanceFrequency(&fr);
! tm->QuadPart += (double)msec / 1000.0 * (double)fr.QuadPart;
! # else
! long usec;
!
! gettimeofday(tm, NULL);
! usec = (long)tm->tv_usec + (long)msec * 1000;
! tm->tv_usec = usec % 1000000L;
! tm->tv_sec += usec / 1000000L;
! # endif
! }
! }
/*
! * Return TRUE if the current time is past "tm".
*/
! int
! profile_passed_limit(tm)
! proftime_T *tm;
! {
! proftime_T now;
!
! # ifdef WIN3264
! if (tm->QuadPart == 0) /* timer was not set */
! return FALSE;
! QueryPerformanceCounter(&now);
! return (now.QuadPart > tm->QuadPart);
! # else
! if (tm->tv_sec == 0) /* timer was not set */
! return FALSE;
! gettimeofday(&now, NULL);
! return (now.tv_sec > tm->tv_sec
! || (now.tv_sec == tm->tv_sec && now.tv_usec > tm->tv_usec));
! # endif
! }
/*
* Set the time in "tm" to zero.
***************
*** 923,928 ****
--- 965,980 ----
tm->tv_sec = 0;
# endif
}
+
+ # endif /* FEAT_PROFILE || FEAT_RELTIME */
+
+ # if defined(FEAT_PROFILE) || defined(PROTO)
+ /*
+ * Functions for profiling.
+ */
+ static void script_do_profile __ARGS((scriptitem_T *si));
+ static void script_dump_profile __ARGS((FILE *fd));
+ static proftime_T prof_wait_time;
/*
* Add the time "tm2" to "tm".
*** ../vim-7.1.210/src/ex_docmd.c Fri Jan 4 16:00:10 2008
--- src/ex_docmd.c Sun Jan 6 16:08:29 2008
***************
*** 3979,3985 ****
*cmd == '?' ? BACKWARD : FORWARD,
(char_u *)"", 1L,
SEARCH_MSG + SEARCH_START,
! i, (linenr_T)0) != FAIL)
lnum = pos.lnum;
else
{
--- 3980,3986 ----
*cmd == '?' ? BACKWARD : FORWARD,
(char_u *)"", 1L,
SEARCH_MSG + SEARCH_START,
! i, (linenr_T)0, NULL) != FAIL)
lnum = pos.lnum;
else
{
*** ../vim-7.1.210/src/normal.c Sat Jan 5 13:34:01 2008
--- src/normal.c Sun Jan 6 16:08:54 2008
***************
*** 4194,4200 ****
for (;;)
{
t = searchit(curwin, curbuf, &curwin->w_cursor, FORWARD,
! pat, 1L, searchflags, RE_LAST, (linenr_T)0);
if (curwin->w_cursor.lnum >= old_pos.lnum)
t = FAIL; /* match after start is failure too */
--- 4194,4200 ----
for (;;)
{
t = searchit(curwin, curbuf, &curwin->w_cursor, FORWARD,
! pat, 1L, searchflags, RE_LAST, (linenr_T)0, NULL);
if (curwin->w_cursor.lnum >= old_pos.lnum)
t = FAIL; /* match after start is failure too */
*** ../vim-7.1.210/src/proto/eval.pro Sun May 6 15:18:09 2007
--- src/proto/eval.pro Sun Jan 6 15:55:47 2008
***************
*** 54,60 ****
long get_dict_number __ARGS((dict_T *d, char_u *key));
char_u *get_function_name __ARGS((expand_T *xp, int idx));
char_u *get_expr_name __ARGS((expand_T *xp, int idx));
! long do_searchpair __ARGS((char_u *spat, char_u *mpat, char_u *epat, int dir, char_u *skip, int flags, pos_T *match_pos, linenr_T lnum_stop));
void set_vim_var_nr __ARGS((int idx, long val));
long get_vim_var_nr __ARGS((int idx));
char_u *get_vim_var_str __ARGS((int idx));
--- 54,60 ----
long get_dict_number __ARGS((dict_T *d, char_u *key));
char_u *get_function_name __ARGS((expand_T *xp, int idx));
char_u *get_expr_name __ARGS((expand_T *xp, int idx));
! long do_searchpair __ARGS((char_u *spat, char_u *mpat, char_u *epat, int dir, char_u *skip, int flags, pos_T *match_pos, linenr_T lnum_stop, long time_limit));
void set_vim_var_nr __ARGS((int idx, long val));
long get_vim_var_nr __ARGS((int idx));
char_u *get_vim_var_str __ARGS((int idx));
*** ../vim-7.1.210/src/proto/ex_cmds2.pro Sat May 5 20:21:13 2007
--- src/proto/ex_cmds2.pro Sun Jan 6 16:42:24 2008
***************
*** 14,19 ****
--- 14,21 ----
void profile_end __ARGS((proftime_T *tm));
void profile_sub __ARGS((proftime_T *tm, proftime_T *tm2));
char *profile_msg __ARGS((proftime_T *tm));
+ void profile_setlimit __ARGS((long msec, proftime_T *tm));
+ int profile_passed_limit __ARGS((proftime_T *tm));
void profile_zero __ARGS((proftime_T *tm));
void profile_add __ARGS((proftime_T *tm, proftime_T *tm2));
void profile_self __ARGS((proftime_T *self, proftime_T *total, proftime_T *children));
*** ../vim-7.1.210/src/proto/search.pro Wed Aug 8 22:48:16 2007
--- src/proto/search.pro Sun Jan 6 16:11:53 2008
***************
*** 10,16 ****
void reset_search_dir __ARGS((void));
void set_last_search_pat __ARGS((char_u *s, int idx, int magic, int setlast));
void last_pat_prog __ARGS((regmmatch_T *regmatch));
! int searchit __ARGS((win_T *win, buf_T *buf, pos_T *pos, int dir, char_u *pat, long count, int options, int pat_use, linenr_T stop_lnum));
int do_search __ARGS((oparg_T *oap, int dirc, char_u *pat, long count, int options));
int search_for_exact_line __ARGS((buf_T *buf, pos_T *pos, int dir, char_u *pat));
int searchc __ARGS((cmdarg_T *cap, int t_cmd));
--- 10,16 ----
void reset_search_dir __ARGS((void));
void set_last_search_pat __ARGS((char_u *s, int idx, int magic, int setlast));
void last_pat_prog __ARGS((regmmatch_T *regmatch));
! int searchit __ARGS((win_T *win, buf_T *buf, pos_T *pos, int dir, char_u *pat, long count, int options, int pat_use, linenr_T stop_lnum, proftime_T *tm));
int do_search __ARGS((oparg_T *oap, int dirc, char_u *pat, long count, int options));
int search_for_exact_line __ARGS((buf_T *buf, pos_T *pos, int dir, char_u *pat));
int searchc __ARGS((cmdarg_T *cap, int t_cmd));
*** ../vim-7.1.210/src/search.c Tue Jan 1 15:42:45 2008
--- src/search.c Sun Jan 6 18:23:37 2008
***************
*** 494,501 ****
* When FEAT_EVAL is defined, returns the index of the first matching
* subpattern plus one; one if there was none.
*/
int
! searchit(win, buf, pos, dir, pat, count, options, pat_use, stop_lnum)
win_T *win; /* window to search in; can be NULL for a
buffer without a window! */
buf_T *buf;
--- 494,502 ----
* When FEAT_EVAL is defined, returns the index of the first matching
* subpattern plus one; one if there was none.
*/
+ /*ARGSUSED*/
int
! searchit(win, buf, pos, dir, pat, count, options, pat_use, stop_lnum, tm)
win_T *win; /* window to search in; can be NULL for a
buffer without a window! */
buf_T *buf;
***************
*** 506,511 ****
--- 507,513 ----
int options;
int pat_use; /* which pattern to use when "pat" is empty */
linenr_T stop_lnum; /* stop after this line number when != 0 */
+ proftime_T *tm; /* timeout limit or NULL */
{
int found;
linenr_T lnum; /* no init to shut up Apollo cc */
***************
*** 594,599 ****
--- 596,606 ----
if (stop_lnum != 0 && (dir == FORWARD
? lnum > stop_lnum : lnum < stop_lnum))
break;
+ #ifdef FEAT_RELTIME
+ /* Stop after passing the "tm" time limit. */
+ if (tm != NULL && profile_passed_limit(tm))
+ break;
+ #endif
/*
* Look for a match somewhere in line "lnum".
***************
*** 1249,1255 ****
(SEARCH_KEEP + SEARCH_PEEK + SEARCH_HIS
+ SEARCH_MSG + SEARCH_START
+ ((pat != NULL && *pat == ';') ? 0 : SEARCH_NOOF))),
! RE_LAST, (linenr_T)0);
if (dircp != NULL)
*dircp = dirc; /* restore second '/' or '?' for normal_cmd() */
--- 1256,1262 ----
(SEARCH_KEEP + SEARCH_PEEK + SEARCH_HIS
+ SEARCH_MSG + SEARCH_START
+ ((pat != NULL && *pat == ';') ? 0 : SEARCH_NOOF))),
! RE_LAST, (linenr_T)0, NULL);
if (dircp != NULL)
*dircp = dirc; /* restore second '/' or '?' for normal_cmd() */
***************
*** 3780,3786 ****
if (do_searchpair((char_u *)"<[^ \t>/!]\\+\\%(\\_s\\_[^>]\\{-}[^/]>\\|$\\|\\_s\\=>\\)",
(char_u *)"",
(char_u *)"</[^>]*>", BACKWARD, (char_u *)"", 0,
! NULL, (linenr_T)0) <= 0)
{
curwin->w_cursor = old_pos;
goto theend;
--- 3787,3793 ----
if (do_searchpair((char_u *)"<[^ \t>/!]\\+\\%(\\_s\\_[^>]\\{-}[^/]>\\|$\\|\\_s\\=>\\)",
(char_u *)"",
(char_u *)"</[^>]*>", BACKWARD, (char_u *)"", 0,
! NULL, (linenr_T)0, 0L) <= 0)
{
curwin->w_cursor = old_pos;
goto theend;
***************
*** 3814,3820 ****
sprintf((char *)epat, "</%.*s>\\c", len, p);
r = do_searchpair(spat, (char_u *)"", epat, FORWARD, (char_u *)"",
! 0, NULL, (linenr_T)0);
vim_free(spat);
vim_free(epat);
--- 3821,3827 ----
sprintf((char *)epat, "</%.*s>\\c", len, p);
r = do_searchpair(spat, (char_u *)"", epat, FORWARD, (char_u *)"",
! 0, NULL, (linenr_T)0, 0L);
vim_free(spat);
vim_free(epat);
*** ../vim-7.1.210/src/version.c Sun Jan 6 17:18:16 2008
--- src/version.c Sun Jan 6 20:00:03 2008
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 211,
/**/
--
No letters of the alphabet were harmed in the creation of this message.
/// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
Index: README.patches
===================================================================
RCS file: /cvs/extras/rpms/vim/F-8/README.patches,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -r1.87 -r1.88
--- README.patches 4 Oct 2007 12:28:21 -0000 1.87
+++ README.patches 10 Jan 2008 10:07:54 -0000 1.88
@@ -25,6 +25,7 @@
Collection of patches for Vim 7.1:
SIZE NAME INCLUDES
91424 7.1.001-100.gz patches 7.1.001 to 7.1.100, gzip'ed
+ 75402 7.1.101-200.gz patches 7.1.101 to 7.1.200, gzip'ed
Individual patches for Vim 7.1:
@@ -155,6 +156,7 @@
2599 7.1.124 (extra) Mac: may get empty buffer if dropping file on Vim.app
12060 7.1.125 the TermResponse autocommand event is not always triggered
13372 7.1.126 (extra) ":vimgrep */*" doesn't work if autocmd changes dir
+ 12461 7.1.126ne replacement for 7.1.126 without the (extra)
2319 7.1.127 memory leak when doing completing
2079 7.1.128 (extra) build problem with Cygwin
1740 7.1.129 (extra) Win32: Can't get long user name
@@ -164,3 +166,79 @@
1515 7.1.133 shorten_fname1() linked when it's not needed
10379 7.1.134 (extra) Win32: Can't build with VC8
3337 7.1.135 Win32: ":e c:/tmp/foo" and ":e c:/tmp//foo" create two buffers
+ 1522 7.1.136 memory leak when using Ruby syntax highlighting
+ 1553 7.1.137 build failure when using EXITFREE
+ 1836 7.1.138 Perl: Msg() doesn't stop when "q" is typed at the more prompt
+ 1557 7.1.139 fold truncated when ending Insert mode with CTRL-C
+ 1664 7.1.140 v:count can't be used in an expression mapping
+ 2806 7.1.141 GTK: can't use negative offset with -geom argument
+ 2161 7.1.142 ":redir @A>" doesn't work
+ 1723 7.1.143 uninitialized memory read when diffing three files
+ 1250 7.1.144 after ":diffup" cursor can be in the wrong position
+ 6160 7.1.145 stay in Insert completion mode depending on the char typed
+ 2838 7.1.146 VMS: writing fails for rare record organisation
+ 2079 7.1.147 (after 7.1.127) freeing memory twice completing user name
+ 2557 7.1.148 QNX and some other systems require testing for sys/types.h
+ 4823 7.1.149 completion menu messed up when using the scroll bar
+ 1759 7.1.150 Visual mode "p" doesn't work when 'clipboard' has "unnamed"
+ 2108 7.1.151 lalloc(0) error for line completion with 'ic' and 'inf' set
+ 3183 7.1.152 display problem when 'hls' and 'cursorcolumn' are set
+ 4610 7.1.153 compiler warnings on SGI
+ 1547 7.1.154 (after 7.1.152) compiler warning for signed/unsigned compare
+ 1594 7.1.155 crash when 'undolevels' is 0 and repeating "udd"
+ 4174 7.1.156 overlapping arguments for strcpy() during cmdline completion
+ 1541 7.1.157 :" in Ex mode at end of file results in an error message
+ 4629 7.1.158 (extra) Win32: with utf-8 and cp1250 Alt-y is the wrong char
+ 1646 7.1.159 overlapping arguments for a strcpy()
+ 1661 7.1.160 getting/losing focus may cause hit-enter prompt to be redrawn
+ 4347 7.1.161 compilation errors with tiny features and EXITFREE
+ 4691 7.1.162 crash when using a modifier before "while" or "for"
+ 2367 7.1.163 warning for the unknown option 'bufsecret'
+ 1576 7.1.164 reading past end of regexp pattern
+ 5538 7.1.165 crash related to getting X window ID
+ 2134 7.1.166 memory leak when using "gp" in Visual mode
+ 2528 7.1.167 xxd crashes when using "xxd -b -c 110"
+ 2989 7.1.168 (extra) Win32 GUI: when no focus click doesn't position cursor
+ 1926 7.1.169 using uninitialized memory when system() fails
+ 1722 7.1.170 overlapping arguments to strcpy()
+ 2324 7.1.171 reading one byte before allocated memory.
+ 1536 7.1.172 if 'buftype' is "acwrite" Vim still does overwrite check
+ 1928 7.1.173 accessing freed memory when using "\%^" pattern
+ 2197 7.1.174 writing NUL past end of a buffer
+ 4722 7.1.175 <BS> doesn't work with some combination of option settings
+ 2943 7.1.176 compiling with Aap fails if "compiledby" contains '<' or '>'
+ 5450 7.1.177 freeing memory twice when in debug mode while reading a script
+ 1567 7.1.178 "%" doesn't work on "/* comment *//* comment */"
+ 6581 7.1.179 configure doesn't find TCL 8.5
+ 7099 7.1.180 regexp patterns are not sufficiently tested
+ 1878 7.1.181 accessing uninitialized memory in Farsi mode with ":s"
+ 5457 7.1.182 with tab pages and an argument list session file may be wrong
+ 2489 7.1.183 Internal error for ":echo matchstr('a', 'a\%[\&]')"
+ 2132 7.1.184 crash when deleting backwards over a line break in Insert mode
+ 3744 7.1.185 "gR" and then BS doesn't work properly with multi-byte chars
+ 3294 7.1.186 "expand('<afile>')" returns a bogus value after ":cd dir"
+ 2341 7.1.187 Win32 GUI: custom completion using system() doesn't work
+ 1688 7.1.188 "W10" message could be displayed in the second column
+ 1950 7.1.189 (after 7.1.104) need to call plain_vgetc() in ask_yesno()
+ 1685 7.1.190 cursor after end-of-line: "iA sentence.<Esc>)"
+ 2007 7.1.191 Win32 GUI: when not in focus click in scrollbar doesn't work
+ 2605 7.1.192 CTRL-C doesn't stop duplicating text for "s" in Visual block
+ 2962 7.1.193 some of the Vim 5.x digraphs could be supported
+ 1650 7.1.194 Unix: ":echo glob('~/{}')" results in "/home/user//"
+ 2273 7.1.195 '0 mark doesn't work for "~/foo ~ foo"
+ 2642 7.1.196 (extra) Win32 GUI: "\n" in a tooltip doesn't cause line break
+ 2308 7.1.197 Mac: "make install" doesn't work when $prefix is set
+ 1460 7.1.198 hang when using ":s/\n//gn"
+ 3572 7.1.199 can't do command line completion for a file name extension
+ 2310 7.1.200 (after 7.1.177 and 7.1.182) compiler warnings
+ 2705 7.1.201 when reading stdin 'fenc' and 'ff' are not set
+ 2383 7.1.202 incomplete utf-8 byte sequence is not checked for validity
+ 2261 7.1.203 if 'virtualedit' is "onemore" then ":normal 99|" is not right
+ 2891 7.1.204 (extra) Win32: 'balloonexpr' tooltip disappears after 4 sec
+ 5481 7.1.205 can't get the operator in an ":omap"
+ 1690 7.1.206 compiler warnings when using MODIFIED_BY
+ 7708 7.1.207 netbeans: "remove" cannot delete one line
+ 2051 7.1.208 on Alpha get an unaligned access error
+ 2249 7.1.209 GTK GUI: when using the netrw plugin ":gui" causes a hang
+ 1923 7.1.210 listing mapping for 0xdb fails when 'encoding' is utf-8
+ 25525 7.1.211 matchparen plugin may take so long it looks like Vim hangs
Index: gvim.desktop
===================================================================
RCS file: /cvs/extras/rpms/vim/F-8/gvim.desktop,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- gvim.desktop 9 Sep 2004 14:01:30 -0000 1.4
+++ gvim.desktop 10 Jan 2008 10:07:54 -0000 1.5
@@ -59,5 +59,5 @@
Icon=gvim
Type=Application
Terminal=0
-XClassHintResName=VIM
+X-XClassHintResName=VIM
MapNotify=false
Index: vim.spec
===================================================================
RCS file: /cvs/extras/rpms/vim/F-8/vim.spec,v
retrieving revision 1.179
retrieving revision 1.180
diff -u -r1.179 -r1.180
--- vim.spec 4 Oct 2007 12:28:21 -0000 1.179
+++ vim.spec 10 Jan 2008 10:07:54 -0000 1.180
@@ -15,7 +15,7 @@
#used for pre-releases:
%define beta %{nil}
%define vimdir vim71%{?beta}
-%define patchlevel 135
+%define patchlevel 211
Summary: The VIM editor
URL: http://www.vim.org/
@@ -186,6 +186,82 @@
Patch133: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.133
Patch134: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.134
Patch135: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.135
+Patch136: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.136
+Patch137: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.137
+Patch138: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.138
+Patch139: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.139
+Patch140: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.140
+Patch141: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.141
+Patch142: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.142
+Patch143: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.143
+Patch144: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.144
+Patch145: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.145
+Patch146: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.146
+Patch147: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.147
+Patch148: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.148
+Patch149: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.149
+Patch150: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.150
+Patch151: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.151
+Patch152: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.152
+Patch153: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.153
+Patch154: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.154
+Patch155: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.155
+Patch156: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.156
+Patch157: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.157
+Patch158: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.158
+Patch159: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.159
+Patch160: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.160
+Patch161: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.161
+Patch162: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.162
+Patch163: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.163
+Patch164: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.164
+Patch165: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.165
+Patch166: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.166
+Patch167: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.167
+Patch168: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.168
+Patch169: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.169
+Patch170: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.170
+Patch171: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.171
+Patch172: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.172
+Patch173: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.173
+Patch174: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.174
+Patch175: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.175
+Patch176: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.176
+Patch177: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.177
+Patch178: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.178
+Patch179: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.179
+Patch180: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.180
+Patch181: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.181
+Patch182: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.182
+Patch183: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.183
+Patch184: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.184
+Patch185: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.185
+Patch186: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.186
+Patch187: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.187
+Patch188: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.188
+Patch189: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.189
+Patch190: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.190
+Patch191: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.191
+Patch192: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.192
+Patch193: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.193
+Patch194: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.194
+Patch195: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.195
+Patch196: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.196
+Patch197: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.197
+Patch198: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.198
+Patch199: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.199
+Patch200: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.200
+Patch201: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.201
+Patch202: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.202
+Patch203: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.203
+Patch204: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.204
+Patch205: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.205
+Patch206: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.206
+Patch207: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.207
+Patch208: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.208
+Patch209: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.209
+Patch210: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.210
+Patch211: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.211
Patch3000: vim-7.0-syntax.patch
Patch3002: vim-7.1-nowarnings.patch
@@ -265,7 +341,7 @@
%package enhanced
Summary: A version of the VIM editor which includes recent enhancements
Group: Applications/Editors
-Requires: vim-common = %{epoch}:%{version}-%{release}
+Requires: vim-common = %{epoch}:%{version}-%{release} which
Provides: vim = %{version}-%{release}
%description enhanced
@@ -453,6 +529,82 @@
%patch133 -p0
%patch134 -p0
%patch135 -p0
+%patch136 -p0
+%patch137 -p0
+%patch138 -p0
+%patch139 -p0
+%patch140 -p0
+%patch141 -p0
+%patch142 -p0
+%patch143 -p0
+%patch144 -p0
+%patch145 -p0
+%patch146 -p0
+%patch147 -p0
+%patch148 -p0
+%patch149 -p0
+%patch150 -p0
+%patch151 -p0
+%patch152 -p0
+%patch153 -p0
+%patch154 -p0
+%patch155 -p0
+%patch156 -p0
+%patch157 -p0
+%patch158 -p0
+%patch159 -p0
+%patch160 -p0
+%patch161 -p0
+%patch162 -p0
+%patch163 -p0
+%patch164 -p0
+%patch165 -p0
+%patch166 -p0
+%patch167 -p0
+%patch168 -p0
+%patch169 -p0
+%patch170 -p0
+%patch171 -p0
+%patch172 -p0
+%patch173 -p0
+%patch174 -p0
+%patch175 -p0
+%patch176 -p0
+%patch177 -p0
+%patch178 -p0
+%patch179 -p0
+%patch180 -p0
+%patch181 -p0
+%patch182 -p0
+%patch183 -p0
+%patch184 -p0
+%patch185 -p0
+%patch186 -p0
+%patch187 -p0
+%patch188 -p0
+%patch189 -p0
+%patch190 -p0
+%patch191 -p0
+%patch192 -p0
+%patch193 -p0
+%patch194 -p0
+%patch195 -p0
+%patch196 -p0
+%patch197 -p0
+%patch198 -p0
+%patch199 -p0
+%patch200 -p0
+%patch201 -p0
+%patch202 -p0
+%patch203 -p0
+%patch204 -p0
+%patch205 -p0
+%patch206 -p0
+%patch207 -p0
+%patch208 -p0
+%patch209 -p0
+%patch210 -p0
+%patch211 -p0
# install spell files
@@ -839,6 +991,19 @@
%{_datadir}/icons/hicolor/*/apps/*
%changelog
+* Thu Jan 10 2008 Karsten Hopp <karsten at redhat.com> 7.1.211-1
+- rebuild for F-8
+
+* Mon Jan 07 2008 Karsten Hopp <karsten at redhat.com> 7.1.211-1
+- patchlevel 211
+
+* Sat Dec 22 2007 Karsten Hopp <karsten at redhat.com> 7.1.175-1
+- patchlevel 175
+
+* Thu Nov 22 2007 Karsten Hopp <karsten at redhat.com> 7.1.159-1
+- patchlevel 159
+- vim-enhanced requires which for vimtutor (#395371)
+
* Thu Oct 04 2007 Karsten Hopp <karsten at redhat.com> 7.1.135-1
- patchlevel 135
- Previous message (by thread): rpms/tog-pegasus/F-7 pegasus-2.6.1-cve-2008-0003.patch, NONE, 1.1 tog-pegasus.spec, 1.48, 1.49
- Next message (by thread): rpms/vim/devel 7.1.212, NONE, 1.1 7.1.213, NONE, 1.1 7.1.214, NONE, 1.1 README.patches, 1.90, 1.91 vim.spec, 1.182, 1.183
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list