- add 97 upstream patches to get to patchlevel 245

This commit is contained in:
Karsten Hopp 2009-07-31 22:39:18 +00:00
parent 6bbb223112
commit 81c28583da
99 changed files with 40115 additions and 2 deletions

672
7.2.149 Normal file
View File

@ -0,0 +1,672 @@
To: vim-dev@vim.org
Subject: Patch 7.2.149
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.149
Problem: Using return value of function that doesn't return a value results
in reading uninitialized memory.
Solution: Set the default to return zero. Make cursor() return -1 on
failure. Let complete() return an empty string in case of an
error. (partly by Dominique Pelle)
Files: runtime/doc/eval.txt, src/eval.c
*** ../vim-7.2.148/runtime/doc/eval.txt Tue Dec 9 10:56:50 2008
--- runtime/doc/eval.txt Sun Mar 22 14:28:49 2009
***************
*** 2414,2419 ****
--- 2419,2425 ----
When 'virtualedit' is used {off} specifies the offset in
screen columns from the start of the character. E.g., a
position within a <Tab> or after the last character.
+ Returns 0 when the position could be set, -1 otherwise.
deepcopy({expr}[, {noref}]) *deepcopy()* *E698*
***************
*** 4516,4521 ****
--- 4526,4532 ----
should also work to move files across file systems. The
result is a Number, which is 0 if the file was renamed
successfully, and non-zero when the renaming failed.
+ NOTE: If {to} exists it is overwritten without warning.
This function is not available in the |sandbox|.
repeat({expr}, {count}) *repeat()*
*** ../vim-7.2.148/src/eval.c Wed Feb 4 16:25:53 2009
--- src/eval.c Sun Mar 22 20:45:18 2009
***************
*** 1285,1291 ****
--- 1285,1293 ----
typval_T tv;
char_u *retval;
garray_T ga;
+ #ifdef FEAT_FLOAT
char_u numbuf[NUMBUFLEN];
+ #endif
if (eval0(arg, &tv, nextcmd, TRUE) == FAIL)
retval = NULL;
***************
*** 8018,8024 ****
/* execute the function if no errors detected and executing */
if (evaluate && error == ERROR_NONE)
{
! rettv->v_type = VAR_NUMBER; /* default is number rettv */
error = ERROR_UNKNOWN;
if (!builtin_function(fname))
--- 8020,8027 ----
/* execute the function if no errors detected and executing */
if (evaluate && error == ERROR_NONE)
{
! rettv->v_type = VAR_NUMBER; /* default rettv is number zero */
! rettv->vval.v_number = 0;
error = ERROR_UNKNOWN;
if (!builtin_function(fname))
***************
*** 8268,8274 ****
return;
li = l->lv_first;
}
- rettv->vval.v_number = 0; /* Default: Success */
for (;;)
{
if (l == NULL)
--- 8271,8276 ----
***************
*** 8728,8734 ****
int dummy;
dict_T *selfdict = NULL;
- rettv->vval.v_number = 0;
if (argvars[1].v_type != VAR_LIST)
{
EMSG(_(e_listreq));
--- 8730,8735 ----
***************
*** 9036,9048 ****
if (buttons == NULL || *buttons == NUL)
buttons = (char_u *)_("&Ok");
! if (error)
! rettv->vval.v_number = 0;
! else
rettv->vval.v_number = do_dialog(type, NULL, message, buttons,
def, NULL);
- #else
- rettv->vval.v_number = 0;
#endif
}
--- 9037,9045 ----
if (buttons == NULL || *buttons == NUL)
buttons = (char_u *)_("&Ok");
! if (!error)
rettv->vval.v_number = do_dialog(type, NULL, message, buttons,
def, NULL);
#endif
}
***************
*** 9181,9195 ****
}
rettv->vval.v_number = cs_connection(num, dbpath, prepend);
- #else
- rettv->vval.v_number = 0;
#endif
}
/*
* "cursor(lnum, col)" function
*
! * Moves the cursor to the specified line and column
*/
/*ARGSUSED*/
static void
--- 9178,9191 ----
}
rettv->vval.v_number = cs_connection(num, dbpath, prepend);
#endif
}
/*
* "cursor(lnum, col)" function
*
! * Moves the cursor to the specified line and column.
! * Returns 0 when the position could be set, -1 otherwise.
*/
/*ARGSUSED*/
static void
***************
*** 9202,9207 ****
--- 9198,9204 ----
long coladd = 0;
#endif
+ rettv->vval.v_number = -1;
if (argvars[1].v_type == VAR_UNKNOWN)
{
pos_T pos;
***************
*** 9246,9251 ****
--- 9243,9249 ----
#endif
curwin->w_set_curswant = TRUE;
+ rettv->vval.v_number = 0;
}
/*
***************
*** 9291,9298 ****
{
#ifdef FEAT_AUTOCMD
rettv->vval.v_number = did_filetype;
- #else
- rettv->vval.v_number = 0;
#endif
}
--- 9289,9294 ----
***************
*** 9605,9611 ****
typval_T *argvars;
typval_T *rettv;
{
- rettv->vval.v_number = 0;
if (argvars[0].v_type == VAR_LIST && argvars[1].v_type == VAR_LIST)
{
list_T *l1, *l2;
--- 9601,9606 ----
***************
*** 9733,9739 ****
if (check_secure())
return;
- rettv->vval.v_number = 0;
keys = get_tv_string(&argvars[0]);
if (*keys != NUL)
{
--- 9728,9733 ----
***************
*** 9901,9907 ****
char_u *ermsg = map ? (char_u *)"map()" : (char_u *)"filter()";
int save_did_emsg;
- rettv->vval.v_number = 0;
if (argvars[0].v_type == VAR_LIST)
{
if ((l = argvars[0].vval.v_list) == NULL
--- 9895,9900 ----
***************
*** 10084,10091 ****
else
rettv->vval.v_number = (varnumber_T)f;
}
- else
- rettv->vval.v_number = 0;
}
/*
--- 10077,10082 ----
***************
*** 10219,10227 ****
lnum = get_tv_lnum(argvars);
if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count)
rettv->vval.v_number = foldLevel(lnum);
- else
#endif
- rettv->vval.v_number = 0;
}
/*
--- 10210,10216 ----
***************
*** 10337,10343 ****
typval_T *argvars;
typval_T *rettv;
{
- rettv->vval.v_number = 0;
#ifdef FEAT_GUI
if (gui.in_use)
gui_mch_set_foreground();
--- 10326,10331 ----
***************
*** 10359,10365 ****
{
char_u *s;
- rettv->vval.v_number = 0;
s = get_tv_string(&argvars[0]);
if (s == NULL || *s == NUL || VIM_ISDIGIT(*s))
EMSG2(_(e_invarg2), s);
--- 10347,10352 ----
***************
*** 10429,10437 ****
if (tv == NULL)
{
! if (argvars[2].v_type == VAR_UNKNOWN)
! rettv->vval.v_number = 0;
! else
copy_tv(&argvars[2], rettv);
}
else
--- 10416,10422 ----
if (tv == NULL)
{
! if (argvars[2].v_type != VAR_UNKNOWN)
copy_tv(&argvars[2], rettv);
}
else
***************
*** 10456,10468 ****
{
char_u *p;
! if (retlist)
! {
! if (rettv_list_alloc(rettv) == FAIL)
! return;
! }
! else
! rettv->vval.v_number = 0;
if (buf == NULL || buf->b_ml.ml_mfp == NULL || start < 0)
return;
--- 10441,10448 ----
{
char_u *p;
! if (retlist && rettv_list_alloc(rettv) == FAIL)
! return;
if (buf == NULL || buf->b_ml.ml_mfp == NULL || start < 0)
return;
***************
*** 11009,11016 ****
dict_T *dict;
matchitem_T *cur = curwin->w_match_head;
- rettv->vval.v_number = 0;
-
if (rettv_list_alloc(rettv) == OK)
{
while (cur != NULL)
--- 10989,10994 ----
***************
*** 11089,11095 ****
win_T *wp;
#endif
- rettv->vval.v_number = 0;
#ifdef FEAT_QUICKFIX
if (rettv_list_alloc(rettv) == OK)
{
--- 11067,11072 ----
***************
*** 11935,11941 ****
typval_T *argvars;
typval_T *rettv;
{
- rettv->vval.v_number = 0;
if (argvars[0].v_type != VAR_DICT)
{
EMSG(_(e_dictreq));
--- 11912,11917 ----
***************
*** 12052,12059 ****
n = del_history_entry(get_histtype(str),
get_tv_string_buf(&argvars[1], buf));
rettv->vval.v_number = n;
- #else
- rettv->vval.v_number = 0;
#endif
}
--- 12028,12033 ----
***************
*** 12415,12421 ****
int selected;
int mouse_used;
- rettv->vval.v_number = 0;
#ifdef NO_CONSOLE_INPUT
/* While starting up, there is no place to enter text. */
if (no_console_input())
--- 12389,12394 ----
***************
*** 12464,12470 ****
--ga_userinput.ga_len;
restore_typeahead((tasave_T *)(ga_userinput.ga_data)
+ ga_userinput.ga_len);
! rettv->vval.v_number = 0; /* OK */
}
else if (p_verbose > 1)
{
--- 12437,12443 ----
--ga_userinput.ga_len;
restore_typeahead((tasave_T *)(ga_userinput.ga_data)
+ ga_userinput.ga_len);
! /* default return is zero == OK */
}
else if (p_verbose > 1)
{
***************
*** 12488,12494 ****
save_typeahead((tasave_T *)(ga_userinput.ga_data)
+ ga_userinput.ga_len);
++ga_userinput.ga_len;
! rettv->vval.v_number = 0; /* OK */
}
else
rettv->vval.v_number = 1; /* Failed */
--- 12461,12467 ----
save_typeahead((tasave_T *)(ga_userinput.ga_data)
+ ga_userinput.ga_len);
++ga_userinput.ga_len;
! /* default return is zero == OK */
}
else
rettv->vval.v_number = 1; /* Failed */
***************
*** 12522,12528 ****
list_T *l;
int error = FALSE;
- rettv->vval.v_number = 0;
if (argvars[0].v_type != VAR_LIST)
EMSG2(_(e_listarg), "insert()");
else if ((l = argvars[0].vval.v_list) != NULL
--- 12495,12500 ----
***************
*** 12641,12647 ****
dict_T *d;
int todo;
- rettv->vval.v_number = 0;
if (argvars[0].v_type != VAR_DICT)
{
EMSG(_(e_dictreq));
--- 12613,12618 ----
***************
*** 12729,12735 ****
garray_T ga;
char_u *sep;
- rettv->vval.v_number = 0;
if (argvars[0].v_type != VAR_LIST)
{
EMSG(_(e_listreq));
--- 12700,12705 ----
***************
*** 12827,12835 ****
#endif
rettv->v_type = type;
! if (type == VAR_NUMBER)
! rettv->vval.v_number = 0;
! else
rettv->vval.v_string = NULL;
if (check_restricted() || check_secure())
--- 12797,12803 ----
#endif
rettv->v_type = type;
! if (type != VAR_NUMBER)
rettv->vval.v_string = NULL;
if (check_restricted() || check_secure())
***************
*** 13770,13776 ****
typval_T *argvars;
typval_T *rettv;
{
- rettv->vval.v_number = 0;
#ifdef FEAT_INS_EXPAND
if (pum_visible())
rettv->vval.v_number = 1;
--- 13738,13743 ----
***************
*** 13804,13810 ****
stride = get_tv_number_chk(&argvars[2], &error);
}
- rettv->vval.v_number = 0;
if (error)
return; /* type error; errmsg already given */
if (stride == 0)
--- 13771,13776 ----
***************
*** 14193,14199 ****
typval_T *argvars;
typval_T *rettv;
{
- rettv->vval.v_number = 0;
#ifdef FEAT_CLIENTSERVER
# ifdef WIN32
/* On Win32 it's done in this application. */
--- 14159,14164 ----
***************
*** 14249,14255 ****
rettv->vval.v_number = (s != NULL);
}
# else
- rettv->vval.v_number = 0;
if (check_connection() == FAIL)
return;
--- 14214,14219 ----
***************
*** 14338,14344 ****
dict_T *d;
dictitem_T *di;
- rettv->vval.v_number = 0;
if (argvars[0].v_type == VAR_DICT)
{
if (argvars[2].v_type != VAR_UNKNOWN)
--- 14302,14307 ----
***************
*** 14696,14702 ****
list_T *l;
listitem_T *li, *ni;
- rettv->vval.v_number = 0;
if (argvars[0].v_type != VAR_LIST)
EMSG2(_(e_listarg), "reverse()");
else if ((l = argvars[0].vval.v_list) != NULL
--- 14659,14664 ----
***************
*** 15048,15055 ****
int lnum = 0;
int col = 0;
- rettv->vval.v_number = 0;
-
if (rettv_list_alloc(rettv) == FAIL)
return;
--- 15010,15015 ----
***************
*** 15236,15243 ****
int n;
int flags = 0;
- rettv->vval.v_number = 0;
-
if (rettv_list_alloc(rettv) == FAIL)
return;
--- 15196,15201 ----
***************
*** 15323,15330 ****
typval_T *varp;
char_u nbuf[NUMBUFLEN];
- rettv->vval.v_number = 0;
-
if (check_restricted() || check_secure())
return;
(void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
--- 15281,15286 ----
***************
*** 15404,15410 ****
else
line = get_tv_string_chk(&argvars[1]);
! rettv->vval.v_number = 0; /* OK */
for (;;)
{
if (l != NULL)
--- 15360,15366 ----
else
line = get_tv_string_chk(&argvars[1]);
! /* default result is zero == OK */
for (;;)
{
if (l != NULL)
***************
*** 15717,15722 ****
--- 15673,15679 ----
/*
* "setwinvar()" and "settabwinvar()" functions
*/
+ /*ARGSUSED*/
static void
setwinvar(argvars, rettv, off)
typval_T *argvars;
***************
*** 15733,15740 ****
char_u nbuf[NUMBUFLEN];
tabpage_T *tp;
- rettv->vval.v_number = 0;
-
if (check_restricted() || check_secure())
return;
--- 15690,15695 ----
***************
*** 15947,15953 ****
long len;
long i;
- rettv->vval.v_number = 0;
if (argvars[0].v_type != VAR_LIST)
EMSG2(_(e_listarg), "sort()");
else
--- 15902,15907 ----
***************
*** 16870,16878 ****
typval_T *argvars;
typval_T *rettv;
{
! #ifndef FEAT_WINDOWS
! rettv->vval.v_number = 0;
! #else
tabpage_T *tp;
win_T *wp = NULL;
--- 16824,16830 ----
typval_T *argvars;
typval_T *rettv;
{
! #ifdef FEAT_WINDOWS
tabpage_T *tp;
win_T *wp = NULL;
***************
*** 16884,16902 ****
if (tp != NULL)
wp = (tp == curtab) ? firstwin : tp->tp_firstwin;
}
! if (wp == NULL)
! rettv->vval.v_number = 0;
! else
{
! if (rettv_list_alloc(rettv) == FAIL)
! rettv->vval.v_number = 0;
! else
! {
! for (; wp != NULL; wp = wp->w_next)
! if (list_append_number(rettv->vval.v_list,
wp->w_buffer->b_fnum) == FAIL)
! break;
! }
}
#endif
}
--- 16836,16847 ----
if (tp != NULL)
wp = (tp == curtab) ? firstwin : tp->tp_firstwin;
}
! if (wp != NULL && rettv_list_alloc(rettv) != FAIL)
{
! for (; wp != NULL; wp = wp->w_next)
! if (list_append_number(rettv->vval.v_list,
wp->w_buffer->b_fnum) == FAIL)
! break;
}
#endif
}
***************
*** 17024,17033 ****
int first;
if (rettv_list_alloc(rettv) == FAIL)
- {
- rettv->vval.v_number = 0;
return;
- }
for (first = TRUE; ; first = FALSE)
if (get_tagfname(&tn, first, fname) == FAIL
--- 16969,16975 ----
***************
*** 17401,17408 ****
/* A non-zero number or non-empty string argument: reset mode. */
if (non_zero_arg(&argvars[0]))
curbuf->b_visual_mode_eval = NUL;
- #else
- rettv->vval.v_number = 0; /* return anything, it won't work anyway */
#endif
}
--- 17343,17348 ----
*** ../vim-7.2.148/src/version.c Wed Mar 18 19:07:09 2009
--- src/version.c Wed Apr 22 12:44:05 2009
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 149,
/**/
--
WOMAN: Well, 'ow did you become king then?
ARTHUR: The Lady of the Lake, [angels sing] her arm clad in the purest
shimmering samite, held aloft Excalibur from the bosom of the water
signifying by Divine Providence that I, Arthur, was to carry
Excalibur. [singing stops] That is why I am your king!
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

1325
7.2.150 Normal file

File diff suppressed because it is too large Load Diff

53
7.2.151 Normal file
View File

@ -0,0 +1,53 @@
To: vim-dev@vim.org
Subject: Patch 7.2.151
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.151
Problem: ":hist a" doesn't work like ":hist all" as the docs suggest.
Solution: Make ":hist a" and ":hist al" work. (Dominique Pelle)
Files: src/ex_getln.c
*** ../vim-7.2.150/src/ex_getln.c Wed Mar 18 12:50:58 2009
--- src/ex_getln.c Sun Apr 12 13:36:06 2009
***************
*** 5686,5692 ****
histype1 = get_histtype(arg);
if (histype1 == -1)
{
! if (STRICMP(arg, "all") == 0)
{
histype1 = 0;
histype2 = HIST_COUNT-1;
--- 5686,5692 ----
histype1 = get_histtype(arg);
if (histype1 == -1)
{
! if (STRNICMP(arg, "all", STRLEN(arg)) == 0)
{
histype1 = 0;
histype2 = HIST_COUNT-1;
*** ../vim-7.2.150/src/version.c Wed Apr 22 13:06:11 2009
--- src/version.c Wed Apr 22 13:49:41 2009
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 151,
/**/
--
I'm sure that I asked CBuilder to do a "full" install. Looks like I got
a "fool" install, instead. Charles E Campbell, Jr, PhD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

104
7.2.152 Normal file
View File

@ -0,0 +1,104 @@
To: vim-dev@vim.org
Subject: Patch 7.2.152
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.152
Problem: When using "silent echo x" inside ":redir" a next echo may start
halfway the line. (Tony Mechelynck, Dennis Benzinger)
Solution: Reset msg_col after redirecting silently.
Files: src/ex_docmd.c, src/message.c, src/proto/message.pro
*** ../vim-7.2.151/src/ex_docmd.c Wed Mar 18 12:50:58 2009
--- src/ex_docmd.c Wed Apr 22 11:57:49 2009
***************
*** 2699,2704 ****
--- 2699,2709 ----
/* Restore msg_scroll, it's set by file I/O commands, even when no
* message is actually displayed. */
msg_scroll = save_msg_scroll;
+
+ /* "silent reg" or "silent echo x" inside "redir" leaves msg_col
+ * somewhere in the line. Put it back in the first column. */
+ if (redirecting())
+ msg_col = 0;
}
#ifdef HAVE_SANDBOX
*** ../vim-7.2.151/src/message.c Tue Feb 24 04:36:50 2009
--- src/message.c Sun Apr 12 14:08:25 2009
***************
*** 3023,3033 ****
if (*p_vfile != NUL)
verbose_write(s, maxlen);
! if (redir_fd != NULL
! #ifdef FEAT_EVAL
! || redir_reg || redir_vname
! #endif
! )
{
/* If the string doesn't start with CR or NL, go to msg_col */
if (*s != '\n' && *s != '\r')
--- 3023,3029 ----
if (*p_vfile != NUL)
verbose_write(s, maxlen);
! if (redirecting())
{
/* If the string doesn't start with CR or NL, go to msg_col */
if (*s != '\n' && *s != '\r')
***************
*** 3074,3079 ****
--- 3070,3085 ----
}
}
+ int
+ redirecting()
+ {
+ return redir_fd != NULL
+ #ifdef FEAT_EVAL
+ || redir_reg || redir_vname
+ #endif
+ ;
+ }
+
/*
* Before giving verbose message.
* Must always be called paired with verbose_leave()!
*** ../vim-7.2.151/src/proto/message.pro Sat May 5 19:35:34 2007
--- src/proto/message.pro Sun Apr 12 14:08:50 2009
***************
*** 54,59 ****
--- 54,60 ----
void msg_clr_cmdline __ARGS((void));
int msg_end __ARGS((void));
void msg_check __ARGS((void));
+ int redirecting __ARGS((void));
void verbose_enter __ARGS((void));
void verbose_leave __ARGS((void));
void verbose_enter_scroll __ARGS((void));
*** ../vim-7.2.151/src/version.c Wed Apr 22 13:50:14 2009
--- src/version.c Wed Apr 22 14:40:22 2009
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 152,
/**/
--
Q: How does a UNIX Guru pick up a girl?
A: look; grep; which; eval; nice; uname; talk; date;
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

97
7.2.153 Normal file
View File

@ -0,0 +1,97 @@
To: vim-dev@vim.org
Subject: Patch 7.2.153
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.153
Problem: Memory leak for ":recover empty_dir/".
Solution: Free files[] when it becomes empty. (Dominique Pelle)
Files: src/memline.c
*** ../vim-7.2.152/src/memline.c Sun Jul 13 19:40:43 2008
--- src/memline.c Wed Apr 22 11:48:35 2009
***************
*** 1554,1563 ****
for (i = 0; i < num_files; ++i)
if (fullpathcmp(p, files[i], TRUE) & FPC_SAME)
{
vim_free(files[i]);
! --num_files;
! for ( ; i < num_files; ++i)
! files[i] = files[i + 1];
}
}
if (nr > 0)
--- 1554,1568 ----
for (i = 0; i < num_files; ++i)
if (fullpathcmp(p, files[i], TRUE) & FPC_SAME)
{
+ /* Remove the name from files[i]. Move further entries
+ * down. When the array becomes empty free it here, since
+ * FreeWild() won't be called below. */
vim_free(files[i]);
! if (--num_files == 0)
! vim_free(files);
! else
! for ( ; i < num_files; ++i)
! files[i] = files[i + 1];
}
}
if (nr > 0)
***************
*** 3522,3528 ****
if (errno == EINVAL || errno == ENOENT)
{
/* Found non-symlink or not existing file, stop here.
! * When at the first level use the unmodifed name, skip the
* call to vim_FullName(). */
if (depth == 1)
return FAIL;
--- 3527,3533 ----
if (errno == EINVAL || errno == ENOENT)
{
/* Found non-symlink or not existing file, stop here.
! * When at the first level use the unmodified name, skip the
* call to vim_FullName(). */
if (depth == 1)
return FAIL;
***************
*** 4560,4566 ****
buf->b_ml.ml_chunksize + curix,
(buf->b_ml.ml_usedchunks - curix) *
sizeof(chunksize_T));
! /* Compute length of first half of lines in the splitted chunk */
size = 0;
linecnt = 0;
while (curline < buf->b_ml.ml_line_count
--- 4568,4574 ----
buf->b_ml.ml_chunksize + curix,
(buf->b_ml.ml_usedchunks - curix) *
sizeof(chunksize_T));
! /* Compute length of first half of lines in the split chunk */
size = 0;
linecnt = 0;
while (curline < buf->b_ml.ml_line_count
*** ../vim-7.2.152/src/version.c Wed Apr 22 14:42:26 2009
--- src/version.c Wed Apr 22 15:34:18 2009
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 153,
/**/
--
Windows
M!uqoms
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

71
7.2.154 Normal file
View File

@ -0,0 +1,71 @@
To: vim-dev@vim.org
Subject: Patch 7.2.154
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.154 (after 7.2.132)
Problem: ":cd" is still possible in a SwapExists autocmd.
Solution: Set allbuf_lock in do_swapexists().
Files: src/memline.c
*** ../vim-7.2.153/src/memline.c Wed Apr 22 15:37:12 2009
--- src/memline.c Wed Apr 22 15:54:48 2009
***************
*** 3771,3778 ****
set_vim_var_string(VV_SWAPCHOICE, NULL, -1);
/* Trigger SwapExists autocommands with <afile> set to the file being
! * edited. */
apply_autocmds(EVENT_SWAPEXISTS, buf->b_fname, NULL, FALSE, NULL);
set_vim_var_string(VV_SWAPNAME, NULL, -1);
--- 3771,3780 ----
set_vim_var_string(VV_SWAPCHOICE, NULL, -1);
/* Trigger SwapExists autocommands with <afile> set to the file being
! * edited. Disallow changing directory here. */
! ++allbuf_lock;
apply_autocmds(EVENT_SWAPEXISTS, buf->b_fname, NULL, FALSE, NULL);
+ --allbuf_lock;
set_vim_var_string(VV_SWAPNAME, NULL, -1);
***************
*** 3798,3803 ****
--- 3800,3806 ----
*
* Note: If BASENAMELEN is not correct, you will get error messages for
* not being able to open the swapfile
+ * Note: May trigger SwapExists autocmd, pointers may change!
*/
static char_u *
findswapname(buf, dirp, old_fname)
*** ../vim-7.2.153/src/version.c Wed Apr 22 15:37:12 2009
--- src/version.c Wed Apr 22 15:55:48 2009
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 154,
/**/
--
ARTHUR: Be quiet!
DENNIS: Well you can't expect to wield supreme executive power just 'cause
some watery tart threw a sword at you!
ARTHUR: Shut up!
DENNIS: I mean, if I went around sayin' I was an empereror just because some
moistened bint had lobbed a scimitar at me they'd put me away!
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

45
7.2.155 Normal file
View File

@ -0,0 +1,45 @@
To: vim-dev@vim.org
Subject: Patch 7.2.155
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.155
Problem: Memory leak in ":function /pat".
Solution: Free the memory. (Dominique Pelle)
Files: src/eval.c
*** ../vim-7.2.154/src/eval.c Wed Apr 22 12:53:31 2009
--- src/eval.c Wed Apr 22 16:04:34 2009
***************
*** 19720,19725 ****
--- 19720,19726 ----
list_func_head(fp, FALSE);
}
}
+ vim_free(regmatch.regprog);
}
}
if (*p == '/')
*** ../vim-7.2.154/src/version.c Wed Apr 22 15:56:27 2009
--- src/version.c Wed Apr 22 16:07:27 2009
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 155,
/**/
--
Q: How many hardware engineers does it take to change a lightbulb?
A: None. We'll fix it in software.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

181
7.2.156 Normal file
View File

@ -0,0 +1,181 @@
To: vim-dev@vim.org
Subject: Patch 7.2.156
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.156 (after 7.2.143)
Problem: No completion for :scscope and :lcscope commands.
Solution: Implement the completion. (Dominique Pelle)
Files: src/if_cscope.c, src/ex_docmd.c, src/proto/if_cscope.pro
*** ../vim-7.2.155/src/if_cscope.c Wed Mar 18 14:30:46 2009
--- src/if_cscope.c Wed Apr 22 11:57:49 2009
***************
*** 98,103 ****
--- 98,104 ----
static enum
{
EXP_CSCOPE_SUBCMD, /* expand ":cscope" sub-commands */
+ EXP_SCSCOPE_SUBCMD, /* expand ":scscope" sub-commands */
EXP_CSCOPE_FIND, /* expand ":cscope find" arguments */
EXP_CSCOPE_KILL /* expand ":cscope kill" arguments */
} expand_what;
***************
*** 112,123 ****
--- 113,135 ----
expand_T *xp;
int idx;
{
+ int current_idx;
+ int i;
+
switch (expand_what)
{
case EXP_CSCOPE_SUBCMD:
/* Complete with sub-commands of ":cscope":
* add, find, help, kill, reset, show */
return (char_u *)cs_cmds[idx].name;
+ case EXP_SCSCOPE_SUBCMD:
+ /* Complete with sub-commands of ":scscope": same sub-commands as
+ * ":cscope" but skip commands which don't support split windows */
+ for (i = 0, current_idx = 0; cs_cmds[i].name != NULL; i++)
+ if (cs_cmds[i].cansplit)
+ if (current_idx++ == idx)
+ break;
+ return (char_u *)cs_cmds[i].name;
case EXP_CSCOPE_FIND:
{
const char *query_type[] =
***************
*** 133,147 ****
}
case EXP_CSCOPE_KILL:
{
- int i;
- int current_idx = 0;
static char_u connection[2];
/* ":cscope kill" accepts connection numbers or partial names of
* the pathname of the cscope database as argument. Only complete
* with connection numbers. -1 can also be used to kill all
* connections. */
! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
{
if (csinfo[i].fname == NULL)
continue;
--- 145,157 ----
}
case EXP_CSCOPE_KILL:
{
static char_u connection[2];
/* ":cscope kill" accepts connection numbers or partial names of
* the pathname of the cscope database as argument. Only complete
* with connection numbers. -1 can also be used to kill all
* connections. */
! for (i = 0, current_idx = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
{
if (csinfo[i].fname == NULL)
continue;
***************
*** 165,180 ****
* Handle command line completion for :cscope command.
*/
void
! set_context_in_cscope_cmd(xp, arg)
expand_T *xp;
char_u *arg;
{
char_u *p;
/* Default: expand subcommands */
xp->xp_context = EXPAND_CSCOPE;
- expand_what = EXP_CSCOPE_SUBCMD;
xp->xp_pattern = arg;
/* (part of) subcommand already typed */
if (*arg != NUL)
--- 175,192 ----
* Handle command line completion for :cscope command.
*/
void
! set_context_in_cscope_cmd(xp, arg, cmdidx)
expand_T *xp;
char_u *arg;
+ cmdidx_T cmdidx;
{
char_u *p;
/* Default: expand subcommands */
xp->xp_context = EXPAND_CSCOPE;
xp->xp_pattern = arg;
+ expand_what = (cmdidx == CMD_scscope)
+ ? EXP_SCSCOPE_SUBCMD : EXP_CSCOPE_SUBCMD;
/* (part of) subcommand already typed */
if (*arg != NUL)
*** ../vim-7.2.155/src/ex_docmd.c Wed Apr 22 14:42:26 2009
--- src/ex_docmd.c Wed Apr 22 11:57:49 2009
***************
*** 3690,3696 ****
break;
#ifdef FEAT_CSCOPE
case CMD_cscope:
! set_context_in_cscope_cmd(xp, arg);
break;
#endif
#ifdef FEAT_LISTCMDS
--- 3690,3698 ----
break;
#ifdef FEAT_CSCOPE
case CMD_cscope:
! case CMD_lcscope:
! case CMD_scscope:
! set_context_in_cscope_cmd(xp, arg, ea.cmdidx);
break;
#endif
#ifdef FEAT_LISTCMDS
*** ../vim-7.2.155/src/proto/if_cscope.pro Wed Mar 18 12:50:58 2009
--- src/proto/if_cscope.pro Wed Apr 22 11:57:49 2009
***************
*** 1,6 ****
/* if_cscope.c */
char_u *get_cscope_name __ARGS((expand_T *xp, int idx));
! void set_context_in_cscope_cmd __ARGS((expand_T *xp, char_u *arg));
void do_cscope __ARGS((exarg_T *eap));
void do_scscope __ARGS((exarg_T *eap));
void do_cstag __ARGS((exarg_T *eap));
--- 1,6 ----
/* if_cscope.c */
char_u *get_cscope_name __ARGS((expand_T *xp, int idx));
! void set_context_in_cscope_cmd __ARGS((expand_T *xp, char_u *arg, cmdidx_T cmdidx));
void do_cscope __ARGS((exarg_T *eap));
void do_scscope __ARGS((exarg_T *eap));
void do_cstag __ARGS((exarg_T *eap));
*** ../vim-7.2.155/src/version.c Wed Apr 22 16:07:57 2009
--- src/version.c Wed Apr 22 16:21:43 2009
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 156,
/**/
--
ARTHUR: Shut up! Will you shut up!
DENNIS: Ah, now we see the violence inherent in the system.
ARTHUR: Shut up!
DENNIS: Oh! Come and see the violence inherent in the system!
HELP! HELP! I'm being repressed!
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

144
7.2.157 Normal file
View File

@ -0,0 +1,144 @@
To: vim-dev@vim.org
Subject: Patch 7.2.157
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.157
Problem: Illegal memory access when searching in path.
Solution: Avoid looking at a byte after end of a string. (Dominique Pelle)
Files: src/search.c
*** ../vim-7.2.156/src/search.c Fri Jul 18 12:05:58 2008
--- src/search.c Wed Apr 22 12:26:19 2009
***************
*** 2327,2334 ****
for (col = pos.col; check_prevcol(linep, col, '\\', &col);)
bslcnt++;
}
! /* Only accept a match when 'M' is in 'cpo' or when ecaping is
! * what we expect. */
if (cpo_bsl || (bslcnt & 1) == match_escaped)
{
if (c == initc)
--- 2336,2343 ----
for (col = pos.col; check_prevcol(linep, col, '\\', &col);)
bslcnt++;
}
! /* Only accept a match when 'M' is in 'cpo' or when escaping
! * is what we expect. */
if (cpo_bsl || (bslcnt & 1) == match_escaped)
{
if (c == initc)
***************
*** 4663,4669 ****
msg_putchar('\n'); /* cursor below last one */
if (!got_int) /* don't display if 'q'
typed at "--more--"
! mesage */
{
msg_home_replace_hl(new_fname);
MSG_PUTS(_(" (includes previously listed match)"));
--- 4672,4678 ----
msg_putchar('\n'); /* cursor below last one */
if (!got_int) /* don't display if 'q'
typed at "--more--"
! message */
{
msg_home_replace_hl(new_fname);
MSG_PUTS(_(" (includes previously listed match)"));
***************
*** 4975,4981 ****
|| IObuff[i-2] == '!'))))
IObuff[i++] = ' ';
}
! /* copy as much as posible of the new word */
if (p - aux >= IOSIZE - i)
p = aux + IOSIZE - i - 1;
STRNCPY(IObuff + i, aux, p - aux);
--- 4984,4990 ----
|| IObuff[i-2] == '!'))))
IObuff[i++] = ' ';
}
! /* copy as much as possible of the new word */
if (p - aux >= IOSIZE - i)
p = aux + IOSIZE - i - 1;
STRNCPY(IObuff + i, aux, p - aux);
***************
*** 5010,5016 ****
if (did_show)
msg_putchar('\n'); /* cursor below last one */
if (!got_int) /* don't display if 'q' typed
! at "--more--" mesage */
msg_home_replace_hl(curr_fname);
prev_fname = curr_fname;
}
--- 5019,5025 ----
if (did_show)
msg_putchar('\n'); /* cursor below last one */
if (!got_int) /* don't display if 'q' typed
! at "--more--" message */
msg_home_replace_hl(curr_fname);
prev_fname = curr_fname;
}
***************
*** 5092,5098 ****
}
if (action != ACTION_SHOW)
{
! curwin->w_cursor.col = (colnr_T) (startp - line);
curwin->w_set_curswant = TRUE;
}
--- 5101,5107 ----
}
if (action != ACTION_SHOW)
{
! curwin->w_cursor.col = (colnr_T)(startp - line);
curwin->w_set_curswant = TRUE;
}
***************
*** 5119,5125 ****
&& action == ACTION_EXPAND
&& !(compl_cont_status & CONT_SOL)
#endif
! && *(p = startp + 1))
goto search_line;
}
line_breakcheck();
--- 5128,5135 ----
&& action == ACTION_EXPAND
&& !(compl_cont_status & CONT_SOL)
#endif
! && *startp != NUL
! && *(p = startp + 1) != NUL)
goto search_line;
}
line_breakcheck();
*** ../vim-7.2.156/src/version.c Wed Apr 22 16:22:44 2009
--- src/version.c Wed Apr 22 16:39:59 2009
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 157,
/**/
--
ARTHUR: Bloody peasant!
DENNIS: Oh, what a give away. Did you hear that, did you hear that, eh?
That's what I'm on about -- did you see him repressing me, you saw it
didn't you?
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

63
7.2.158 Normal file
View File

@ -0,0 +1,63 @@
To: vim-dev@vim.org
Subject: Patch 7.2.158
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.158
Problem: Warnings from VisualC compiler.
Solution: Add type casts. (George Reilly)
Files: src/ops.c
*** ../vim-7.2.157/src/ops.c Wed Mar 11 16:26:01 2009
--- src/ops.c Wed Apr 22 13:01:46 2009
***************
*** 495,504 ****
block_space_width = non_white_col - oap->start_vcol;
/* We will shift by "total" or "block_space_width", whichever is less.
*/
! shift_amount = (block_space_width < total? block_space_width: total);
/* The column to which we will shift the text. */
! destination_col = non_white_col - shift_amount;
/* Now let's find out how much of the beginning of the line we can
* reuse without modification. */
--- 495,505 ----
block_space_width = non_white_col - oap->start_vcol;
/* We will shift by "total" or "block_space_width", whichever is less.
*/
! shift_amount = (block_space_width < (size_t)total
! ? block_space_width : (size_t)total);
/* The column to which we will shift the text. */
! destination_col = (colnr_T)(non_white_col - shift_amount);
/* Now let's find out how much of the beginning of the line we can
* reuse without modification. */
*** ../vim-7.2.157/src/version.c Wed Apr 22 16:42:24 2009
--- src/version.c Wed Apr 22 17:42:19 2009
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 158,
/**/
--
ARTHUR: What?
BLACK KNIGHT: None shall pass.
ARTHUR: I have no quarrel with you, good Sir knight, but I must cross
this bridge.
BLACK KNIGHT: Then you shall die.
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

71
7.2.159 Normal file
View File

@ -0,0 +1,71 @@
To: vim-dev@vim.org
Subject: Patch 7.2.159
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.159
Problem: When $x_includes ends up being "NONE" configure fails.
Solution: Check for $x_includes not to be "NONE" (Rainer)
Files: src/auto/configure, src/configure.in
*** ../vim-7.2.158/src/auto/configure Mon Mar 2 02:44:54 2009
--- src/auto/configure Wed Apr 22 14:37:24 2009
***************
*** 15519,15525 ****
if test "$enable_multibyte" = "yes"; then
cflags_save=$CFLAGS
ldflags_save=$LDFLAGS
! if test -n "$x_includes" ; then
CFLAGS="$CFLAGS -I$x_includes"
LDFLAGS="$X_LIBS $LDFLAGS -lX11"
{ $as_echo "$as_me:$LINENO: checking whether X_LOCALE needed" >&5
--- 15519,15525 ----
if test "$enable_multibyte" = "yes"; then
cflags_save=$CFLAGS
ldflags_save=$LDFLAGS
! if test "x$x_includes" != "xNONE" ; then
CFLAGS="$CFLAGS -I$x_includes"
LDFLAGS="$X_LIBS $LDFLAGS -lX11"
{ $as_echo "$as_me:$LINENO: checking whether X_LOCALE needed" >&5
*** ../vim-7.2.158/src/configure.in Mon Mar 2 02:44:54 2009
--- src/configure.in Wed Apr 22 14:35:57 2009
***************
*** 2952,2958 ****
if test "$enable_multibyte" = "yes"; then
cflags_save=$CFLAGS
ldflags_save=$LDFLAGS
! if test -n "$x_includes" ; then
CFLAGS="$CFLAGS -I$x_includes"
LDFLAGS="$X_LIBS $LDFLAGS -lX11"
AC_MSG_CHECKING(whether X_LOCALE needed)
--- 2952,2958 ----
if test "$enable_multibyte" = "yes"; then
cflags_save=$CFLAGS
ldflags_save=$LDFLAGS
! if test "x$x_includes" != "xNONE" ; then
CFLAGS="$CFLAGS -I$x_includes"
LDFLAGS="$X_LIBS $LDFLAGS -lX11"
AC_MSG_CHECKING(whether X_LOCALE needed)
*** ../vim-7.2.158/src/version.c Wed Apr 22 17:42:53 2009
--- src/version.c Wed Apr 22 17:49:50 2009
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 159,
/**/
--
"Hegel was right when he said that we learn from history that man can
never learn anything from history." (George Bernard Shaw)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

52
7.2.160 Normal file
View File

@ -0,0 +1,52 @@
To: vim-dev@vim.org
Subject: Patch 7.2.160
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.160
Problem: Search pattern not freed on exit when 'rightleft' set.
Solution: Free mr_pattern_alloced.
Files: src/search.c
*** ../vim-7.2.159/src/search.c Wed Apr 22 16:42:24 2009
--- src/search.c Wed Apr 22 12:26:19 2009
***************
*** 345,350 ****
--- 345,359 ----
{
vim_free(spats[0].pat);
vim_free(spats[1].pat);
+
+ # ifdef FEAT_RIGHTLEFT
+ if (mr_pattern_alloced)
+ {
+ vim_free(mr_pattern);
+ mr_pattern_alloced = FALSE;
+ mr_pattern = NULL;
+ }
+ # endif
}
#endif
*** ../vim-7.2.159/src/version.c Wed Apr 22 17:50:53 2009
--- src/version.c Wed Apr 22 18:42:25 2009
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 160,
/**/
--
f y cn rd ths thn y cn hv grt jb n cmptr prgrmmng
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

205
7.2.161 Normal file
View File

@ -0,0 +1,205 @@
To: vim-dev@vim.org
Subject: Patch 7.2.161
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.161
Problem: Folds messed up in other tab page. (Vlad Irnov)
Solution: Instead of going over all windows in current tab page go over all
windows in all tab pages. Also free memory for location lists in
other tab pages when exiting. (Lech Lorens)
Files: src/fileio.c, src/mark.c, src/misc1.c, src/misc2.c
*** ../vim-7.2.160/src/fileio.c Wed Mar 18 15:40:03 2009
--- src/fileio.c Wed Apr 22 15:46:35 2009
***************
*** 6846,6855 ****
#endif
#ifdef FEAT_FOLDING
{
! win_T *wp;
/* Update folds unless they are defined manually. */
! FOR_ALL_WINDOWS(wp)
if (wp->w_buffer == curwin->w_buffer
&& !foldmethodIsManual(wp))
foldUpdateAll(wp);
--- 6846,6856 ----
#endif
#ifdef FEAT_FOLDING
{
! win_T *wp;
! tabpage_T *tp;
/* Update folds unless they are defined manually. */
! FOR_ALL_TAB_WINDOWS(tp, wp)
if (wp->w_buffer == curwin->w_buffer
&& !foldmethodIsManual(wp))
foldUpdateAll(wp);
*** ../vim-7.2.160/src/mark.c Sun Nov 9 13:43:25 2008
--- src/mark.c Wed Apr 22 17:32:29 2009
***************
*** 1023,1028 ****
--- 1023,1031 ----
int fnum = curbuf->b_fnum;
linenr_T *lp;
win_T *win;
+ #ifdef FEAT_WINDOWS
+ tabpage_T *tab;
+ #endif
if (line2 < line1 && amount_after == 0L) /* nothing to do */
return;
***************
*** 1064,1070 ****
/* quickfix marks */
qf_mark_adjust(NULL, line1, line2, amount, amount_after);
/* location lists */
! FOR_ALL_WINDOWS(win)
qf_mark_adjust(win, line1, line2, amount, amount_after);
#endif
--- 1067,1073 ----
/* quickfix marks */
qf_mark_adjust(NULL, line1, line2, amount, amount_after);
/* location lists */
! FOR_ALL_TAB_WINDOWS(tab, win)
qf_mark_adjust(win, line1, line2, amount, amount_after);
#endif
***************
*** 1086,1092 ****
/*
* Adjust items in all windows related to the current buffer.
*/
! FOR_ALL_WINDOWS(win)
{
#ifdef FEAT_JUMPLIST
if (!cmdmod.lockmarks)
--- 1089,1095 ----
/*
* Adjust items in all windows related to the current buffer.
*/
! FOR_ALL_TAB_WINDOWS(tab, win)
{
#ifdef FEAT_JUMPLIST
if (!cmdmod.lockmarks)
*** ../vim-7.2.160/src/misc1.c Wed Mar 18 15:40:03 2009
--- src/misc1.c Wed Apr 22 17:32:46 2009
***************
*** 2717,2722 ****
--- 2717,2725 ----
long xtra;
{
win_T *wp;
+ #ifdef FEAT_WINDOWS
+ tabpage_T *tp;
+ #endif
int i;
#ifdef FEAT_JUMPLIST
int cols;
***************
*** 2769,2775 ****
curbuf->b_changelistlen = JUMPLISTSIZE - 1;
mch_memmove(curbuf->b_changelist, curbuf->b_changelist + 1,
sizeof(pos_T) * (JUMPLISTSIZE - 1));
! FOR_ALL_WINDOWS(wp)
{
/* Correct position in changelist for other windows on
* this buffer. */
--- 2772,2778 ----
curbuf->b_changelistlen = JUMPLISTSIZE - 1;
mch_memmove(curbuf->b_changelist, curbuf->b_changelist + 1,
sizeof(pos_T) * (JUMPLISTSIZE - 1));
! FOR_ALL_TAB_WINDOWS(tp, wp)
{
/* Correct position in changelist for other windows on
* this buffer. */
***************
*** 2777,2783 ****
--wp->w_changelistidx;
}
}
! FOR_ALL_WINDOWS(wp)
{
/* For other windows, if the position in the changelist is
* at the end it stays at the end. */
--- 2780,2786 ----
--wp->w_changelistidx;
}
}
! FOR_ALL_TAB_WINDOWS(tp, wp)
{
/* For other windows, if the position in the changelist is
* at the end it stays at the end. */
***************
*** 2796,2802 ****
#endif
}
! FOR_ALL_WINDOWS(wp)
{
if (wp->w_buffer == curbuf)
{
--- 2799,2805 ----
#endif
}
! FOR_ALL_TAB_WINDOWS(tp, wp)
{
if (wp->w_buffer == curbuf)
{
*** ../vim-7.2.160/src/misc2.c Wed Mar 11 17:27:46 2009
--- src/misc2.c Wed Apr 22 15:46:35 2009
***************
*** 1075,1085 ****
#ifdef FEAT_QUICKFIX
{
! win_T *win;
qf_free_all(NULL);
/* Free all location lists */
! FOR_ALL_WINDOWS(win)
qf_free_all(win);
}
#endif
--- 1075,1086 ----
#ifdef FEAT_QUICKFIX
{
! win_T *win;
! tabpage_T *tab;
qf_free_all(NULL);
/* Free all location lists */
! FOR_ALL_TAB_WINDOWS(tab, win)
qf_free_all(win);
}
#endif
*** ../vim-7.2.160/src/version.c Wed Apr 22 18:43:06 2009
--- src/version.c Wed Apr 29 10:59:01 2009
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 161,
/**/
--
CONCORDE: Quickly, sir, come this way!
LAUNCELOT: No! It's not right for my idiom. I must escape more ... more ...
CONCORDE: Dramatically, sir?
LAUNCELOT: Dramatically.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

75
7.2.162 Normal file
View File

@ -0,0 +1,75 @@
To: vim-dev@vim.org
Subject: Patch 7.2.162
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.162
Problem: The quickfix window may get wrong filetype.
Solution: Do not detect the filetype for the quickfix window. (Lech Lorens)
Files: src/quickfix.c
*** ../vim-7.2.161/src/quickfix.c Sun Feb 22 02:36:36 2009
--- src/quickfix.c Wed Apr 22 17:34:57 2009
***************
*** 2346,2352 ****
set_option_value((char_u *)"bt", 0L, (char_u *)"quickfix",
OPT_LOCAL);
set_option_value((char_u *)"bh", 0L, (char_u *)"wipe", OPT_LOCAL);
! set_option_value((char_u *)"diff", 0L, NULL, OPT_LOCAL);
}
/* Only set the height when still in the same tab page and there is no
--- 2346,2358 ----
set_option_value((char_u *)"bt", 0L, (char_u *)"quickfix",
OPT_LOCAL);
set_option_value((char_u *)"bh", 0L, (char_u *)"wipe", OPT_LOCAL);
! #ifdef FEAT_DIFF
! curwin->w_p_diff = FALSE;
! #endif
! #ifdef FEAT_FOLDING
! set_option_value((char_u *)"fdm", 0L, (char_u *)"manual",
! OPT_LOCAL);
! #endif
}
/* Only set the height when still in the same tab page and there is no
***************
*** 2607,2616 ****
--- 2613,2624 ----
curbuf->b_p_ma = FALSE;
#ifdef FEAT_AUTOCMD
+ keep_filetype = TRUE; /* don't detect 'filetype' */
apply_autocmds(EVENT_BUFREADPOST, (char_u *)"quickfix", NULL,
FALSE, curbuf);
apply_autocmds(EVENT_BUFWINENTER, (char_u *)"quickfix", NULL,
FALSE, curbuf);
+ keep_filetype = FALSE;
#endif
/* make sure it will be redrawn */
*** ../vim-7.2.161/src/version.c Wed Apr 29 11:00:09 2009
--- src/version.c Wed Apr 29 11:49:09 2009
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 162,
/**/
--
Yesterday is history.
Tomorrow is a mystery.
Today is a gift.
That's why it is called 'present'.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

51
7.2.163 Normal file
View File

@ -0,0 +1,51 @@
To: vim-dev@vim.org
Subject: Patch 7.2.163
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.163
Problem: The command line window may get folding.
Solution: Default to no/manual folding. (Lech Lorens)
Files: src/ex_getln.c
*** ../vim-7.2.162/src/ex_getln.c Wed Apr 22 13:50:14 2009
--- src/ex_getln.c Wed Apr 22 16:12:54 2009
***************
*** 6073,6078 ****
--- 6073,6081 ----
set_option_value((char_u *)"bt", 0L, (char_u *)"nofile", OPT_LOCAL);
set_option_value((char_u *)"swf", 0L, NULL, OPT_LOCAL);
curbuf->b_p_ma = TRUE;
+ #ifdef FEAT_FOLDING
+ curwin->w_p_fen = FALSE;
+ #endif
# ifdef FEAT_RIGHTLEFT
curwin->w_p_rl = cmdmsg_rl;
cmdmsg_rl = FALSE;
*** ../vim-7.2.162/src/version.c Wed Apr 29 11:49:57 2009
--- src/version.c Wed Apr 29 12:02:56 2009
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 163,
/**/
--
[SIR LAUNCELOT runs back up the stairs, grabs a rope
of the wall and swings out over the heads of the CROWD in a
swashbuckling manner towards a large window. He stops just short
of the window and is left swing pathetically back and forth.]
LAUNCELOT: Excuse me ... could somebody give me a push ...
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

139
7.2.164 Normal file
View File

@ -0,0 +1,139 @@
To: vim-dev@vim.org
Subject: Patch 7.2.164
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.164
Problem: When 'showbreak' is set the size of the Visual block may be
reported wrong. (Eduardo Daudt Flach)
Solution: Temporarily make 'sbr' empty.
Files: src/normal.c, src/ops.c
*** ../vim-7.2.163/src/normal.c Sat Feb 21 20:27:00 2009
--- src/normal.c Wed Apr 22 18:30:20 2009
***************
*** 3709,3721 ****
#ifdef FEAT_VISUAL
if (VIsual_active && !char_avail())
{
! int i = lt(VIsual, curwin->w_cursor);
long lines;
colnr_T leftcol, rightcol;
linenr_T top, bot;
/* Show the size of the Visual area. */
! if (i)
{
top = VIsual.lnum;
bot = curwin->w_cursor.lnum;
--- 3709,3721 ----
#ifdef FEAT_VISUAL
if (VIsual_active && !char_avail())
{
! int cursor_bot = lt(VIsual, curwin->w_cursor);
long lines;
colnr_T leftcol, rightcol;
linenr_T top, bot;
/* Show the size of the Visual area. */
! if (cursor_bot)
{
top = VIsual.lnum;
bot = curwin->w_cursor.lnum;
***************
*** 3734,3747 ****
if (VIsual_mode == Ctrl_V)
{
getvcols(curwin, &curwin->w_cursor, &VIsual, &leftcol, &rightcol);
sprintf((char *)showcmd_buf, "%ldx%ld", lines,
(long)(rightcol - leftcol + 1));
}
else if (VIsual_mode == 'V' || VIsual.lnum != curwin->w_cursor.lnum)
sprintf((char *)showcmd_buf, "%ld", lines);
else
! sprintf((char *)showcmd_buf, "%ld", (long)(i
? curwin->w_cursor.col - VIsual.col
: VIsual.col - curwin->w_cursor.col) + (*p_sel != 'e'));
showcmd_buf[SHOWCMD_COLS] = NUL; /* truncate */
--- 3734,3756 ----
if (VIsual_mode == Ctrl_V)
{
+ #ifdef FEAT_LINEBREAK
+ char_u *saved_sbr = p_sbr;
+
+ /* Make 'sbr' empty for a moment to get the correct size. */
+ p_sbr = empty_option;
+ #endif
getvcols(curwin, &curwin->w_cursor, &VIsual, &leftcol, &rightcol);
+ #ifdef FEAT_LINEBREAK
+ p_sbr = saved_sbr;
+ #endif
sprintf((char *)showcmd_buf, "%ldx%ld", lines,
(long)(rightcol - leftcol + 1));
}
else if (VIsual_mode == 'V' || VIsual.lnum != curwin->w_cursor.lnum)
sprintf((char *)showcmd_buf, "%ld", lines);
else
! sprintf((char *)showcmd_buf, "%ld", (long)(cursor_bot
? curwin->w_cursor.col - VIsual.col
: VIsual.col - curwin->w_cursor.col) + (*p_sel != 'e'));
showcmd_buf[SHOWCMD_COLS] = NUL; /* truncate */
*** ../vim-7.2.163/src/ops.c Wed Apr 22 17:42:53 2009
--- src/ops.c Wed Apr 22 18:30:07 2009
***************
*** 392,398 ****
colnr_T ws_vcol;
int i = 0, j = 0;
int len;
-
#ifdef FEAT_RIGHTLEFT
int old_p_ri = p_ri;
--- 392,397 ----
***************
*** 6284,6294 ****
--- 6283,6302 ----
if (VIsual_mode == Ctrl_V)
{
+ #ifdef FEAT_LINEBREAK
+ char_u * saved_sbr = p_sbr;
+
+ /* Make 'sbr' empty for a moment to get the correct size. */
+ p_sbr = empty_option;
+ #endif
oparg.is_VIsual = 1;
oparg.block_mode = TRUE;
oparg.op_type = OP_NOP;
getvcols(curwin, &min_pos, &max_pos,
&oparg.start_vcol, &oparg.end_vcol);
+ #ifdef FEAT_LINEBREAK
+ p_sbr = saved_sbr;
+ #endif
if (curwin->w_curswant == MAXCOL)
oparg.end_vcol = MAXCOL;
/* Swap the start, end vcol if needed */
*** ../vim-7.2.163/src/version.c Wed Apr 29 12:03:35 2009
--- src/version.c Wed Apr 29 17:38:05 2009
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 164,
/**/
--
There are 10 kinds of people: Those who understand binary and those who don't.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

58
7.2.165 Normal file
View File

@ -0,0 +1,58 @@
To: vim-dev@vim.org
Subject: Patch 7.2.165
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.165
Problem: The argument for the FuncUndefined autocmd event is expanded like
a file name.
Solution: Don't try expanding it. (Wang Xu)
Files: src/fileio.c
*** ../vim-7.2.164/src/fileio.c Wed Apr 29 11:00:09 2009
--- src/fileio.c Wed Apr 29 18:01:06 2009
***************
*** 8785,8793 ****
else
{
sfname = vim_strsave(fname);
! /* Don't try expanding FileType, Syntax, WindowID or QuickFixCmd* */
if (event == EVENT_FILETYPE
|| event == EVENT_SYNTAX
|| event == EVENT_REMOTEREPLY
|| event == EVENT_SPELLFILEMISSING
|| event == EVENT_QUICKFIXCMDPRE
--- 8785,8795 ----
else
{
sfname = vim_strsave(fname);
! /* Don't try expanding FileType, Syntax, FuncUndefined, WindowID or
! * QuickFixCmd* */
if (event == EVENT_FILETYPE
|| event == EVENT_SYNTAX
+ || event == EVENT_FUNCUNDEFINED
|| event == EVENT_REMOTEREPLY
|| event == EVENT_SPELLFILEMISSING
|| event == EVENT_QUICKFIXCMDPRE
*** ../vim-7.2.164/src/version.c Wed Apr 29 17:39:17 2009
--- src/version.c Wed Apr 29 18:00:43 2009
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 165,
/**/
--
Be nice to your kids... they'll be the ones choosing your nursing home.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

425
7.2.166 Normal file
View File

@ -0,0 +1,425 @@
To: vim-dev@vim.org
Subject: Patch 7.2.166
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.166
Problem: No completion for ":sign" command.
Solution: Add ":sign" completion. (Dominique Pelle)
Files: src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c, src/vim.h,
src/proto/ex_cmds.pro
*** ../vim-7.2.165/src/ex_cmds.c Tue Feb 24 04:28:40 2009
--- src/ex_cmds.c Wed Apr 29 17:08:27 2009
***************
*** 6543,6562 ****
static void sign_list_defined __ARGS((sign_T *sp));
static void sign_undefine __ARGS((sign_T *sp, sign_T *sp_prev));
! /*
! * ":sign" command
! */
! void
! ex_sign(eap)
! exarg_T *eap;
! {
! char_u *arg = eap->arg;
! char_u *p;
! int idx;
! sign_T *sp;
! sign_T *sp_prev;
! buf_T *buf;
! static char *cmds[] = {
"define",
#define SIGNCMD_DEFINE 0
"undefine",
--- 6543,6549 ----
static void sign_list_defined __ARGS((sign_T *sp));
static void sign_undefine __ARGS((sign_T *sp, sign_T *sp_prev));
! static char *cmds[] = {
"define",
#define SIGNCMD_DEFINE 0
"undefine",
***************
*** 6569,6590 ****
#define SIGNCMD_UNPLACE 4
"jump",
#define SIGNCMD_JUMP 5
#define SIGNCMD_LAST 6
! };
/* Parse the subcommand. */
p = skiptowhite(arg);
! if (*p != NUL)
! *p++ = NUL;
! for (idx = 0; ; ++idx)
{
! if (idx == SIGNCMD_LAST)
! {
! EMSG2(_("E160: Unknown sign command: %s"), arg);
! return;
! }
! if (STRCMP(arg, cmds[idx]) == 0)
! break;
}
arg = skipwhite(p);
--- 6556,6606 ----
#define SIGNCMD_UNPLACE 4
"jump",
#define SIGNCMD_JUMP 5
+ NULL
#define SIGNCMD_LAST 6
! };
!
! /*
! * Find index of a ":sign" subcmd from its name.
! * "*end_cmd" must be writable.
! */
! static int
! sign_cmd_idx(begin_cmd, end_cmd)
! char *begin_cmd; /* begin of sign subcmd */
! char *end_cmd; /* just after sign subcmd */
! {
! int idx;
! char save = *end_cmd;
!
! *end_cmd = NUL;
! for (idx = 0; ; ++idx)
! if (cmds[idx] == NULL || STRCMP(begin_cmd, cmds[idx]) == 0)
! break;
! *end_cmd = save;
! return idx;
! }
!
! /*
! * ":sign" command
! */
! void
! ex_sign(eap)
! exarg_T *eap;
! {
! char_u *arg = eap->arg;
! char_u *p;
! int idx;
! sign_T *sp;
! sign_T *sp_prev;
! buf_T *buf;
/* Parse the subcommand. */
p = skiptowhite(arg);
! idx = sign_cmd_idx(arg, p);
! if (idx == SIGNCMD_LAST)
{
! EMSG2(_("E160: Unknown sign command: %s"), arg);
! return;
}
arg = skipwhite(p);
***************
*** 7110,7115 ****
--- 7126,7311 ----
}
#endif
+ #if defined(FEAT_CMDL_COMPL) || defined(PROTO)
+ static enum
+ {
+ EXP_SUBCMD, /* expand :sign sub-commands */
+ EXP_DEFINE, /* expand :sign define {name} args */
+ EXP_PLACE, /* expand :sign place {id} args */
+ EXP_UNPLACE, /* expand :sign unplace" */
+ EXP_SIGN_NAMES /* expand with name of placed signs */
+ } expand_what;
+
+ /*
+ * Function given to ExpandGeneric() to obtain the sign command
+ * expansion.
+ */
+ /*ARGSUSED*/
+ char_u *
+ get_sign_name(xp, idx)
+ expand_T *xp;
+ int idx;
+ {
+ sign_T *sp;
+ int current_idx;
+
+ switch (expand_what)
+ {
+ case EXP_SUBCMD:
+ return (char_u *)cmds[idx];
+ case EXP_DEFINE:
+ {
+ char *define_arg[] =
+ {
+ "icon=", "linehl=", "text=", "texthl=", NULL
+ };
+ return (char_u *)define_arg[idx];
+ }
+ case EXP_PLACE:
+ {
+ char *place_arg[] =
+ {
+ "line=", "name=", "file=", "buffer=", NULL
+ };
+ return (char_u *)place_arg[idx];
+ }
+ case EXP_UNPLACE:
+ {
+ char *unplace_arg[] = { "file=", "buffer=", NULL };
+ return (char_u *)unplace_arg[idx];
+ }
+ case EXP_SIGN_NAMES:
+ /* Complete with name of signs already defined */
+ current_idx = 0;
+ for (sp = first_sign; sp != NULL; sp = sp->sn_next)
+ if (current_idx++ == idx)
+ return sp->sn_name;
+ return NULL;
+ default:
+ return NULL;
+ }
+ }
+
+ /*
+ * Handle command line completion for :sign command.
+ */
+ void
+ set_context_in_sign_cmd(xp, arg)
+ expand_T *xp;
+ char_u *arg;
+ {
+ char_u *p;
+ char_u *end_subcmd;
+ char_u *last;
+ int cmd_idx;
+ char_u *begin_subcmd_args;
+
+ /* Default: expand subcommands. */
+ xp->xp_context = EXPAND_SIGN;
+ expand_what = EXP_SUBCMD;
+ xp->xp_pattern = arg;
+
+ end_subcmd = skiptowhite(arg);
+ if (*end_subcmd == NUL)
+ /* expand subcmd name
+ * :sign {subcmd}<CTRL-D>*/
+ return;
+
+ cmd_idx = sign_cmd_idx(arg, end_subcmd);
+
+ /* :sign {subcmd} {subcmd_args}
+ * |
+ * begin_subcmd_args */
+ begin_subcmd_args = skipwhite(end_subcmd);
+ p = skiptowhite(begin_subcmd_args);
+ if (*p == NUL)
+ {
+ /*
+ * Expand first argument of subcmd when possible.
+ * For ":jump {id}" and ":unplace {id}", we could
+ * possibly expand the ids of all signs already placed.
+ */
+ xp->xp_pattern = begin_subcmd_args;
+ switch (cmd_idx)
+ {
+ case SIGNCMD_LIST:
+ case SIGNCMD_UNDEFINE:
+ /* :sign list <CTRL-D>
+ * :sign undefine <CTRL-D> */
+ expand_what = EXP_SIGN_NAMES;
+ break;
+ default:
+ xp->xp_context = EXPAND_NOTHING;
+ }
+ return;
+ }
+
+ /* expand last argument of subcmd */
+
+ /* :sign define {name} {args}...
+ * |
+ * p */
+
+ /* Loop until reaching last argument. */
+ do
+ {
+ p = skipwhite(p);
+ last = p;
+ p = skiptowhite(p);
+ } while (*p != NUL);
+
+ p = vim_strchr(last, '=');
+
+ /* :sign define {name} {args}... {last}=
+ * | |
+ * last p */
+ if (p == NUL)
+ {
+ /* Expand last argument name (before equal sign). */
+ xp->xp_pattern = last;
+ switch (cmd_idx)
+ {
+ case SIGNCMD_DEFINE:
+ expand_what = EXP_DEFINE;
+ break;
+ case SIGNCMD_PLACE:
+ expand_what = EXP_PLACE;
+ break;
+ case SIGNCMD_JUMP:
+ case SIGNCMD_UNPLACE:
+ expand_what = EXP_UNPLACE;
+ break;
+ default:
+ xp->xp_context = EXPAND_NOTHING;
+ }
+ }
+ else
+ {
+ /* Expand last argument value (after equal sign). */
+ xp->xp_pattern = p + 1;
+ switch (cmd_idx)
+ {
+ case SIGNCMD_DEFINE:
+ if (STRNCMP(last, "texthl", p - last) == 0 ||
+ STRNCMP(last, "linehl", p - last) == 0)
+ xp->xp_context = EXPAND_HIGHLIGHT;
+ else if (STRNCMP(last, "icon", p - last) == 0)
+ xp->xp_context = EXPAND_FILES;
+ else
+ xp->xp_context = EXPAND_NOTHING;
+ break;
+ case SIGNCMD_PLACE:
+ if (STRNCMP(last, "name", p - last) == 0)
+ expand_what = EXP_SIGN_NAMES;
+ else
+ xp->xp_context = EXPAND_NOTHING;
+ break;
+ default:
+ xp->xp_context = EXPAND_NOTHING;
+ }
+ }
+ }
+ #endif
#endif
#if defined(FEAT_GUI) || defined(FEAT_CLIENTSERVER) || defined(PROTO)
*** ../vim-7.2.165/src/ex_docmd.c Wed Apr 22 16:22:44 2009
--- src/ex_docmd.c Wed Apr 29 17:05:23 2009
***************
*** 3695,3700 ****
--- 3695,3705 ----
set_context_in_cscope_cmd(xp, arg, ea.cmdidx);
break;
#endif
+ #ifdef FEAT_SIGNS
+ case CMD_sign:
+ set_context_in_sign_cmd(xp, arg);
+ break;
+ #endif
#ifdef FEAT_LISTCMDS
case CMD_bdelete:
case CMD_bwipeout:
***************
*** 5218,5223 ****
--- 5223,5231 ----
{EXPAND_MENUS, "menu"},
{EXPAND_SETTINGS, "option"},
{EXPAND_SHELLCMD, "shellcmd"},
+ #if defined(FEAT_SIGNS)
+ {EXPAND_SIGN, "sign"},
+ #endif
{EXPAND_TAGS, "tag"},
{EXPAND_TAGS_LISTFILES, "tag_listfiles"},
{EXPAND_USER_VARS, "var"},
*** ../vim-7.2.165/src/ex_getln.c Wed Apr 29 12:03:35 2009
--- src/ex_getln.c Wed Apr 29 12:51:42 2009
***************
*** 325,331 ****
#endif
#ifdef FEAT_DIGRAPHS
! do_digraph(-1); /* init digraph typahead */
#endif
/*
--- 325,331 ----
#endif
#ifdef FEAT_DIGRAPHS
! do_digraph(-1); /* init digraph typeahead */
#endif
/*
***************
*** 4521,4526 ****
--- 4521,4529 ----
#ifdef FEAT_CSCOPE
{EXPAND_CSCOPE, get_cscope_name, TRUE},
#endif
+ #ifdef FEAT_SIGNS
+ {EXPAND_SIGN, get_sign_name, TRUE},
+ #endif
#if (defined(HAVE_LOCALE_H) || defined(X_LOCALE)) \
&& (defined(FEAT_GETTEXT) || defined(FEAT_MBYTE))
{EXPAND_LANGUAGE, get_lang_arg, TRUE},
*** ../vim-7.2.165/src/vim.h Wed Mar 18 12:50:58 2009
--- src/vim.h Wed Apr 29 12:51:42 2009
***************
*** 709,714 ****
--- 709,715 ----
#define EXPAND_USER_LIST 31
#define EXPAND_SHELLCMD 32
#define EXPAND_CSCOPE 33
+ #define EXPAND_SIGN 34
/* Values for exmode_active (0 is no exmode) */
#define EXMODE_NORMAL 1
*** ../vim-7.2.165/src/proto/ex_cmds.pro Tue Feb 24 04:28:40 2009
--- src/proto/ex_cmds.pro Wed Apr 29 17:10:29 2009
***************
*** 40,46 ****
int read_viminfo_sub_string __ARGS((vir_T *virp, int force));
void write_viminfo_sub_string __ARGS((FILE *fp));
void free_old_sub __ARGS((void));
- void free_signs __ARGS((void));
int prepare_tagpreview __ARGS((int undo_sync));
void ex_help __ARGS((exarg_T *eap));
char_u *check_help_lang __ARGS((char_u *arg));
--- 40,45 ----
***************
*** 56,60 ****
--- 55,62 ----
char_u *sign_get_text __ARGS((int typenr));
void *sign_get_image __ARGS((int typenr));
char_u *sign_typenr2name __ARGS((int typenr));
+ void free_signs __ARGS((void));
+ char_u *get_sign_name __ARGS((expand_T *xp, int idx));
+ void set_context_in_sign_cmd __ARGS((expand_T *xp, char_u *arg));
void ex_drop __ARGS((exarg_T *eap));
/* vim: set ft=c : */
*** ../vim-7.2.165/src/version.c Wed Apr 29 18:01:23 2009
--- src/version.c Wed Apr 29 18:43:14 2009
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 166,
/**/
--
Did you ever stop to think... and forget to start again?
-- Steven Wright
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

1873
7.2.167 Normal file

File diff suppressed because it is too large Load Diff

74
7.2.168 Normal file
View File

@ -0,0 +1,74 @@
To: vim-dev@vim.org
Subject: Patch 7.2.168
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.168
Problem: When no ctags program can be found, "make tags" attempts to
execute the first C file.
Solution: Default to "ctags" when no ctags program can be found.
Files: src/configure.in, src/auto/configure
*** ../vim-7.2.167/src/configure.in 2009-04-22 17:50:53.000000000 +0200
--- src/configure.in 2009-05-05 17:46:45.000000000 +0200
***************
*** 2968,2974 ****
dnl Link with xpg4, it is said to make Korean locale working
AC_CHECK_LIB(xpg4, _xpg4_setrunelocale, [LIBS="$LIBS -lxpg4"],,)
! dnl Check how we can run ctags
dnl --version for Exuberant ctags (preferred)
dnl Add --fields=+S to get function signatures for omni completion.
dnl -t for typedefs (many ctags have this)
--- 2968,2974 ----
dnl Link with xpg4, it is said to make Korean locale working
AC_CHECK_LIB(xpg4, _xpg4_setrunelocale, [LIBS="$LIBS -lxpg4"],,)
! dnl Check how we can run ctags. Default to "ctags" when nothing works.
dnl --version for Exuberant ctags (preferred)
dnl Add --fields=+S to get function signatures for omni completion.
dnl -t for typedefs (many ctags have this)
***************
*** 2980,2985 ****
--- 2980,2986 ----
if (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&AC_FD_CC 2>&1; then
TAGPRG="ctags -I INIT+ --fields=+S"
else
+ TAGPRG="ctags"
(eval etags /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="etags"
(eval etags -c /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="etags -c"
(eval ctags /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags"
*** ../vim-7.2.167/src/auto/configure 2009-04-22 17:50:53.000000000 +0200
--- src/auto/configure 2009-05-13 14:38:10.000000000 +0200
***************
*** 15707,15712 ****
--- 15723,15729 ----
if (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&5 2>&1; then
TAGPRG="ctags -I INIT+ --fields=+S"
else
+ TAGPRG="ctags"
(eval etags /dev/null) < /dev/null 1>&5 2>&1 && TAGPRG="etags"
(eval etags -c /dev/null) < /dev/null 1>&5 2>&1 && TAGPRG="etags -c"
(eval ctags /dev/null) < /dev/null 1>&5 2>&1 && TAGPRG="ctags"
*** ../vim-7.2.167/src/version.c 2009-05-13 12:46:36.000000000 +0200
--- src/version.c 2009-05-13 14:46:35.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 168,
/**/
--
Zen Microsystems: we're the om in .commmmmmmmm
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

1214
7.2.169 Normal file

File diff suppressed because it is too large Load Diff

179
7.2.170 Normal file
View File

@ -0,0 +1,179 @@
To: vim-dev@vim.org
Subject: Patch 7.2.170
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.170
Problem: Using b_dev while it was not set. (Dominique Pelle)
Solution: Add the b_dev_valid flag.
Files: src/buffer.c, src/fileio.c, src/structs.h
*** ../vim-7.2.169/src/buffer.c 2009-05-13 12:46:36.000000000 +0200
--- src/buffer.c 2009-05-13 20:23:51.000000000 +0200
***************
*** 1678,1686 ****
buf->b_fname = buf->b_sfname;
#ifdef UNIX
if (st.st_dev == (dev_T)-1)
! buf->b_dev = -1;
else
{
buf->b_dev = st.st_dev;
buf->b_ino = st.st_ino;
}
--- 1678,1687 ----
buf->b_fname = buf->b_sfname;
#ifdef UNIX
if (st.st_dev == (dev_T)-1)
! buf->b_dev_valid = FALSE;
else
{
+ buf->b_dev_valid = TRUE;
buf->b_dev = st.st_dev;
buf->b_ino = st.st_ino;
}
***************
*** 2693,2701 ****
buf->b_fname = buf->b_sfname;
#ifdef UNIX
if (st.st_dev == (dev_T)-1)
! buf->b_dev = -1;
else
{
buf->b_dev = st.st_dev;
buf->b_ino = st.st_ino;
}
--- 2694,2703 ----
buf->b_fname = buf->b_sfname;
#ifdef UNIX
if (st.st_dev == (dev_T)-1)
! buf->b_dev_valid = FALSE;
else
{
+ buf->b_dev_valid = TRUE;
buf->b_dev = st.st_dev;
buf->b_ino = st.st_ino;
}
***************
*** 2889,2895 ****
/* If no struct stat given, get it now */
if (stp == NULL)
{
! if (buf->b_dev < 0 || mch_stat((char *)ffname, &st) < 0)
st.st_dev = (dev_T)-1;
stp = &st;
}
--- 2891,2897 ----
/* If no struct stat given, get it now */
if (stp == NULL)
{
! if (!buf->b_dev_valid || mch_stat((char *)ffname, &st) < 0)
st.st_dev = (dev_T)-1;
stp = &st;
}
***************
*** 2926,2936 ****
if (buf->b_fname != NULL && mch_stat((char *)buf->b_fname, &st) >= 0)
{
buf->b_dev = st.st_dev;
buf->b_ino = st.st_ino;
}
else
! buf->b_dev = -1;
}
/*
--- 2928,2939 ----
if (buf->b_fname != NULL && mch_stat((char *)buf->b_fname, &st) >= 0)
{
+ buf->b_dev_valid = TRUE;
buf->b_dev = st.st_dev;
buf->b_ino = st.st_ino;
}
else
! buf->b_dev_valid = FALSE;
}
/*
***************
*** 2941,2947 ****
buf_T *buf;
struct stat *stp;
{
! return (buf->b_dev >= 0
&& stp->st_dev == buf->b_dev
&& stp->st_ino == buf->b_ino);
}
--- 2944,2950 ----
buf_T *buf;
struct stat *stp;
{
! return (buf->b_dev_valid
&& stp->st_dev == buf->b_dev
&& stp->st_ino == buf->b_ino);
}
*** ../vim-7.2.169/src/fileio.c 2009-04-29 18:01:23.000000000 +0200
--- src/fileio.c 2009-05-13 20:24:08.000000000 +0200
***************
*** 4416,4422 ****
# endif
buf_setino(buf);
}
! else if (buf->b_dev < 0)
/* Set the inode when creating a new file. */
buf_setino(buf);
#endif
--- 4416,4422 ----
# endif
buf_setino(buf);
}
! else if (!buf->b_dev_valid)
/* Set the inode when creating a new file. */
buf_setino(buf);
#endif
*** ../vim-7.2.169/src/structs.h 2009-05-13 18:54:14.000000000 +0200
--- src/structs.h 2009-05-13 20:24:54.000000000 +0200
***************
*** 1166,1172 ****
char_u *b_fname; /* current file name */
#ifdef UNIX
! dev_t b_dev; /* device number (-1 if not set) */
ino_t b_ino; /* inode number */
#endif
#ifdef FEAT_CW_EDITOR
--- 1166,1173 ----
char_u *b_fname; /* current file name */
#ifdef UNIX
! int b_dev_valid; /* TRUE when b_dev has a valid number */
! dev_t b_dev; /* device number */
ino_t b_ino; /* inode number */
#endif
#ifdef FEAT_CW_EDITOR
*** ../vim-7.2.169/src/version.c 2009-05-13 18:54:14.000000000 +0200
--- src/version.c 2009-05-13 20:43:22.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 170,
/**/
--
A special cleaning ordinance bans housewives from hiding dirt and dust under a
rug in a dwelling.
[real standing law in Pennsylvania, United States of America]
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

80
7.2.171 Normal file
View File

@ -0,0 +1,80 @@
To: vim-dev@vim.org
Subject: Patch 7.2.171
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.171 (after 7.2.169)
Problem: Compiler warnings. (Tony Mechelynck)
Solution: Add function prototype. (Patrick Texier) Init variable.
Files: src/ex_cmds.c
*** ../vim-7.2.170/src/ex_cmds.c 2009-05-13 18:54:14.000000000 +0200
--- src/ex_cmds.c 2009-05-14 21:11:01.000000000 +0200
***************
*** 4637,4643 ****
if (do_ask)
{
! int typed;
/* change State to CONFIRM, so that the mouse works
* properly */
--- 4635,4641 ----
if (do_ask)
{
! int typed = 0;
/* change State to CONFIRM, so that the mouse works
* properly */
***************
*** 6553,6558 ****
--- 6549,6555 ----
static sign_T *first_sign = NULL;
static int last_sign_typenr = MAX_TYPENR; /* is decremented */
+ static int sign_cmd_idx __ARGS((char_u *begin_cmd, char_u *end_cmd));
static void sign_list_defined __ARGS((sign_T *sp));
static void sign_undefine __ARGS((sign_T *sp, sign_T *sp_prev));
***************
*** 6579,6586 ****
*/
static int
sign_cmd_idx(begin_cmd, end_cmd)
! char *begin_cmd; /* begin of sign subcmd */
! char *end_cmd; /* just after sign subcmd */
{
int idx;
char save = *end_cmd;
--- 6576,6583 ----
*/
static int
sign_cmd_idx(begin_cmd, end_cmd)
! char_u *begin_cmd; /* begin of sign subcmd */
! char_u *end_cmd; /* just after sign subcmd */
{
int idx;
char save = *end_cmd;
*** ../vim-7.2.170/src/version.c 2009-05-13 20:47:07.000000000 +0200
--- src/version.c 2009-05-14 21:49:22.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 171,
/**/
--
Living on Earth includes an annual free trip around the Sun.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

59
7.2.172 Normal file
View File

@ -0,0 +1,59 @@
To: vim-dev@vim.org
Subject: Patch 7.2.172 (extra)
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.172 (extra)
Problem: Compiler warning.
Solution: Adjust function prototype. (Patrick Texier)
Files: src/os_mswin.c
*** ../vim-7.2.171/src/os_mswin.c 2009-01-22 21:49:21.000000000 +0100
--- src/os_mswin.c 2009-05-14 20:54:32.000000000 +0200
***************
*** 1227,1234 ****
* Wait for another process to Close the Clipboard.
* Returns TRUE for success.
*/
! int
! vim_open_clipboard()
{
int delay = 10;
--- 1227,1234 ----
* Wait for another process to Close the Clipboard.
* Returns TRUE for success.
*/
! static int
! vim_open_clipboard(void)
{
int delay = 10;
*** ../vim-7.2.171/src/version.c 2009-05-14 21:51:06.000000000 +0200
--- src/version.c 2009-05-14 21:59:45.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 172,
/**/
--
FROG: How you English say: I one more time, mac, I unclog my nose towards
you, sons of a window-dresser, so, you think you could out-clever us
French fellows with your silly knees-bent creeping about advancing
behaviour. (blows a raspberry) I wave my private parts at your aunties,
you brightly-coloured, mealy-templed, cranberry-smelling, electric
donkey-bottom biters.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

719
7.2.173 Normal file
View File

@ -0,0 +1,719 @@
To: vim-dev@vim.org
Subject: Patch 7.2.173
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.173
Problem: Without lint there is no check for unused function arguments.
Solution: Use gcc -Wunused-parameter instead of lint. For a few files add
attributes to arguments that are known not to be used.
Files: src/auto/configure, src/buffer.c, src/charset.c, src/diff.c,
src/configure.in, src/config.h.in, src/edit.c, src/ex_cmds.c,
src/ex_cmds2.c, src/version.c, src/vim.h
*** ../vim-7.2.172/src/auto/configure 2009-05-13 14:48:55.000000000 +0200
--- src/auto/configure 2009-05-14 22:08:12.000000000 +0200
***************
*** 10362,10367 ****
--- 10372,10427 ----
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ { $as_echo "$as_me:$LINENO: checking whether __attribute__((unused)) is allowed" >&5
+ $as_echo_n "checking whether __attribute__((unused)) is allowed... " >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+ #include <stdio.h>
+ int
+ main ()
+ {
+ int x __attribute__((unused));
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (ac_try="$ac_compile"
+ case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+ esac
+ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+ $as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+ $as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF
+ #define HAVE_ATTRIBUTE_UNUSED 1
+ _ACEOF
+
+ else
+ $as_echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+ $as_echo "no" >&6; }
+ fi
+
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
if test "${ac_cv_header_elf_h+set}" = set; then
{ $as_echo "$as_me:$LINENO: checking for elf.h" >&5
$as_echo_n "checking for elf.h... " >&6; }
*** ../vim-7.2.172/src/buffer.c 2009-05-13 20:47:07.000000000 +0200
--- src/buffer.c 2009-05-14 21:34:06.000000000 +0200
***************
*** 512,523 ****
* buf_freeall() - free all things allocated for a buffer that are related to
* the file.
*/
- /*ARGSUSED*/
void
buf_freeall(buf, del_buf, wipe_buf)
buf_T *buf;
! int del_buf; /* buffer is going to be deleted */
! int wipe_buf; /* buffer is going to be wiped out */
{
#ifdef FEAT_AUTOCMD
int is_curbuf = (buf == curbuf);
--- 512,522 ----
* buf_freeall() - free all things allocated for a buffer that are related to
* the file.
*/
void
buf_freeall(buf, del_buf, wipe_buf)
buf_T *buf;
! int del_buf UNUSED; /* buffer is going to be deleted */
! int wipe_buf UNUSED; /* buffer is going to be wiped out */
{
#ifdef FEAT_AUTOCMD
int is_curbuf = (buf == curbuf);
***************
*** 2437,2447 ****
* another tab page.
* Returns NULL when there isn't any info.
*/
- /*ARGSUSED*/
static wininfo_T *
find_wininfo(buf, skip_diff_buffer)
buf_T *buf;
! int skip_diff_buffer;
{
wininfo_T *wip;
--- 2436,2445 ----
* another tab page.
* Returns NULL when there isn't any info.
*/
static wininfo_T *
find_wininfo(buf, skip_diff_buffer)
buf_T *buf;
! int skip_diff_buffer UNUSED;
{
wininfo_T *wip;
***************
*** 4278,4287 ****
* Make "ffname" a full file name, set "sfname" to "ffname" if not NULL.
* "ffname" becomes a pointer to allocated memory (or NULL).
*/
- /*ARGSUSED*/
void
fname_expand(buf, ffname, sfname)
! buf_T *buf;
char_u **ffname;
char_u **sfname;
{
--- 4276,4284 ----
* Make "ffname" a full file name, set "sfname" to "ffname" if not NULL.
* "ffname" becomes a pointer to allocated memory (or NULL).
*/
void
fname_expand(buf, ffname, sfname)
! buf_T *buf UNUSED;
char_u **ffname;
char_u **sfname;
{
***************
*** 5577,5587 ****
* this buffer. Call this to wipe out a temp buffer that does not contain any
* marks.
*/
- /*ARGSUSED*/
void
wipe_buffer(buf, aucmd)
buf_T *buf;
! int aucmd; /* When TRUE trigger autocommands. */
{
if (buf->b_fnum == top_file_num - 1)
--top_file_num;
--- 5574,5583 ----
* this buffer. Call this to wipe out a temp buffer that does not contain any
* marks.
*/
void
wipe_buffer(buf, aucmd)
buf_T *buf;
! int aucmd UNUSED; /* When TRUE trigger autocommands. */
{
if (buf->b_fnum == top_file_num - 1)
--top_file_num;
*** ../vim-7.2.172/src/charset.c 2009-05-13 14:10:46.000000000 +0200
--- src/charset.c 2009-05-14 21:34:30.000000000 +0200
***************
*** 1026,1038 ****
* string at start of line. Warning: *headp is only set if it's a non-zero
* value, init to 0 before calling.
*/
- /*ARGSUSED*/
int
win_lbr_chartabsize(wp, s, col, headp)
win_T *wp;
char_u *s;
colnr_T col;
! int *headp;
{
#ifdef FEAT_LINEBREAK
int c;
--- 1026,1037 ----
* string at start of line. Warning: *headp is only set if it's a non-zero
* value, init to 0 before calling.
*/
int
win_lbr_chartabsize(wp, s, col, headp)
win_T *wp;
char_u *s;
colnr_T col;
! int *headp UNUSED;
{
#ifdef FEAT_LINEBREAK
int c;
*** ../vim-7.2.172/src/diff.c 2009-05-13 18:54:14.000000000 +0200
--- src/diff.c 2009-05-14 21:24:59.000000000 +0200
***************
*** 652,661 ****
* The buffers are written to a file, also for unmodified buffers (the file
* could have been produced by autocommands, e.g. the netrw plugin).
*/
- /*ARGSUSED*/
void
ex_diffupdate(eap)
! exarg_T *eap; /* can be NULL, it's not used */
{
buf_T *buf;
int idx_orig;
--- 652,660 ----
* The buffers are written to a file, also for unmodified buffers (the file
* could have been produced by autocommands, e.g. the netrw plugin).
*/
void
ex_diffupdate(eap)
! exarg_T *eap UNUSED; /* can be NULL */
{
buf_T *buf;
int idx_orig;
***************
*** 1094,1103 ****
/*
* Set options to show difs for the current window.
*/
- /*ARGSUSED*/
void
ex_diffthis(eap)
! exarg_T *eap;
{
/* Set 'diff', 'scrollbind' on and 'wrap' off. */
diff_win_options(curwin, TRUE);
--- 1093,1101 ----
/*
* Set options to show difs for the current window.
*/
void
ex_diffthis(eap)
! exarg_T *eap UNUSED;
{
/* Set 'diff', 'scrollbind' on and 'wrap' off. */
diff_win_options(curwin, TRUE);
*** ../vim-7.2.172/src/configure.in 2009-05-13 14:48:55.000000000 +0200
--- src/configure.in 2009-05-14 22:08:06.000000000 +0200
***************
*** 2067,2072 ****
--- 2067,2077 ----
AC_MSG_RESULT(yes); AC_DEFINE(HAVE_DATE_TIME),
AC_MSG_RESULT(no))
+ AC_MSG_CHECKING(whether __attribute__((unused)) is allowed)
+ AC_TRY_COMPILE([#include <stdio.h>], [int x __attribute__((unused));],
+ AC_MSG_RESULT(yes); AC_DEFINE(HAVE_ATTRIBUTE_UNUSED),
+ AC_MSG_RESULT(no))
+
dnl Checks for header files.
AC_CHECK_HEADER(elf.h, HAS_ELF=1)
dnl AC_CHECK_HEADER(dwarf.h, SVR4=1)
*** ../vim-7.2.172/src/config.h.in 2009-03-02 02:44:54.000000000 +0100
--- src/config.h.in 2009-05-14 21:15:02.000000000 +0200
***************
*** 30,35 ****
--- 30,38 ----
/* Define when __DATE__ " " __TIME__ can be used */
#undef HAVE_DATE_TIME
+ /* Define when __attribute__((unused)) can be used */
+ #undef HAVE_ATTRIBUTE_UNUSED
+
/* defined always when using configure */
#undef UNIX
*** ../vim-7.2.172/src/edit.c 2009-05-13 18:54:14.000000000 +0200
--- src/edit.c 2009-05-14 21:35:08.000000000 +0200
***************
*** 1447,1456 ****
* Only redraw when there are no characters available. This speeds up
* inserting sequences of characters (e.g., for CTRL-R).
*/
- /*ARGSUSED*/
static void
ins_redraw(ready)
! int ready; /* not busy with something */
{
if (!char_avail())
{
--- 1447,1455 ----
* Only redraw when there are no characters available. This speeds up
* inserting sequences of characters (e.g., for CTRL-R).
*/
static void
ins_redraw(ready)
! int ready UNUSED; /* not busy with something */
{
if (!char_avail())
{
***************
*** 1962,1971 ****
* Only matters when there are composing characters.
* Return TRUE when something was deleted.
*/
- /*ARGSUSED*/
static int
del_char_after_col(limit_col)
! int limit_col;
{
#ifdef FEAT_MBYTE
if (enc_utf8 && limit_col >= 0)
--- 1961,1969 ----
* Only matters when there are composing characters.
* Return TRUE when something was deleted.
*/
static int
del_char_after_col(limit_col)
! int limit_col UNUSED;
{
#ifdef FEAT_MBYTE
if (enc_utf8 && limit_col >= 0)
*** ../vim-7.2.172/src/ex_cmds.c 2009-05-14 21:51:06.000000000 +0200
--- src/ex_cmds.c 2009-05-14 21:11:01.000000000 +0200
***************
*** 43,52 ****
/*
* ":ascii" and "ga".
*/
- /*ARGSUSED*/
void
do_ascii(eap)
! exarg_T *eap;
{
int c;
int cval;
--- 43,51 ----
/*
* ":ascii" and "ga".
*/
void
do_ascii(eap)
! exarg_T *eap UNUSED;
{
int c;
int cval;
***************
*** 2373,2382 ****
* ^? ^H
* not ^? ^?
*/
- /*ARGSUSED*/
void
do_fixdel(eap)
! exarg_T *eap;
{
char_u *p;
--- 2372,2380 ----
* ^? ^H
* not ^? ^?
*/
void
do_fixdel(eap)
! exarg_T *eap UNUSED;
{
char_u *p;
***************
*** 6127,6136 ****
/*
* ":exusage"
*/
- /*ARGSUSED*/
void
ex_exusage(eap)
! exarg_T *eap;
{
do_cmdline_cmd((char_u *)"help ex-cmd-index");
}
--- 6125,6133 ----
/*
* ":exusage"
*/
void
ex_exusage(eap)
! exarg_T *eap UNUSED;
{
do_cmdline_cmd((char_u *)"help ex-cmd-index");
}
***************
*** 6138,6147 ****
/*
* ":viusage"
*/
- /*ARGSUSED*/
void
ex_viusage(eap)
! exarg_T *eap;
{
do_cmdline_cmd((char_u *)"help normal-index");
}
--- 6135,6143 ----
/*
* ":viusage"
*/
void
ex_viusage(eap)
! exarg_T *eap UNUSED;
{
do_cmdline_cmd((char_u *)"help normal-index");
}
***************
*** 7154,7163 ****
* Function given to ExpandGeneric() to obtain the sign command
* expansion.
*/
- /*ARGSUSED*/
char_u *
get_sign_name(xp, idx)
! expand_T *xp;
int idx;
{
sign_T *sp;
--- 7150,7158 ----
* Function given to ExpandGeneric() to obtain the sign command
* expansion.
*/
char_u *
get_sign_name(xp, idx)
! expand_T *xp UNUSED;
int idx;
{
sign_T *sp;
*** ../vim-7.2.172/src/ex_cmds2.c 2009-05-13 18:54:14.000000000 +0200
--- src/ex_cmds2.c 2009-05-14 21:35:40.000000000 +0200
***************
*** 680,689 ****
/*
* ":breaklist".
*/
- /*ARGSUSED*/
void
ex_breaklist(eap)
! exarg_T *eap;
{
struct debuggy *bp;
int i;
--- 680,688 ----
/*
* ":breaklist".
*/
void
ex_breaklist(eap)
! exarg_T *eap UNUSED;
{
struct debuggy *bp;
int i;
***************
*** 1342,1355 ****
/*
* return TRUE if buffer was changed and cannot be abandoned.
*/
- /*ARGSUSED*/
int
check_changed(buf, checkaw, mult_win, forceit, allbuf)
buf_T *buf;
int checkaw; /* do autowrite if buffer was changed */
int mult_win; /* check also when several wins for the buf */
int forceit;
! int allbuf; /* may write all buffers */
{
if ( !forceit
&& bufIsChanged(buf)
--- 1341,1353 ----
/*
* return TRUE if buffer was changed and cannot be abandoned.
*/
int
check_changed(buf, checkaw, mult_win, forceit, allbuf)
buf_T *buf;
int checkaw; /* do autowrite if buffer was changed */
int mult_win; /* check also when several wins for the buf */
int forceit;
! int allbuf UNUSED; /* may write all buffers */
{
if ( !forceit
&& bufIsChanged(buf)
***************
*** 1759,1770 ****
*
* Return FAIL for failure, OK otherwise.
*/
- /*ARGSUSED*/
static int
do_arglist(str, what, after)
char_u *str;
! int what;
! int after; /* 0 means before first one */
{
garray_T new_ga;
int exp_count;
--- 1757,1767 ----
*
* Return FAIL for failure, OK otherwise.
*/
static int
do_arglist(str, what, after)
char_u *str;
! int what UNUSED;
! int after UNUSED; /* 0 means before first one */
{
garray_T new_ga;
int exp_count;
***************
*** 2549,2559 ****
static void source_callback __ARGS((char_u *fname, void *cookie));
- /*ARGSUSED*/
static void
source_callback(fname, cookie)
char_u *fname;
! void *cookie;
{
(void)do_source(fname, FALSE, DOSO_NONE);
}
--- 2546,2555 ----
static void source_callback __ARGS((char_u *fname, void *cookie));
static void
source_callback(fname, cookie)
char_u *fname;
! void *cookie UNUSED;
{
(void)do_source(fname, FALSE, DOSO_NONE);
}
***************
*** 2680,2689 ****
/*
* ":options"
*/
- /*ARGSUSED*/
void
ex_options(eap)
! exarg_T *eap;
{
cmd_source((char_u *)SYS_OPTWIN_FILE, NULL);
}
--- 2676,2684 ----
/*
* ":options"
*/
void
ex_options(eap)
! exarg_T *eap UNUSED;
{
cmd_source((char_u *)SYS_OPTWIN_FILE, NULL);
}
***************
*** 3190,3199 ****
/*
* ":scriptnames"
*/
- /*ARGSUSED*/
void
ex_scriptnames(eap)
! exarg_T *eap;
{
int i;
--- 3185,3193 ----
/*
* ":scriptnames"
*/
void
ex_scriptnames(eap)
! exarg_T *eap UNUSED;
{
int i;
***************
*** 3317,3328 ****
* Return a pointer to the line in allocated memory.
* Return NULL for end-of-file or some error.
*/
- /* ARGSUSED */
char_u *
getsourceline(c, cookie, indent)
! int c; /* not used */
void *cookie;
! int indent; /* not used */
{
struct source_cookie *sp = (struct source_cookie *)cookie;
char_u *line;
--- 3311,3321 ----
* Return a pointer to the line in allocated memory.
* Return NULL for end-of-file or some error.
*/
char_u *
getsourceline(c, cookie, indent)
! int c UNUSED;
void *cookie;
! int indent UNUSED;
{
struct source_cookie *sp = (struct source_cookie *)cookie;
char_u *line;
***************
*** 3649,3658 ****
* ":scriptencoding": Set encoding conversion for a sourced script.
* Without the multi-byte feature it's simply ignored.
*/
- /*ARGSUSED*/
void
ex_scriptencoding(eap)
! exarg_T *eap;
{
#ifdef FEAT_MBYTE
struct source_cookie *sp;
--- 3642,3650 ----
* ":scriptencoding": Set encoding conversion for a sourced script.
* Without the multi-byte feature it's simply ignored.
*/
void
ex_scriptencoding(eap)
! exarg_T *eap UNUSED;
{
#ifdef FEAT_MBYTE
struct source_cookie *sp;
***************
*** 4101,4110 ****
* Function given to ExpandGeneric() to obtain the possible arguments of the
* ":language" command.
*/
- /*ARGSUSED*/
char_u *
get_lang_arg(xp, idx)
! expand_T *xp;
int idx;
{
if (idx == 0)
--- 4093,4101 ----
* Function given to ExpandGeneric() to obtain the possible arguments of the
* ":language" command.
*/
char_u *
get_lang_arg(xp, idx)
! expand_T *xp UNUSED;
int idx;
{
if (idx == 0)
*** ../vim-7.2.172/src/version.c 2009-05-14 22:00:37.000000000 +0200
--- src/version.c 2009-05-14 22:14:51.000000000 +0200
***************
*** 1623,1632 ****
/*
* ":intro": clear screen, display intro screen and wait for return.
*/
- /*ARGSUSED*/
void
ex_intro(eap)
! exarg_T *eap;
{
screenclear();
intro_message(TRUE);
--- 1625,1633 ----
/*
* ":intro": clear screen, display intro screen and wait for return.
*/
void
ex_intro(eap)
! exarg_T *eap UNUSED;
{
screenclear();
intro_message(TRUE);
*** ../vim-7.2.172/src/vim.h 2009-05-13 18:54:14.000000000 +0200
--- src/vim.h 2009-05-14 21:17:51.000000000 +0200
***************
*** 262,267 ****
--- 262,275 ----
# define __PARMS(x) __ARGS(x)
#endif
+ /* Mark unused function arguments with UNUSED, so that gcc -Wunused-parameter
+ * can be used to check for mistakes. */
+ #ifdef HAVE_ATTRIBUTE_UNUSED
+ # define UNUSED __attribute__((unused))
+ #else
+ # define UNUSED
+ #endif
+
/* if we're compiling in C++ (currently only KVim), the system
* headers must have the correct prototypes or nothing will build.
* conversely, our prototypes might clash due to throw() specifiers and
*** ../vim-7.2.172/src/version.c 2009-05-14 22:00:37.000000000 +0200
--- src/version.c 2009-05-14 22:14:51.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 173,
/**/
--
SIGIRO -- irony detected (iron core dumped)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

1718
7.2.174 Normal file

File diff suppressed because it is too large Load Diff

51
7.2.175 Normal file
View File

@ -0,0 +1,51 @@
To: vim-dev@vim.org
Subject: Patch 7.2.175
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.175
Problem: Compiler warning in OpenBSD.
Solution: Add type cast for NULL. (Dasn)
Files: src/if_cscope.c
*** ../vim-7.2.174/src/if_cscope.c 2009-04-22 16:22:44.000000000 +0200
--- src/if_cscope.c 2009-05-16 16:15:03.000000000 +0200
***************
*** 994,1000 ****
vim_free(ppath);
#if defined(UNIX)
! if (execl("/bin/sh", "sh", "-c", cmd, NULL) == -1)
PERROR(_("cs_create_connection exec failed"));
exit(127);
--- 994,1000 ----
vim_free(ppath);
#if defined(UNIX)
! if (execl("/bin/sh", "sh", "-c", cmd, (char *)NULL) == -1)
PERROR(_("cs_create_connection exec failed"));
exit(127);
*** ../vim-7.2.174/src/version.c 2009-05-15 21:31:11.000000000 +0200
--- src/version.c 2009-05-16 16:13:15.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 175,
/**/
--
Every time I lose weight, it finds me again!
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

207
7.2.176 Normal file
View File

@ -0,0 +1,207 @@
To: vim-dev@vim.org
Subject: Patch 7.2.176
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.176
Problem: Exceptions for splint are not useful.
Solution: Remove the S_SPLINT_S ifdefs.
Files: src/edit.c, src/ex_cmds.c, src/ex_docmd.c, src/os_unix.c,
src/os_unix.h, src/os_unixx.h, src/structs.h, src/term.h
*** ../vim-7.2.175/src/edit.c 2009-05-15 21:31:11.000000000 +0200
--- src/edit.c 2009-05-16 16:18:35.000000000 +0200
***************
*** 69,79 ****
compl_T *cp_prev;
char_u *cp_str; /* matched text */
char cp_icase; /* TRUE or FALSE: ignore case */
- #ifdef S_SPLINT_S /* splint can't handle array of pointers */
- char_u **cp_text; /* text for the menu */
- #else
char_u *(cp_text[CPT_COUNT]); /* text for the menu */
- #endif
char_u *cp_fname; /* file containing the match, allocated when
* cp_flags has FREE_FNAME */
int cp_flags; /* ORIGINAL_TEXT, CONT_S_IPOS or FREE_FNAME */
--- 69,75 ----
***************
*** 3835,3845 ****
char_u *word;
int icase = FALSE;
int adup = FALSE;
- #ifdef S_SPLINT_S /* splint doesn't parse array of pointers correctly */
- char_u **cptext;
- #else
char_u *(cptext[CPT_COUNT]);
- #endif
if (tv->v_type == VAR_DICT && tv->vval.v_dict != NULL)
{
--- 3831,3837 ----
*** ../vim-7.2.175/src/ex_cmds.c 2009-05-15 21:31:11.000000000 +0200
--- src/ex_cmds.c 2009-05-16 16:18:56.000000000 +0200
***************
*** 5776,5785 ****
{
char_u *s, *d;
int i;
- #ifdef S_SPLINT_S /* splint doesn't understand array of pointers */
- static char **mtable;
- static char **rtable;
- #else
static char *(mtable[]) = {"*", "g*", "[*", "]*", ":*",
"/*", "/\\*", "\"*", "**",
"/\\(\\)",
--- 5776,5781 ----
***************
*** 5794,5800 ****
"/\\\\?", "/\\\\z(\\\\)", "\\\\=", ":s\\\\=",
"\\[count]", "\\[quotex]", "\\[range]",
"\\[pattern]", "\\\\bar", "/\\\\%\\$"};
- #endif
int flags;
d = IObuff; /* assume IObuff is long enough! */
--- 5790,5795 ----
*** ../vim-7.2.175/src/ex_docmd.c 2009-05-15 21:31:11.000000000 +0200
--- src/ex_docmd.c 2009-05-16 16:19:26.000000000 +0200
***************
*** 9395,9407 ****
{
int len;
int i;
! #ifdef S_SPLINT_S /* splint can't handle array of pointers */
! static char **spec_str;
! static char *(nospec_str[])
! #else
! static char *(spec_str[])
! #endif
! = {
"%",
#define SPEC_PERC 0
"#",
--- 9395,9401 ----
{
int len;
int i;
! static char *(spec_str[]) = {
"%",
#define SPEC_PERC 0
"#",
*** ../vim-7.2.175/src/os_unix.c 2009-05-15 21:31:11.000000000 +0200
--- src/os_unix.c 2009-05-16 16:20:00.000000000 +0200
***************
*** 199,207 ****
#endif
#ifndef SIG_ERR
! # ifndef S_SPLINT_S
! # define SIG_ERR ((RETSIGTYPE (*)())-1)
! # endif
#endif
/* volatile because it is used in signal handler sig_winch(). */
--- 199,205 ----
#endif
#ifndef SIG_ERR
! # define SIG_ERR ((RETSIGTYPE (*)())-1)
#endif
/* volatile because it is used in signal handler sig_winch(). */
***************
*** 443,451 ****
#if defined(HAVE_TOTAL_MEM) || defined(PROTO)
# ifdef HAVE_SYS_RESOURCE_H
! # ifndef S_SPLINT_S /* splint crashes on bits/resource.h */
! # include <sys/resource.h>
! # endif
# endif
# if defined(HAVE_SYS_SYSCTL_H) && defined(HAVE_SYSCTL)
# include <sys/sysctl.h>
--- 441,447 ----
#if defined(HAVE_TOTAL_MEM) || defined(PROTO)
# ifdef HAVE_SYS_RESOURCE_H
! # include <sys/resource.h>
# endif
# if defined(HAVE_SYS_SYSCTL_H) && defined(HAVE_SYSCTL)
# include <sys/sysctl.h>
*** ../vim-7.2.175/src/os_unix.h 2009-05-15 21:31:11.000000000 +0200
--- src/os_unix.h 2009-05-16 16:17:22.000000000 +0200
***************
*** 53,61 ****
#endif
#ifdef HAVE_UNISTD_H
! # ifndef S_SPLINT_S /* splint crashes on bits/confname.h */
! # include <unistd.h>
! # endif
#endif
#ifdef HAVE_LIBC_H
--- 53,59 ----
#endif
#ifdef HAVE_UNISTD_H
! # include <unistd.h>
#endif
#ifdef HAVE_LIBC_H
*** ../vim-7.2.175/src/structs.h 2009-05-13 20:47:07.000000000 +0200
--- src/structs.h 2009-05-16 16:17:51.000000000 +0200
***************
*** 1646,1656 ****
#endif
#ifdef FEAT_DIFF
diff_T *tp_first_diff;
- # ifdef S_SPLINT_S /* splint doesn't understand the array of pointers */
- buf_T **tp_diffbuf;
- # else
buf_T *(tp_diffbuf[DB_COUNT]);
- # endif
int tp_diff_invalid; /* list of diffs is outdated */
#endif
frame_T *tp_snapshot; /* window layout snapshot */
--- 1646,1652 ----
*** ../vim-7.2.175/src/term.h 2009-05-13 18:54:14.000000000 +0200
--- src/term.h 2009-05-16 16:20:06.000000000 +0200
***************
*** 96,106 ****
* - there should be code in term.c to obtain the value from the termcap
*/
- #ifdef S_SPLINT_S /* splint doesn't understand array of pointers */
- extern char_u **term_strings; /* current terminal strings */
- #else
extern char_u *(term_strings[]); /* current terminal strings */
- #endif
/*
* strings used for terminal
--- 96,102 ----
*** ../vim-7.2.175/src/version.c 2009-05-16 16:15:39.000000000 +0200
--- src/version.c 2009-05-16 16:34:10.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 176,
/**/
--
Corn oil comes from corn and olive oil comes from olives, so where
does baby oil come from?
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

2726
7.2.177 Normal file

File diff suppressed because it is too large Load Diff

150
7.2.178 Normal file
View File

@ -0,0 +1,150 @@
To: vim-dev@vim.org
Subject: Patch 7.2.178
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.178
Problem: Using negative value for device number might not work.
Solution: Use a separate flag for whether ffv_dev was set.
Files: src/misc2.c
*** ../vim-7.2.177/src/misc2.c 2009-04-29 11:00:09.000000000 +0200
--- src/misc2.c 2009-05-16 21:05:10.000000000 +0200
***************
*** 2841,2847 ****
get_key_name(i)
int i;
{
! if (i >= KEY_NAMES_TABLE_LEN)
return NULL;
return key_names_table[i].name;
}
--- 2841,2847 ----
get_key_name(i)
int i;
{
! if (i >= (int)KEY_NAMES_TABLE_LEN)
return NULL;
return key_names_table[i].name;
}
***************
*** 3869,3875 ****
* use filename.
*/
#ifdef UNIX
! int ffv_dev; /* device number (-1 if not set) */
ino_t ffv_ino; /* inode number */
#endif
/* The memory for this struct is allocated according to the length of
--- 3869,3876 ----
* use filename.
*/
#ifdef UNIX
! int ffv_dev_valid; /* ffv_dev and ffv_ino were set */
! dev_t ffv_dev; /* device number */
ino_t ffv_ino; /* inode number */
#endif
/* The memory for this struct is allocated according to the length of
***************
*** 4059,4071 ****
* This function silently ignores a few errors, vim_findfile() will have
* limited functionality then.
*/
- /*ARGSUSED*/
void *
vim_findfile_init(path, filename, stopdirs, level, free_visited, find_what,
search_ctx_arg, tagfile, rel_fname)
char_u *path;
char_u *filename;
! char_u *stopdirs;
int level;
int free_visited;
int find_what;
--- 4060,4071 ----
* This function silently ignores a few errors, vim_findfile() will have
* limited functionality then.
*/
void *
vim_findfile_init(path, filename, stopdirs, level, free_visited, find_what,
search_ctx_arg, tagfile, rel_fname)
char_u *path;
char_u *filename;
! char_u *stopdirs UNUSED;
int level;
int free_visited;
int find_what;
***************
*** 5063,5072 ****
{
if (
#ifdef UNIX
! !url
! ? (vp->ffv_dev == st.st_dev
! && vp->ffv_ino == st.st_ino)
! :
#endif
fnamecmp(vp->ffv_fname, ff_expand_buffer) == 0
)
--- 5063,5071 ----
{
if (
#ifdef UNIX
! !url ? (vp->ffv_dev_valid && vp->ffv_dev == st.st_dev
! && vp->ffv_ino == st.st_ino)
! :
#endif
fnamecmp(vp->ffv_fname, ff_expand_buffer) == 0
)
***************
*** 5091,5104 ****
#ifdef UNIX
if (!url)
{
vp->ffv_ino = st.st_ino;
vp->ffv_dev = st.st_dev;
vp->ffv_fname[0] = NUL;
}
else
{
! vp->ffv_ino = 0;
! vp->ffv_dev = -1;
#endif
STRCPY(vp->ffv_fname, ff_expand_buffer);
#ifdef UNIX
--- 5090,5103 ----
#ifdef UNIX
if (!url)
{
+ vp->ffv_dev_valid = TRUE;
vp->ffv_ino = st.st_ino;
vp->ffv_dev = st.st_dev;
vp->ffv_fname[0] = NUL;
}
else
{
! vp->ffv_dev_valid = FALSE;
#endif
STRCPY(vp->ffv_fname, ff_expand_buffer);
#ifdef UNIX
*** ../vim-7.2.177/src/version.c 2009-05-16 17:29:37.000000000 +0200
--- src/version.c 2009-05-16 21:00:15.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 178,
/**/
--
FATAL ERROR! SYSTEM HALTED! - Press any key to continue doing nothing.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

100
7.2.179 Normal file
View File

@ -0,0 +1,100 @@
To: vim-dev@vim.org
Subject: Patch 7.2.179
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.179
Problem: Using negative value for device number might not work.
Solution: Use a separate flag for whether sn_dev was set.
Files: src/ex_cmds2.c
*** ../vim-7.2.178/src/ex_cmds2.c 2009-05-14 22:19:19.000000000 +0200
--- src/ex_cmds2.c 2009-05-16 21:13:29.000000000 +0200
***************
*** 28,34 ****
{
char_u *sn_name;
# ifdef UNIX
! int sn_dev;
ino_t sn_ino;
# endif
# ifdef FEAT_PROFILE
--- 28,35 ----
{
char_u *sn_name;
# ifdef UNIX
! int sn_dev_valid;
! dev_t sn_dev;
ino_t sn_ino;
# endif
# ifdef FEAT_PROFILE
***************
*** 3049,3055 ****
/* Compare dev/ino when possible, it catches symbolic
* links. Also compare file names, the inode may change
* when the file was edited. */
! ((stat_ok && si->sn_dev != -1)
&& (si->sn_dev == st.st_dev
&& si->sn_ino == st.st_ino)) ||
# endif
--- 3050,3056 ----
/* Compare dev/ino when possible, it catches symbolic
* links. Also compare file names, the inode may change
* when the file was edited. */
! ((stat_ok && si->sn_dev_valid)
&& (si->sn_dev == st.st_dev
&& si->sn_ino == st.st_ino)) ||
# endif
***************
*** 3076,3086 ****
# ifdef UNIX
if (stat_ok)
{
si->sn_dev = st.st_dev;
si->sn_ino = st.st_ino;
}
else
! si->sn_dev = -1;
# endif
/* Allocate the local script variables to use for this script. */
--- 3077,3088 ----
# ifdef UNIX
if (stat_ok)
{
+ si->sn_dev_valid = TRUE;
si->sn_dev = st.st_dev;
si->sn_ino = st.st_ino;
}
else
! si->sn_dev_valid = FALSE;
# endif
/* Allocate the local script variables to use for this script. */
*** ../vim-7.2.178/src/version.c 2009-05-16 21:06:36.000000000 +0200
--- src/version.c 2009-05-16 21:15:08.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 179,
/**/
--
(letter from Mark to Mike, about the film's probable certificate)
I would like to get back to the Censor and agree to lose the shits, take
the odd Jesus Christ out and lose Oh fuck off, but to retain 'fart in
your general direction', 'castanets of your testicles' and 'oral sex'
and ask him for an 'A' rating on that basis.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

6520
7.2.180 Normal file

File diff suppressed because it is too large Load Diff

1978
7.2.181 Normal file

File diff suppressed because it is too large Load Diff

66
7.2.182 Normal file
View File

@ -0,0 +1,66 @@
To: vim-dev@vim.org
Subject: Patch 7.2.182
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.182 (after 7.2.181)
Problem: Compilation problems after previous patch for Motif. Gvim with
GTK crashes on startup.
Solution: Add comma. Init form structure to zeroes.
Files: src/netbeans.c, src/gui_gtk_f.c
*** ../vim-7.2.181/src/netbeans.c 2009-05-17 16:23:20.000000000 +0200
--- src/netbeans.c 2009-05-17 22:34:11.000000000 +0200
***************
*** 707,713 ****
#else
# ifdef FEAT_GUI_MOTIF
static void
! messageFromNetbeans(XtPointer clientData UNUSED
int *unused1 UNUSED,
XtInputId *unused2 UNUSED)
# endif
--- 707,713 ----
#else
# ifdef FEAT_GUI_MOTIF
static void
! messageFromNetbeans(XtPointer clientData UNUSED,
int *unused1 UNUSED,
XtInputId *unused2 UNUSED)
# endif
*** ../vim-7.2.181/src/gui_gtk_f.c 2009-05-17 16:23:20.000000000 +0200
--- src/gui_gtk_f.c 2009-05-17 23:20:41.000000000 +0200
***************
*** 229,234 ****
--- 229,235 ----
{
GtkTypeInfo form_info;
+ vim_memset(&form_info, 0, sizeof(form_info));
form_info.type_name = "GtkForm";
form_info.object_size = sizeof(GtkForm);
form_info.class_size = sizeof(GtkFormClass);
*** ../vim-7.2.181/src/version.c 2009-05-17 16:23:20.000000000 +0200
--- src/version.c 2009-05-17 23:21:41.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 182,
/**/
--
We apologise again for the fault in the subtitles. Those responsible for
sacking the people who have just been sacked have been sacked.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

1846
7.2.183 Normal file

File diff suppressed because it is too large Load Diff

3646
7.2.184 Normal file

File diff suppressed because it is too large Load Diff

305
7.2.185 Normal file
View File

@ -0,0 +1,305 @@
To: vim-dev@vim.org
Subject: Patch 7.2.185
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.185
Problem: Some more compiler warnings when using gcc -Wextra.
Solution: Add UNUSED and type casts.
Files: src/Makefile, src/if_tlc.c, src/if_ruby.c
*** ../vim-7.2.184/src/Makefile 2009-05-21 23:25:47.000000000 +0200
--- src/Makefile 2009-05-22 18:18:44.000000000 +0200
***************
*** 105,112 ****
# 4. "make test" {{{1
# This is optional. This will run Vim scripts on a number of test
# files, and compare the produced output with the expected output.
! # If all is well, you will get the "ALL DONE" message in the end. See
! # below (search for "/^test").
#
# 5. "make install" {{{1
# If the new Vim seems to be working OK you can install it and the
--- 105,112 ----
# 4. "make test" {{{1
# This is optional. This will run Vim scripts on a number of test
# files, and compare the produced output with the expected output.
! # If all is well, you will get the "ALL DONE" message in the end. If a
! # test fails you get "TEST FAILURE". See below (search for "/^test").
#
# 5. "make install" {{{1
# If the new Vim seems to be working OK you can install it and the
***************
*** 533,538 ****
--- 533,543 ----
#CFLAGS = -g -DDEBUG -Wall -Wshadow -Wmissing-prototypes
#CFLAGS = -g -O2 '-DSTARTUPTIME="vimstartup"' -fno-strength-reduce -Wall -Wmissing-prototypes
+ # Use this with GCC to check for mistakes, unused arguments, etc.
+ #CFLAGS = -g -Wall -Wextra -Wmissing-prototypes -Wunreachable-code
+ #PYTHON_CFLAGS_EXTRA = -Wno-missing-field-initializers
+ #MZSCHEME_CFLAGS_EXTRA = -Wno-unreachable-code
+
# EFENCE - Electric-Fence malloc debugging: catches memory accesses beyond
# allocated memory (and makes every malloc()/free() very slow).
# Electric Fence is free (search ftp sites).
***************
*** 551,562 ****
# }}}
# LINT - for running lint
! # For standard lint
! #LINT = lint
! #LINT_OPTIONS = -beprxzF
! # For splint (see cleanlint.vim for filtering the output)
! LINT = splint
! LINT_OPTIONS = +unixlib -weak -macrovarprefixexclude -showfunc -linelen 9999
# PROFILING - Uncomment the next two lines to do profiling with gcc and gprof.
# Might not work with GUI or Perl.
--- 556,568 ----
# }}}
# LINT - for running lint
! # For standard Unix lint
! LINT = lint
! LINT_OPTIONS = -beprxzF
! # For splint
! # It doesn't work well, crashes on include files and non-ascii characters.
! #LINT = splint
! #LINT_OPTIONS = +unixlib -weak -macrovarprefixexclude -showfunc -linelen 9999
# PROFILING - Uncomment the next two lines to do profiling with gcc and gprof.
# Might not work with GUI or Perl.
***************
*** 1743,1749 ****
# messages. Don't worry about that.
# If there is a real error, there will be a difference between "test.out" and
# a "test99.ok" file.
! # If everything is alright, the final message will be "ALL DONE".
#
test check:
$(MAKE) -f Makefile $(VIMTARGET)
--- 1749,1756 ----
# messages. Don't worry about that.
# If there is a real error, there will be a difference between "test.out" and
# a "test99.ok" file.
! # If everything is alright, the final message will be "ALL DONE". If not you
! # get "TEST FAILURE".
#
test check:
$(MAKE) -f Makefile $(VIMTARGET)
***************
*** 2427,2433 ****
$(CCC) -o $@ if_xcmdsrv.c
objects/if_mzsch.o: if_mzsch.c
! $(CCC) -o $@ if_mzsch.c
objects/if_perl.o: auto/if_perl.c
$(CCC) -o $@ auto/if_perl.c
--- 2434,2440 ----
$(CCC) -o $@ if_xcmdsrv.c
objects/if_mzsch.o: if_mzsch.c
! $(CCC) -o $@ $(MZSCHEME_CFLAGS_EXTRA) if_mzsch.c
objects/if_perl.o: auto/if_perl.c
$(CCC) -o $@ auto/if_perl.c
***************
*** 2436,2442 ****
$(CCC) -o $@ if_perlsfio.c
objects/if_python.o: if_python.c
! $(CCC) -o $@ if_python.c
objects/if_ruby.o: if_ruby.c
$(CCC) -o $@ if_ruby.c
--- 2443,2449 ----
$(CCC) -o $@ if_perlsfio.c
objects/if_python.o: if_python.c
! $(CCC) -o $@ $(PYTHON_CFLAGS_EXTRA) if_python.c
objects/if_ruby.o: if_ruby.c
$(CCC) -o $@ if_ruby.c
*** ../vim-7.2.184/src/if_ruby.c 2007-09-13 15:00:49.000000000 +0200
--- src/if_ruby.c 2009-05-22 15:32:04.000000000 +0200
***************
*** 492,498 ****
}
}
! static VALUE vim_message(VALUE self, VALUE str)
{
char *buff, *p;
--- 492,498 ----
}
}
! static VALUE vim_message(VALUE self UNUSED, VALUE str)
{
char *buff, *p;
***************
*** 505,524 ****
return Qnil;
}
! static VALUE vim_set_option(VALUE self, VALUE str)
{
do_set((char_u *)STR2CSTR(str), 0);
update_screen(NOT_VALID);
return Qnil;
}
! static VALUE vim_command(VALUE self, VALUE str)
{
do_cmdline_cmd((char_u *)STR2CSTR(str));
return Qnil;
}
! static VALUE vim_evaluate(VALUE self, VALUE str)
{
#ifdef FEAT_EVAL
char_u *value = eval_to_string((char_u *)STR2CSTR(str), NULL, TRUE);
--- 505,524 ----
return Qnil;
}
! static VALUE vim_set_option(VALUE self UNUSED, VALUE str)
{
do_set((char_u *)STR2CSTR(str), 0);
update_screen(NOT_VALID);
return Qnil;
}
! static VALUE vim_command(VALUE self UNUSED, VALUE str)
{
do_cmdline_cmd((char_u *)STR2CSTR(str));
return Qnil;
}
! static VALUE vim_evaluate(VALUE self UNUSED, VALUE str)
{
#ifdef FEAT_EVAL
char_u *value = eval_to_string((char_u *)STR2CSTR(str), NULL, TRUE);
***************
*** 580,586 ****
return INT2NUM(n);
}
! static VALUE buffer_s_aref(VALUE self, VALUE num)
{
buf_T *b;
int n = NUM2INT(num);
--- 580,586 ----
return INT2NUM(n);
}
! static VALUE buffer_s_aref(VALUE self UNUSED, VALUE num)
{
buf_T *b;
int n = NUM2INT(num);
***************
*** 629,635 ****
--- 629,637 ----
return line ? rb_str_new2(line) : Qnil;
}
rb_raise(rb_eIndexError, "index %d out of buffer", n);
+ #ifndef __GNUC__
return Qnil; /* For stop warning */
+ #endif
}
static VALUE buffer_aref(VALUE self, VALUE num)
***************
*** 668,674 ****
--- 670,678 ----
else
{
rb_raise(rb_eIndexError, "index %d out of buffer", n);
+ #ifndef __GNUC__
return Qnil; /* For stop warning */
+ #endif
}
return str;
}
***************
*** 789,795 ****
return get_buffer_line(curbuf, curwin->w_cursor.lnum);
}
! static VALUE set_current_line(VALUE self, VALUE str)
{
return set_buffer_line(curbuf, curwin->w_cursor.lnum, str);
}
--- 793,799 ----
return get_buffer_line(curbuf, curwin->w_cursor.lnum);
}
! static VALUE set_current_line(VALUE self UNUSED, VALUE str)
{
return set_buffer_line(curbuf, curwin->w_cursor.lnum, str);
}
***************
*** 815,821 ****
#endif
}
! static VALUE window_s_aref(VALUE self, VALUE num)
{
win_T *w;
int n = NUM2INT(num);
--- 819,825 ----
#endif
}
! static VALUE window_s_aref(VALUE self UNUSED, VALUE num)
{
win_T *w;
int n = NUM2INT(num);
***************
*** 897,903 ****
return Qnil;
}
! static VALUE f_p(int argc, VALUE *argv, VALUE self)
{
int i;
VALUE str = rb_str_new("", 0);
--- 901,907 ----
return Qnil;
}
! static VALUE f_p(int argc, VALUE *argv, VALUE self UNUSED)
{
int i;
VALUE str = rb_str_new("", 0);
*** ../vim-7.2.184/src/version.c 2009-05-21 23:25:38.000000000 +0200
--- src/version.c 2009-05-22 18:18:58.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 185,
/**/
--
BODY: I'm not dead!
CART DRIVER: 'Ere. He says he's not dead.
LARGE MAN: Yes he is.
BODY: I'm not!
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

331
7.2.186 Normal file
View File

@ -0,0 +1,331 @@
To: vim-dev@vim.org
Subject: Patch 7.2.186
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.186
Problem: Some more compiler warnings when using gcc -Wextra.
Solution: Now with the intended if_tcl.c changes.
Files: src/if_tcl.c
*** ../vim-7.2.185/src/if_tcl.c 2007-05-10 20:55:34.000000000 +0200
--- src/if_tcl.c 2009-05-22 15:29:53.000000000 +0200
***************
*** 290,299 ****
*/
#define TCL_EXIT 5
- /* ARGSUSED */
static int
exitcmd(dummy, interp, objc, objv)
! ClientData dummy;
Tcl_Interp *interp;
int objc;
Tcl_Obj *CONST objv[];
--- 290,298 ----
*/
#define TCL_EXIT 5
static int
exitcmd(dummy, interp, objc, objv)
! ClientData dummy UNUSED;
Tcl_Interp *interp;
int objc;
Tcl_Obj *CONST objv[];
***************
*** 315,324 ****
return TCL_ERROR;
}
- /* ARGSUSED */
static int
catchcmd(dummy, interp, objc, objv)
! ClientData dummy;
Tcl_Interp *interp;
int objc;
Tcl_Obj *CONST objv[];
--- 314,322 ----
return TCL_ERROR;
}
static int
catchcmd(dummy, interp, objc, objv)
! ClientData dummy UNUSED;
Tcl_Interp *interp;
int objc;
Tcl_Obj *CONST objv[];
***************
*** 356,365 ****
/*
* "::vim::beep" - what Vi[m] does best :-)
*/
- /* ARGSUSED */
static int
beepcmd(dummy, interp, objc, objv)
! ClientData dummy;
Tcl_Interp *interp;
int objc;
Tcl_Obj *CONST objv[];
--- 354,362 ----
/*
* "::vim::beep" - what Vi[m] does best :-)
*/
static int
beepcmd(dummy, interp, objc, objv)
! ClientData dummy UNUSED;
Tcl_Interp *interp;
int objc;
Tcl_Obj *CONST objv[];
***************
*** 378,387 ****
* "::vim::buffer {N}" - create buffer command for buffer N.
* "::vim::buffer new" - create a new buffer (not implemented)
*/
- /* ARGSUSED */
static int
buffercmd(dummy, interp, objc, objv)
! ClientData dummy;
Tcl_Interp *interp;
int objc;
Tcl_Obj *CONST objv[];
--- 375,383 ----
* "::vim::buffer {N}" - create buffer command for buffer N.
* "::vim::buffer new" - create a new buffer (not implemented)
*/
static int
buffercmd(dummy, interp, objc, objv)
! ClientData dummy UNUSED;
Tcl_Interp *interp;
int objc;
Tcl_Obj *CONST objv[];
***************
*** 475,484 ****
/*
* "::vim::window list" - create list of window commands.
*/
- /* ARGSUSED */
static int
windowcmd(dummy, interp, objc, objv)
! ClientData dummy;
Tcl_Interp *interp;
int objc;
Tcl_Obj *CONST objv[];
--- 471,479 ----
/*
* "::vim::window list" - create list of window commands.
*/
static int
windowcmd(dummy, interp, objc, objv)
! ClientData dummy UNUSED;
Tcl_Interp *interp;
int objc;
Tcl_Obj *CONST objv[];
***************
*** 1130,1139 ****
}
- /* ARGSUSED */
static int
commandcmd(dummy, interp, objc, objv)
! ClientData dummy;
Tcl_Interp *interp;
int objc;
Tcl_Obj *CONST objv[];
--- 1125,1133 ----
}
static int
commandcmd(dummy, interp, objc, objv)
! ClientData dummy UNUSED;
Tcl_Interp *interp;
int objc;
Tcl_Obj *CONST objv[];
***************
*** 1145,1154 ****
return err;
}
- /* ARGSUSED */
static int
optioncmd(dummy, interp, objc, objv)
! ClientData dummy;
Tcl_Interp *interp;
int objc;
Tcl_Obj *CONST objv[];
--- 1139,1147 ----
return err;
}
static int
optioncmd(dummy, interp, objc, objv)
! ClientData dummy UNUSED;
Tcl_Interp *interp;
int objc;
Tcl_Obj *CONST objv[];
***************
*** 1160,1169 ****
return err;
}
- /* ARGSUSED */
static int
exprcmd(dummy, interp, objc, objv)
! ClientData dummy;
Tcl_Interp *interp;
int objc;
Tcl_Obj *CONST objv[];
--- 1153,1161 ----
return err;
}
static int
exprcmd(dummy, interp, objc, objv)
! ClientData dummy UNUSED;
Tcl_Interp *interp;
int objc;
Tcl_Obj *CONST objv[];
***************
*** 1584,1594 ****
I/O Channel
********************************************/
- /* ARGSUSED */
static int
channel_close(instance, interp)
ClientData instance;
! Tcl_Interp *interp;
{
int err = 0;
--- 1576,1585 ----
I/O Channel
********************************************/
static int
channel_close(instance, interp)
ClientData instance;
! Tcl_Interp *interp UNUSED;
{
int err = 0;
***************
*** 1602,1613 ****
return err;
}
- /* ARGSUSED */
static int
channel_input(instance, buf, bufsiz, errptr)
! ClientData instance;
! char *buf;
! int bufsiz;
int *errptr;
{
--- 1593,1603 ----
return err;
}
static int
channel_input(instance, buf, bufsiz, errptr)
! ClientData instance UNUSED;
! char *buf UNUSED;
! int bufsiz UNUSED;
int *errptr;
{
***************
*** 1659,1679 ****
return result;
}
- /* ARGSUSED */
static void
channel_watch(instance, mask)
! ClientData instance;
! int mask;
{
Tcl_SetErrno(EINVAL);
}
- /* ARGSUSED */
static int
channel_gethandle(instance, direction, handleptr)
! ClientData instance;
! int direction;
! ClientData *handleptr;
{
Tcl_SetErrno(EINVAL);
return EINVAL;
--- 1649,1667 ----
return result;
}
static void
channel_watch(instance, mask)
! ClientData instance UNUSED;
! int mask UNUSED;
{
Tcl_SetErrno(EINVAL);
}
static int
channel_gethandle(instance, direction, handleptr)
! ClientData instance UNUSED;
! int direction UNUSED;
! ClientData *handleptr UNUSED;
{
Tcl_SetErrno(EINVAL);
return EINVAL;
***************
*** 1691,1697 ****
NULL, /* set option */
NULL, /* get option */
channel_watch,
! channel_gethandle
};
/**********************************
--- 1679,1692 ----
NULL, /* set option */
NULL, /* get option */
channel_watch,
! channel_gethandle,
! NULL,
! NULL,
! NULL,
! NULL,
! NULL,
! NULL,
! NULL
};
/**********************************
*** ../vim-7.2.185/src/version.c 2009-05-22 18:20:23.000000000 +0200
--- src/version.c 2009-05-22 21:07:21.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 186,
/**/
--
ARTHUR: Old woman!
DENNIS: Man!
ARTHUR: Man. I'm sorry. Old man, What knight live in that castle over there?
DENNIS: I'm thirty-seven.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

125
7.2.187 Normal file
View File

@ -0,0 +1,125 @@
To: vim-dev@vim.org
Subject: Patch 7.2.187
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.187 (after 7.2.186)
Problem: Doesn't build with older versions of TCL. (Yongwei Wu)
Solution: Add #ifdefs. (Dominique Pelle)
Files: src/if_tcl.c
*** ../vim-7.2.186/src/if_tcl.c 2009-05-22 21:07:45.000000000 +0200
--- src/if_tcl.c 2009-05-23 14:23:51.000000000 +0200
***************
*** 161,167 ****
# endif
/*
! * Declare HANDLE for perl.dll and function pointers.
*/
static HANDLE hTclLib = NULL;
Tcl_Interp* (*dll_Tcl_CreateInterp)();
--- 161,167 ----
# endif
/*
! * Declare HANDLE for tcl.dll and function pointers.
*/
static HANDLE hTclLib = NULL;
Tcl_Interp* (*dll_Tcl_CreateInterp)();
***************
*** 182,188 ****
* Make all runtime-links of tcl.
*
* 1. Get module handle using LoadLibraryEx.
! * 2. Get pointer to perl function by GetProcAddress.
* 3. Repeat 2, until get all functions will be used.
*
* Parameter 'libname' provides name of DLL.
--- 182,188 ----
* Make all runtime-links of tcl.
*
* 1. Get module handle using LoadLibraryEx.
! * 2. Get pointer to tcl function by GetProcAddress.
* 3. Repeat 2, until get all functions will be used.
*
* Parameter 'libname' provides name of DLL.
***************
*** 1670,1692 ****
static Tcl_ChannelType channel_type =
{
! "vimmessage",
! NULL, /* blockmode */
! channel_close,
! channel_input,
! channel_output,
! NULL, /* seek */
! NULL, /* set option */
! NULL, /* get option */
! channel_watch,
! channel_gethandle,
! NULL,
! NULL,
! NULL,
! NULL,
! NULL,
! NULL,
! NULL
};
/**********************************
--- 1670,1700 ----
static Tcl_ChannelType channel_type =
{
! "vimmessage", /* typeName */
! NULL, /* version */
! channel_close, /* closeProc */
! channel_input, /* inputProc */
! channel_output, /* outputProc */
! NULL, /* seekProc */
! NULL, /* setOptionProc */
! NULL, /* getOptionProc */
! channel_watch, /* watchProc */
! channel_gethandle, /* getHandleProc */
! NULL, /* close2Proc */
! NULL, /* blockModeProc */
! #ifdef TCL_CHANNEL_VERSION_2
! NULL, /* flushProc */
! NULL, /* handlerProc */
! #endif
! #ifdef TCL_CHANNEL_VERSION_3
! NULL, /* wideSeekProc */
! #endif
! #ifdef TCL_CHANNEL_VERSION_4
! NULL, /* threadActionProc */
! #endif
! #ifdef TCL_CHANNEL_VERSION_5
! NULL /* truncateProc */
! #endif
};
/**********************************
*** ../vim-7.2.186/src/version.c 2009-05-22 21:07:45.000000000 +0200
--- src/version.c 2009-05-23 14:25:04.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 187,
/**/
--
Friends? I have lots of friends! In fact, I have every episode ever made.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

278
7.2.188 Normal file
View File

@ -0,0 +1,278 @@
To: vim-dev@vim.org
Subject: Patch 7.2.188
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.188
Problem: Crash with specific use of function calls. (Meikel Brandmeyer)
Solution: Make sure the items referenced by a function call are not freed
twice. (based on patch from Nico Weber)
Files: src/eval.c
*** ../vim-7.2.187/src/eval.c 2009-05-16 17:29:37.000000000 +0200
--- src/eval.c 2009-05-22 20:04:22.000000000 +0200
***************
*** 129,136 ****
--- 129,139 ----
/*
* When recursively copying lists and dicts we need to remember which ones we
* have done to avoid endless recursiveness. This unique ID is used for that.
+ * The last bit is used for previous_funccal, ignored when comparing.
*/
static int current_copyID = 0;
+ #define COPYID_INC 2
+ #define COPYID_MASK (~0x1)
/*
* Array to hold the hashtab with variables local to each sourced script.
***************
*** 439,444 ****
--- 442,448 ----
static void list_remove __ARGS((list_T *l, listitem_T *item, listitem_T *item2));
static char_u *list2string __ARGS((typval_T *tv, int copyID));
static int list_join __ARGS((garray_T *gap, list_T *l, char_u *sep, int echo, int copyID));
+ static int free_unref_items __ARGS((int copyID));
static void set_ref_in_ht __ARGS((hashtab_T *ht, int copyID));
static void set_ref_in_list __ARGS((list_T *l, int copyID));
static void set_ref_in_item __ARGS((typval_T *tv, int copyID));
***************
*** 6494,6507 ****
int
garbage_collect()
{
! dict_T *dd;
! list_T *ll;
! int copyID = ++current_copyID;
buf_T *buf;
win_T *wp;
int i;
funccall_T *fc, **pfc;
! int did_free = FALSE;
#ifdef FEAT_WINDOWS
tabpage_T *tp;
#endif
--- 6498,6510 ----
int
garbage_collect()
{
! int copyID;
buf_T *buf;
win_T *wp;
int i;
funccall_T *fc, **pfc;
! int did_free;
! int did_free_funccal = FALSE;
#ifdef FEAT_WINDOWS
tabpage_T *tp;
#endif
***************
*** 6511,6520 ****
--- 6514,6538 ----
may_garbage_collect = FALSE;
garbage_collect_at_exit = FALSE;
+ /* We advance by two because we add one for items referenced through
+ * previous_funccal. */
+ current_copyID += COPYID_INC;
+ copyID = current_copyID;
+
/*
* 1. Go through all accessible variables and mark all lists and dicts
* with copyID.
*/
+
+ /* Don't free variables in the previous_funccal list unless they are only
+ * referenced through previous_funccal. This must be first, because if
+ * the item is referenced elsewhere it must not be freed. */
+ for (fc = previous_funccal; fc != NULL; fc = fc->caller)
+ {
+ set_ref_in_ht(&fc->l_vars.dv_hashtab, copyID + 1);
+ set_ref_in_ht(&fc->l_avars.dv_hashtab, copyID + 1);
+ }
+
/* script-local variables */
for (i = 1; i <= ga_scripts.ga_len; ++i)
set_ref_in_ht(&SCRIPT_VARS(i), copyID);
***************
*** 6546,6556 ****
/* v: vars */
set_ref_in_ht(&vimvarht, copyID);
/*
! * 2. Go through the list of dicts and free items without the copyID.
*/
for (dd = first_dict; dd != NULL; )
! if (dd->dv_copyID != copyID)
{
/* Free the Dictionary and ordinary items it contains, but don't
* recurse into Lists and Dictionaries, they will be in the list
--- 6564,6610 ----
/* v: vars */
set_ref_in_ht(&vimvarht, copyID);
+ /* Free lists and dictionaries that are not referenced. */
+ did_free = free_unref_items(copyID);
+
+ /* check if any funccal can be freed now */
+ for (pfc = &previous_funccal; *pfc != NULL; )
+ {
+ if (can_free_funccal(*pfc, copyID))
+ {
+ fc = *pfc;
+ *pfc = fc->caller;
+ free_funccal(fc, TRUE);
+ did_free = TRUE;
+ did_free_funccal = TRUE;
+ }
+ else
+ pfc = &(*pfc)->caller;
+ }
+ if (did_free_funccal)
+ /* When a funccal was freed some more items might be garbage
+ * collected, so run again. */
+ (void)garbage_collect();
+
+ return did_free;
+ }
+
+ /*
+ * Free lists and dictionaries that are no longer referenced.
+ */
+ static int
+ free_unref_items(copyID)
+ int copyID;
+ {
+ dict_T *dd;
+ list_T *ll;
+ int did_free = FALSE;
+
/*
! * Go through the list of dicts and free items without the copyID.
*/
for (dd = first_dict; dd != NULL; )
! if ((dd->dv_copyID & COPYID_MASK) != (copyID & COPYID_MASK))
{
/* Free the Dictionary and ordinary items it contains, but don't
* recurse into Lists and Dictionaries, they will be in the list
***************
*** 6565,6576 ****
dd = dd->dv_used_next;
/*
! * 3. Go through the list of lists and free items without the copyID.
! * But don't free a list that has a watcher (used in a for loop), these
! * are not referenced anywhere.
*/
for (ll = first_list; ll != NULL; )
! if (ll->lv_copyID != copyID && ll->lv_watch == NULL)
{
/* Free the List and ordinary items it contains, but don't recurse
* into Lists and Dictionaries, they will be in the list of dicts
--- 6619,6631 ----
dd = dd->dv_used_next;
/*
! * Go through the list of lists and free items without the copyID.
! * But don't free a list that has a watcher (used in a for loop), these
! * are not referenced anywhere.
*/
for (ll = first_list; ll != NULL; )
! if ((ll->lv_copyID & COPYID_MASK) != (copyID & COPYID_MASK)
! && ll->lv_watch == NULL)
{
/* Free the List and ordinary items it contains, but don't recurse
* into Lists and Dictionaries, they will be in the list of dicts
***************
*** 6584,6603 ****
else
ll = ll->lv_used_next;
- /* check if any funccal can be freed now */
- for (pfc = &previous_funccal; *pfc != NULL; )
- {
- if (can_free_funccal(*pfc, copyID))
- {
- fc = *pfc;
- *pfc = fc->caller;
- free_funccal(fc, TRUE);
- did_free = TRUE;
- }
- else
- pfc = &(*pfc)->caller;
- }
-
return did_free;
}
--- 6639,6644 ----
***************
*** 18842,18847 ****
--- 18883,18889 ----
{
hash_init(&dict->dv_hashtab);
dict->dv_refcount = DO_NOT_FREE_CNT;
+ dict->dv_copyID = 0;
dict_var->di_tv.vval.v_dict = dict;
dict_var->di_tv.v_type = VAR_DICT;
dict_var->di_tv.v_lock = VAR_FIXED;
***************
*** 21294,21301 ****
current_funccal = fc->caller;
--depth;
! /* if the a:000 list and the a: dict are not referenced we can free the
! * funccall_T and what's in it. */
if (fc->l_varlist.lv_refcount == DO_NOT_FREE_CNT
&& fc->l_vars.dv_refcount == DO_NOT_FREE_CNT
&& fc->l_avars.dv_refcount == DO_NOT_FREE_CNT)
--- 21336,21343 ----
current_funccal = fc->caller;
--depth;
! /* If the a:000 list and the l: and a: dicts are not referenced we can
! * free the funccall_T and what's in it. */
if (fc->l_varlist.lv_refcount == DO_NOT_FREE_CNT
&& fc->l_vars.dv_refcount == DO_NOT_FREE_CNT
&& fc->l_avars.dv_refcount == DO_NOT_FREE_CNT)
***************
*** 21334,21340 ****
/*
* Return TRUE if items in "fc" do not have "copyID". That means they are not
! * referenced from anywhere.
*/
static int
can_free_funccal(fc, copyID)
--- 21376,21382 ----
/*
* Return TRUE if items in "fc" do not have "copyID". That means they are not
! * referenced from anywhere that is in use.
*/
static int
can_free_funccal(fc, copyID)
*** ../vim-7.2.187/src/version.c 2009-05-23 14:27:43.000000000 +0200
--- src/version.c 2009-05-24 13:20:49.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 188,
/**/
--
ARTHUR: ... and I am your king ....
OLD WOMAN: Ooooh! I didn't know we had a king. I thought we were an
autonomous collective ...
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

86
7.2.189 Normal file
View File

@ -0,0 +1,86 @@
To: vim-dev@vim.org
Subject: Patch 7.2.189
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.189
Problem: Possible hang for deleting auto-indent. (Dominique Pelle)
Solution: Make sure the position is not beyond the end of the line.
Files: src/edit.c
*** ../vim-7.2.188/src/edit.c 2009-05-16 16:36:25.000000000 +0200
--- src/edit.c 2009-05-26 10:53:05.000000000 +0200
***************
*** 6420,6432 ****
/* If we just did an auto-indent, remove the white space from the end
* of the line, and put the cursor back.
! * Do this when ESC was used or moving the cursor up/down. */
if (did_ai && (esc || (vim_strchr(p_cpo, CPO_INDENT) == NULL
! && curwin->w_cursor.lnum != end_insert_pos->lnum)))
{
pos_T tpos = curwin->w_cursor;
curwin->w_cursor = *end_insert_pos;
for (;;)
{
if (gchar_cursor() == NUL && curwin->w_cursor.col > 0)
--- 6420,6436 ----
/* If we just did an auto-indent, remove the white space from the end
* of the line, and put the cursor back.
! * Do this when ESC was used or moving the cursor up/down.
! * Check for the old position still being valid, just in case the text
! * got changed unexpectedly. */
if (did_ai && (esc || (vim_strchr(p_cpo, CPO_INDENT) == NULL
! && curwin->w_cursor.lnum != end_insert_pos->lnum))
! && end_insert_pos->lnum <= curbuf->b_ml.ml_line_count)
{
pos_T tpos = curwin->w_cursor;
curwin->w_cursor = *end_insert_pos;
+ check_cursor_col(); /* make sure it is not past the line */
for (;;)
{
if (gchar_cursor() == NUL && curwin->w_cursor.col > 0)
***************
*** 6434,6440 ****
cc = gchar_cursor();
if (!vim_iswhite(cc))
break;
! (void)del_char(TRUE);
}
if (curwin->w_cursor.lnum != tpos.lnum)
curwin->w_cursor = tpos;
--- 6438,6445 ----
cc = gchar_cursor();
if (!vim_iswhite(cc))
break;
! if (del_char(TRUE) == FAIL)
! break; /* should not happen */
}
if (curwin->w_cursor.lnum != tpos.lnum)
curwin->w_cursor = tpos;
*** ../vim-7.2.188/src/version.c 2009-05-24 13:40:17.000000000 +0200
--- src/version.c 2009-05-26 10:50:53.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 189,
/**/
--
FIRST VILLAGER: We have found a witch. May we burn her?
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

182
7.2.190 Normal file
View File

@ -0,0 +1,182 @@
To: vim-dev@vim.org
Subject: Patch 7.2.190
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.190
Problem: The register executed by @@ isn't restored.
Solution: Mark the executable register in the viminfo file.
Files: src/ops.c
*** ../vim-7.2.189/src/ops.c 2009-05-13 12:46:36.000000000 +0200
--- src/ops.c 2009-05-26 18:05:23.000000000 +0200
***************
*** 1143,1148 ****
--- 1143,1150 ----
return OK;
}
+ static int execreg_lastc = NUL;
+
/*
* execute a yank register: copy it into the stuff buffer
*
***************
*** 1155,1161 ****
int addcr; /* always add '\n' to end of line */
int silent; /* set "silent" flag in typeahead buffer */
{
- static int lastc = NUL;
long i;
char_u *p;
int retval = OK;
--- 1157,1162 ----
***************
*** 1163,1174 ****
if (regname == '@') /* repeat previous one */
{
! if (lastc == NUL)
{
EMSG(_("E748: No previously used register"));
return FAIL;
}
! regname = lastc;
}
/* check for valid regname */
if (regname == '%' || regname == '#' || !valid_yank_reg(regname, FALSE))
--- 1164,1175 ----
if (regname == '@') /* repeat previous one */
{
! if (execreg_lastc == NUL)
{
EMSG(_("E748: No previously used register"));
return FAIL;
}
! regname = execreg_lastc;
}
/* check for valid regname */
if (regname == '%' || regname == '#' || !valid_yank_reg(regname, FALSE))
***************
*** 1176,1182 ****
emsg_invreg(regname);
return FAIL;
}
! lastc = regname;
#ifdef FEAT_CLIPBOARD
regname = may_get_selection(regname);
--- 1177,1183 ----
emsg_invreg(regname);
return FAIL;
}
! execreg_lastc = regname;
#ifdef FEAT_CLIPBOARD
regname = may_get_selection(regname);
***************
*** 5337,5347 ****
--- 5338,5351 ----
/* We only get here (hopefully) if line[0] == '"' */
str = virp->vir_line + 1;
+
+ /* If the line starts with "" this is the y_previous register. */
if (*str == '"')
{
set_prev = TRUE;
str++;
}
+
if (!ASCII_ISALNUM(*str) && *str != '-')
{
if (viminfo_error("E577: ", _("Illegal register name"), virp->vir_line))
***************
*** 5351,5356 ****
--- 5355,5368 ----
get_yank_register(*str++, FALSE);
if (!force && y_current->y_array != NULL)
do_it = FALSE;
+
+ if (*str == '@')
+ {
+ /* "x@: register x used for @@ */
+ if (force || execreg_lastc == NUL)
+ execreg_lastc = str[-1];
+ }
+
size = 0;
limit = 100; /* Optimized for registers containing <= 100 lines */
if (do_it)
***************
*** 5360,5366 ****
vim_free(y_current->y_array);
array = y_current->y_array =
(char_u **)alloc((unsigned)(limit * sizeof(char_u *)));
! str = skipwhite(str);
if (STRNCMP(str, "CHAR", 4) == 0)
y_current->y_type = MCHAR;
#ifdef FEAT_VISUAL
--- 5372,5378 ----
vim_free(y_current->y_array);
array = y_current->y_array =
(char_u **)alloc((unsigned)(limit * sizeof(char_u *)));
! str = skipwhite(skiptowhite(str));
if (STRNCMP(str, "CHAR", 4) == 0)
y_current->y_type = MCHAR;
#ifdef FEAT_VISUAL
***************
*** 5443,5448 ****
--- 5455,5461 ----
max_kbyte = get_viminfo_parameter('s');
if (max_kbyte == 0)
return;
+
for (i = 0; i < NUM_REGISTERS; i++)
{
if (y_regs[i].y_array == NULL)
***************
*** 5497,5503 ****
if (y_previous == &y_regs[i])
fprintf(fp, "\"");
c = get_register_name(i);
! fprintf(fp, "\"%c\t%s\t%d\n", c, type,
#ifdef FEAT_VISUAL
(int)y_regs[i].y_width
#else
--- 5510,5519 ----
if (y_previous == &y_regs[i])
fprintf(fp, "\"");
c = get_register_name(i);
! fprintf(fp, "\"%c", c);
! if (c == execreg_lastc)
! fprintf(fp, "@");
! fprintf(fp, "\t%s\t%d\n", type,
#ifdef FEAT_VISUAL
(int)y_regs[i].y_width
#else
*** ../vim-7.2.189/src/version.c 2009-05-26 11:01:43.000000000 +0200
--- src/version.c 2009-05-26 18:10:13.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 190,
/**/
--
If you had to identify, in one word, the reason why the
human race has not achieved, and never will achieve, its
full potential, that word would be "meetings."
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

3705
7.2.191 Normal file

File diff suppressed because it is too large Load Diff

135
7.2.192 Normal file
View File

@ -0,0 +1,135 @@
To: vim-dev@vim.org
Subject: Patch 7.2.192
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.192 (after 7.2.188)
Problem: Still a crash in the garbage collector for a very rare situation.
Solution: Make sure current_copyID is always incremented correctly. (Kent
Sibilev)
Files: src/eval.c
*** ../vim-7.2.191/src/eval.c 2009-05-26 22:58:43.000000000 +0200
--- src/eval.c 2009-05-29 21:13:47.000000000 +0200
***************
*** 6526,6532 ****
/* Don't free variables in the previous_funccal list unless they are only
* referenced through previous_funccal. This must be first, because if
! * the item is referenced elsewhere it must not be freed. */
for (fc = previous_funccal; fc != NULL; fc = fc->caller)
{
set_ref_in_ht(&fc->l_vars.dv_hashtab, copyID + 1);
--- 6526,6532 ----
/* Don't free variables in the previous_funccal list unless they are only
* referenced through previous_funccal. This must be first, because if
! * the item is referenced elsewhere the funccal must not be freed. */
for (fc = previous_funccal; fc != NULL; fc = fc->caller)
{
set_ref_in_ht(&fc->l_vars.dv_hashtab, copyID + 1);
***************
*** 6564,6573 ****
/* v: vars */
set_ref_in_ht(&vimvarht, copyID);
! /* Free lists and dictionaries that are not referenced. */
did_free = free_unref_items(copyID);
! /* check if any funccal can be freed now */
for (pfc = &previous_funccal; *pfc != NULL; )
{
if (can_free_funccal(*pfc, copyID))
--- 6564,6577 ----
/* v: vars */
set_ref_in_ht(&vimvarht, copyID);
! /*
! * 2. Free lists and dictionaries that are not referenced.
! */
did_free = free_unref_items(copyID);
! /*
! * 3. Check if any funccal can be freed now.
! */
for (pfc = &previous_funccal; *pfc != NULL; )
{
if (can_free_funccal(*pfc, copyID))
***************
*** 9286,9292 ****
if (noref < 0 || noref > 1)
EMSG(_(e_invarg));
else
! item_copy(&argvars[0], rettv, TRUE, noref == 0 ? ++current_copyID : 0);
}
/*
--- 9290,9299 ----
if (noref < 0 || noref > 1)
EMSG(_(e_invarg));
else
! {
! current_copyID += COPYID_INC;
! item_copy(&argvars[0], rettv, TRUE, noref == 0 ? current_copyID : 0);
! }
}
/*
***************
*** 18966,18972 ****
char_u *s;
char_u numbuf[NUMBUFLEN];
! s = echo_string(&v->di_tv, &tofree, numbuf, ++current_copyID);
list_one_var_a(prefix, v->di_key, v->di_tv.v_type,
s == NULL ? (char_u *)"" : s, first);
vim_free(tofree);
--- 18973,18980 ----
char_u *s;
char_u numbuf[NUMBUFLEN];
! current_copyID += COPYID_INC;
! s = echo_string(&v->di_tv, &tofree, numbuf, current_copyID);
list_one_var_a(prefix, v->di_key, v->di_tv.v_type,
s == NULL ? (char_u *)"" : s, first);
vim_free(tofree);
***************
*** 19401,19407 ****
}
else if (eap->cmdidx == CMD_echo)
msg_puts_attr((char_u *)" ", echo_attr);
! p = echo_string(&rettv, &tofree, numbuf, ++current_copyID);
if (p != NULL)
for ( ; *p != NUL && !got_int; ++p)
{
--- 19409,19416 ----
}
else if (eap->cmdidx == CMD_echo)
msg_puts_attr((char_u *)" ", echo_attr);
! current_copyID += COPYID_INC;
! p = echo_string(&rettv, &tofree, numbuf, current_copyID);
if (p != NULL)
for ( ; *p != NUL && !got_int; ++p)
{
*** ../vim-7.2.191/src/version.c 2009-05-26 22:58:43.000000000 +0200
--- src/version.c 2009-06-03 13:21:20.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 192,
/**/
--
Imagine a world without hypothetical situations.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

53
7.2.193 Normal file
View File

@ -0,0 +1,53 @@
To: vim-dev@vim.org
Subject: Patch 7.2.193
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.193
Problem: Warning for uninitialized values.
Solution: Initialize all the struct items.
Files: src/eval.c
*** ../vim-7.2.192/src/eval.c 2009-06-03 13:22:22.000000000 +0200
--- src/eval.c 2009-05-29 21:13:47.000000000 +0200
***************
*** 286,292 ****
#define VV_RO 2 /* read-only */
#define VV_RO_SBX 4 /* read-only in the sandbox */
! #define VV_NAME(s, t) s, {{t}}, {0}
static struct vimvar
{
--- 286,292 ----
#define VV_RO 2 /* read-only */
#define VV_RO_SBX 4 /* read-only in the sandbox */
! #define VV_NAME(s, t) s, {{t, 0, {0}}, 0, {0}}, {0}
static struct vimvar
{
*** ../vim-7.2.192/src/version.c 2009-06-03 13:22:23.000000000 +0200
--- src/version.c 2009-06-03 14:25:18.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 193,
/**/
--
No engineer can take a shower without wondering if some sort of Teflon coating
would make showering unnecessary.
(Scott Adams - The Dilbert principle)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

44
7.2.194 Normal file
View File

@ -0,0 +1,44 @@
To: vim-dev@vim.org
Subject: Patch 7.2.194 (extra)
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.194 (extra)
Problem: MSVC: rem commands are echoed.
Solution: Add commands to switch off echo. (Wang Xu)
Files: src/msvc2008.bat
*** ../vim-7.2.193/src/msvc2008.bat 2008-06-24 22:55:23.000000000 +0200
--- src/msvc2008.bat 2009-04-29 18:05:11.000000000 +0200
***************
*** 1,5 ****
--- 1,7 ----
+ @echo off
rem To be used on MS-Windows for Visual C++ 2008 Express Edition
rem aka Microsoft Visual Studio 9.0.
rem See INSTALLpc.txt for information.
+ @echo on
call "%VS90COMNTOOLS%%vsvars32.bat"
*** ../vim-7.2.193/src/version.c 2009-06-03 14:25:47.000000000 +0200
--- src/version.c 2009-06-03 15:04:30.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 194,
/**/
--
I used to be indecisive, now I'm not sure.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

79
7.2.195 Normal file
View File

@ -0,0 +1,79 @@
To: vim-dev@vim.org
Subject: Patch 7.2.195
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.195
Problem: Leaking memory for the command Vim was started with.
Solution: Remember the pointer and free it.
Files: src/gui_gtk_x11.c
*** ../vim-7.2.194/src/gui_gtk_x11.c 2009-05-17 16:23:20.000000000 +0200
--- src/gui_gtk_x11.c 2009-06-03 12:44:31.000000000 +0200
***************
*** 412,417 ****
--- 412,418 ----
#endif
#if defined(FEAT_GUI_GNOME) && defined(FEAT_SESSION)
static const char *restart_command = NULL;
+ static char *abs_restart_command = NULL;
#endif
static int found_iconic_arg = FALSE;
***************
*** 449,456 ****
char_u buf[MAXPATHL];
if (mch_FullName((char_u *)argv[0], buf, (int)sizeof(buf), TRUE) == OK)
! /* Tiny leak; doesn't matter, and usually we don't even get here */
! restart_command = (char *)vim_strsave(buf);
}
#endif
--- 450,459 ----
char_u buf[MAXPATHL];
if (mch_FullName((char_u *)argv[0], buf, (int)sizeof(buf), TRUE) == OK)
! {
! abs_restart_command = (char *)vim_strsave(buf);
! restart_command = abs_restart_command;
! }
}
#endif
***************
*** 611,616 ****
--- 614,622 ----
gui_mch_free_all()
{
vim_free(gui_argv);
+ #if defined(FEAT_GUI_GNOME) && defined(FEAT_SESSION)
+ vim_free(abs_restart_command);
+ #endif
}
#endif
*** ../vim-7.2.194/src/version.c 2009-06-03 15:05:05.000000000 +0200
--- src/version.c 2009-06-03 16:19:00.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 195,
/**/
--
I think that you'll agree that engineers are very effective in their social
interactions. It's the "normal" people who are nuts.
(Scott Adams - The Dilbert principle)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

84
7.2.196 Normal file
View File

@ -0,0 +1,84 @@
To: vim-dev@vim.org
Subject: Patch 7.2.196
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.196 (after 7.2.167)
Problem: Turns out splint doesn't work well enough to be usable.
Solution: Remove splint support.
Files: Filelist, src/cleanlint.vim
*** ../vim-7.2.195/Filelist 2009-05-13 12:46:36.000000000 +0200
--- Filelist 2009-05-21 14:42:46.000000000 +0200
***************
*** 139,145 ****
src/INSTALL \
src/INSTALLx.txt \
src/Makefile \
- src/cleanlint.vim \
src/auto/configure \
src/config.aap.in \
src/config.h.in \
--- 139,144 ----
*** ../vim-7.2.195/src/cleanlint.vim 2009-05-13 18:54:14.000000000 +0200
--- src/cleanlint.vim 1970-01-01 01:00:00.000000000 +0100
***************
*** 1,32 ****
- " Vim tool: Filter output of splint
- "
- " Maintainer: Bram Moolenaar <Bram@vim.org>
- " Last Change: 2009 May 13
-
- " Usage: redirect output of "make lint" to a file, edit that file with Vim and
- " :call CleanLint()
- " This deletes irrelevant messages. What remains might be valid warnings.
-
- fun! CleanLint()
- g/Assignment of dev_t to __dev_t:/lockmarks d
- g/Assignment of __dev_t to dev_t:/lockmarks d
- g/Operands of == have incompatible types (__dev_t, dev_t): /lockmarks d
- g/Operands of == have incompatible types (char_u, int): /lockmarks d
- g/Assignment of char to char_u: /lockmarks d
- g/Assignment of unsigned int to int: /lockmarks d
- g/Assignment of int to unsigned int: /lockmarks d
- g/Assignment of unsigned int to long int: /lockmarks d
- g/Assignment of int to char_u: /lockmarks d
- g/Function .* expects arg . to be wint_t gets int: /lockmarks d
- g/Function .* expects arg . to be size_t gets int: /lockmarks d
- g/Initial value of .* is type char, expects char_u: /lockmarks d
- g/^ex_cmds.h:.* Function types are inconsistent. Parameter 1 is implicitly temp, but unqualified in assigned function:/lockmarks d
- g/^ex_docmd.c:.* nospec_str/lockmarks d
- g/^digraph.c.*Additional initialization errors for digraphdefault not reported/lockmarks d
- g/Function strncasecmp expects arg 3 to be int gets size_t: /lockmarks d
- g/^ Types are incompatible/lockmarks d
- g/ To ignore signs in type comparisons use +ignoresigns/lockmarks d
- g/ To allow arbitrary integral types to match any integral type, use +matchanyintegral./lockmarks d
- g/ To allow arbitrary integral types to match long unsigned, use +longintegral./lockmarks d
- g+ A variable is declared but never used. Use /.@unused@./ in front of declaration to suppress message.+lockmarks d
- endfun
--- 0 ----
*** ../vim-7.2.195/src/version.c 2009-06-03 16:20:09.000000000 +0200
--- src/version.c 2009-06-03 22:04:31.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 196,
/**/
--
It's totally unfair to suggest - as many have - that engineers are socially
inept. Engineers simply have different objectives when it comes to social
interaction.
(Scott Adams - The Dilbert principle)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

53
7.2.197 Normal file
View File

@ -0,0 +1,53 @@
To: vim-dev@vim.org
Subject: Patch 7.2.197
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.197
Problem: Warning for uninitialized values.
Solution: Initialize all the struct items of typebuf.
Files: src/globals.h
*** ../vim-7.2.196/src/globals.h 2009-05-13 12:46:36.000000000 +0200
--- src/globals.h 2009-06-10 15:52:18.000000000 +0200
***************
*** 960,966 ****
;
EXTERN typebuf_T typebuf /* typeahead buffer */
#ifdef DO_INIT
! = {NULL, NULL}
#endif
;
#ifdef FEAT_EX_EXTRA
--- 967,973 ----
;
EXTERN typebuf_T typebuf /* typeahead buffer */
#ifdef DO_INIT
! = {NULL, NULL, 0, 0, 0, 0, 0, 0, 0}
#endif
;
#ifdef FEAT_EX_EXTRA
*** ../vim-7.2.196/src/version.c 2009-06-03 22:07:38.000000000 +0200
--- src/version.c 2009-06-10 18:14:58.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 197,
/**/
--
hundred-and-one symptoms of being an internet addict:
18. Your wife drapes a blond wig over your monitor to remind you of what she
looks like.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

60
7.2.198 Normal file
View File

@ -0,0 +1,60 @@
To: vim-dev@vim.org
Subject: Patch 7.2.198
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.198
Problem: Size of buffer used for tgetent() may be too small.
Solution: Use the largest known size everywhere.
Files: src/vim.h
*** ../vim-7.2.197/src/vim.h 2009-05-14 22:19:19.000000000 +0200
--- src/vim.h 2009-06-07 20:37:48.000000000 +0200
***************
*** 1345,1355 ****
# define MSG_BUF_CLEN MSG_BUF_LEN /* cell length */
#endif
! #if defined(AMIGA) || defined(__linux__) || defined(__QNX__) || defined(__CYGWIN32__) || defined(_AIX)
! # define TBUFSZ 2048 /* buffer size for termcap entry */
! #else
! # define TBUFSZ 1024 /* buffer size for termcap entry */
! #endif
/*
* Maximum length of key sequence to be mapped.
--- 1345,1355 ----
# define MSG_BUF_CLEN MSG_BUF_LEN /* cell length */
#endif
! /* Size of the buffer used for tgetent(). Unfortunately this is largely
! * undocumented, some systems use 1024. Using a buffer that is too small
! * causes a buffer overrun and a crash. Use the maximum known value to stay
! * on the safe side. */
! #define TBUFSZ 2048 /* buffer size for termcap entry */
/*
* Maximum length of key sequence to be mapped.
*** ../vim-7.2.197/src/version.c 2009-06-10 18:15:49.000000000 +0200
--- src/version.c 2009-06-16 11:06:45.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 198,
/**/
--
How To Keep A Healthy Level Of Insanity:
7. Finish all your sentences with "in accordance with the prophecy".
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

52
7.2.199 Normal file
View File

@ -0,0 +1,52 @@
To: vim-dev@vim.org
Subject: Patch 7.2.199
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.199
Problem: Strange character in comment.
Solution: Change to "message". (Yongwei Wu)
Files: src/term.c
*** ../vim-7.2.198/src/term.c 2009-05-17 13:30:58.000000000 +0200
--- src/term.c 2009-06-16 11:16:17.000000000 +0200
***************
*** 5555,5561 ****
* respects the current B/k/< settings of 'cpoption'.
*
* This function is called when expanding mappings/abbreviations on the
! * command-line, and for building the "Ambiguous mapping..." error messæge.
*
* It uses a growarray to build the translation string since the
* latter can be wider than the original description. The caller has to
--- 5555,5561 ----
* respects the current B/k/< settings of 'cpoption'.
*
* This function is called when expanding mappings/abbreviations on the
! * command-line, and for building the "Ambiguous mapping..." error message.
*
* It uses a growarray to build the translation string since the
* latter can be wider than the original description. The caller has to
*** ../vim-7.2.198/src/version.c 2009-06-16 11:08:13.000000000 +0200
--- src/version.c 2009-06-16 14:31:03.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 199,
/**/
--
How To Keep A Healthy Level Of Insanity:
10. Ask people what sex they are. Laugh hysterically after they answer.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

348
7.2.200 Normal file
View File

@ -0,0 +1,348 @@
To: vim-dev@vim.org
Subject: Patch 7.2.200
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.200
Problem: Reading past end of string when navigating the menu bar or
resizing the window.
Solution: Add and use mb_ptr2len_len(). (partly by Dominique Pelle)
Also add mb_ptr2cells_len() to prevent more trouble.
Files: src/gui_gtk_x11.c, src/os_unix.c, src/globals.h, src/mbyte.c,
src/proto/mbyte.pro
*** ../vim-7.2.199/src/gui_gtk_x11.c 2009-06-03 16:20:09.000000000 +0200
--- src/gui_gtk_x11.c 2009-06-16 14:44:19.000000000 +0200
***************
*** 6077,6088 ****
# ifdef FEAT_MBYTE
if (enc_utf8)
{
! c = utf_ptr2char(p);
if (c >= 0x10000) /* show chars > 0xffff as ? */
c = 0xbf;
buf[textlen].byte1 = c >> 8;
buf[textlen].byte2 = c;
! p += utf_ptr2len(p);
width += utf_char2cells(c);
}
else
--- 6135,6149 ----
# ifdef FEAT_MBYTE
if (enc_utf8)
{
! int pcc[MAX_MCO];
!
! /* TODO: use the composing characters */
! c = utfc_ptr2char_len(p, &pcc, len - (p - s));
if (c >= 0x10000) /* show chars > 0xffff as ? */
c = 0xbf;
buf[textlen].byte1 = c >> 8;
buf[textlen].byte2 = c;
! p += utfc_ptr2len_len(p, len - (p - s));
width += utf_char2cells(c);
}
else
***************
*** 6106,6113 ****
if (has_mbyte)
{
width = 0;
! for (p = s; p < s + len; p += (*mb_ptr2len)(p))
! width += (*mb_ptr2cells)(p);
}
else
# endif
--- 6167,6174 ----
if (has_mbyte)
{
width = 0;
! for (p = s; p < s + len; p += (*mb_ptr2len_len)(p, len - (p - s)))
! width += (*mb_ptr2cells_len)(p, len - (p - s));
}
else
# endif
*** ../vim-7.2.199/src/os_unix.c 2009-05-17 13:30:58.000000000 +0200
--- src/os_unix.c 2009-06-03 12:35:59.000000000 +0200
***************
*** 4305,4311 ****
ta_buf[i] = '\n';
# ifdef FEAT_MBYTE
if (has_mbyte)
! i += (*mb_ptr2len)(ta_buf + i) - 1;
# endif
}
--- 4305,4312 ----
ta_buf[i] = '\n';
# ifdef FEAT_MBYTE
if (has_mbyte)
! i += (*mb_ptr2len_len)(ta_buf + i,
! ta_len + len - i) - 1;
# endif
}
*** ../vim-7.2.199/src/globals.h 2009-06-10 18:15:49.000000000 +0200
--- src/globals.h 2009-06-12 21:10:30.000000000 +0200
***************
*** 810,820 ****
--- 815,828 ----
*/
/* length of char in bytes, including following composing chars */
EXTERN int (*mb_ptr2len) __ARGS((char_u *p)) INIT(= latin_ptr2len);
+ /* idem, with limit on string length */
+ EXTERN int (*mb_ptr2len_len) __ARGS((char_u *p, int size)) INIT(= latin_ptr2len_len);
/* byte length of char */
EXTERN int (*mb_char2len) __ARGS((int c)) INIT(= latin_char2len);
/* convert char to bytes, return the length */
EXTERN int (*mb_char2bytes) __ARGS((int c, char_u *buf)) INIT(= latin_char2bytes);
EXTERN int (*mb_ptr2cells) __ARGS((char_u *p)) INIT(= latin_ptr2cells);
+ EXTERN int (*mb_ptr2cells_len) __ARGS((char_u *p, int size)) INIT(= latin_ptr2cells_len);
EXTERN int (*mb_char2cells) __ARGS((int c)) INIT(= latin_char2cells);
EXTERN int (*mb_off2cells) __ARGS((unsigned off, unsigned max_off)) INIT(= latin_off2cells);
EXTERN int (*mb_ptr2char) __ARGS((char_u *p)) INIT(= latin_ptr2char);
*** ../vim-7.2.199/src/mbyte.c 2009-05-17 13:30:58.000000000 +0200
--- src/mbyte.c 2009-06-16 15:01:30.000000000 +0200
***************
*** 127,133 ****
--- 127,136 ----
static int dbcs_char2len __ARGS((int c));
static int dbcs_char2bytes __ARGS((int c, char_u *buf));
static int dbcs_ptr2len __ARGS((char_u *p));
+ static int dbcs_ptr2len_len __ARGS((char_u *p, int size));
+ static int utf_ptr2cells_len __ARGS((char_u *p, int size));
static int dbcs_char2cells __ARGS((int c));
+ static int dbcs_ptr2cells_len __ARGS((char_u *p, int size));
static int dbcs_ptr2char __ARGS((char_u *p));
/* Lookup table to quickly get the length in bytes of a UTF-8 character from
***************
*** 606,614 ****
--- 609,619 ----
if (enc_utf8)
{
mb_ptr2len = utfc_ptr2len;
+ mb_ptr2len_len = utfc_ptr2len_len;
mb_char2len = utf_char2len;
mb_char2bytes = utf_char2bytes;
mb_ptr2cells = utf_ptr2cells;
+ mb_ptr2cells_len = utf_ptr2cells_len;
mb_char2cells = utf_char2cells;
mb_off2cells = utf_off2cells;
mb_ptr2char = utf_ptr2char;
***************
*** 617,625 ****
--- 622,632 ----
else if (enc_dbcs != 0)
{
mb_ptr2len = dbcs_ptr2len;
+ mb_ptr2len_len = dbcs_ptr2len_len;
mb_char2len = dbcs_char2len;
mb_char2bytes = dbcs_char2bytes;
mb_ptr2cells = dbcs_ptr2cells;
+ mb_ptr2cells_len = dbcs_ptr2cells_len;
mb_char2cells = dbcs_char2cells;
mb_off2cells = dbcs_off2cells;
mb_ptr2char = dbcs_ptr2char;
***************
*** 628,636 ****
--- 635,645 ----
else
{
mb_ptr2len = latin_ptr2len;
+ mb_ptr2len_len = latin_ptr2len_len;
mb_char2len = latin_char2len;
mb_char2bytes = latin_char2bytes;
mb_ptr2cells = latin_ptr2cells;
+ mb_ptr2cells_len = latin_ptr2cells_len;
mb_char2cells = latin_char2cells;
mb_off2cells = latin_off2cells;
mb_ptr2char = latin_ptr2char;
***************
*** 1069,1075 ****
* Get byte length of character at "*p" but stop at a NUL.
* For UTF-8 this includes following composing characters.
* Returns 0 when *p is NUL.
- *
*/
int
latin_ptr2len(p)
--- 1078,1083 ----
***************
*** 1091,1096 ****
--- 1099,1138 ----
return len;
}
+ /*
+ * mb_ptr2len_len() function pointer.
+ * Like mb_ptr2len(), but limit to read "size" bytes.
+ * Returns 0 for an empty string.
+ * Returns 1 for an illegal char or an incomplete byte sequence.
+ */
+ int
+ latin_ptr2len_len(p, size)
+ char_u *p;
+ int size;
+ {
+ if (size < 1 || *p == NUL)
+ return 0;
+ return 1;
+ }
+
+ static int
+ dbcs_ptr2len_len(p, size)
+ char_u *p;
+ int size;
+ {
+ int len;
+
+ if (size < 1 || *p == NUL)
+ return 0;
+ if (size == 1)
+ return 1;
+ /* Check that second byte is not missing. */
+ len = MB_BYTE2LEN(*p);
+ if (len == 2 && p[1] == NUL)
+ len = 1;
+ return len;
+ }
+
struct interval
{
unsigned short first;
***************
*** 1287,1292 ****
--- 1329,1383 ----
}
/*
+ * mb_ptr2cells_len() function pointer.
+ * Like mb_ptr2cells(), but limit string length to "size".
+ * For an empty string or truncated character returns 1.
+ */
+ int
+ latin_ptr2cells_len(p, size)
+ char_u *p UNUSED;
+ int size UNUSED;
+ {
+ return 1;
+ }
+
+ static int
+ utf_ptr2cells_len(p, size)
+ char_u *p;
+ int size;
+ {
+ int c;
+
+ /* Need to convert to a wide character. */
+ if (size > 0 && *p >= 0x80)
+ {
+ if (utf_ptr2len_len(p, size) < utf8len_tab[*p])
+ return 1;
+ c = utf_ptr2char(p);
+ /* An illegal byte is displayed as <xx>. */
+ if (utf_ptr2len(p) == 1 || c == NUL)
+ return 4;
+ /* If the char is ASCII it must be an overlong sequence. */
+ if (c < 0x80)
+ return char2cells(c);
+ return utf_char2cells(c);
+ }
+ return 1;
+ }
+
+ static int
+ dbcs_ptr2cells_len(p, size)
+ char_u *p;
+ int size;
+ {
+ /* Number of cells is equal to number of bytes, except for euc-jp when
+ * the first byte is 0x8e. */
+ if (size <= 1 || (enc_dbcs == DBCS_JPNU && *p == 0x8e))
+ return 1;
+ return MB_BYTE2LEN(*p);
+ }
+
+ /*
* mb_char2cells() function pointer.
* Return the number of display cells character "c" occupies.
* Only takes care of multi-byte chars, not "^C" and such.
***************
*** 1716,1721 ****
--- 1807,1813 ----
/*
* Return the number of bytes the UTF-8 encoding of the character at "p[size]"
* takes. This includes following composing characters.
+ * Returns 0 for an empty string.
* Returns 1 for an illegal char or an incomplete byte sequence.
*/
int
***************
*** 1728,1734 ****
int prevlen;
#endif
! if (*p == NUL)
return 0;
if (p[0] < 0x80 && (size == 1 || p[1] < 0x80)) /* be quick for ASCII */
return 1;
--- 1820,1826 ----
int prevlen;
#endif
! if (size < 1 || *p == NUL)
return 0;
if (p[0] < 0x80 && (size == 1 || p[1] < 0x80)) /* be quick for ASCII */
return 1;
*** ../vim-7.2.199/src/proto/mbyte.pro 2008-07-13 19:34:19.000000000 +0200
--- src/proto/mbyte.pro 2009-06-16 14:58:39.000000000 +0200
***************
*** 7,16 ****
--- 7,18 ----
int latin_char2len __ARGS((int c));
int latin_char2bytes __ARGS((int c, char_u *buf));
int latin_ptr2len __ARGS((char_u *p));
+ int latin_ptr2len_len __ARGS((char_u *p, int size));
int utf_char2cells __ARGS((int c));
int latin_ptr2cells __ARGS((char_u *p));
int utf_ptr2cells __ARGS((char_u *p));
int dbcs_ptr2cells __ARGS((char_u *p));
+ int latin_ptr2cells_len __ARGS((char_u *p, int size));
int latin_char2cells __ARGS((int c));
int latin_off2cells __ARGS((unsigned off, unsigned max_off));
int dbcs_off2cells __ARGS((unsigned off, unsigned max_off));
***************
*** 85,90 ****
--- 87,93 ----
int preedit_get_status __ARGS((void));
int im_is_preediting __ARGS((void));
int convert_setup __ARGS((vimconv_T *vcp, char_u *from, char_u *to));
+ int convert_setup_ext __ARGS((vimconv_T *vcp, char_u *from, int from_unicode_is_utf8, char_u *to, int to_unicode_is_utf8));
int convert_input __ARGS((char_u *ptr, int len, int maxlen));
int convert_input_safe __ARGS((char_u *ptr, int len, int maxlen, char_u **restp, int *restlenp));
char_u *string_convert __ARGS((vimconv_T *vcp, char_u *ptr, int *lenp));
*** ../vim-7.2.199/src/version.c 2009-06-16 14:31:56.000000000 +0200
--- src/version.c 2009-06-16 14:37:38.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 200,
/**/
--
How To Keep A Healthy Level Of Insanity:
12. Sing along at the opera.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

494
7.2.201 Normal file
View File

@ -0,0 +1,494 @@
To: vim-dev@vim.org
Subject: Patch 7.2.201
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.201
Problem: Cannot copy/paste HTML to/from Firefox via the clipboard.
Solution: Implement this for GTK. Add the "html" value to 'clipboard'.
Files: runtime/doc/options.txt, src/globals.h, src/gui_gtk_x11.c,
src/mbyte.c, src/proto/mbyte.pro, src/option.c
*** ../vim-7.2.200/runtime/doc/options.txt 2009-02-21 20:27:00.000000000 +0100
--- runtime/doc/options.txt 2009-06-12 22:25:22.000000000 +0200
***************
*** 1443,1448 ****
--- 1444,1457 ----
autoselectml Like "autoselect", but for the modeless selection
only. Compare to the 'A' flag in 'guioptions'.
+ html When the clipboard contains HTML, use this when
+ pasting. When putting text on the clipboard, mark it
+ as HTML. This works to copy rendered HTML from
+ Firefox, paste it as raw HTML in Vim, select the HTML
+ in Vim and paste it in a rich edit box in Firefox.
+ Only supported for GTK version 2 and later.
+ Only available with the |+multi_byte| feature.
+
exclude:{pattern}
Defines a pattern that is matched against the name of
the terminal 'term'. If there is a match, no
*** ../vim-7.2.200/src/globals.h 2009-06-16 15:12:11.000000000 +0200
--- src/globals.h 2009-06-12 21:10:30.000000000 +0200
***************
*** 509,514 ****
--- 509,515 ----
EXTERN int clip_unnamed INIT(= FALSE);
EXTERN int clip_autoselect INIT(= FALSE);
EXTERN int clip_autoselectml INIT(= FALSE);
+ EXTERN int clip_html INIT(= FALSE);
EXTERN regprog_T *clip_exclude_prog INIT(= NULL);
#endif
*** ../vim-7.2.200/src/gui_gtk_x11.c 2009-06-16 15:12:11.000000000 +0200
--- src/gui_gtk_x11.c 2009-06-16 14:44:19.000000000 +0200
***************
*** 107,112 ****
--- 107,113 ----
TARGET_UTF8_STRING,
TARGET_STRING,
TARGET_COMPOUND_TEXT,
+ TARGET_HTML,
TARGET_TEXT,
TARGET_TEXT_URI_LIST,
TARGET_TEXT_PLAIN,
***************
*** 123,128 ****
--- 124,130 ----
{VIMENC_ATOM_NAME, 0, TARGET_VIMENC},
{VIM_ATOM_NAME, 0, TARGET_VIM},
#ifdef FEAT_MBYTE
+ {"text/html", 0, TARGET_HTML},
{"UTF8_STRING", 0, TARGET_UTF8_STRING},
#endif
{"COMPOUND_TEXT", 0, TARGET_COMPOUND_TEXT},
***************
*** 140,145 ****
--- 142,148 ----
{
{"text/uri-list", 0, TARGET_TEXT_URI_LIST},
# ifdef FEAT_MBYTE
+ {"text/html", 0, TARGET_HTML},
{"UTF8_STRING", 0, TARGET_UTF8_STRING},
# endif
{"STRING", 0, TARGET_STRING},
***************
*** 178,183 ****
--- 181,187 ----
* Atoms used to control/reference X11 selections.
*/
#ifdef FEAT_MBYTE
+ static GdkAtom html_atom = GDK_NONE;
static GdkAtom utf8_string_atom = GDK_NONE;
#endif
#ifndef HAVE_GTK2
***************
*** 1364,1369 ****
--- 1368,1391 ----
else
text = tmpbuf_utf8;
}
+ else if (len >= 2 && text[0] == 0xff && text[1] == 0xfe)
+ {
+ vimconv_T conv;
+
+ /* UTF-16, we get this for HTML */
+ conv.vc_type = CONV_NONE;
+ convert_setup_ext(&conv, (char_u *)"utf-16le", FALSE, p_enc, TRUE);
+
+ if (conv.vc_type != CONV_NONE)
+ {
+ text += 2;
+ len -= 2;
+ tmpbuf = string_convert(&conv, text, &len);
+ convert_setup(&conv, NULL, NULL);
+ }
+ if (tmpbuf != NULL)
+ text = tmpbuf;
+ }
}
#else /* !HAVE_GTK2 */
# ifdef FEAT_MBYTE
***************
*** 1451,1456 ****
--- 1473,1479 ----
if (info != (guint)TARGET_STRING
#ifdef FEAT_MBYTE
+ && (!clip_html || info != (guint)TARGET_HTML)
&& info != (guint)TARGET_UTF8_STRING
&& info != (guint)TARGET_VIMENC
#endif
***************
*** 1486,1491 ****
--- 1509,1548 ----
}
#ifdef FEAT_MBYTE
+ else if (info == (guint)TARGET_HTML)
+ {
+ vimconv_T conv;
+
+ /* Since we get utf-16, we probably should set it as well. */
+ conv.vc_type = CONV_NONE;
+ convert_setup_ext(&conv, p_enc, TRUE, (char_u *)"utf-16le", FALSE);
+ if (conv.vc_type != CONV_NONE)
+ {
+ tmpbuf = string_convert(&conv, string, &length);
+ convert_setup(&conv, NULL, NULL);
+ vim_free(string);
+ string = tmpbuf;
+ }
+
+ /* Prepend the BOM: "fffe" */
+ if (string != NULL)
+ {
+ tmpbuf = alloc(length + 2);
+ tmpbuf[0] = 0xff;
+ tmpbuf[1] = 0xfe;
+ mch_memmove(tmpbuf + 2, string, (size_t)length);
+ vim_free(string);
+ string = tmpbuf;
+ length += 2;
+
+ selection_data->type = selection_data->target;
+ selection_data->format = 16; /* 16 bits per char */
+ gtk_selection_data_set(selection_data, html_atom, 16,
+ string, length);
+ vim_free(string);
+ }
+ return;
+ }
else if (info == (guint)TARGET_VIMENC)
{
int l = STRLEN(p_enc);
***************
*** 3464,3469 ****
--- 3521,3527 ----
/* Initialise atoms */
#ifdef FEAT_MBYTE
+ html_atom = gdk_atom_intern("text/html", FALSE);
utf8_string_atom = gdk_atom_intern("UTF8_STRING", FALSE);
#endif
#ifndef HAVE_GTK2
***************
*** 6665,6670 ****
--- 6723,6732 ----
for (i = 0; i < N_SELECTION_TARGETS; ++i)
{
+ #ifdef FEAT_MBYTE
+ if (!clip_html && selection_targets[i].info == TARGET_HTML)
+ continue;
+ #endif
received_selection = RS_NONE;
target = gdk_atom_intern(selection_targets[i].target, FALSE);
*** ../vim-7.2.200/src/mbyte.c 2009-06-16 15:12:11.000000000 +0200
--- src/mbyte.c 2009-06-16 15:01:30.000000000 +0200
***************
*** 3265,3271 ****
# if defined(USE_ICONV) || defined(PROTO)
! static char_u *iconv_string __ARGS((vimconv_T *vcp, char_u *str, int slen, int *unconvlenp));
/*
* Call iconv_open() with a check if iconv() works properly (there are broken
--- 3265,3271 ----
# if defined(USE_ICONV) || defined(PROTO)
! static char_u *iconv_string __ARGS((vimconv_T *vcp, char_u *str, int slen, int *unconvlenp, int *resultlenp));
/*
* Call iconv_open() with a check if iconv() works properly (there are broken
***************
*** 3326,3338 ****
* If "unconvlenp" is not NULL handle the string ending in an incomplete
* sequence and set "*unconvlenp" to the length of it.
* Returns the converted string in allocated memory. NULL for an error.
*/
static char_u *
! iconv_string(vcp, str, slen, unconvlenp)
vimconv_T *vcp;
char_u *str;
int slen;
int *unconvlenp;
{
const char *from;
size_t fromlen;
--- 3326,3340 ----
* If "unconvlenp" is not NULL handle the string ending in an incomplete
* sequence and set "*unconvlenp" to the length of it.
* Returns the converted string in allocated memory. NULL for an error.
+ * If resultlenp is not NULL, sets it to the result length in bytes.
*/
static char_u *
! iconv_string(vcp, str, slen, unconvlenp, resultlenp)
vimconv_T *vcp;
char_u *str;
int slen;
int *unconvlenp;
+ int *resultlenp;
{
const char *from;
size_t fromlen;
***************
*** 3418,3423 ****
--- 3420,3428 ----
/* Not enough room or skipping illegal sequence. */
done = to - (char *)result;
}
+
+ if (resultlenp != NULL)
+ *resultlenp = (int)(to - (char *)result);
return result;
}
***************
*** 5837,5844 ****
--- 5842,5866 ----
char_u *from;
char_u *to;
{
+ return convert_setup_ext(vcp, from, TRUE, to, TRUE);
+ }
+
+ /*
+ * As convert_setup(), but only when from_unicode_is_utf8 is TRUE will all
+ * "from" unicode charsets be considered utf-8. Same for "to".
+ */
+ int
+ convert_setup_ext(vcp, from, from_unicode_is_utf8, to, to_unicode_is_utf8)
+ vimconv_T *vcp;
+ char_u *from;
+ int from_unicode_is_utf8;
+ char_u *to;
+ int to_unicode_is_utf8;
+ {
int from_prop;
int to_prop;
+ int from_is_utf8;
+ int to_is_utf8;
/* Reset to no conversion. */
# ifdef USE_ICONV
***************
*** 5856,5892 ****
from_prop = enc_canon_props(from);
to_prop = enc_canon_props(to);
! if ((from_prop & ENC_LATIN1) && (to_prop & ENC_UNICODE))
{
/* Internal latin1 -> utf-8 conversion. */
vcp->vc_type = CONV_TO_UTF8;
vcp->vc_factor = 2; /* up to twice as long */
}
! else if ((from_prop & ENC_LATIN9) && (to_prop & ENC_UNICODE))
{
/* Internal latin9 -> utf-8 conversion. */
vcp->vc_type = CONV_9_TO_UTF8;
vcp->vc_factor = 3; /* up to three as long (euro sign) */
}
! else if ((from_prop & ENC_UNICODE) && (to_prop & ENC_LATIN1))
{
/* Internal utf-8 -> latin1 conversion. */
vcp->vc_type = CONV_TO_LATIN1;
}
! else if ((from_prop & ENC_UNICODE) && (to_prop & ENC_LATIN9))
{
/* Internal utf-8 -> latin9 conversion. */
vcp->vc_type = CONV_TO_LATIN9;
}
#ifdef WIN3264
/* Win32-specific codepage <-> codepage conversion without iconv. */
! else if (((from_prop & ENC_UNICODE) || encname2codepage(from) > 0)
! && ((to_prop & ENC_UNICODE) || encname2codepage(to) > 0))
{
vcp->vc_type = CONV_CODEPAGE;
vcp->vc_factor = 2; /* up to twice as long */
! vcp->vc_cpfrom = (from_prop & ENC_UNICODE) ? 0 : encname2codepage(from);
! vcp->vc_cpto = (to_prop & ENC_UNICODE) ? 0 : encname2codepage(to);
}
#endif
#ifdef MACOS_X
--- 5878,5923 ----
from_prop = enc_canon_props(from);
to_prop = enc_canon_props(to);
! if (from_unicode_is_utf8)
! from_is_utf8 = from_prop & ENC_UNICODE;
! else
! from_is_utf8 = from_prop == ENC_UNICODE;
! if (to_unicode_is_utf8)
! to_is_utf8 = to_prop & ENC_UNICODE;
! else
! to_is_utf8 = to_prop == ENC_UNICODE;
!
! if ((from_prop & ENC_LATIN1) && to_is_utf8)
{
/* Internal latin1 -> utf-8 conversion. */
vcp->vc_type = CONV_TO_UTF8;
vcp->vc_factor = 2; /* up to twice as long */
}
! else if ((from_prop & ENC_LATIN9) && to_is_utf8)
{
/* Internal latin9 -> utf-8 conversion. */
vcp->vc_type = CONV_9_TO_UTF8;
vcp->vc_factor = 3; /* up to three as long (euro sign) */
}
! else if (from_is_utf8 && (to_prop & ENC_LATIN1))
{
/* Internal utf-8 -> latin1 conversion. */
vcp->vc_type = CONV_TO_LATIN1;
}
! else if (from_is_utf8 && (to_prop & ENC_LATIN9))
{
/* Internal utf-8 -> latin9 conversion. */
vcp->vc_type = CONV_TO_LATIN9;
}
#ifdef WIN3264
/* Win32-specific codepage <-> codepage conversion without iconv. */
! else if ((from_is_utf8 || encname2codepage(from) > 0)
! && (to_is_utf8 || encname2codepage(to) > 0))
{
vcp->vc_type = CONV_CODEPAGE;
vcp->vc_factor = 2; /* up to twice as long */
! vcp->vc_cpfrom = from_is_utf8 ? 0 : encname2codepage(from);
! vcp->vc_cpto = to_is_utf8 ? 0 : encname2codepage(to);
}
#endif
#ifdef MACOS_X
***************
*** 5894,5900 ****
{
vcp->vc_type = CONV_MAC_LATIN1;
}
! else if ((from_prop & ENC_MACROMAN) && (to_prop & ENC_UNICODE))
{
vcp->vc_type = CONV_MAC_UTF8;
vcp->vc_factor = 2; /* up to twice as long */
--- 5925,5931 ----
{
vcp->vc_type = CONV_MAC_LATIN1;
}
! else if ((from_prop & ENC_MACROMAN) && to_is_utf8)
{
vcp->vc_type = CONV_MAC_UTF8;
vcp->vc_factor = 2; /* up to twice as long */
***************
*** 5903,5909 ****
{
vcp->vc_type = CONV_LATIN1_MAC;
}
! else if ((from_prop & ENC_UNICODE) && (to_prop & ENC_MACROMAN))
{
vcp->vc_type = CONV_UTF8_MAC;
}
--- 5934,5940 ----
{
vcp->vc_type = CONV_LATIN1_MAC;
}
! else if (from_is_utf8 && (to_prop & ENC_MACROMAN))
{
vcp->vc_type = CONV_UTF8_MAC;
}
***************
*** 5913,5920 ****
{
/* Use iconv() for conversion. */
vcp->vc_fd = (iconv_t)my_iconv_open(
! (to_prop & ENC_UNICODE) ? (char_u *)"utf-8" : to,
! (from_prop & ENC_UNICODE) ? (char_u *)"utf-8" : from);
if (vcp->vc_fd != (iconv_t)-1)
{
vcp->vc_type = CONV_ICONV;
--- 5944,5951 ----
{
/* Use iconv() for conversion. */
vcp->vc_fd = (iconv_t)my_iconv_open(
! to_is_utf8 ? (char_u *)"utf-8" : to,
! from_is_utf8 ? (char_u *)"utf-8" : from);
if (vcp->vc_fd != (iconv_t)-1)
{
vcp->vc_type = CONV_ICONV;
***************
*** 6170,6178 ****
# ifdef USE_ICONV
case CONV_ICONV: /* conversion with output_conv.vc_fd */
! retval = iconv_string(vcp, ptr, len, unconvlenp);
! if (retval != NULL && lenp != NULL)
! *lenp = (int)STRLEN(retval);
break;
# endif
# ifdef WIN3264
--- 6201,6207 ----
# ifdef USE_ICONV
case CONV_ICONV: /* conversion with output_conv.vc_fd */
! retval = iconv_string(vcp, ptr, len, unconvlenp, lenp);
break;
# endif
# ifdef WIN3264
*** ../vim-7.2.200/src/option.c 2009-05-17 13:30:58.000000000 +0200
--- src/option.c 2009-06-12 21:09:51.000000000 +0200
***************
*** 7024,7029 ****
--- 7024,7030 ----
int new_unnamed = FALSE;
int new_autoselect = FALSE;
int new_autoselectml = FALSE;
+ int new_html = FALSE;
regprog_T *new_exclude_prog = NULL;
char_u *errmsg = NULL;
char_u *p;
***************
*** 7047,7052 ****
--- 7048,7058 ----
new_autoselectml = TRUE;
p += 12;
}
+ else if (STRNCMP(p, "html", 4) == 0 && (p[4] == ',' || p[4] == NUL))
+ {
+ new_html = TRUE;
+ p += 4;
+ }
else if (STRNCMP(p, "exclude:", 8) == 0 && new_exclude_prog == NULL)
{
p += 8;
***************
*** 7068,7073 ****
--- 7074,7080 ----
clip_unnamed = new_unnamed;
clip_autoselect = new_autoselect;
clip_autoselectml = new_autoselectml;
+ clip_html = new_html;
vim_free(clip_exclude_prog);
clip_exclude_prog = new_exclude_prog;
}
*** ../vim-7.2.200/src/version.c 2009-06-16 15:12:11.000000000 +0200
--- src/version.c 2009-06-16 15:14:02.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 201,
/**/
--
How To Keep A Healthy Level Of Insanity:
13. Go to a poetry recital and ask why the poems don't rhyme.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

62
7.2.202 Normal file
View File

@ -0,0 +1,62 @@
To: vim-dev@vim.org
Subject: Patch 7.2.202
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.202
Problem: BufWipeout autocommand that edits another buffer causes problems.
Solution: Check for the situation, give an error and quit the operation.
Files: src/fileio.c
*** ../vim-7.2.201/src/fileio.c 2009-05-16 17:29:37.000000000 +0200
--- src/fileio.c 2009-06-11 21:22:37.000000000 +0200
***************
*** 4824,4829 ****
--- 4824,4831 ----
char_u *sfname;
{
#ifdef FEAT_AUTOCMD
+ buf_T *buf = curbuf;
+
/* It's like the unnamed buffer is deleted.... */
if (curbuf->b_p_bl)
apply_autocmds(EVENT_BUFDELETE, NULL, NULL, FALSE, curbuf);
***************
*** 4832,4837 ****
--- 4834,4845 ----
if (aborting()) /* autocmds may abort script processing */
return FAIL;
# endif
+ if (curbuf != buf)
+ {
+ /* We are in another buffer now, don't do the renaming. */
+ EMSG(_(e_auchangedbuf));
+ return FAIL;
+ }
#endif
if (setfname(curbuf, fname, sfname, FALSE) == OK)
*** ../vim-7.2.201/src/version.c 2009-06-16 15:23:07.000000000 +0200
--- src/version.c 2009-06-16 15:28:31.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 202,
/**/
--
How To Keep A Healthy Level Of Insanity:
14. Put mosquito netting around your work area. Play a tape of jungle
sounds all day.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

1496
7.2.203 Normal file

File diff suppressed because it is too large Load Diff

137
7.2.204 Normal file
View File

@ -0,0 +1,137 @@
To: vim-dev@vim.org
Subject: Patch 7.2.204 (extra)
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.204 (extra)
Problem: Win32: Can't build with Visual Studio 2010 beta 1.
Solution: Fix the makefile. (George Reilly)
Files: src/Make_mvc.mak
*** ../vim-7.2.203/src/Make_mvc.mak 2009-05-26 22:58:43.000000000 +0200
--- src/Make_mvc.mak 2009-06-16 16:27:59.000000000 +0200
***************
*** 1,18 ****
# Makefile for Vim on Win32 (Windows NT/2000/XP/2003 and Windows 95/98/Me)
# and Win64, using the Microsoft Visual C++ compilers. Known to work with
# VC5, VC6 (VS98), VC7.0 (VS2002), VC7.1 (VS2003), VC8 (VS2005),
! # and VC9 (VS2008).
#
# To build using other Windows compilers, see INSTALLpc.txt
#
# This makefile can build the console, GUI, OLE-enable, Perl-enabled and
! # Python-enabled versions of vim for Win32 platforms.
#
! # The basic command line to build vim is:
#
# nmake -f Make_mvc.mak
#
! # This will build the console version of vim with no additional interfaces.
# To add features, define any of the following:
#
# !!!! After changing features do "nmake clean" first !!!!
--- 1,18 ----
# Makefile for Vim on Win32 (Windows NT/2000/XP/2003 and Windows 95/98/Me)
# and Win64, using the Microsoft Visual C++ compilers. Known to work with
# VC5, VC6 (VS98), VC7.0 (VS2002), VC7.1 (VS2003), VC8 (VS2005),
! # VC9 (VS2008), and VC10 (VS2010).
#
# To build using other Windows compilers, see INSTALLpc.txt
#
# This makefile can build the console, GUI, OLE-enable, Perl-enabled and
! # Python-enabled versions of Vim for Win32 platforms.
#
! # The basic command line to build Vim is:
#
# nmake -f Make_mvc.mak
#
! # This will build the console version of Vim with no additional interfaces.
# To add features, define any of the following:
#
# !!!! After changing features do "nmake clean" first !!!!
***************
*** 358,363 ****
--- 358,366 ----
!if "$(_NMAKE_VER)" == "9.00.30729.01"
MSVCVER = 9.0
!endif
+ !if "$(_NMAKE_VER)" == "10.00.20506.01"
+ MSVCVER = 10.0
+ !endif
!endif
# Abort bulding VIM if version of VC is unrecognised.
***************
*** 372,378 ****
!endif
# Convert processor ID to MVC-compatible number
! !if ("$(MSVCVER)" != "8.0") && ("$(MSVCVER)" != "9.0")
!if "$(CPUNR)" == "i386"
CPUARG = /G3
!elseif "$(CPUNR)" == "i486"
--- 375,381 ----
!endif
# Convert processor ID to MVC-compatible number
! !if ("$(MSVCVER)" != "8.0") && ("$(MSVCVER)" != "9.0") && ("$(MSVCVER)" != "10.0")
!if "$(CPUNR)" == "i386"
CPUARG = /G3
!elseif "$(CPUNR)" == "i486"
***************
*** 405,411 ****
!else # MAXSPEED
OPTFLAG = /Ox
!endif
! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0")
# Use link time code generation if not worried about size
!if "$(OPTIMIZE)" != "SPACE"
OPTFLAG = $(OPTFLAG) /GL
--- 408,414 ----
!else # MAXSPEED
OPTFLAG = /Ox
!endif
! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0")
# Use link time code generation if not worried about size
!if "$(OPTIMIZE)" != "SPACE"
OPTFLAG = $(OPTFLAG) /GL
***************
*** 793,799 ****
# Report link time code generation progress if used.
!ifdef NODEBUG
! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0")
!if "$(OPTIMIZE)" != "SPACE"
LINKARGS1 = $(LINKARGS1) /LTCG:STATUS
!endif
--- 796,802 ----
# Report link time code generation progress if used.
!ifdef NODEBUG
! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0")
!if "$(OPTIMIZE)" != "SPACE"
LINKARGS1 = $(LINKARGS1) /LTCG:STATUS
!endif
*** ../vim-7.2.203/src/version.c 2009-06-16 16:01:34.000000000 +0200
--- src/version.c 2009-06-16 16:32:41.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 204,
/**/
--
How To Keep A Healthy Level Of Insanity:
16. Have your coworkers address you by your wrestling name, Rock Hard Kim.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

81
7.2.205 Normal file
View File

@ -0,0 +1,81 @@
To: vim-dev@vim.org
Subject: Patch 7.2.205 (extra)
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.205 (extra)
Problem: Win32: No support for High DPI awarenes.
Solution: Fix the manifest file. (George Reilly)
Files: src/Make_mvc.mak, src/gvim.exe.mnf
*** ../vim-7.2.204/src/Make_mvc.mak 2009-06-16 16:34:12.000000000 +0200
--- src/Make_mvc.mak 2009-06-16 16:36:32.000000000 +0200
***************
*** 1040,1046 ****
$(OUTDIR)/xpm_w32.obj: $(OUTDIR) xpm_w32.c
$(CC) $(CFLAGS) $(XPM_INC) xpm_w32.c
! $(OUTDIR)/vim.res: $(OUTDIR) vim.rc version.h tools.bmp tearoff.bmp \
vim.ico vim_error.ico vim_alert.ico vim_info.ico vim_quest.ico
$(RC) /l 0x409 /Fo$(OUTDIR)/vim.res $(RCFLAGS) vim.rc
--- 1040,1046 ----
$(OUTDIR)/xpm_w32.obj: $(OUTDIR) xpm_w32.c
$(CC) $(CFLAGS) $(XPM_INC) xpm_w32.c
! $(OUTDIR)/vim.res: $(OUTDIR) vim.rc gvim.exe.mnf version.h tools.bmp tearoff.bmp \
vim.ico vim_error.ico vim_alert.ico vim_info.ico vim_quest.ico
$(RC) /l 0x409 /Fo$(OUTDIR)/vim.res $(RCFLAGS) vim.rc
*** ../vim-7.2.204/src/gvim.exe.mnf 2008-08-09 19:37:29.000000000 +0200
--- src/gvim.exe.mnf 2009-06-16 16:36:32.000000000 +0200
***************
*** 1,5 ****
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
! <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
processorArchitecture="*"
version="7.2.0.0"
--- 1,5 ----
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
! <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" >
<assemblyIdentity
processorArchitecture="*"
version="7.2.0.0"
***************
*** 29,32 ****
--- 29,38 ----
</requestedPrivileges>
</security>
</trustInfo>
+ <!-- Vista High DPI aware -->
+ <asmv3:application>
+ <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
+ <dpiAware>true</dpiAware>
+ </asmv3:windowsSettings>
+ </asmv3:application>
</assembly>
*** ../vim-7.2.204/src/version.c 2009-06-16 16:34:12.000000000 +0200
--- src/version.c 2009-06-16 16:43:04.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 205,
/**/
--
How To Keep A Healthy Level Of Insanity:
17. When the money comes out the ATM, scream "I won!, I won! 3rd
time this week!!!!!"
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

46
7.2.206 Normal file
View File

@ -0,0 +1,46 @@
To: vim-dev@vim.org
Subject: Patch 7.2.206
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.206
Problem: Win32: Can't build netbeans interface with Visual Studio 2010.
Solution: Undefine ECONNREFUSED. (George Reilly)
Files: src/netbeans.c
*** ../vim-7.2.205/src/netbeans.c 2009-05-17 23:25:16.000000000 +0200
--- src/netbeans.c 2009-06-16 16:39:17.000000000 +0200
***************
*** 32,37 ****
--- 32,38 ----
/* WinSock API is separated from C API, thus we can't use read(), write(),
* errno... */
# define sock_errno WSAGetLastError()
+ # undef ECONNREFUSED
# define ECONNREFUSED WSAECONNREFUSED
# ifdef EINTR
# undef EINTR
*** ../vim-7.2.205/src/version.c 2009-06-16 16:45:14.000000000 +0200
--- src/version.c 2009-06-16 16:57:45.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 206,
/**/
--
How To Keep A Healthy Level Of Insanity:
18. When leaving the zoo, start running towards the parking lot,
yelling "run for your lives, they're loose!!"
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

69
7.2.207 Normal file
View File

@ -0,0 +1,69 @@
To: vim-dev@vim.org
Subject: Patch 7.2.207
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.207
Problem: Using freed memory with ":redrawstatus" when it works recursively.
Solution: Prevent recursively updating the status line. (partly by Dominique
Pelle)
Files: src/screen.c
*** ../vim-7.2.206/src/screen.c 2009-06-16 16:01:34.000000000 +0200
--- src/screen.c 2009-06-16 17:04:53.000000000 +0200
***************
*** 5743,5748 ****
--- 5743,5755 ----
int fillchar;
int attr;
int this_ru_col;
+ static int busy = FALSE;
+
+ /* It's possible to get here recursively when 'statusline' (indirectly)
+ * invokes ":redrawstatus". Simply ignore the call then. */
+ if (busy)
+ return;
+ busy = TRUE;
wp->w_redr_status = FALSE;
if (wp->w_status_height == 0)
***************
*** 5881,5886 ****
--- 5888,5894 ----
attr);
}
#endif
+ busy = FALSE;
}
#ifdef FEAT_STL_OPT
*** ../vim-7.2.206/src/version.c 2009-06-16 16:57:53.000000000 +0200
--- src/version.c 2009-06-16 17:21:56.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 207,
/**/
--
In many of the more relaxed civilizations on the Outer Eastern Rim of the
Galaxy, "The Hitchhiker's Guide to the Galaxy" has already supplanted the
great "Encyclopedia Galactica" as the standard repository of all knowledge
and wisdom, for though it has many omissions and contains much that is
apocryphal, or at least wildly inaccurate, it scores over the older, more
pedestrian work in two important respects.
First, it is slightly cheaper; and second, it has the words "DON'T PANIC"
inscribed in large friendly letters on its cover.
-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

82
7.2.208 Normal file
View File

@ -0,0 +1,82 @@
To: vim-dev@vim.org
Subject: Patch 7.2.208
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.208
Problem: "set novice" gives an error message, it should be ignored.
Solution: Don't see "no" in "novice" as unsetting an option. (Patrick
Texier)
Files: src/option.c
*** ../vim-7.2.207/src/option.c 2009-06-16 15:23:07.000000000 +0200
--- src/option.c 2009-06-16 17:35:08.000000000 +0200
***************
*** 4006,4012 ****
else
{
prefix = 1;
! if (STRNCMP(arg, "no", 2) == 0)
{
prefix = 0;
arg += 2;
--- 4006,4012 ----
else
{
prefix = 1;
! if (STRNCMP(arg, "no", 2) == 0 && STRNCMP(arg, "novice", 6) != 0)
{
prefix = 0;
arg += 2;
***************
*** 9757,9763 ****
}
--p;
}
! if (STRNCMP(p, "no", 2) == 0)
{
xp->xp_context = EXPAND_BOOL_SETTINGS;
p += 2;
--- 9757,9763 ----
}
--p;
}
! if (STRNCMP(p, "no", 2) == 0 && STRNCMP(p, "novice", 6) != 0)
{
xp->xp_context = EXPAND_BOOL_SETTINGS;
p += 2;
*** ../vim-7.2.207/src/version.c 2009-06-16 17:22:38.000000000 +0200
--- src/version.c 2009-06-16 17:50:33.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 208,
/**/
--
Now it is such a bizarrely improbable coincidence that anything as
mind-bogglingly useful as the Babel fish could have evolved purely by chance
that some thinkers have chosen to see it as a final and clinching proof of the
NON-existence of God.
The argument goes something like this: 'I refuse to prove that I exist,' says
God, 'for proof denies faith, and without faith I am nothing.'
'But,' says Man, 'the Babel fish is a dead giveaway, isn't it? It could not
have evolved by chance. It proves you exist, and so therefore, by your own
arguments, you don't. QED.'
'Oh dear,' says God, 'I hadn't thought of that,' and promptly vanishes in a
puff of logic.
'Oh, that was easy,' says Man, and for an encore goes on to prove that black
is white and gets himself killed on the next pedestrian crossing.
-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

82
7.2.209 Normal file
View File

@ -0,0 +1,82 @@
To: vim-dev@vim.org
Subject: Patch 7.2.209
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.209
Problem: For xxd setmode() is undefined on Cygwin.
Solution: Include io.h. (Dominique Pelle)
Files: src/xxd/xxd.c
*** ../vim-7.2.208/src/xxd/xxd.c 2007-12-03 21:32:21.000000000 +0100
--- src/xxd/xxd.c 2009-06-16 18:03:14.000000000 +0200
***************
*** 64,69 ****
--- 64,72 ----
# define _CRT_SECURE_NO_DEPRECATE
# define _CRT_NONSTDC_NO_DEPRECATE
#endif
+ #if !defined(CYGWIN) && (defined(CYGWIN32) || defined(__CYGWIN__) || defined(__CYGWIN32__))
+ # define CYGWIN
+ #endif
#include <stdio.h>
#ifdef VAXC
***************
*** 77,83 ****
#if !defined(OS2) && defined(__EMX__)
# define OS2
#endif
! #if defined(MSDOS) || defined(WIN32) || defined(OS2) || defined(__BORLANDC__)
# include <io.h> /* for setmode() */
#else
# ifdef UNIX
--- 80,87 ----
#if !defined(OS2) && defined(__EMX__)
# define OS2
#endif
! #if defined(MSDOS) || defined(WIN32) || defined(OS2) || defined(__BORLANDC__) \
! || defined(CYGWIN)
# include <io.h> /* for setmode() */
#else
# ifdef UNIX
***************
*** 150,158 ****
# endif
#endif
- #if !defined(CYGWIN) && (defined(CYGWIN32) || defined(__CYGWIN__) || defined(__CYGWIN32__))
- # define CYGWIN
- #endif
#if defined(MSDOS) || defined(WIN32) || defined(OS2)
# define BIN_READ(yes) ((yes) ? "rb" : "rt")
# define BIN_WRITE(yes) ((yes) ? "wb" : "wt")
--- 154,159 ----
*** ../vim-7.2.208/src/version.c 2009-06-16 17:50:56.000000000 +0200
--- src/version.c 2009-06-16 18:16:08.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 209,
/**/
--
"So this is it," said Arthur, "we are going to die."
"Yes," said Ford, "except...no! Wait a minute!" He suddenly lunged across
the chamber at something behind Arthur's line of vision. "What's this
switch?" he cried.
"What? Where?" cried Arthur, twisting around.
"No, I was only fooling," said Ford, "we are going to die after all."
-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

58
7.2.210 Normal file
View File

@ -0,0 +1,58 @@
To: vim-dev@vim.org
Subject: Patch 7.2.210
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.210
Problem: When a file that is being edited has its timestamp updated outside
of Vim and ":checktime" is used still get a warning when writing
the file. (Matt Mueller)
Solution: Store the timestamp in b_mtime_read when the timestamp is the only
thing that changed.
Files: src/fileio.c
*** ../vim-7.2.209/src/fileio.c 2009-06-16 16:01:34.000000000 +0200
--- src/fileio.c 2009-06-20 13:29:41.000000000 +0200
***************
*** 6627,6633 ****
mesg = _("W16: Warning: Mode of file \"%s\" has changed since editing started");
mesg2 = _("See \":help W16\" for more info.");
}
! /* Else: only timestamp changed, ignored */
}
}
}
--- 6627,6636 ----
mesg = _("W16: Warning: Mode of file \"%s\" has changed since editing started");
mesg2 = _("See \":help W16\" for more info.");
}
! else
! /* Only timestamp changed, store it to avoid a warning
! * in check_mtime() later. */
! buf->b_mtime_read = buf->b_mtime;
}
}
}
*** ../vim-7.2.209/src/version.c 2009-06-16 18:29:37.000000000 +0200
--- src/version.c 2009-06-24 11:57:08.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 210,
/**/
--
Have you heard about the new Beowulf cluster? It's so fast, it executes
an infinite loop in 6 seconds.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

52
7.2.211 Normal file
View File

@ -0,0 +1,52 @@
To: vim-dev@vim.org
Subject: Patch 7.2.211
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.211
Problem: Memory leak when expanding a series of file names.
Solution: Use ga_clear_strings() instead of ga_clear().
Files: src/misc1.c
*** ../vim-7.2.210/src/misc1.c 2009-05-17 13:30:58.000000000 +0200
--- src/misc1.c 2009-06-24 16:16:17.000000000 +0200
***************
*** 9193,9199 ****
else if (vim_strpbrk(p, (char_u *)"$~") != NULL)
{
vim_free(p);
! ga_clear(&ga);
i = mch_expand_wildcards(num_pat, pat, num_file, file,
flags);
recursive = FALSE;
--- 9193,9199 ----
else if (vim_strpbrk(p, (char_u *)"$~") != NULL)
{
vim_free(p);
! ga_clear_strings(&ga);
i = mch_expand_wildcards(num_pat, pat, num_file, file,
flags);
recursive = FALSE;
*** ../vim-7.2.210/src/version.c 2009-06-24 11:57:53.000000000 +0200
--- src/version.c 2009-06-24 16:24:32.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 211,
/**/
--
hundred-and-one symptoms of being an internet addict:
34. You laugh at people with 14400 baud modems.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

62
7.2.212 Normal file
View File

@ -0,0 +1,62 @@
To: vim-dev@vim.org
Subject: Patch 7.2.212 (extra)
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.212 (extra)
Problem: Warnings for redefining SIG macros.
Solution: Don't define them if already defined. (Bjorn Winckler)
Files: src/os_mac.h
*** ../vim-7.2.211/src/os_mac.h 2008-06-24 22:27:34.000000000 +0200
--- src/os_mac.h 2009-06-19 21:21:57.000000000 +0200
***************
*** 268,276 ****
*/
#ifdef MACOS_X_UNIX
! # define SIGPROTOARG (int)
! # define SIGDEFARG(s) (s) int s;
! # define SIGDUMMYARG 0
# undef HAVE_AVAIL_MEM
# ifndef HAVE_CONFIG_H
# define RETSIGTYPE void
--- 268,282 ----
*/
#ifdef MACOS_X_UNIX
! # ifndef SIGPROTOARG
! # define SIGPROTOARG (int)
! # endif
! # ifndef SIGDEFARG
! # define SIGDEFARG(s) (s) int s UNUSED;
! # endif
! # ifndef SIGDUMMYARG
! # define SIGDUMMYARG 0
! # endif
# undef HAVE_AVAIL_MEM
# ifndef HAVE_CONFIG_H
# define RETSIGTYPE void
*** ../vim-7.2.211/src/version.c 2009-06-24 16:25:23.000000000 +0200
--- src/version.c 2009-06-24 16:40:18.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 212,
/**/
--
hundred-and-one symptoms of being an internet addict:
37. You start looking for hot HTML addresses in public restrooms.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

53
7.2.213 Normal file
View File

@ -0,0 +1,53 @@
To: vim-dev@vim.org
Subject: Patch 7.2.213
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.213
Problem: Warning for using vsprintf().
Solution: Use vim_vsnprintf().
Files: src/netbeans.c
*** ../vim-7.2.212/src/netbeans.c 2009-06-16 16:57:53.000000000 +0200
--- src/netbeans.c 2009-06-24 11:26:43.000000000 +0200
***************
*** 2586,2592 ****
va_list ap;
va_start(ap, cmd);
! vsprintf(buf, cmd, ap);
va_end(ap);
nbdebug((" COLONCMD %s\n", buf));
--- 2586,2592 ----
va_list ap;
va_start(ap, cmd);
! vim_vsnprintf(buf, sizeof(buf), cmd, ap, NULL);
va_end(ap);
nbdebug((" COLONCMD %s\n", buf));
*** ../vim-7.2.212/src/version.c 2009-06-24 16:41:01.000000000 +0200
--- src/version.c 2009-06-24 16:49:06.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 213,
/**/
--
hundred-and-one symptoms of being an internet addict:
38. You wake up at 3 a.m. to go to the bathroom and stop and check your e-mail
on the way back to bed.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

65
7.2.214 Normal file
View File

@ -0,0 +1,65 @@
To: vim-dev@vim.org
Subject: Patch 7.2.214
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.214
Problem: Crash with complete function for user command. (Andy Wokula)
Solution: Avoid using a NULL pointer (Dominique Pelle)
Files: src/ex_getln.c
*** ../vim-7.2.213/src/ex_getln.c 2009-05-16 17:29:37.000000000 +0200
--- src/ex_getln.c 2009-06-24 16:57:28.000000000 +0200
***************
*** 4874,4887 ****
/* Loop over the items in the list. */
for (li = retlist->lv_first; li != NULL; li = li->li_next)
{
! if (li->li_tv.v_type != VAR_STRING)
! continue; /* Skip non-string items */
if (ga_grow(&ga, 1) == FAIL)
break;
((char_u **)ga.ga_data)[ga.ga_len] =
! vim_strsave(li->li_tv.vval.v_string);
++ga.ga_len;
}
list_unref(retlist);
--- 4874,4887 ----
/* Loop over the items in the list. */
for (li = retlist->lv_first; li != NULL; li = li->li_next)
{
! if (li->li_tv.v_type != VAR_STRING || li->li_tv.vval.v_string == NULL)
! continue; /* Skip non-string items and empty strings */
if (ga_grow(&ga, 1) == FAIL)
break;
((char_u **)ga.ga_data)[ga.ga_len] =
! vim_strsave(li->li_tv.vval.v_string);
++ga.ga_len;
}
list_unref(retlist);
*** ../vim-7.2.213/src/version.c 2009-06-24 16:49:50.000000000 +0200
--- src/version.c 2009-06-24 17:03:58.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 214,
/**/
--
He who laughs last, thinks slowest.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

310
7.2.215 Normal file
View File

@ -0,0 +1,310 @@
To: vim-dev@vim.org
Subject: Patch 7.2.215
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.215
Problem: ml_get error when using ":vimgrep".
Solution: Load the memfile for the hidden buffer before putting it in a
window. Correct the order of splitting the window and filling
the window and buffer with data.
Files: src/fileio.c, src/proto/window.pro, src/quickfix.c, src/window.c
*** ../vim-7.2.214/src/fileio.c 2009-06-24 11:57:53.000000000 +0200
--- src/fileio.c 2009-06-24 12:53:19.000000000 +0200
***************
*** 710,716 ****
#endif
#ifdef UNIX
/* Set swap file protection bits after creating it. */
! if (swap_mode > 0 && curbuf->b_ml.ml_mfp->mf_fname != NULL)
(void)mch_setperm(curbuf->b_ml.ml_mfp->mf_fname, (long)swap_mode);
#endif
}
--- 710,717 ----
#endif
#ifdef UNIX
/* Set swap file protection bits after creating it. */
! if (swap_mode > 0 && curbuf->b_ml.ml_mfp != NULL
! && curbuf->b_ml.ml_mfp->mf_fname != NULL)
(void)mch_setperm(curbuf->b_ml.ml_mfp->mf_fname, (long)swap_mode);
#endif
}
***************
*** 8435,8443 ****
* effects, insert it in a the current tab page.
* Anything related to a window (e.g., setting folds) may have
* unexpected results. */
! curwin = aucmd_win;
! curwin->w_buffer = buf;
++buf->b_nwindows;
#ifdef FEAT_WINDOWS
/* Split the current window, put the aucmd_win in the upper half. */
--- 8436,8444 ----
* effects, insert it in a the current tab page.
* Anything related to a window (e.g., setting folds) may have
* unexpected results. */
! aucmd_win->w_buffer = buf;
++buf->b_nwindows;
+ win_init_empty(aucmd_win); /* set cursor and topline to safe values */
#ifdef FEAT_WINDOWS
/* Split the current window, put the aucmd_win in the upper half. */
***************
*** 8448,8459 ****
(void)win_comp_pos(); /* recompute window positions */
p_ea = save_ea;
#endif
! /* set cursor and topline to safe values */
! curwin_init();
! #ifdef FEAT_VERTSPLIT
! curwin->w_wincol = 0;
! curwin->w_width = Columns;
! #endif
}
curbuf = buf;
aco->new_curwin = curwin;
--- 8449,8455 ----
(void)win_comp_pos(); /* recompute window positions */
p_ea = save_ea;
#endif
! curwin = aucmd_win;
}
curbuf = buf;
aco->new_curwin = curwin;
*** ../vim-7.2.214/src/proto/window.pro 2009-06-16 16:01:34.000000000 +0200
--- src/proto/window.pro 2009-06-24 12:53:13.000000000 +0200
***************
*** 14,19 ****
--- 14,20 ----
win_T *winframe_remove __ARGS((win_T *win, int *dirp, tabpage_T *tp));
void close_others __ARGS((int message, int forceit));
void curwin_init __ARGS((void));
+ void win_init_empty __ARGS((win_T *wp));
int win_alloc_first __ARGS((void));
void win_alloc_aucmd_win __ARGS((void));
void win_init_size __ARGS((void));
*** ../vim-7.2.214/src/quickfix.c 2009-05-17 13:30:58.000000000 +0200
--- src/quickfix.c 2009-06-24 15:30:06.000000000 +0200
***************
*** 3411,3424 ****
/* Init the options. */
buf_copy_options(newbuf, BCO_ENTER | BCO_NOHELP);
! /* set curwin/curbuf to buf and save a few things */
! aucmd_prepbuf(&aco, newbuf);
! /* Need to set the filename for autocommands. */
! (void)setfname(curbuf, fname, NULL, FALSE);
- if (ml_open(curbuf) == OK)
- {
/* Create swap file now to avoid the ATTENTION message. */
check_need_swap(TRUE);
--- 3411,3425 ----
/* Init the options. */
buf_copy_options(newbuf, BCO_ENTER | BCO_NOHELP);
! /* need to open the memfile before putting the buffer in a window */
! if (ml_open(newbuf) == OK)
! {
! /* set curwin/curbuf to buf and save a few things */
! aucmd_prepbuf(&aco, newbuf);
! /* Need to set the filename for autocommands. */
! (void)setfname(curbuf, fname, NULL, FALSE);
/* Create swap file now to avoid the ATTENTION message. */
check_need_swap(TRUE);
***************
*** 3441,3450 ****
newbuf = curbuf;
}
}
- }
! /* restore curwin/curbuf and a few other things */
! aucmd_restbuf(&aco);
if (!buf_valid(newbuf))
return NULL;
--- 3442,3451 ----
newbuf = curbuf;
}
}
! /* restore curwin/curbuf and a few other things */
! aucmd_restbuf(&aco);
! }
if (!buf_valid(newbuf))
return NULL;
*** ../vim-7.2.214/src/window.c 2009-06-16 16:01:34.000000000 +0200
--- src/window.c 2009-06-24 14:35:16.000000000 +0200
***************
*** 2354,2366 ****
frame_T *frp;
win_T *wp;
- #ifdef FEAT_FOLDING
- clearFolding(win);
- #endif
-
- /* reduce the reference count to the argument list. */
- alist_unlink(win->w_alist);
-
/* Remove the window and its frame from the tree of frames. */
frp = win->w_frame;
wp = winframe_remove(win, dirp, tp);
--- 2354,2359 ----
***************
*** 2386,2394 ****
tabpage_close(TRUE);
# endif
- while (firstwin != NULL)
- (void)win_free_mem(firstwin, &dummy, NULL);
-
# ifdef FEAT_AUTOCMD
if (aucmd_win != NULL)
{
--- 2379,2384 ----
***************
*** 2396,2401 ****
--- 2386,2394 ----
aucmd_win = NULL;
}
# endif
+
+ while (firstwin != NULL)
+ (void)win_free_mem(firstwin, &dummy, NULL);
}
#endif
***************
*** 3204,3230 ****
void
curwin_init()
{
! redraw_win_later(curwin, NOT_VALID);
! curwin->w_lines_valid = 0;
! curwin->w_cursor.lnum = 1;
! curwin->w_curswant = curwin->w_cursor.col = 0;
#ifdef FEAT_VIRTUALEDIT
! curwin->w_cursor.coladd = 0;
#endif
! curwin->w_pcmark.lnum = 1; /* pcmark not cleared but set to line 1 */
! curwin->w_pcmark.col = 0;
! curwin->w_prev_pcmark.lnum = 0;
! curwin->w_prev_pcmark.col = 0;
! curwin->w_topline = 1;
#ifdef FEAT_DIFF
! curwin->w_topfill = 0;
#endif
! curwin->w_botline = 2;
#ifdef FEAT_FKMAP
! if (curwin->w_p_rl)
! curwin->w_farsi = W_CONV + W_R_L;
else
! curwin->w_farsi = W_CONV;
#endif
}
--- 3197,3230 ----
void
curwin_init()
{
! win_init_empty(curwin);
! }
!
! void
! win_init_empty(wp)
! win_T *wp;
! {
! redraw_win_later(wp, NOT_VALID);
! wp->w_lines_valid = 0;
! wp->w_cursor.lnum = 1;
! wp->w_curswant = wp->w_cursor.col = 0;
#ifdef FEAT_VIRTUALEDIT
! wp->w_cursor.coladd = 0;
#endif
! wp->w_pcmark.lnum = 1; /* pcmark not cleared but set to line 1 */
! wp->w_pcmark.col = 0;
! wp->w_prev_pcmark.lnum = 0;
! wp->w_prev_pcmark.col = 0;
! wp->w_topline = 1;
#ifdef FEAT_DIFF
! wp->w_topfill = 0;
#endif
! wp->w_botline = 2;
#ifdef FEAT_FKMAP
! if (wp->w_p_rl)
! wp->w_farsi = W_CONV + W_R_L;
else
! wp->w_farsi = W_CONV;
#endif
}
***************
*** 4325,4330 ****
--- 4325,4337 ----
{
int i;
+ #ifdef FEAT_FOLDING
+ clearFolding(wp);
+ #endif
+
+ /* reduce the reference count to the argument list. */
+ alist_unlink(wp->w_alist);
+
#ifdef FEAT_AUTOCMD
/* Don't execute autocommands while the window is halfway being deleted.
* gui_mch_destroy_scrollbar() may trigger a FocusGained event. */
***************
*** 4387,4393 ****
}
#endif /* FEAT_GUI */
! win_remove(wp, tp);
vim_free(wp);
#ifdef FEAT_AUTOCMD
--- 4394,4403 ----
}
#endif /* FEAT_GUI */
! #ifdef FEAT_AUTOCMD
! if (wp != aucmd_win)
! #endif
! win_remove(wp, tp);
vim_free(wp);
#ifdef FEAT_AUTOCMD
*** ../vim-7.2.214/src/version.c 2009-06-24 17:04:40.000000000 +0200
--- src/version.c 2009-06-24 17:27:38.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 215,
/**/
--
Micro$oft: where do you want to go today?
Linux: where do you want to go tomorrow?
FreeBSD: are you guys coming, or what?
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

137
7.2.216 Normal file
View File

@ -0,0 +1,137 @@
To: vim-dev@vim.org
Subject: Patch 7.2.216
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.216
Problem: Two error messages have the same number E812.
Solution: Give one message a different number.
Files: runtime/doc/autocmd.txt, runtime/doc/if_mzsch.txt, src/if_mzsch.c
*** ../vim-7.2.215/runtime/doc/autocmd.txt 2008-08-09 19:36:46.000000000 +0200
--- runtime/doc/autocmd.txt 2009-06-24 17:49:04.000000000 +0200
***************
*** 335,340 ****
--- 335,342 ----
NOTE: When this autocommand is executed, the
current buffer "%" may be different from the
buffer being deleted "<afile>" and "<abuf>".
+ Don't change to another buffer, it will cause
+ problems.
*BufEnter*
BufEnter After entering a buffer. Useful for setting
options for a file type. Also executed when
***************
*** 397,402 ****
--- 399,406 ----
NOTE: When this autocommand is executed, the
current buffer "%" may be different from the
buffer being unloaded "<afile>".
+ Don't change to another buffer, it will cause
+ problems.
*BufWinEnter*
BufWinEnter After a buffer is displayed in a window. This
can be when the buffer is loaded (after
***************
*** 428,433 ****
--- 432,439 ----
NOTE: When this autocommand is executed, the
current buffer "%" may be different from the
buffer being deleted "<afile>".
+ Don't change to another buffer, it will cause
+ problems.
*BufWrite* *BufWritePre*
BufWrite or BufWritePre Before writing the whole buffer to a file.
*BufWriteCmd*
***************
*** 748,755 ****
'a' abort, like hitting CTRL-C
When set to an empty string the user will be
asked, as if there was no SwapExists autocmd.
! Note: Do not try to change the buffer, the
! results are unpredictable.
*Syntax*
Syntax When the 'syntax' option has been set. The
pattern is matched against the syntax name.
--- 754,763 ----
'a' abort, like hitting CTRL-C
When set to an empty string the user will be
asked, as if there was no SwapExists autocmd.
! *E812*
! It is not allowed to change to another buffer,
! change a buffer name or change directory
! here.
*Syntax*
Syntax When the 'syntax' option has been set. The
pattern is matched against the syntax name.
*** ../vim-7.2.215/runtime/doc/if_mzsch.txt 2009-05-26 22:58:43.000000000 +0200
--- runtime/doc/if_mzsch.txt 2009-06-24 12:08:20.000000000 +0200
***************
*** 1,4 ****
! *if_mzsch.txt* For Vim version 7.2. Last change: 2009 May 26
VIM REFERENCE MANUAL by Sergey Khorev
--- 1,4 ----
! *if_mzsch.txt* For Vim version 7.2. Last change: 2009 Jun 24
VIM REFERENCE MANUAL by Sergey Khorev
***************
*** 231,237 ****
(set-cursor (line . col) [window]) Set cursor position.
==============================================================================
! 5. Dynamic loading *mzscheme-dynamic* *E812*
On MS-Windows the MzScheme libraries can be loaded dynamically. The |:version|
output then includes |+mzscheme/dyn|.
--- 231,237 ----
(set-cursor (line . col) [window]) Set cursor position.
==============================================================================
! 5. Dynamic loading *mzscheme-dynamic* *E815*
On MS-Windows the MzScheme libraries can be loaded dynamically. The |:version|
output then includes |+mzscheme/dyn|.
*** ../vim-7.2.215/src/if_mzsch.c 2009-05-26 22:58:43.000000000 +0200
--- src/if_mzsch.c 2009-06-24 12:08:23.000000000 +0200
***************
*** 1040,1046 ****
#ifdef DYNAMIC_MZSCHEME
if (!mzscheme_enabled(TRUE))
{
! EMSG(_("E812: Sorry, this command is disabled, the MzScheme libraries could not be loaded."));
return -1;
}
#endif
--- 1040,1046 ----
#ifdef DYNAMIC_MZSCHEME
if (!mzscheme_enabled(TRUE))
{
! EMSG(_("E815: Sorry, this command is disabled, the MzScheme libraries could not be loaded."));
return -1;
}
#endif
*** ../vim-7.2.215/src/version.c 2009-06-24 17:31:27.000000000 +0200
--- src/version.c 2009-06-24 17:46:56.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 216,
/**/
--
Everyone has a photographic memory. Some don't have film.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

57
7.2.217 Normal file
View File

@ -0,0 +1,57 @@
To: vim-dev@vim.org
Subject: Patch 7.2.217
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.217
Problem: Running tests with valgrind doesn't work as advertised.
Solution: Fix the line in the Makefile.
Files: src/testdir/Makefile
*** ../vim-7.2.216/src/testdir/Makefile 2009-03-11 16:26:01.000000000 +0100
--- src/testdir/Makefile 2009-06-24 14:59:42.000000000 +0200
***************
*** 4,12 ****
VIMPROG = ../vim
! # Uncomment this line for using valgrind.
! # The output goes into a file "valgrind.$PID" (sorry, no test number).
! # VALGRIND = valgrind --tool=memcheck --leak-check=yes --num-callers=15 --logfile=valgrind
SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \
test7.out test8.out test9.out test10.out test11.out \
--- 4,14 ----
VIMPROG = ../vim
! # Uncomment this line to use valgrind for memory leaks and extra warnings.
! # The output goes into a file "valgrind.testN"
! # Vim should be compiled with EXITFREE to avoid false warnings.
! # This will make testing about 10 times as slow.
! # VALGRIND = valgrind --tool=memcheck --leak-check=yes --num-callers=15 --log-file=valgrind.$*
SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \
test7.out test8.out test9.out test10.out test11.out \
*** ../vim-7.2.216/src/version.c 2009-06-24 17:51:01.000000000 +0200
--- src/version.c 2009-06-24 18:07:07.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 217,
/**/
--
A day without sunshine is like, well, night.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

52
7.2.218 Normal file
View File

@ -0,0 +1,52 @@
To: vim-dev@vim.org
Subject: Patch 7.2.218
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.218
Problem: Cannot build GTK with hangul_input feature. (Dominique Pelle)
Solution: Adjuste #ifdef. (SungHyun Nam)
Files: src/gui.c
*** ../vim-7.2.217/src/gui.c 2009-06-16 16:01:34.000000000 +0200
--- src/gui.c 2009-06-24 17:45:01.000000000 +0200
***************
*** 959,965 ****
guicolor_T fg, bg;
if (
! # ifdef HAVE_GTK2
preedit_get_status()
# else
im_get_status()
--- 959,965 ----
guicolor_T fg, bg;
if (
! # if defined(HAVE_GTK2) && !defined(FEAT_HANGULIN)
preedit_get_status()
# else
im_get_status()
*** ../vim-7.2.217/src/version.c 2009-06-24 18:07:55.000000000 +0200
--- src/version.c 2009-06-24 18:31:06.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 218,
/**/
--
The users that I support would double-click on a landmine to find out
what happens. -- A system administrator
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

71
7.2.219 Normal file
View File

@ -0,0 +1,71 @@
To: vim-dev@vim.org
Subject: Patch 7.2.219 (extra)
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.219 (extra)
Problem: Photon GUI is outdated.
Solution: Updates for QNX 6.4.0. (Sean Boudreau)
Files: src/gui_photon.c
*** ../vim-7.2.218/src/gui_photon.c 2007-05-10 20:23:35.000000000 +0200
--- src/gui_photon.c 2009-07-01 16:08:36.000000000 +0200
***************
*** 838,844 ****
--- 838,849 ----
static void
gui_ph_draw_start( void )
{
+ PhGC_t *gc;
+
+ gc = PgGetGC();
PgSetRegion( PtWidgetRid( PtFindDisjoint( gui.vimTextArea ) ) );
+ PgClearClippingsCx( gc );
+ PgClearTranslationCx( gc );
PtWidgetOffset( gui.vimTextArea, &gui_ph_raw_offset );
PhTranslatePoint( &gui_ph_raw_offset, PtWidgetPos( gui.vimTextArea, NULL ) );
***************
*** 2970,2976 ****
if( vim_font_name == NULL )
{
/* Default font */
! vim_font_name = "PC Term";
}
if( STRCMP( vim_font_name, "*" ) == 0 )
--- 2975,2981 ----
if( vim_font_name == NULL )
{
/* Default font */
! vim_font_name = "PC Terminal";
}
if( STRCMP( vim_font_name, "*" ) == 0 )
*** ../vim-7.2.218/src/version.c 2009-06-24 18:31:36.000000000 +0200
--- src/version.c 2009-07-01 16:11:34.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 219,
/**/
--
"Oh, no! NOT the Spanish Inquisition!"
"NOBODY expects the Spanish Inquisition!!!"
-- Monty Python sketch --
"Oh, no! NOT another option!"
"EVERYBODY expects another option!!!"
-- Discussion in vim-dev mailing list --
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

95
7.2.220 Normal file
View File

@ -0,0 +1,95 @@
To: vim-dev@vim.org
Subject: Patch 7.2.220
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.220 (after 7.2.215)
Problem: a BufEnter autocommand that changes directory causes problems.
(Ajit Thakkar)
Solution: Disable autocommands when opening a hidden buffer in a window.
Files: src/fileio.c
*** ../vim-7.2.219/src/fileio.c 2009-06-24 17:31:27.000000000 +0200
--- src/fileio.c 2009-07-01 17:02:46.000000000 +0200
***************
*** 8441,8453 ****
win_init_empty(aucmd_win); /* set cursor and topline to safe values */
#ifdef FEAT_WINDOWS
! /* Split the current window, put the aucmd_win in the upper half. */
make_snapshot(SNAP_AUCMD_IDX);
save_ea = p_ea;
p_ea = FALSE;
(void)win_split_ins(0, WSP_TOP, aucmd_win, 0);
(void)win_comp_pos(); /* recompute window positions */
p_ea = save_ea;
#endif
curwin = aucmd_win;
}
--- 8441,8456 ----
win_init_empty(aucmd_win); /* set cursor and topline to safe values */
#ifdef FEAT_WINDOWS
! /* Split the current window, put the aucmd_win in the upper half.
! * We don't want the BufEnter or WinEnter autocommands. */
! block_autocmds();
make_snapshot(SNAP_AUCMD_IDX);
save_ea = p_ea;
p_ea = FALSE;
(void)win_split_ins(0, WSP_TOP, aucmd_win, 0);
(void)win_comp_pos(); /* recompute window positions */
p_ea = save_ea;
+ unblock_autocmds();
#endif
curwin = aucmd_win;
}
***************
*** 8474,8480 ****
--curbuf->b_nwindows;
#ifdef FEAT_WINDOWS
/* Find "aucmd_win", it can't be closed, but it may be in another tab
! * page. */
if (curwin != aucmd_win)
{
tabpage_T *tp;
--- 8477,8484 ----
--curbuf->b_nwindows;
#ifdef FEAT_WINDOWS
/* Find "aucmd_win", it can't be closed, but it may be in another tab
! * page. Do not trigger autocommands here. */
! block_autocmds();
if (curwin != aucmd_win)
{
tabpage_T *tp;
***************
*** 8498,8503 ****
--- 8502,8508 ----
last_status(FALSE); /* may need to remove last status line */
restore_snapshot(SNAP_AUCMD_IDX, FALSE);
(void)win_comp_pos(); /* recompute window positions */
+ unblock_autocmds();
if (win_valid(aco->save_curwin))
curwin = aco->save_curwin;
*** ../vim-7.2.219/src/version.c 2009-07-01 16:12:54.000000000 +0200
--- src/version.c 2009-07-01 17:10:22.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 220,
/**/
--
Microsoft is to software what McDonalds is to gourmet cooking
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

247
7.2.221 Normal file
View File

@ -0,0 +1,247 @@
To: vim-dev@vim.org
Subject: Patch 7.2.221
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.221
Problem: X cut_buffer0 text is used as-is, it may be in the wrong encoding.
Solution: Convert between 'enc' and latin1. (James Vega)
Files: src/gui_gtk_x11.c, src/message.c, src/ops.c, src/proto/ui.pro,
src/ui.c
*** ../vim-7.2.220/src/gui_gtk_x11.c 2009-06-16 15:23:07.000000000 +0200
--- src/gui_gtk_x11.c 2009-07-01 11:55:34.000000000 +0200
***************
*** 6717,6724 ****
{
GdkAtom target;
unsigned i;
- int nbytes;
- char_u *buffer;
time_t start;
for (i = 0; i < N_SELECTION_TARGETS; ++i)
--- 6717,6722 ----
***************
*** 6746,6767 ****
}
/* Final fallback position - use the X CUT_BUFFER0 store */
! nbytes = 0;
! buffer = (char_u *)XFetchBuffer(GDK_WINDOW_XDISPLAY(gui.mainwin->window),
! &nbytes, 0);
! if (nbytes > 0)
! {
! /* Got something */
! clip_yank_selection(MCHAR, buffer, (long)nbytes, cbd);
! if (p_verbose > 0)
! {
! verbose_enter();
! smsg((char_u *)_("Used CUT_BUFFER0 instead of empty selection"));
! verbose_leave();
! }
! }
! if (buffer != NULL)
! XFree(buffer);
}
/*
--- 6744,6750 ----
}
/* Final fallback position - use the X CUT_BUFFER0 store */
! yank_cut_buffer0(GDK_WINDOW_XDISPLAY(gui.mainwin->window), cbd);
}
/*
*** ../vim-7.2.220/src/message.c 2009-05-17 13:30:58.000000000 +0200
--- src/message.c 2009-07-01 16:43:08.000000000 +0200
***************
*** 107,113 ****
}
#if defined(FEAT_EVAL) || defined(FEAT_X11) || defined(USE_XSMP) \
! || defined(PROTO)
/*
* Like msg() but keep it silent when 'verbosefile' is set.
*/
--- 107,113 ----
}
#if defined(FEAT_EVAL) || defined(FEAT_X11) || defined(USE_XSMP) \
! || defined(FEAT_GUI_GTK) || defined(PROTO)
/*
* Like msg() but keep it silent when 'verbosefile' is set.
*/
*** ../vim-7.2.220/src/ops.c 2009-05-26 18:12:13.000000000 +0200
--- src/ops.c 2009-07-01 12:15:31.000000000 +0200
***************
*** 5591,5596 ****
--- 5591,5619 ----
if (dpy != NULL && str != NULL && motion_type >= 0
&& len < 1024*1024 && len > 0)
{
+ #ifdef FEAT_MBYTE
+ /* The CUT_BUFFER0 is supposed to always contain latin1. Convert from
+ * 'enc' when it is a multi-byte encoding. When 'enc' is an 8-bit
+ * encoding conversion usually doesn't work, so keep the text as-is.
+ */
+ if (has_mbyte)
+ {
+ char_u *conv_str = str;
+ vimconv_T vc;
+
+ vc.vc_type = CONV_NONE;
+ if (convert_setup(&vc, p_enc, (char_u *)"latin1") == OK)
+ {
+ conv_str = string_convert(&vc, str, (int*)&len);
+ if (conv_str != NULL)
+ {
+ vim_free(str);
+ str = conv_str;
+ }
+ convert_setup(&vc, NULL, NULL);
+ }
+ }
+ #endif
XStoreBuffer(dpy, (char *)str, (int)len, 0);
XFlush(dpy);
}
*** ../vim-7.2.220/src/proto/ui.pro 2007-05-05 19:58:49.000000000 +0200
--- src/proto/ui.pro 2009-07-01 11:48:11.000000000 +0200
***************
*** 48,53 ****
--- 48,54 ----
void open_app_context __ARGS((void));
void x11_setup_atoms __ARGS((Display *dpy));
void clip_x11_request_selection __ARGS((Widget myShell, Display *dpy, VimClipboard *cbd));
+ void yank_cut_buffer0 __ARGS((Display *dpy, VimClipboard *cbd));
void clip_x11_lose_selection __ARGS((Widget myShell, VimClipboard *cbd));
int clip_x11_own_selection __ARGS((Widget myShell, VimClipboard *cbd));
void clip_x11_set_selection __ARGS((VimClipboard *cbd));
*** ../vim-7.2.220/src/ui.c 2009-05-17 13:30:58.000000000 +0200
--- src/ui.c 2009-07-01 15:44:07.000000000 +0200
***************
*** 2104,2111 ****
Atom type;
static int success;
int i;
- int nbytes = 0;
- char_u *buffer;
time_t start_time;
int timed_out = FALSE;
--- 2104,2109 ----
***************
*** 2185,2199 ****
}
/* Final fallback position - use the X CUT_BUFFER0 store */
! buffer = (char_u *)XFetchBuffer(dpy, &nbytes, 0);
! if (nbytes > 0)
! {
! /* Got something */
! clip_yank_selection(MCHAR, buffer, (long)nbytes, cbd);
! XFree((void *)buffer);
! if (p_verbose > 0)
! verb_msg((char_u *)_("Used CUT_BUFFER0 instead of empty selection"));
! }
}
static Boolean clip_x11_convert_selection_cb __ARGS((Widget, Atom *, Atom *, Atom *, XtPointer *, long_u *, int *));
--- 2183,2189 ----
}
/* Final fallback position - use the X CUT_BUFFER0 store */
! yank_cut_buffer0(dpy, cbd);
}
static Boolean clip_x11_convert_selection_cb __ARGS((Widget, Atom *, Atom *, Atom *, XtPointer *, long_u *, int *));
***************
*** 2369,2374 ****
--- 2359,2418 ----
}
#endif
+ #if defined(FEAT_XCLIPBOARD) || defined(FEAT_GUI_X11) \
+ || defined(FEAT_GUI_GTK) || defined(PROTO)
+ /*
+ * Get the contents of the X CUT_BUFFER0 and put it in "cbd".
+ */
+ void
+ yank_cut_buffer0(dpy, cbd)
+ Display *dpy;
+ VimClipboard *cbd;
+ {
+ int nbytes = 0;
+ char_u *buffer = (char_u *)XFetchBuffer(dpy, &nbytes, 0);
+
+ if (nbytes > 0)
+ {
+ #ifdef FEAT_MBYTE
+ int done = FALSE;
+
+ /* CUT_BUFFER0 is supposed to be always latin1. Convert to 'enc' when
+ * using a multi-byte encoding. Conversion between two 8-bit
+ * character sets usually fails and the text might actually be in
+ * 'enc' anyway. */
+ if (has_mbyte)
+ {
+ char_u *conv_buf = buffer;
+ vimconv_T vc;
+
+ vc.vc_type = CONV_NONE;
+ if (convert_setup(&vc, (char_u *)"latin1", p_enc) == OK)
+ {
+ conv_buf = string_convert(&vc, buffer, &nbytes);
+ if (conv_buf != NULL)
+ {
+ clip_yank_selection(MCHAR, conv_buf, (long)nbytes, cbd);
+ vim_free(conv_buf);
+ done = TRUE;
+ }
+ convert_setup(&vc, NULL, NULL);
+ }
+ }
+ if (!done) /* use the text without conversion */
+ #endif
+ clip_yank_selection(MCHAR, buffer, (long)nbytes, cbd);
+ XFree((void *)buffer);
+ if (p_verbose > 0)
+ {
+ verbose_enter();
+ verb_msg((char_u *)_("Used CUT_BUFFER0 instead of empty selection"));
+ verbose_leave();
+ }
+ }
+ }
+ #endif
+
#if defined(FEAT_MOUSE) || defined(PROTO)
/*
*** ../vim-7.2.220/src/version.c 2009-07-01 17:11:40.000000000 +0200
--- src/version.c 2009-07-01 17:56:02.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 221,
/**/
--
hundred-and-one symptoms of being an internet addict:
40. You tell the cab driver you live at
http://123.elm.street/house/bluetrim.html
41. You actually try that 123.elm.street address.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

59
7.2.222 Normal file
View File

@ -0,0 +1,59 @@
To: vim-dev@vim.org
Subject: Patch 7.2.222
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.222
Problem: ":mksession" doesn't work properly with 'acd' set.
Solution: Make it work. (Yakov Lerner)
Files: src/ex_docmd.c
*** ../vim-7.2.221/src/ex_docmd.c 2009-05-16 17:29:37.000000000 +0200
--- src/ex_docmd.c 2009-07-01 20:18:22.000000000 +0200
***************
*** 8686,8691 ****
--- 8693,8700 ----
}
#ifdef FEAT_SESSION
+ /* Use the short file name until ":lcd" is used. We also don't use the
+ * short file name when 'acd' is set, that is checked later. */
did_lcd = FALSE;
/* ":mkview" or ":mkview 9": generate file name with 'viewdir' */
***************
*** 10573,10578 ****
--- 10582,10590 ----
if (buf->b_sfname != NULL
&& flagp == &ssop_flags
&& (ssop_flags & (SSOP_CURDIR | SSOP_SESDIR))
+ #ifdef FEAT_AUTOCHDIR
+ && !p_acd
+ #endif
&& !did_lcd)
name = buf->b_sfname;
else
*** ../vim-7.2.221/src/version.c 2009-07-01 18:04:30.000000000 +0200
--- src/version.c 2009-07-01 20:16:19.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 222,
/**/
--
hundred-and-one symptoms of being an internet addict:
43. You tell the kids they can't use the computer because "Daddy's got work to
do" and you don't even have a job.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

165
7.2.223 Normal file
View File

@ -0,0 +1,165 @@
To: vim-dev@vim.org
Subject: Patch 7.2.223
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.223
Problem: When a script is run with ":silent" it is not able to give warning
messages.
Solution: Add the ":unsilent" command.
Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c
*** ../vim-7.2.222/runtime/doc/various.txt 2008-08-09 19:36:54.000000000 +0200
--- runtime/doc/various.txt 2009-07-09 15:52:54.000000000 +0200
***************
*** 508,513 ****
--- 508,524 ----
messages though. Use ":silent" in the command itself
to avoid that: ":silent menu .... :silent command".
+ *:uns* *:unsilent*
+ :uns[ilent] {command} Execute {command} not silently. Only makes a
+ difference when |:silent| was used to get to this
+ command.
+ Use this for giving a message even when |:silent| was
+ used. In this example |:silent| is used to avoid the
+ message about reading the file and |:unsilent| to be
+ able to list the first line of each file. >
+ :silent argdo unsilent echo expand('%') . ": " . getline(1)
+ <
+
*:verb* *:verbose*
:[count]verb[ose] {command}
Execute {command} with 'verbose' set to [count]. If
*** ../vim-7.2.222/src/ex_cmds.h 2008-11-09 13:43:25.000000000 +0100
--- src/ex_cmds.h 2009-07-01 18:12:55.000000000 +0200
***************
*** 991,996 ****
--- 991,998 ----
BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
EX(CMD_unmenu, "unmenu", ex_menu,
BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+ EX(CMD_unsilent, "unsilent", ex_wrongmodifier,
+ NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
EX(CMD_update, "update", ex_update,
RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR),
EX(CMD_vglobal, "vglobal", ex_global,
*** ../vim-7.2.222/src/ex_docmd.c 2009-07-01 20:18:43.000000000 +0200
--- src/ex_docmd.c 2009-07-09 15:24:03.000000000 +0200
***************
*** 1677,1684 ****
char_u *errormsg = NULL; /* error message */
exarg_T ea; /* Ex command arguments */
long verbose_save = -1;
! int save_msg_scroll = 0;
! int did_silent = 0;
int did_esilent = 0;
#ifdef HAVE_SANDBOX
int did_sandbox = FALSE;
--- 1677,1684 ----
char_u *errormsg = NULL; /* error message */
exarg_T ea; /* Ex command arguments */
long verbose_save = -1;
! int save_msg_scroll = msg_scroll;
! int save_msg_silent = -1;
int did_esilent = 0;
#ifdef HAVE_SANDBOX
int did_sandbox = FALSE;
***************
*** 1856,1864 ****
}
if (!checkforcmd(&ea.cmd, "silent", 3))
break;
! ++did_silent;
++msg_silent;
- save_msg_scroll = msg_scroll;
if (*ea.cmd == '!' && !vim_iswhite(ea.cmd[-1]))
{
/* ":silent!", but not "silent !cmd" */
--- 1856,1864 ----
}
if (!checkforcmd(&ea.cmd, "silent", 3))
break;
! if (save_msg_silent == -1)
! save_msg_silent = msg_silent;
++msg_silent;
if (*ea.cmd == '!' && !vim_iswhite(ea.cmd[-1]))
{
/* ":silent!", but not "silent !cmd" */
***************
*** 1886,1891 ****
--- 1886,1898 ----
#endif
continue;
+ case 'u': if (!checkforcmd(&ea.cmd, "unsilent", 3))
+ break;
+ if (save_msg_silent == -1)
+ save_msg_silent = msg_silent;
+ msg_silent = 0;
+ continue;
+
case 'v': if (checkforcmd(&ea.cmd, "vertical", 4))
{
#ifdef FEAT_VERTSPLIT
***************
*** 2684,2696 ****
cmdmod = save_cmdmod;
! if (did_silent > 0)
{
/* messages could be enabled for a serious error, need to check if the
* counters don't become negative */
! msg_silent -= did_silent;
! if (msg_silent < 0)
! msg_silent = 0;
emsg_silent -= did_esilent;
if (emsg_silent < 0)
emsg_silent = 0;
--- 2691,2702 ----
cmdmod = save_cmdmod;
! if (save_msg_silent != -1)
{
/* messages could be enabled for a serious error, need to check if the
* counters don't become negative */
! if (!did_emsg)
! msg_silent = save_msg_silent;
emsg_silent -= did_esilent;
if (emsg_silent < 0)
emsg_silent = 0;
***************
*** 2987,2992 ****
--- 2993,2999 ----
{"silent", 3, FALSE},
{"tab", 3, TRUE},
{"topleft", 2, FALSE},
+ {"unsilent", 3, FALSE},
{"verbose", 4, TRUE},
{"vertical", 4, FALSE},
};
*** ../vim-7.2.222/src/version.c 2009-07-01 20:18:43.000000000 +0200
--- src/version.c 2009-07-09 15:53:05.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 223,
/**/
--
Q: How many legs does a giraffe have?
A: Eight: two in front, two behind, two on the left and two on the right
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

88
7.2.224 Normal file
View File

@ -0,0 +1,88 @@
To: vim-dev@vim.org
Subject: Patch 7.2.224
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.224
Problem: Crash when using 'completefunc'. (Ingo Karkat)
Solution: Disallow entering edit() recursively when doing completion.
Files: src/edit.c
*** ../vim-7.2.223/src/edit.c 2009-05-26 11:01:43.000000000 +0200
--- src/edit.c 2009-07-09 18:01:49.000000000 +0200
***************
*** 114,119 ****
--- 114,123 ----
* FALSE the word to be completed must be located. */
static int compl_started = FALSE;
+ /* Set when doing something for completion that may call edit() recursively,
+ * which is not allowed. */
+ static int compl_busy = FALSE;
+
static int compl_matches = 0;
static char_u *compl_pattern = NULL;
static int compl_direction = FORWARD;
***************
*** 346,352 ****
#ifdef FEAT_INS_EXPAND
/* Don't allow recursive insert mode when busy with completion. */
! if (compl_started || pum_visible())
{
EMSG(_(e_secure));
return FALSE;
--- 350,356 ----
#ifdef FEAT_INS_EXPAND
/* Don't allow recursive insert mode when busy with completion. */
! if (compl_started || compl_busy || pum_visible())
{
EMSG(_(e_secure));
return FALSE;
***************
*** 1340,1347 ****
--- 1344,1353 ----
goto normalchar;
docomplete:
+ compl_busy = TRUE;
if (ins_complete(c) == FAIL)
compl_cont_status = 0;
+ compl_busy = FALSE;
break;
#endif /* FEAT_INS_EXPAND */
***************
*** 3172,3177 ****
--- 3178,3184 ----
vim_free(match);
} while (compl_curr_match != NULL && compl_curr_match != compl_first_match);
compl_first_match = compl_curr_match = NULL;
+ compl_shown_match = NULL;
}
static void
*** ../vim-7.2.223/src/version.c 2009-07-09 15:55:34.000000000 +0200
--- src/version.c 2009-07-09 18:14:16.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 224,
/**/
--
hundred-and-one symptoms of being an internet addict:
77. The phone company asks you to test drive their new PBX system
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

97
7.2.225 Normal file
View File

@ -0,0 +1,97 @@
To: vim-dev@vim.org
Subject: Patch 7.2.225
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.225
Problem: When using ":normal" a saved character may be executed.
Solution: Also store old_char when saving typeahead.
Files: src/getchar.c, src/structs.h
*** ../vim-7.2.224/src/getchar.c 2009-02-22 23:42:08.000000000 +0100
--- src/getchar.c 2009-07-09 18:09:13.000000000 +0200
***************
*** 1309,1314 ****
--- 1309,1317 ----
return OK;
}
+ static int old_char = -1; /* character put back by vungetc() */
+ static int old_mod_mask; /* mod_mask for ungotten character */
+
#if defined(FEAT_EVAL) || defined(FEAT_EX_EXTRA) || defined(PROTO)
/*
***************
*** 1323,1328 ****
--- 1326,1335 ----
if (!tp->typebuf_valid)
typebuf = tp->save_typebuf;
+ tp->old_char = old_char;
+ tp->old_mod_mask = old_mod_mask;
+ old_char = -1;
+
tp->save_stuffbuff = stuffbuff;
stuffbuff.bh_first.b_next = NULL;
# ifdef USE_INPUT_BUF
***************
*** 1344,1349 ****
--- 1351,1359 ----
typebuf = tp->save_typebuf;
}
+ old_char = tp->old_char;
+ old_mod_mask = tp->old_mod_mask;
+
free_buff(&stuffbuff);
stuffbuff = tp->save_stuffbuff;
# ifdef USE_INPUT_BUF
***************
*** 1499,1507 ****
#define KL_PART_KEY -1 /* keylen value for incomplete key-code */
#define KL_PART_MAP -2 /* keylen value for incomplete mapping */
- static int old_char = -1; /* character put back by vungetc() */
- static int old_mod_mask; /* mod_mask for ungotten character */
-
/*
* Get the next input character.
* Can return a special key or a multi-byte character.
--- 1509,1514 ----
*** ../vim-7.2.224/src/structs.h 2009-06-16 16:01:34.000000000 +0200
--- src/structs.h 2009-07-09 18:09:20.000000000 +0200
***************
*** 882,887 ****
--- 882,889 ----
{
typebuf_T save_typebuf;
int typebuf_valid; /* TRUE when save_typebuf valid */
+ int old_char;
+ int old_mod_mask;
struct buffheader save_stuffbuff;
#ifdef USE_INPUT_BUF
char_u *save_inputbuf;
*** ../vim-7.2.224/src/version.c 2009-07-09 18:15:19.000000000 +0200
--- src/version.c 2009-07-09 18:21:56.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 225,
/**/
--
hundred-and-one symptoms of being an internet addict:
78. You find yourself dialing IP numbers on the phone.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

268
7.2.226 Normal file
View File

@ -0,0 +1,268 @@
To: vim-dev@vim.org
Subject: Patch 7.2.226
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.226
Problem: ml_get error after deleting the last line. (Xavier de Gaye)
Solution: When adjusting marks a callback may be invoked. Adjust the cursor
position before invoking deleted_lines_mark().
Files: src/ex_cmds.c, src/ex_docmd.c, src/if_mzsch.c, src/if_python.c,
src/if_perl.xs, src/misc1.c
*** ../vim-7.2.225/src/ex_cmds.c 2009-05-17 13:30:58.000000000 +0200
--- src/ex_cmds.c 2009-07-09 12:56:51.000000000 +0200
***************
*** 4013,4018 ****
--- 4013,4021 ----
break;
ml_delete(eap->line1, FALSE);
}
+
+ /* make sure the cursor is not beyond the end of the file now */
+ check_cursor_lnum();
deleted_lines_mark(eap->line1, (long)(eap->line2 - lnum));
/* ":append" on the line above the deleted lines. */
*** ../vim-7.2.225/src/ex_docmd.c 2009-07-09 15:55:34.000000000 +0200
--- src/ex_docmd.c 2009-07-09 15:24:03.000000000 +0200
***************
*** 7845,7854 ****
if (*ml_get(lnum) == NUL && u_savedel(lnum, 1L) == OK)
{
ml_delete(lnum, FALSE);
- deleted_lines_mark(lnum, 1L);
if (curwin->w_cursor.lnum > 1
&& curwin->w_cursor.lnum >= lnum)
--curwin->w_cursor.lnum;
}
}
redraw_curbuf_later(VALID);
--- 7845,7854 ----
if (*ml_get(lnum) == NUL && u_savedel(lnum, 1L) == OK)
{
ml_delete(lnum, FALSE);
if (curwin->w_cursor.lnum > 1
&& curwin->w_cursor.lnum >= lnum)
--curwin->w_cursor.lnum;
+ deleted_lines_mark(lnum, 1L);
}
}
redraw_curbuf_later(VALID);
*** ../vim-7.2.225/src/if_mzsch.c 2009-06-24 17:51:01.000000000 +0200
--- src/if_mzsch.c 2009-07-09 12:59:17.000000000 +0200
***************
*** 2169,2177 ****
curbuf = savebuf;
raise_vim_exn(_("cannot delete line"));
}
- deleted_lines_mark((linenr_T)n, 1L);
if (buf->buf == curwin->w_buffer)
mz_fix_cursor(n, n + 1, -1);
curbuf = savebuf;
--- 2169,2177 ----
curbuf = savebuf;
raise_vim_exn(_("cannot delete line"));
}
if (buf->buf == curwin->w_buffer)
mz_fix_cursor(n, n + 1, -1);
+ deleted_lines_mark((linenr_T)n, 1L);
curbuf = savebuf;
***************
*** 2299,2307 ****
curbuf = savebuf;
raise_vim_exn(_("cannot delete line"));
}
- deleted_lines_mark((linenr_T)lo, (long)old_len);
if (buf->buf == curwin->w_buffer)
mz_fix_cursor(lo, hi, -old_len);
}
curbuf = savebuf;
--- 2299,2307 ----
curbuf = savebuf;
raise_vim_exn(_("cannot delete line"));
}
if (buf->buf == curwin->w_buffer)
mz_fix_cursor(lo, hi, -old_len);
+ deleted_lines_mark((linenr_T)lo, (long)old_len);
}
curbuf = savebuf;
*** ../vim-7.2.225/src/if_python.c 2009-05-21 23:25:38.000000000 +0200
--- src/if_python.c 2009-07-09 12:59:45.000000000 +0200
***************
*** 2497,2505 ****
PyErr_SetVim(_("cannot delete line"));
else
{
- deleted_lines_mark((linenr_T)n, 1L);
if (buf == curwin->w_buffer)
py_fix_cursor((linenr_T)n, (linenr_T)n + 1, (linenr_T)-1);
}
curbuf = savebuf;
--- 2497,2505 ----
PyErr_SetVim(_("cannot delete line"));
else
{
if (buf == curwin->w_buffer)
py_fix_cursor((linenr_T)n, (linenr_T)n + 1, (linenr_T)-1);
+ deleted_lines_mark((linenr_T)n, 1L);
}
curbuf = savebuf;
***************
*** 2596,2605 ****
break;
}
}
- deleted_lines_mark((linenr_T)lo, (long)i);
-
if (buf == curwin->w_buffer)
py_fix_cursor((linenr_T)lo, (linenr_T)hi, (linenr_T)-n);
}
curbuf = savebuf;
--- 2596,2604 ----
break;
}
}
if (buf == curwin->w_buffer)
py_fix_cursor((linenr_T)lo, (linenr_T)hi, (linenr_T)-n);
+ deleted_lines_mark((linenr_T)lo, (long)i);
}
curbuf = savebuf;
*** ../vim-7.2.225/src/if_perl.xs 2009-06-16 16:01:34.000000000 +0200
--- src/if_perl.xs 2009-07-09 13:02:16.000000000 +0200
***************
*** 1233,1241 ****
if (u_savedel(lnum, 1) == OK)
{
ml_delete(lnum, 0);
deleted_lines_mark(lnum, 1L);
- if (aco.save_curbuf == curbuf)
- check_cursor();
}
/* restore curwin/curbuf and a few other things */
--- 1235,1242 ----
if (u_savedel(lnum, 1) == OK)
{
ml_delete(lnum, 0);
+ check_cursor();
deleted_lines_mark(lnum, 1L);
}
/* restore curwin/curbuf and a few other things */
*** ../vim-7.2.225/src/misc1.c 2009-06-24 16:25:23.000000000 +0200
--- src/misc1.c 2009-07-09 13:00:59.000000000 +0200
***************
*** 2345,2356 ****
int undo; /* if TRUE, prepare for undo */
{
long n;
if (nlines <= 0)
return;
/* save the deleted lines for undo */
! if (undo && u_savedel(curwin->w_cursor.lnum, nlines) == FAIL)
return;
for (n = 0; n < nlines; )
--- 2345,2357 ----
int undo; /* if TRUE, prepare for undo */
{
long n;
+ linenr_T first = curwin->w_cursor.lnum;
if (nlines <= 0)
return;
/* save the deleted lines for undo */
! if (undo && u_savedel(first, nlines) == FAIL)
return;
for (n = 0; n < nlines; )
***************
*** 2358,2375 ****
if (curbuf->b_ml.ml_flags & ML_EMPTY) /* nothing to delete */
break;
! ml_delete(curwin->w_cursor.lnum, TRUE);
++n;
/* If we delete the last line in the file, stop */
! if (curwin->w_cursor.lnum > curbuf->b_ml.ml_line_count)
break;
}
- /* adjust marks, mark the buffer as changed and prepare for displaying */
- deleted_lines_mark(curwin->w_cursor.lnum, n);
curwin->w_cursor.col = 0;
check_cursor_lnum();
}
int
--- 2359,2379 ----
if (curbuf->b_ml.ml_flags & ML_EMPTY) /* nothing to delete */
break;
! ml_delete(first, TRUE);
++n;
/* If we delete the last line in the file, stop */
! if (first > curbuf->b_ml.ml_line_count)
break;
}
+ /* Correct the cursor position before calling deleted_lines_mark(), it may
+ * trigger a callback to display the cursor. */
curwin->w_cursor.col = 0;
check_cursor_lnum();
+
+ /* adjust marks, mark the buffer as changed and prepare for displaying */
+ deleted_lines_mark(first, n);
}
int
***************
*** 2621,2626 ****
--- 2625,2632 ----
/*
* Like deleted_lines(), but adjust marks first.
+ * Make sure the cursor is on a valid line before calling, a GUI callback may
+ * be triggered to display the cursor.
*/
void
deleted_lines_mark(lnum, count)
*** ../vim-7.2.225/src/version.c 2009-07-09 18:24:24.000000000 +0200
--- src/version.c 2009-07-09 20:01:16.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 226,
/**/
--
hundred-and-one symptoms of being an internet addict:
80. At parties, you introduce your spouse as your "service provider."
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

52
7.2.227 Normal file
View File

@ -0,0 +1,52 @@
To: vim-dev@vim.org
Subject: Patch 7.2.227
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.227
Problem: When using ":cd" in a script there is no way to track this.
Solution: Display the directory when 'verbose' is 5 or higher.
Files: src/ex_docmd.c
*** ../vim-7.2.226/src/ex_docmd.c 2009-07-09 20:06:30.000000000 +0200
--- src/ex_docmd.c 2009-07-09 15:24:03.000000000 +0200
***************
*** 7964,7970 ****
shorten_fnames(TRUE);
/* Echo the new current directory if the command was typed. */
! if (KeyTyped)
ex_pwd(eap);
}
vim_free(tofree);
--- 7964,7970 ----
shorten_fnames(TRUE);
/* Echo the new current directory if the command was typed. */
! if (KeyTyped || p_verbose >= 5)
ex_pwd(eap);
}
vim_free(tofree);
*** ../vim-7.2.226/src/version.c 2009-07-09 20:06:30.000000000 +0200
--- src/version.c 2009-07-09 20:13:13.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 227,
/**/
--
hundred-and-one symptoms of being an internet addict:
83. Batteries in the TV remote now last for months.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

573
7.2.228 Normal file
View File

@ -0,0 +1,573 @@
To: vim-dev@vim.org
Subject: Patch 7.2.228
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.228
Problem: Cscope is limited to 8 connections.
Solution: Allocated the connection array to handle any number of
connections. (Dominique Pelle)
Files: runtime/doc/if_cscop.txt, src/if_cscope.h, src/if_cscope.c
*** ../vim-7.2.227/runtime/doc/if_cscop.txt 2009-03-18 14:30:46.000000000 +0100
--- runtime/doc/if_cscop.txt 2009-07-09 15:40:48.000000000 +0200
***************
*** 355,367 ****
The DJGPP-built version from http://cscope.sourceforge.net is known to not
work with Vim.
! There are a couple of hard-coded limitations:
!
! 1. The maximum number of cscope connections allowed is 8. Do you
! really need more?
!
! 2. Doing a |:tjump| when |:cstag| searches the tag files is not
! configurable (e.g., you can't do a tselect instead).
==============================================================================
6. Suggested usage *cscope-suggestions*
--- 355,362 ----
The DJGPP-built version from http://cscope.sourceforge.net is known to not
work with Vim.
! Hard-coded limitation: doing a |:tjump| when |:cstag| searches the tag files
! is not configurable (e.g., you can't do a tselect instead).
==============================================================================
6. Suggested usage *cscope-suggestions*
*** ../vim-7.2.227/src/if_cscope.h 2008-08-25 04:35:13.000000000 +0200
--- src/if_cscope.h 2009-07-09 15:39:32.000000000 +0200
***************
*** 25,31 ****
#define CSCOPE_SUCCESS 0
#define CSCOPE_FAILURE -1
- #define CSCOPE_MAX_CONNECTIONS 8 /* you actually need more? */
#define CSCOPE_DBFILE "cscope.out"
#define CSCOPE_PROMPT ">> "
--- 25,30 ----
*** ../vim-7.2.227/src/if_cscope.c 2009-05-16 17:29:37.000000000 +0200
--- src/if_cscope.c 2009-07-09 15:39:32.000000000 +0200
***************
*** 46,52 ****
static int cs_find __ARGS((exarg_T *eap));
static int cs_find_common __ARGS((char *opt, char *pat, int, int, int));
static int cs_help __ARGS((exarg_T *eap));
- static void cs_init __ARGS((void));
static void clear_csinfo __ARGS((int i));
static int cs_insert_filelist __ARGS((char *, char *, char *,
struct stat *));
--- 46,51 ----
***************
*** 66,72 ****
static int cs_show __ARGS((exarg_T *eap));
! static csinfo_T csinfo[CSCOPE_MAX_CONNECTIONS];
static int eap_arg_len; /* length of eap->arg, set in
cs_lookup_cmd() */
static cscmd_T cs_cmds[] =
--- 65,74 ----
static int cs_show __ARGS((exarg_T *eap));
! static csinfo_T * csinfo = NULL;
! static int csinfo_size = 0; /* number of items allocated in
! csinfo[] */
!
static int eap_arg_len; /* length of eap->arg, set in
cs_lookup_cmd() */
static cscmd_T cs_cmds[] =
***************
*** 144,166 ****
}
case EXP_CSCOPE_KILL:
{
! static char_u connection[2];
/* ":cscope kill" accepts connection numbers or partial names of
* the pathname of the cscope database as argument. Only complete
* with connection numbers. -1 can also be used to kill all
* connections. */
! for (i = 0, current_idx = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
{
if (csinfo[i].fname == NULL)
continue;
if (current_idx++ == idx)
{
! /* Connection number fits in one character since
! * CSCOPE_MAX_CONNECTIONS is < 10 */
! connection[0] = i + '0';
! connection[1] = NUL;
! return connection;
}
}
return (current_idx == idx && idx > 0) ? (char_u *)"-1" : NULL;
--- 146,165 ----
}
case EXP_CSCOPE_KILL:
{
! static char connection[5];
/* ":cscope kill" accepts connection numbers or partial names of
* the pathname of the cscope database as argument. Only complete
* with connection numbers. -1 can also be used to kill all
* connections. */
! for (i = 0, current_idx = 0; i < csinfo_size; i++)
{
if (csinfo[i].fname == NULL)
continue;
if (current_idx++ == idx)
{
! vim_snprintf(connection, sizeof(connection), "%d", i);
! return (char_u *)connection;
}
}
return (current_idx == idx && idx > 0) ? (char_u *)"-1" : NULL;
***************
*** 223,229 ****
{
cscmd_T *cmdp;
- cs_init();
if ((cmdp = cs_lookup_cmd(eap)) == NULL)
{
cs_help(eap);
--- 222,227 ----
***************
*** 284,291 ****
{
int ret = FALSE;
- cs_init();
-
if (*eap->arg == NUL)
{
(void)EMSG(_("E562: Usage: cstag <ident>"));
--- 282,287 ----
***************
*** 441,447 ****
if (num < 0 || num > 4 || (num > 0 && !dbpath))
return FALSE;
! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
{
if (!csinfo[i].fname)
continue;
--- 437,443 ----
if (num < 0 || num > 4 || (num > 0 && !dbpath))
return FALSE;
! for (i = 0; i < csinfo_size; i++)
{
if (!csinfo[i].fname)
continue;
***************
*** 684,690 ****
short i;
short cnt = 0;
! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
{
if (csinfo[i].fname != NULL)
cnt++;
--- 680,686 ----
short i;
short cnt = 0;
! for (i = 0; i < csinfo_size; i++)
{
if (csinfo[i].fname != NULL)
cnt++;
***************
*** 1112,1118 ****
{
int i;
char *cmd;
! int nummatches[CSCOPE_MAX_CONNECTIONS], totmatches;
#ifdef FEAT_QUICKFIX
char cmdletter;
char *qfpos;
--- 1108,1115 ----
{
int i;
char *cmd;
! int *nummatches;
! int totmatches;
#ifdef FEAT_QUICKFIX
char cmdletter;
char *qfpos;
***************
*** 1123,1135 ****
if (cmd == NULL)
return FALSE;
/* send query to all open connections, then count the total number
* of matches so we can alloc matchesp all in one swell foop
*/
! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
nummatches[i] = 0;
totmatches = 0;
! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
{
if (csinfo[i].fname == NULL || csinfo[i].to_fp == NULL)
continue;
--- 1120,1136 ----
if (cmd == NULL)
return FALSE;
+ nummatches = (int *)alloc(sizeof(int)*csinfo_size);
+ if (nummatches == NULL)
+ return FALSE;
+
/* send query to all open connections, then count the total number
* of matches so we can alloc matchesp all in one swell foop
*/
! for (i = 0; i < csinfo_size; i++)
nummatches[i] = 0;
totmatches = 0;
! for (i = 0; i < csinfo_size; i++)
{
if (csinfo[i].fname == NULL || csinfo[i].to_fp == NULL)
continue;
***************
*** 1154,1160 ****
--- 1155,1164 ----
char *buf;
if (!verbose)
+ {
+ vim_free(nummatches);
return FALSE;
+ }
buf = (char *)alloc((unsigned)(strlen(opt) + strlen(pat) + strlen(nf)));
if (buf == NULL)
***************
*** 1165,1170 ****
--- 1169,1175 ----
(void)EMSG(buf);
vim_free(buf);
}
+ vim_free(nummatches);
return FALSE;
}
***************
*** 1217,1222 ****
--- 1222,1228 ----
(void)EMSG(buf);
vim_free(buf);
}
+ vim_free(nummatches);
return FALSE;
}
}
***************
*** 1264,1269 ****
--- 1270,1276 ----
}
mch_remove(tmp);
vim_free(tmp);
+ vim_free(nummatches);
return TRUE;
}
else
***************
*** 1275,1280 ****
--- 1282,1288 ----
/* read output */
cs_fill_results((char *)pat, totmatches, nummatches, &matches,
&contexts, &matched);
+ vim_free(nummatches);
if (matches == NULL)
return FALSE;
***************
*** 1328,1353 ****
} /* cs_help */
- /*
- * PRIVATE: cs_init
- *
- * initialize cscope structure if not already
- */
- static void
- cs_init()
- {
- short i;
- static int init_already = FALSE;
-
- if (init_already)
- return;
-
- for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
- clear_csinfo(i);
-
- init_already = TRUE;
- } /* cs_init */
-
static void
clear_csinfo(i)
int i;
--- 1336,1341 ----
***************
*** 1444,1450 ****
#endif
i = -1; /* can be set to the index of an empty item in csinfo */
! for (j = 0; j < CSCOPE_MAX_CONNECTIONS; j++)
{
if (csinfo[j].fname != NULL
#if defined(UNIX)
--- 1432,1438 ----
#endif
i = -1; /* can be set to the index of an empty item in csinfo */
! for (j = 0; j < csinfo_size; j++)
{
if (csinfo[j].fname != NULL
#if defined(UNIX)
***************
*** 1471,1479 ****
if (i == -1)
{
! if (p_csverbose)
! (void)EMSG(_("E569: maximum number of cscope connections reached"));
! return -1;
}
if ((csinfo[i].fname = (char *)alloc((unsigned)strlen(fname)+1)) == NULL)
--- 1459,1483 ----
if (i == -1)
{
! i = csinfo_size;
! if (csinfo_size == 0)
! {
! /* First time allocation: allocate only 1 connection. It should
! * be enough for most users. If more is needed, csinfo will be
! * reallocated. */
! csinfo_size = 1;
! csinfo = (csinfo_T *)alloc_clear(sizeof(csinfo_T));
! }
! else
! {
! /* Reallocate space for more connections. */
! csinfo_size *= 2;
! csinfo = vim_realloc(csinfo, sizeof(csinfo_T)*csinfo_size);
! }
! if (csinfo == NULL)
! return -1;
! for (j = csinfo_size/2; j < csinfo_size; j++)
! clear_csinfo(j);
}
if ((csinfo[i].fname = (char *)alloc((unsigned)strlen(fname)+1)) == NULL)
***************
*** 1580,1594 ****
/* It must be part of a name. We will try to find a match
* within all the names in the csinfo data structure
*/
! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
{
if (csinfo[i].fname != NULL && strstr(csinfo[i].fname, stok))
break;
}
}
! if ((i >= CSCOPE_MAX_CONNECTIONS || i < -1 || csinfo[i].fname == NULL)
! && i != -1)
{
if (p_csverbose)
(void)EMSG2(_("E261: cscope connection %s not found"), stok);
--- 1584,1597 ----
/* It must be part of a name. We will try to find a match
* within all the names in the csinfo data structure
*/
! for (i = 0; i < csinfo_size; i++)
{
if (csinfo[i].fname != NULL && strstr(csinfo[i].fname, stok))
break;
}
}
! if ((i != -1) && (i >= csinfo_size || i < -1 || csinfo[i].fname == NULL))
{
if (p_csverbose)
(void)EMSG2(_("E261: cscope connection %s not found"), stok);
***************
*** 1597,1603 ****
{
if (i == -1)
{
! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
{
if (csinfo[i].fname)
cs_kill_execute(i, csinfo[i].fname);
--- 1600,1606 ----
{
if (i == -1)
{
! for (i = 0; i < csinfo_size; i++)
{
if (csinfo[i].fname)
cs_kill_execute(i, csinfo[i].fname);
***************
*** 1857,1863 ****
if (buf == NULL)
return;
! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
{
if (nummatches_a[i] < 1)
continue;
--- 1860,1866 ----
if (buf == NULL)
return;
! for (i = 0; i < csinfo_size; i++)
{
if (nummatches_a[i] < 1)
continue;
***************
*** 1929,1935 ****
if ((cntxts = (char **)alloc(sizeof(char *) * totmatches)) == NULL)
goto parse_out;
! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
{
if (nummatches_a[i] < 1)
continue;
--- 1932,1938 ----
if ((cntxts = (char **)alloc(sizeof(char *) * totmatches)) == NULL)
goto parse_out;
! for (i = 0; i < csinfo_size; i++)
{
if (nummatches_a[i] < 1)
continue;
***************
*** 2383,2392 ****
int i;
char buf[20]; /* for sprintf " (#%d)" */
/* malloc our db and ppath list */
! dblist = (char **)alloc(CSCOPE_MAX_CONNECTIONS * sizeof(char *));
! pplist = (char **)alloc(CSCOPE_MAX_CONNECTIONS * sizeof(char *));
! fllist = (char **)alloc(CSCOPE_MAX_CONNECTIONS * sizeof(char *));
if (dblist == NULL || pplist == NULL || fllist == NULL)
{
vim_free(dblist);
--- 2386,2398 ----
int i;
char buf[20]; /* for sprintf " (#%d)" */
+ if (csinfo_size == 0)
+ return CSCOPE_SUCCESS;
+
/* malloc our db and ppath list */
! dblist = (char **)alloc(csinfo_size * sizeof(char *));
! pplist = (char **)alloc(csinfo_size * sizeof(char *));
! fllist = (char **)alloc(csinfo_size * sizeof(char *));
if (dblist == NULL || pplist == NULL || fllist == NULL)
{
vim_free(dblist);
***************
*** 2395,2401 ****
return CSCOPE_FAILURE;
}
! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
{
dblist[i] = csinfo[i].fname;
pplist[i] = csinfo[i].ppath;
--- 2401,2407 ----
return CSCOPE_FAILURE;
}
! for (i = 0; i < csinfo_size; i++)
{
dblist[i] = csinfo[i].fname;
pplist[i] = csinfo[i].ppath;
***************
*** 2405,2411 ****
}
/* rebuild the cscope connection list */
! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
{
if (dblist[i] != NULL)
{
--- 2411,2417 ----
}
/* rebuild the cscope connection list */
! for (i = 0; i < csinfo_size; i++)
{
if (dblist[i] != NULL)
{
***************
*** 2502,2508 ****
MSG_PUTS_ATTR(
_(" # pid database name prepend path\n"),
hl_attr(HLF_T));
! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
{
if (csinfo[i].fname == NULL)
continue;
--- 2508,2514 ----
MSG_PUTS_ATTR(
_(" # pid database name prepend path\n"),
hl_attr(HLF_T));
! for (i = 0; i < csinfo_size; i++)
{
if (csinfo[i].fname == NULL)
continue;
***************
*** 2531,2538 ****
{
int i;
! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
cs_release_csp(i, TRUE);
}
#endif /* FEAT_CSCOPE */
--- 2537,2546 ----
{
int i;
! for (i = 0; i < csinfo_size; i++)
cs_release_csp(i, TRUE);
+ vim_free(csinfo);
+ csinfo_size = 0;
}
#endif /* FEAT_CSCOPE */
*** ../vim-7.2.227/src/version.c 2009-07-09 20:13:59.000000000 +0200
--- src/version.c 2009-07-09 21:21:48.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 228,
/**/
--
hundred-and-one symptoms of being an internet addict:
84. Books in your bookcase bear the names Bongo, WinSock and Inside OLE
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

60
7.2.229 Normal file
View File

@ -0,0 +1,60 @@
To: vim-dev@vim.org
Subject: Patch 7.2.229
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.229
Problem: Warning for shadowed variable.
Solution: Rename "wait" to "wait_time".
Files: src/os_unix.c
*** ../vim-7.2.228/src/os_unix.c 2009-06-16 15:12:11.000000000 +0200
--- src/os_unix.c 2009-07-09 16:24:14.000000000 +0200
***************
*** 1138,1147 ****
* to happen).
*/
{
! long wait;
! for (wait = 0; !sigcont_received && wait <= 3L; wait++)
/* Loop is not entered most of the time */
! mch_delay(wait, FALSE);
}
# endif
--- 1138,1147 ----
* to happen).
*/
{
! long wait_time;
! for (wait_time = 0; !sigcont_received && wait_time <= 3L; wait_time++)
/* Loop is not entered most of the time */
! mch_delay(wait_time, FALSE);
}
# endif
*** ../vim-7.2.228/src/version.c 2009-07-09 21:22:36.000000000 +0200
--- src/version.c 2009-07-14 12:18:21.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 229,
/**/
--
From "know your smileys":
:-) Funny
|-) Funny Oriental
(-: Funny Australian
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

87
7.2.230 Normal file
View File

@ -0,0 +1,87 @@
To: vim-dev@vim.org
Subject: Patch 7.2.230
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.230
Problem: A few old lint-style ARGUSED comments.
Solution: Change to the new UNUSED style.
Files: src/getchar.c
*** ../vim-7.2.229/src/getchar.c 2009-07-09 18:24:24.000000000 +0200
--- src/getchar.c 2009-07-09 18:09:13.000000000 +0200
***************
*** 3708,3718 ****
* Clear all mappings or abbreviations.
* 'abbr' should be FALSE for mappings, TRUE for abbreviations.
*/
- /*ARGSUSED*/
void
map_clear(cmdp, arg, forceit, abbr)
char_u *cmdp;
! char_u *arg;
int forceit;
int abbr;
{
--- 3708,3717 ----
* Clear all mappings or abbreviations.
* 'abbr' should be FALSE for mappings, TRUE for abbreviations.
*/
void
map_clear(cmdp, arg, forceit, abbr)
char_u *cmdp;
! char_u *arg UNUSED;
int forceit;
int abbr;
{
***************
*** 3741,3753 ****
/*
* Clear all mappings in "mode".
*/
- /*ARGSUSED*/
void
map_clear_int(buf, mode, local, abbr)
! buf_T *buf; /* buffer for local mappings */
! int mode; /* mode in which to delete */
! int local; /* TRUE for buffer-local mappings */
! int abbr; /* TRUE for abbreviations */
{
mapblock_T *mp, **mpp;
int hash;
--- 3740,3751 ----
/*
* Clear all mappings in "mode".
*/
void
map_clear_int(buf, mode, local, abbr)
! buf_T *buf UNUSED; /* buffer for local mappings */
! int mode; /* mode in which to delete */
! int local UNUSED; /* TRUE for buffer-local mappings */
! int abbr; /* TRUE for abbreviations */
{
mapblock_T *mp, **mpp;
int hash;
*** ../vim-7.2.229/src/version.c 2009-07-14 12:20:28.000000000 +0200
--- src/version.c 2009-07-14 13:44:05.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 230,
/**/
--
From "know your smileys":
:~) A man with a tape recorder up his nose
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

49
7.2.231 Normal file
View File

@ -0,0 +1,49 @@
To: vim-dev@vim.org
Subject: Patch 7.2.231
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.231
Problem: Warning for unreacheable code.
Solution: Add #ifdef.
Files: src/if_perl.xs
*** ../vim-7.2.230/src/if_perl.xs 2009-07-09 20:06:30.000000000 +0200
--- src/if_perl.xs 2009-07-09 13:02:16.000000000 +0200
***************
*** 720,728 ****
--- 720,730 ----
#ifdef HAVE_SANDBOX
if (sandbox)
{
+ # ifndef MAKE_TEST /* avoid a warning for unreachable code */
if ((safe = perl_get_sv( "VIM::safe", FALSE )) == NULL || !SvTRUE(safe))
EMSG(_("E299: Perl evaluation forbidden in sandbox without the Safe module"));
else
+ # endif
{
PUSHMARK(SP);
XPUSHs(safe);
*** ../vim-7.2.230/src/version.c 2009-07-14 13:44:43.000000000 +0200
--- src/version.c 2009-07-14 16:04:07.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 231,
/**/
--
From "know your smileys":
~#:-( I just washed my hair, and I can't do nuthin' with it.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

102
7.2.232 Normal file
View File

@ -0,0 +1,102 @@
To: vim-dev@vim.org
Subject: Patch 7.2.232
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.232
Problem: Cannot debug problems with being in a wrong directory.
Solution: When 'verbose' is 5 or higher report directory changes.
Files: src/os_unix.c, src/os_unix.h, src/proto/os_unix.pro
*** ../vim-7.2.231/src/os_unix.c 2009-07-14 12:20:28.000000000 +0200
--- src/os_unix.c 2009-07-14 17:13:15.000000000 +0200
***************
*** 319,324 ****
--- 319,341 ----
{-1, "Unknown!", FALSE}
};
+ int
+ mch_chdir(path)
+ char *path;
+ {
+ if (p_verbose >= 5)
+ {
+ verbose_enter();
+ smsg((char_u *)"chdir(%s)", path);
+ verbose_leave();
+ }
+ # ifdef VMS
+ return chdir(vms_fixfilename(path));
+ # else
+ return chdir(path);
+ # endif
+ }
+
/*
* Write s[len] to the screen.
*/
***************
*** 2424,2429 ****
--- 2441,2452 ----
#ifdef HAVE_FCHDIR
if (fd >= 0)
{
+ if (p_verbose >= 5)
+ {
+ verbose_enter();
+ MSG("fchdir() to previous dir");
+ verbose_leave();
+ }
l = fchdir(fd);
close(fd);
}
*** ../vim-7.2.231/src/os_unix.h 2009-05-16 16:36:25.000000000 +0200
--- src/os_unix.h 2009-07-14 16:55:05.000000000 +0200
***************
*** 482,492 ****
# else
int mch_rename __ARGS((const char *src, const char *dest));
# endif
- # ifdef VMS
- # define mch_chdir(s) chdir(vms_fixfilename(s))
- # else
- # define mch_chdir(s) chdir(s)
- # endif
# ifndef VMS
# ifdef __MVS__
/* on OS390 Unix getenv() doesn't return a pointer to persistent
--- 482,487 ----
*** ../vim-7.2.231/src/proto/os_unix.pro 2008-06-24 23:58:57.000000000 +0200
--- src/proto/os_unix.pro 2009-07-14 16:58:08.000000000 +0200
***************
*** 1,4 ****
--- 1,5 ----
/* os_unix.c */
+ int mch_chdir __ARGS((char *path));
void mch_write __ARGS((char_u *s, int len));
int mch_inchar __ARGS((char_u *buf, int maxlen, long wtime, int tb_change_cnt));
int mch_char_avail __ARGS((void));
*** ../vim-7.2.231/src/version.c 2009-07-14 16:05:14.000000000 +0200
--- src/version.c 2009-07-14 17:37:15.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 232,
/**/
--
From "know your smileys":
O:-) Saint
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

96
7.2.233 Normal file
View File

@ -0,0 +1,96 @@
To: vim-dev@vim.org
Subject: Patch 7.2.233 (extra)
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.233 (extra part of 7.2.232)
Problem: Cannot debug problems with being in a wrong directory.
Solution: When 'verbose' is 5 or higher report directory changes.
Files: src/os_msdos.c, src/os_mswin.c, src/os_riscos.c, src/os_mac.h
*** ../vim-7.2.232/src/os_msdos.c 2008-06-24 23:30:18.000000000 +0200
--- src/os_msdos.c 2009-07-14 16:50:57.000000000 +0200
***************
*** 2039,2044 ****
--- 2039,2050 ----
{
if (path[0] == NUL) /* just checking... */
return 0;
+ if (p_verbose >= 5)
+ {
+ verbose_enter();
+ smsg((char_u *)"chdir(%s)", path);
+ verbose_leave();
+ }
if (path[1] == ':') /* has a drive name */
{
if (change_drive(TOLOWER_ASC(path[0]) - 'a' + 1))
*** ../vim-7.2.232/src/os_mswin.c 2009-05-14 22:00:37.000000000 +0200
--- src/os_mswin.c 2009-07-14 16:53:03.000000000 +0200
***************
*** 653,658 ****
--- 653,664 ----
if (path[0] == NUL) /* just checking... */
return -1;
+ if (p_verbose >= 5)
+ {
+ verbose_enter();
+ smsg((char_u *)"chdir(%s)", path);
+ verbose_leave();
+ }
if (isalpha(path[0]) && path[1] == ':') /* has a drive name */
{
/* If we can change to the drive, skip that part of the path. If we
*** ../vim-7.2.232/src/os_riscos.c 2006-03-07 23:25:50.000000000 +0100
--- src/os_riscos.c 2009-07-14 16:53:35.000000000 +0200
***************
*** 1203,1208 ****
--- 1203,1214 ----
int retval;
char_u *new_dir;
+ if (p_verbose >= 5)
+ {
+ verbose_enter();
+ smsg((char_u *)"chdir(%s)", dir);
+ verbose_leave();
+ }
length = strlen(dir);
if (dir[length - 1] != '.')
return chdir(dir); /* No trailing dots - nothing to do. */
*** ../vim-7.2.232/src/os_mac.h 2009-06-24 16:41:01.000000000 +0200
--- src/os_mac.h 2009-07-14 16:54:33.000000000 +0200
***************
*** 291,297 ****
# define HAVE_SETENV
# define HAVE_RENAME
# endif
- # define mch_chdir(s) chdir(s)
#endif
#if defined(MACOS_X) && !defined(HAVE_CONFIG_H)
--- 291,296 ----
*** ../vim-7.2.232/src/version.c 2009-07-14 17:38:51.000000000 +0200
--- src/version.c 2009-07-14 18:35:30.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 233,
/**/
--
From "know your smileys":
:-O>-o Smiley American tourist (note big mouth and camera)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

111
7.2.234 Normal file
View File

@ -0,0 +1,111 @@
To: vim-dev@vim.org
Subject: Patch 7.2.234
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.234
Problem: It is not possible to ignore file names without a suffix.
Solution: Use an empty entry in 'suffixes' for file names without a dot.
Files: runtime/doc/cmdline.txt, src/misc1.c
*** ../vim-7.2.233/runtime/doc/cmdline.txt 2008-11-09 13:43:25.000000000 +0100
--- runtime/doc/cmdline.txt 2009-07-14 13:35:56.000000000 +0200
***************
*** 441,453 ****
those files with an extension that is in the 'suffixes' option are ignored.
The default is ".bak,~,.o,.h,.info,.swp,.obj", which means that files ending
in ".bak", "~", ".o", ".h", ".info", ".swp" and ".obj" are sometimes ignored.
! It is impossible to ignore suffixes with two dots. Examples:
pattern: files: match: ~
test* test.c test.h test.o test.c
test* test.h test.o test.h and test.o
test* test.i test.h test.c test.i and test.c
If there is more than one matching file (after ignoring the ones matching
the 'suffixes' option) the first file name is inserted. You can see that
there is only one match when you type 'wildchar' twice and the completed
--- 439,458 ----
those files with an extension that is in the 'suffixes' option are ignored.
The default is ".bak,~,.o,.h,.info,.swp,.obj", which means that files ending
in ".bak", "~", ".o", ".h", ".info", ".swp" and ".obj" are sometimes ignored.
!
! An empty entry, two consecutive commas, match a file name that does not
! contain a ".", thus has no suffix. This is useful to ignore "prog" and prefer
! "prog.c".
!
! Examples:
pattern: files: match: ~
test* test.c test.h test.o test.c
test* test.h test.o test.h and test.o
test* test.i test.h test.c test.i and test.c
+ It is impossible to ignore suffixes with two dots.
+
If there is more than one matching file (after ignoring the ones matching
the 'suffixes' option) the first file name is inserted. You can see that
there is only one match when you type 'wildchar' twice and the completed
*** ../vim-7.2.233/src/misc1.c 2009-07-09 20:06:30.000000000 +0200
--- src/misc1.c 2009-07-14 15:51:55.000000000 +0200
***************
*** 8533,8543 ****
for (setsuf = p_su; *setsuf; )
{
setsuflen = copy_option_part(&setsuf, suf_buf, MAXSUFLEN, ".,");
! if (fnamelen >= setsuflen
! && fnamencmp(suf_buf, fname + fnamelen - setsuflen,
! (size_t)setsuflen) == 0)
! break;
! setsuflen = 0;
}
return (setsuflen != 0);
}
--- 8534,8558 ----
for (setsuf = p_su; *setsuf; )
{
setsuflen = copy_option_part(&setsuf, suf_buf, MAXSUFLEN, ".,");
! if (setsuflen == 0)
! {
! char_u *tail = gettail(fname);
!
! /* empty entry: match name without a '.' */
! if (vim_strchr(tail, '.') == NULL)
! {
! setsuflen = 1;
! break;
! }
! }
! else
! {
! if (fnamelen >= setsuflen
! && fnamencmp(suf_buf, fname + fnamelen - setsuflen,
! (size_t)setsuflen) == 0)
! break;
! setsuflen = 0;
! }
}
return (setsuflen != 0);
}
*** ../vim-7.2.233/src/version.c 2009-07-14 18:38:09.000000000 +0200
--- src/version.c 2009-07-14 21:38:30.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 234,
/**/
--
How many light bulbs does it take to change a person?
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

94
7.2.235 Normal file
View File

@ -0,0 +1,94 @@
To: vim-dev@vim.org
Subject: Patch 7.2.235
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.235
Problem: Using CTRL-O z= in Insert mode has a delay before redrawing.
Solution: Reset msg_didout and msg_scroll.
Files: src/misc1.c, src/spell.c
*** ../vim-7.2.234/src/misc1.c 2009-07-14 21:40:30.000000000 +0200
--- src/misc1.c 2009-07-14 15:51:55.000000000 +0200
***************
*** 3276,3281 ****
--- 3276,3282 ----
cmdline_row = msg_row - 1;
need_wait_return = FALSE;
msg_didany = FALSE;
+ msg_didout = FALSE;
}
else
cmdline_row = save_cmdline_row;
*** ../vim-7.2.234/src/spell.c 2009-05-17 13:30:58.000000000 +0200
--- src/spell.c 2009-07-14 15:57:55.000000000 +0200
***************
*** 10252,10257 ****
--- 10252,10258 ----
int limit;
int selected = count;
int badlen = 0;
+ int msg_scroll_save = msg_scroll;
if (no_spell_checking(curwin))
return;
***************
*** 10416,10422 ****
selected = prompt_for_number(&mouse_used);
if (mouse_used)
selected -= lines_left;
! lines_left = Rows; /* avoid more prompt */
}
if (selected > 0 && selected <= sug.su_ga.ga_len && u_save_cursor() == OK)
--- 10417,10425 ----
selected = prompt_for_number(&mouse_used);
if (mouse_used)
selected -= lines_left;
! lines_left = Rows; /* avoid more prompt */
! /* don't delay for 'smd' in normal_cmd() */
! msg_scroll = msg_scroll_save;
}
if (selected > 0 && selected <= sug.su_ga.ga_len && u_save_cursor() == OK)
***************
*** 10441,10447 ****
}
/* Replace the word. */
! p = alloc((unsigned)STRLEN(line) - stp->st_orglen + stp->st_wordlen + 1);
if (p != NULL)
{
c = (int)(sug.su_badptr - line);
--- 10444,10451 ----
}
/* Replace the word. */
! p = alloc((unsigned)STRLEN(line) - stp->st_orglen
! + stp->st_wordlen + 1);
if (p != NULL)
{
c = (int)(sug.su_badptr - line);
*** ../vim-7.2.234/src/version.c 2009-07-14 21:40:30.000000000 +0200
--- src/version.c 2009-07-22 11:00:34.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 235,
/**/
--
From "know your smileys":
|-( Contact lenses, but has lost them
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

81
7.2.236 Normal file
View File

@ -0,0 +1,81 @@
To: vim-dev@vim.org
Subject: Patch 7.2.236
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.236
Problem: Mac: Compiling with Ruby doesn't always work.
Solution: In configure filter out the --arch argument (Bjorn Winckler)
Files: src/configure.in, src/auto/configure
*** ../vim-7.2.235/src/configure.in 2009-05-26 22:58:43.000000000 +0200
--- src/configure.in 2009-07-14 16:09:34.000000000 +0200
***************
*** 984,990 ****
fi
rubyldflags=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["LDFLAGS"]]'`
if test "X$rubyldflags" != "X"; then
! LDFLAGS="$rubyldflags $LDFLAGS"
fi
RUBY_SRC="if_ruby.c"
RUBY_OBJ="objects/if_ruby.o"
--- 984,996 ----
fi
rubyldflags=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["LDFLAGS"]]'`
if test "X$rubyldflags" != "X"; then
! dnl Ruby on Mac OS X 10.5 adds "-arch" flags but these should only
! dnl be included if requested by passing --with-mac-arch to
! dnl configure, so strip these flags first (if present)
! rubyldflags=`echo "$rubyldflags" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//'`
! if test "X$rubyldflags" != "X"; then
! LDFLAGS="$rubyldflags $LDFLAGS"
! fi
fi
RUBY_SRC="if_ruby.c"
RUBY_OBJ="objects/if_ruby.o"
*** ../vim-7.2.235/src/auto/configure 2009-05-26 22:58:43.000000000 +0200
--- src/auto/configure 2009-07-14 16:11:58.000000000 +0200
***************
*** 5780,5786 ****
fi
rubyldflags=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["LDFLAGS"]'`
if test "X$rubyldflags" != "X"; then
! LDFLAGS="$rubyldflags $LDFLAGS"
fi
RUBY_SRC="if_ruby.c"
RUBY_OBJ="objects/if_ruby.o"
--- 5780,5789 ----
fi
rubyldflags=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["LDFLAGS"]'`
if test "X$rubyldflags" != "X"; then
! rubyldflags=`echo "$rubyldflags" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//'`
! if test "X$rubyldflags" != "X"; then
! LDFLAGS="$rubyldflags $LDFLAGS"
! fi
fi
RUBY_SRC="if_ruby.c"
RUBY_OBJ="objects/if_ruby.o"
*** ../vim-7.2.235/src/version.c 2009-07-22 11:03:38.000000000 +0200
--- src/version.c 2009-07-22 11:14:38.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 236,
/**/
--
From "know your smileys":
<|-) Chinese
<|-( Chinese and doesn't like these kind of jokes
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

76
7.2.237 Normal file
View File

@ -0,0 +1,76 @@
To: vim-dev@vim.org
Subject: Patch 7.2.237
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.237
Problem: Crash on exit when window icon not set.
Solution: Copy terminal name when using it for the icon name.
Files: src/os_unix.c
*** ../vim-7.2.236/src/os_unix.c 2009-07-14 17:38:51.000000000 +0200
--- src/os_unix.c 2009-07-14 18:30:04.000000000 +0200
***************
*** 1734,1742 ****
if (oldicon == NULL && !test_only)
{
if (STRNCMP(T_NAME, "builtin_", 8) == 0)
! oldicon = T_NAME + 8;
else
! oldicon = T_NAME;
}
return retval;
--- 1734,1742 ----
if (oldicon == NULL && !test_only)
{
if (STRNCMP(T_NAME, "builtin_", 8) == 0)
! oldicon = vim_strsave(T_NAME + 8);
else
! oldicon = vim_strsave(T_NAME);
}
return retval;
***************
*** 1939,1947 ****
if (!test_only)
{
if (STRNCMP(T_NAME, "builtin_", 8) == 0)
! oldicon = T_NAME + 8;
else
! oldicon = T_NAME;
}
return FALSE;
}
--- 1939,1947 ----
if (!test_only)
{
if (STRNCMP(T_NAME, "builtin_", 8) == 0)
! oldicon = vim_strsave(T_NAME + 8);
else
! oldicon = vim_strsave(T_NAME);
}
return FALSE;
}
*** ../vim-7.2.236/src/version.c 2009-07-22 11:16:54.000000000 +0200
--- src/version.c 2009-07-22 13:26:30.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 237,
/**/
--
Common sense is what tells you that the world is flat.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

117
7.2.238 Normal file
View File

@ -0,0 +1,117 @@
To: vim-dev@vim.org
Subject: Patch 7.2.238
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.238
Problem: Leaking memory when setting term to "builtin_dumb".
Solution: Free memory when resetting term option t_Co.
Files: src/option.c, src/proto/option.pro, src/term.c
*** ../vim-7.2.237/src/option.c 2009-06-16 17:50:56.000000000 +0200
--- src/option.c 2009-07-22 12:49:19.000000000 +0200
***************
*** 403,410 ****
#define P_NUM 0x02 /* the option is numeric */
#define P_STRING 0x04 /* the option is a string */
#define P_ALLOCED 0x08 /* the string option is in allocated memory,
! must use vim_free() when assigning new
! value. Not set if default is the same. */
#define P_EXPAND 0x10 /* environment expansion. NOTE: P_EXPAND can
never be used for local or hidden options! */
#define P_NODEFAULT 0x40 /* don't set to default value */
--- 403,411 ----
#define P_NUM 0x02 /* the option is numeric */
#define P_STRING 0x04 /* the option is a string */
#define P_ALLOCED 0x08 /* the string option is in allocated memory,
! must use free_string_option() when
! assigning new value. Not set if default is
! the same. */
#define P_EXPAND 0x10 /* environment expansion. NOTE: P_EXPAND can
never be used for local or hidden options! */
#define P_NODEFAULT 0x40 /* don't set to default value */
***************
*** 8927,8932 ****
--- 8928,8955 ----
}
/*
+ * Free the string for one term option, if it was allocated.
+ * Set the string to empty_option and clear allocated flag.
+ * "var" points to the option value.
+ */
+ void
+ free_one_termoption(var)
+ char_u *var;
+ {
+ struct vimoption *p;
+
+ for (p = &options[0]; p->fullname != NULL; p++)
+ if (p->var == var)
+ {
+ if (p->flags & P_ALLOCED)
+ free_string_option(*(char_u **)(p->var));
+ *(char_u **)(p->var) = empty_option;
+ p->flags &= ~P_ALLOCED;
+ break;
+ }
+ }
+
+ /*
* Set the terminal option defaults to the current value.
* Used after setting the terminal name.
*/
*** ../vim-7.2.237/src/proto/option.pro 2009-02-21 20:27:00.000000000 +0100
--- src/proto/option.pro 2009-07-22 12:52:31.000000000 +0200
***************
*** 29,34 ****
--- 29,35 ----
int makefoldset __ARGS((FILE *fd));
void clear_termoptions __ARGS((void));
void free_termoptions __ARGS((void));
+ void free_one_termoption __ARGS((char_u *var));
void set_term_defaults __ARGS((void));
void comp_col __ARGS((void));
char_u *get_equalprg __ARGS((void));
*** ../vim-7.2.237/src/term.c 2009-06-16 14:31:56.000000000 +0200
--- src/term.c 2009-07-22 13:19:59.000000000 +0200
***************
*** 2881,2887 ****
/* if 'Sb' and 'AB' are not defined, reset "Co" */
if (*T_CSB == NUL && *T_CAB == NUL)
! T_CCO = empty_option;
/* Set 'weirdinvert' according to value of 't_xs' */
p_wiv = (*T_XS != NUL);
--- 2881,2887 ----
/* if 'Sb' and 'AB' are not defined, reset "Co" */
if (*T_CSB == NUL && *T_CAB == NUL)
! free_one_termoption(T_CCO);
/* Set 'weirdinvert' according to value of 't_xs' */
p_wiv = (*T_XS != NUL);
*** ../vim-7.2.237/src/version.c 2009-07-22 13:27:50.000000000 +0200
--- src/version.c 2009-07-22 14:25:44.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 238,
/**/
--
hundred-and-one symptoms of being an internet addict:
95. Only communication in your household is through email.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

145
7.2.239 Normal file
View File

@ -0,0 +1,145 @@
To: vim-dev@vim.org
Subject: Patch 7.2.239
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.239
Problem: Using :diffpatch twice or when patching fails causes memory
corruption and/or a crash. (Bryan Venteicher)
Solution: Detect missing output file. Avoid using non-existing buffer.
Files: src/diff.c
*** ../vim-7.2.238/src/diff.c 2009-05-14 22:19:19.000000000 +0200
--- src/diff.c 2009-07-22 16:06:21.000000000 +0200
***************
*** 893,898 ****
--- 893,899 ----
char_u *browseFile = NULL;
int browse_flag = cmdmod.browse;
#endif
+ struct stat st;
#ifdef FEAT_BROWSE
if (cmdmod.browse)
***************
*** 999,1042 ****
STRCAT(buf, ".rej");
mch_remove(buf);
! if (curbuf->b_fname != NULL)
{
! newname = vim_strnsave(curbuf->b_fname,
(int)(STRLEN(curbuf->b_fname) + 4));
! if (newname != NULL)
! STRCAT(newname, ".new");
! }
#ifdef FEAT_GUI
! need_mouse_correct = TRUE;
#endif
! /* don't use a new tab page, each tab page has its own diffs */
! cmdmod.tab = 0;
!
! if (win_split(0, (diff_flags & DIFF_VERTICAL) ? WSP_VERT : 0) != FAIL)
! {
! /* Pretend it was a ":split fname" command */
! eap->cmdidx = CMD_split;
! eap->arg = tmp_new;
! do_exedit(eap, old_curwin);
! if (curwin != old_curwin) /* split must have worked */
{
! /* Set 'diff', 'scrollbind' on and 'wrap' off. */
! diff_win_options(curwin, TRUE);
! diff_win_options(old_curwin, TRUE);
! if (newname != NULL)
{
! /* do a ":file filename.new" on the patched buffer */
! eap->arg = newname;
! ex_file(eap);
#ifdef FEAT_AUTOCMD
! /* Do filetype detection with the new name. */
! if (au_has_group((char_u *)"filetypedetect"))
! do_cmdline_cmd((char_u *)":doau filetypedetect BufRead");
#endif
}
}
}
--- 1000,1050 ----
STRCAT(buf, ".rej");
mch_remove(buf);
! /* Only continue if the output file was created. */
! if (mch_stat((char *)tmp_new, &st) < 0 || st.st_size == 0)
! EMSG(_("E816: Cannot read patch output"));
! else
{
! if (curbuf->b_fname != NULL)
! {
! newname = vim_strnsave(curbuf->b_fname,
(int)(STRLEN(curbuf->b_fname) + 4));
! if (newname != NULL)
! STRCAT(newname, ".new");
! }
#ifdef FEAT_GUI
! need_mouse_correct = TRUE;
#endif
! /* don't use a new tab page, each tab page has its own diffs */
! cmdmod.tab = 0;
! if (win_split(0, (diff_flags & DIFF_VERTICAL) ? WSP_VERT : 0) != FAIL)
{
! /* Pretend it was a ":split fname" command */
! eap->cmdidx = CMD_split;
! eap->arg = tmp_new;
! do_exedit(eap, old_curwin);
! /* check that split worked and editing tmp_new */
! if (curwin != old_curwin && win_valid(old_curwin))
{
! /* Set 'diff', 'scrollbind' on and 'wrap' off. */
! diff_win_options(curwin, TRUE);
! diff_win_options(old_curwin, TRUE);
!
! if (newname != NULL)
! {
! /* do a ":file filename.new" on the patched buffer */
! eap->arg = newname;
! ex_file(eap);
#ifdef FEAT_AUTOCMD
! /* Do filetype detection with the new name. */
! if (au_has_group((char_u *)"filetypedetect"))
! do_cmdline_cmd((char_u *)":doau filetypedetect BufRead");
#endif
+ }
}
}
}
*** ../vim-7.2.238/src/version.c 2009-07-22 14:27:33.000000000 +0200
--- src/version.c 2009-07-22 16:21:29.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 239,
/**/
--
hundred-and-one symptoms of being an internet addict:
97. Your mother tells you to remember something, and you look for
a File/Save command.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

69
7.2.240 Normal file
View File

@ -0,0 +1,69 @@
To: vim-dev@vim.org
Subject: Patch 7.2.240
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.240
Problem: Crash when using find/replace dialog repeatedly. (Michiel
Hartsuiker)
Solution: Avoid doing the operation while busy or recursively. Also refuse
replace when text is locked.
Files: src/gui.c
*** ../vim-7.2.239/src/gui.c 2009-06-24 18:31:36.000000000 +0200
--- src/gui.c 2009-07-22 16:54:16.000000000 +0200
***************
*** 5004,5009 ****
--- 5004,5022 ----
char_u *p;
regmatch_T regmatch;
int save_did_emsg = did_emsg;
+ static int busy = FALSE;
+
+ /* When the screen is being updated we should not change buffers and
+ * windows structures, it may cause freed memory to be used. Also don't
+ * do this recursively (pressing "Find" quickly several times. */
+ if (updating_screen || busy)
+ return FALSE;
+
+ /* refuse replace when text cannot be changed */
+ if ((type == FRD_REPLACE || type == FRD_REPLACEALL) && text_locked())
+ return FALSE;
+
+ busy = TRUE;
ga_init2(&ga, 1, 100);
if (type == FRD_REPLACEALL)
***************
*** 5094,5099 ****
--- 5107,5113 ----
}
vim_free(ga.ga_data);
+ busy = FALSE;
return (ga.ga_len > 0);
}
*** ../vim-7.2.239/src/version.c 2009-07-22 16:22:33.000000000 +0200
--- src/version.c 2009-07-29 11:09:13.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 240,
/**/
--
hundred-and-one symptoms of being an internet addict:
113. You are asked about a bus schedule, you wonder if it is 16 or 32 bits.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

169
7.2.241 Normal file
View File

@ -0,0 +1,169 @@
To: vim-dev@vim.org
Subject: Patch 7.2.241
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.241
Problem: When using a combination of ":bufdo" and "doautoall" we may end up
in the wrong directory. (Ajit Thakkar)
Crash when triggering an autocommand in ":vimgrep". (Yukihiro
Nakadaira)
Solution: Clear w_localdir and globaldir when using the aucmd_win.
Use a separate flag to decide aucmd_win needs to be restored.
Files: src/fileio.c, src/globals.h, src/structs.h
*** ../vim-7.2.240/src/fileio.c 2009-07-01 17:11:40.000000000 +0200
--- src/fileio.c 2009-07-22 19:08:55.000000000 +0200
***************
*** 8420,8425 ****
--- 8420,8429 ----
if (aucmd_win == NULL)
win = curwin;
}
+ if (win == NULL && aucmd_win_used)
+ /* Strange recursive autocommand, fall back to using the current
+ * window. Expect a few side effects... */
+ win = curwin;
aco->save_curwin = curwin;
aco->save_curbuf = curbuf;
***************
*** 8428,8433 ****
--- 8432,8438 ----
/* There is a window for "buf" in the current tab page, make it the
* curwin. This is preferred, it has the least side effects (esp. if
* "buf" is curbuf). */
+ aco->use_aucmd_win = FALSE;
curwin = win;
}
else
***************
*** 8436,8444 ****
--- 8441,8460 ----
* effects, insert it in a the current tab page.
* Anything related to a window (e.g., setting folds) may have
* unexpected results. */
+ aco->use_aucmd_win = TRUE;
+ aucmd_win_used = TRUE;
aucmd_win->w_buffer = buf;
++buf->b_nwindows;
win_init_empty(aucmd_win); /* set cursor and topline to safe values */
+ vim_free(aucmd_win->w_localdir);
+ aucmd_win->w_localdir = NULL;
+
+ /* Make sure w_localdir and globaldir are NULL to avoid a chdir() in
+ * win_enter_ext(). */
+ aucmd_win->w_localdir = NULL;
+ aco->globaldir = globaldir;
+ globaldir = NULL;
+
#ifdef FEAT_WINDOWS
/* Split the current window, put the aucmd_win in the upper half.
***************
*** 8472,8478 ****
int dummy;
#endif
! if (aco->new_curwin == aucmd_win)
{
--curbuf->b_nwindows;
#ifdef FEAT_WINDOWS
--- 8488,8494 ----
int dummy;
#endif
! if (aco->use_aucmd_win)
{
--curbuf->b_nwindows;
#ifdef FEAT_WINDOWS
***************
*** 8499,8504 ****
--- 8515,8521 ----
/* Remove the window and frame from the tree of frames. */
(void)winframe_remove(curwin, &dummy, NULL);
win_remove(curwin, NULL);
+ aucmd_win_used = FALSE;
last_status(FALSE); /* may need to remove last status line */
restore_snapshot(SNAP_AUCMD_IDX, FALSE);
(void)win_comp_pos(); /* recompute window positions */
***************
*** 8517,8522 ****
--- 8534,8542 ----
#endif
curbuf = curwin->w_buffer;
+ vim_free(globaldir);
+ globaldir = aco->globaldir;
+
/* the buffer contents may have changed */
check_cursor();
if (curwin->w_topline > curbuf->b_ml.ml_line_count)
***************
*** 8541,8547 ****
#endif
{
/* Restore the buffer which was previously edited by curwin, if
! * it was chagned, we are still the same window and the buffer is
* valid. */
if (curwin == aco->new_curwin
&& curbuf != aco->new_curbuf
--- 8561,8567 ----
#endif
{
/* Restore the buffer which was previously edited by curwin, if
! * it was changed, we are still the same window and the buffer is
* valid. */
if (curwin == aco->new_curwin
&& curbuf != aco->new_curbuf
*** ../vim-7.2.240/src/globals.h 2009-06-16 16:01:34.000000000 +0200
--- src/globals.h 2009-07-22 19:50:53.000000000 +0200
***************
*** 541,546 ****
--- 541,547 ----
#ifdef FEAT_AUTOCMD
EXTERN win_T *aucmd_win; /* window used in aucmd_prepbuf() */
+ EXTERN int aucmd_win_used INIT(= FALSE); /* aucmd_win is being used */
#endif
/*
*** ../vim-7.2.240/src/structs.h 2009-07-09 18:24:24.000000000 +0200
--- src/structs.h 2009-07-22 18:58:35.000000000 +0200
***************
*** 2288,2296 ****
--- 2288,2298 ----
{
buf_T *save_curbuf; /* saved curbuf */
#ifdef FEAT_AUTOCMD
+ int use_aucmd_win; /* using aucmd_win */
win_T *save_curwin; /* saved curwin */
win_T *new_curwin; /* new curwin */
buf_T *new_curbuf; /* new curbuf */
+ char_u *globaldir; /* saved value of globaldir */
#endif
} aco_save_T;
*** ../vim-7.2.240/src/version.c 2009-07-29 11:10:31.000000000 +0200
--- src/version.c 2009-07-29 12:06:31.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 241,
/**/
--
hundred-and-one symptoms of being an internet addict:
114. You are counting items, you go "0,1,2,3,4,5,6,7,8,9,A,B,C,D...".
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

89
7.2.242 Normal file
View File

@ -0,0 +1,89 @@
To: vim-dev@vim.org
Subject: Patch 7.2.242
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.242
Problem: Setting 'lazyredraw' causes the cursor column to be recomputed.
(Tom Link)
Solution: Only recompute the cursor column for a boolean option if changes
the cursor position.
Files: src/option.c
*** ../vim-7.2.241/src/option.c 2009-07-22 14:27:33.000000000 +0200
--- src/option.c 2009-07-29 10:03:39.000000000 +0200
***************
*** 7194,7199 ****
--- 7194,7207 ----
compatible_set();
}
+ /* 'list', 'number' */
+ else if ((int *)varp == &curwin->w_p_list
+ || (int *)varp == &curwin->w_p_nu)
+ {
+ if (curwin->w_curswant != MAXCOL)
+ curwin->w_set_curswant = TRUE;
+ }
+
else if ((int *)varp == &curbuf->b_p_ro)
{
/* when 'readonly' is reset globally, also reset readonlymode */
***************
*** 7645,7650 ****
--- 7653,7666 ----
curbuf->b_p_imsearch = B_IMODE_USE_INSERT;
# endif
}
+ if (curwin->w_curswant != MAXCOL)
+ curwin->w_set_curswant = TRUE;
+ }
+
+ else if ((int *)varp == &p_arshape)
+ {
+ if (curwin->w_curswant != MAXCOL)
+ curwin->w_set_curswant = TRUE;
}
#endif
***************
*** 7655,7662 ****
options[opt_idx].flags |= P_WAS_SET;
comp_col(); /* in case 'ruler' or 'showcmd' changed */
! if (curwin->w_curswant != MAXCOL)
! curwin->w_set_curswant = TRUE; /* in case 'list' changed */
check_redraw(options[opt_idx].flags);
return NULL;
--- 7671,7677 ----
options[opt_idx].flags |= P_WAS_SET;
comp_col(); /* in case 'ruler' or 'showcmd' changed */
!
check_redraw(options[opt_idx].flags);
return NULL;
*** ../vim-7.2.241/src/version.c 2009-07-29 12:09:49.000000000 +0200
--- src/version.c 2009-07-29 15:40:43.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 242,
/**/
--
hundred-and-one symptoms of being an internet addict:
117. You are more comfortable typing in html.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

67
7.2.243 Normal file
View File

@ -0,0 +1,67 @@
To: vim-dev@vim.org
Subject: Patch 7.2.243
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.243
Problem: Memory leak when using :vimgrep and resizing. (Dominique Pelle)
Solution: Free memory for aucmd_win when resizing and don't allocate it
twice.
Files: src/screen.c
*** ../vim-7.2.242/src/screen.c 2009-06-16 17:22:38.000000000 +0200
--- src/screen.c 2009-07-29 15:59:37.000000000 +0200
***************
*** 7467,7472 ****
--- 7467,7476 ----
*/
FOR_ALL_TAB_WINDOWS(tp, wp)
win_free_lsize(wp);
+ #ifdef FEAT_AUTOCMD
+ if (aucmd_win != NULL)
+ win_free_lsize(aucmd_win);
+ #endif
new_ScreenLines = (schar_T *)lalloc((long_u)(
(Rows + 1) * Columns * sizeof(schar_T)), FALSE);
***************
*** 7504,7510 ****
}
}
#ifdef FEAT_AUTOCMD
! if (aucmd_win != NULL && win_alloc_lines(aucmd_win) == FAIL)
outofmem = TRUE;
#endif
#ifdef FEAT_WINDOWS
--- 7508,7515 ----
}
}
#ifdef FEAT_AUTOCMD
! if (aucmd_win != NULL && aucmd_win->w_lines == NULL
! && win_alloc_lines(aucmd_win) == FAIL)
outofmem = TRUE;
#endif
#ifdef FEAT_WINDOWS
*** ../vim-7.2.242/src/version.c 2009-07-29 15:41:32.000000000 +0200
--- src/version.c 2009-07-29 16:07:47.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 243,
/**/
--
hundred-and-one symptoms of being an internet addict:
118. You are on a first-name basis with your ISP's staff.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

174
7.2.244 Normal file
View File

@ -0,0 +1,174 @@
To: vim-dev@vim.org
Subject: Patch 7.2.244
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.244
Problem: When 'enc' is utf-8 and 'fenc' is latin1, writing a non-latin1
character gives a conversion error without any hint what is wrong.
Solution: When known add the line number to the error message.
Files: src/fileio.c
*** ../vim-7.2.243/src/fileio.c 2009-07-29 12:09:49.000000000 +0200
--- src/fileio.c 2009-07-29 17:04:06.000000000 +0200
***************
*** 121,126 ****
--- 121,128 ----
char_u *bw_conv_buf; /* buffer for writing converted chars */
int bw_conv_buflen; /* size of bw_conv_buf */
int bw_conv_error; /* set for conversion error */
+ linenr_T bw_conv_error_lnum; /* first line with error or zero */
+ linenr_T bw_start_lnum; /* line number at start of buffer */
# ifdef USE_ICONV
iconv_t bw_iconv_fd; /* descriptor for iconv() or -1 */
# endif
***************
*** 2924,2929 ****
--- 2925,2931 ----
linenr_T lnum;
long nchars;
char_u *errmsg = NULL;
+ int errmsg_allocated = FALSE;
char_u *errnum = NULL;
char_u *buffer;
char_u smallbuf[SMBUFSIZE];
***************
*** 2987,2992 ****
--- 2989,2995 ----
/* must init bw_conv_buf and bw_iconv_fd before jumping to "fail" */
write_info.bw_conv_buf = NULL;
write_info.bw_conv_error = FALSE;
+ write_info.bw_conv_error_lnum = 0;
write_info.bw_restlen = 0;
# ifdef USE_ICONV
write_info.bw_iconv_fd = (iconv_t)-1;
***************
*** 4243,4248 ****
--- 4245,4251 ----
nchars += write_info.bw_len;
}
}
+ write_info.bw_start_lnum = start;
#endif
write_info.bw_len = bufsize;
***************
*** 4278,4283 ****
--- 4281,4289 ----
nchars += bufsize;
s = buffer;
len = 0;
+ #ifdef FEAT_MBYTE
+ write_info.bw_start_lnum = lnum;
+ #endif
}
/* write failed or last line has no EOL: stop here */
if (end == 0
***************
*** 4474,4480 ****
{
#ifdef FEAT_MBYTE
if (write_info.bw_conv_error)
! errmsg = (char_u *)_("E513: write error, conversion failed (make 'fenc' empty to override)");
else
#endif
if (got_int)
--- 4480,4496 ----
{
#ifdef FEAT_MBYTE
if (write_info.bw_conv_error)
! {
! if (write_info.bw_conv_error_lnum == 0)
! errmsg = (char_u *)_("E513: write error, conversion failed (make 'fenc' empty to override)");
! else
! {
! errmsg_allocated = TRUE;
! errmsg = alloc(300);
! vim_snprintf((char *)errmsg, 300, _("E513: write error, conversion failed in line %ld (make 'fenc' empty to override)"),
! (long)write_info.bw_conv_error_lnum);
! }
! }
else
#endif
if (got_int)
***************
*** 4550,4555 ****
--- 4566,4577 ----
{
STRCAT(IObuff, _(" CONVERSION ERROR"));
c = TRUE;
+ if (write_info.bw_conv_error_lnum != 0)
+ {
+ int l = STRLEN(IObuff);
+ vim_snprintf((char *)IObuff + l, IOSIZE - l, _(" in line %ld;"),
+ (long)write_info.bw_conv_error_lnum);
+ }
}
else if (notconverted)
{
***************
*** 4746,4751 ****
--- 4768,4775 ----
}
STRCAT(IObuff, errmsg);
emsg(IObuff);
+ if (errmsg_allocated)
+ vim_free(errmsg);
retval = FAIL;
if (end == 0)
***************
*** 5105,5111 ****
c = buf[wlen];
}
! ip->bw_conv_error |= ucs2bytes(c, &p, flags);
}
if (flags & FIO_LATIN1)
len = (int)(p - buf);
--- 5129,5141 ----
c = buf[wlen];
}
! if (ucs2bytes(c, &p, flags) && !ip->bw_conv_error)
! {
! ip->bw_conv_error = TRUE;
! ip->bw_conv_error_lnum = ip->bw_start_lnum;
! }
! if (c == NL)
! ++ip->bw_start_lnum;
}
if (flags & FIO_LATIN1)
len = (int)(p - buf);
***************
*** 5386,5391 ****
--- 5416,5422 ----
#ifdef FEAT_MBYTE
/*
* Convert a Unicode character to bytes.
+ * Return TRUE for an error, FALSE when it's OK.
*/
static int
ucs2bytes(c, pp, flags)
*** ../vim-7.2.243/src/version.c 2009-07-29 16:13:35.000000000 +0200
--- src/version.c 2009-07-29 18:01:27.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 244,
/**/
--
Support your right to bare arms! Wear short sleeves!
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

165
7.2.245 Normal file
View File

@ -0,0 +1,165 @@
To: vim-dev@vim.org
Subject: Patch 7.2.245
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.245
Problem: When 'enc' is "utf-16" and 'fenc' is "utf-8" writing a file does
conversion while none should be done. (Yukihiro Nakadaira) When
'fenc' is empty the file is written as utf-8 instead of utf-16.
Solution: Do proper comparison of encodings, taking into account that all
Unicode values for 'enc' use utf-8 internally.
Files: src/fileio.c
*** ../vim-7.2.244/src/fileio.c 2009-07-29 18:05:57.000000000 +0200
--- src/fileio.c 2009-07-29 17:04:06.000000000 +0200
***************
*** 134,140 ****
#ifdef FEAT_MBYTE
static linenr_T readfile_linenr __ARGS((linenr_T linecnt, char_u *p, char_u *endp));
static int ucs2bytes __ARGS((unsigned c, char_u **pp, int flags));
! static int same_encoding __ARGS((char_u *a, char_u *b));
static int get_fio_flags __ARGS((char_u *ptr));
static char_u *check_for_bom __ARGS((char_u *p, long size, int *lenp, int flags));
static int make_bom __ARGS((char_u *buf, char_u *name));
--- 134,140 ----
#ifdef FEAT_MBYTE
static linenr_T readfile_linenr __ARGS((linenr_T linecnt, char_u *p, char_u *endp));
static int ucs2bytes __ARGS((unsigned c, char_u **pp, int flags));
! static int need_conversion __ARGS((char_u *fenc));
static int get_fio_flags __ARGS((char_u *ptr));
static char_u *check_for_bom __ARGS((char_u *p, long size, int *lenp, int flags));
static int make_bom __ARGS((char_u *buf, char_u *name));
***************
*** 1043,1055 ****
}
/*
! * Conversion is required when the encoding of the file is different
! * from 'encoding' or 'encoding' is UTF-16, UCS-2 or UCS-4 (requires
! * conversion to UTF-8).
*/
fio_flags = 0;
! converted = (*fenc != NUL && !same_encoding(p_enc, fenc));
! if (converted || enc_unicode != 0)
{
/* "ucs-bom" means we need to check the first bytes of the file
--- 1043,1054 ----
}
/*
! * Conversion may be required when the encoding of the file is different
! * from 'encoding' or 'encoding' is UTF-16, UCS-2 or UCS-4.
*/
fio_flags = 0;
! converted = need_conversion(fenc);
! if (converted)
{
/* "ucs-bom" means we need to check the first bytes of the file
***************
*** 3969,3978 ****
fenc = buf->b_p_fenc;
/*
! * The file needs to be converted when 'fileencoding' is set and
! * 'fileencoding' differs from 'encoding'.
*/
! converted = (*fenc != NUL && !same_encoding(p_enc, fenc));
/*
* Check if UTF-8 to UCS-2/4 or Latin1 conversion needs to be done. Or
--- 3968,3976 ----
fenc = buf->b_p_fenc;
/*
! * Check if the file needs to be converted.
*/
! converted = need_conversion(fenc);
/*
* Check if UTF-8 to UCS-2/4 or Latin1 conversion needs to be done. Or
***************
*** 5502,5521 ****
}
/*
! * Return TRUE if "a" and "b" are the same 'encoding'.
! * Ignores difference between "ansi" and "latin1", "ucs-4" and "ucs-4be", etc.
*/
static int
! same_encoding(a, b)
! char_u *a;
! char_u *b;
{
! int f;
! if (STRCMP(a, b) == 0)
! return TRUE;
! f = get_fio_flags(a);
! return (f != 0 && get_fio_flags(b) == f);
}
/*
--- 5500,5536 ----
}
/*
! * Return TRUE if file encoding "fenc" requires conversion from or to
! * 'encoding'.
*/
static int
! need_conversion(fenc)
! char_u *fenc;
{
! int same_encoding;
! int enc_flags;
! int fenc_flags;
! if (*fenc == NUL || STRCMP(p_enc, fenc) == 0)
! same_encoding = TRUE;
! else
! {
! /* Ignore difference between "ansi" and "latin1", "ucs-4" and
! * "ucs-4be", etc. */
! enc_flags = get_fio_flags(p_enc);
! fenc_flags = get_fio_flags(fenc);
! same_encoding = (enc_flags != 0 && fenc_flags == enc_flags);
! }
! if (same_encoding)
! {
! /* Specified encoding matches with 'encoding'. This requires
! * conversion when 'encoding' is Unicode but not UTF-8. */
! return enc_unicode != 0;
! }
!
! /* Encodings differ. However, conversion is not needed when 'enc' is any
! * Unicode encoding and the file is UTF-8. */
! return !(enc_utf8 && fenc_flags == FIO_UTF8);
}
/*
*** ../vim-7.2.244/src/version.c 2009-07-29 18:05:57.000000000 +0200
--- src/version.c 2009-07-29 18:20:08.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 245,
/**/
--
An actual excerpt from a classified section of a city newspaper:
"Illiterate? Write today for free help!"
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

View File

@ -25,6 +25,7 @@ Checksums for the patch files can be found in the file MD5.
Collection of patches for Vim 7.2:
SIZE NAME INCLUDES
108889 7.2.001-100.gz patches 7.2.001 to 7.2.100, gzip'ed
208102 7.2.101-200.gz patches 7.2.101 to 7.2.200, gzip'ed
Individual patches for Vim 7.2:
@ -177,3 +178,100 @@ Individual patches for Vim 7.2:
3394 7.2.146 v:warningmsg isn't used for all warnings
1548 7.2.147 cursor in wrong position after Tab for small version
4275 7.2.148 highlighting a character after the line doesn't always work
15646 7.2.149 read uninit memory when using return value that wasn't set
35686 7.2.150 (extra) VisVim doesn't support tabs
1533 7.2.151 ":hist a" doesn't work like ":hist all" as the docs suggest
2963 7.2.152 "silent echo x" inside ":redir" leaves cursor halfway the line
2908 7.2.153 memory leak for ":recover empty_dir/"
2390 7.2.154 (after 7.2.132) can still do ":cd" in SwapExists autocmd
1249 7.2.155 memory leak in ":function /pat"
5543 7.2.156 no completion for :scscope and :lcscope commands
4299 7.2.157 illegal memory access when searching in path
2177 7.2.158 warnings from VisualC compiler
2478 7.2.159 when $x_includes ends up being "NONE" configure fails
1353 7.2.160 search pattern not freed on exit when 'rightleft' set
5400 7.2.161 folds messed up in other tab page
2363 7.2.162 the quickfix window may get the wrong filetype
1754 7.2.163 the command line window may get folding
4089 7.2.164 when 'showbreak' is set wrong Visual block size reported
1794 7.2.165 FuncUndefined autocmd event argument is expanded like filename
10538 7.2.166 no completion for ":sign" command
54715 7.2.167 splint doesn't work well for checking the code (part 1)
2936 7.2.168 if no ctags program found, "make tags" executes first C file
35841 7.2.169 fix more splint warnings, define colnr_T to be int
4481 7.2.170 using b_dev while it was not set
2261 7.2.171 (after 7.2.169) compiler warnings
1883 7.2.172 (extra) compiler warning
17875 7.2.173 use gcc instead of lint to check for unused function arguments
42277 7.2.174 too many warnings from gcc -Wextra
1455 7.2.175 compiler warning in OpenBSD
5956 7.2.176 exceptions for splint are not useful
57904 7.2.177 more warnings from gcc -Wextra
3898 7.2.178 using negative value for device number might not always work
2944 7.2.179 using negative value for device number might not always work
198701 7.2.180 some more compiler warnings when using gcc -Wextra
49635 7.2.181 some more compiler warnings when using gcc -Wextra
2128 7.2.182 compilation fails for Motif, gvim with GTK crashes on startup
52709 7.2.183 configure problem for sys/sysctl.h on OpenBSD
84846 7.2.184 some more compiler warnings when using gcc -Wextra
8242 7.2.185 some more compiler warnings when using gcc -Wextra
7260 7.2.186 some more compiler warnings when using gcc -Wextra
3334 7.2.187 (after 7.2.186) doesn't compile with older tcl versions
8531 7.2.188 crash with specific use of function calls
2889 7.2.189 possible hang for deleting auto-indent
4827 7.2.190 the register executed by @@ isn't stored in viminfo
106448 7.2.191 Mzscheme interface doesn't work on Ubuntu
4206 7.2.192 (after 7.2.188) still a crash in the garbage collector
1545 7.2.193 warning for uninitialized values in struct
1345 7.2.194 (extra) MSVC: rem commands are echoed
2229 7.2.195 leaking memory for the command Vim was started with
3466 7.2.196 remove support for splint, it doesn't work well
1530 7.2.197 warning for uninitialized values of typebuf
2006 7.2.198 buffer used for termcap entry may be too small
1894 7.2.199 strange character in comment
10318 7.2.200 reading past string end when using menu bar or resizing window
14460 7.2.201 cannot copy/paste HTML to/from Firefox via the clipboard
1846 7.2.202 BufWipeout autocmd that edits another buffer causes problems
40481 7.2.203 using current window to work on hidden buffer has side effects
4407 7.2.204 (extra) Win32: Can't build with Visual Studio 2010 beta 1
2852 7.2.205 (extra) Win32: No support for High DPI awarenes
1485 7.2.206 Win32: Can't build netbeans interface with Visual Studio 2010
2237 7.2.207 using freed memory when ":redrawstatus" works recursively
2569 7.2.208 "set novice" gives an error message, it should be ignored
2532 7.2.209 for xxd setmode() is undefined on Cygwin
1896 7.2.210 warning for file changed outside of vim even after :checktime
1639 7.2.211 memory leak when expanding a series of file names
1727 7.2.212 (extra) warnings for redefining SIG macros
1521 7.2.213 warning for using vsprintf()
1983 7.2.214 crash with complete function for user command
8298 7.2.215 ml_get error when using ":vimgrep"
4822 7.2.216 two error messages have the same number E812
2020 7.2.217 running tests with valgrind doesn't work as advertised
1448 7.2.218 cannot build GTK with hangul_input feature
2052 7.2.219 (extra) Photon GUI is outdated
2958 7.2.220 (after 7.2.215) BufEnter "cd" autocommand causes problems
7103 7.2.221 X cut_buffer0 text may be used in the wrong encoding
1816 7.2.222 ":mksession" doesn't work properly with 'acd' set
5132 7.2.223 a script run with ":silent" cannot give any messages
2542 7.2.224 crash when using 'completefunc'
2874 7.2.225 when using ":normal" a saved character may be executed
7470 7.2.226 ml_get error after deleting the last line
1574 7.2.227 when using ":cd" in a script there is no way to track this
14946 7.2.228 cscope is limited to 8 connections
1595 7.2.229 warning for shadowed variable
2442 7.2.230 a few old lint-style ARGUSED comments
1473 7.2.231 warning for unreacheable code in Perl interface
2704 7.2.232 cannot debug problems with being in a wrong directory
2901 7.2.233 extra part of 7.2.232
3831 7.2.234 it is not possible to ignore file names without a suffix
2696 7.2.235 Using CTRL-O z= in Insert mode has a delay before redrawing
2809 7.2.236 Mac: Compiling with Ruby doesn't always work
1965 7.2.237 crash on exit when window icon not set
3941 7.2.238 leaking memory when setting term to "builtin_dumb"
4151 7.2.239 using :diffpatch twice may cause a crash
2078 7.2.240 crash when using GUI find/replace dialog repeatedly
5174 7.2.241 problems with using ":bufdo" and "doautoall" or ":vimgrep"
2505 7.2.242 setting 'lazyredraw' causes the cursor column to be recomputed
1918 7.2.243 memory leak when using :vimgrep and resizing
4757 7.2.244 insufficient info for a conversion error from utf-8 to latin1
5093 7.2.245 wrong conversion when writing Unicode encoded files

201
vim.spec
View File

@ -18,13 +18,13 @@
#used for pre-releases:
%define beta %{nil}
%define vimdir vim72%{?beta}
%define patchlevel 148
%define patchlevel 245
Summary: The VIM editor
URL: http://www.vim.org/
Name: vim
Version: %{baseversion}.%{beta}%{patchlevel}
Release: 2%{?dist}
Release: 1%{?dist}
License: Vim
Group: Applications/Editors
Source0: ftp://ftp.vim.org/pub/vim/unix/vim-%{baseversion}%{?beta}%{?CVSDATE}.tar.bz2
@ -214,6 +214,103 @@ Patch145: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.145
Patch146: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.146
Patch147: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.147
Patch148: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.148
Patch149: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.149
Patch150: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.150
Patch151: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.151
Patch152: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.152
Patch153: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.153
Patch154: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.154
Patch155: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.155
Patch156: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.156
Patch157: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.157
Patch158: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.158
Patch159: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.159
Patch160: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.160
Patch161: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.161
Patch162: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.162
Patch163: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.163
Patch164: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.164
Patch165: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.165
Patch166: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.166
Patch167: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.167
Patch168: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.168
Patch169: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.169
Patch170: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.170
Patch171: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.171
Patch172: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.172
Patch173: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.173
Patch174: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.174
Patch175: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.175
Patch176: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.176
Patch177: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.177
Patch178: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.178
Patch179: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.179
Patch180: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.180
Patch181: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.181
Patch182: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.182
Patch183: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.183
Patch184: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.184
Patch185: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.185
Patch186: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.186
Patch187: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.187
Patch188: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.188
Patch189: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.189
Patch190: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.190
Patch191: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.191
Patch192: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.192
Patch193: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.193
Patch194: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.194
Patch195: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.195
Patch196: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.196
Patch197: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.197
Patch198: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.198
Patch199: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.199
Patch200: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.200
Patch201: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.201
Patch202: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.202
Patch203: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.203
Patch204: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.204
Patch205: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.205
Patch206: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.206
Patch207: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.207
Patch208: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.208
Patch209: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.209
Patch210: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.210
Patch211: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.211
Patch212: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.212
Patch213: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.213
Patch214: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.214
Patch215: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.215
Patch216: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.216
Patch217: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.217
Patch218: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.218
Patch219: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.219
Patch220: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.220
Patch221: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.221
Patch222: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.222
Patch223: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.223
Patch224: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.224
Patch225: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.225
Patch226: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.226
Patch227: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.227
Patch228: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.228
Patch229: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.229
Patch230: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.230
Patch231: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.231
Patch232: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.232
Patch233: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.233
Patch234: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.234
Patch235: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.235
Patch236: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.236
Patch237: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.237
Patch238: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.238
Patch239: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.239
Patch240: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.240
Patch241: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.241
Patch242: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.242
Patch243: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.243
Patch244: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.244
Patch245: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.245
Patch3000: vim-7.0-syntax.patch
Patch3002: vim-7.1-nowarnings.patch
@ -495,6 +592,103 @@ perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk
%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
%patch212 -p0
%patch213 -p0
%patch214 -p0
%patch215 -p0
%patch216 -p0
%patch217 -p0
%patch218 -p0
%patch219 -p0
%patch220 -p0
%patch221 -p0
%patch222 -p0
%patch223 -p0
%patch224 -p0
%patch225 -p0
%patch226 -p0
%patch227 -p0
%patch228 -p0
%patch229 -p0
%patch230 -p0
%patch231 -p0
%patch232 -p0
%patch233 -p0
%patch234 -p0
%patch235 -p0
%patch236 -p0
%patch237 -p0
%patch238 -p0
%patch239 -p0
%patch240 -p0
%patch241 -p0
%patch242 -p0
%patch243 -p0
%patch244 -p0
%patch245 -p0
# install spell files
@ -954,6 +1148,9 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/icons/hicolor/*/apps/*
%changelog
* Sat Aug 01 2009 Karsten Hopp <karsten@redhat.com> 7.2.245-1
- add 97 upstream patches to get to patchlevel 245
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2:7.2.148-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild