- patchlevel 941
This commit is contained in:
commit
31a482c277
5
.gitignore
vendored
5
.gitignore
vendored
@ -3,3 +3,8 @@ vim-7.2-lang.tar.gz
|
|||||||
vim-7.2.tar.bz2
|
vim-7.2.tar.bz2
|
||||||
/vim-7.3.tar.bz2
|
/vim-7.3.tar.bz2
|
||||||
/vim-7.4.tar.bz2
|
/vim-7.4.tar.bz2
|
||||||
|
/vim-7.4-909.tar.bz2
|
||||||
|
/vim-7.4-917.tar.bz2
|
||||||
|
/vim-7.4-922.tar.bz2
|
||||||
|
/vim-7.4-930.tar.bz2
|
||||||
|
/vim-7.4-941.tar.bz2
|
||||||
|
489
7.4.001
489
7.4.001
@ -1,489 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.001
|
|
||||||
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.4.001
|
|
||||||
Problem: Character classes such as [a-z] to not react to 'ignorecase'.
|
|
||||||
Breaks man page highlighting. (Mario Grgic)
|
|
||||||
Solution: Add separate items for classes that react to 'ignorecase'. Clean
|
|
||||||
up logic handling character classes. Add more tests.
|
|
||||||
Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.000/src/regexp_nfa.c 2013-08-01 18:27:51.000000000 +0200
|
|
||||||
--- src/regexp_nfa.c 2013-08-14 11:49:50.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 29,34 ****
|
|
||||||
--- 29,37 ----
|
|
||||||
# define NFA_REGEXP_DEBUG_LOG "nfa_regexp_debug.log"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+ /* Added to NFA_ANY - NFA_NUPPER_IC to include a NL. */
|
|
||||||
+ #define NFA_ADD_NL 31
|
|
||||||
+
|
|
||||||
enum
|
|
||||||
{
|
|
||||||
NFA_SPLIT = -1024,
|
|
||||||
***************
|
|
||||||
*** 183,188 ****
|
|
||||||
--- 186,198 ----
|
|
||||||
NFA_NLOWER, /* Match non-lowercase char */
|
|
||||||
NFA_UPPER, /* Match uppercase char */
|
|
||||||
NFA_NUPPER, /* Match non-uppercase char */
|
|
||||||
+ NFA_LOWER_IC, /* Match [a-z] */
|
|
||||||
+ NFA_NLOWER_IC, /* Match [^a-z] */
|
|
||||||
+ NFA_UPPER_IC, /* Match [A-Z] */
|
|
||||||
+ NFA_NUPPER_IC, /* Match [^A-Z] */
|
|
||||||
+
|
|
||||||
+ NFA_FIRST_NL = NFA_ANY + NFA_ADD_NL,
|
|
||||||
+ NFA_LAST_NL = NFA_NUPPER_IC + NFA_ADD_NL,
|
|
||||||
|
|
||||||
NFA_CURSOR, /* Match cursor pos */
|
|
||||||
NFA_LNUM, /* Match line number */
|
|
||||||
***************
|
|
||||||
*** 199,207 ****
|
|
||||||
NFA_MARK_LT, /* Match < mark */
|
|
||||||
NFA_VISUAL, /* Match Visual area */
|
|
||||||
|
|
||||||
- NFA_FIRST_NL = NFA_ANY + ADD_NL,
|
|
||||||
- NFA_LAST_NL = NFA_NUPPER + ADD_NL,
|
|
||||||
-
|
|
||||||
/* Character classes [:alnum:] etc */
|
|
||||||
NFA_CLASS_ALNUM,
|
|
||||||
NFA_CLASS_ALPHA,
|
|
||||||
--- 209,214 ----
|
|
||||||
***************
|
|
||||||
*** 578,583 ****
|
|
||||||
--- 585,592 ----
|
|
||||||
* On failure, return 0 (=FAIL)
|
|
||||||
* Start points to the first char of the range, while end should point
|
|
||||||
* to the closing brace.
|
|
||||||
+ * Keep in mind that 'ignorecase' applies at execution time, thus [a-z] may
|
|
||||||
+ * need to be interpreted as [a-zA-Z].
|
|
||||||
*/
|
|
||||||
static int
|
|
||||||
nfa_recognize_char_class(start, end, extra_newl)
|
|
||||||
***************
|
|
||||||
*** 681,687 ****
|
|
||||||
return FAIL;
|
|
||||||
|
|
||||||
if (newl == TRUE)
|
|
||||||
! extra_newl = ADD_NL;
|
|
||||||
|
|
||||||
switch (config)
|
|
||||||
{
|
|
||||||
--- 690,696 ----
|
|
||||||
return FAIL;
|
|
||||||
|
|
||||||
if (newl == TRUE)
|
|
||||||
! extra_newl = NFA_ADD_NL;
|
|
||||||
|
|
||||||
switch (config)
|
|
||||||
{
|
|
||||||
***************
|
|
||||||
*** 710,722 ****
|
|
||||||
case CLASS_not | CLASS_az | CLASS_AZ:
|
|
||||||
return extra_newl + NFA_NALPHA;
|
|
||||||
case CLASS_az:
|
|
||||||
! return extra_newl + NFA_LOWER;
|
|
||||||
case CLASS_not | CLASS_az:
|
|
||||||
! return extra_newl + NFA_NLOWER;
|
|
||||||
case CLASS_AZ:
|
|
||||||
! return extra_newl + NFA_UPPER;
|
|
||||||
case CLASS_not | CLASS_AZ:
|
|
||||||
! return extra_newl + NFA_NUPPER;
|
|
||||||
}
|
|
||||||
return FAIL;
|
|
||||||
}
|
|
||||||
--- 719,731 ----
|
|
||||||
case CLASS_not | CLASS_az | CLASS_AZ:
|
|
||||||
return extra_newl + NFA_NALPHA;
|
|
||||||
case CLASS_az:
|
|
||||||
! return extra_newl + NFA_LOWER_IC;
|
|
||||||
case CLASS_not | CLASS_az:
|
|
||||||
! return extra_newl + NFA_NLOWER_IC;
|
|
||||||
case CLASS_AZ:
|
|
||||||
! return extra_newl + NFA_UPPER_IC;
|
|
||||||
case CLASS_not | CLASS_AZ:
|
|
||||||
! return extra_newl + NFA_NUPPER_IC;
|
|
||||||
}
|
|
||||||
return FAIL;
|
|
||||||
}
|
|
||||||
***************
|
|
||||||
*** 914,920 ****
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
! extra = ADD_NL;
|
|
||||||
|
|
||||||
/* "\_[" is collection plus newline */
|
|
||||||
if (c == '[')
|
|
||||||
--- 923,929 ----
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
! extra = NFA_ADD_NL;
|
|
||||||
|
|
||||||
/* "\_[" is collection plus newline */
|
|
||||||
if (c == '[')
|
|
||||||
***************
|
|
||||||
*** 970,976 ****
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
EMIT(nfa_classcodes[p - classchars]);
|
|
||||||
! if (extra == ADD_NL)
|
|
||||||
{
|
|
||||||
EMIT(NFA_NEWL);
|
|
||||||
EMIT(NFA_OR);
|
|
||||||
--- 979,985 ----
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
EMIT(nfa_classcodes[p - classchars]);
|
|
||||||
! if (extra == NFA_ADD_NL)
|
|
||||||
{
|
|
||||||
EMIT(NFA_NEWL);
|
|
||||||
EMIT(NFA_OR);
|
|
||||||
***************
|
|
||||||
*** 1240,1260 ****
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* Try to reverse engineer character classes. For example,
|
|
||||||
! * recognize that [0-9] stands for \d and [A-Za-z_] with \h,
|
|
||||||
* and perform the necessary substitutions in the NFA.
|
|
||||||
*/
|
|
||||||
result = nfa_recognize_char_class(regparse, endp,
|
|
||||||
! extra == ADD_NL);
|
|
||||||
if (result != FAIL)
|
|
||||||
{
|
|
||||||
! if (result >= NFA_DIGIT && result <= NFA_NUPPER)
|
|
||||||
! EMIT(result);
|
|
||||||
! else /* must be char class + newline */
|
|
||||||
{
|
|
||||||
! EMIT(result - ADD_NL);
|
|
||||||
EMIT(NFA_NEWL);
|
|
||||||
EMIT(NFA_OR);
|
|
||||||
}
|
|
||||||
regparse = endp;
|
|
||||||
mb_ptr_adv(regparse);
|
|
||||||
return OK;
|
|
||||||
--- 1249,1269 ----
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* Try to reverse engineer character classes. For example,
|
|
||||||
! * recognize that [0-9] stands for \d and [A-Za-z_] for \h,
|
|
||||||
* and perform the necessary substitutions in the NFA.
|
|
||||||
*/
|
|
||||||
result = nfa_recognize_char_class(regparse, endp,
|
|
||||||
! extra == NFA_ADD_NL);
|
|
||||||
if (result != FAIL)
|
|
||||||
{
|
|
||||||
! if (result >= NFA_FIRST_NL && result <= NFA_LAST_NL)
|
|
||||||
{
|
|
||||||
! EMIT(result - NFA_ADD_NL);
|
|
||||||
EMIT(NFA_NEWL);
|
|
||||||
EMIT(NFA_OR);
|
|
||||||
}
|
|
||||||
+ else
|
|
||||||
+ EMIT(result);
|
|
||||||
regparse = endp;
|
|
||||||
mb_ptr_adv(regparse);
|
|
||||||
return OK;
|
|
||||||
***************
|
|
||||||
*** 1504,1510 ****
|
|
||||||
* collection, add an OR below. But not for negated
|
|
||||||
* range. */
|
|
||||||
if (!negated)
|
|
||||||
! extra = ADD_NL;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
--- 1513,1519 ----
|
|
||||||
* collection, add an OR below. But not for negated
|
|
||||||
* range. */
|
|
||||||
if (!negated)
|
|
||||||
! extra = NFA_ADD_NL;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
***************
|
|
||||||
*** 1537,1543 ****
|
|
||||||
EMIT(NFA_END_COLL);
|
|
||||||
|
|
||||||
/* \_[] also matches \n but it's not negated */
|
|
||||||
! if (extra == ADD_NL)
|
|
||||||
{
|
|
||||||
EMIT(reg_string ? NL : NFA_NEWL);
|
|
||||||
EMIT(NFA_OR);
|
|
||||||
--- 1546,1552 ----
|
|
||||||
EMIT(NFA_END_COLL);
|
|
||||||
|
|
||||||
/* \_[] also matches \n but it's not negated */
|
|
||||||
! if (extra == NFA_ADD_NL)
|
|
||||||
{
|
|
||||||
EMIT(reg_string ? NL : NFA_NEWL);
|
|
||||||
EMIT(NFA_OR);
|
|
||||||
***************
|
|
||||||
*** 2011,2017 ****
|
|
||||||
if (c >= NFA_FIRST_NL && c <= NFA_LAST_NL)
|
|
||||||
{
|
|
||||||
addnl = TRUE;
|
|
||||||
! c -= ADD_NL;
|
|
||||||
}
|
|
||||||
|
|
||||||
STRCPY(code, "");
|
|
||||||
--- 2020,2026 ----
|
|
||||||
if (c >= NFA_FIRST_NL && c <= NFA_LAST_NL)
|
|
||||||
{
|
|
||||||
addnl = TRUE;
|
|
||||||
! c -= NFA_ADD_NL;
|
|
||||||
}
|
|
||||||
|
|
||||||
STRCPY(code, "");
|
|
||||||
***************
|
|
||||||
*** 2217,2222 ****
|
|
||||||
--- 2226,2235 ----
|
|
||||||
case NFA_NLOWER:STRCPY(code, "NFA_NLOWER"); break;
|
|
||||||
case NFA_UPPER: STRCPY(code, "NFA_UPPER"); break;
|
|
||||||
case NFA_NUPPER:STRCPY(code, "NFA_NUPPER"); break;
|
|
||||||
+ case NFA_LOWER_IC: STRCPY(code, "NFA_LOWER_IC"); break;
|
|
||||||
+ case NFA_NLOWER_IC: STRCPY(code, "NFA_NLOWER_IC"); break;
|
|
||||||
+ case NFA_UPPER_IC: STRCPY(code, "NFA_UPPER_IC"); break;
|
|
||||||
+ case NFA_NUPPER_IC: STRCPY(code, "NFA_NUPPER_IC"); break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
STRCPY(code, "CHAR(x)");
|
|
||||||
***************
|
|
||||||
*** 2687,2692 ****
|
|
||||||
--- 2700,2709 ----
|
|
||||||
case NFA_NLOWER:
|
|
||||||
case NFA_UPPER:
|
|
||||||
case NFA_NUPPER:
|
|
||||||
+ case NFA_LOWER_IC:
|
|
||||||
+ case NFA_NLOWER_IC:
|
|
||||||
+ case NFA_UPPER_IC:
|
|
||||||
+ case NFA_NUPPER_IC:
|
|
||||||
/* possibly non-ascii */
|
|
||||||
#ifdef FEAT_MBYTE
|
|
||||||
if (has_mbyte)
|
|
||||||
***************
|
|
||||||
*** 3841,3846 ****
|
|
||||||
--- 3858,3867 ----
|
|
||||||
case NFA_NLOWER:
|
|
||||||
case NFA_UPPER:
|
|
||||||
case NFA_NUPPER:
|
|
||||||
+ case NFA_LOWER_IC:
|
|
||||||
+ case NFA_NLOWER_IC:
|
|
||||||
+ case NFA_UPPER_IC:
|
|
||||||
+ case NFA_NUPPER_IC:
|
|
||||||
case NFA_START_COLL:
|
|
||||||
case NFA_START_NEG_COLL:
|
|
||||||
case NFA_NEWL:
|
|
||||||
***************
|
|
||||||
*** 5872,5877 ****
|
|
||||||
--- 5893,5920 ----
|
|
||||||
ADD_STATE_IF_MATCH(t->state);
|
|
||||||
break;
|
|
||||||
|
|
||||||
+ case NFA_LOWER_IC: /* [a-z] */
|
|
||||||
+ result = ri_lower(curc) || (ireg_ic && ri_upper(curc));
|
|
||||||
+ ADD_STATE_IF_MATCH(t->state);
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case NFA_NLOWER_IC: /* [^a-z] */
|
|
||||||
+ result = curc != NUL
|
|
||||||
+ && !(ri_lower(curc) || (ireg_ic && ri_upper(curc)));
|
|
||||||
+ ADD_STATE_IF_MATCH(t->state);
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case NFA_UPPER_IC: /* [A-Z] */
|
|
||||||
+ result = ri_upper(curc) || (ireg_ic && ri_lower(curc));
|
|
||||||
+ ADD_STATE_IF_MATCH(t->state);
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
+ case NFA_NUPPER_IC: /* ^[A-Z] */
|
|
||||||
+ result = curc != NUL
|
|
||||||
+ && !(ri_upper(curc) || (ireg_ic && ri_lower(curc)));
|
|
||||||
+ ADD_STATE_IF_MATCH(t->state);
|
|
||||||
+ break;
|
|
||||||
+
|
|
||||||
case NFA_BACKREF1:
|
|
||||||
case NFA_BACKREF2:
|
|
||||||
case NFA_BACKREF3:
|
|
||||||
*** ../vim-7.4.000/src/testdir/test64.in 2013-08-01 17:45:33.000000000 +0200
|
|
||||||
--- src/testdir/test64.in 2013-08-14 11:50:11.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 289,303 ****
|
|
||||||
:call add(tl, [2, '.a\%$', " a\n "])
|
|
||||||
:call add(tl, [2, '.a\%$', " a\n_a", "_a"])
|
|
||||||
:"
|
|
||||||
! :"""" Test recognition of some character classes
|
|
||||||
! :call add(tl, [2, '[0-9]', '8', '8'])
|
|
||||||
! :call add(tl, [2, '[^0-9]', '8'])
|
|
||||||
! :call add(tl, [2, '[0-9a-fA-F]*', '0a7', '0a7'])
|
|
||||||
! :call add(tl, [2, '[^0-9A-Fa-f]\+', '0a7'])
|
|
||||||
! :call add(tl, [2, '[a-z_A-Z0-9]\+', 'aso_sfoij', 'aso_sfoij'])
|
|
||||||
! :call add(tl, [2, '[a-z]', 'a', 'a'])
|
|
||||||
! :call add(tl, [2, '[a-zA-Z]', 'a', 'a'])
|
|
||||||
! :call add(tl, [2, '[A-Z]', 'a'])
|
|
||||||
:call add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa'])
|
|
||||||
:"
|
|
||||||
:"""" Tests for \z features
|
|
||||||
--- 289,317 ----
|
|
||||||
:call add(tl, [2, '.a\%$', " a\n "])
|
|
||||||
:call add(tl, [2, '.a\%$', " a\n_a", "_a"])
|
|
||||||
:"
|
|
||||||
! :"""" Test recognition of character classes
|
|
||||||
! :call add(tl, [2, '[0-7]\+', 'x0123456789x', '01234567'])
|
|
||||||
! :call add(tl, [2, '[^0-7]\+', '0a;X+% 897', 'a;X+% 89'])
|
|
||||||
! :call add(tl, [2, '[0-9]\+', 'x0123456789x', '0123456789'])
|
|
||||||
! :call add(tl, [2, '[^0-9]\+', '0a;X+% 9', 'a;X+% '])
|
|
||||||
! :call add(tl, [2, '[0-9a-fA-F]\+', 'x0189abcdefg', '0189abcdef'])
|
|
||||||
! :call add(tl, [2, '[^0-9A-Fa-f]\+', '0189g;X+% ab', 'g;X+% '])
|
|
||||||
! :call add(tl, [2, '[a-z_A-Z0-9]\+', ';+aso_SfOij ', 'aso_SfOij'])
|
|
||||||
! :call add(tl, [2, '[^a-z_A-Z0-9]\+', 'aSo_;+% sfOij', ';+% '])
|
|
||||||
! :call add(tl, [2, '[a-z_A-Z]\+', '0abyz_ABYZ;', 'abyz_ABYZ'])
|
|
||||||
! :call add(tl, [2, '[^a-z_A-Z]\+', 'abAB_09;+% yzYZ', '09;+% '])
|
|
||||||
! :call add(tl, [2, '[a-z]\+', '0abcxyz1', 'abcxyz'])
|
|
||||||
! :call add(tl, [2, '[a-z]\+', 'AabxyzZ', 'abxyz'])
|
|
||||||
! :call add(tl, [2, '[^a-z]\+', 'a;X09+% x', ';X09+% '])
|
|
||||||
! :call add(tl, [2, '[^a-z]\+', 'abX0;%yz', 'X0;%'])
|
|
||||||
! :call add(tl, [2, '[a-zA-Z]\+', '0abABxzXZ9', 'abABxzXZ'])
|
|
||||||
! :call add(tl, [2, '[^a-zA-Z]\+', 'ab09_;+ XZ', '09_;+ '])
|
|
||||||
! :call add(tl, [2, '[A-Z]\+', 'aABXYZz', 'ABXYZ'])
|
|
||||||
! :call add(tl, [2, '[^A-Z]\+', 'ABx0;%YZ', 'x0;%'])
|
|
||||||
! :call add(tl, [2, '[a-z]\+\c', '0abxyzABXYZ;', 'abxyzABXYZ'])
|
|
||||||
! :call add(tl, [2, '[A-Z]\+\c', '0abABxzXZ9', 'abABxzXZ'])
|
|
||||||
! :call add(tl, [2, '\c[^a-z]\+', 'ab09_;+ XZ', '09_;+ '])
|
|
||||||
! :call add(tl, [2, '\c[^A-Z]\+', 'ab09_;+ XZ', '09_;+ '])
|
|
||||||
:call add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa'])
|
|
||||||
:"
|
|
||||||
:"""" Tests for \z features
|
|
||||||
*** ../vim-7.4.000/src/testdir/test64.ok 2013-08-01 18:28:56.000000000 +0200
|
|
||||||
--- src/testdir/test64.ok 2013-08-14 11:50:37.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 650,679 ****
|
|
||||||
OK 0 - .a\%$
|
|
||||||
OK 1 - .a\%$
|
|
||||||
OK 2 - .a\%$
|
|
||||||
! OK 0 - [0-9]
|
|
||||||
! OK 1 - [0-9]
|
|
||||||
! OK 2 - [0-9]
|
|
||||||
! OK 0 - [^0-9]
|
|
||||||
! OK 1 - [^0-9]
|
|
||||||
! OK 2 - [^0-9]
|
|
||||||
! OK 0 - [0-9a-fA-F]*
|
|
||||||
! OK 1 - [0-9a-fA-F]*
|
|
||||||
! OK 2 - [0-9a-fA-F]*
|
|
||||||
OK 0 - [^0-9A-Fa-f]\+
|
|
||||||
OK 1 - [^0-9A-Fa-f]\+
|
|
||||||
OK 2 - [^0-9A-Fa-f]\+
|
|
||||||
OK 0 - [a-z_A-Z0-9]\+
|
|
||||||
OK 1 - [a-z_A-Z0-9]\+
|
|
||||||
OK 2 - [a-z_A-Z0-9]\+
|
|
||||||
! OK 0 - [a-z]
|
|
||||||
! OK 1 - [a-z]
|
|
||||||
! OK 2 - [a-z]
|
|
||||||
! OK 0 - [a-zA-Z]
|
|
||||||
! OK 1 - [a-zA-Z]
|
|
||||||
! OK 2 - [a-zA-Z]
|
|
||||||
! OK 0 - [A-Z]
|
|
||||||
! OK 1 - [A-Z]
|
|
||||||
! OK 2 - [A-Z]
|
|
||||||
OK 0 - \C[^A-Z]\+
|
|
||||||
OK 1 - \C[^A-Z]\+
|
|
||||||
OK 2 - \C[^A-Z]\+
|
|
||||||
--- 650,721 ----
|
|
||||||
OK 0 - .a\%$
|
|
||||||
OK 1 - .a\%$
|
|
||||||
OK 2 - .a\%$
|
|
||||||
! OK 0 - [0-7]\+
|
|
||||||
! OK 1 - [0-7]\+
|
|
||||||
! OK 2 - [0-7]\+
|
|
||||||
! OK 0 - [^0-7]\+
|
|
||||||
! OK 1 - [^0-7]\+
|
|
||||||
! OK 2 - [^0-7]\+
|
|
||||||
! OK 0 - [0-9]\+
|
|
||||||
! OK 1 - [0-9]\+
|
|
||||||
! OK 2 - [0-9]\+
|
|
||||||
! OK 0 - [^0-9]\+
|
|
||||||
! OK 1 - [^0-9]\+
|
|
||||||
! OK 2 - [^0-9]\+
|
|
||||||
! OK 0 - [0-9a-fA-F]\+
|
|
||||||
! OK 1 - [0-9a-fA-F]\+
|
|
||||||
! OK 2 - [0-9a-fA-F]\+
|
|
||||||
OK 0 - [^0-9A-Fa-f]\+
|
|
||||||
OK 1 - [^0-9A-Fa-f]\+
|
|
||||||
OK 2 - [^0-9A-Fa-f]\+
|
|
||||||
OK 0 - [a-z_A-Z0-9]\+
|
|
||||||
OK 1 - [a-z_A-Z0-9]\+
|
|
||||||
OK 2 - [a-z_A-Z0-9]\+
|
|
||||||
! OK 0 - [^a-z_A-Z0-9]\+
|
|
||||||
! OK 1 - [^a-z_A-Z0-9]\+
|
|
||||||
! OK 2 - [^a-z_A-Z0-9]\+
|
|
||||||
! OK 0 - [a-z_A-Z]\+
|
|
||||||
! OK 1 - [a-z_A-Z]\+
|
|
||||||
! OK 2 - [a-z_A-Z]\+
|
|
||||||
! OK 0 - [^a-z_A-Z]\+
|
|
||||||
! OK 1 - [^a-z_A-Z]\+
|
|
||||||
! OK 2 - [^a-z_A-Z]\+
|
|
||||||
! OK 0 - [a-z]\+
|
|
||||||
! OK 1 - [a-z]\+
|
|
||||||
! OK 2 - [a-z]\+
|
|
||||||
! OK 0 - [a-z]\+
|
|
||||||
! OK 1 - [a-z]\+
|
|
||||||
! OK 2 - [a-z]\+
|
|
||||||
! OK 0 - [^a-z]\+
|
|
||||||
! OK 1 - [^a-z]\+
|
|
||||||
! OK 2 - [^a-z]\+
|
|
||||||
! OK 0 - [^a-z]\+
|
|
||||||
! OK 1 - [^a-z]\+
|
|
||||||
! OK 2 - [^a-z]\+
|
|
||||||
! OK 0 - [a-zA-Z]\+
|
|
||||||
! OK 1 - [a-zA-Z]\+
|
|
||||||
! OK 2 - [a-zA-Z]\+
|
|
||||||
! OK 0 - [^a-zA-Z]\+
|
|
||||||
! OK 1 - [^a-zA-Z]\+
|
|
||||||
! OK 2 - [^a-zA-Z]\+
|
|
||||||
! OK 0 - [A-Z]\+
|
|
||||||
! OK 1 - [A-Z]\+
|
|
||||||
! OK 2 - [A-Z]\+
|
|
||||||
! OK 0 - [^A-Z]\+
|
|
||||||
! OK 1 - [^A-Z]\+
|
|
||||||
! OK 2 - [^A-Z]\+
|
|
||||||
! OK 0 - [a-z]\+\c
|
|
||||||
! OK 1 - [a-z]\+\c
|
|
||||||
! OK 2 - [a-z]\+\c
|
|
||||||
! OK 0 - [A-Z]\+\c
|
|
||||||
! OK 1 - [A-Z]\+\c
|
|
||||||
! OK 2 - [A-Z]\+\c
|
|
||||||
! OK 0 - \c[^a-z]\+
|
|
||||||
! OK 1 - \c[^a-z]\+
|
|
||||||
! OK 2 - \c[^a-z]\+
|
|
||||||
! OK 0 - \c[^A-Z]\+
|
|
||||||
! OK 1 - \c[^A-Z]\+
|
|
||||||
! OK 2 - \c[^A-Z]\+
|
|
||||||
OK 0 - \C[^A-Z]\+
|
|
||||||
OK 1 - \C[^A-Z]\+
|
|
||||||
OK 2 - \C[^A-Z]\+
|
|
||||||
*** ../vim-7.4.000/src/version.c 2013-08-10 13:29:20.000000000 +0200
|
|
||||||
--- src/version.c 2013-08-14 11:54:57.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 729,730 ****
|
|
||||||
--- 729,732 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 1,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
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/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
77
7.4.002
77
7.4.002
@ -1,77 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.002
|
|
||||||
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.4b.002
|
|
||||||
Problem: Pattern with two alternative look-behind matches does not match.
|
|
||||||
(Amadeus Demarzi)
|
|
||||||
Solution: When comparing PIMs also compare their state ID to see if they are
|
|
||||||
different.
|
|
||||||
Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.001/src/regexp_nfa.c 2013-08-14 12:05:54.000000000 +0200
|
|
||||||
--- src/regexp_nfa.c 2013-08-14 13:12:09.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 3782,3787 ****
|
|
||||||
--- 3782,3790 ----
|
|
||||||
if (two_unused)
|
|
||||||
/* one is used and two is not: not equal */
|
|
||||||
return FALSE;
|
|
||||||
+ /* compare the state id */
|
|
||||||
+ if (one->state->id != two->state->id)
|
|
||||||
+ return FALSE;
|
|
||||||
/* compare the position */
|
|
||||||
if (REG_MULTI)
|
|
||||||
return one->end.pos.lnum == two->end.pos.lnum
|
|
||||||
*** ../vim-7.4.001/src/testdir/test64.in 2013-08-14 12:05:54.000000000 +0200
|
|
||||||
--- src/testdir/test64.in 2013-08-14 12:58:38.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 421,426 ****
|
|
||||||
--- 421,429 ----
|
|
||||||
:call add(tl, [2, '\(foo\)\@<=\>', 'barfoo', '', 'foo'])
|
|
||||||
:call add(tl, [2, '\(foo\)\@<=.*', 'foobar', 'bar', 'foo'])
|
|
||||||
:"
|
|
||||||
+ :" complicated look-behind match
|
|
||||||
+ :call add(tl, [2, '\(r\@<=\|\w\@<!\)\/', 'x = /word/;', '/'])
|
|
||||||
+ :"
|
|
||||||
:""""" \@>
|
|
||||||
:call add(tl, [2, '\(a*\)\@>a', 'aaaa'])
|
|
||||||
:call add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa'])
|
|
||||||
*** ../vim-7.4.001/src/testdir/test64.ok 2013-08-14 12:05:54.000000000 +0200
|
|
||||||
--- src/testdir/test64.ok 2013-08-14 13:14:09.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 974,979 ****
|
|
||||||
--- 974,982 ----
|
|
||||||
OK 0 - \(foo\)\@<=.*
|
|
||||||
OK 1 - \(foo\)\@<=.*
|
|
||||||
OK 2 - \(foo\)\@<=.*
|
|
||||||
+ OK 0 - \(r\@<=\|\w\@<!\)\/
|
|
||||||
+ OK 1 - \(r\@<=\|\w\@<!\)\/
|
|
||||||
+ OK 2 - \(r\@<=\|\w\@<!\)\/
|
|
||||||
OK 0 - \(a*\)\@>a
|
|
||||||
OK 1 - \(a*\)\@>a
|
|
||||||
OK 2 - \(a*\)\@>a
|
|
||||||
*** ../vim-7.4.001/src/version.c 2013-08-14 12:05:54.000000000 +0200
|
|
||||||
--- src/version.c 2013-08-14 13:13:45.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 729,730 ****
|
|
||||||
--- 729,732 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 2,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
From "know your smileys":
|
|
||||||
:-)-O Smiling doctor with stethoscope
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
100
7.4.003
100
7.4.003
@ -1,100 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.003
|
|
||||||
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.4.003
|
|
||||||
Problem: Memory access error in Ruby syntax highlighting. (Christopher Chow)
|
|
||||||
Solution: Refresh stale pointer. (James McCoy)
|
|
||||||
Files: src/regexp_nfa.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.002/src/regexp_nfa.c 2013-08-14 13:31:03.000000000 +0200
|
|
||||||
--- src/regexp_nfa.c 2013-08-14 14:02:06.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 4120,4126 ****
|
|
||||||
sub = &subs->norm;
|
|
||||||
}
|
|
||||||
#ifdef FEAT_SYN_HL
|
|
||||||
! else if (state->c >= NFA_ZOPEN)
|
|
||||||
{
|
|
||||||
subidx = state->c - NFA_ZOPEN;
|
|
||||||
sub = &subs->synt;
|
|
||||||
--- 4120,4126 ----
|
|
||||||
sub = &subs->norm;
|
|
||||||
}
|
|
||||||
#ifdef FEAT_SYN_HL
|
|
||||||
! else if (state->c >= NFA_ZOPEN && state->c <= NFA_ZOPEN9)
|
|
||||||
{
|
|
||||||
subidx = state->c - NFA_ZOPEN;
|
|
||||||
sub = &subs->synt;
|
|
||||||
***************
|
|
||||||
*** 4189,4194 ****
|
|
||||||
--- 4189,4201 ----
|
|
||||||
}
|
|
||||||
|
|
||||||
subs = addstate(l, state->out, subs, pim, off);
|
|
||||||
+ /* "subs" may have changed, need to set "sub" again */
|
|
||||||
+ #ifdef FEAT_SYN_HL
|
|
||||||
+ if (state->c >= NFA_ZOPEN && state->c <= NFA_ZOPEN9)
|
|
||||||
+ sub = &subs->synt;
|
|
||||||
+ else
|
|
||||||
+ #endif
|
|
||||||
+ sub = &subs->norm;
|
|
||||||
|
|
||||||
if (save_in_use == -1)
|
|
||||||
{
|
|
||||||
***************
|
|
||||||
*** 4237,4243 ****
|
|
||||||
sub = &subs->norm;
|
|
||||||
}
|
|
||||||
#ifdef FEAT_SYN_HL
|
|
||||||
! else if (state->c >= NFA_ZCLOSE)
|
|
||||||
{
|
|
||||||
subidx = state->c - NFA_ZCLOSE;
|
|
||||||
sub = &subs->synt;
|
|
||||||
--- 4244,4250 ----
|
|
||||||
sub = &subs->norm;
|
|
||||||
}
|
|
||||||
#ifdef FEAT_SYN_HL
|
|
||||||
! else if (state->c >= NFA_ZCLOSE && state->c <= NFA_ZCLOSE9)
|
|
||||||
{
|
|
||||||
subidx = state->c - NFA_ZCLOSE;
|
|
||||||
sub = &subs->synt;
|
|
||||||
***************
|
|
||||||
*** 4281,4286 ****
|
|
||||||
--- 4288,4300 ----
|
|
||||||
}
|
|
||||||
|
|
||||||
subs = addstate(l, state->out, subs, pim, off);
|
|
||||||
+ /* "subs" may have changed, need to set "sub" again */
|
|
||||||
+ #ifdef FEAT_SYN_HL
|
|
||||||
+ if (state->c >= NFA_ZCLOSE && state->c <= NFA_ZCLOSE9)
|
|
||||||
+ sub = &subs->synt;
|
|
||||||
+ else
|
|
||||||
+ #endif
|
|
||||||
+ sub = &subs->norm;
|
|
||||||
|
|
||||||
if (REG_MULTI)
|
|
||||||
sub->list.multi[subidx].end = save_lpos;
|
|
||||||
*** ../vim-7.4.002/src/version.c 2013-08-14 13:31:03.000000000 +0200
|
|
||||||
--- src/version.c 2013-08-14 14:03:51.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 729,730 ****
|
|
||||||
--- 729,732 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 3,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
Where do you want to crash today?
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
232
7.4.004
232
7.4.004
@ -1,232 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.004
|
|
||||||
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.4.004
|
|
||||||
Problem: When closing a window fails ":bwipe" may hang.
|
|
||||||
Solution: Let win_close() return FAIL and break out of the loop.
|
|
||||||
Files: src/window.c, src/proto/window.pro, src/buffer.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.003/src/window.c 2013-07-24 17:38:29.000000000 +0200
|
|
||||||
--- src/window.c 2013-08-14 16:52:44.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 2172,2179 ****
|
|
||||||
* If "free_buf" is TRUE related buffer may be unloaded.
|
|
||||||
*
|
|
||||||
* Called by :quit, :close, :xit, :wq and findtag().
|
|
||||||
*/
|
|
||||||
! void
|
|
||||||
win_close(win, free_buf)
|
|
||||||
win_T *win;
|
|
||||||
int free_buf;
|
|
||||||
--- 2172,2180 ----
|
|
||||||
* If "free_buf" is TRUE related buffer may be unloaded.
|
|
||||||
*
|
|
||||||
* Called by :quit, :close, :xit, :wq and findtag().
|
|
||||||
+ * Returns FAIL when the window was not closed.
|
|
||||||
*/
|
|
||||||
! int
|
|
||||||
win_close(win, free_buf)
|
|
||||||
win_T *win;
|
|
||||||
int free_buf;
|
|
||||||
***************
|
|
||||||
*** 2190,2210 ****
|
|
||||||
if (last_window())
|
|
||||||
{
|
|
||||||
EMSG(_("E444: Cannot close last window"));
|
|
||||||
! return;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef FEAT_AUTOCMD
|
|
||||||
if (win->w_closing || (win->w_buffer != NULL && win->w_buffer->b_closing))
|
|
||||||
! return; /* window is already being closed */
|
|
||||||
if (win == aucmd_win)
|
|
||||||
{
|
|
||||||
EMSG(_("E813: Cannot close autocmd window"));
|
|
||||||
! return;
|
|
||||||
}
|
|
||||||
if ((firstwin == aucmd_win || lastwin == aucmd_win) && one_window())
|
|
||||||
{
|
|
||||||
EMSG(_("E814: Cannot close window, only autocmd window would remain"));
|
|
||||||
! return;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
--- 2191,2211 ----
|
|
||||||
if (last_window())
|
|
||||||
{
|
|
||||||
EMSG(_("E444: Cannot close last window"));
|
|
||||||
! return FAIL;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef FEAT_AUTOCMD
|
|
||||||
if (win->w_closing || (win->w_buffer != NULL && win->w_buffer->b_closing))
|
|
||||||
! return FAIL; /* window is already being closed */
|
|
||||||
if (win == aucmd_win)
|
|
||||||
{
|
|
||||||
EMSG(_("E813: Cannot close autocmd window"));
|
|
||||||
! return FAIL;
|
|
||||||
}
|
|
||||||
if ((firstwin == aucmd_win || lastwin == aucmd_win) && one_window())
|
|
||||||
{
|
|
||||||
EMSG(_("E814: Cannot close window, only autocmd window would remain"));
|
|
||||||
! return FAIL;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
***************
|
|
||||||
*** 2212,2218 ****
|
|
||||||
* and then close the window and the tab page to avoid that curwin and
|
|
||||||
* curtab are invalid while we are freeing memory. */
|
|
||||||
if (close_last_window_tabpage(win, free_buf, prev_curtab))
|
|
||||||
! return;
|
|
||||||
|
|
||||||
/* When closing the help window, try restoring a snapshot after closing
|
|
||||||
* the window. Otherwise clear the snapshot, it's now invalid. */
|
|
||||||
--- 2213,2219 ----
|
|
||||||
* and then close the window and the tab page to avoid that curwin and
|
|
||||||
* curtab are invalid while we are freeing memory. */
|
|
||||||
if (close_last_window_tabpage(win, free_buf, prev_curtab))
|
|
||||||
! return FAIL;
|
|
||||||
|
|
||||||
/* When closing the help window, try restoring a snapshot after closing
|
|
||||||
* the window. Otherwise clear the snapshot, it's now invalid. */
|
|
||||||
***************
|
|
||||||
*** 2240,2261 ****
|
|
||||||
win->w_closing = TRUE;
|
|
||||||
apply_autocmds(EVENT_BUFLEAVE, NULL, NULL, FALSE, curbuf);
|
|
||||||
if (!win_valid(win))
|
|
||||||
! return;
|
|
||||||
win->w_closing = FALSE;
|
|
||||||
if (last_window())
|
|
||||||
! return;
|
|
||||||
}
|
|
||||||
win->w_closing = TRUE;
|
|
||||||
apply_autocmds(EVENT_WINLEAVE, NULL, NULL, FALSE, curbuf);
|
|
||||||
if (!win_valid(win))
|
|
||||||
! return;
|
|
||||||
win->w_closing = FALSE;
|
|
||||||
if (last_window())
|
|
||||||
! return;
|
|
||||||
# ifdef FEAT_EVAL
|
|
||||||
/* autocmds may abort script processing */
|
|
||||||
if (aborting())
|
|
||||||
! return;
|
|
||||||
# endif
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
--- 2241,2262 ----
|
|
||||||
win->w_closing = TRUE;
|
|
||||||
apply_autocmds(EVENT_BUFLEAVE, NULL, NULL, FALSE, curbuf);
|
|
||||||
if (!win_valid(win))
|
|
||||||
! return FAIL;
|
|
||||||
win->w_closing = FALSE;
|
|
||||||
if (last_window())
|
|
||||||
! return FAIL;
|
|
||||||
}
|
|
||||||
win->w_closing = TRUE;
|
|
||||||
apply_autocmds(EVENT_WINLEAVE, NULL, NULL, FALSE, curbuf);
|
|
||||||
if (!win_valid(win))
|
|
||||||
! return FAIL;
|
|
||||||
win->w_closing = FALSE;
|
|
||||||
if (last_window())
|
|
||||||
! return FAIL;
|
|
||||||
# ifdef FEAT_EVAL
|
|
||||||
/* autocmds may abort script processing */
|
|
||||||
if (aborting())
|
|
||||||
! return FAIL;
|
|
||||||
# endif
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
***************
|
|
||||||
*** 2303,2309 ****
|
|
||||||
* other window or moved to another tab page. */
|
|
||||||
else if (!win_valid(win) || last_window() || curtab != prev_curtab
|
|
||||||
|| close_last_window_tabpage(win, free_buf, prev_curtab))
|
|
||||||
! return;
|
|
||||||
|
|
||||||
/* Free the memory used for the window and get the window that received
|
|
||||||
* the screen space. */
|
|
||||||
--- 2304,2310 ----
|
|
||||||
* other window or moved to another tab page. */
|
|
||||||
else if (!win_valid(win) || last_window() || curtab != prev_curtab
|
|
||||||
|| close_last_window_tabpage(win, free_buf, prev_curtab))
|
|
||||||
! return FAIL;
|
|
||||||
|
|
||||||
/* Free the memory used for the window and get the window that received
|
|
||||||
* the screen space. */
|
|
||||||
***************
|
|
||||||
*** 2383,2388 ****
|
|
||||||
--- 2384,2390 ----
|
|
||||||
#endif
|
|
||||||
|
|
||||||
redraw_all_later(NOT_VALID);
|
|
||||||
+ return OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
*** ../vim-7.4.003/src/proto/window.pro 2013-08-10 13:37:30.000000000 +0200
|
|
||||||
--- src/proto/window.pro 2013-08-14 16:52:50.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 9,15 ****
|
|
||||||
void win_equal __ARGS((win_T *next_curwin, int current, int dir));
|
|
||||||
void close_windows __ARGS((buf_T *buf, int keep_curwin));
|
|
||||||
int one_window __ARGS((void));
|
|
||||||
! void win_close __ARGS((win_T *win, int free_buf));
|
|
||||||
void win_close_othertab __ARGS((win_T *win, int free_buf, tabpage_T *tp));
|
|
||||||
void win_free_all __ARGS((void));
|
|
||||||
win_T *winframe_remove __ARGS((win_T *win, int *dirp, tabpage_T *tp));
|
|
||||||
--- 9,15 ----
|
|
||||||
void win_equal __ARGS((win_T *next_curwin, int current, int dir));
|
|
||||||
void close_windows __ARGS((buf_T *buf, int keep_curwin));
|
|
||||||
int one_window __ARGS((void));
|
|
||||||
! int win_close __ARGS((win_T *win, int free_buf));
|
|
||||||
void win_close_othertab __ARGS((win_T *win, int free_buf, tabpage_T *tp));
|
|
||||||
void win_free_all __ARGS((void));
|
|
||||||
win_T *winframe_remove __ARGS((win_T *win, int *dirp, tabpage_T *tp));
|
|
||||||
*** ../vim-7.4.003/src/buffer.c 2013-07-17 16:39:00.000000000 +0200
|
|
||||||
--- src/buffer.c 2013-08-14 16:54:34.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 1186,1192 ****
|
|
||||||
&& !(curwin->w_closing || curwin->w_buffer->b_closing)
|
|
||||||
# endif
|
|
||||||
&& (firstwin != lastwin || first_tabpage->tp_next != NULL))
|
|
||||||
! win_close(curwin, FALSE);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
--- 1186,1195 ----
|
|
||||||
&& !(curwin->w_closing || curwin->w_buffer->b_closing)
|
|
||||||
# endif
|
|
||||||
&& (firstwin != lastwin || first_tabpage->tp_next != NULL))
|
|
||||||
! {
|
|
||||||
! if (win_close(curwin, FALSE) == FAIL)
|
|
||||||
! break;
|
|
||||||
! }
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
*** ../vim-7.4.003/src/version.c 2013-08-14 14:18:37.000000000 +0200
|
|
||||||
--- src/version.c 2013-08-14 17:10:23.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 729,730 ****
|
|
||||||
--- 729,732 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 4,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
From "know your smileys":
|
|
||||||
*<|:-) Santa Claus (Ho Ho Ho)
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
48
7.4.005
48
7.4.005
@ -1,48 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.005
|
|
||||||
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.4.005
|
|
||||||
Problem: Using "vaB" while 'virtualedit' is set selects the wrong area.
|
|
||||||
(Dimitar Dimitrov)
|
|
||||||
Solution: Reset coladd when finding a match.
|
|
||||||
Files: src/search.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.004/src/search.c 2013-07-17 19:20:47.000000000 +0200
|
|
||||||
--- src/search.c 2013-08-14 17:32:38.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 1760,1765 ****
|
|
||||||
--- 1760,1768 ----
|
|
||||||
#endif
|
|
||||||
|
|
||||||
pos = curwin->w_cursor;
|
|
||||||
+ #ifdef FEAT_VIRTUALEDIT
|
|
||||||
+ pos.coladd = 0;
|
|
||||||
+ #endif
|
|
||||||
linep = ml_get(pos.lnum);
|
|
||||||
|
|
||||||
cpo_match = (vim_strchr(p_cpo, CPO_MATCH) != NULL);
|
|
||||||
*** ../vim-7.4.004/src/version.c 2013-08-14 17:11:14.000000000 +0200
|
|
||||||
--- src/version.c 2013-08-14 17:38:05.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 729,730 ****
|
|
||||||
--- 729,732 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 5,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
You can't have everything. Where would you put it?
|
|
||||||
-- Steven Wright
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
66
7.4.006
66
7.4.006
@ -1,66 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.006
|
|
||||||
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.4.006
|
|
||||||
Problem: mkdir("foo/bar/", "p") gives an error message. (David Barnett)
|
|
||||||
Solution: Remove the trailing slash. (lcd)
|
|
||||||
Files: src/eval.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.005/src/eval.c 2013-07-05 18:23:42.000000000 +0200
|
|
||||||
--- src/eval.c 2013-08-22 12:00:28.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 14292,14297 ****
|
|
||||||
--- 14292,14301 ----
|
|
||||||
return;
|
|
||||||
|
|
||||||
dir = get_tv_string_buf(&argvars[0], buf);
|
|
||||||
+ if (*gettail(dir) == NUL)
|
|
||||||
+ /* remove trailing slashes */
|
|
||||||
+ *gettail_sep(dir) = NUL;
|
|
||||||
+
|
|
||||||
if (argvars[1].v_type != VAR_UNKNOWN)
|
|
||||||
{
|
|
||||||
if (argvars[2].v_type != VAR_UNKNOWN)
|
|
||||||
***************
|
|
||||||
*** 14299,14305 ****
|
|
||||||
if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0)
|
|
||||||
mkdir_recurse(dir, prot);
|
|
||||||
}
|
|
||||||
! rettv->vval.v_number = prot != -1 ? vim_mkdir_emsg(dir, prot) : 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
--- 14303,14309 ----
|
|
||||||
if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0)
|
|
||||||
mkdir_recurse(dir, prot);
|
|
||||||
}
|
|
||||||
! rettv->vval.v_number = prot == -1 ? FAIL : vim_mkdir_emsg(dir, prot);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
*** ../vim-7.4.005/src/version.c 2013-08-14 17:45:25.000000000 +0200
|
|
||||||
--- src/version.c 2013-08-22 12:02:46.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 729,730 ****
|
|
||||||
--- 729,732 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 6,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
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/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
95
7.4.007
95
7.4.007
@ -1,95 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.007
|
|
||||||
Fcc: outbox
|
|
||||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
|
||||||
Mime-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
------------
|
|
||||||
|
|
||||||
Patch 7.4.007
|
|
||||||
Problem: Creating a preview window on startup leaves the screen layout in a
|
|
||||||
messed up state. (Marius Gedminas)
|
|
||||||
Solution: Don't change firstwin. (Christian Brabandt)
|
|
||||||
Files: src/main.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.006/src/main.c 2013-07-03 12:36:49.000000000 +0200
|
|
||||||
--- src/main.c 2013-08-22 14:02:39.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 2727,2732 ****
|
|
||||||
--- 2727,2733 ----
|
|
||||||
int arg_idx; /* index in argument list */
|
|
||||||
int i;
|
|
||||||
int advance = TRUE;
|
|
||||||
+ win_T *win;
|
|
||||||
|
|
||||||
# ifdef FEAT_AUTOCMD
|
|
||||||
/*
|
|
||||||
***************
|
|
||||||
*** 2816,2839 ****
|
|
||||||
# ifdef FEAT_AUTOCMD
|
|
||||||
--autocmd_no_enter;
|
|
||||||
# endif
|
|
||||||
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
|
|
||||||
! /*
|
|
||||||
! * Avoid making a preview window the current window.
|
|
||||||
! */
|
|
||||||
! if (firstwin->w_p_pvw)
|
|
||||||
{
|
|
||||||
! win_T *win;
|
|
||||||
!
|
|
||||||
! for (win = firstwin; win != NULL; win = win->w_next)
|
|
||||||
! if (!win->w_p_pvw)
|
|
||||||
! {
|
|
||||||
! firstwin = win;
|
|
||||||
! break;
|
|
||||||
! }
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
! /* make the first window the current window */
|
|
||||||
! win_enter(firstwin, FALSE);
|
|
||||||
|
|
||||||
# ifdef FEAT_AUTOCMD
|
|
||||||
--autocmd_no_leave;
|
|
||||||
--- 2817,2838 ----
|
|
||||||
# ifdef FEAT_AUTOCMD
|
|
||||||
--autocmd_no_enter;
|
|
||||||
# endif
|
|
||||||
+
|
|
||||||
+ /* make the first window the current window */
|
|
||||||
+ win = firstwin;
|
|
||||||
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
|
|
||||||
! /* Avoid making a preview window the current window. */
|
|
||||||
! while (win->w_p_pvw)
|
|
||||||
{
|
|
||||||
! win = win->w_next;
|
|
||||||
! if (win == NULL)
|
|
||||||
! {
|
|
||||||
! win = firstwin;
|
|
||||||
! break;
|
|
||||||
! }
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
! win_enter(win, FALSE);
|
|
||||||
|
|
||||||
# ifdef FEAT_AUTOCMD
|
|
||||||
--autocmd_no_leave;
|
|
||||||
*** ../vim-7.4.006/src/version.c 2013-08-22 12:06:50.000000000 +0200
|
|
||||||
--- src/version.c 2013-08-22 14:04:11.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 729,730 ****
|
|
||||||
--- 729,732 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 7,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
hundred-and-one symptoms of being an internet addict:
|
|
||||||
105. When someone asks you for your address, you tell them your URL.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
71
7.4.008
71
7.4.008
@ -1,71 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.008
|
|
||||||
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.4.008
|
|
||||||
Problem: New regexp engine can't be interrupted.
|
|
||||||
Solution: Check for CTRL-C pressed. (Yasuhiro Matsumoto)
|
|
||||||
Files: src/regexp_nfa.c, src/regexp.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.007/src/regexp_nfa.c 2013-08-14 14:18:37.000000000 +0200
|
|
||||||
--- src/regexp_nfa.c 2013-08-25 16:55:56.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 5089,5094 ****
|
|
||||||
--- 5089,5100 ----
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
+ /* Some patterns may take a long time to match, especially when using
|
|
||||||
+ * recursive_regmatch(). Allow interrupting them with CTRL-C. */
|
|
||||||
+ fast_breakcheck();
|
|
||||||
+ if (got_int)
|
|
||||||
+ return FALSE;
|
|
||||||
+
|
|
||||||
nfa_match = FALSE;
|
|
||||||
|
|
||||||
/* Allocate memory for the lists of nodes. */
|
|
||||||
*** ../vim-7.4.007/src/regexp.c 2013-08-01 18:31:30.000000000 +0200
|
|
||||||
--- src/regexp.c 2013-08-25 16:57:35.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 4311,4318 ****
|
|
||||||
*/
|
|
||||||
for (;;)
|
|
||||||
{
|
|
||||||
! /* Some patterns may cause a long time to match, even though they are not
|
|
||||||
! * illegal. E.g., "\([a-z]\+\)\+Q". Allow breaking them with CTRL-C. */
|
|
||||||
fast_breakcheck();
|
|
||||||
|
|
||||||
#ifdef DEBUG
|
|
||||||
--- 4311,4318 ----
|
|
||||||
*/
|
|
||||||
for (;;)
|
|
||||||
{
|
|
||||||
! /* Some patterns may take a long time to match, e.g., "\([a-z]\+\)\+Q".
|
|
||||||
! * Allow interrupting them with CTRL-C. */
|
|
||||||
fast_breakcheck();
|
|
||||||
|
|
||||||
#ifdef DEBUG
|
|
||||||
*** ../vim-7.4.007/src/version.c 2013-08-22 14:14:23.000000000 +0200
|
|
||||||
--- src/version.c 2013-08-25 16:57:51.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 729,730 ****
|
|
||||||
--- 729,732 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 8,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
hundred-and-one symptoms of being an internet addict:
|
|
||||||
124. You begin conversations with, "Who is your internet service provider?"
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
64
7.4.009
64
7.4.009
@ -1,64 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.009
|
|
||||||
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.4.009
|
|
||||||
Problem: When a file was not decrypted (yet), writing it may destroy the
|
|
||||||
contents.
|
|
||||||
Solution: Mark the file as readonly until decryption was done. (Christian
|
|
||||||
Brabandt)
|
|
||||||
Files: src/fileio.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.008/src/fileio.c 2013-08-05 21:58:03.000000000 +0200
|
|
||||||
--- src/fileio.c 2013-08-25 17:45:27.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 2926,2934 ****
|
|
||||||
--- 2926,2939 ----
|
|
||||||
int *did_ask; /* flag: whether already asked for key */
|
|
||||||
{
|
|
||||||
int method = crypt_method_from_magic((char *)ptr, *sizep);
|
|
||||||
+ int b_p_ro = curbuf->b_p_ro;
|
|
||||||
|
|
||||||
if (method >= 0)
|
|
||||||
{
|
|
||||||
+ /* Mark the buffer as read-only until the decryption has taken place.
|
|
||||||
+ * Avoids accidentally overwriting the file with garbage. */
|
|
||||||
+ curbuf->b_p_ro = TRUE;
|
|
||||||
+
|
|
||||||
set_crypt_method(curbuf, method);
|
|
||||||
if (method > 0)
|
|
||||||
(void)blowfish_self_test();
|
|
||||||
***************
|
|
||||||
*** 2977,2982 ****
|
|
||||||
--- 2982,2989 ----
|
|
||||||
*sizep -= CRYPT_MAGIC_LEN + salt_len + seed_len;
|
|
||||||
mch_memmove(ptr, ptr + CRYPT_MAGIC_LEN + salt_len + seed_len,
|
|
||||||
(size_t)*sizep);
|
|
||||||
+ /* Restore the read-only flag. */
|
|
||||||
+ curbuf->b_p_ro = b_p_ro;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* When starting to edit a new file which does not have encryption, clear
|
|
||||||
*** ../vim-7.4.008/src/version.c 2013-08-25 17:01:36.000000000 +0200
|
|
||||||
--- src/version.c 2013-08-25 17:44:30.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 729,730 ****
|
|
||||||
--- 729,732 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 9,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
I have a watch cat! Just break in and she'll watch.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
79
7.4.010
79
7.4.010
@ -1,79 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.010
|
|
||||||
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.4.010 (after 7.4.006)
|
|
||||||
Problem: Crash with invalid argument to mkdir().
|
|
||||||
Solution: Check for empty string. (lcd47)
|
|
||||||
Files: src/eval.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.009/src/eval.c 2013-08-22 12:06:50.000000000 +0200
|
|
||||||
--- src/eval.c 2013-08-30 15:47:47.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 14292,14309 ****
|
|
||||||
return;
|
|
||||||
|
|
||||||
dir = get_tv_string_buf(&argvars[0], buf);
|
|
||||||
! if (*gettail(dir) == NUL)
|
|
||||||
! /* remove trailing slashes */
|
|
||||||
! *gettail_sep(dir) = NUL;
|
|
||||||
!
|
|
||||||
! if (argvars[1].v_type != VAR_UNKNOWN)
|
|
||||||
{
|
|
||||||
! if (argvars[2].v_type != VAR_UNKNOWN)
|
|
||||||
! prot = get_tv_number_chk(&argvars[2], NULL);
|
|
||||||
! if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0)
|
|
||||||
! mkdir_recurse(dir, prot);
|
|
||||||
}
|
|
||||||
- rettv->vval.v_number = prot == -1 ? FAIL : vim_mkdir_emsg(dir, prot);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
--- 14292,14314 ----
|
|
||||||
return;
|
|
||||||
|
|
||||||
dir = get_tv_string_buf(&argvars[0], buf);
|
|
||||||
! if (*dir == NUL)
|
|
||||||
! rettv->vval.v_number = FAIL;
|
|
||||||
! else
|
|
||||||
{
|
|
||||||
! if (*gettail(dir) == NUL)
|
|
||||||
! /* remove trailing slashes */
|
|
||||||
! *gettail_sep(dir) = NUL;
|
|
||||||
!
|
|
||||||
! if (argvars[1].v_type != VAR_UNKNOWN)
|
|
||||||
! {
|
|
||||||
! if (argvars[2].v_type != VAR_UNKNOWN)
|
|
||||||
! prot = get_tv_number_chk(&argvars[2], NULL);
|
|
||||||
! if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0)
|
|
||||||
! mkdir_recurse(dir, prot);
|
|
||||||
! }
|
|
||||||
! rettv->vval.v_number = prot == -1 ? FAIL : vim_mkdir_emsg(dir, prot);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
*** ../vim-7.4.009/src/version.c 2013-08-25 17:46:05.000000000 +0200
|
|
||||||
--- src/version.c 2013-08-30 15:48:37.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 729,730 ****
|
|
||||||
--- 729,732 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 10,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
I wish there was a knob on the TV to turn up the intelligence.
|
|
||||||
There's a knob called "brightness", but it doesn't seem to work.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
100
7.4.011
100
7.4.011
@ -1,100 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.011
|
|
||||||
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.4.011
|
|
||||||
Problem: Cannot find out if "acl" and "xpm" features are supported.
|
|
||||||
Solution: Add "acl" and "xpm" to the list of features. (Ken Takata)
|
|
||||||
Files: src/eval.c, src/version.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.010/src/eval.c 2013-08-30 16:00:04.000000000 +0200
|
|
||||||
--- src/eval.c 2013-08-30 16:34:12.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 12135,12140 ****
|
|
||||||
--- 12135,12143 ----
|
|
||||||
#ifndef CASE_INSENSITIVE_FILENAME
|
|
||||||
"fname_case",
|
|
||||||
#endif
|
|
||||||
+ #ifdef HAVE_ACL
|
|
||||||
+ "acl",
|
|
||||||
+ #endif
|
|
||||||
#ifdef FEAT_ARABIC
|
|
||||||
"arabic",
|
|
||||||
#endif
|
|
||||||
***************
|
|
||||||
*** 12538,12544 ****
|
|
||||||
"xfontset",
|
|
||||||
#endif
|
|
||||||
#ifdef FEAT_XPM_W32
|
|
||||||
! "xpm_w32",
|
|
||||||
#endif
|
|
||||||
#ifdef USE_XSMP
|
|
||||||
"xsmp",
|
|
||||||
--- 12541,12552 ----
|
|
||||||
"xfontset",
|
|
||||||
#endif
|
|
||||||
#ifdef FEAT_XPM_W32
|
|
||||||
! "xpm",
|
|
||||||
! "xpm_w32", /* for backward compatibility */
|
|
||||||
! #else
|
|
||||||
! # if defined(HAVE_XPM)
|
|
||||||
! "xpm",
|
|
||||||
! # endif
|
|
||||||
#endif
|
|
||||||
#ifdef USE_XSMP
|
|
||||||
"xsmp",
|
|
||||||
*** ../vim-7.4.010/src/version.c 2013-08-30 16:00:04.000000000 +0200
|
|
||||||
--- src/version.c 2013-08-30 16:34:37.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 60,65 ****
|
|
||||||
--- 60,70 ----
|
|
||||||
|
|
||||||
static char *(features[]) =
|
|
||||||
{
|
|
||||||
+ #ifdef HAVE_ACL
|
|
||||||
+ "+acl",
|
|
||||||
+ #else
|
|
||||||
+ "-acl",
|
|
||||||
+ #endif
|
|
||||||
#ifdef AMIGA /* only for Amiga systems */
|
|
||||||
# ifdef FEAT_ARP
|
|
||||||
"+ARP",
|
|
||||||
***************
|
|
||||||
*** 721,726 ****
|
|
||||||
--- 726,737 ----
|
|
||||||
# else
|
|
||||||
"-xpm_w32",
|
|
||||||
# endif
|
|
||||||
+ #else
|
|
||||||
+ # ifdef HAVE_XPM
|
|
||||||
+ "+xpm",
|
|
||||||
+ # else
|
|
||||||
+ "-xpm",
|
|
||||||
+ # endif
|
|
||||||
#endif
|
|
||||||
NULL
|
|
||||||
};
|
|
||||||
*** ../vim-7.4.010/src/version.c 2013-08-30 16:00:04.000000000 +0200
|
|
||||||
--- src/version.c 2013-08-30 16:34:37.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 729,730 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 11,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
hundred-and-one symptoms of being an internet addict:
|
|
||||||
141. You'd rather go to http://www.weather.com/ than look out your window.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
202
7.4.012
202
7.4.012
@ -1,202 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.012
|
|
||||||
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.4.012
|
|
||||||
Problem: MS-Windows: resolving shortcut does not work properly with
|
|
||||||
multi-byte characters.
|
|
||||||
Solution: Use wide system functions. (Ken Takata)
|
|
||||||
Files: src/os_mswin.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.011/src/os_mswin.c 2013-06-16 16:41:11.000000000 +0200
|
|
||||||
--- src/os_mswin.c 2013-08-30 16:43:23.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 1761,1769 ****
|
|
||||||
IPersistFile *ppf = NULL;
|
|
||||||
OLECHAR wsz[MAX_PATH];
|
|
||||||
WIN32_FIND_DATA ffd; // we get those free of charge
|
|
||||||
! TCHAR buf[MAX_PATH]; // could have simply reused 'wsz'...
|
|
||||||
char_u *rfname = NULL;
|
|
||||||
int len;
|
|
||||||
|
|
||||||
/* Check if the file name ends in ".lnk". Avoid calling
|
|
||||||
* CoCreateInstance(), it's quite slow. */
|
|
||||||
--- 1761,1773 ----
|
|
||||||
IPersistFile *ppf = NULL;
|
|
||||||
OLECHAR wsz[MAX_PATH];
|
|
||||||
WIN32_FIND_DATA ffd; // we get those free of charge
|
|
||||||
! CHAR buf[MAX_PATH]; // could have simply reused 'wsz'...
|
|
||||||
char_u *rfname = NULL;
|
|
||||||
int len;
|
|
||||||
+ # ifdef FEAT_MBYTE
|
|
||||||
+ IShellLinkW *pslw = NULL;
|
|
||||||
+ WIN32_FIND_DATAW ffdw; // we get those free of charge
|
|
||||||
+ # endif
|
|
||||||
|
|
||||||
/* Check if the file name ends in ".lnk". Avoid calling
|
|
||||||
* CoCreateInstance(), it's quite slow. */
|
|
||||||
***************
|
|
||||||
*** 1775,1792 ****
|
|
||||||
|
|
||||||
CoInitialize(NULL);
|
|
||||||
|
|
||||||
// create a link manager object and request its interface
|
|
||||||
hr = CoCreateInstance(
|
|
||||||
&CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
|
|
||||||
&IID_IShellLink, (void**)&psl);
|
|
||||||
if (hr != S_OK)
|
|
||||||
! goto shortcut_error;
|
|
||||||
|
|
||||||
// Get a pointer to the IPersistFile interface.
|
|
||||||
hr = psl->lpVtbl->QueryInterface(
|
|
||||||
psl, &IID_IPersistFile, (void**)&ppf);
|
|
||||||
if (hr != S_OK)
|
|
||||||
! goto shortcut_error;
|
|
||||||
|
|
||||||
// full path string must be in Unicode.
|
|
||||||
MultiByteToWideChar(CP_ACP, 0, fname, -1, wsz, MAX_PATH);
|
|
||||||
--- 1779,1840 ----
|
|
||||||
|
|
||||||
CoInitialize(NULL);
|
|
||||||
|
|
||||||
+ # ifdef FEAT_MBYTE
|
|
||||||
+ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
|
|
||||||
+ {
|
|
||||||
+ // create a link manager object and request its interface
|
|
||||||
+ hr = CoCreateInstance(
|
|
||||||
+ &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
|
|
||||||
+ &IID_IShellLinkW, (void**)&pslw);
|
|
||||||
+ if (hr == S_OK)
|
|
||||||
+ {
|
|
||||||
+ WCHAR *p = enc_to_utf16(fname, NULL);
|
|
||||||
+
|
|
||||||
+ if (p != NULL)
|
|
||||||
+ {
|
|
||||||
+ // Get a pointer to the IPersistFile interface.
|
|
||||||
+ hr = pslw->lpVtbl->QueryInterface(
|
|
||||||
+ pslw, &IID_IPersistFile, (void**)&ppf);
|
|
||||||
+ if (hr != S_OK)
|
|
||||||
+ goto shortcut_errorw;
|
|
||||||
+
|
|
||||||
+ // "load" the name and resolve the link
|
|
||||||
+ hr = ppf->lpVtbl->Load(ppf, p, STGM_READ);
|
|
||||||
+ if (hr != S_OK)
|
|
||||||
+ goto shortcut_errorw;
|
|
||||||
+ # if 0 // This makes Vim wait a long time if the target does not exist.
|
|
||||||
+ hr = pslw->lpVtbl->Resolve(pslw, NULL, SLR_NO_UI);
|
|
||||||
+ if (hr != S_OK)
|
|
||||||
+ goto shortcut_errorw;
|
|
||||||
+ # endif
|
|
||||||
+
|
|
||||||
+ // Get the path to the link target.
|
|
||||||
+ ZeroMemory(wsz, MAX_PATH * sizeof(WCHAR));
|
|
||||||
+ hr = pslw->lpVtbl->GetPath(pslw, wsz, MAX_PATH, &ffdw, 0);
|
|
||||||
+ if (hr == S_OK && wsz[0] != NUL)
|
|
||||||
+ rfname = utf16_to_enc(wsz, NULL);
|
|
||||||
+
|
|
||||||
+ shortcut_errorw:
|
|
||||||
+ vim_free(p);
|
|
||||||
+ if (hr == S_OK)
|
|
||||||
+ goto shortcut_end;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ /* Retry with non-wide function (for Windows 98). */
|
|
||||||
+ }
|
|
||||||
+ # endif
|
|
||||||
// create a link manager object and request its interface
|
|
||||||
hr = CoCreateInstance(
|
|
||||||
&CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
|
|
||||||
&IID_IShellLink, (void**)&psl);
|
|
||||||
if (hr != S_OK)
|
|
||||||
! goto shortcut_end;
|
|
||||||
|
|
||||||
// Get a pointer to the IPersistFile interface.
|
|
||||||
hr = psl->lpVtbl->QueryInterface(
|
|
||||||
psl, &IID_IPersistFile, (void**)&ppf);
|
|
||||||
if (hr != S_OK)
|
|
||||||
! goto shortcut_end;
|
|
||||||
|
|
||||||
// full path string must be in Unicode.
|
|
||||||
MultiByteToWideChar(CP_ACP, 0, fname, -1, wsz, MAX_PATH);
|
|
||||||
***************
|
|
||||||
*** 1794,1805 ****
|
|
||||||
// "load" the name and resolve the link
|
|
||||||
hr = ppf->lpVtbl->Load(ppf, wsz, STGM_READ);
|
|
||||||
if (hr != S_OK)
|
|
||||||
! goto shortcut_error;
|
|
||||||
! #if 0 // This makes Vim wait a long time if the target doesn't exist.
|
|
||||||
hr = psl->lpVtbl->Resolve(psl, NULL, SLR_NO_UI);
|
|
||||||
if (hr != S_OK)
|
|
||||||
! goto shortcut_error;
|
|
||||||
! #endif
|
|
||||||
|
|
||||||
// Get the path to the link target.
|
|
||||||
ZeroMemory(buf, MAX_PATH);
|
|
||||||
--- 1842,1853 ----
|
|
||||||
// "load" the name and resolve the link
|
|
||||||
hr = ppf->lpVtbl->Load(ppf, wsz, STGM_READ);
|
|
||||||
if (hr != S_OK)
|
|
||||||
! goto shortcut_end;
|
|
||||||
! # if 0 // This makes Vim wait a long time if the target doesn't exist.
|
|
||||||
hr = psl->lpVtbl->Resolve(psl, NULL, SLR_NO_UI);
|
|
||||||
if (hr != S_OK)
|
|
||||||
! goto shortcut_end;
|
|
||||||
! # endif
|
|
||||||
|
|
||||||
// Get the path to the link target.
|
|
||||||
ZeroMemory(buf, MAX_PATH);
|
|
||||||
***************
|
|
||||||
*** 1807,1818 ****
|
|
||||||
if (hr == S_OK && buf[0] != NUL)
|
|
||||||
rfname = vim_strsave(buf);
|
|
||||||
|
|
||||||
! shortcut_error:
|
|
||||||
// Release all interface pointers (both belong to the same object)
|
|
||||||
if (ppf != NULL)
|
|
||||||
ppf->lpVtbl->Release(ppf);
|
|
||||||
if (psl != NULL)
|
|
||||||
psl->lpVtbl->Release(psl);
|
|
||||||
|
|
||||||
CoUninitialize();
|
|
||||||
return rfname;
|
|
||||||
--- 1855,1870 ----
|
|
||||||
if (hr == S_OK && buf[0] != NUL)
|
|
||||||
rfname = vim_strsave(buf);
|
|
||||||
|
|
||||||
! shortcut_end:
|
|
||||||
// Release all interface pointers (both belong to the same object)
|
|
||||||
if (ppf != NULL)
|
|
||||||
ppf->lpVtbl->Release(ppf);
|
|
||||||
if (psl != NULL)
|
|
||||||
psl->lpVtbl->Release(psl);
|
|
||||||
+ # ifdef FEAT_MBYTE
|
|
||||||
+ if (pslw != NULL)
|
|
||||||
+ pslw->lpVtbl->Release(pslw);
|
|
||||||
+ # endif
|
|
||||||
|
|
||||||
CoUninitialize();
|
|
||||||
return rfname;
|
|
||||||
*** ../vim-7.4.011/src/version.c 2013-08-30 16:35:41.000000000 +0200
|
|
||||||
--- src/version.c 2013-08-30 16:39:40.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 12,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
hundred-and-one symptoms of being an internet addict:
|
|
||||||
142. You dream about creating the world's greatest web site.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
99
7.4.013
99
7.4.013
@ -1,99 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.013
|
|
||||||
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.4.013
|
|
||||||
Problem: File name buffer too small for utf-8.
|
|
||||||
Solution: Use character count instead of byte count. (Ken Takata)
|
|
||||||
Files: src/os_mswin.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.012/src/os_mswin.c 2013-08-30 16:44:15.000000000 +0200
|
|
||||||
--- src/os_mswin.c 2013-08-30 16:47:54.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 456,462 ****
|
|
||||||
--- 456,469 ----
|
|
||||||
int
|
|
||||||
mch_isFullName(char_u *fname)
|
|
||||||
{
|
|
||||||
+ #ifdef FEAT_MBYTE
|
|
||||||
+ /* WinNT and later can use _MAX_PATH wide characters for a pathname, which
|
|
||||||
+ * means that the maximum pathname is _MAX_PATH * 3 bytes when 'enc' is
|
|
||||||
+ * UTF-8. */
|
|
||||||
+ char szName[_MAX_PATH * 3 + 1];
|
|
||||||
+ #else
|
|
||||||
char szName[_MAX_PATH + 1];
|
|
||||||
+ #endif
|
|
||||||
|
|
||||||
/* A name like "d:/foo" and "//server/share" is absolute */
|
|
||||||
if ((fname[0] && fname[1] == ':' && (fname[2] == '/' || fname[2] == '\\'))
|
|
||||||
***************
|
|
||||||
*** 464,470 ****
|
|
||||||
return TRUE;
|
|
||||||
|
|
||||||
/* A name that can't be made absolute probably isn't absolute. */
|
|
||||||
! if (mch_FullName(fname, szName, _MAX_PATH, FALSE) == FAIL)
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
return pathcmp(fname, szName, -1) == 0;
|
|
||||||
--- 471,477 ----
|
|
||||||
return TRUE;
|
|
||||||
|
|
||||||
/* A name that can't be made absolute probably isn't absolute. */
|
|
||||||
! if (mch_FullName(fname, szName, sizeof(szName) - 1, FALSE) == FAIL)
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
return pathcmp(fname, szName, -1) == 0;
|
|
||||||
***************
|
|
||||||
*** 498,507 ****
|
|
||||||
int
|
|
||||||
vim_stat(const char *name, struct stat *stp)
|
|
||||||
{
|
|
||||||
char buf[_MAX_PATH + 1];
|
|
||||||
char *p;
|
|
||||||
|
|
||||||
! vim_strncpy((char_u *)buf, (char_u *)name, _MAX_PATH);
|
|
||||||
p = buf + strlen(buf);
|
|
||||||
if (p > buf)
|
|
||||||
mb_ptr_back(buf, p);
|
|
||||||
--- 505,521 ----
|
|
||||||
int
|
|
||||||
vim_stat(const char *name, struct stat *stp)
|
|
||||||
{
|
|
||||||
+ #ifdef FEAT_MBYTE
|
|
||||||
+ /* WinNT and later can use _MAX_PATH wide characters for a pathname, which
|
|
||||||
+ * means that the maximum pathname is _MAX_PATH * 3 bytes when 'enc' is
|
|
||||||
+ * UTF-8. */
|
|
||||||
+ char buf[_MAX_PATH * 3 + 1];
|
|
||||||
+ #else
|
|
||||||
char buf[_MAX_PATH + 1];
|
|
||||||
+ #endif
|
|
||||||
char *p;
|
|
||||||
|
|
||||||
! vim_strncpy((char_u *)buf, (char_u *)name, sizeof(buf) - 1);
|
|
||||||
p = buf + strlen(buf);
|
|
||||||
if (p > buf)
|
|
||||||
mb_ptr_back(buf, p);
|
|
||||||
*** ../vim-7.4.012/src/version.c 2013-08-30 16:44:15.000000000 +0200
|
|
||||||
--- src/version.c 2013-08-30 16:47:36.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 13,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
hundred-and-one symptoms of being an internet addict:
|
|
||||||
143. You dream in pallettes of 216 websafe colors.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
102
7.4.014
102
7.4.014
@ -1,102 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.014
|
|
||||||
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.4.014
|
|
||||||
Problem: MS-Windows: check for writing to device does not work.
|
|
||||||
Solution: Fix #ifdefs. (Ken Takata)
|
|
||||||
Files: src/fileio.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.013/src/fileio.c 2013-08-25 17:46:05.000000000 +0200
|
|
||||||
--- src/fileio.c 2013-08-30 16:56:46.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 428,440 ****
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- #ifdef UNIX
|
|
||||||
- /*
|
|
||||||
- * On Unix it is possible to read a directory, so we have to
|
|
||||||
- * check for it before the mch_open().
|
|
||||||
- */
|
|
||||||
if (!read_stdin && !read_buffer)
|
|
||||||
{
|
|
||||||
perm = mch_getperm(fname);
|
|
||||||
if (perm >= 0 && !S_ISREG(perm) /* not a regular file ... */
|
|
||||||
# ifdef S_ISFIFO
|
|
||||||
--- 428,440 ----
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!read_stdin && !read_buffer)
|
|
||||||
{
|
|
||||||
+ #ifdef UNIX
|
|
||||||
+ /*
|
|
||||||
+ * On Unix it is possible to read a directory, so we have to
|
|
||||||
+ * check for it before the mch_open().
|
|
||||||
+ */
|
|
||||||
perm = mch_getperm(fname);
|
|
||||||
if (perm >= 0 && !S_ISREG(perm) /* not a regular file ... */
|
|
||||||
# ifdef S_ISFIFO
|
|
||||||
***************
|
|
||||||
*** 457,464 ****
|
|
||||||
msg_scroll = msg_save;
|
|
||||||
return FAIL;
|
|
||||||
}
|
|
||||||
!
|
|
||||||
! # if defined(MSDOS) || defined(MSWIN) || defined(OS2)
|
|
||||||
/*
|
|
||||||
* MS-Windows allows opening a device, but we will probably get stuck
|
|
||||||
* trying to read it.
|
|
||||||
--- 457,464 ----
|
|
||||||
msg_scroll = msg_save;
|
|
||||||
return FAIL;
|
|
||||||
}
|
|
||||||
! #endif
|
|
||||||
! #if defined(MSDOS) || defined(MSWIN) || defined(OS2)
|
|
||||||
/*
|
|
||||||
* MS-Windows allows opening a device, but we will probably get stuck
|
|
||||||
* trying to read it.
|
|
||||||
***************
|
|
||||||
*** 470,478 ****
|
|
||||||
msg_scroll = msg_save;
|
|
||||||
return FAIL;
|
|
||||||
}
|
|
||||||
- # endif
|
|
||||||
- }
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Set default or forced 'fileformat' and 'binary'. */
|
|
||||||
set_file_options(set_options, eap);
|
|
||||||
--- 470,477 ----
|
|
||||||
msg_scroll = msg_save;
|
|
||||||
return FAIL;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
+ }
|
|
||||||
|
|
||||||
/* Set default or forced 'fileformat' and 'binary'. */
|
|
||||||
set_file_options(set_options, eap);
|
|
||||||
*** ../vim-7.4.013/src/version.c 2013-08-30 16:51:15.000000000 +0200
|
|
||||||
--- src/version.c 2013-08-30 16:54:33.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 14,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
Drink wet cement and get really stoned.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
106
7.4.015
106
7.4.015
@ -1,106 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.015
|
|
||||||
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.4.015
|
|
||||||
Problem: MS-Windows: Detecting node type does not work for multi-byte
|
|
||||||
characters.
|
|
||||||
Solution: Use wide character function when needed. (Ken Takata)
|
|
||||||
Files: src/os_win32.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.014/src/os_win32.c 2013-08-10 12:39:12.000000000 +0200
|
|
||||||
--- src/os_win32.c 2013-08-30 17:09:47.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 3107,3112 ****
|
|
||||||
--- 3107,3115 ----
|
|
||||||
{
|
|
||||||
HANDLE hFile;
|
|
||||||
int type;
|
|
||||||
+ #ifdef FEAT_MBYTE
|
|
||||||
+ WCHAR *wn = NULL;
|
|
||||||
+ #endif
|
|
||||||
|
|
||||||
/* We can't open a file with a name "\\.\con" or "\\.\prn" and trying to
|
|
||||||
* read from it later will cause Vim to hang. Thus return NODE_WRITABLE
|
|
||||||
***************
|
|
||||||
*** 3114,3127 ****
|
|
||||||
if (STRNCMP(name, "\\\\.\\", 4) == 0)
|
|
||||||
return NODE_WRITABLE;
|
|
||||||
|
|
||||||
! hFile = CreateFile(name, /* file name */
|
|
||||||
! GENERIC_WRITE, /* access mode */
|
|
||||||
! 0, /* share mode */
|
|
||||||
! NULL, /* security descriptor */
|
|
||||||
! OPEN_EXISTING, /* creation disposition */
|
|
||||||
! 0, /* file attributes */
|
|
||||||
! NULL); /* handle to template file */
|
|
||||||
|
|
||||||
if (hFile == INVALID_HANDLE_VALUE)
|
|
||||||
return NODE_NORMAL;
|
|
||||||
|
|
||||||
--- 3117,3157 ----
|
|
||||||
if (STRNCMP(name, "\\\\.\\", 4) == 0)
|
|
||||||
return NODE_WRITABLE;
|
|
||||||
|
|
||||||
! #ifdef FEAT_MBYTE
|
|
||||||
! if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
|
|
||||||
! {
|
|
||||||
! wn = enc_to_utf16(name, NULL);
|
|
||||||
! if (wn != NULL)
|
|
||||||
! {
|
|
||||||
! hFile = CreateFileW(wn, /* file name */
|
|
||||||
! GENERIC_WRITE, /* access mode */
|
|
||||||
! 0, /* share mode */
|
|
||||||
! NULL, /* security descriptor */
|
|
||||||
! OPEN_EXISTING, /* creation disposition */
|
|
||||||
! 0, /* file attributes */
|
|
||||||
! NULL); /* handle to template file */
|
|
||||||
! if (hFile == INVALID_HANDLE_VALUE
|
|
||||||
! && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
|
|
||||||
! {
|
|
||||||
! /* Retry with non-wide function (for Windows 98). */
|
|
||||||
! vim_free(wn);
|
|
||||||
! wn = NULL;
|
|
||||||
! }
|
|
||||||
! }
|
|
||||||
! }
|
|
||||||
! if (wn == NULL)
|
|
||||||
! #endif
|
|
||||||
! hFile = CreateFile(name, /* file name */
|
|
||||||
! GENERIC_WRITE, /* access mode */
|
|
||||||
! 0, /* share mode */
|
|
||||||
! NULL, /* security descriptor */
|
|
||||||
! OPEN_EXISTING, /* creation disposition */
|
|
||||||
! 0, /* file attributes */
|
|
||||||
! NULL); /* handle to template file */
|
|
||||||
|
|
||||||
+ #ifdef FEAT_MBYTE
|
|
||||||
+ vim_free(wn);
|
|
||||||
+ #endif
|
|
||||||
if (hFile == INVALID_HANDLE_VALUE)
|
|
||||||
return NODE_NORMAL;
|
|
||||||
|
|
||||||
*** ../vim-7.4.014/src/version.c 2013-08-30 17:06:56.000000000 +0200
|
|
||||||
--- src/version.c 2013-08-30 17:09:35.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 15,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
hundred-and-one symptoms of being an internet addict:
|
|
||||||
144. You eagerly await the update of the "Cool Site of the Day."
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
221
7.4.016
221
7.4.016
@ -1,221 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.016
|
|
||||||
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.4.016
|
|
||||||
Problem: MS-Windows: File name completion doesn't work properly with
|
|
||||||
Chinese characters. (Yue Wu)
|
|
||||||
Solution: Add fname_casew(). (Ken Takata)
|
|
||||||
Files: src/os_win32.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.015/src/os_win32.c 2013-08-30 17:11:29.000000000 +0200
|
|
||||||
--- src/os_win32.c 2013-08-30 17:28:30.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 2500,2508 ****
|
|
||||||
--- 2500,2624 ----
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
+ #ifdef FEAT_MBYTE
|
|
||||||
+ /*
|
|
||||||
+ * fname_casew(): Wide version of fname_case(). Set the case of the file name,
|
|
||||||
+ * if it already exists. When "len" is > 0, also expand short to long
|
|
||||||
+ * filenames.
|
|
||||||
+ * Return FAIL if wide functions are not available, OK otherwise.
|
|
||||||
+ * NOTE: much of this is identical to fname_case(), keep in sync!
|
|
||||||
+ */
|
|
||||||
+ static int
|
|
||||||
+ fname_casew(
|
|
||||||
+ WCHAR *name,
|
|
||||||
+ int len)
|
|
||||||
+ {
|
|
||||||
+ WCHAR szTrueName[_MAX_PATH + 2];
|
|
||||||
+ WCHAR szTrueNameTemp[_MAX_PATH + 2];
|
|
||||||
+ WCHAR *ptrue, *ptruePrev;
|
|
||||||
+ WCHAR *porig, *porigPrev;
|
|
||||||
+ int flen;
|
|
||||||
+ WIN32_FIND_DATAW fb;
|
|
||||||
+ HANDLE hFind;
|
|
||||||
+ int c;
|
|
||||||
+ int slen;
|
|
||||||
+
|
|
||||||
+ flen = (int)wcslen(name);
|
|
||||||
+ if (flen > _MAX_PATH)
|
|
||||||
+ return OK;
|
|
||||||
+
|
|
||||||
+ /* slash_adjust(name) not needed, already adjusted by fname_case(). */
|
|
||||||
+
|
|
||||||
+ /* Build the new name in szTrueName[] one component at a time. */
|
|
||||||
+ porig = name;
|
|
||||||
+ ptrue = szTrueName;
|
|
||||||
+
|
|
||||||
+ if (iswalpha(porig[0]) && porig[1] == L':')
|
|
||||||
+ {
|
|
||||||
+ /* copy leading drive letter */
|
|
||||||
+ *ptrue++ = *porig++;
|
|
||||||
+ *ptrue++ = *porig++;
|
|
||||||
+ *ptrue = NUL; /* in case nothing follows */
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ while (*porig != NUL)
|
|
||||||
+ {
|
|
||||||
+ /* copy \ characters */
|
|
||||||
+ while (*porig == psepc)
|
|
||||||
+ *ptrue++ = *porig++;
|
|
||||||
+
|
|
||||||
+ ptruePrev = ptrue;
|
|
||||||
+ porigPrev = porig;
|
|
||||||
+ while (*porig != NUL && *porig != psepc)
|
|
||||||
+ {
|
|
||||||
+ *ptrue++ = *porig++;
|
|
||||||
+ }
|
|
||||||
+ *ptrue = NUL;
|
|
||||||
+
|
|
||||||
+ /* To avoid a slow failure append "\*" when searching a directory,
|
|
||||||
+ * server or network share. */
|
|
||||||
+ wcscpy(szTrueNameTemp, szTrueName);
|
|
||||||
+ slen = (int)wcslen(szTrueNameTemp);
|
|
||||||
+ if (*porig == psepc && slen + 2 < _MAX_PATH)
|
|
||||||
+ wcscpy(szTrueNameTemp + slen, L"\\*");
|
|
||||||
+
|
|
||||||
+ /* Skip "", "." and "..". */
|
|
||||||
+ if (ptrue > ptruePrev
|
|
||||||
+ && (ptruePrev[0] != L'.'
|
|
||||||
+ || (ptruePrev[1] != NUL
|
|
||||||
+ && (ptruePrev[1] != L'.' || ptruePrev[2] != NUL)))
|
|
||||||
+ && (hFind = FindFirstFileW(szTrueNameTemp, &fb))
|
|
||||||
+ != INVALID_HANDLE_VALUE)
|
|
||||||
+ {
|
|
||||||
+ c = *porig;
|
|
||||||
+ *porig = NUL;
|
|
||||||
+
|
|
||||||
+ /* Only use the match when it's the same name (ignoring case) or
|
|
||||||
+ * expansion is allowed and there is a match with the short name
|
|
||||||
+ * and there is enough room. */
|
|
||||||
+ if (_wcsicoll(porigPrev, fb.cFileName) == 0
|
|
||||||
+ || (len > 0
|
|
||||||
+ && (_wcsicoll(porigPrev, fb.cAlternateFileName) == 0
|
|
||||||
+ && (int)(ptruePrev - szTrueName)
|
|
||||||
+ + (int)wcslen(fb.cFileName) < len)))
|
|
||||||
+ {
|
|
||||||
+ wcscpy(ptruePrev, fb.cFileName);
|
|
||||||
+
|
|
||||||
+ /* Look for exact match and prefer it if found. Must be a
|
|
||||||
+ * long name, otherwise there would be only one match. */
|
|
||||||
+ while (FindNextFileW(hFind, &fb))
|
|
||||||
+ {
|
|
||||||
+ if (*fb.cAlternateFileName != NUL
|
|
||||||
+ && (wcscoll(porigPrev, fb.cFileName) == 0
|
|
||||||
+ || (len > 0
|
|
||||||
+ && (_wcsicoll(porigPrev,
|
|
||||||
+ fb.cAlternateFileName) == 0
|
|
||||||
+ && (int)(ptruePrev - szTrueName)
|
|
||||||
+ + (int)wcslen(fb.cFileName) < len))))
|
|
||||||
+ {
|
|
||||||
+ wcscpy(ptruePrev, fb.cFileName);
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ FindClose(hFind);
|
|
||||||
+ *porig = c;
|
|
||||||
+ ptrue = ptruePrev + wcslen(ptruePrev);
|
|
||||||
+ }
|
|
||||||
+ else if (hFind == INVALID_HANDLE_VALUE
|
|
||||||
+ && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
|
|
||||||
+ return FAIL;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ wcscpy(name, szTrueName);
|
|
||||||
+ return OK;
|
|
||||||
+ }
|
|
||||||
+ #endif
|
|
||||||
+
|
|
||||||
/*
|
|
||||||
* fname_case(): Set the case of the file name, if it already exists.
|
|
||||||
* When "len" is > 0, also expand short to long filenames.
|
|
||||||
+ * NOTE: much of this is identical to fname_casew(), keep in sync!
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
fname_case(
|
|
||||||
***************
|
|
||||||
*** 2520,2530 ****
|
|
||||||
int slen;
|
|
||||||
|
|
||||||
flen = (int)STRLEN(name);
|
|
||||||
! if (flen == 0 || flen > _MAX_PATH)
|
|
||||||
return;
|
|
||||||
|
|
||||||
slash_adjust(name);
|
|
||||||
|
|
||||||
/* Build the new name in szTrueName[] one component at a time. */
|
|
||||||
porig = name;
|
|
||||||
ptrue = szTrueName;
|
|
||||||
--- 2636,2679 ----
|
|
||||||
int slen;
|
|
||||||
|
|
||||||
flen = (int)STRLEN(name);
|
|
||||||
! if (flen == 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
slash_adjust(name);
|
|
||||||
|
|
||||||
+ #ifdef FEAT_MBYTE
|
|
||||||
+ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
|
|
||||||
+ {
|
|
||||||
+ WCHAR *p = enc_to_utf16(name, NULL);
|
|
||||||
+
|
|
||||||
+ if (p != NULL)
|
|
||||||
+ {
|
|
||||||
+ char_u *q;
|
|
||||||
+ WCHAR buf[_MAX_PATH + 2];
|
|
||||||
+
|
|
||||||
+ wcscpy(buf, p);
|
|
||||||
+ vim_free(p);
|
|
||||||
+
|
|
||||||
+ if (fname_casew(buf, (len > 0) ? _MAX_PATH : 0) == OK)
|
|
||||||
+ {
|
|
||||||
+ q = utf16_to_enc(buf, NULL);
|
|
||||||
+ if (q != NULL)
|
|
||||||
+ {
|
|
||||||
+ vim_strncpy(name, q, (len > 0) ? len - 1 : flen);
|
|
||||||
+ vim_free(q);
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ /* Retry with non-wide function (for Windows 98). */
|
|
||||||
+ }
|
|
||||||
+ #endif
|
|
||||||
+
|
|
||||||
+ /* If 'enc' is utf-8, flen can be larger than _MAX_PATH.
|
|
||||||
+ * So we should check this after calling wide function. */
|
|
||||||
+ if (flen > _MAX_PATH)
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
/* Build the new name in szTrueName[] one component at a time. */
|
|
||||||
porig = name;
|
|
||||||
ptrue = szTrueName;
|
|
||||||
*** ../vim-7.4.015/src/version.c 2013-08-30 17:11:29.000000000 +0200
|
|
||||||
--- src/version.c 2013-08-30 17:15:06.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 16,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
Fingers not found - Pound head on keyboard to continue.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
78
7.4.017
78
7.4.017
@ -1,78 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.017
|
|
||||||
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.4.017
|
|
||||||
Problem: ":help !!" does not find the "!!" tag in the help file. (Ben
|
|
||||||
Fritz)
|
|
||||||
Solution: When reading the start of the tags file do parse lines that are
|
|
||||||
not header lines.
|
|
||||||
Files: src/tag.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.016/src/tag.c 2013-06-15 22:26:26.000000000 +0200
|
|
||||||
--- src/tag.c 2013-09-05 12:03:38.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 1797,1809 ****
|
|
||||||
*/
|
|
||||||
if (state == TS_START)
|
|
||||||
{
|
|
||||||
! /* The header ends when the line sorts below "!_TAG_".
|
|
||||||
! * There may be non-header items before the header though,
|
|
||||||
! * e.g. "!" itself. When case is folded lower case letters
|
|
||||||
! * sort before "_". */
|
|
||||||
if (STRNCMP(lbuf, "!_TAG_", 6) <= 0
|
|
||||||
|| (lbuf[0] == '!' && ASCII_ISLOWER(lbuf[1])))
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* Read header line.
|
|
||||||
*/
|
|
||||||
--- 1797,1812 ----
|
|
||||||
*/
|
|
||||||
if (state == TS_START)
|
|
||||||
{
|
|
||||||
! /* The header ends when the line sorts below "!_TAG_". When
|
|
||||||
! * case is folded lower case letters sort before "_". */
|
|
||||||
if (STRNCMP(lbuf, "!_TAG_", 6) <= 0
|
|
||||||
|| (lbuf[0] == '!' && ASCII_ISLOWER(lbuf[1])))
|
|
||||||
{
|
|
||||||
+ if (STRNCMP(lbuf, "!_TAG_", 6) != 0)
|
|
||||||
+ /* Non-header item before the header, e.g. "!" itself.
|
|
||||||
+ */
|
|
||||||
+ goto parse_line;
|
|
||||||
+
|
|
||||||
/*
|
|
||||||
* Read header line.
|
|
||||||
*/
|
|
||||||
***************
|
|
||||||
*** 1898,1903 ****
|
|
||||||
--- 1901,1907 ----
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
+ parse_line:
|
|
||||||
/*
|
|
||||||
* Figure out where the different strings are in this line.
|
|
||||||
* For "normal" tags: Do a quick check if the tag matches.
|
|
||||||
*** ../vim-7.4.016/src/version.c 2013-08-30 17:29:10.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-05 12:02:01.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 17,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
An error has occurred. Hit any user to continue.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
45
7.4.018
45
7.4.018
@ -1,45 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.018
|
|
||||||
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.4.018
|
|
||||||
Problem: When completing item becomes unselected. (Shougo Matsu)
|
|
||||||
Solution: Revert patch 7.3.1269.
|
|
||||||
Files: src/edit.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.017/src/edit.c 2013-07-04 20:22:25.000000000 +0200
|
|
||||||
--- src/edit.c 2013-09-05 12:39:53.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 3467,3473 ****
|
|
||||||
}
|
|
||||||
|
|
||||||
compl_enter_selects = !compl_used_match;
|
|
||||||
- compl_shown_match = compl_curr_match = compl_first_match;
|
|
||||||
|
|
||||||
/* Show the popup menu with a different set of matches. */
|
|
||||||
ins_compl_show_pum();
|
|
||||||
--- 3467,3472 ----
|
|
||||||
*** ../vim-7.4.017/src/version.c 2013-09-05 12:06:26.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-05 12:40:34.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 18,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
hundred-and-one symptoms of being an internet addict:
|
|
||||||
169. You hire a housekeeper for your home page.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
61
7.4.019
61
7.4.019
@ -1,61 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.019
|
|
||||||
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.4.019
|
|
||||||
Problem: MS-Windows: File name completion doesn't work properly with
|
|
||||||
Chinese characters. (Yue Wu)
|
|
||||||
Solution: Take care of multi-byte characters when looking for the start of
|
|
||||||
the file name. (Ken Takata)
|
|
||||||
Files: src/edit.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.018/src/edit.c 2013-09-05 12:49:48.000000000 +0200
|
|
||||||
--- src/edit.c 2013-09-05 13:45:27.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 5183,5190 ****
|
|
||||||
}
|
|
||||||
else if (ctrl_x_mode == CTRL_X_FILES)
|
|
||||||
{
|
|
||||||
! while (--startcol >= 0 && vim_isfilec(line[startcol]))
|
|
||||||
! ;
|
|
||||||
compl_col += ++startcol;
|
|
||||||
compl_length = (int)curs_col - startcol;
|
|
||||||
compl_pattern = addstar(line + compl_col, compl_length,
|
|
||||||
--- 5183,5196 ----
|
|
||||||
}
|
|
||||||
else if (ctrl_x_mode == CTRL_X_FILES)
|
|
||||||
{
|
|
||||||
! char_u *p = line + startcol;
|
|
||||||
!
|
|
||||||
! /* Go back to just before the first filename character. */
|
|
||||||
! mb_ptr_back(line, p);
|
|
||||||
! while (vim_isfilec(PTR2CHAR(p)) && p >= line)
|
|
||||||
! mb_ptr_back(line, p);
|
|
||||||
! startcol = p - line;
|
|
||||||
!
|
|
||||||
compl_col += ++startcol;
|
|
||||||
compl_length = (int)curs_col - startcol;
|
|
||||||
compl_pattern = addstar(line + compl_col, compl_length,
|
|
||||||
*** ../vim-7.4.018/src/version.c 2013-09-05 12:49:48.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-05 13:41:47.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 19,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
Very funny, Scotty. Now beam down my clothes.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
82
7.4.020
82
7.4.020
@ -1,82 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.020
|
|
||||||
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.4.020
|
|
||||||
Problem: NFA engine matches too much with \@>. (John McGowan)
|
|
||||||
Solution: When a whole pattern match is found stop searching.
|
|
||||||
Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.019/src/regexp_nfa.c 2013-08-25 17:01:36.000000000 +0200
|
|
||||||
--- src/regexp_nfa.c 2013-09-05 15:59:44.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 5322,5328 ****
|
|
||||||
log_subsexpr(m);
|
|
||||||
#endif
|
|
||||||
nfa_match = TRUE;
|
|
||||||
! break;
|
|
||||||
|
|
||||||
case NFA_START_INVISIBLE:
|
|
||||||
case NFA_START_INVISIBLE_FIRST:
|
|
||||||
--- 5322,5331 ----
|
|
||||||
log_subsexpr(m);
|
|
||||||
#endif
|
|
||||||
nfa_match = TRUE;
|
|
||||||
! /* See comment above at "goto nextchar". */
|
|
||||||
! if (nextlist->n == 0)
|
|
||||||
! clen = 0;
|
|
||||||
! goto nextchar;
|
|
||||||
|
|
||||||
case NFA_START_INVISIBLE:
|
|
||||||
case NFA_START_INVISIBLE_FIRST:
|
|
||||||
*** ../vim-7.4.019/src/testdir/test64.in 2013-08-14 13:31:03.000000000 +0200
|
|
||||||
--- src/testdir/test64.in 2013-09-05 15:35:44.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 427,432 ****
|
|
||||||
--- 427,433 ----
|
|
||||||
:""""" \@>
|
|
||||||
:call add(tl, [2, '\(a*\)\@>a', 'aaaa'])
|
|
||||||
:call add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa'])
|
|
||||||
+ :call add(tl, [2, '^\(.\{-}b\)\@>.', ' abcbd', ' abc', ' ab'])
|
|
||||||
:" TODO: BT engine does not restore submatch after failure
|
|
||||||
:call add(tl, [1, '\(a*\)\@>a\|a\+', 'aaaa', 'aaaa'])
|
|
||||||
:"
|
|
||||||
*** ../vim-7.4.019/src/testdir/test64.ok 2013-08-14 13:31:03.000000000 +0200
|
|
||||||
--- src/testdir/test64.ok 2013-09-05 16:03:34.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 983,988 ****
|
|
||||||
--- 983,991 ----
|
|
||||||
OK 0 - \(a*\)\@>b
|
|
||||||
OK 1 - \(a*\)\@>b
|
|
||||||
OK 2 - \(a*\)\@>b
|
|
||||||
+ OK 0 - ^\(.\{-}b\)\@>.
|
|
||||||
+ OK 1 - ^\(.\{-}b\)\@>.
|
|
||||||
+ OK 2 - ^\(.\{-}b\)\@>.
|
|
||||||
OK 0 - \(a*\)\@>a\|a\+
|
|
||||||
OK 2 - \(a*\)\@>a\|a\+
|
|
||||||
OK 0 - \_[^8-9]\+
|
|
||||||
*** ../vim-7.4.019/src/version.c 2013-09-05 13:50:49.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-05 16:04:32.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 20,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
hundred-and-one symptoms of being an internet addict:
|
|
||||||
173. You keep tracking down the email addresses of all your friends
|
|
||||||
(even childhood friends).
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
86
7.4.021
86
7.4.021
@ -1,86 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.021
|
|
||||||
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.4.021
|
|
||||||
Problem: NFA regexp: Using \ze in one branch which doesn't match may cause
|
|
||||||
end of another branch to be wrong. (William Fugh)
|
|
||||||
Solution: Set end position if it wasn't set yet.
|
|
||||||
Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.020/src/regexp_nfa.c 2013-09-05 16:05:32.000000000 +0200
|
|
||||||
--- src/regexp_nfa.c 2013-09-05 20:56:25.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 4209,4218 ****
|
|
||||||
break;
|
|
||||||
|
|
||||||
case NFA_MCLOSE:
|
|
||||||
! if (nfa_has_zend)
|
|
||||||
{
|
|
||||||
! /* Do not overwrite the position set by \ze. If no \ze
|
|
||||||
! * encountered end will be set in nfa_regtry(). */
|
|
||||||
subs = addstate(l, state->out, subs, pim, off);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
--- 4209,4219 ----
|
|
||||||
break;
|
|
||||||
|
|
||||||
case NFA_MCLOSE:
|
|
||||||
! if (nfa_has_zend && (REG_MULTI
|
|
||||||
! ? subs->norm.list.multi[0].end.lnum >= 0
|
|
||||||
! : subs->norm.list.line[0].end != NULL))
|
|
||||||
{
|
|
||||||
! /* Do not overwrite the position set by \ze. */
|
|
||||||
subs = addstate(l, state->out, subs, pim, off);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
*** ../vim-7.4.020/src/testdir/test64.in 2013-09-05 16:05:32.000000000 +0200
|
|
||||||
--- src/testdir/test64.in 2013-09-05 20:55:18.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 328,333 ****
|
|
||||||
--- 328,334 ----
|
|
||||||
:call add(tl, [2, 'abc \zsmatch\ze abc', 'abc abc abc match abc abc', 'match'])
|
|
||||||
:call add(tl, [2, '\v(a \zsif .*){2}', 'a if then a if last', 'if last', 'a if last'])
|
|
||||||
:call add(tl, [2, '\>\zs.', 'aword. ', '.'])
|
|
||||||
+ :call add(tl, [2, '\s\+\ze\[/\|\s\zs\s\+', 'is [a t', ' '])
|
|
||||||
:"
|
|
||||||
:"""" Tests for \@= and \& features
|
|
||||||
:call add(tl, [2, 'abc\@=', 'abc', 'ab'])
|
|
||||||
*** ../vim-7.4.020/src/testdir/test64.ok 2013-09-05 16:05:32.000000000 +0200
|
|
||||||
--- src/testdir/test64.ok 2013-09-05 21:09:56.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 752,757 ****
|
|
||||||
--- 752,760 ----
|
|
||||||
OK 0 - \>\zs.
|
|
||||||
OK 1 - \>\zs.
|
|
||||||
OK 2 - \>\zs.
|
|
||||||
+ OK 0 - \s\+\ze\[/\|\s\zs\s\+
|
|
||||||
+ OK 1 - \s\+\ze\[/\|\s\zs\s\+
|
|
||||||
+ OK 2 - \s\+\ze\[/\|\s\zs\s\+
|
|
||||||
OK 0 - abc\@=
|
|
||||||
OK 1 - abc\@=
|
|
||||||
OK 2 - abc\@=
|
|
||||||
*** ../vim-7.4.020/src/version.c 2013-09-05 16:05:32.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-05 21:11:38.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 21,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
hundred-and-one symptoms of being an internet addict:
|
|
||||||
174. You know what a listserv is.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
148
7.4.022
148
7.4.022
@ -1,148 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.022
|
|
||||||
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.4.022
|
|
||||||
Problem: Deadlock while exiting, because of allocating memory.
|
|
||||||
Solution: Do not use gettext() in deathtrap(). (James McCoy)
|
|
||||||
Files: src/os_unix.c, src/misc1.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.021/src/os_unix.c 2013-07-03 16:32:32.000000000 +0200
|
|
||||||
--- src/os_unix.c 2013-09-05 21:40:06.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 957,964 ****
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This function handles deadly signals.
|
|
||||||
! * It tries to preserve any swap file and exit properly.
|
|
||||||
* (partly from Elvis).
|
|
||||||
*/
|
|
||||||
static RETSIGTYPE
|
|
||||||
deathtrap SIGDEFARG(sigarg)
|
|
||||||
--- 957,966 ----
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This function handles deadly signals.
|
|
||||||
! * It tries to preserve any swap files and exit properly.
|
|
||||||
* (partly from Elvis).
|
|
||||||
+ * NOTE: Avoid unsafe functions, such as allocating memory, they can result in
|
|
||||||
+ * a deadlock.
|
|
||||||
*/
|
|
||||||
static RETSIGTYPE
|
|
||||||
deathtrap SIGDEFARG(sigarg)
|
|
||||||
***************
|
|
||||||
*** 1090,1107 ****
|
|
||||||
}
|
|
||||||
if (entered == 2)
|
|
||||||
{
|
|
||||||
! OUT_STR(_("Vim: Double signal, exiting\n"));
|
|
||||||
out_flush();
|
|
||||||
getout(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef SIGHASARG
|
|
||||||
! sprintf((char *)IObuff, _("Vim: Caught deadly signal %s\n"),
|
|
||||||
signal_info[i].name);
|
|
||||||
#else
|
|
||||||
! sprintf((char *)IObuff, _("Vim: Caught deadly signal\n"));
|
|
||||||
#endif
|
|
||||||
! preserve_exit(); /* preserve files and exit */
|
|
||||||
|
|
||||||
#ifdef NBDEBUG
|
|
||||||
reset_signals();
|
|
||||||
--- 1092,1114 ----
|
|
||||||
}
|
|
||||||
if (entered == 2)
|
|
||||||
{
|
|
||||||
! /* No translation, it may call malloc(). */
|
|
||||||
! OUT_STR("Vim: Double signal, exiting\n");
|
|
||||||
out_flush();
|
|
||||||
getout(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ /* No translation, it may call malloc(). */
|
|
||||||
#ifdef SIGHASARG
|
|
||||||
! sprintf((char *)IObuff, "Vim: Caught deadly signal %s\n",
|
|
||||||
signal_info[i].name);
|
|
||||||
#else
|
|
||||||
! sprintf((char *)IObuff, "Vim: Caught deadly signal\n");
|
|
||||||
#endif
|
|
||||||
!
|
|
||||||
! /* Preserve files and exit. This sets the really_exiting flag to prevent
|
|
||||||
! * calling free(). */
|
|
||||||
! preserve_exit();
|
|
||||||
|
|
||||||
#ifdef NBDEBUG
|
|
||||||
reset_signals();
|
|
||||||
*** ../vim-7.4.021/src/misc1.c 2013-08-03 17:29:33.000000000 +0200
|
|
||||||
--- src/misc1.c 2013-09-05 21:34:04.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 9174,9179 ****
|
|
||||||
--- 9174,9181 ----
|
|
||||||
/*
|
|
||||||
* Preserve files and exit.
|
|
||||||
* When called IObuff must contain a message.
|
|
||||||
+ * NOTE: This may be called from deathtrap() in a signal handler, avoid unsafe
|
|
||||||
+ * functions, such as allocating memory.
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
preserve_exit()
|
|
||||||
***************
|
|
||||||
*** 9196,9202 ****
|
|
||||||
{
|
|
||||||
if (buf->b_ml.ml_mfp != NULL && buf->b_ml.ml_mfp->mf_fname != NULL)
|
|
||||||
{
|
|
||||||
! OUT_STR(_("Vim: preserving files...\n"));
|
|
||||||
screen_start(); /* don't know where cursor is now */
|
|
||||||
out_flush();
|
|
||||||
ml_sync_all(FALSE, FALSE); /* preserve all swap files */
|
|
||||||
--- 9198,9204 ----
|
|
||||||
{
|
|
||||||
if (buf->b_ml.ml_mfp != NULL && buf->b_ml.ml_mfp->mf_fname != NULL)
|
|
||||||
{
|
|
||||||
! OUT_STR("Vim: preserving files...\n");
|
|
||||||
screen_start(); /* don't know where cursor is now */
|
|
||||||
out_flush();
|
|
||||||
ml_sync_all(FALSE, FALSE); /* preserve all swap files */
|
|
||||||
***************
|
|
||||||
*** 9206,9212 ****
|
|
||||||
|
|
||||||
ml_close_all(FALSE); /* close all memfiles, without deleting */
|
|
||||||
|
|
||||||
! OUT_STR(_("Vim: Finished.\n"));
|
|
||||||
|
|
||||||
getout(1);
|
|
||||||
}
|
|
||||||
--- 9208,9214 ----
|
|
||||||
|
|
||||||
ml_close_all(FALSE); /* close all memfiles, without deleting */
|
|
||||||
|
|
||||||
! OUT_STR("Vim: Finished.\n");
|
|
||||||
|
|
||||||
getout(1);
|
|
||||||
}
|
|
||||||
*** ../vim-7.4.021/src/version.c 2013-09-05 21:15:38.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-05 21:30:18.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 22,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
hundred-and-one symptoms of being an internet addict:
|
|
||||||
175. You send yourself e-mail before you go to bed to remind you
|
|
||||||
what to do when you wake up.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
53
7.4.023
53
7.4.023
@ -1,53 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.023
|
|
||||||
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.4.023
|
|
||||||
Problem: Compiler warning on 64 bit windows.
|
|
||||||
Solution: Add type cast. (Mike Williams)
|
|
||||||
Files: src/edit.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.022/src/edit.c 2013-09-05 13:50:49.000000000 +0200
|
|
||||||
--- src/edit.c 2013-09-06 17:32:55.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 5189,5195 ****
|
|
||||||
mb_ptr_back(line, p);
|
|
||||||
while (vim_isfilec(PTR2CHAR(p)) && p >= line)
|
|
||||||
mb_ptr_back(line, p);
|
|
||||||
! startcol = p - line;
|
|
||||||
|
|
||||||
compl_col += ++startcol;
|
|
||||||
compl_length = (int)curs_col - startcol;
|
|
||||||
--- 5189,5195 ----
|
|
||||||
mb_ptr_back(line, p);
|
|
||||||
while (vim_isfilec(PTR2CHAR(p)) && p >= line)
|
|
||||||
mb_ptr_back(line, p);
|
|
||||||
! startcol = (int)(p - line);
|
|
||||||
|
|
||||||
compl_col += ++startcol;
|
|
||||||
compl_length = (int)curs_col - startcol;
|
|
||||||
*** ../vim-7.4.022/src/version.c 2013-09-05 21:41:35.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-06 17:33:41.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 23,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
Wizards had always known that the act of observation changed the thing that
|
|
||||||
was observed, and sometimes forgot that it also changed the observer too.
|
|
||||||
Terry Pratchett - Interesting times
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
61
7.4.024
61
7.4.024
@ -1,61 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.024
|
|
||||||
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.4.024
|
|
||||||
Problem: When root edits a file the undo file is owned by root while the
|
|
||||||
edited file may be owned by another user, which is not allowed.
|
|
||||||
(cac2s)
|
|
||||||
Solution: Accept an undo file owned by the current user.
|
|
||||||
Files: src/undo.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.023/src/undo.c 2013-06-10 20:13:37.000000000 +0200
|
|
||||||
--- src/undo.c 2013-09-07 15:45:56.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 1604,1613 ****
|
|
||||||
|
|
||||||
#ifdef UNIX
|
|
||||||
/* For safety we only read an undo file if the owner is equal to the
|
|
||||||
! * owner of the text file. */
|
|
||||||
if (mch_stat((char *)orig_name, &st_orig) >= 0
|
|
||||||
&& mch_stat((char *)file_name, &st_undo) >= 0
|
|
||||||
! && st_orig.st_uid != st_undo.st_uid)
|
|
||||||
{
|
|
||||||
if (p_verbose > 0)
|
|
||||||
{
|
|
||||||
--- 1604,1614 ----
|
|
||||||
|
|
||||||
#ifdef UNIX
|
|
||||||
/* For safety we only read an undo file if the owner is equal to the
|
|
||||||
! * owner of the text file or equal to the current user. */
|
|
||||||
if (mch_stat((char *)orig_name, &st_orig) >= 0
|
|
||||||
&& mch_stat((char *)file_name, &st_undo) >= 0
|
|
||||||
! && st_orig.st_uid != st_undo.st_uid
|
|
||||||
! && st_undo.st_uid != getuid())
|
|
||||||
{
|
|
||||||
if (p_verbose > 0)
|
|
||||||
{
|
|
||||||
*** ../vim-7.4.023/src/version.c 2013-09-07 16:35:38.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-08 15:38:52.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 24,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
hundred-and-one symptoms of being an internet addict:
|
|
||||||
186. You overstay in the office so you can have more time surfing the net.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
62
7.4.025
62
7.4.025
@ -1,62 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.025
|
|
||||||
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.4.025 (after 7.4.019
|
|
||||||
Problem: Reading before start of a string.
|
|
||||||
Solution: Do not call mb_ptr_back() at start of a string. (Dominique Pelle)
|
|
||||||
Files: src/edit.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.024/src/edit.c 2013-09-07 16:35:38.000000000 +0200
|
|
||||||
--- src/edit.c 2013-09-08 15:57:20.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 5187,5197 ****
|
|
||||||
|
|
||||||
/* Go back to just before the first filename character. */
|
|
||||||
mb_ptr_back(line, p);
|
|
||||||
! while (vim_isfilec(PTR2CHAR(p)) && p >= line)
|
|
||||||
mb_ptr_back(line, p);
|
|
||||||
! startcol = (int)(p - line);
|
|
||||||
|
|
||||||
! compl_col += ++startcol;
|
|
||||||
compl_length = (int)curs_col - startcol;
|
|
||||||
compl_pattern = addstar(line + compl_col, compl_length,
|
|
||||||
EXPAND_FILES);
|
|
||||||
--- 5187,5199 ----
|
|
||||||
|
|
||||||
/* Go back to just before the first filename character. */
|
|
||||||
mb_ptr_back(line, p);
|
|
||||||
! while (p > line && vim_isfilec(PTR2CHAR(p)))
|
|
||||||
mb_ptr_back(line, p);
|
|
||||||
! startcol = (int)(p - line) + 1;
|
|
||||||
! if (p == line && vim_isfilec(PTR2CHAR(p)))
|
|
||||||
! startcol = 0;
|
|
||||||
|
|
||||||
! compl_col += startcol;
|
|
||||||
compl_length = (int)curs_col - startcol;
|
|
||||||
compl_pattern = addstar(line + compl_col, compl_length,
|
|
||||||
EXPAND_FILES);
|
|
||||||
*** ../vim-7.4.024/src/version.c 2013-09-08 15:40:45.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-08 15:52:39.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 25,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
hundred-and-one symptoms of being an internet addict:
|
|
||||||
188. You purchase a laptop so you can surf while sitting on the can.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
65
7.4.026
65
7.4.026
@ -1,65 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.026
|
|
||||||
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.4.026
|
|
||||||
Problem: Clang warning for int shift overflow.
|
|
||||||
Solution: Use unsigned and cast back to int. (Dominique Pelle)
|
|
||||||
Files: src/misc2.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.025/src/misc2.c 2013-07-07 16:03:35.000000000 +0200
|
|
||||||
--- src/misc2.c 2013-09-08 16:04:54.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 6496,6508 ****
|
|
||||||
get4c(fd)
|
|
||||||
FILE *fd;
|
|
||||||
{
|
|
||||||
! int n;
|
|
||||||
|
|
||||||
! n = getc(fd);
|
|
||||||
! n = (n << 8) + getc(fd);
|
|
||||||
! n = (n << 8) + getc(fd);
|
|
||||||
! n = (n << 8) + getc(fd);
|
|
||||||
! return n;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
--- 6496,6510 ----
|
|
||||||
get4c(fd)
|
|
||||||
FILE *fd;
|
|
||||||
{
|
|
||||||
! /* Use unsigned rather than int otherwise result is undefined
|
|
||||||
! * when left-shift sets the MSB. */
|
|
||||||
! unsigned n;
|
|
||||||
|
|
||||||
! n = (unsigned)getc(fd);
|
|
||||||
! n = (n << 8) + (unsigned)getc(fd);
|
|
||||||
! n = (n << 8) + (unsigned)getc(fd);
|
|
||||||
! n = (n << 8) + (unsigned)getc(fd);
|
|
||||||
! return (int)n;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
*** ../vim-7.4.025/src/version.c 2013-09-08 16:03:40.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-08 16:05:40.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 26,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
A computer program does what you tell it to do, not what you want it to do.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
89
7.4.027
89
7.4.027
@ -1,89 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.027
|
|
||||||
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.4.027 (after 7.4.025)
|
|
||||||
Problem: Another valgrind error when using CTRL-X CTRL-F at the start of
|
|
||||||
the line. (Dominique Pelle)
|
|
||||||
Solution: Don't call mb_ptr_back() at the start of the line. Add a test.
|
|
||||||
Files: src/edit.c, src/testdir/test32.in
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.026/src/edit.c 2013-09-08 16:03:40.000000000 +0200
|
|
||||||
--- src/edit.c 2013-09-08 18:18:32.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 5183,5197 ****
|
|
||||||
}
|
|
||||||
else if (ctrl_x_mode == CTRL_X_FILES)
|
|
||||||
{
|
|
||||||
- char_u *p = line + startcol;
|
|
||||||
-
|
|
||||||
/* Go back to just before the first filename character. */
|
|
||||||
! mb_ptr_back(line, p);
|
|
||||||
! while (p > line && vim_isfilec(PTR2CHAR(p)))
|
|
||||||
mb_ptr_back(line, p);
|
|
||||||
! startcol = (int)(p - line) + 1;
|
|
||||||
! if (p == line && vim_isfilec(PTR2CHAR(p)))
|
|
||||||
! startcol = 0;
|
|
||||||
|
|
||||||
compl_col += startcol;
|
|
||||||
compl_length = (int)curs_col - startcol;
|
|
||||||
--- 5183,5201 ----
|
|
||||||
}
|
|
||||||
else if (ctrl_x_mode == CTRL_X_FILES)
|
|
||||||
{
|
|
||||||
/* Go back to just before the first filename character. */
|
|
||||||
! if (startcol > 0)
|
|
||||||
! {
|
|
||||||
! char_u *p = line + startcol;
|
|
||||||
!
|
|
||||||
mb_ptr_back(line, p);
|
|
||||||
! while (p > line && vim_isfilec(PTR2CHAR(p)))
|
|
||||||
! mb_ptr_back(line, p);
|
|
||||||
! if (p == line && vim_isfilec(PTR2CHAR(p)))
|
|
||||||
! startcol = 0;
|
|
||||||
! else
|
|
||||||
! startcol = (int)(p - line) + 1;
|
|
||||||
! }
|
|
||||||
|
|
||||||
compl_col += startcol;
|
|
||||||
compl_length = (int)curs_col - startcol;
|
|
||||||
*** ../vim-7.4.026/src/testdir/test32.in 2010-05-15 13:04:10.000000000 +0200
|
|
||||||
--- src/testdir/test32.in 2013-09-08 18:08:07.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 36,41 ****
|
|
||||||
--- 36,44 ----
|
|
||||||
:w Xtest11.one
|
|
||||||
:w Xtest11.two
|
|
||||||
OIXA
|
|
||||||
+ :" use CTRL-X CTRL-F to complete Xtest11.one, remove it and then use
|
|
||||||
+ :" CTRL-X CTRL-F again to verify this doesn't cause trouble.
|
|
||||||
+ OXddk
|
|
||||||
:se cpt=w
|
|
||||||
OST
|
|
||||||
:se cpt=u nohid
|
|
||||||
*** ../vim-7.4.026/src/version.c 2013-09-08 16:07:03.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-08 18:14:17.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 27,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
hundred-and-one symptoms of being an internet addict:
|
|
||||||
190. You quickly hand over your wallet, leather jacket, and car keys
|
|
||||||
during a mugging, then proceed to beat the crap out of your
|
|
||||||
assailant when he asks for your laptop.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
753
7.4.028
753
7.4.028
@ -1,753 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.028
|
|
||||||
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.4.028
|
|
||||||
Problem: Equivalence classes are not working for multi-byte characters.
|
|
||||||
Solution: Copy the rules from the old to the new regexp engine. Add a test
|
|
||||||
to check both engines.
|
|
||||||
Files: src/regexp_nfa.c, src/testdir/test44.in, src/testdir/test99.in,
|
|
||||||
src/testdir/test99.ok, src/testdir/Make_amiga.mak,
|
|
||||||
src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
|
|
||||||
src/testdir/Make_os2.mak, src/testdir/Make_vms.mms,
|
|
||||||
src/testdir/Makefile
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.027/src/regexp_nfa.c 2013-09-05 21:15:38.000000000 +0200
|
|
||||||
--- src/regexp_nfa.c 2013-09-19 16:40:08.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 742,748 ****
|
|
||||||
nfa_emit_equi_class(c)
|
|
||||||
int c;
|
|
||||||
{
|
|
||||||
! #define EMIT2(c) EMIT(c); EMIT(NFA_CONCAT);
|
|
||||||
|
|
||||||
#ifdef FEAT_MBYTE
|
|
||||||
if (enc_utf8 || STRCMP(p_enc, "latin1") == 0
|
|
||||||
--- 742,753 ----
|
|
||||||
nfa_emit_equi_class(c)
|
|
||||||
int c;
|
|
||||||
{
|
|
||||||
! #define EMIT2(c) EMIT(c); EMIT(NFA_CONCAT);
|
|
||||||
! #ifdef FEAT_MBYTE
|
|
||||||
! # define EMITMBC(c) EMIT(c); EMIT(NFA_CONCAT);
|
|
||||||
! #else
|
|
||||||
! # define EMITMBC(c)
|
|
||||||
! #endif
|
|
||||||
|
|
||||||
#ifdef FEAT_MBYTE
|
|
||||||
if (enc_utf8 || STRCMP(p_enc, "latin1") == 0
|
|
||||||
***************
|
|
||||||
*** 753,844 ****
|
|
||||||
{
|
|
||||||
case 'A': case 0300: case 0301: case 0302:
|
|
||||||
case 0303: case 0304: case 0305:
|
|
||||||
! EMIT2('A'); EMIT2(0300); EMIT2(0301);
|
|
||||||
! EMIT2(0302); EMIT2(0303); EMIT2(0304);
|
|
||||||
! EMIT2(0305);
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'C': case 0307:
|
|
||||||
! EMIT2('C'); EMIT2(0307);
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'E': case 0310: case 0311: case 0312: case 0313:
|
|
||||||
! EMIT2('E'); EMIT2(0310); EMIT2(0311);
|
|
||||||
! EMIT2(0312); EMIT2(0313);
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'I': case 0314: case 0315: case 0316: case 0317:
|
|
||||||
! EMIT2('I'); EMIT2(0314); EMIT2(0315);
|
|
||||||
! EMIT2(0316); EMIT2(0317);
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'N': case 0321:
|
|
||||||
! EMIT2('N'); EMIT2(0321);
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'O': case 0322: case 0323: case 0324: case 0325:
|
|
||||||
! case 0326:
|
|
||||||
! EMIT2('O'); EMIT2(0322); EMIT2(0323);
|
|
||||||
! EMIT2(0324); EMIT2(0325); EMIT2(0326);
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'U': case 0331: case 0332: case 0333: case 0334:
|
|
||||||
! EMIT2('U'); EMIT2(0331); EMIT2(0332);
|
|
||||||
! EMIT2(0333); EMIT2(0334);
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'Y': case 0335:
|
|
||||||
! EMIT2('Y'); EMIT2(0335);
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'a': case 0340: case 0341: case 0342:
|
|
||||||
case 0343: case 0344: case 0345:
|
|
||||||
! EMIT2('a'); EMIT2(0340); EMIT2(0341);
|
|
||||||
! EMIT2(0342); EMIT2(0343); EMIT2(0344);
|
|
||||||
! EMIT2(0345);
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'c': case 0347:
|
|
||||||
! EMIT2('c'); EMIT2(0347);
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'e': case 0350: case 0351: case 0352: case 0353:
|
|
||||||
! EMIT2('e'); EMIT2(0350); EMIT2(0351);
|
|
||||||
! EMIT2(0352); EMIT2(0353);
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'i': case 0354: case 0355: case 0356: case 0357:
|
|
||||||
! EMIT2('i'); EMIT2(0354); EMIT2(0355);
|
|
||||||
! EMIT2(0356); EMIT2(0357);
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'n': case 0361:
|
|
||||||
! EMIT2('n'); EMIT2(0361);
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'o': case 0362: case 0363: case 0364: case 0365:
|
|
||||||
! case 0366:
|
|
||||||
! EMIT2('o'); EMIT2(0362); EMIT2(0363);
|
|
||||||
! EMIT2(0364); EMIT2(0365); EMIT2(0366);
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'u': case 0371: case 0372: case 0373: case 0374:
|
|
||||||
! EMIT2('u'); EMIT2(0371); EMIT2(0372);
|
|
||||||
! EMIT2(0373); EMIT2(0374);
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'y': case 0375: case 0377:
|
|
||||||
! EMIT2('y'); EMIT2(0375); EMIT2(0377);
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
! default:
|
|
||||||
! return FAIL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
! EMIT(c);
|
|
||||||
return OK;
|
|
||||||
#undef EMIT2
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
--- 758,1095 ----
|
|
||||||
{
|
|
||||||
case 'A': case 0300: case 0301: case 0302:
|
|
||||||
case 0303: case 0304: case 0305:
|
|
||||||
! CASEMBC(0x100) CASEMBC(0x102) CASEMBC(0x104) CASEMBC(0x1cd)
|
|
||||||
! CASEMBC(0x1de) CASEMBC(0x1e0) CASEMBC(0x1ea2)
|
|
||||||
! EMIT2('A'); EMIT2(0300); EMIT2(0301); EMIT2(0302);
|
|
||||||
! EMIT2(0303); EMIT2(0304); EMIT2(0305);
|
|
||||||
! EMITMBC(0x100) EMITMBC(0x102) EMITMBC(0x104)
|
|
||||||
! EMITMBC(0x1cd) EMITMBC(0x1de) EMITMBC(0x1e0)
|
|
||||||
! EMITMBC(0x1ea2)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'B': CASEMBC(0x1e02) CASEMBC(0x1e06)
|
|
||||||
! EMIT2('B'); EMITMBC(0x1e02) EMITMBC(0x1e06)
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'C': case 0307:
|
|
||||||
! CASEMBC(0x106) CASEMBC(0x108) CASEMBC(0x10a) CASEMBC(0x10c)
|
|
||||||
! EMIT2('C'); EMIT2(0307); EMITMBC(0x106) EMITMBC(0x108)
|
|
||||||
! EMITMBC(0x10a) EMITMBC(0x10c)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'D': CASEMBC(0x10e) CASEMBC(0x110) CASEMBC(0x1e0a)
|
|
||||||
! CASEMBC(0x1e0e) CASEMBC(0x1e10)
|
|
||||||
! EMIT2('D'); EMITMBC(0x10e) EMITMBC(0x110) EMITMBC(0x1e0a)
|
|
||||||
! EMITMBC(0x1e0e) EMITMBC(0x1e10)
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'E': case 0310: case 0311: case 0312: case 0313:
|
|
||||||
! CASEMBC(0x112) CASEMBC(0x114) CASEMBC(0x116) CASEMBC(0x118)
|
|
||||||
! CASEMBC(0x11a) CASEMBC(0x1eba) CASEMBC(0x1ebc)
|
|
||||||
! EMIT2('E'); EMIT2(0310); EMIT2(0311); EMIT2(0312);
|
|
||||||
! EMIT2(0313);
|
|
||||||
! EMITMBC(0x112) EMITMBC(0x114) EMITMBC(0x116)
|
|
||||||
! EMITMBC(0x118) EMITMBC(0x11a) EMITMBC(0x1eba)
|
|
||||||
! EMITMBC(0x1ebc)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'F': CASEMBC(0x1e1e)
|
|
||||||
! EMIT2('F'); EMITMBC(0x1e1e)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'G': CASEMBC(0x11c) CASEMBC(0x11e) CASEMBC(0x120)
|
|
||||||
! CASEMBC(0x122) CASEMBC(0x1e4) CASEMBC(0x1e6) CASEMBC(0x1f4)
|
|
||||||
! CASEMBC(0x1e20)
|
|
||||||
! EMIT2('G'); EMITMBC(0x11c) EMITMBC(0x11e) EMITMBC(0x120)
|
|
||||||
! EMITMBC(0x122) EMITMBC(0x1e4) EMITMBC(0x1e6)
|
|
||||||
! EMITMBC(0x1f4) EMITMBC(0x1e20)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'H': CASEMBC(0x124) CASEMBC(0x126) CASEMBC(0x1e22)
|
|
||||||
! CASEMBC(0x1e26) CASEMBC(0x1e28)
|
|
||||||
! EMIT2('H'); EMITMBC(0x124) EMITMBC(0x126) EMITMBC(0x1e22)
|
|
||||||
! EMITMBC(0x1e26) EMITMBC(0x1e28)
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'I': case 0314: case 0315: case 0316: case 0317:
|
|
||||||
! CASEMBC(0x128) CASEMBC(0x12a) CASEMBC(0x12c) CASEMBC(0x12e)
|
|
||||||
! CASEMBC(0x130) CASEMBC(0x1cf) CASEMBC(0x1ec8)
|
|
||||||
! EMIT2('I'); EMIT2(0314); EMIT2(0315); EMIT2(0316);
|
|
||||||
! EMIT2(0317); EMITMBC(0x128) EMITMBC(0x12a)
|
|
||||||
! EMITMBC(0x12c) EMITMBC(0x12e) EMITMBC(0x130)
|
|
||||||
! EMITMBC(0x1cf) EMITMBC(0x1ec8)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'J': CASEMBC(0x134)
|
|
||||||
! EMIT2('J'); EMITMBC(0x134)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'K': CASEMBC(0x136) CASEMBC(0x1e8) CASEMBC(0x1e30)
|
|
||||||
! CASEMBC(0x1e34)
|
|
||||||
! EMIT2('K'); EMITMBC(0x136) EMITMBC(0x1e8) EMITMBC(0x1e30)
|
|
||||||
! EMITMBC(0x1e34)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'L': CASEMBC(0x139) CASEMBC(0x13b) CASEMBC(0x13d)
|
|
||||||
! CASEMBC(0x13f) CASEMBC(0x141) CASEMBC(0x1e3a)
|
|
||||||
! EMIT2('L'); EMITMBC(0x139) EMITMBC(0x13b) EMITMBC(0x13d)
|
|
||||||
! EMITMBC(0x13f) EMITMBC(0x141) EMITMBC(0x1e3a)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'M': CASEMBC(0x1e3e) CASEMBC(0x1e40)
|
|
||||||
! EMIT2('M'); EMITMBC(0x1e3e) EMITMBC(0x1e40)
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'N': case 0321:
|
|
||||||
! CASEMBC(0x143) CASEMBC(0x145) CASEMBC(0x147) CASEMBC(0x1e44)
|
|
||||||
! CASEMBC(0x1e48)
|
|
||||||
! EMIT2('N'); EMIT2(0321); EMITMBC(0x143) EMITMBC(0x145)
|
|
||||||
! EMITMBC(0x147) EMITMBC(0x1e44) EMITMBC(0x1e48)
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'O': case 0322: case 0323: case 0324: case 0325:
|
|
||||||
! case 0326: case 0330:
|
|
||||||
! CASEMBC(0x14c) CASEMBC(0x14e) CASEMBC(0x150) CASEMBC(0x1a0)
|
|
||||||
! CASEMBC(0x1d1) CASEMBC(0x1ea) CASEMBC(0x1ec) CASEMBC(0x1ece)
|
|
||||||
! EMIT2('O'); EMIT2(0322); EMIT2(0323); EMIT2(0324);
|
|
||||||
! EMIT2(0325); EMIT2(0326); EMIT2(0330);
|
|
||||||
! EMITMBC(0x14c) EMITMBC(0x14e) EMITMBC(0x150)
|
|
||||||
! EMITMBC(0x1a0) EMITMBC(0x1d1) EMITMBC(0x1ea)
|
|
||||||
! EMITMBC(0x1ec) EMITMBC(0x1ece)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'P': case 0x1e54: case 0x1e56:
|
|
||||||
! EMIT2('P'); EMITMBC(0x1e54) EMITMBC(0x1e56)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'R': CASEMBC(0x154) CASEMBC(0x156) CASEMBC(0x158)
|
|
||||||
! CASEMBC(0x1e58) CASEMBC(0x1e5e)
|
|
||||||
! EMIT2('R'); EMITMBC(0x154) EMITMBC(0x156) EMITMBC(0x158)
|
|
||||||
! EMITMBC(0x1e58) EMITMBC(0x1e5e)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'S': CASEMBC(0x15a) CASEMBC(0x15c) CASEMBC(0x15e)
|
|
||||||
! CASEMBC(0x160) CASEMBC(0x1e60)
|
|
||||||
! EMIT2('S'); EMITMBC(0x15a) EMITMBC(0x15c) EMITMBC(0x15e)
|
|
||||||
! EMITMBC(0x160) EMITMBC(0x1e60)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'T': CASEMBC(0x162) CASEMBC(0x164) CASEMBC(0x166)
|
|
||||||
! CASEMBC(0x1e6a) CASEMBC(0x1e6e)
|
|
||||||
! EMIT2('T'); EMITMBC(0x162) EMITMBC(0x164) EMITMBC(0x166)
|
|
||||||
! EMITMBC(0x1e6a) EMITMBC(0x1e6e)
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'U': case 0331: case 0332: case 0333: case 0334:
|
|
||||||
! CASEMBC(0x168) CASEMBC(0x16a) CASEMBC(0x16c) CASEMBC(0x16e)
|
|
||||||
! CASEMBC(0x170) CASEMBC(0x172) CASEMBC(0x1af) CASEMBC(0x1d3)
|
|
||||||
! CASEMBC(0x1ee6)
|
|
||||||
! EMIT2('U'); EMIT2(0331); EMIT2(0332); EMIT2(0333);
|
|
||||||
! EMIT2(0334); EMITMBC(0x168) EMITMBC(0x16a)
|
|
||||||
! EMITMBC(0x16c) EMITMBC(0x16e) EMITMBC(0x170)
|
|
||||||
! EMITMBC(0x172) EMITMBC(0x1af) EMITMBC(0x1d3)
|
|
||||||
! EMITMBC(0x1ee6)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'V': CASEMBC(0x1e7c)
|
|
||||||
! EMIT2('V'); EMITMBC(0x1e7c)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'W': CASEMBC(0x174) CASEMBC(0x1e80) CASEMBC(0x1e82)
|
|
||||||
! CASEMBC(0x1e84) CASEMBC(0x1e86)
|
|
||||||
! EMIT2('W'); EMITMBC(0x174) EMITMBC(0x1e80) EMITMBC(0x1e82)
|
|
||||||
! EMITMBC(0x1e84) EMITMBC(0x1e86)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'X': CASEMBC(0x1e8a) CASEMBC(0x1e8c)
|
|
||||||
! EMIT2('X'); EMITMBC(0x1e8a) EMITMBC(0x1e8c)
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'Y': case 0335:
|
|
||||||
! CASEMBC(0x176) CASEMBC(0x178) CASEMBC(0x1e8e) CASEMBC(0x1ef2)
|
|
||||||
! CASEMBC(0x1ef6) CASEMBC(0x1ef8)
|
|
||||||
! EMIT2('Y'); EMIT2(0335); EMITMBC(0x176) EMITMBC(0x178)
|
|
||||||
! EMITMBC(0x1e8e) EMITMBC(0x1ef2) EMITMBC(0x1ef6)
|
|
||||||
! EMITMBC(0x1ef8)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'Z': CASEMBC(0x179) CASEMBC(0x17b) CASEMBC(0x17d)
|
|
||||||
! CASEMBC(0x1b5) CASEMBC(0x1e90) CASEMBC(0x1e94)
|
|
||||||
! EMIT2('Z'); EMITMBC(0x179) EMITMBC(0x17b) EMITMBC(0x17d)
|
|
||||||
! EMITMBC(0x1b5) EMITMBC(0x1e90) EMITMBC(0x1e94)
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'a': case 0340: case 0341: case 0342:
|
|
||||||
case 0343: case 0344: case 0345:
|
|
||||||
! CASEMBC(0x101) CASEMBC(0x103) CASEMBC(0x105) CASEMBC(0x1ce)
|
|
||||||
! CASEMBC(0x1df) CASEMBC(0x1e1) CASEMBC(0x1ea3)
|
|
||||||
! EMIT2('a'); EMIT2(0340); EMIT2(0341); EMIT2(0342);
|
|
||||||
! EMIT2(0343); EMIT2(0344); EMIT2(0345);
|
|
||||||
! EMITMBC(0x101) EMITMBC(0x103) EMITMBC(0x105)
|
|
||||||
! EMITMBC(0x1ce) EMITMBC(0x1df) EMITMBC(0x1e1)
|
|
||||||
! EMITMBC(0x1ea3)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'b': CASEMBC(0x1e03) CASEMBC(0x1e07)
|
|
||||||
! EMIT2('b'); EMITMBC(0x1e03) EMITMBC(0x1e07)
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'c': case 0347:
|
|
||||||
! CASEMBC(0x107) CASEMBC(0x109) CASEMBC(0x10b) CASEMBC(0x10d)
|
|
||||||
! EMIT2('c'); EMIT2(0347); EMITMBC(0x107) EMITMBC(0x109)
|
|
||||||
! EMITMBC(0x10b) EMITMBC(0x10d)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'd': CASEMBC(0x10f) CASEMBC(0x111) CASEMBC(0x1d0b)
|
|
||||||
! CASEMBC(0x1e11)
|
|
||||||
! EMIT2('d'); EMITMBC(0x10f) EMITMBC(0x111) EMITMBC(0x1e0b)
|
|
||||||
! EMITMBC(0x01e0f) EMITMBC(0x1e11)
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'e': case 0350: case 0351: case 0352: case 0353:
|
|
||||||
! CASEMBC(0x113) CASEMBC(0x115) CASEMBC(0x117) CASEMBC(0x119)
|
|
||||||
! CASEMBC(0x11b) CASEMBC(0x1ebb) CASEMBC(0x1ebd)
|
|
||||||
! EMIT2('e'); EMIT2(0350); EMIT2(0351); EMIT2(0352);
|
|
||||||
! EMIT2(0353); EMITMBC(0x113) EMITMBC(0x115)
|
|
||||||
! EMITMBC(0x117) EMITMBC(0x119) EMITMBC(0x11b)
|
|
||||||
! EMITMBC(0x1ebb) EMITMBC(0x1ebd)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'f': CASEMBC(0x1e1f)
|
|
||||||
! EMIT2('f'); EMITMBC(0x1e1f)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'g': CASEMBC(0x11d) CASEMBC(0x11f) CASEMBC(0x121)
|
|
||||||
! CASEMBC(0x123) CASEMBC(0x1e5) CASEMBC(0x1e7) CASEMBC(0x1f5)
|
|
||||||
! CASEMBC(0x1e21)
|
|
||||||
! EMIT2('g'); EMITMBC(0x11d) EMITMBC(0x11f) EMITMBC(0x121)
|
|
||||||
! EMITMBC(0x123) EMITMBC(0x1e5) EMITMBC(0x1e7)
|
|
||||||
! EMITMBC(0x1f5) EMITMBC(0x1e21)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'h': CASEMBC(0x125) CASEMBC(0x127) CASEMBC(0x1e23)
|
|
||||||
! CASEMBC(0x1e27) CASEMBC(0x1e29) CASEMBC(0x1e96)
|
|
||||||
! EMIT2('h'); EMITMBC(0x125) EMITMBC(0x127) EMITMBC(0x1e23)
|
|
||||||
! EMITMBC(0x1e27) EMITMBC(0x1e29) EMITMBC(0x1e96)
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'i': case 0354: case 0355: case 0356: case 0357:
|
|
||||||
! CASEMBC(0x129) CASEMBC(0x12b) CASEMBC(0x12d) CASEMBC(0x12f)
|
|
||||||
! CASEMBC(0x1d0) CASEMBC(0x1ec9)
|
|
||||||
! EMIT2('i'); EMIT2(0354); EMIT2(0355); EMIT2(0356);
|
|
||||||
! EMIT2(0357); EMITMBC(0x129) EMITMBC(0x12b)
|
|
||||||
! EMITMBC(0x12d) EMITMBC(0x12f) EMITMBC(0x1d0)
|
|
||||||
! EMITMBC(0x1ec9)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'j': CASEMBC(0x135) CASEMBC(0x1f0)
|
|
||||||
! EMIT2('j'); EMITMBC(0x135) EMITMBC(0x1f0)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'k': CASEMBC(0x137) CASEMBC(0x1e9) CASEMBC(0x1e31)
|
|
||||||
! CASEMBC(0x1e35)
|
|
||||||
! EMIT2('k'); EMITMBC(0x137) EMITMBC(0x1e9) EMITMBC(0x1e31)
|
|
||||||
! EMITMBC(0x1e35)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'l': CASEMBC(0x13a) CASEMBC(0x13c) CASEMBC(0x13e)
|
|
||||||
! CASEMBC(0x140) CASEMBC(0x142) CASEMBC(0x1e3b)
|
|
||||||
! EMIT2('l'); EMITMBC(0x13a) EMITMBC(0x13c) EMITMBC(0x13e)
|
|
||||||
! EMITMBC(0x140) EMITMBC(0x142) EMITMBC(0x1e3b)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'm': CASEMBC(0x1e3f) CASEMBC(0x1e41)
|
|
||||||
! EMIT2('m'); EMITMBC(0x1e3f) EMITMBC(0x1e41)
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'n': case 0361:
|
|
||||||
! CASEMBC(0x144) CASEMBC(0x146) CASEMBC(0x148) CASEMBC(0x149)
|
|
||||||
! CASEMBC(0x1e45) CASEMBC(0x1e49)
|
|
||||||
! EMIT2('n'); EMIT2(0361); EMITMBC(0x144) EMITMBC(0x146)
|
|
||||||
! EMITMBC(0x148) EMITMBC(0x149) EMITMBC(0x1e45)
|
|
||||||
! EMITMBC(0x1e49)
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'o': case 0362: case 0363: case 0364: case 0365:
|
|
||||||
! case 0366: case 0370:
|
|
||||||
! CASEMBC(0x14d) CASEMBC(0x14f) CASEMBC(0x151) CASEMBC(0x1a1)
|
|
||||||
! CASEMBC(0x1d2) CASEMBC(0x1eb) CASEMBC(0x1ed) CASEMBC(0x1ecf)
|
|
||||||
! EMIT2('o'); EMIT2(0362); EMIT2(0363); EMIT2(0364);
|
|
||||||
! EMIT2(0365); EMIT2(0366); EMIT2(0370);
|
|
||||||
! EMITMBC(0x14d) EMITMBC(0x14f) EMITMBC(0x151)
|
|
||||||
! EMITMBC(0x1a1) EMITMBC(0x1d2) EMITMBC(0x1eb)
|
|
||||||
! EMITMBC(0x1ed) EMITMBC(0x1ecf)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'p': CASEMBC(0x1e55) CASEMBC(0x1e57)
|
|
||||||
! EMIT2('p'); EMITMBC(0x1e55) EMITMBC(0x1e57)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'r': CASEMBC(0x155) CASEMBC(0x157) CASEMBC(0x159)
|
|
||||||
! CASEMBC(0x1e59) CASEMBC(0x1e5f)
|
|
||||||
! EMIT2('r'); EMITMBC(0x155) EMITMBC(0x157) EMITMBC(0x159)
|
|
||||||
! EMITMBC(0x1e59) EMITMBC(0x1e5f)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 's': CASEMBC(0x15b) CASEMBC(0x15d) CASEMBC(0x15f)
|
|
||||||
! CASEMBC(0x161) CASEMBC(0x1e61)
|
|
||||||
! EMIT2('s'); EMITMBC(0x15b) EMITMBC(0x15d) EMITMBC(0x15f)
|
|
||||||
! EMITMBC(0x161) EMITMBC(0x1e61)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 't': CASEMBC(0x163) CASEMBC(0x165) CASEMBC(0x167)
|
|
||||||
! CASEMBC(0x1e6b) CASEMBC(0x1e6f) CASEMBC(0x1e97)
|
|
||||||
! EMIT2('t'); EMITMBC(0x163) EMITMBC(0x165) EMITMBC(0x167)
|
|
||||||
! EMITMBC(0x1e6b) EMITMBC(0x1e6f) EMITMBC(0x1e97)
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'u': case 0371: case 0372: case 0373: case 0374:
|
|
||||||
! CASEMBC(0x169) CASEMBC(0x16b) CASEMBC(0x16d) CASEMBC(0x16f)
|
|
||||||
! CASEMBC(0x171) CASEMBC(0x173) CASEMBC(0x1b0) CASEMBC(0x1d4)
|
|
||||||
! CASEMBC(0x1ee7)
|
|
||||||
! EMIT2('u'); EMIT2(0371); EMIT2(0372); EMIT2(0373);
|
|
||||||
! EMIT2(0374); EMITMBC(0x169) EMITMBC(0x16b)
|
|
||||||
! EMITMBC(0x16d) EMITMBC(0x16f) EMITMBC(0x171)
|
|
||||||
! EMITMBC(0x173) EMITMBC(0x1b0) EMITMBC(0x1d4)
|
|
||||||
! EMITMBC(0x1ee7)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'v': CASEMBC(0x1e7d)
|
|
||||||
! EMIT2('v'); EMITMBC(0x1e7d)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'w': CASEMBC(0x175) CASEMBC(0x1e81) CASEMBC(0x1e83)
|
|
||||||
! CASEMBC(0x1e85) CASEMBC(0x1e87) CASEMBC(0x1e98)
|
|
||||||
! EMIT2('w'); EMITMBC(0x175) EMITMBC(0x1e81) EMITMBC(0x1e83)
|
|
||||||
! EMITMBC(0x1e85) EMITMBC(0x1e87) EMITMBC(0x1e98)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'x': CASEMBC(0x1e8b) CASEMBC(0x1e8d)
|
|
||||||
! EMIT2('x'); EMITMBC(0x1e8b) EMITMBC(0x1e8d)
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
case 'y': case 0375: case 0377:
|
|
||||||
! CASEMBC(0x177) CASEMBC(0x1e8f) CASEMBC(0x1e99)
|
|
||||||
! CASEMBC(0x1ef3) CASEMBC(0x1ef7) CASEMBC(0x1ef9)
|
|
||||||
! EMIT2('y'); EMIT2(0375); EMIT2(0377); EMITMBC(0x177)
|
|
||||||
! EMITMBC(0x1e8f) EMITMBC(0x1e99) EMITMBC(0x1ef3)
|
|
||||||
! EMITMBC(0x1ef7) EMITMBC(0x1ef9)
|
|
||||||
! return OK;
|
|
||||||
!
|
|
||||||
! case 'z': CASEMBC(0x17a) CASEMBC(0x17c) CASEMBC(0x17e)
|
|
||||||
! CASEMBC(0x1b6) CASEMBC(0x1e91) CASEMBC(0x1e95)
|
|
||||||
! EMIT2('z'); EMITMBC(0x17a) EMITMBC(0x17c) EMITMBC(0x17e)
|
|
||||||
! EMITMBC(0x1b6) EMITMBC(0x1e91) EMITMBC(0x1e95)
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
! /* default: character itself */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
! EMIT2(c);
|
|
||||||
return OK;
|
|
||||||
#undef EMIT2
|
|
||||||
+ #undef EMITMBC
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
*** ../vim-7.4.027/src/testdir/test44.in 2013-05-26 14:16:31.000000000 +0200
|
|
||||||
--- src/testdir/test44.in 2013-09-19 16:49:14.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 1,9 ****
|
|
||||||
--- 1,11 ----
|
|
||||||
Tests for regexp with multi-byte encoding and various magic settings.
|
|
||||||
Test matchstr() with a count and multi-byte chars.
|
|
||||||
+ See test99 for exactly the same test with re=2.
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
:so mbyte.vim
|
|
||||||
:set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
|
|
||||||
+ :set re=1
|
|
||||||
/^1
|
|
||||||
/a*b\{2}c\+/e
|
|
||||||
x/\Md\*e\{2}f\+/e
|
|
||||||
*** ../vim-7.4.027/src/testdir/test99.in 2013-09-19 16:59:30.000000000 +0200
|
|
||||||
--- src/testdir/test99.in 2013-09-19 16:50:00.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 0 ****
|
|
||||||
--- 1,68 ----
|
|
||||||
+ Tests for regexp with multi-byte encoding and various magic settings.
|
|
||||||
+ Test matchstr() with a count and multi-byte chars.
|
|
||||||
+ See test44 for exactly the same test with re=1.
|
|
||||||
+
|
|
||||||
+ STARTTEST
|
|
||||||
+ :so mbyte.vim
|
|
||||||
+ :set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
|
|
||||||
+ :set re=2
|
|
||||||
+ /^1
|
|
||||||
+ /a*b\{2}c\+/e
|
|
||||||
+ x/\Md\*e\{2}f\+/e
|
|
||||||
+ x:set nomagic
|
|
||||||
+ /g\*h\{2}i\+/e
|
|
||||||
+ x/\mj*k\{2}l\+/e
|
|
||||||
+ x/\vm*n{2}o+/e
|
|
||||||
+ x/\V^aa$
|
|
||||||
+ x:set magic
|
|
||||||
+ /\v(a)(b)\2\1\1/e
|
|
||||||
+ x/\V[ab]\(\[xy]\)\1
|
|
||||||
+ x:" Now search for multi-byte without composing char
|
|
||||||
+ /ม
|
|
||||||
+ x:" Now search for multi-byte with composing char
|
|
||||||
+ /ม่
|
|
||||||
+ x:" find word by change of word class
|
|
||||||
+ /ã<>¡\<カヨ\>ã<>¯
|
|
||||||
+ x:" Test \%u, [\u] and friends
|
|
||||||
+ /\%u20ac
|
|
||||||
+ x/[\u4f7f\u5929]\+
|
|
||||||
+ x/\%U12345678
|
|
||||||
+ x/[\U1234abcd\u1234\uabcd]
|
|
||||||
+ x/\%d21879b
|
|
||||||
+ x/ [[=A=]]* [[=B=]]* [[=C=]]* [[=D=]]* [[=E=]]* [[=F=]]* [[=G=]]* [[=H=]]* [[=I=]]* [[=J=]]* [[=K=]]* [[=L=]]* [[=M=]]* [[=N=]]* [[=O=]]* [[=P=]]* [[=Q=]]* [[=R=]]* [[=S=]]* [[=T=]]* [[=U=]]* [[=V=]]* [[=W=]]* [[=X=]]* [[=Y=]]* [[=Z=]]*/e
|
|
||||||
+ x/ [[=a=]]* [[=b=]]* [[=c=]]* [[=d=]]* [[=e=]]* [[=f=]]* [[=g=]]* [[=h=]]* [[=i=]]* [[=j=]]* [[=k=]]* [[=l=]]* [[=m=]]* [[=n=]]* [[=o=]]* [[=p=]]* [[=q=]]* [[=r=]]* [[=s=]]* [[=t=]]* [[=u=]]* [[=v=]]* [[=w=]]* [[=x=]]* [[=y=]]* [[=z=]]*/e
|
|
||||||
+ x:" Test backwards search from a multi-byte char
|
|
||||||
+ /x
|
|
||||||
+ x?.
|
|
||||||
+ x:let @w=':%s#comb[i]nations#œ̄ṣÌ<C2A3>m̥̄ᾱ̆Ì<E280A0>#g'
|
|
||||||
+ :@w
|
|
||||||
+ :?^1?,$w! test.out
|
|
||||||
+ :e! test.out
|
|
||||||
+ G:put =matchstr(\"×<>בגד\", \".\", 0, 2) " ב
|
|
||||||
+ :put =matchstr(\"×<>בגד\", \"..\", 0, 2) " בג
|
|
||||||
+ :put =matchstr(\"×<>בגד\", \".\", 0, 0) " ×<>
|
|
||||||
+ :put =matchstr(\"×<>בגד\", \".\", 4, -1) " ×’
|
|
||||||
+ :w!
|
|
||||||
+ :qa!
|
|
||||||
+ ENDTEST
|
|
||||||
+
|
|
||||||
+ 1 a aa abb abbccc
|
|
||||||
+ 2 d dd dee deefff
|
|
||||||
+ 3 g gg ghh ghhiii
|
|
||||||
+ 4 j jj jkk jkklll
|
|
||||||
+ 5 m mm mnn mnnooo
|
|
||||||
+ 6 x ^aa$ x
|
|
||||||
+ 7 (a)(b) abbaa
|
|
||||||
+ 8 axx [ab]xx
|
|
||||||
+ 9 หม่x à¸à¸¡x
|
|
||||||
+ a à¸à¸¡x หม่x
|
|
||||||
+ b ã<>¡ã‚«ãƒ¨ã<C2A8>¯
|
|
||||||
+ c x ¬€x
|
|
||||||
+ d 天使x
|
|
||||||
+ e ü’<C3BC>…™¸y
|
|
||||||
+ f ü’<C3BC>Н<C5A0>z
|
|
||||||
+ g aå•·bb
|
|
||||||
+ h AÀÃ<E282AC>ÂÃÄÅĀĂĄÇ<E2809E>ÇžÇ áº¢ BḂḆ CÇĆĈĊČ DÄŽÄ<C5BD>ḊḎá¸<C3A1> EÈÉÊËĒĔĖĘĚẺẼ FḞ GÄœÄžÄ Ä¢Ç¤Ç¦Ç´á¸ HĤĦḢḦḨ IÃŒÃ<C592>ÃŽÃ<C5BD>ĨĪĬĮİÇ<C2B0>Ỉ JÄ´ KĶǨḰḴ LĹĻĽĿÅ<C2BF>Ḻ MḾṀ NÑŃŅŇṄṈ OÒÓÔÕÖØŌŎÅ<C5BD>Æ Ç‘ÇªÇ¬á»Ž PṔṖ Q RŔŖŘṘṞ SŚŜŞŠṠTŢŤŦṪṮ UÙÚÛÜŨŪŬŮŰŲƯǓỦ Vá¹¼ WŴẀẂẄẆ XẊẌ YÃ<59>ŶŸẎỲỶỸ ZŹŻŽƵáº<C3A1>Ẕ
|
|
||||||
+ i aà áâãäåÄ<C2A5>ăąǎǟǡả bḃḇ cçćĉċÄ<E280B9> dÄ<64>đḋá¸<C3A1>ḑ eèéêëēĕėęěẻẽ fḟ gÄ<67>ğġģǥǧǵḡ hĥħḣḧḩẖ iìÃîïĩīÄįÇ<C2AF>ỉ jĵǰ kķǩḱḵ lĺļľŀłḻ mḿá¹<C3A1> nñńņňʼnṅṉ oòóôõöøÅ<C2B8>Å<EFBFBD>őơǒǫÇá»<C3A1> pṕṗ q rŕŗřṙṟ sÅ›Å<E280BA>şšṡ tţťŧṫṯẗ uùúûüũūÅůűųưǔủ vá¹½ wŵáº<C3A1>ẃẅẇẘ xẋáº<C3A1> yýÿŷáº<C3A1>ẙỳỷỹ zźżžƶẑẕ
|
|
||||||
+ j 0123â<33>¤x
|
|
||||||
+ k combinations
|
|
||||||
*** ../vim-7.4.027/src/testdir/test99.ok 2013-09-19 16:59:30.000000000 +0200
|
|
||||||
--- src/testdir/test99.ok 2013-09-19 16:50:16.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 0 ****
|
|
||||||
--- 1,24 ----
|
|
||||||
+ 1 a aa abb abbcc
|
|
||||||
+ 2 d dd dee deeff
|
|
||||||
+ 3 g gg ghh ghhii
|
|
||||||
+ 4 j jj jkk jkkll
|
|
||||||
+ 5 m mm mnn mnnoo
|
|
||||||
+ 6 x aa$ x
|
|
||||||
+ 7 (a)(b) abba
|
|
||||||
+ 8 axx ab]xx
|
|
||||||
+ 9 หม่x à¸x
|
|
||||||
+ a à¸à¸¡x หx
|
|
||||||
+ b カヨã<C2A8>¯
|
|
||||||
+ c x ¬x
|
|
||||||
+ d 使x
|
|
||||||
+ e y
|
|
||||||
+ f z
|
|
||||||
+ g abb
|
|
||||||
+ h AÀÃ<E282AC>ÂÃÄÅĀĂĄÇ<E2809E>ÇžÇ áº¢ BḂḆ CÇĆĈĊČ DÄŽÄ<C5BD>ḊḎá¸<C3A1> EÈÉÊËĒĔĖĘĚẺẼ FḞ GÄœÄžÄ Ä¢Ç¤Ç¦Ç´á¸ HĤĦḢḦḨ IÃŒÃ<C592>ÃŽÃ<C5BD>ĨĪĬĮİÇ<C2B0>Ỉ JÄ´ KĶǨḰḴ LĹĻĽĿÅ<C2BF>Ḻ MḾṀ NÑŃŅŇṄṈ OÒÓÔÕÖØŌŎÅ<C5BD>Æ Ç‘ÇªÇ¬á»Ž PṔṖ Q RŔŖŘṘṞ SŚŜŞŠṠTŢŤŦṪṮ UÙÚÛÜŨŪŬŮŰŲƯǓỦ Vá¹¼ WŴẀẂẄẆ XẊẌ YÃ<59>ŶŸẎỲỶỸ ZŹŻŽƵáº<C3A1>
|
|
||||||
+ i aà áâãäåÄ<C2A5>ăąǎǟǡả bḃḇ cçćĉċÄ<E280B9> dÄ<64>đḋá¸<C3A1>ḑ eèéêëēĕėęěẻẽ fḟ gÄ<67>ğġģǥǧǵḡ hĥħḣḧḩẖ iìÃîïĩīÄįÇ<C2AF>ỉ jĵǰ kķǩḱḵ lĺļľŀłḻ mḿá¹<C3A1> nñńņňʼnṅṉ oòóôõöøÅ<C2B8>Å<EFBFBD>őơǒǫÇá»<C3A1> pṕṗ q rŕŗřṙṟ sÅ›Å<E280BA>şšṡ tţťŧṫṯẗ uùúûüũūÅůűųưǔủ vá¹½ wŵáº<C3A1>ẃẅẇẘ xẋáº<C3A1> yýÿŷáº<C3A1>ẙỳỷỹ zźżžƶẑ
|
|
||||||
+ j 012â<32>¤
|
|
||||||
+ k œ̄ṣÌ<C2A3>m̥̄ᾱ̆Ì<E280A0>
|
|
||||||
+ ב
|
|
||||||
+ בג
|
|
||||||
+ ×<>
|
|
||||||
+ ×’
|
|
||||||
*** ../vim-7.4.027/src/testdir/Make_amiga.mak 2013-07-09 13:40:02.000000000 +0200
|
|
||||||
--- src/testdir/Make_amiga.mak 2013-09-19 16:51:48.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 33,39 ****
|
|
||||||
test76.out test77.out test78.out test79.out test80.out \
|
|
||||||
test81.out test82.out test83.out test84.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
! test94.out test95.out test96.out test97.out test98.out
|
|
||||||
|
|
||||||
.SUFFIXES: .in .out
|
|
||||||
|
|
||||||
--- 33,40 ----
|
|
||||||
test76.out test77.out test78.out test79.out test80.out \
|
|
||||||
test81.out test82.out test83.out test84.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
! test94.out test95.out test96.out test97.out test98.out \
|
|
||||||
! test99.out
|
|
||||||
|
|
||||||
.SUFFIXES: .in .out
|
|
||||||
|
|
||||||
***************
|
|
||||||
*** 148,150 ****
|
|
||||||
--- 149,152 ----
|
|
||||||
test96.out: test96.in
|
|
||||||
test97.out: test97.in
|
|
||||||
test98.out: test98.in
|
|
||||||
+ test99.out: test99.in
|
|
||||||
*** ../vim-7.4.027/src/testdir/Make_dos.mak 2013-07-09 13:40:30.000000000 +0200
|
|
||||||
--- src/testdir/Make_dos.mak 2013-09-19 16:51:56.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 32,38 ****
|
|
||||||
test79.out test80.out test81.out test82.out test83.out \
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
! test94.out test95.out test96.out test98.out
|
|
||||||
|
|
||||||
SCRIPTS32 = test50.out test70.out
|
|
||||||
|
|
||||||
--- 32,38 ----
|
|
||||||
test79.out test80.out test81.out test82.out test83.out \
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
! test94.out test95.out test96.out test98.out test99.out
|
|
||||||
|
|
||||||
SCRIPTS32 = test50.out test70.out
|
|
||||||
|
|
||||||
*** ../vim-7.4.027/src/testdir/Make_ming.mak 2013-07-09 13:40:38.000000000 +0200
|
|
||||||
--- src/testdir/Make_ming.mak 2013-09-19 16:52:01.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 52,58 ****
|
|
||||||
test79.out test80.out test81.out test82.out test83.out \
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
! test94.out test95.out test96.out test98.out
|
|
||||||
|
|
||||||
SCRIPTS32 = test50.out test70.out
|
|
||||||
|
|
||||||
--- 52,58 ----
|
|
||||||
test79.out test80.out test81.out test82.out test83.out \
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
! test94.out test95.out test96.out test98.out test99.out
|
|
||||||
|
|
||||||
SCRIPTS32 = test50.out test70.out
|
|
||||||
|
|
||||||
*** ../vim-7.4.027/src/testdir/Make_os2.mak 2013-07-09 13:40:43.000000000 +0200
|
|
||||||
--- src/testdir/Make_os2.mak 2013-09-19 16:52:07.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 34,40 ****
|
|
||||||
test76.out test77.out test78.out test79.out test80.out \
|
|
||||||
test81.out test82.out test83.out test84.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
! test94.out test95.out test96.out test98.out
|
|
||||||
|
|
||||||
.SUFFIXES: .in .out
|
|
||||||
|
|
||||||
--- 34,40 ----
|
|
||||||
test76.out test77.out test78.out test79.out test80.out \
|
|
||||||
test81.out test82.out test83.out test84.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
! test94.out test95.out test96.out test98.out test99.out
|
|
||||||
|
|
||||||
.SUFFIXES: .in .out
|
|
||||||
|
|
||||||
*** ../vim-7.4.027/src/testdir/Make_vms.mms 2013-07-09 13:40:47.000000000 +0200
|
|
||||||
--- src/testdir/Make_vms.mms 2013-09-19 16:52:13.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 4,10 ****
|
|
||||||
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
|
|
||||||
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
|
|
||||||
#
|
|
||||||
! # Last change: 2013 Jul 09
|
|
||||||
#
|
|
||||||
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
|
|
||||||
# Edit the lines in the Configuration section below to select.
|
|
||||||
--- 4,10 ----
|
|
||||||
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
|
|
||||||
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
|
|
||||||
#
|
|
||||||
! # Last change: 2013 Sep 19
|
|
||||||
#
|
|
||||||
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
|
|
||||||
# Edit the lines in the Configuration section below to select.
|
|
||||||
***************
|
|
||||||
*** 78,84 ****
|
|
||||||
test77.out test78.out test79.out test80.out test81.out \
|
|
||||||
test82.out test83.out test84.out test88.out test89.out \
|
|
||||||
test90.out test91.out test92.out test93.out test94.out \
|
|
||||||
! test95.out test96.out test97.out test98.out
|
|
||||||
|
|
||||||
# Known problems:
|
|
||||||
# Test 30: a problem around mac format - unknown reason
|
|
||||||
--- 78,84 ----
|
|
||||||
test77.out test78.out test79.out test80.out test81.out \
|
|
||||||
test82.out test83.out test84.out test88.out test89.out \
|
|
||||||
test90.out test91.out test92.out test93.out test94.out \
|
|
||||||
! test95.out test96.out test97.out test98.out test99.out
|
|
||||||
|
|
||||||
# Known problems:
|
|
||||||
# Test 30: a problem around mac format - unknown reason
|
|
||||||
*** ../vim-7.4.027/src/testdir/Makefile 2013-08-10 14:20:20.000000000 +0200
|
|
||||||
--- src/testdir/Makefile 2013-09-19 16:52:22.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 29,35 ****
|
|
||||||
test79.out test80.out test81.out test82.out test83.out \
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
! test94.out test95.out test96.out test97.out test98.out
|
|
||||||
|
|
||||||
SCRIPTS_GUI = test16.out
|
|
||||||
|
|
||||||
--- 29,36 ----
|
|
||||||
test79.out test80.out test81.out test82.out test83.out \
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
! test94.out test95.out test96.out test97.out test98.out \
|
|
||||||
! test99.out
|
|
||||||
|
|
||||||
SCRIPTS_GUI = test16.out
|
|
||||||
|
|
||||||
*** ../vim-7.4.027/src/version.c 2013-09-08 20:00:45.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-19 13:54:35.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 28,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
hundred-and-one symptoms of being an internet addict:
|
|
||||||
232. You start conversations with, "Have you gotten an ISDN line?"
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
63
7.4.029
63
7.4.029
@ -1,63 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.029
|
|
||||||
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.4.029
|
|
||||||
Problem: An error in a pattern is reported twice.
|
|
||||||
Solution: Remove the retry with the backtracking engine, it won't work.
|
|
||||||
Files: src/regexp.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.028/src/regexp.c 2013-08-25 17:01:36.000000000 +0200
|
|
||||||
--- src/regexp.c 2013-09-19 17:03:31.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 8016,8027 ****
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
/*
|
|
||||||
! * If NFA engine failed, then revert to the backtracking engine.
|
|
||||||
! * Except when there was a syntax error, which was properly handled by
|
|
||||||
! * NFA engine.
|
|
||||||
! */
|
|
||||||
if (regexp_engine == AUTOMATIC_ENGINE)
|
|
||||||
prog = bt_regengine.regcomp(expr, re_flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
return prog;
|
|
||||||
--- 8016,8026 ----
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
/*
|
|
||||||
! * If the NFA engine failed, the backtracking engine won't work either.
|
|
||||||
! *
|
|
||||||
if (regexp_engine == AUTOMATIC_ENGINE)
|
|
||||||
prog = bt_regengine.regcomp(expr, re_flags);
|
|
||||||
+ */
|
|
||||||
}
|
|
||||||
|
|
||||||
return prog;
|
|
||||||
*** ../vim-7.4.028/src/version.c 2013-09-19 17:00:14.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-19 17:01:13.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 29,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
The term "free software" is defined by Richard M. Stallman as
|
|
||||||
being software that isn't necessarily for free. Confusing?
|
|
||||||
Let's call it "Stallman software" then!
|
|
||||||
-- Bram Moolenaar
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
109
7.4.030
109
7.4.030
@ -1,109 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.030
|
|
||||||
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.4.030
|
|
||||||
Problem: The -mno-cygwin argument is no longer supported by Cygwin.
|
|
||||||
Solution: Remove the arguments. (Steve Hall)
|
|
||||||
Files: src/GvimExt/Make_cyg.mak, src/Make_cyg.mak, src/xxd/Make_cyg.mak
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.029/src/GvimExt/Make_cyg.mak 2011-09-30 16:45:49.000000000 +0200
|
|
||||||
--- src/GvimExt/Make_cyg.mak 2013-09-19 20:46:46.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 31,42 ****
|
|
||||||
ifeq ($(CROSS),yes)
|
|
||||||
DEL = rm
|
|
||||||
ifeq ($(MINGWOLD),yes)
|
|
||||||
! CXXFLAGS := -O2 -mno-cygwin -fvtable-thunks
|
|
||||||
else
|
|
||||||
! CXXFLAGS := -O2 -mno-cygwin
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
! CXXFLAGS := -O2 -mno-cygwin
|
|
||||||
ifneq (sh.exe, $(SHELL))
|
|
||||||
DEL = rm
|
|
||||||
else
|
|
||||||
--- 31,42 ----
|
|
||||||
ifeq ($(CROSS),yes)
|
|
||||||
DEL = rm
|
|
||||||
ifeq ($(MINGWOLD),yes)
|
|
||||||
! CXXFLAGS := -O2 -fvtable-thunks
|
|
||||||
else
|
|
||||||
! CXXFLAGS := -O2
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
! CXXFLAGS := -O2
|
|
||||||
ifneq (sh.exe, $(SHELL))
|
|
||||||
DEL = rm
|
|
||||||
else
|
|
||||||
*** ../vim-7.4.029/src/Make_cyg.mak 2013-07-06 13:32:11.000000000 +0200
|
|
||||||
--- src/Make_cyg.mak 2013-09-19 20:46:55.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 1,6 ****
|
|
||||||
#
|
|
||||||
# Makefile for VIM on Win32, using Cygnus gcc
|
|
||||||
! # Last updated by Dan Sharp. Last Change: 2013 Apr 22
|
|
||||||
#
|
|
||||||
# Also read INSTALLpc.txt!
|
|
||||||
#
|
|
||||||
--- 1,6 ----
|
|
||||||
#
|
|
||||||
# Makefile for VIM on Win32, using Cygnus gcc
|
|
||||||
! # Last updated by Dan Sharp. Last Change: 2013 Sep 19
|
|
||||||
#
|
|
||||||
# Also read INSTALLpc.txt!
|
|
||||||
#
|
|
||||||
***************
|
|
||||||
*** 439,446 ****
|
|
||||||
##############################
|
|
||||||
ifeq (yes, $(USEDLL))
|
|
||||||
DEFINES += -D_MAX_PATH=256 -D__CYGWIN__
|
|
||||||
- else
|
|
||||||
- INCLUDES += -mno-cygwin
|
|
||||||
endif
|
|
||||||
|
|
||||||
##############################
|
|
||||||
--- 439,444 ----
|
|
||||||
*** ../vim-7.4.029/src/xxd/Make_cyg.mak 2010-05-15 13:04:06.000000000 +0200
|
|
||||||
--- src/xxd/Make_cyg.mak 2013-09-19 20:47:05.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 8,14 ****
|
|
||||||
DEFINES =
|
|
||||||
LIBS = -lc
|
|
||||||
else
|
|
||||||
! DEFINES = -mno-cygwin
|
|
||||||
LIBS =
|
|
||||||
endif
|
|
||||||
|
|
||||||
--- 8,14 ----
|
|
||||||
DEFINES =
|
|
||||||
LIBS = -lc
|
|
||||||
else
|
|
||||||
! DEFINES =
|
|
||||||
LIBS =
|
|
||||||
endif
|
|
||||||
|
|
||||||
*** ../vim-7.4.029/src/version.c 2013-09-19 17:03:57.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-19 20:46:32.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 30,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
hundred-and-one symptoms of being an internet addict:
|
|
||||||
237. You tattoo your email address on your forehead.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
54
7.4.031
54
7.4.031
@ -1,54 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.031
|
|
||||||
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.4.031
|
|
||||||
Problem: ":diffoff!" resets options even when 'diff' is not set. (Charles
|
|
||||||
Cooper)
|
|
||||||
Solution: Only resets related options in a window where 'diff' is set.
|
|
||||||
Files: src/diff.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.030/src/diff.c 2013-07-17 13:43:15.000000000 +0200
|
|
||||||
--- src/diff.c 2013-09-20 19:58:47.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 1203,1209 ****
|
|
||||||
|
|
||||||
for (wp = firstwin; wp != NULL; wp = wp->w_next)
|
|
||||||
{
|
|
||||||
! if (wp == curwin || (eap->forceit && wp->w_p_diff))
|
|
||||||
{
|
|
||||||
/* Set 'diff', 'scrollbind' off and 'wrap' on. If option values
|
|
||||||
* were saved in diff_win_options() restore them. */
|
|
||||||
--- 1203,1209 ----
|
|
||||||
|
|
||||||
for (wp = firstwin; wp != NULL; wp = wp->w_next)
|
|
||||||
{
|
|
||||||
! if (eap->forceit ? wp->w_p_diff : wp == curwin)
|
|
||||||
{
|
|
||||||
/* Set 'diff', 'scrollbind' off and 'wrap' on. If option values
|
|
||||||
* were saved in diff_win_options() restore them. */
|
|
||||||
*** ../vim-7.4.030/src/version.c 2013-09-19 20:48:59.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-20 19:59:45.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 31,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
"Marriage is a wonderful institution...
|
|
||||||
but who wants to live in an institution?"
|
|
||||||
- Groucho Marx
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
82
7.4.032
82
7.4.032
@ -1,82 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.032
|
|
||||||
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.4.032
|
|
||||||
Problem: NFA engine does not match the NUL character. (Jonathon Merz)
|
|
||||||
Solution: Ues 0x0a instead of NUL. (Christian Brabandt)
|
|
||||||
Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.031/src/regexp_nfa.c 2013-09-19 17:00:14.000000000 +0200
|
|
||||||
--- src/regexp_nfa.c 2013-09-22 13:53:46.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 1383,1390 ****
|
|
||||||
EMSG2_RET_FAIL(
|
|
||||||
_("E678: Invalid character after %s%%[dxouU]"),
|
|
||||||
reg_magic == MAGIC_ALL);
|
|
||||||
/* TODO: what if a composing character follows? */
|
|
||||||
! EMIT(nr);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
--- 1383,1391 ----
|
|
||||||
EMSG2_RET_FAIL(
|
|
||||||
_("E678: Invalid character after %s%%[dxouU]"),
|
|
||||||
reg_magic == MAGIC_ALL);
|
|
||||||
+ /* A NUL is stored in the text as NL */
|
|
||||||
/* TODO: what if a composing character follows? */
|
|
||||||
! EMIT(nr == 0 ? 0x0a : nr);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
*** ../vim-7.4.031/src/testdir/test64.in 2013-09-05 21:15:38.000000000 +0200
|
|
||||||
--- src/testdir/test64.in 2013-09-22 13:51:53.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 373,378 ****
|
|
||||||
--- 373,379 ----
|
|
||||||
:call add(tl, [2, '\%x20', 'yes no', ' '])
|
|
||||||
:call add(tl, [2, '\%u0020', 'yes no', ' '])
|
|
||||||
:call add(tl, [2, '\%U00000020', 'yes no', ' '])
|
|
||||||
+ :call add(tl, [2, '\%d0', "yes\x0ano", "\x0a"])
|
|
||||||
:"
|
|
||||||
:""""" \%[abc]
|
|
||||||
:call add(tl, [2, 'foo\%[bar]', 'fobar'])
|
|
||||||
*** ../vim-7.4.031/src/testdir/test64.ok 2013-09-05 21:15:38.000000000 +0200
|
|
||||||
--- src/testdir/test64.ok 2013-09-22 13:52:41.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 863,868 ****
|
|
||||||
--- 863,871 ----
|
|
||||||
OK 0 - \%U00000020
|
|
||||||
OK 1 - \%U00000020
|
|
||||||
OK 2 - \%U00000020
|
|
||||||
+ OK 0 - \%d0
|
|
||||||
+ OK 1 - \%d0
|
|
||||||
+ OK 2 - \%d0
|
|
||||||
OK 0 - foo\%[bar]
|
|
||||||
OK 1 - foo\%[bar]
|
|
||||||
OK 2 - foo\%[bar]
|
|
||||||
*** ../vim-7.4.031/src/version.c 2013-09-20 20:13:48.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-22 13:56:45.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 32,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
hundred-and-one symptoms of being an internet addict:
|
|
||||||
247. You use www.switchboard.com instead of dialing 411 and 555-12-12
|
|
||||||
for directory assistance.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
116
7.4.033
116
7.4.033
@ -1,116 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.033
|
|
||||||
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.4.033
|
|
||||||
Problem: When the terminal has only 20 lines test 92 and 93 overwrite the
|
|
||||||
input file.
|
|
||||||
Solution: Explicitly write test.out. Check that the terminal is large enough
|
|
||||||
to run the tests. (Hirohito Higashi)
|
|
||||||
Files: src/testdir/test92.in, src/testdir/test93.in,
|
|
||||||
src/testdir/test1.in, src/testdir/Makefile
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.032/src/testdir/test92.in 2013-04-18 23:33:45.000000000 +0200
|
|
||||||
--- src/testdir/test92.in 2013-09-22 14:45:06.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 33,39 ****
|
|
||||||
:mksession! test.out
|
|
||||||
:new test.out
|
|
||||||
:v/\(^ *normal! 0\|^ *exe 'normal!\)/d
|
|
||||||
! :w
|
|
||||||
:qa!
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
--- 33,39 ----
|
|
||||||
:mksession! test.out
|
|
||||||
:new test.out
|
|
||||||
:v/\(^ *normal! 0\|^ *exe 'normal!\)/d
|
|
||||||
! :w! test.out
|
|
||||||
:qa!
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
*** ../vim-7.4.032/src/testdir/test93.in 2013-02-26 17:13:01.000000000 +0100
|
|
||||||
--- src/testdir/test93.in 2013-09-22 14:45:17.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 33,39 ****
|
|
||||||
:mksession! test.out
|
|
||||||
:new test.out
|
|
||||||
:v/\(^ *normal! 0\|^ *exe 'normal!\)/d
|
|
||||||
! :w
|
|
||||||
:qa!
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
--- 33,39 ----
|
|
||||||
:mksession! test.out
|
|
||||||
:new test.out
|
|
||||||
:v/\(^ *normal! 0\|^ *exe 'normal!\)/d
|
|
||||||
! :w! test.out
|
|
||||||
:qa!
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
*** ../vim-7.4.032/src/testdir/test1.in 2012-04-05 16:37:37.000000000 +0200
|
|
||||||
--- src/testdir/test1.in 2013-09-22 14:52:43.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 18,23 ****
|
|
||||||
--- 18,27 ----
|
|
||||||
Similar logic is applied to the +lua feature, using lua.vim.
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
+ :" If columns or lines are too small, create wrongtermsize.
|
|
||||||
+ :" (Some tests will fail. When columns and/or lines are small)
|
|
||||||
+ :if &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif
|
|
||||||
+ :"
|
|
||||||
:" Write a single line to test.out to check if testing works at all.
|
|
||||||
:%d
|
|
||||||
athis is a test:w! test.out
|
|
||||||
*** ../vim-7.4.032/src/testdir/Makefile 2013-09-19 17:00:14.000000000 +0200
|
|
||||||
--- src/testdir/Makefile 2013-09-22 14:54:39.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 58,66 ****
|
|
||||||
-rm -rf *.out *.failed *.rej *.orig test.log $(RM_ON_RUN) $(RM_ON_START) valgrind.*
|
|
||||||
|
|
||||||
test1.out: test1.in
|
|
||||||
! -rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START)
|
|
||||||
$(RUN_VIM) $*.in
|
|
||||||
! @/bin/sh -c "if diff test.out $*.ok; \
|
|
||||||
then mv -f test.out $*.out; \
|
|
||||||
else echo; \
|
|
||||||
echo test1 FAILED - Something basic is wrong; \
|
|
||||||
--- 58,70 ----
|
|
||||||
-rm -rf *.out *.failed *.rej *.orig test.log $(RM_ON_RUN) $(RM_ON_START) valgrind.*
|
|
||||||
|
|
||||||
test1.out: test1.in
|
|
||||||
! -rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START) wrongtermsize
|
|
||||||
$(RUN_VIM) $*.in
|
|
||||||
! @/bin/sh -c "if test -e wrongtermsize; \
|
|
||||||
! then echo; \
|
|
||||||
! echo test1 FAILED - terminal size must be 80x24 or larger; \
|
|
||||||
! echo; exit 1; \
|
|
||||||
! elif diff test.out $*.ok; \
|
|
||||||
then mv -f test.out $*.out; \
|
|
||||||
else echo; \
|
|
||||||
echo test1 FAILED - Something basic is wrong; \
|
|
||||||
*** ../vim-7.4.032/src/version.c 2013-09-22 13:57:19.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-22 15:02:04.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 33,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
hundred-and-one symptoms of being an internet addict:
|
|
||||||
248. You sign your letters with your e-mail address instead of your name.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
180
7.4.034
180
7.4.034
@ -1,180 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.034
|
|
||||||
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.4.034
|
|
||||||
Problem: Using "p" in Visual block mode only changes the first line.
|
|
||||||
Solution: Repeat the put in all text in the block. (Christian Brabandt)
|
|
||||||
Files: runtime/doc/change.txt, src/ops.c, src/normal.c,
|
|
||||||
src/testdir/test20.in, src/testdir/test20.ok
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.033/runtime/doc/change.txt 2013-08-10 13:24:52.000000000 +0200
|
|
||||||
--- runtime/doc/change.txt 2013-09-22 15:12:20.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 1069,1074 ****
|
|
||||||
--- 1069,1079 ----
|
|
||||||
replace and use "0p . You can repeat this as many times as you like, the
|
|
||||||
unnamed register will be changed each time.
|
|
||||||
|
|
||||||
+ When you use a blockwise Visual mode command and yank only a single line into
|
|
||||||
+ a register, a paste on a visual selected area will paste that single line on
|
|
||||||
+ each of the selected lines (thus replacing the blockwise selected region by a
|
|
||||||
+ block of the pasted line).
|
|
||||||
+
|
|
||||||
*blockwise-register*
|
|
||||||
If you use a blockwise Visual mode command to get the text into the register,
|
|
||||||
the block of text will be inserted before ("P") or after ("p") the cursor
|
|
||||||
*** ../vim-7.4.033/src/ops.c 2013-08-09 19:34:32.000000000 +0200
|
|
||||||
--- src/ops.c 2013-09-22 15:18:03.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 3776,3800 ****
|
|
||||||
*/
|
|
||||||
if (y_type == MCHAR && y_size == 1)
|
|
||||||
{
|
|
||||||
! totlen = count * yanklen;
|
|
||||||
! if (totlen)
|
|
||||||
! {
|
|
||||||
! oldp = ml_get(lnum);
|
|
||||||
! newp = alloc_check((unsigned)(STRLEN(oldp) + totlen + 1));
|
|
||||||
! if (newp == NULL)
|
|
||||||
! goto end; /* alloc() will give error message */
|
|
||||||
! mch_memmove(newp, oldp, (size_t)col);
|
|
||||||
! ptr = newp + col;
|
|
||||||
! for (i = 0; i < count; ++i)
|
|
||||||
{
|
|
||||||
! mch_memmove(ptr, y_array[0], (size_t)yanklen);
|
|
||||||
! ptr += yanklen;
|
|
||||||
}
|
|
||||||
! STRMOVE(ptr, oldp + col);
|
|
||||||
! ml_replace(lnum, newp, FALSE);
|
|
||||||
! /* Put cursor on last putted char. */
|
|
||||||
! curwin->w_cursor.col += (colnr_T)(totlen - 1);
|
|
||||||
! }
|
|
||||||
curbuf->b_op_end = curwin->w_cursor;
|
|
||||||
/* For "CTRL-O p" in Insert mode, put cursor after last char */
|
|
||||||
if (totlen && (restart_edit != 0 || (flags & PUT_CURSEND)))
|
|
||||||
--- 3776,3817 ----
|
|
||||||
*/
|
|
||||||
if (y_type == MCHAR && y_size == 1)
|
|
||||||
{
|
|
||||||
! do {
|
|
||||||
! totlen = count * yanklen;
|
|
||||||
! if (totlen > 0)
|
|
||||||
{
|
|
||||||
! oldp = ml_get(lnum);
|
|
||||||
! newp = alloc_check((unsigned)(STRLEN(oldp) + totlen + 1));
|
|
||||||
! if (newp == NULL)
|
|
||||||
! goto end; /* alloc() gave an error message */
|
|
||||||
! mch_memmove(newp, oldp, (size_t)col);
|
|
||||||
! ptr = newp + col;
|
|
||||||
! for (i = 0; i < count; ++i)
|
|
||||||
! {
|
|
||||||
! mch_memmove(ptr, y_array[0], (size_t)yanklen);
|
|
||||||
! ptr += yanklen;
|
|
||||||
! }
|
|
||||||
! STRMOVE(ptr, oldp + col);
|
|
||||||
! ml_replace(lnum, newp, FALSE);
|
|
||||||
! /* Place cursor on last putted char. */
|
|
||||||
! if (lnum == curwin->w_cursor.lnum)
|
|
||||||
! curwin->w_cursor.col += (colnr_T)(totlen - 1);
|
|
||||||
}
|
|
||||||
! #ifdef FEAT_VISUAL
|
|
||||||
! if (VIsual_active)
|
|
||||||
! lnum++;
|
|
||||||
! #endif
|
|
||||||
! } while (
|
|
||||||
! #ifdef FEAT_VISUAL
|
|
||||||
! VIsual_active && lnum <= curbuf->b_visual.vi_end.lnum
|
|
||||||
! #else
|
|
||||||
! FALSE /* stop after 1 paste */
|
|
||||||
! #endif
|
|
||||||
! );
|
|
||||||
! #ifdef FEAT_VISUAL
|
|
||||||
! VIsual_active = FALSE;
|
|
||||||
! #endif
|
|
||||||
!
|
|
||||||
curbuf->b_op_end = curwin->w_cursor;
|
|
||||||
/* For "CTRL-O p" in Insert mode, put cursor after last char */
|
|
||||||
if (totlen && (restart_edit != 0 || (flags & PUT_CURSEND)))
|
|
||||||
*** ../vim-7.4.033/src/normal.c 2013-07-14 13:24:37.000000000 +0200
|
|
||||||
--- src/normal.c 2013-09-22 15:15:18.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 9518,9523 ****
|
|
||||||
--- 9518,9525 ----
|
|
||||||
/* cursor is at the end of the line or end of file, put
|
|
||||||
* forward. */
|
|
||||||
dir = FORWARD;
|
|
||||||
+ /* May have been reset in do_put(). */
|
|
||||||
+ VIsual_active = TRUE;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
do_put(cap->oap->regname, dir, cap->count1, flags);
|
|
||||||
*** ../vim-7.4.033/src/testdir/test20.in 2010-05-15 13:04:10.000000000 +0200
|
|
||||||
--- src/testdir/test20.in 2013-09-22 15:11:37.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 9,19 ****
|
|
||||||
@auY:quit!
|
|
||||||
GP
|
|
||||||
/start here$
|
|
||||||
! jjlld
|
|
||||||
! :/here$/,$-1w! test.out
|
|
||||||
:qa!
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
test text test tex start here
|
|
||||||
some text
|
|
||||||
test text
|
|
||||||
--- 9,25 ----
|
|
||||||
@auY:quit!
|
|
||||||
GP
|
|
||||||
/start here$
|
|
||||||
! "by$jjlld
|
|
||||||
! /456$
|
|
||||||
! jj"bP
|
|
||||||
! :/56$/,$-1w! test.out
|
|
||||||
:qa!
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
+ 123456
|
|
||||||
+ 234567
|
|
||||||
+ 345678
|
|
||||||
+
|
|
||||||
test text test tex start here
|
|
||||||
some text
|
|
||||||
test text
|
|
||||||
*** ../vim-7.4.033/src/testdir/test20.ok 2010-05-15 13:04:10.000000000 +0200
|
|
||||||
--- src/testdir/test20.ok 2013-09-22 15:11:37.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 1,3 ****
|
|
||||||
--- 1,7 ----
|
|
||||||
+ 123start here56
|
|
||||||
+ 234start here67
|
|
||||||
+ 345start here78
|
|
||||||
+
|
|
||||||
test text test tex rt here
|
|
||||||
somext
|
|
||||||
tesext
|
|
||||||
*** ../vim-7.4.033/src/version.c 2013-09-22 15:03:34.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-22 15:14:04.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 34,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
hundred-and-one symptoms of being an internet addict:
|
|
||||||
249. You've forgotten what the outside looks like.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
53
7.4.035
53
7.4.035
@ -1,53 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.035
|
|
||||||
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.4.035
|
|
||||||
Problem: MS-Windows: The mouse pointer flickers when going from command
|
|
||||||
line mode to Normal mode.
|
|
||||||
Solution: Check for WM_NCMOUSEMOVE. (Ken Takata)
|
|
||||||
Files: src/gui_w48.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.034/src/gui_w48.c 2013-08-10 13:36:45.000000000 +0200
|
|
||||||
--- src/gui_w48.c 2013-09-22 15:41:56.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 1008,1014 ****
|
|
||||||
static LPARAM last_lParam = 0L;
|
|
||||||
|
|
||||||
/* We sometimes get a mousemove when the mouse didn't move... */
|
|
||||||
! if (uMsg == WM_MOUSEMOVE)
|
|
||||||
{
|
|
||||||
if (lParam == last_lParam)
|
|
||||||
return;
|
|
||||||
--- 1008,1014 ----
|
|
||||||
static LPARAM last_lParam = 0L;
|
|
||||||
|
|
||||||
/* We sometimes get a mousemove when the mouse didn't move... */
|
|
||||||
! if (uMsg == WM_MOUSEMOVE || uMsg == WM_NCMOUSEMOVE)
|
|
||||||
{
|
|
||||||
if (lParam == last_lParam)
|
|
||||||
return;
|
|
||||||
*** ../vim-7.4.034/src/version.c 2013-09-22 15:23:38.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-22 15:41:29.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 35,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
hundred-and-one symptoms of being an internet addict:
|
|
||||||
251. You've never seen your closest friends who usually live WAY too far away.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
273
7.4.036
273
7.4.036
@ -1,273 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.036
|
|
||||||
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.4.036
|
|
||||||
Problem: NFA engine does not capture group correctly when using \@>. (ZyX)
|
|
||||||
Solution: Copy submatches before doing the recursive match.
|
|
||||||
Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.035/src/regexp_nfa.c 2013-09-22 13:57:19.000000000 +0200
|
|
||||||
--- src/regexp_nfa.c 2013-09-25 16:35:54.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 36,42 ****
|
|
||||||
{
|
|
||||||
NFA_SPLIT = -1024,
|
|
||||||
NFA_MATCH,
|
|
||||||
! NFA_SKIP_CHAR, /* matches a 0-length char */
|
|
||||||
|
|
||||||
NFA_START_COLL, /* [abc] start */
|
|
||||||
NFA_END_COLL, /* [abc] end */
|
|
||||||
--- 36,42 ----
|
|
||||||
{
|
|
||||||
NFA_SPLIT = -1024,
|
|
||||||
NFA_MATCH,
|
|
||||||
! NFA_EMPTY, /* matches 0-length */
|
|
||||||
|
|
||||||
NFA_START_COLL, /* [abc] start */
|
|
||||||
NFA_END_COLL, /* [abc] end */
|
|
||||||
***************
|
|
||||||
*** 2005,2012 ****
|
|
||||||
{
|
|
||||||
/* Ignore result of previous call to nfa_regatom() */
|
|
||||||
post_ptr = post_start + my_post_start;
|
|
||||||
! /* NFA_SKIP_CHAR has 0-length and works everywhere */
|
|
||||||
! EMIT(NFA_SKIP_CHAR);
|
|
||||||
return OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
--- 2005,2012 ----
|
|
||||||
{
|
|
||||||
/* Ignore result of previous call to nfa_regatom() */
|
|
||||||
post_ptr = post_start + my_post_start;
|
|
||||||
! /* NFA_EMPTY is 0-length and works everywhere */
|
|
||||||
! EMIT(NFA_EMPTY);
|
|
||||||
return OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
***************
|
|
||||||
*** 2170,2185 ****
|
|
||||||
old_post_pos = (int)(post_ptr - post_start);
|
|
||||||
if (nfa_regconcat() == FAIL)
|
|
||||||
return FAIL;
|
|
||||||
! /* if concat is empty, skip a input char. But do emit a node */
|
|
||||||
if (old_post_pos == (int)(post_ptr - post_start))
|
|
||||||
! EMIT(NFA_SKIP_CHAR);
|
|
||||||
EMIT(NFA_CONCAT);
|
|
||||||
ch = peekchr();
|
|
||||||
}
|
|
||||||
|
|
||||||
! /* Even if a branch is empty, emit one node for it */
|
|
||||||
if (old_post_pos == (int)(post_ptr - post_start))
|
|
||||||
! EMIT(NFA_SKIP_CHAR);
|
|
||||||
|
|
||||||
return OK;
|
|
||||||
}
|
|
||||||
--- 2170,2185 ----
|
|
||||||
old_post_pos = (int)(post_ptr - post_start);
|
|
||||||
if (nfa_regconcat() == FAIL)
|
|
||||||
return FAIL;
|
|
||||||
! /* if concat is empty do emit a node */
|
|
||||||
if (old_post_pos == (int)(post_ptr - post_start))
|
|
||||||
! EMIT(NFA_EMPTY);
|
|
||||||
EMIT(NFA_CONCAT);
|
|
||||||
ch = peekchr();
|
|
||||||
}
|
|
||||||
|
|
||||||
! /* if a branch is empty, emit one node for it */
|
|
||||||
if (old_post_pos == (int)(post_ptr - post_start))
|
|
||||||
! EMIT(NFA_EMPTY);
|
|
||||||
|
|
||||||
return OK;
|
|
||||||
}
|
|
||||||
***************
|
|
||||||
*** 2423,2429 ****
|
|
||||||
case NFA_STAR_NONGREEDY: STRCPY(code, "NFA_STAR_NONGREEDY "); break;
|
|
||||||
case NFA_QUEST: STRCPY(code, "NFA_QUEST"); break;
|
|
||||||
case NFA_QUEST_NONGREEDY: STRCPY(code, "NFA_QUEST_NON_GREEDY"); break;
|
|
||||||
! case NFA_SKIP_CHAR: STRCPY(code, "NFA_SKIP_CHAR"); break;
|
|
||||||
case NFA_OR: STRCPY(code, "NFA_OR"); break;
|
|
||||||
|
|
||||||
case NFA_START_COLL: STRCPY(code, "NFA_START_COLL"); break;
|
|
||||||
--- 2423,2429 ----
|
|
||||||
case NFA_STAR_NONGREEDY: STRCPY(code, "NFA_STAR_NONGREEDY "); break;
|
|
||||||
case NFA_QUEST: STRCPY(code, "NFA_QUEST"); break;
|
|
||||||
case NFA_QUEST_NONGREEDY: STRCPY(code, "NFA_QUEST_NON_GREEDY"); break;
|
|
||||||
! case NFA_EMPTY: STRCPY(code, "NFA_EMPTY"); break;
|
|
||||||
case NFA_OR: STRCPY(code, "NFA_OR"); break;
|
|
||||||
|
|
||||||
case NFA_START_COLL: STRCPY(code, "NFA_START_COLL"); break;
|
|
||||||
***************
|
|
||||||
*** 3067,3073 ****
|
|
||||||
case NFA_ZSTART:
|
|
||||||
case NFA_ZEND:
|
|
||||||
case NFA_OPT_CHARS:
|
|
||||||
! case NFA_SKIP_CHAR:
|
|
||||||
case NFA_START_PATTERN:
|
|
||||||
case NFA_END_PATTERN:
|
|
||||||
case NFA_COMPOSING:
|
|
||||||
--- 3067,3073 ----
|
|
||||||
case NFA_ZSTART:
|
|
||||||
case NFA_ZEND:
|
|
||||||
case NFA_OPT_CHARS:
|
|
||||||
! case NFA_EMPTY:
|
|
||||||
case NFA_START_PATTERN:
|
|
||||||
case NFA_END_PATTERN:
|
|
||||||
case NFA_COMPOSING:
|
|
||||||
***************
|
|
||||||
*** 3265,3279 ****
|
|
||||||
PUSH(frag(e1.start, e2.out));
|
|
||||||
break;
|
|
||||||
|
|
||||||
! case NFA_SKIP_CHAR:
|
|
||||||
! /* Symbol of 0-length, Used in a repetition
|
|
||||||
! * with max/min count of 0 */
|
|
||||||
if (nfa_calc_size == TRUE)
|
|
||||||
{
|
|
||||||
nstate++;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
! s = alloc_state(NFA_SKIP_CHAR, NULL, NULL);
|
|
||||||
if (s == NULL)
|
|
||||||
goto theend;
|
|
||||||
PUSH(frag(s, list1(&s->out)));
|
|
||||||
--- 3265,3278 ----
|
|
||||||
PUSH(frag(e1.start, e2.out));
|
|
||||||
break;
|
|
||||||
|
|
||||||
! case NFA_EMPTY:
|
|
||||||
! /* 0-length, used in a repetition with max/min count of 0 */
|
|
||||||
if (nfa_calc_size == TRUE)
|
|
||||||
{
|
|
||||||
nstate++;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
! s = alloc_state(NFA_EMPTY, NULL, NULL);
|
|
||||||
if (s == NULL)
|
|
||||||
goto theend;
|
|
||||||
PUSH(frag(s, list1(&s->out)));
|
|
||||||
***************
|
|
||||||
*** 4209,4215 ****
|
|
||||||
case NFA_MOPEN:
|
|
||||||
case NFA_ZEND:
|
|
||||||
case NFA_SPLIT:
|
|
||||||
! case NFA_SKIP_CHAR:
|
|
||||||
/* These nodes are not added themselves but their "out" and/or
|
|
||||||
* "out1" may be added below. */
|
|
||||||
break;
|
|
||||||
--- 4208,4214 ----
|
|
||||||
case NFA_MOPEN:
|
|
||||||
case NFA_ZEND:
|
|
||||||
case NFA_SPLIT:
|
|
||||||
! case NFA_EMPTY:
|
|
||||||
/* These nodes are not added themselves but their "out" and/or
|
|
||||||
* "out1" may be added below. */
|
|
||||||
break;
|
|
||||||
***************
|
|
||||||
*** 4337,4343 ****
|
|
||||||
subs = addstate(l, state->out1, subs, pim, off);
|
|
||||||
break;
|
|
||||||
|
|
||||||
! case NFA_SKIP_CHAR:
|
|
||||||
case NFA_NOPEN:
|
|
||||||
case NFA_NCLOSE:
|
|
||||||
subs = addstate(l, state->out, subs, pim, off);
|
|
||||||
--- 4336,4342 ----
|
|
||||||
subs = addstate(l, state->out1, subs, pim, off);
|
|
||||||
break;
|
|
||||||
|
|
||||||
! case NFA_EMPTY:
|
|
||||||
case NFA_NOPEN:
|
|
||||||
case NFA_NCLOSE:
|
|
||||||
subs = addstate(l, state->out, subs, pim, off);
|
|
||||||
***************
|
|
||||||
*** 5604,5612 ****
|
|
||||||
{
|
|
||||||
int in_use = m->norm.in_use;
|
|
||||||
|
|
||||||
! /* Copy submatch info for the recursive call, so that
|
|
||||||
! * \1 can be matched. */
|
|
||||||
copy_sub_off(&m->norm, &t->subs.norm);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* First try matching the invisible match, then what
|
|
||||||
--- 5603,5615 ----
|
|
||||||
{
|
|
||||||
int in_use = m->norm.in_use;
|
|
||||||
|
|
||||||
! /* Copy submatch info for the recursive call, opposite
|
|
||||||
! * of what happens on success below. */
|
|
||||||
copy_sub_off(&m->norm, &t->subs.norm);
|
|
||||||
+ #ifdef FEAT_SYN_HL
|
|
||||||
+ if (nfa_has_zsubexpr)
|
|
||||||
+ copy_sub_off(&m->synt, &t->subs.synt);
|
|
||||||
+ #endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* First try matching the invisible match, then what
|
|
||||||
***************
|
|
||||||
*** 5713,5718 ****
|
|
||||||
--- 5716,5728 ----
|
|
||||||
#endif
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
+ /* Copy submatch info to the recursive call, opposite of what
|
|
||||||
+ * happens afterwards. */
|
|
||||||
+ copy_sub_off(&m->norm, &t->subs.norm);
|
|
||||||
+ #ifdef FEAT_SYN_HL
|
|
||||||
+ if (nfa_has_zsubexpr)
|
|
||||||
+ copy_sub_off(&m->synt, &t->subs.synt);
|
|
||||||
+ #endif
|
|
||||||
|
|
||||||
/* First try matching the pattern. */
|
|
||||||
result = recursive_regmatch(t->state, NULL, prog,
|
|
||||||
*** ../vim-7.4.035/src/testdir/test64.in 2013-09-22 13:57:19.000000000 +0200
|
|
||||||
--- src/testdir/test64.in 2013-09-25 15:51:12.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 430,435 ****
|
|
||||||
--- 430,436 ----
|
|
||||||
:call add(tl, [2, '\(a*\)\@>a', 'aaaa'])
|
|
||||||
:call add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa'])
|
|
||||||
:call add(tl, [2, '^\(.\{-}b\)\@>.', ' abcbd', ' abc', ' ab'])
|
|
||||||
+ :call add(tl, [2, '\(.\{-}\)\(\)\@>$', 'abc', 'abc', 'abc', ''])
|
|
||||||
:" TODO: BT engine does not restore submatch after failure
|
|
||||||
:call add(tl, [1, '\(a*\)\@>a\|a\+', 'aaaa', 'aaaa'])
|
|
||||||
:"
|
|
||||||
*** ../vim-7.4.035/src/testdir/test64.ok 2013-09-22 13:57:19.000000000 +0200
|
|
||||||
--- src/testdir/test64.ok 2013-09-25 16:39:31.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 992,997 ****
|
|
||||||
--- 992,1000 ----
|
|
||||||
OK 0 - ^\(.\{-}b\)\@>.
|
|
||||||
OK 1 - ^\(.\{-}b\)\@>.
|
|
||||||
OK 2 - ^\(.\{-}b\)\@>.
|
|
||||||
+ OK 0 - \(.\{-}\)\(\)\@>$
|
|
||||||
+ OK 1 - \(.\{-}\)\(\)\@>$
|
|
||||||
+ OK 2 - \(.\{-}\)\(\)\@>$
|
|
||||||
OK 0 - \(a*\)\@>a\|a\+
|
|
||||||
OK 2 - \(a*\)\@>a\|a\+
|
|
||||||
OK 0 - \_[^8-9]\+
|
|
||||||
*** ../vim-7.4.035/src/version.c 2013-09-22 15:43:34.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-25 16:40:01.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 36,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
There is a fine line between courage and foolishness.
|
|
||||||
Unfortunately, it's not a fence.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
130
7.4.037
130
7.4.037
@ -1,130 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.037
|
|
||||||
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.4.037
|
|
||||||
Problem: Using "\ze" in a sub-pattern does not result in the end of the
|
|
||||||
match to be set. (Axel Bender)
|
|
||||||
Solution: Copy the end of match position when a recursive match was
|
|
||||||
successful.
|
|
||||||
Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.036/src/regexp_nfa.c 2013-09-25 16:41:50.000000000 +0200
|
|
||||||
--- src/regexp_nfa.c 2013-09-25 18:09:59.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 3822,3827 ****
|
|
||||||
--- 3822,3828 ----
|
|
||||||
static void clear_sub __ARGS((regsub_T *sub));
|
|
||||||
static void copy_sub __ARGS((regsub_T *to, regsub_T *from));
|
|
||||||
static void copy_sub_off __ARGS((regsub_T *to, regsub_T *from));
|
|
||||||
+ static void copy_ze_off __ARGS((regsub_T *to, regsub_T *from));
|
|
||||||
static int sub_equal __ARGS((regsub_T *sub1, regsub_T *sub2));
|
|
||||||
static int match_backref __ARGS((regsub_T *sub, int subidx, int *bytelen));
|
|
||||||
static int has_state_with_pos __ARGS((nfa_list_T *l, nfa_state_T *state, regsubs_T *subs, nfa_pim_T *pim));
|
|
||||||
***************
|
|
||||||
*** 3909,3914 ****
|
|
||||||
--- 3910,3938 ----
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
+ * Like copy_sub() but only do the end of the main match if \ze is present.
|
|
||||||
+ */
|
|
||||||
+ static void
|
|
||||||
+ copy_ze_off(to, from)
|
|
||||||
+ regsub_T *to;
|
|
||||||
+ regsub_T *from;
|
|
||||||
+ {
|
|
||||||
+ if (nfa_has_zend)
|
|
||||||
+ {
|
|
||||||
+ if (REG_MULTI)
|
|
||||||
+ {
|
|
||||||
+ if (from->list.multi[0].end.lnum >= 0)
|
|
||||||
+ to->list.multi[0].end = from->list.multi[0].end;
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ if (from->list.line[0].end != NULL)
|
|
||||||
+ to->list.line[0].end = from->list.line[0].end;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /*
|
|
||||||
* Return TRUE if "sub1" and "sub2" have the same start positions.
|
|
||||||
*/
|
|
||||||
static int
|
|
||||||
***************
|
|
||||||
*** 5308,5313 ****
|
|
||||||
--- 5332,5338 ----
|
|
||||||
* When "nfa_endp" is not NULL it is a required end-of-match position.
|
|
||||||
*
|
|
||||||
* Return TRUE if there is a match, FALSE otherwise.
|
|
||||||
+ * When there is a match "submatch" contains the positions.
|
|
||||||
* Note: Caller must ensure that: start != NULL.
|
|
||||||
*/
|
|
||||||
static int
|
|
||||||
***************
|
|
||||||
*** 5633,5638 ****
|
|
||||||
--- 5658,5666 ----
|
|
||||||
if (nfa_has_zsubexpr)
|
|
||||||
copy_sub_off(&t->subs.synt, &m->synt);
|
|
||||||
#endif
|
|
||||||
+ /* If the pattern has \ze and it matched in the
|
|
||||||
+ * sub pattern, use it. */
|
|
||||||
+ copy_ze_off(&t->subs.norm, &m->norm);
|
|
||||||
|
|
||||||
/* t->state->out1 is the corresponding
|
|
||||||
* END_INVISIBLE node; Add its out to the current
|
|
||||||
*** ../vim-7.4.036/src/testdir/test64.in 2013-09-25 16:41:50.000000000 +0200
|
|
||||||
--- src/testdir/test64.in 2013-09-25 18:09:16.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 425,430 ****
|
|
||||||
--- 425,431 ----
|
|
||||||
:"
|
|
||||||
:" complicated look-behind match
|
|
||||||
:call add(tl, [2, '\(r\@<=\|\w\@<!\)\/', 'x = /word/;', '/'])
|
|
||||||
+ :call add(tl, [2, '^[a-z]\+\ze \&\(asdf\)\@<!', 'foo bar', 'foo'])
|
|
||||||
:"
|
|
||||||
:""""" \@>
|
|
||||||
:call add(tl, [2, '\(a*\)\@>a', 'aaaa'])
|
|
||||||
*** ../vim-7.4.036/src/testdir/test64.ok 2013-09-25 16:41:50.000000000 +0200
|
|
||||||
--- src/testdir/test64.ok 2013-09-25 18:10:05.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 983,988 ****
|
|
||||||
--- 983,991 ----
|
|
||||||
OK 0 - \(r\@<=\|\w\@<!\)\/
|
|
||||||
OK 1 - \(r\@<=\|\w\@<!\)\/
|
|
||||||
OK 2 - \(r\@<=\|\w\@<!\)\/
|
|
||||||
+ OK 0 - ^[a-z]\+\ze \&\(asdf\)\@<!
|
|
||||||
+ OK 1 - ^[a-z]\+\ze \&\(asdf\)\@<!
|
|
||||||
+ OK 2 - ^[a-z]\+\ze \&\(asdf\)\@<!
|
|
||||||
OK 0 - \(a*\)\@>a
|
|
||||||
OK 1 - \(a*\)\@>a
|
|
||||||
OK 2 - \(a*\)\@>a
|
|
||||||
*** ../vim-7.4.036/src/version.c 2013-09-25 16:41:50.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-25 18:14:36.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 37,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
MAN: You don't frighten us, English pig-dog! Go and boil your bottoms,
|
|
||||||
son of a silly person. I blow my nose on you, so-called Arthur-king,
|
|
||||||
you and your silly English K...kaniggets.
|
|
||||||
He puts hands to his ears and blows a raspberry.
|
|
||||||
"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/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
116
7.4.038
116
7.4.038
@ -1,116 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.038
|
|
||||||
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.4.038
|
|
||||||
Problem: Using "zw" and "zg" when 'spell' is off give a confusing error
|
|
||||||
message. (Gary Johnson)
|
|
||||||
Solution: Ignore the error when locating the word. Explicitly mention what
|
|
||||||
word was added. (Christian Brabandt)
|
|
||||||
Files: src/normal.c, src/spell.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.037/src/normal.c 2013-09-22 15:23:38.000000000 +0200
|
|
||||||
--- src/normal.c 2013-09-25 18:54:08.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 5246,5253 ****
|
|
||||||
{
|
|
||||||
pos_T pos = curwin->w_cursor;
|
|
||||||
|
|
||||||
! /* Find bad word under the cursor. */
|
|
||||||
len = spell_move_to(curwin, FORWARD, TRUE, TRUE, NULL);
|
|
||||||
if (len != 0 && curwin->w_cursor.col <= pos.col)
|
|
||||||
ptr = ml_get_pos(&curwin->w_cursor);
|
|
||||||
curwin->w_cursor = pos;
|
|
||||||
--- 5246,5257 ----
|
|
||||||
{
|
|
||||||
pos_T pos = curwin->w_cursor;
|
|
||||||
|
|
||||||
! /* Find bad word under the cursor. When 'spell' is
|
|
||||||
! * off this fails and find_ident_under_cursor() is
|
|
||||||
! * used below. */
|
|
||||||
! emsg_off++;
|
|
||||||
len = spell_move_to(curwin, FORWARD, TRUE, TRUE, NULL);
|
|
||||||
+ emsg_off--;
|
|
||||||
if (len != 0 && curwin->w_cursor.col <= pos.col)
|
|
||||||
ptr = ml_get_pos(&curwin->w_cursor);
|
|
||||||
curwin->w_cursor = pos;
|
|
||||||
*** ../vim-7.4.037/src/spell.c 2013-07-17 17:28:28.000000000 +0200
|
|
||||||
--- src/spell.c 2013-09-25 18:48:55.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 9479,9485 ****
|
|
||||||
if (undo)
|
|
||||||
{
|
|
||||||
home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE);
|
|
||||||
! smsg((char_u *)_("Word removed from %s"), NameBuff);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fseek(fd, fpos_next, SEEK_SET);
|
|
||||||
--- 9479,9486 ----
|
|
||||||
if (undo)
|
|
||||||
{
|
|
||||||
home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE);
|
|
||||||
! smsg((char_u *)_("Word '%.*s' removed from %s"),
|
|
||||||
! len, word, NameBuff);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fseek(fd, fpos_next, SEEK_SET);
|
|
||||||
***************
|
|
||||||
*** 9525,9531 ****
|
|
||||||
fclose(fd);
|
|
||||||
|
|
||||||
home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE);
|
|
||||||
! smsg((char_u *)_("Word added to %s"), NameBuff);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
--- 9526,9532 ----
|
|
||||||
fclose(fd);
|
|
||||||
|
|
||||||
home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE);
|
|
||||||
! smsg((char_u *)_("Word '%.*s' added to %s"), len, word, NameBuff);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
***************
|
|
||||||
*** 10135,10141 ****
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
! * "z?": Find badly spelled word under or after the cursor.
|
|
||||||
* Give suggestions for the properly spelled word.
|
|
||||||
* In Visual mode use the highlighted word as the bad word.
|
|
||||||
* When "count" is non-zero use that suggestion.
|
|
||||||
--- 10136,10142 ----
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
! * "z=": Find badly spelled word under or after the cursor.
|
|
||||||
* Give suggestions for the properly spelled word.
|
|
||||||
* In Visual mode use the highlighted word as the bad word.
|
|
||||||
* When "count" is non-zero use that suggestion.
|
|
||||||
*** ../vim-7.4.037/src/version.c 2013-09-25 18:16:34.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-25 18:52:47.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 38,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
MAN: Fetchez la vache!
|
|
||||||
GUARD: Quoi?
|
|
||||||
MAN: Fetchez la vache!
|
|
||||||
"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/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
217
7.4.039
217
7.4.039
@ -1,217 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.039
|
|
||||||
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.4.039
|
|
||||||
Problem: MS-Windows: MSCV10 and earlier can't handle symlinks to a
|
|
||||||
directory properly.
|
|
||||||
Solution: Add stat_symlink_aware() and wstat_symlink_aware(). (Ken Takata)
|
|
||||||
Files: src/os_mswin.c, src/os_win32.c, src/os_win32.h
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.038/src/os_mswin.c 2013-08-30 16:51:15.000000000 +0200
|
|
||||||
--- src/os_mswin.c 2013-09-25 19:09:53.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 498,503 ****
|
|
||||||
--- 498,595 ----
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ static int
|
|
||||||
+ stat_symlink_aware(const char *name, struct stat *stp)
|
|
||||||
+ {
|
|
||||||
+ #if defined(_MSC_VER) && _MSC_VER < 1700
|
|
||||||
+ /* Work around for VC10 or earlier. stat() can't handle symlinks properly.
|
|
||||||
+ * VC9 or earlier: stat() doesn't support a symlink at all. It retrieves
|
|
||||||
+ * status of a symlink itself.
|
|
||||||
+ * VC10: stat() supports a symlink to a normal file, but it doesn't support
|
|
||||||
+ * a symlink to a directory (always returns an error). */
|
|
||||||
+ WIN32_FIND_DATA findData;
|
|
||||||
+ HANDLE hFind, h;
|
|
||||||
+ DWORD attr = 0;
|
|
||||||
+ BOOL is_symlink = FALSE;
|
|
||||||
+
|
|
||||||
+ hFind = FindFirstFile(name, &findData);
|
|
||||||
+ if (hFind != INVALID_HANDLE_VALUE)
|
|
||||||
+ {
|
|
||||||
+ attr = findData.dwFileAttributes;
|
|
||||||
+ if ((attr & FILE_ATTRIBUTE_REPARSE_POINT)
|
|
||||||
+ && (findData.dwReserved0 == IO_REPARSE_TAG_SYMLINK))
|
|
||||||
+ is_symlink = TRUE;
|
|
||||||
+ FindClose(hFind);
|
|
||||||
+ }
|
|
||||||
+ if (is_symlink)
|
|
||||||
+ {
|
|
||||||
+ h = CreateFile(name, FILE_READ_ATTRIBUTES,
|
|
||||||
+ FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
|
|
||||||
+ OPEN_EXISTING,
|
|
||||||
+ (attr & FILE_ATTRIBUTE_DIRECTORY)
|
|
||||||
+ ? FILE_FLAG_BACKUP_SEMANTICS : 0,
|
|
||||||
+ NULL);
|
|
||||||
+ if (h != INVALID_HANDLE_VALUE)
|
|
||||||
+ {
|
|
||||||
+ int fd, n;
|
|
||||||
+
|
|
||||||
+ fd = _open_osfhandle((intptr_t)h, _O_RDONLY);
|
|
||||||
+ n = _fstat(fd, (struct _stat*)stp);
|
|
||||||
+ _close(fd);
|
|
||||||
+ return n;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ #endif
|
|
||||||
+ return stat(name, stp);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ #ifdef FEAT_MBYTE
|
|
||||||
+ static int
|
|
||||||
+ wstat_symlink_aware(const WCHAR *name, struct _stat *stp)
|
|
||||||
+ {
|
|
||||||
+ # if defined(_MSC_VER) && _MSC_VER < 1700
|
|
||||||
+ /* Work around for VC10 or earlier. _wstat() can't handle symlinks properly.
|
|
||||||
+ * VC9 or earlier: _wstat() doesn't support a symlink at all. It retrieves
|
|
||||||
+ * status of a symlink itself.
|
|
||||||
+ * VC10: _wstat() supports a symlink to a normal file, but it doesn't
|
|
||||||
+ * support a symlink to a directory (always returns an error). */
|
|
||||||
+ int n;
|
|
||||||
+ BOOL is_symlink = FALSE;
|
|
||||||
+ HANDLE hFind, h;
|
|
||||||
+ DWORD attr = 0;
|
|
||||||
+ WIN32_FIND_DATAW findDataW;
|
|
||||||
+
|
|
||||||
+ hFind = FindFirstFileW(name, &findDataW);
|
|
||||||
+ if (hFind != INVALID_HANDLE_VALUE)
|
|
||||||
+ {
|
|
||||||
+ attr = findDataW.dwFileAttributes;
|
|
||||||
+ if ((attr & FILE_ATTRIBUTE_REPARSE_POINT)
|
|
||||||
+ && (findDataW.dwReserved0 == IO_REPARSE_TAG_SYMLINK))
|
|
||||||
+ is_symlink = TRUE;
|
|
||||||
+ FindClose(hFind);
|
|
||||||
+ }
|
|
||||||
+ if (is_symlink)
|
|
||||||
+ {
|
|
||||||
+ h = CreateFileW(name, FILE_READ_ATTRIBUTES,
|
|
||||||
+ FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
|
|
||||||
+ OPEN_EXISTING,
|
|
||||||
+ (attr & FILE_ATTRIBUTE_DIRECTORY)
|
|
||||||
+ ? FILE_FLAG_BACKUP_SEMANTICS : 0,
|
|
||||||
+ NULL);
|
|
||||||
+ if (h != INVALID_HANDLE_VALUE)
|
|
||||||
+ {
|
|
||||||
+ int fd;
|
|
||||||
+
|
|
||||||
+ fd = _open_osfhandle((intptr_t)h, _O_RDONLY);
|
|
||||||
+ n = _fstat(fd, stp);
|
|
||||||
+ _close(fd);
|
|
||||||
+ return n;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ # endif
|
|
||||||
+ return _wstat(name, stp);
|
|
||||||
+ }
|
|
||||||
+ #endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* stat() can't handle a trailing '/' or '\', remove it first.
|
|
||||||
***************
|
|
||||||
*** 534,540 ****
|
|
||||||
|
|
||||||
if (wp != NULL)
|
|
||||||
{
|
|
||||||
! n = _wstat(wp, (struct _stat *)stp);
|
|
||||||
vim_free(wp);
|
|
||||||
if (n >= 0)
|
|
||||||
return n;
|
|
||||||
--- 626,632 ----
|
|
||||||
|
|
||||||
if (wp != NULL)
|
|
||||||
{
|
|
||||||
! n = wstat_symlink_aware(wp, (struct _stat *)stp);
|
|
||||||
vim_free(wp);
|
|
||||||
if (n >= 0)
|
|
||||||
return n;
|
|
||||||
***************
|
|
||||||
*** 544,550 ****
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
! return stat(buf, stp);
|
|
||||||
}
|
|
||||||
|
|
||||||
#if defined(FEAT_GUI_MSWIN) || defined(PROTO)
|
|
||||||
--- 636,642 ----
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
! return stat_symlink_aware(buf, stp);
|
|
||||||
}
|
|
||||||
|
|
||||||
#if defined(FEAT_GUI_MSWIN) || defined(PROTO)
|
|
||||||
*** ../vim-7.4.038/src/os_win32.c 2013-08-30 17:29:10.000000000 +0200
|
|
||||||
--- src/os_win32.c 2013-09-25 19:09:53.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 78,93 ****
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
- /*
|
|
||||||
- * Reparse Point
|
|
||||||
- */
|
|
||||||
- #ifndef FILE_ATTRIBUTE_REPARSE_POINT
|
|
||||||
- # define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
|
|
||||||
- #endif
|
|
||||||
- #ifndef IO_REPARSE_TAG_SYMLINK
|
|
||||||
- # define IO_REPARSE_TAG_SYMLINK 0xA000000C
|
|
||||||
- #endif
|
|
||||||
-
|
|
||||||
/* Record all output and all keyboard & mouse input */
|
|
||||||
/* #define MCH_WRITE_DUMP */
|
|
||||||
|
|
||||||
--- 78,83 ----
|
|
||||||
*** ../vim-7.4.038/src/os_win32.h 2013-07-21 17:53:13.000000000 +0200
|
|
||||||
--- src/os_win32.h 2013-09-25 19:09:53.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 130,135 ****
|
|
||||||
--- 130,148 ----
|
|
||||||
# define DFLT_MAXMEMTOT (5*1024) /* use up to 5 Mbyte for Vim */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+ /*
|
|
||||||
+ * Reparse Point
|
|
||||||
+ */
|
|
||||||
+ #ifndef FILE_ATTRIBUTE_REPARSE_POINT
|
|
||||||
+ # define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
|
|
||||||
+ #endif
|
|
||||||
+ #ifndef IO_REPARSE_TAG_MOUNT_POINT
|
|
||||||
+ # define IO_REPARSE_TAG_MOUNT_POINT 0xA0000003
|
|
||||||
+ #endif
|
|
||||||
+ #ifndef IO_REPARSE_TAG_SYMLINK
|
|
||||||
+ # define IO_REPARSE_TAG_SYMLINK 0xA000000C
|
|
||||||
+ #endif
|
|
||||||
+
|
|
||||||
#if defined(_MSC_VER) || defined(__BORLANDC__)
|
|
||||||
/* Support for __try / __except. All versions of MSVC and Borland C are
|
|
||||||
* expected to have this. Any other compilers that support it? */
|
|
||||||
*** ../vim-7.4.038/src/version.c 2013-09-25 18:54:20.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-25 19:08:55.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 39,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
A cow comes flying over the battlements, lowing aggressively. The cow
|
|
||||||
lands on GALAHAD'S PAGE, squashing him completely.
|
|
||||||
"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/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
68
7.4.040
68
7.4.040
@ -1,68 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.040
|
|
||||||
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.4.040
|
|
||||||
Problem: Valgrind error on exit when a script-local variable holds a
|
|
||||||
reference to the scope of another script.
|
|
||||||
Solution: First clear all variables, then free the scopes. (ZyX)
|
|
||||||
Files: src/eval.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.039/src/eval.c 2013-08-30 16:35:41.000000000 +0200
|
|
||||||
--- src/eval.c 2013-09-25 20:28:15.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 915,926 ****
|
|
||||||
/* autoloaded script names */
|
|
||||||
ga_clear_strings(&ga_loaded);
|
|
||||||
|
|
||||||
! /* script-local variables */
|
|
||||||
for (i = 1; i <= ga_scripts.ga_len; ++i)
|
|
||||||
- {
|
|
||||||
vars_clear(&SCRIPT_VARS(i));
|
|
||||||
vim_free(SCRIPT_SV(i));
|
|
||||||
- }
|
|
||||||
ga_clear(&ga_scripts);
|
|
||||||
|
|
||||||
/* unreferenced lists and dicts */
|
|
||||||
--- 915,927 ----
|
|
||||||
/* autoloaded script names */
|
|
||||||
ga_clear_strings(&ga_loaded);
|
|
||||||
|
|
||||||
! /* Script-local variables. First clear all the variables and in a second
|
|
||||||
! * loop free the scriptvar_T, because a variable in one script might hold
|
|
||||||
! * a reference to the whole scope of another script. */
|
|
||||||
for (i = 1; i <= ga_scripts.ga_len; ++i)
|
|
||||||
vars_clear(&SCRIPT_VARS(i));
|
|
||||||
+ for (i = 1; i <= ga_scripts.ga_len; ++i)
|
|
||||||
vim_free(SCRIPT_SV(i));
|
|
||||||
ga_clear(&ga_scripts);
|
|
||||||
|
|
||||||
/* unreferenced lists and dicts */
|
|
||||||
*** ../vim-7.4.039/src/version.c 2013-09-25 19:13:32.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-25 20:30:06.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 40,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
A KNIGHT rides into shot and hacks him to the ground. He rides off.
|
|
||||||
We stay for a moment on the glade. A MIDDLE-AGED LADY in a C. & A.
|
|
||||||
twin-set emerges from the trees and looks in horror at the body of her
|
|
||||||
HUSBAND.
|
|
||||||
MRS HISTORIAN: FRANK!
|
|
||||||
"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/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
61
7.4.041
61
7.4.041
@ -1,61 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.041
|
|
||||||
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.4.041 (after 7.4.034)
|
|
||||||
Problem: Visual selection does not remain after being copied over. (Axel
|
|
||||||
Bender)
|
|
||||||
Solution: Move when VIsual_active is reset. (Christian Brabandt)
|
|
||||||
Files: src/ops.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.040/src/ops.c 2013-09-22 15:23:38.000000000 +0200
|
|
||||||
--- src/ops.c 2013-09-25 23:20:37.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 3808,3816 ****
|
|
||||||
FALSE /* stop after 1 paste */
|
|
||||||
#endif
|
|
||||||
);
|
|
||||||
- #ifdef FEAT_VISUAL
|
|
||||||
- VIsual_active = FALSE;
|
|
||||||
- #endif
|
|
||||||
|
|
||||||
curbuf->b_op_end = curwin->w_cursor;
|
|
||||||
/* For "CTRL-O p" in Insert mode, put cursor after last char */
|
|
||||||
--- 3808,3813 ----
|
|
||||||
***************
|
|
||||||
*** 3972,3977 ****
|
|
||||||
--- 3969,3978 ----
|
|
||||||
if (regname == '=')
|
|
||||||
vim_free(y_array);
|
|
||||||
|
|
||||||
+ #ifdef FEAT_VISUAL
|
|
||||||
+ VIsual_active = FALSE;
|
|
||||||
+ #endif
|
|
||||||
+
|
|
||||||
/* If the cursor is past the end of the line put it at the end. */
|
|
||||||
adjust_cursor_eol();
|
|
||||||
}
|
|
||||||
*** ../vim-7.4.040/src/version.c 2013-09-25 21:00:24.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-25 23:20:46.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 41,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
press CTRL-ALT-DEL for more information
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
71
7.4.042
71
7.4.042
@ -1,71 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.042
|
|
||||||
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.4.042
|
|
||||||
Problem: When using ":setlocal" for 'spell' and 'spellang' then :spelldump
|
|
||||||
doesn't work. (Dimitar Dimitrov)
|
|
||||||
Solution: Copy the option variables to the new window used to show the dump.
|
|
||||||
(Christian Brabandt)
|
|
||||||
Files: src/spell.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.041/src/spell.c 2013-09-25 18:54:20.000000000 +0200
|
|
||||||
--- src/spell.c 2013-09-29 13:15:51.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 15569,15579 ****
|
|
||||||
ex_spelldump(eap)
|
|
||||||
exarg_T *eap;
|
|
||||||
{
|
|
||||||
if (no_spell_checking(curwin))
|
|
||||||
return;
|
|
||||||
|
|
||||||
! /* Create a new empty buffer by splitting the window. */
|
|
||||||
do_cmdline_cmd((char_u *)"new");
|
|
||||||
if (!bufempty() || !buf_valid(curbuf))
|
|
||||||
return;
|
|
||||||
|
|
||||||
--- 15569,15589 ----
|
|
||||||
ex_spelldump(eap)
|
|
||||||
exarg_T *eap;
|
|
||||||
{
|
|
||||||
+ char_u *spl;
|
|
||||||
+ long dummy;
|
|
||||||
+
|
|
||||||
if (no_spell_checking(curwin))
|
|
||||||
return;
|
|
||||||
+ get_option_value((char_u*)"spl", &dummy, &spl, OPT_LOCAL);
|
|
||||||
|
|
||||||
! /* Create a new empty buffer in a new window. */
|
|
||||||
do_cmdline_cmd((char_u *)"new");
|
|
||||||
+
|
|
||||||
+ /* enable spelling locally in the new window */
|
|
||||||
+ set_option_value((char_u*)"spell", TRUE, (char_u*)"", OPT_LOCAL);
|
|
||||||
+ set_option_value((char_u*)"spl", dummy, spl, OPT_LOCAL);
|
|
||||||
+ vim_free(spl);
|
|
||||||
+
|
|
||||||
if (!bufempty() || !buf_valid(curbuf))
|
|
||||||
return;
|
|
||||||
|
|
||||||
*** ../vim-7.4.041/src/version.c 2013-09-25 23:24:54.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-29 13:15:17.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 42,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
Experience is what you get when you don't get what you want.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
89
7.4.043
89
7.4.043
@ -1,89 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.043
|
|
||||||
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.4.043
|
|
||||||
Problem: VMS can't handle long function names.
|
|
||||||
Solution: Shorten may_req_ambiguous_character_width. (Samuel Ferencik)
|
|
||||||
Files: src/main.c, src/term.c, src/proto/term.pro
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.042/src/main.c 2013-08-22 14:14:23.000000000 +0200
|
|
||||||
--- src/main.c 2013-09-29 16:23:49.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 812,818 ****
|
|
||||||
starttermcap(); /* start termcap if not done by wait_return() */
|
|
||||||
TIME_MSG("start termcap");
|
|
||||||
#if defined(FEAT_TERMRESPONSE) && defined(FEAT_MBYTE)
|
|
||||||
! may_req_ambiguous_character_width();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef FEAT_MOUSE
|
|
||||||
--- 812,818 ----
|
|
||||||
starttermcap(); /* start termcap if not done by wait_return() */
|
|
||||||
TIME_MSG("start termcap");
|
|
||||||
#if defined(FEAT_TERMRESPONSE) && defined(FEAT_MBYTE)
|
|
||||||
! may_req_ambiguous_char_width();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef FEAT_MOUSE
|
|
||||||
*** ../vim-7.4.042/src/term.c 2013-07-04 22:29:28.000000000 +0200
|
|
||||||
--- src/term.c 2013-09-29 16:27:12.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 3356,3362 ****
|
|
||||||
* it must be called immediately after entering termcap mode.
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
! may_req_ambiguous_character_width()
|
|
||||||
{
|
|
||||||
if (u7_status == U7_GET
|
|
||||||
&& cur_tmode == TMODE_RAW
|
|
||||||
--- 3356,3362 ----
|
|
||||||
* it must be called immediately after entering termcap mode.
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
! may_req_ambiguous_char_width()
|
|
||||||
{
|
|
||||||
if (u7_status == U7_GET
|
|
||||||
&& cur_tmode == TMODE_RAW
|
|
||||||
*** ../vim-7.4.042/src/proto/term.pro 2013-08-10 13:37:28.000000000 +0200
|
|
||||||
--- src/proto/term.pro 2013-09-29 16:25:02.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 35,41 ****
|
|
||||||
void starttermcap __ARGS((void));
|
|
||||||
void stoptermcap __ARGS((void));
|
|
||||||
void may_req_termresponse __ARGS((void));
|
|
||||||
! void may_req_ambiguous_character_width __ARGS((void));
|
|
||||||
int swapping_screen __ARGS((void));
|
|
||||||
void setmouse __ARGS((void));
|
|
||||||
int mouse_has __ARGS((int c));
|
|
||||||
--- 35,41 ----
|
|
||||||
void starttermcap __ARGS((void));
|
|
||||||
void stoptermcap __ARGS((void));
|
|
||||||
void may_req_termresponse __ARGS((void));
|
|
||||||
! void may_req_ambiguous_char_width __ARGS((void));
|
|
||||||
int swapping_screen __ARGS((void));
|
|
||||||
void setmouse __ARGS((void));
|
|
||||||
int mouse_has __ARGS((int c));
|
|
||||||
*** ../vim-7.4.042/src/version.c 2013-09-29 13:38:25.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-29 16:25:16.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 43,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
Back up my hard drive? I can't find the reverse switch!
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
83
7.4.044
83
7.4.044
@ -1,83 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.044
|
|
||||||
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.4.044 (after 7.4.039)
|
|
||||||
Problem: Can't build with old MSVC. (Wang Shoulin)
|
|
||||||
Solution: Define OPEN_OH_ARGTYPE instead of using intptr_t directly.
|
|
||||||
Files: src/os_mswin.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.043/src/os_mswin.c 2013-09-25 19:13:32.000000000 +0200
|
|
||||||
--- src/os_mswin.c 2013-09-26 20:37:38.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 498,503 ****
|
|
||||||
--- 498,509 ----
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ #if (_MSC_VER >= 1300)
|
|
||||||
+ # define OPEN_OH_ARGTYPE intptr_t
|
|
||||||
+ #else
|
|
||||||
+ # define OPEN_OH_ARGTYPE long
|
|
||||||
+ #endif
|
|
||||||
+
|
|
||||||
static int
|
|
||||||
stat_symlink_aware(const char *name, struct stat *stp)
|
|
||||||
{
|
|
||||||
***************
|
|
||||||
*** 533,539 ****
|
|
||||||
{
|
|
||||||
int fd, n;
|
|
||||||
|
|
||||||
! fd = _open_osfhandle((intptr_t)h, _O_RDONLY);
|
|
||||||
n = _fstat(fd, (struct _stat*)stp);
|
|
||||||
_close(fd);
|
|
||||||
return n;
|
|
||||||
--- 539,545 ----
|
|
||||||
{
|
|
||||||
int fd, n;
|
|
||||||
|
|
||||||
! fd = _open_osfhandle((OPEN_OH_ARGTYPE)h, _O_RDONLY);
|
|
||||||
n = _fstat(fd, (struct _stat*)stp);
|
|
||||||
_close(fd);
|
|
||||||
return n;
|
|
||||||
***************
|
|
||||||
*** 580,586 ****
|
|
||||||
{
|
|
||||||
int fd;
|
|
||||||
|
|
||||||
! fd = _open_osfhandle((intptr_t)h, _O_RDONLY);
|
|
||||||
n = _fstat(fd, stp);
|
|
||||||
_close(fd);
|
|
||||||
return n;
|
|
||||||
--- 586,592 ----
|
|
||||||
{
|
|
||||||
int fd;
|
|
||||||
|
|
||||||
! fd = _open_osfhandle((OPEN_OH_ARGTYPE)h, _O_RDONLY);
|
|
||||||
n = _fstat(fd, stp);
|
|
||||||
_close(fd);
|
|
||||||
return n;
|
|
||||||
*** ../vim-7.4.043/src/version.c 2013-09-29 16:27:42.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-29 18:27:58.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 44,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
I'd like to meet the man who invented sex and see what he's working on now.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
111
7.4.045
111
7.4.045
@ -1,111 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.045
|
|
||||||
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.4.045
|
|
||||||
Problem: substitute() does not work properly when the pattern starts with
|
|
||||||
"\ze".
|
|
||||||
Solution: Detect an empty match. (Christian Brabandt)
|
|
||||||
Files: src/eval.c, src/testdir/test80.in, src/testdir/test80.ok
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.044/src/eval.c 2013-09-25 21:00:24.000000000 +0200
|
|
||||||
--- src/eval.c 2013-09-29 21:03:22.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 24301,24306 ****
|
|
||||||
--- 24301,24307 ----
|
|
||||||
garray_T ga;
|
|
||||||
char_u *ret;
|
|
||||||
char_u *save_cpo;
|
|
||||||
+ int zero_width;
|
|
||||||
|
|
||||||
/* Make 'cpoptions' empty, so that the 'l' flag doesn't work here */
|
|
||||||
save_cpo = p_cpo;
|
|
||||||
***************
|
|
||||||
*** 24339,24358 ****
|
|
||||||
(void)vim_regsub(®match, sub, (char_u *)ga.ga_data
|
|
||||||
+ ga.ga_len + i, TRUE, TRUE, FALSE);
|
|
||||||
ga.ga_len += i + sublen - 1;
|
|
||||||
! /* avoid getting stuck on a match with an empty string */
|
|
||||||
! if (tail == regmatch.endp[0])
|
|
||||||
{
|
|
||||||
! if (*tail == NUL)
|
|
||||||
! break;
|
|
||||||
*((char_u *)ga.ga_data + ga.ga_len) = *tail++;
|
|
||||||
++ga.ga_len;
|
|
||||||
}
|
|
||||||
- else
|
|
||||||
- {
|
|
||||||
- tail = regmatch.endp[0];
|
|
||||||
- if (*tail == NUL)
|
|
||||||
- break;
|
|
||||||
- }
|
|
||||||
if (!do_all)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
--- 24340,24356 ----
|
|
||||||
(void)vim_regsub(®match, sub, (char_u *)ga.ga_data
|
|
||||||
+ ga.ga_len + i, TRUE, TRUE, FALSE);
|
|
||||||
ga.ga_len += i + sublen - 1;
|
|
||||||
! zero_width = (tail == regmatch.endp[0]
|
|
||||||
! || regmatch.startp[0] == regmatch.endp[0]);
|
|
||||||
! tail = regmatch.endp[0];
|
|
||||||
! if (*tail == NUL)
|
|
||||||
! break;
|
|
||||||
! if (zero_width)
|
|
||||||
{
|
|
||||||
! /* avoid getting stuck on a match with an empty string */
|
|
||||||
*((char_u *)ga.ga_data + ga.ga_len) = *tail++;
|
|
||||||
++ga.ga_len;
|
|
||||||
}
|
|
||||||
if (!do_all)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
*** ../vim-7.4.044/src/testdir/test80.in 2013-03-19 17:30:51.000000000 +0100
|
|
||||||
--- src/testdir/test80.in 2013-09-29 20:59:00.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 142,147 ****
|
|
||||||
--- 142,149 ----
|
|
||||||
:$put =\"\n\nTEST_7:\"
|
|
||||||
:$put =substitute('A
A', 'A.', '\=submatch(0)', '')
|
|
||||||
:$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '')
|
|
||||||
+ :$put =substitute('-bb', '\zeb', 'a', 'g')
|
|
||||||
+ :$put =substitute('-bb', '\ze', 'c', 'g')
|
|
||||||
/^TEST_8
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
*** ../vim-7.4.044/src/testdir/test80.ok 2013-03-19 17:31:45.000000000 +0100
|
|
||||||
--- src/testdir/test80.ok 2013-09-29 20:59:35.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 103,108 ****
|
|
||||||
--- 103,110 ----
|
|
||||||
A
A
|
|
||||||
B
|
|
||||||
B
|
|
||||||
+ -abab
|
|
||||||
+ c-cbcbc
|
|
||||||
|
|
||||||
|
|
||||||
TEST_8:
|
|
||||||
*** ../vim-7.4.044/src/version.c 2013-09-29 19:05:17.000000000 +0200
|
|
||||||
--- src/version.c 2013-09-29 21:04:50.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 45,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
Just think of all the things we haven't thought of yet.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
80
7.4.046
80
7.4.046
@ -1,80 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.046
|
|
||||||
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.4.046
|
|
||||||
Problem: Can't use Tcl 8.6.
|
|
||||||
Solution: Change how Tcl_FindExecutable is called. (Jan Nijtmans)
|
|
||||||
Files: src/if_tcl.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.045/src/if_tcl.c 2013-08-02 19:31:15.000000000 +0200
|
|
||||||
--- src/if_tcl.c 2013-10-02 13:44:48.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 165,170 ****
|
|
||||||
--- 165,171 ----
|
|
||||||
*/
|
|
||||||
static HANDLE hTclLib = NULL;
|
|
||||||
Tcl_Interp* (*dll_Tcl_CreateInterp)();
|
|
||||||
+ void (*dll_Tcl_FindExecutable)(const void *);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Table of name to function pointer of tcl.
|
|
||||||
***************
|
|
||||||
*** 175,180 ****
|
|
||||||
--- 176,182 ----
|
|
||||||
TCL_PROC* ptr;
|
|
||||||
} tcl_funcname_table[] = {
|
|
||||||
{"Tcl_CreateInterp", (TCL_PROC*)&dll_Tcl_CreateInterp},
|
|
||||||
+ {"Tcl_FindExecutable", (TCL_PROC*)&dll_Tcl_FindExecutable},
|
|
||||||
{NULL, NULL},
|
|
||||||
};
|
|
||||||
|
|
||||||
***************
|
|
||||||
*** 248,258 ****
|
|
||||||
{
|
|
||||||
Tcl_Interp *interp;
|
|
||||||
|
|
||||||
if (interp = dll_Tcl_CreateInterp())
|
|
||||||
{
|
|
||||||
if (Tcl_InitStubs(interp, DYNAMIC_TCL_VER, 0))
|
|
||||||
{
|
|
||||||
- Tcl_FindExecutable(find_executable_arg);
|
|
||||||
Tcl_DeleteInterp(interp);
|
|
||||||
stubs_initialized = TRUE;
|
|
||||||
}
|
|
||||||
--- 250,261 ----
|
|
||||||
{
|
|
||||||
Tcl_Interp *interp;
|
|
||||||
|
|
||||||
+ dll_Tcl_FindExecutable(find_executable_arg);
|
|
||||||
+
|
|
||||||
if (interp = dll_Tcl_CreateInterp())
|
|
||||||
{
|
|
||||||
if (Tcl_InitStubs(interp, DYNAMIC_TCL_VER, 0))
|
|
||||||
{
|
|
||||||
Tcl_DeleteInterp(interp);
|
|
||||||
stubs_initialized = TRUE;
|
|
||||||
}
|
|
||||||
*** ../vim-7.4.045/src/version.c 2013-09-29 21:11:00.000000000 +0200
|
|
||||||
--- src/version.c 2013-10-02 13:46:47.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 46,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
Not too long ago, a program was something you watched on TV...
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
56
7.4.047
56
7.4.047
@ -1,56 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.047
|
|
||||||
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.4.047
|
|
||||||
Problem: When using input() in a function invoked by a mapping it doesn't
|
|
||||||
work.
|
|
||||||
Solution: Temporarily reset ex_normal_busy. (Yasuhiro Matsumoto)
|
|
||||||
Files: src/eval.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.046/src/eval.c 2013-09-29 21:11:00.000000000 +0200
|
|
||||||
--- src/eval.c 2013-10-02 16:40:52.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 13054,13062 ****
|
|
||||||
--- 13054,13071 ----
|
|
||||||
}
|
|
||||||
|
|
||||||
if (defstr != NULL)
|
|
||||||
+ {
|
|
||||||
+ # ifdef FEAT_EX_EXTRA
|
|
||||||
+ int save_ex_normal_busy = ex_normal_busy;
|
|
||||||
+ ex_normal_busy = 0;
|
|
||||||
+ # endif
|
|
||||||
rettv->vval.v_string =
|
|
||||||
getcmdline_prompt(inputsecret_flag ? NUL : '@', p, echo_attr,
|
|
||||||
xp_type, xp_arg);
|
|
||||||
+ # ifdef FEAT_EX_EXTRA
|
|
||||||
+ ex_normal_busy = save_ex_normal_busy;
|
|
||||||
+ # endif
|
|
||||||
+ }
|
|
||||||
if (inputdialog && rettv->vval.v_string == NULL
|
|
||||||
&& argvars[1].v_type != VAR_UNKNOWN
|
|
||||||
&& argvars[2].v_type != VAR_UNKNOWN)
|
|
||||||
*** ../vim-7.4.046/src/version.c 2013-10-02 14:25:39.000000000 +0200
|
|
||||||
--- src/version.c 2013-10-02 16:45:45.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 47,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
Not too long ago, a keyboard was something to make music with...
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
96
7.4.048
96
7.4.048
@ -1,96 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.048
|
|
||||||
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.4.048
|
|
||||||
Problem: Recent clang version complains about -fno-strength-reduce.
|
|
||||||
Solution: Add a configure check for the clang version. (Kazunobu Kuriyama)
|
|
||||||
Files: src/configure.in, src/auto/configure
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.047/src/configure.in 2013-08-04 20:00:50.000000000 +0200
|
|
||||||
--- src/configure.in 2013-10-02 17:56:25.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 62,67 ****
|
|
||||||
--- 62,90 ----
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
+ dnl clang-500.2.75 or around has abandoned -f[no-]strength-reduce and issues a
|
|
||||||
+ dnl warning when that flag is passed to. Accordingly, adjust CFLAGS based on
|
|
||||||
+ dnl the version number of the clang in use.
|
|
||||||
+ dnl Note that this does not work to get the version of clang 3.1 or 3.2.
|
|
||||||
+ AC_MSG_CHECKING(for recent clang version)
|
|
||||||
+ CLANG_VERSION_STRING=`"$CC" --version 2>/dev/null | sed -n -e 's/^.*clang.*\([[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\).*$/\1/p'`
|
|
||||||
+ if test x"$CLANG_VERSION_STRING" != x"" ; then
|
|
||||||
+ CLANG_MAJOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/\([[0-9]][[0-9]]*\)\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*/\1/p'`
|
|
||||||
+ CLANG_MINOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\)\.[[0-9]][[0-9]]*/\1/p'`
|
|
||||||
+ CLANG_REVISION=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\)/\1/p'`
|
|
||||||
+ CLANG_VERSION=`expr $CLANG_MAJOR '*' 1000000 '+' $CLANG_MINOR '*' 1000 '+' $CLANG_REVISION`
|
|
||||||
+ AC_MSG_RESULT($CLANG_VERSION)
|
|
||||||
+ dnl If you find the same issue with versions earlier than 500.2.75,
|
|
||||||
+ dnl change the constant 500002075 below appropriately. To get the
|
|
||||||
+ dnl integer corresponding to a version number, refer to the
|
|
||||||
+ dnl definition of CLANG_VERSION above.
|
|
||||||
+ if test "$CLANG_VERSION" -ge 500002075 ; then
|
|
||||||
+ CFLAGS=`echo "$CFLAGS" | sed -n -e 's/-fno-strength-reduce/ /p'`
|
|
||||||
+ fi
|
|
||||||
+ else
|
|
||||||
+ AC_MSG_RESULT(no)
|
|
||||||
+ fi
|
|
||||||
+
|
|
||||||
dnl If configure thinks we are cross compiling, there might be something
|
|
||||||
dnl wrong with the CC or CFLAGS settings, give a useful warning message
|
|
||||||
if test "$cross_compiling" = yes; then
|
|
||||||
*** ../vim-7.4.047/src/auto/configure 2013-08-04 20:01:06.000000000 +0200
|
|
||||||
--- src/auto/configure 2013-10-02 17:56:52.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 3989,3994 ****
|
|
||||||
--- 3989,4012 ----
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for recent clang version" >&5
|
|
||||||
+ $as_echo_n "checking for recent clang version... " >&6; }
|
|
||||||
+ CLANG_VERSION_STRING=`"$CC" --version 2>/dev/null | sed -n -e 's/^.*clang.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*$/\1/p'`
|
|
||||||
+ if test x"$CLANG_VERSION_STRING" != x"" ; then
|
|
||||||
+ CLANG_MAJOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/\([0-9][0-9]*\)\.[0-9][0-9]*\.[0-9][0-9]*/\1/p'`
|
|
||||||
+ CLANG_MINOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[0-9][0-9]*\.\([0-9][0-9]*\)\.[0-9][0-9]*/\1/p'`
|
|
||||||
+ CLANG_REVISION=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[0-9][0-9]*\.[0-9][0-9]*\.\([0-9][0-9]*\)/\1/p'`
|
|
||||||
+ CLANG_VERSION=`expr $CLANG_MAJOR '*' 1000000 '+' $CLANG_MINOR '*' 1000 '+' $CLANG_REVISION`
|
|
||||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CLANG_VERSION" >&5
|
|
||||||
+ $as_echo "$CLANG_VERSION" >&6; }
|
|
||||||
+ if test "$CLANG_VERSION" -ge 500002075 ; then
|
|
||||||
+ CFLAGS=`echo "$CFLAGS" | sed -n -e 's/-fno-strength-reduce/ /p'`
|
|
||||||
+ fi
|
|
||||||
+ else
|
|
||||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
|
||||||
+ $as_echo "no" >&6; }
|
|
||||||
+ fi
|
|
||||||
+
|
|
||||||
if test "$cross_compiling" = yes; then
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot compile a simple program; if not cross compiling check CC and CFLAGS" >&5
|
|
||||||
$as_echo "cannot compile a simple program; if not cross compiling check CC and CFLAGS" >&6; }
|
|
||||||
*** ../vim-7.4.047/src/version.c 2013-10-02 16:46:23.000000000 +0200
|
|
||||||
--- src/version.c 2013-10-02 17:19:31.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 48,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
I have to exercise early in the morning before my brain
|
|
||||||
figures out what I'm doing.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
67
7.4.049
67
7.4.049
@ -1,67 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.049
|
|
||||||
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.4.049
|
|
||||||
Problem: In Ex mode, when line numbers are enabled the substitute prompt is
|
|
||||||
wrong.
|
|
||||||
Solution: Adjust for the line number size. (Benoit Pierre)
|
|
||||||
Files: src/ex_cmds.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.048/src/ex_cmds.c 2013-08-07 15:15:51.000000000 +0200
|
|
||||||
--- src/ex_cmds.c 2013-10-02 18:31:24.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 4740,4750 ****
|
|
||||||
char_u *resp;
|
|
||||||
colnr_T sc, ec;
|
|
||||||
|
|
||||||
! print_line_no_prefix(lnum, FALSE, FALSE);
|
|
||||||
|
|
||||||
getvcol(curwin, &curwin->w_cursor, &sc, NULL, NULL);
|
|
||||||
curwin->w_cursor.col = regmatch.endpos[0].col - 1;
|
|
||||||
getvcol(curwin, &curwin->w_cursor, NULL, NULL, &ec);
|
|
||||||
msg_start();
|
|
||||||
for (i = 0; i < (long)sc; ++i)
|
|
||||||
msg_putchar(' ');
|
|
||||||
--- 4740,4756 ----
|
|
||||||
char_u *resp;
|
|
||||||
colnr_T sc, ec;
|
|
||||||
|
|
||||||
! print_line_no_prefix(lnum, do_number, do_list);
|
|
||||||
|
|
||||||
getvcol(curwin, &curwin->w_cursor, &sc, NULL, NULL);
|
|
||||||
curwin->w_cursor.col = regmatch.endpos[0].col - 1;
|
|
||||||
getvcol(curwin, &curwin->w_cursor, NULL, NULL, &ec);
|
|
||||||
+ if (do_number || curwin->w_p_nu)
|
|
||||||
+ {
|
|
||||||
+ int numw = number_width(curwin) + 1;
|
|
||||||
+ sc += numw;
|
|
||||||
+ ec += numw;
|
|
||||||
+ }
|
|
||||||
msg_start();
|
|
||||||
for (i = 0; i < (long)sc; ++i)
|
|
||||||
msg_putchar(' ');
|
|
||||||
*** ../vim-7.4.048/src/version.c 2013-10-02 18:22:58.000000000 +0200
|
|
||||||
--- src/version.c 2013-10-02 18:33:22.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 49,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
What the word 'politics' means: 'Poli' in Latin meaning 'many' and 'tics'
|
|
||||||
meaning 'bloodsucking creatures'.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
90
7.4.050
90
7.4.050
@ -1,90 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.050
|
|
||||||
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.4.050
|
|
||||||
Problem: "gn" selects too much for the pattern "\d" when there are two
|
|
||||||
lines with a single digit. (Ryan Carney)
|
|
||||||
Solution: Adjust the logic of is_one_char(). (Christian Brabandt)
|
|
||||||
Files: src/search.c, src/testdir/test53.in, src/testdir/test53.ok
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.049/src/search.c 2013-08-14 17:45:25.000000000 +0200
|
|
||||||
--- src/search.c 2013-10-02 21:49:40.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 4680,4687 ****
|
|
||||||
&& regmatch.startpos[0].lnum == regmatch.endpos[0].lnum
|
|
||||||
&& regmatch.startpos[0].col == regmatch.endpos[0].col);
|
|
||||||
|
|
||||||
! if (!result && incl(&pos) == 0 && pos.col == regmatch.endpos[0].col)
|
|
||||||
! result = TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
called_emsg |= save_called_emsg;
|
|
||||||
--- 4680,4687 ----
|
|
||||||
&& regmatch.startpos[0].lnum == regmatch.endpos[0].lnum
|
|
||||||
&& regmatch.startpos[0].col == regmatch.endpos[0].col);
|
|
||||||
|
|
||||||
! if (!result && inc(&pos) >= 0 && pos.col == regmatch.endpos[0].col)
|
|
||||||
! result = TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
called_emsg |= save_called_emsg;
|
|
||||||
*** ../vim-7.4.049/src/testdir/test53.in 2013-06-30 14:31:56.000000000 +0200
|
|
||||||
--- src/testdir/test53.in 2013-10-02 21:47:10.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 46,51 ****
|
|
||||||
--- 46,54 ----
|
|
||||||
:set selection=exclusive
|
|
||||||
$cgNmongoose/i
|
|
||||||
cgnj
|
|
||||||
+ :" Make sure there is no other match y uppercase.
|
|
||||||
+ /x59
|
|
||||||
+ gggnd
|
|
||||||
:/^start:/,/^end:/wq! test.out
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
***************
|
|
||||||
*** 75,78 ****
|
|
||||||
--- 78,84 ----
|
|
||||||
uniquepattern uniquepattern
|
|
||||||
my very excellent mother just served us nachos
|
|
||||||
for (i=0; i<=10; i++)
|
|
||||||
+ Y
|
|
||||||
+ text
|
|
||||||
+ Y
|
|
||||||
end:
|
|
||||||
*** ../vim-7.4.049/src/testdir/test53.ok 2013-06-30 14:31:56.000000000 +0200
|
|
||||||
--- src/testdir/test53.ok 2013-10-02 21:47:34.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 27,30 ****
|
|
||||||
--- 27,33 ----
|
|
||||||
uniquepattern
|
|
||||||
my very excellent mongoose just served us nachos
|
|
||||||
for (j=0; i<=10; i++)
|
|
||||||
+
|
|
||||||
+ text
|
|
||||||
+ Y
|
|
||||||
end:
|
|
||||||
*** ../vim-7.4.049/src/version.c 2013-10-02 18:43:00.000000000 +0200
|
|
||||||
--- src/version.c 2013-10-02 21:51:34.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 50,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
Why doesn't Tarzan have a beard?
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
67
7.4.051
67
7.4.051
@ -1,67 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.051
|
|
||||||
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.4.051
|
|
||||||
Problem: Syntax highlighting a Yaml file causes a crash. (Blake Preston)
|
|
||||||
Solution: Copy the pim structure before calling addstate() to avoid it
|
|
||||||
becoming invalide when the state list is reallocated.
|
|
||||||
Files: src/regexp_nfa.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.050/src/regexp_nfa.c 2013-09-25 18:16:34.000000000 +0200
|
|
||||||
--- src/regexp_nfa.c 2013-10-06 15:44:31.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 6458,6463 ****
|
|
||||||
--- 6458,6464 ----
|
|
||||||
if (add_state != NULL)
|
|
||||||
{
|
|
||||||
nfa_pim_T *pim;
|
|
||||||
+ nfa_pim_T pim_copy;
|
|
||||||
|
|
||||||
if (t->pim.result == NFA_PIM_UNUSED)
|
|
||||||
pim = NULL;
|
|
||||||
***************
|
|
||||||
*** 6531,6536 ****
|
|
||||||
--- 6532,6546 ----
|
|
||||||
pim = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ /* If "pim" points into l->t it will become invalid when
|
|
||||||
+ * adding the state causes the list to be reallocated. Make a
|
|
||||||
+ * local copy to avoid that. */
|
|
||||||
+ if (pim == &t->pim)
|
|
||||||
+ {
|
|
||||||
+ copy_pim(&pim_copy, pim);
|
|
||||||
+ pim = &pim_copy;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if (add_here)
|
|
||||||
addstate_here(thislist, add_state, &t->subs, pim, &listidx);
|
|
||||||
else
|
|
||||||
*** ../vim-7.4.050/src/version.c 2013-10-02 21:54:57.000000000 +0200
|
|
||||||
--- src/version.c 2013-10-06 15:21:16.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 51,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
GUARD #2: It could be carried by an African swallow!
|
|
||||||
GUARD #1: Oh, yeah, an African swallow maybe, but not a European swallow,
|
|
||||||
that's my point.
|
|
||||||
GUARD #2: Oh, yeah, I agree with that...
|
|
||||||
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/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
197
7.4.052
197
7.4.052
@ -1,197 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.052
|
|
||||||
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.4.052
|
|
||||||
Problem: With 'fo' set to "a2" inserting a space in the first column may
|
|
||||||
cause the cursor to jump to the previous line.
|
|
||||||
Solution: Handle the case when there is no comment leader properly. (Tor
|
|
||||||
Perkins) Also fix that cursor is in the wrong place when spaces
|
|
||||||
get replaced with a Tab.
|
|
||||||
Files: src/misc1.c, src/ops.c, src/testdir/test68.in,
|
|
||||||
src/testdir/test68.ok
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.051/src/misc1.c 2013-09-05 21:41:35.000000000 +0200
|
|
||||||
--- src/misc1.c 2013-10-06 17:46:18.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 303,312 ****
|
|
||||||
ml_replace(curwin->w_cursor.lnum, newline, FALSE);
|
|
||||||
if (flags & SIN_CHANGED)
|
|
||||||
changed_bytes(curwin->w_cursor.lnum, 0);
|
|
||||||
! /* Correct saved cursor position if it's after the indent. */
|
|
||||||
! if (saved_cursor.lnum == curwin->w_cursor.lnum
|
|
||||||
! && saved_cursor.col >= (colnr_T)(p - oldline))
|
|
||||||
! saved_cursor.col += ind_len - (colnr_T)(p - oldline);
|
|
||||||
retval = TRUE;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
--- 303,320 ----
|
|
||||||
ml_replace(curwin->w_cursor.lnum, newline, FALSE);
|
|
||||||
if (flags & SIN_CHANGED)
|
|
||||||
changed_bytes(curwin->w_cursor.lnum, 0);
|
|
||||||
! /* Correct saved cursor position if it is in this line. */
|
|
||||||
! if (saved_cursor.lnum == curwin->w_cursor.lnum)
|
|
||||||
! {
|
|
||||||
! if (saved_cursor.col >= (colnr_T)(p - oldline))
|
|
||||||
! /* cursor was after the indent, adjust for the number of
|
|
||||||
! * bytes added/removed */
|
|
||||||
! saved_cursor.col += ind_len - (colnr_T)(p - oldline);
|
|
||||||
! else if (saved_cursor.col >= (colnr_T)(s - newline))
|
|
||||||
! /* cursor was in the indent, and is now after it, put it back
|
|
||||||
! * at the start of the indent (replacing spaces with TAB) */
|
|
||||||
! saved_cursor.col = (colnr_T)(s - newline);
|
|
||||||
! }
|
|
||||||
retval = TRUE;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
***************
|
|
||||||
*** 1581,1589 ****
|
|
||||||
|
|
||||||
#if defined(FEAT_COMMENTS) || defined(PROTO)
|
|
||||||
/*
|
|
||||||
! * get_leader_len() returns the length of the prefix of the given string
|
|
||||||
! * which introduces a comment. If this string is not a comment then 0 is
|
|
||||||
! * returned.
|
|
||||||
* When "flags" is not NULL, it is set to point to the flags of the recognized
|
|
||||||
* comment leader.
|
|
||||||
* "backward" must be true for the "O" command.
|
|
||||||
--- 1589,1597 ----
|
|
||||||
|
|
||||||
#if defined(FEAT_COMMENTS) || defined(PROTO)
|
|
||||||
/*
|
|
||||||
! * get_leader_len() returns the length in bytes of the prefix of the given
|
|
||||||
! * string which introduces a comment. If this string is not a comment then
|
|
||||||
! * 0 is returned.
|
|
||||||
* When "flags" is not NULL, it is set to point to the flags of the recognized
|
|
||||||
* comment leader.
|
|
||||||
* "backward" must be true for the "O" command.
|
|
||||||
*** ../vim-7.4.051/src/ops.c 2013-09-25 23:24:54.000000000 +0200
|
|
||||||
--- src/ops.c 2013-10-06 17:11:51.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 4989,4995 ****
|
|
||||||
|
|
||||||
/*
|
|
||||||
* When still in same paragraph, join the lines together. But
|
|
||||||
! * first delete the comment leader from the second line.
|
|
||||||
*/
|
|
||||||
if (!is_end_par)
|
|
||||||
{
|
|
||||||
--- 4989,4995 ----
|
|
||||||
|
|
||||||
/*
|
|
||||||
* When still in same paragraph, join the lines together. But
|
|
||||||
! * first delete the leader from the second line.
|
|
||||||
*/
|
|
||||||
if (!is_end_par)
|
|
||||||
{
|
|
||||||
***************
|
|
||||||
*** 4999,5009 ****
|
|
||||||
if (line_count < 0 && u_save_cursor() == FAIL)
|
|
||||||
break;
|
|
||||||
#ifdef FEAT_COMMENTS
|
|
||||||
- (void)del_bytes((long)next_leader_len, FALSE, FALSE);
|
|
||||||
if (next_leader_len > 0)
|
|
||||||
mark_col_adjust(curwin->w_cursor.lnum, (colnr_T)0, 0L,
|
|
||||||
(long)-next_leader_len);
|
|
||||||
#endif
|
|
||||||
curwin->w_cursor.lnum--;
|
|
||||||
if (do_join(2, TRUE, FALSE, FALSE) == FAIL)
|
|
||||||
{
|
|
||||||
--- 4999,5023 ----
|
|
||||||
if (line_count < 0 && u_save_cursor() == FAIL)
|
|
||||||
break;
|
|
||||||
#ifdef FEAT_COMMENTS
|
|
||||||
if (next_leader_len > 0)
|
|
||||||
+ {
|
|
||||||
+ (void)del_bytes((long)next_leader_len, FALSE, FALSE);
|
|
||||||
mark_col_adjust(curwin->w_cursor.lnum, (colnr_T)0, 0L,
|
|
||||||
(long)-next_leader_len);
|
|
||||||
+ } else
|
|
||||||
#endif
|
|
||||||
+ if (second_indent > 0) /* the "leader" for FO_Q_SECOND */
|
|
||||||
+ {
|
|
||||||
+ char_u *p = ml_get_curline();
|
|
||||||
+ int indent = skipwhite(p) - p;
|
|
||||||
+
|
|
||||||
+ if (indent > 0)
|
|
||||||
+ {
|
|
||||||
+ (void)del_bytes(indent, FALSE, FALSE);
|
|
||||||
+ mark_col_adjust(curwin->w_cursor.lnum,
|
|
||||||
+ (colnr_T)0, 0L, (long)-indent);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
curwin->w_cursor.lnum--;
|
|
||||||
if (do_join(2, TRUE, FALSE, FALSE) == FAIL)
|
|
||||||
{
|
|
||||||
*** ../vim-7.4.051/src/testdir/test68.in 2012-07-25 15:57:06.000000000 +0200
|
|
||||||
--- src/testdir/test68.in 2013-10-06 16:20:33.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 62,67 ****
|
|
||||||
--- 62,81 ----
|
|
||||||
}
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
+ /^{/+3
|
|
||||||
+ :set tw=5 fo=t2a si
|
|
||||||
+ i A_
|
|
||||||
+ ENDTEST
|
|
||||||
+
|
|
||||||
+ {
|
|
||||||
+
|
|
||||||
+ x a
|
|
||||||
+ b
|
|
||||||
+ c
|
|
||||||
+
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ STARTTEST
|
|
||||||
/^{/+1
|
|
||||||
:set tw=5 fo=qn comments=:#
|
|
||||||
gwap
|
|
||||||
*** ../vim-7.4.051/src/testdir/test68.ok 2012-07-25 16:03:05.000000000 +0200
|
|
||||||
--- src/testdir/test68.ok 2013-10-06 16:20:33.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 43,48 ****
|
|
||||||
--- 43,57 ----
|
|
||||||
|
|
||||||
|
|
||||||
{
|
|
||||||
+
|
|
||||||
+ x a
|
|
||||||
+ b_
|
|
||||||
+ c
|
|
||||||
+
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+ {
|
|
||||||
# 1 a
|
|
||||||
# b
|
|
||||||
}
|
|
||||||
*** ../vim-7.4.051/src/version.c 2013-10-06 15:46:06.000000000 +0200
|
|
||||||
--- src/version.c 2013-10-06 17:25:27.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 52,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
ARTHUR: Will you ask your master if he wants to join my court at Camelot?!
|
|
||||||
GUARD #1: But then of course African swallows are not migratory.
|
|
||||||
GUARD #2: Oh, yeah...
|
|
||||||
GUARD #1: So they couldn't bring a coconut back anyway...
|
|
||||||
The Quest for the Holy Grail (Monty Python)
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
45
7.4.053
45
7.4.053
@ -1,45 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.053
|
|
||||||
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.4.053
|
|
||||||
Problem: Test75 has a wrong header. (ZyX)
|
|
||||||
Solution: Fix the text and remove leading ".
|
|
||||||
Files: src/testdir/test75.in
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.052/src/testdir/test75.in 2013-06-29 13:48:42.000000000 +0200
|
|
||||||
--- src/testdir/test75.in 2013-10-19 20:28:53.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 1,4 ****
|
|
||||||
! " Tests for functions.
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
:so small.vim
|
|
||||||
--- 1,4 ----
|
|
||||||
! Tests for maparg().
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
:so small.vim
|
|
||||||
*** ../vim-7.4.052/src/version.c 2013-10-06 17:46:48.000000000 +0200
|
|
||||||
--- src/version.c 2013-11-02 04:18:07.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 53,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
Every exit is an entrance into something else.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
53
7.4.054
53
7.4.054
@ -1,53 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.054
|
|
||||||
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.4.054
|
|
||||||
Problem: Reading past end of the 'stl' string.
|
|
||||||
Solution: Don't increment pointer when already at the NUL. (Christian
|
|
||||||
Brabandt)
|
|
||||||
Files: src/buffer.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.053/src/buffer.c 2013-08-14 17:11:14.000000000 +0200
|
|
||||||
--- src/buffer.c 2013-11-02 04:34:26.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 4062,4068 ****
|
|
||||||
item[curitem].minwid = -syn_namen2id(t, (int)(s - t));
|
|
||||||
curitem++;
|
|
||||||
}
|
|
||||||
! ++s;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
--- 4062,4069 ----
|
|
||||||
item[curitem].minwid = -syn_namen2id(t, (int)(s - t));
|
|
||||||
curitem++;
|
|
||||||
}
|
|
||||||
! if (*s != NUL)
|
|
||||||
! ++s;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
*** ../vim-7.4.053/src/version.c 2013-11-02 04:19:10.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-02 04:31:50.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 54,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
Every person is responsible for the choices he makes.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
138
7.4.055
138
7.4.055
@ -1,138 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.055
|
|
||||||
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.4.055
|
|
||||||
Problem: Mac: Where availability macros are defined depends on the system.
|
|
||||||
Solution: Add a configure check. (Felix Bünemann)
|
|
||||||
Files: src/config.h.in, src/configure.in, src/auto/configure,
|
|
||||||
src/os_mac.h
|
|
||||||
|
|
||||||
*** ../vim-7.4.054/src/config.h.in 2013-02-26 14:18:19.000000000 +0100
|
|
||||||
--- src/config.h.in 2013-11-02 20:52:08.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 442,444 ****
|
|
||||||
--- 442,447 ----
|
|
||||||
|
|
||||||
/* Define if you want Cygwin to use the WIN32 clipboard, not compatible with X11*/
|
|
||||||
#undef FEAT_CYGWIN_WIN32_CLIPBOARD
|
|
||||||
+
|
|
||||||
+ /* Define if we have AvailabilityMacros.h on Mac OS X */
|
|
||||||
+ #undef HAVE_AVAILABILITYMACROS_H
|
|
||||||
*** ../vim-7.4.054/src/configure.in 2013-10-02 18:22:58.000000000 +0200
|
|
||||||
--- src/configure.in 2013-11-02 20:58:58.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 206,211 ****
|
|
||||||
--- 206,215 ----
|
|
||||||
dnl TODO: use -arch i386 on Intel machines
|
|
||||||
CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
|
|
||||||
|
|
||||||
+ dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon
|
|
||||||
+ dnl so we need to include it to have access to version macros.
|
|
||||||
+ AC_CHECK_HEADER(AvailabilityMacros.h, [AC_DEFINE(HAVE_AVAILABILITYMACROS_H, 1, [ Define if we have AvailabilityMacros.h on Mac OS X ])])
|
|
||||||
+
|
|
||||||
dnl If Carbon is found, assume we don't want X11
|
|
||||||
dnl unless it was specifically asked for (--with-x)
|
|
||||||
dnl or Motif, Athena or GTK GUI is used.
|
|
||||||
*** ../vim-7.4.054/src/auto/configure 2013-10-02 18:22:58.000000000 +0200
|
|
||||||
--- src/auto/configure 2013-11-02 21:00:40.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 4223,4229 ****
|
|
||||||
OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
|
|
||||||
CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
|
|
||||||
|
|
||||||
! # On IRIX 5.3, sys/types and inttypes.h are conflicting.
|
|
||||||
for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
|
|
||||||
inttypes.h stdint.h unistd.h
|
|
||||||
do :
|
|
||||||
--- 4223,4229 ----
|
|
||||||
OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
|
|
||||||
CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
|
|
||||||
|
|
||||||
! # On IRIX 5.3, sys/types and inttypes.h are conflicting.
|
|
||||||
for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
|
|
||||||
inttypes.h stdint.h unistd.h
|
|
||||||
do :
|
|
||||||
***************
|
|
||||||
*** 4241,4247 ****
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
! ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default"
|
|
||||||
if test "x$ac_cv_header_Carbon_Carbon_h" = x""yes; then :
|
|
||||||
CARBON=yes
|
|
||||||
fi
|
|
||||||
--- 4241,4256 ----
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
! ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default"
|
|
||||||
! if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then :
|
|
||||||
!
|
|
||||||
! $as_echo "#define HAVE_AVAILABILITYMACROS_H 1" >>confdefs.h
|
|
||||||
!
|
|
||||||
! fi
|
|
||||||
!
|
|
||||||
!
|
|
||||||
!
|
|
||||||
! ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default"
|
|
||||||
if test "x$ac_cv_header_Carbon_Carbon_h" = x""yes; then :
|
|
||||||
CARBON=yes
|
|
||||||
fi
|
|
||||||
*** ../vim-7.4.054/src/os_mac.h 2013-05-06 04:06:04.000000000 +0200
|
|
||||||
--- src/os_mac.h 2013-11-02 20:59:46.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 16,21 ****
|
|
||||||
--- 16,26 ----
|
|
||||||
# define OPAQUE_TOOLBOX_STRUCTS 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+ /* Include MAC_OS_X_VERSION_* macros */
|
|
||||||
+ #ifdef HAVE_AVAILABILITYMACROS_H
|
|
||||||
+ # include <AvailabilityMacros.h>
|
|
||||||
+ #endif
|
|
||||||
+
|
|
||||||
/*
|
|
||||||
* Macintosh machine-dependent things.
|
|
||||||
*
|
|
||||||
***************
|
|
||||||
*** 263,269 ****
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Some "prep work" definition to be able to compile the MacOS X
|
|
||||||
! * version with os_unix.x instead of os_mac.c. Based on the result
|
|
||||||
* of ./configure for console MacOS X.
|
|
||||||
*/
|
|
||||||
|
|
||||||
--- 268,274 ----
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Some "prep work" definition to be able to compile the MacOS X
|
|
||||||
! * version with os_unix.c instead of os_mac.c. Based on the result
|
|
||||||
* of ./configure for console MacOS X.
|
|
||||||
*/
|
|
||||||
|
|
||||||
*** ../vim-7.4.054/src/version.c 2013-11-02 04:39:34.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-02 21:01:10.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 55,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
You can be stopped by the police for biking over 65 miles per hour.
|
|
||||||
You are not allowed to walk across a street on your hands.
|
|
||||||
[real standing laws in Connecticut, United States of America]
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
51
7.4.056
51
7.4.056
@ -1,51 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.056
|
|
||||||
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.4.056
|
|
||||||
Problem: Mac: Compilation problem with OS X 10.9 Mavericks.
|
|
||||||
Solution: Include AvailabilityMacros.h when available. (Kazunobu Kuriyama)
|
|
||||||
Files: src/os_unix.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.055/src/os_unix.c 2013-09-05 21:41:35.000000000 +0200
|
|
||||||
--- src/os_unix.c 2013-11-02 21:46:05.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 804,809 ****
|
|
||||||
--- 804,815 ----
|
|
||||||
* completely full.
|
|
||||||
*/
|
|
||||||
|
|
||||||
+ #if defined(HAVE_AVAILABILITYMACROS_H) \
|
|
||||||
+ && defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) \
|
|
||||||
+ && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1090)
|
|
||||||
+ # include <AvailabilityMacros.h>
|
|
||||||
+ #endif
|
|
||||||
+
|
|
||||||
#ifndef SIGSTKSZ
|
|
||||||
# define SIGSTKSZ 8000 /* just a guess of how much stack is needed... */
|
|
||||||
#endif
|
|
||||||
*** ../vim-7.4.055/src/version.c 2013-11-02 21:04:32.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-02 21:44:10.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 56,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
If an elephant is left tied to a parking meter, the parking fee has to be paid
|
|
||||||
just as it would for a vehicle.
|
|
||||||
[real standing law in Florida, United States of America]
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
252
7.4.057
252
7.4.057
@ -1,252 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.057
|
|
||||||
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.4.057
|
|
||||||
Problem: byteidx() does not work for composing characters.
|
|
||||||
Solution: Add byteidxcomp().
|
|
||||||
Files: src/eval.c, src/testdir/test69.in, src/testdir/test69.ok,
|
|
||||||
runtime/doc/eval.txt
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.056/src/eval.c 2013-10-02 16:46:23.000000000 +0200
|
|
||||||
--- src/eval.c 2013-11-02 22:30:08.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 474,480 ****
|
|
||||||
--- 474,482 ----
|
|
||||||
static void f_bufnr __ARGS((typval_T *argvars, typval_T *rettv));
|
|
||||||
static void f_bufwinnr __ARGS((typval_T *argvars, typval_T *rettv));
|
|
||||||
static void f_byte2line __ARGS((typval_T *argvars, typval_T *rettv));
|
|
||||||
+ static void byteidx __ARGS((typval_T *argvars, typval_T *rettv, int comp));
|
|
||||||
static void f_byteidx __ARGS((typval_T *argvars, typval_T *rettv));
|
|
||||||
+ static void f_byteidxcomp __ARGS((typval_T *argvars, typval_T *rettv));
|
|
||||||
static void f_call __ARGS((typval_T *argvars, typval_T *rettv));
|
|
||||||
#ifdef FEAT_FLOAT
|
|
||||||
static void f_ceil __ARGS((typval_T *argvars, typval_T *rettv));
|
|
||||||
***************
|
|
||||||
*** 7861,7866 ****
|
|
||||||
--- 7863,7869 ----
|
|
||||||
{"bufwinnr", 1, 1, f_bufwinnr},
|
|
||||||
{"byte2line", 1, 1, f_byte2line},
|
|
||||||
{"byteidx", 2, 2, f_byteidx},
|
|
||||||
+ {"byteidxcomp", 2, 2, f_byteidxcomp},
|
|
||||||
{"call", 2, 3, f_call},
|
|
||||||
#ifdef FEAT_FLOAT
|
|
||||||
{"ceil", 1, 1, f_ceil},
|
|
||||||
***************
|
|
||||||
*** 9177,9189 ****
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
- /*
|
|
||||||
- * "byteidx()" function
|
|
||||||
- */
|
|
||||||
static void
|
|
||||||
! f_byteidx(argvars, rettv)
|
|
||||||
typval_T *argvars;
|
|
||||||
typval_T *rettv;
|
|
||||||
{
|
|
||||||
#ifdef FEAT_MBYTE
|
|
||||||
char_u *t;
|
|
||||||
--- 9180,9190 ----
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
! byteidx(argvars, rettv, comp)
|
|
||||||
typval_T *argvars;
|
|
||||||
typval_T *rettv;
|
|
||||||
+ int comp;
|
|
||||||
{
|
|
||||||
#ifdef FEAT_MBYTE
|
|
||||||
char_u *t;
|
|
||||||
***************
|
|
||||||
*** 9203,9209 ****
|
|
||||||
{
|
|
||||||
if (*t == NUL) /* EOL reached */
|
|
||||||
return;
|
|
||||||
! t += (*mb_ptr2len)(t);
|
|
||||||
}
|
|
||||||
rettv->vval.v_number = (varnumber_T)(t - str);
|
|
||||||
#else
|
|
||||||
--- 9204,9213 ----
|
|
||||||
{
|
|
||||||
if (*t == NUL) /* EOL reached */
|
|
||||||
return;
|
|
||||||
! if (enc_utf8 && comp)
|
|
||||||
! t += utf_ptr2len(t);
|
|
||||||
! else
|
|
||||||
! t += (*mb_ptr2len)(t);
|
|
||||||
}
|
|
||||||
rettv->vval.v_number = (varnumber_T)(t - str);
|
|
||||||
#else
|
|
||||||
***************
|
|
||||||
*** 9212,9217 ****
|
|
||||||
--- 9216,9243 ----
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
+ /*
|
|
||||||
+ * "byteidx()" function
|
|
||||||
+ */
|
|
||||||
+ static void
|
|
||||||
+ f_byteidx(argvars, rettv)
|
|
||||||
+ typval_T *argvars;
|
|
||||||
+ typval_T *rettv;
|
|
||||||
+ {
|
|
||||||
+ byteidx(argvars, rettv, FALSE);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /*
|
|
||||||
+ * "byteidxcomp()" function
|
|
||||||
+ */
|
|
||||||
+ static void
|
|
||||||
+ f_byteidxcomp(argvars, rettv)
|
|
||||||
+ typval_T *argvars;
|
|
||||||
+ typval_T *rettv;
|
|
||||||
+ {
|
|
||||||
+ byteidx(argvars, rettv, TRUE);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
int
|
|
||||||
func_call(name, args, selfdict, rettv)
|
|
||||||
char_u *name;
|
|
||||||
*** ../vim-7.4.056/src/testdir/test69.in 2013-03-07 18:30:50.000000000 +0100
|
|
||||||
--- src/testdir/test69.in 2013-11-02 22:46:02.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 1,6 ****
|
|
||||||
--- 1,7 ----
|
|
||||||
Test for multi-byte text formatting.
|
|
||||||
Also test, that 'mps' with multibyte chars works.
|
|
||||||
And test "ra" on multi-byte characters.
|
|
||||||
+ Also test byteidx() and byteidxcomp()
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
:so mbyte.vim
|
|
||||||
***************
|
|
||||||
*** 154,159 ****
|
|
||||||
--- 155,175 ----
|
|
||||||
aab
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
+ :let a = '.é.' " one char of two bytes
|
|
||||||
+ :let b = '.é.' " normal e with composing char
|
|
||||||
+ /^byteidx
|
|
||||||
+ :put =string([byteidx(a, 0), byteidx(a, 1), byteidx(a, 2), byteidx(a, 3), byteidx(a, 4)])
|
|
||||||
+ :put =string([byteidx(b, 0), byteidx(b, 1), byteidx(b, 2), byteidx(b, 3), byteidx(b, 4)])
|
|
||||||
+ /^byteidxcomp
|
|
||||||
+ :put =string([byteidxcomp(a, 0), byteidxcomp(a, 1), byteidxcomp(a, 2), byteidxcomp(a, 3), byteidxcomp(a, 4)])
|
|
||||||
+ :let b = '.é.'
|
|
||||||
+ :put =string([byteidxcomp(b, 0), byteidxcomp(b, 1), byteidxcomp(b, 2), byteidxcomp(b, 3), byteidxcomp(b, 4), byteidxcomp(b, 5)])
|
|
||||||
+ ENDTEST
|
|
||||||
+
|
|
||||||
+ byteidx
|
|
||||||
+ byteidxcomp
|
|
||||||
+
|
|
||||||
+ STARTTEST
|
|
||||||
:g/^STARTTEST/.,/^ENDTEST/d
|
|
||||||
:1;/^Results/,$wq! test.out
|
|
||||||
ENDTEST
|
|
||||||
*** ../vim-7.4.056/src/testdir/test69.ok 2013-03-07 18:31:32.000000000 +0100
|
|
||||||
--- src/testdir/test69.ok 2013-11-02 22:43:25.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 149,151 ****
|
|
||||||
--- 149,159 ----
|
|
||||||
aaaa
|
|
||||||
aaa
|
|
||||||
|
|
||||||
+
|
|
||||||
+ byteidx
|
|
||||||
+ [0, 1, 3, 4, -1]
|
|
||||||
+ [0, 1, 4, 5, -1]
|
|
||||||
+ byteidxcomp
|
|
||||||
+ [0, 1, 3, 4, -1]
|
|
||||||
+ [0, 1, 2, 4, 5, -1]
|
|
||||||
+
|
|
||||||
*** ../vim-7.4.056/runtime/doc/eval.txt 2013-08-10 13:24:53.000000000 +0200
|
|
||||||
--- runtime/doc/eval.txt 2013-11-02 23:27:24.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 1712,1717 ****
|
|
||||||
--- 1713,1719 ----
|
|
||||||
bufwinnr( {expr}) Number window number of buffer {expr}
|
|
||||||
byte2line( {byte}) Number line number at byte count {byte}
|
|
||||||
byteidx( {expr}, {nr}) Number byte index of {nr}'th char in {expr}
|
|
||||||
+ byteidxcomp( {expr}, {nr}) Number byte index of {nr}'th char in {expr}
|
|
||||||
call( {func}, {arglist} [, {dict}])
|
|
||||||
any call {func} with arguments {arglist}
|
|
||||||
ceil( {expr}) Float round {expr} up
|
|
||||||
***************
|
|
||||||
*** 2260,2266 ****
|
|
||||||
{expr}. Use zero for the first character, it returns zero.
|
|
||||||
This function is only useful when there are multibyte
|
|
||||||
characters, otherwise the returned value is equal to {nr}.
|
|
||||||
! Composing characters are counted as a separate character.
|
|
||||||
Example : >
|
|
||||||
echo matchstr(str, ".", byteidx(str, 3))
|
|
||||||
< will display the fourth character. Another way to do the
|
|
||||||
--- 2262,2271 ----
|
|
||||||
{expr}. Use zero for the first character, it returns zero.
|
|
||||||
This function is only useful when there are multibyte
|
|
||||||
characters, otherwise the returned value is equal to {nr}.
|
|
||||||
! Composing characters are not counted separately, their byte
|
|
||||||
! length is added to the preceding base character. See
|
|
||||||
! |byteidxcomp()| below for counting composing characters
|
|
||||||
! separately.
|
|
||||||
Example : >
|
|
||||||
echo matchstr(str, ".", byteidx(str, 3))
|
|
||||||
< will display the fourth character. Another way to do the
|
|
||||||
***************
|
|
||||||
*** 2269,2275 ****
|
|
||||||
echo strpart(s, 0, byteidx(s, 1))
|
|
||||||
< If there are less than {nr} characters -1 is returned.
|
|
||||||
If there are exactly {nr} characters the length of the string
|
|
||||||
! is returned.
|
|
||||||
|
|
||||||
call({func}, {arglist} [, {dict}]) *call()* *E699*
|
|
||||||
Call function {func} with the items in |List| {arglist} as
|
|
||||||
--- 2274,2293 ----
|
|
||||||
echo strpart(s, 0, byteidx(s, 1))
|
|
||||||
< If there are less than {nr} characters -1 is returned.
|
|
||||||
If there are exactly {nr} characters the length of the string
|
|
||||||
! in bytes is returned.
|
|
||||||
!
|
|
||||||
! byteidxcomp({expr}, {nr}) *byteidxcomp()*
|
|
||||||
! Like byteidx(), except that a composing character is counted
|
|
||||||
! as a separate character. Example: >
|
|
||||||
! let s = 'e' . nr2char(0x301)
|
|
||||||
! echo byteidx(s, 1)
|
|
||||||
! echo byteidxcomp(s, 1)
|
|
||||||
! echo byteidxcomp(s, 2)
|
|
||||||
! < The first and third echo result in 3 ('e' plus composing
|
|
||||||
! character is 3 bytes), the second echo results in 1 ('e' is
|
|
||||||
! one byte).
|
|
||||||
! Only works different from byteidx() when 'encoding' is set to
|
|
||||||
! a Unicode encoding.
|
|
||||||
|
|
||||||
call({func}, {arglist} [, {dict}]) *call()* *E699*
|
|
||||||
Call function {func} with the items in |List| {arglist} as
|
|
||||||
*** ../vim-7.4.056/src/version.c 2013-11-02 21:49:28.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-02 22:45:13.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 57,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
Any sufficiently advanced technology is indistinguishable from magic.
|
|
||||||
Arthur C. Clarke
|
|
||||||
Any sufficiently advanced bug is indistinguishable from a feature.
|
|
||||||
Rich Kulawiec
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
67
7.4.058
67
7.4.058
@ -1,67 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.058
|
|
||||||
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.4.058
|
|
||||||
Problem: Warnings on 64 bit Windows.
|
|
||||||
Solution: Add type casts. (Mike Williams)
|
|
||||||
Files: src/ops.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.057/src/ops.c 2013-10-06 17:46:48.000000000 +0200
|
|
||||||
--- src/ops.c 2013-11-02 23:56:15.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 5009,5022 ****
|
|
||||||
if (second_indent > 0) /* the "leader" for FO_Q_SECOND */
|
|
||||||
{
|
|
||||||
char_u *p = ml_get_curline();
|
|
||||||
! int indent = skipwhite(p) - p;
|
|
||||||
|
|
||||||
if (indent > 0)
|
|
||||||
{
|
|
||||||
(void)del_bytes(indent, FALSE, FALSE);
|
|
||||||
mark_col_adjust(curwin->w_cursor.lnum,
|
|
||||||
(colnr_T)0, 0L, (long)-indent);
|
|
||||||
! }
|
|
||||||
}
|
|
||||||
curwin->w_cursor.lnum--;
|
|
||||||
if (do_join(2, TRUE, FALSE, FALSE) == FAIL)
|
|
||||||
--- 5009,5022 ----
|
|
||||||
if (second_indent > 0) /* the "leader" for FO_Q_SECOND */
|
|
||||||
{
|
|
||||||
char_u *p = ml_get_curline();
|
|
||||||
! int indent = (int)(skipwhite(p) - p);
|
|
||||||
|
|
||||||
if (indent > 0)
|
|
||||||
{
|
|
||||||
(void)del_bytes(indent, FALSE, FALSE);
|
|
||||||
mark_col_adjust(curwin->w_cursor.lnum,
|
|
||||||
(colnr_T)0, 0L, (long)-indent);
|
|
||||||
! }
|
|
||||||
}
|
|
||||||
curwin->w_cursor.lnum--;
|
|
||||||
if (do_join(2, TRUE, FALSE, FALSE) == FAIL)
|
|
||||||
*** ../vim-7.4.057/src/version.c 2013-11-02 23:29:17.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-02 23:55:01.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 58,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
Citizens are not allowed to attend a movie house or theater nor ride in a
|
|
||||||
public streetcar within at least four hours after eating garlic.
|
|
||||||
[real standing law in Indiana, United States of America]
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
53
7.4.059
53
7.4.059
@ -1,53 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.059
|
|
||||||
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.4.059
|
|
||||||
Problem: set_last_cursor() may encounter w_buffer being NULL. (Matt
|
|
||||||
Mkaniaris)
|
|
||||||
Solution: Check for NULL.
|
|
||||||
Files: src/mark.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.058/src/mark.c 2013-08-02 17:22:10.000000000 +0200
|
|
||||||
--- src/mark.c 2013-11-03 00:18:35.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 1374,1380 ****
|
|
||||||
set_last_cursor(win)
|
|
||||||
win_T *win;
|
|
||||||
{
|
|
||||||
! win->w_buffer->b_last_cursor = win->w_cursor;
|
|
||||||
}
|
|
||||||
|
|
||||||
#if defined(EXITFREE) || defined(PROTO)
|
|
||||||
--- 1374,1381 ----
|
|
||||||
set_last_cursor(win)
|
|
||||||
win_T *win;
|
|
||||||
{
|
|
||||||
! if (win->w_buffer != NULL)
|
|
||||||
! win->w_buffer->b_last_cursor = win->w_cursor;
|
|
||||||
}
|
|
||||||
|
|
||||||
#if defined(EXITFREE) || defined(PROTO)
|
|
||||||
*** ../vim-7.4.058/src/version.c 2013-11-02 23:59:30.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-03 00:17:55.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 59,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
How do you know when you have run out of invisible ink?
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
71
7.4.060
71
7.4.060
@ -1,71 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.060
|
|
||||||
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.4.060
|
|
||||||
Problem: Declaration has wrong return type for PyObject_SetAttrString().
|
|
||||||
Solution: Use int instead of PyObject. (Andreas Schwab)
|
|
||||||
Files: src/if_python.c, src/if_python3.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.059/src/if_python.c 2013-07-09 21:40:11.000000000 +0200
|
|
||||||
--- src/if_python.c 2013-11-03 00:24:57.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 359,365 ****
|
|
||||||
static PyObject *(*dll_PyRun_String)(char *, int, PyObject *, PyObject *);
|
|
||||||
static PyObject* (*dll_PyObject_GetAttrString)(PyObject *, const char *);
|
|
||||||
static int (*dll_PyObject_HasAttrString)(PyObject *, const char *);
|
|
||||||
! static PyObject* (*dll_PyObject_SetAttrString)(PyObject *, const char *, PyObject *);
|
|
||||||
static PyObject* (*dll_PyObject_CallFunctionObjArgs)(PyObject *, ...);
|
|
||||||
static PyObject* (*dll_PyObject_CallFunction)(PyObject *, char *, ...);
|
|
||||||
static PyObject* (*dll_PyObject_Call)(PyObject *, PyObject *, PyObject *);
|
|
||||||
--- 359,365 ----
|
|
||||||
static PyObject *(*dll_PyRun_String)(char *, int, PyObject *, PyObject *);
|
|
||||||
static PyObject* (*dll_PyObject_GetAttrString)(PyObject *, const char *);
|
|
||||||
static int (*dll_PyObject_HasAttrString)(PyObject *, const char *);
|
|
||||||
! static int (*dll_PyObject_SetAttrString)(PyObject *, const char *, PyObject *);
|
|
||||||
static PyObject* (*dll_PyObject_CallFunctionObjArgs)(PyObject *, ...);
|
|
||||||
static PyObject* (*dll_PyObject_CallFunction)(PyObject *, char *, ...);
|
|
||||||
static PyObject* (*dll_PyObject_Call)(PyObject *, PyObject *, PyObject *);
|
|
||||||
*** ../vim-7.4.059/src/if_python3.c 2013-07-09 21:53:21.000000000 +0200
|
|
||||||
--- src/if_python3.c 2013-11-03 00:24:57.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 302,308 ****
|
|
||||||
static PyObject* (*py3_PyRun_String)(char *, int, PyObject *, PyObject *);
|
|
||||||
static PyObject* (*py3_PyObject_GetAttrString)(PyObject *, const char *);
|
|
||||||
static int (*py3_PyObject_HasAttrString)(PyObject *, const char *);
|
|
||||||
! static PyObject* (*py3_PyObject_SetAttrString)(PyObject *, const char *, PyObject *);
|
|
||||||
static PyObject* (*py3_PyObject_CallFunctionObjArgs)(PyObject *, ...);
|
|
||||||
static PyObject* (*py3__PyObject_CallFunction_SizeT)(PyObject *, char *, ...);
|
|
||||||
static PyObject* (*py3_PyObject_Call)(PyObject *, PyObject *, PyObject *);
|
|
||||||
--- 302,308 ----
|
|
||||||
static PyObject* (*py3_PyRun_String)(char *, int, PyObject *, PyObject *);
|
|
||||||
static PyObject* (*py3_PyObject_GetAttrString)(PyObject *, const char *);
|
|
||||||
static int (*py3_PyObject_HasAttrString)(PyObject *, const char *);
|
|
||||||
! static int (*py3_PyObject_SetAttrString)(PyObject *, const char *, PyObject *);
|
|
||||||
static PyObject* (*py3_PyObject_CallFunctionObjArgs)(PyObject *, ...);
|
|
||||||
static PyObject* (*py3__PyObject_CallFunction_SizeT)(PyObject *, char *, ...);
|
|
||||||
static PyObject* (*py3_PyObject_Call)(PyObject *, PyObject *, PyObject *);
|
|
||||||
*** ../vim-7.4.059/src/version.c 2013-11-03 00:20:46.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-03 00:26:19.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 60,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
Kisses may last for as much as, but no more than, five minutes.
|
|
||||||
[real standing law in Iowa, United States of America]
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
144
7.4.061
144
7.4.061
@ -1,144 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.061
|
|
||||||
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.4.061 (after 7.4.055 and 7.4.056)
|
|
||||||
Problem: Availability macros configure check in wrong place.
|
|
||||||
Solution: Also check when not using Darwin. Remove version check.
|
|
||||||
Files: src/configure.in, src/auto/configure, src/os_unix.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.060/src/configure.in 2013-11-02 21:04:32.000000000 +0100
|
|
||||||
--- src/configure.in 2013-11-03 00:34:07.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 206,215 ****
|
|
||||||
dnl TODO: use -arch i386 on Intel machines
|
|
||||||
CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
|
|
||||||
|
|
||||||
- dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon
|
|
||||||
- dnl so we need to include it to have access to version macros.
|
|
||||||
- AC_CHECK_HEADER(AvailabilityMacros.h, [AC_DEFINE(HAVE_AVAILABILITYMACROS_H, 1, [ Define if we have AvailabilityMacros.h on Mac OS X ])])
|
|
||||||
-
|
|
||||||
dnl If Carbon is found, assume we don't want X11
|
|
||||||
dnl unless it was specifically asked for (--with-x)
|
|
||||||
dnl or Motif, Athena or GTK GUI is used.
|
|
||||||
--- 206,211 ----
|
|
||||||
***************
|
|
||||||
*** 232,237 ****
|
|
||||||
--- 228,237 ----
|
|
||||||
AC_MSG_RESULT(no)
|
|
||||||
fi
|
|
||||||
|
|
||||||
+ dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon
|
|
||||||
+ dnl so we need to include it to have access to version macros.
|
|
||||||
+ AC_CHECK_HEADER(AvailabilityMacros.h, HAVE_AVAILABILITYMACROS_H=1)
|
|
||||||
+
|
|
||||||
AC_SUBST(OS_EXTRA_SRC)
|
|
||||||
AC_SUBST(OS_EXTRA_OBJ)
|
|
||||||
|
|
||||||
*** ../vim-7.4.060/src/auto/configure 2013-11-02 21:04:32.000000000 +0100
|
|
||||||
--- src/auto/configure 2013-11-03 00:36:20.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 4223,4229 ****
|
|
||||||
OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
|
|
||||||
CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
|
|
||||||
|
|
||||||
! # On IRIX 5.3, sys/types and inttypes.h are conflicting.
|
|
||||||
for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
|
|
||||||
inttypes.h stdint.h unistd.h
|
|
||||||
do :
|
|
||||||
--- 4223,4229 ----
|
|
||||||
OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
|
|
||||||
CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
|
|
||||||
|
|
||||||
! # On IRIX 5.3, sys/types and inttypes.h are conflicting.
|
|
||||||
for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
|
|
||||||
inttypes.h stdint.h unistd.h
|
|
||||||
do :
|
|
||||||
***************
|
|
||||||
*** 4241,4256 ****
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
! ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default"
|
|
||||||
! if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then :
|
|
||||||
!
|
|
||||||
! $as_echo "#define HAVE_AVAILABILITYMACROS_H 1" >>confdefs.h
|
|
||||||
!
|
|
||||||
! fi
|
|
||||||
!
|
|
||||||
!
|
|
||||||
!
|
|
||||||
! ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default"
|
|
||||||
if test "x$ac_cv_header_Carbon_Carbon_h" = x""yes; then :
|
|
||||||
CARBON=yes
|
|
||||||
fi
|
|
||||||
--- 4241,4247 ----
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
! ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default"
|
|
||||||
if test "x$ac_cv_header_Carbon_Carbon_h" = x""yes; then :
|
|
||||||
CARBON=yes
|
|
||||||
fi
|
|
||||||
***************
|
|
||||||
*** 4272,4277 ****
|
|
||||||
--- 4263,4275 ----
|
|
||||||
$as_echo "no" >&6; }
|
|
||||||
fi
|
|
||||||
|
|
||||||
+ ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default"
|
|
||||||
+ if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then :
|
|
||||||
+ HAVE_AVAILABILITYMACROS_H=1
|
|
||||||
+ fi
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.060/src/os_unix.c 2013-11-02 21:49:28.000000000 +0100
|
|
||||||
--- src/os_unix.c 2013-11-03 00:34:29.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 804,812 ****
|
|
||||||
* completely full.
|
|
||||||
*/
|
|
||||||
|
|
||||||
! #if defined(HAVE_AVAILABILITYMACROS_H) \
|
|
||||||
! && defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) \
|
|
||||||
! && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1090)
|
|
||||||
# include <AvailabilityMacros.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
--- 804,810 ----
|
|
||||||
* completely full.
|
|
||||||
*/
|
|
||||||
|
|
||||||
! #if defined(HAVE_AVAILABILITYMACROS_H)
|
|
||||||
# include <AvailabilityMacros.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
*** ../vim-7.4.060/src/version.c 2013-11-03 00:28:20.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-03 00:37:02.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 61,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
It is illegal to rob a bank and then shoot at the bank teller with a water
|
|
||||||
pistol.
|
|
||||||
[real standing law in Louisana, United States of America]
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
87
7.4.062
87
7.4.062
@ -1,87 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.062
|
|
||||||
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.4.062 (after 7.4.061)
|
|
||||||
Problem: Configure check for AvailabilityMacros.h is wrong.
|
|
||||||
Solution: Use AC_CHECK_HEADERS().
|
|
||||||
Files: src/configure.in, src/auto/configure
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.061/src/configure.in 2013-11-03 00:40:54.000000000 +0100
|
|
||||||
--- src/configure.in 2013-11-03 20:19:42.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 230,236 ****
|
|
||||||
|
|
||||||
dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon
|
|
||||||
dnl so we need to include it to have access to version macros.
|
|
||||||
! AC_CHECK_HEADER(AvailabilityMacros.h, HAVE_AVAILABILITYMACROS_H=1)
|
|
||||||
|
|
||||||
AC_SUBST(OS_EXTRA_SRC)
|
|
||||||
AC_SUBST(OS_EXTRA_OBJ)
|
|
||||||
--- 230,236 ----
|
|
||||||
|
|
||||||
dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon
|
|
||||||
dnl so we need to include it to have access to version macros.
|
|
||||||
! AC_CHECK_HEADERS(AvailabilityMacros.h)
|
|
||||||
|
|
||||||
AC_SUBST(OS_EXTRA_SRC)
|
|
||||||
AC_SUBST(OS_EXTRA_OBJ)
|
|
||||||
*** ../vim-7.4.061/src/auto/configure 2013-11-03 00:40:54.000000000 +0100
|
|
||||||
--- src/auto/configure 2013-11-03 20:22:56.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 4263,4273 ****
|
|
||||||
$as_echo "no" >&6; }
|
|
||||||
fi
|
|
||||||
|
|
||||||
! ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default"
|
|
||||||
if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then :
|
|
||||||
! HAVE_AVAILABILITYMACROS_H=1
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
--- 4263,4279 ----
|
|
||||||
$as_echo "no" >&6; }
|
|
||||||
fi
|
|
||||||
|
|
||||||
! for ac_header in AvailabilityMacros.h
|
|
||||||
! do :
|
|
||||||
! ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default"
|
|
||||||
if test "x$ac_cv_header_AvailabilityMacros_h" = x""yes; then :
|
|
||||||
! cat >>confdefs.h <<_ACEOF
|
|
||||||
! #define HAVE_AVAILABILITYMACROS_H 1
|
|
||||||
! _ACEOF
|
|
||||||
!
|
|
||||||
fi
|
|
||||||
|
|
||||||
+ done
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.061/src/version.c 2013-11-03 00:40:54.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-03 20:25:31.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 62,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
Yesterday, all my deadlines seemed so far away
|
|
||||||
now it looks as though it's freeze in four days
|
|
||||||
oh I believe in cvs..
|
|
||||||
[ CVS log "Beatles style" for FreeBSD ports/INDEX, Satoshi Asami ]
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
105
7.4.063
105
7.4.063
@ -1,105 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.063
|
|
||||||
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.4.063
|
|
||||||
Problem: Crash when using invalid key in Python dictionary.
|
|
||||||
Solution: Check for object to be NULL. Add tests. (ZyX)
|
|
||||||
Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok,
|
|
||||||
src/testdir/test87.in, src/testdir/test87.ok
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.062/src/if_py_both.h 2013-07-24 17:09:19.000000000 +0200
|
|
||||||
--- src/if_py_both.h 2013-11-04 00:27:40.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 1624,1629 ****
|
|
||||||
--- 1624,1632 ----
|
|
||||||
PyObject *rObj = _DictionaryItem(self, keyObject, DICT_FLAG_RETURN_BOOL);
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
+ if (rObj == NULL)
|
|
||||||
+ return -1;
|
|
||||||
+
|
|
||||||
ret = (rObj == Py_True);
|
|
||||||
|
|
||||||
Py_DECREF(rObj);
|
|
||||||
*** ../vim-7.4.062/src/testdir/test86.in 2013-07-13 14:00:31.000000000 +0200
|
|
||||||
--- src/testdir/test86.in 2013-11-04 00:27:11.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 1088,1093 ****
|
|
||||||
--- 1088,1096 ----
|
|
||||||
stringtochars_test('d.get(%s)')
|
|
||||||
ee('d.pop("a")')
|
|
||||||
ee('dl.pop("a")')
|
|
||||||
+ cb.append(">> DictionaryContains")
|
|
||||||
+ ee('"" in d')
|
|
||||||
+ ee('0 in d')
|
|
||||||
cb.append(">> DictionaryIterNext")
|
|
||||||
ee('for i in ned: ned["a"] = 1')
|
|
||||||
del i
|
|
||||||
*** ../vim-7.4.062/src/testdir/test86.ok 2013-06-23 16:38:39.000000000 +0200
|
|
||||||
--- src/testdir/test86.ok 2013-11-04 00:27:11.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 516,521 ****
|
|
||||||
--- 516,524 ----
|
|
||||||
<<< Finished
|
|
||||||
d.pop("a"):KeyError:('a',)
|
|
||||||
dl.pop("a"):error:('dictionary is locked',)
|
|
||||||
+ >> DictionaryContains
|
|
||||||
+ "" in d:ValueError:('empty keys are not allowed',)
|
|
||||||
+ 0 in d:TypeError:('expected str() or unicode() instance, but got int',)
|
|
||||||
>> DictionaryIterNext
|
|
||||||
for i in ned: ned["a"] = 1:RuntimeError:('hashtab changed during iteration',)
|
|
||||||
>> DictionaryAssItem
|
|
||||||
*** ../vim-7.4.062/src/testdir/test87.in 2013-07-06 13:41:30.000000000 +0200
|
|
||||||
--- src/testdir/test87.in 2013-11-04 00:27:11.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 1039,1044 ****
|
|
||||||
--- 1039,1047 ----
|
|
||||||
stringtochars_test('d.get(%s)')
|
|
||||||
ee('d.pop("a")')
|
|
||||||
ee('dl.pop("a")')
|
|
||||||
+ cb.append(">> DictionaryContains")
|
|
||||||
+ ee('"" in d')
|
|
||||||
+ ee('0 in d')
|
|
||||||
cb.append(">> DictionaryIterNext")
|
|
||||||
ee('for i in ned: ned["a"] = 1')
|
|
||||||
del i
|
|
||||||
*** ../vim-7.4.062/src/testdir/test87.ok 2013-06-23 16:38:39.000000000 +0200
|
|
||||||
--- src/testdir/test87.ok 2013-11-04 00:27:11.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 505,510 ****
|
|
||||||
--- 505,513 ----
|
|
||||||
<<< Finished
|
|
||||||
d.pop("a"):(<class 'KeyError'>, KeyError('a',))
|
|
||||||
dl.pop("a"):(<class 'vim.error'>, error('dictionary is locked',))
|
|
||||||
+ >> DictionaryContains
|
|
||||||
+ "" in d:(<class 'ValueError'>, ValueError('empty keys are not allowed',))
|
|
||||||
+ 0 in d:(<class 'TypeError'>, TypeError('expected bytes() or str() instance, but got int',))
|
|
||||||
>> DictionaryIterNext
|
|
||||||
for i in ned: ned["a"] = 1:(<class 'RuntimeError'>, RuntimeError('hashtab changed during iteration',))
|
|
||||||
>> DictionaryAssItem
|
|
||||||
*** ../vim-7.4.062/src/version.c 2013-11-03 20:26:27.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-04 00:26:39.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 63,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
A parent can be arrested if his child cannot hold back a burp during a church
|
|
||||||
service.
|
|
||||||
[real standing law in Nebraska, United States of America]
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
70
7.4.065
70
7.4.065
@ -1,70 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.065
|
|
||||||
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.4.065
|
|
||||||
Problem: When recording, the character typed at the hit-enter prompt is
|
|
||||||
recorded twice. (Urtica Dioica)
|
|
||||||
Solution: Avoid recording the character twice. (Christian Brabandt)
|
|
||||||
Files: src/message.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.064/src/message.c 2013-08-09 20:30:45.000000000 +0200
|
|
||||||
--- src/message.c 2013-11-04 01:56:09.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 887,892 ****
|
|
||||||
--- 887,894 ----
|
|
||||||
int oldState;
|
|
||||||
int tmpState;
|
|
||||||
int had_got_int;
|
|
||||||
+ int save_Recording;
|
|
||||||
+ FILE *save_scriptout;
|
|
||||||
|
|
||||||
if (redraw == TRUE)
|
|
||||||
must_redraw = CLEAR;
|
|
||||||
***************
|
|
||||||
*** 957,967 ****
|
|
||||||
--- 959,979 ----
|
|
||||||
* typeahead buffer. */
|
|
||||||
++no_mapping;
|
|
||||||
++allow_keys;
|
|
||||||
+
|
|
||||||
+ /* Temporarily disable Recording. If Recording is active, the
|
|
||||||
+ * character will be recorded later, since it will be added to the
|
|
||||||
+ * typebuf after the loop */
|
|
||||||
+ save_Recording = Recording;
|
|
||||||
+ save_scriptout = scriptout;
|
|
||||||
+ Recording = FALSE;
|
|
||||||
+ scriptout = NULL;
|
|
||||||
c = safe_vgetc();
|
|
||||||
if (had_got_int && !global_busy)
|
|
||||||
got_int = FALSE;
|
|
||||||
--no_mapping;
|
|
||||||
--allow_keys;
|
|
||||||
+ Recording = save_Recording;
|
|
||||||
+ scriptout = save_scriptout;
|
|
||||||
|
|
||||||
#ifdef FEAT_CLIPBOARD
|
|
||||||
/* Strange way to allow copying (yanking) a modeless selection at
|
|
||||||
*** ../vim-7.4.064/src/version.c 2013-11-04 01:41:11.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-04 01:53:19.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 65,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
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/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
354
7.4.066
354
7.4.066
@ -1,354 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.066
|
|
||||||
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.4.066
|
|
||||||
Problem: MS-Windows: When there is a colon in the file name (sub-stream
|
|
||||||
feature) the swap file name is wrong.
|
|
||||||
Solution: Change the colon to "%". (Yasuhiro Matsumoto)
|
|
||||||
Files: src/fileio.c, src/memline.c, src/misc1.c, src/proto/misc1.pro
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.065/src/memline.c 2013-05-06 04:01:02.000000000 +0200
|
|
||||||
--- src/memline.c 2013-11-04 02:52:44.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 4014,4019 ****
|
|
||||||
--- 4014,4026 ----
|
|
||||||
else
|
|
||||||
retval = concat_fnames(dname, tail, TRUE);
|
|
||||||
|
|
||||||
+ #ifdef WIN3264
|
|
||||||
+ if (retval != NULL)
|
|
||||||
+ for (t = gettail(retval); *t != NUL; mb_ptr_adv(t))
|
|
||||||
+ if (*t == ':')
|
|
||||||
+ *t = '%';
|
|
||||||
+ #endif
|
|
||||||
+
|
|
||||||
return retval;
|
|
||||||
}
|
|
||||||
|
|
||||||
***************
|
|
||||||
*** 4137,4148 ****
|
|
||||||
#ifndef SHORT_FNAME
|
|
||||||
int r;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !defined(SHORT_FNAME) \
|
|
||||||
! && ((!defined(UNIX) && !defined(OS2)) || defined(ARCHIE))
|
|
||||||
# define CREATE_DUMMY_FILE
|
|
||||||
FILE *dummyfd = NULL;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If we start editing a new file, e.g. "test.doc", which resides on an
|
|
||||||
* MSDOS compatible filesystem, it is possible that the file
|
|
||||||
--- 4144,4172 ----
|
|
||||||
#ifndef SHORT_FNAME
|
|
||||||
int r;
|
|
||||||
#endif
|
|
||||||
+ char_u *buf_fname = buf->b_fname;
|
|
||||||
|
|
||||||
#if !defined(SHORT_FNAME) \
|
|
||||||
! && ((!defined(UNIX) && !defined(OS2)) || defined(ARCHIE))
|
|
||||||
# define CREATE_DUMMY_FILE
|
|
||||||
FILE *dummyfd = NULL;
|
|
||||||
|
|
||||||
+ # ifdef WIN3264
|
|
||||||
+ if (buf_fname != NULL && !mch_isFullName(buf_fname)
|
|
||||||
+ && vim_strchr(gettail(buf_fname), ':'))
|
|
||||||
+ {
|
|
||||||
+ char_u *t;
|
|
||||||
+
|
|
||||||
+ buf_fname = vim_strsave(buf_fname);
|
|
||||||
+ if (buf_fname == NULL)
|
|
||||||
+ buf_fname = buf->b_fname;
|
|
||||||
+ else
|
|
||||||
+ for (t = gettail(buf_fname); *t != NUL; mb_ptr_adv(t))
|
|
||||||
+ if (*t == ':')
|
|
||||||
+ *t = '%';
|
|
||||||
+ }
|
|
||||||
+ # endif
|
|
||||||
+
|
|
||||||
/*
|
|
||||||
* If we start editing a new file, e.g. "test.doc", which resides on an
|
|
||||||
* MSDOS compatible filesystem, it is possible that the file
|
|
||||||
***************
|
|
||||||
*** 4150,4158 ****
|
|
||||||
* this problem we temporarily create "test.doc". Don't do this when the
|
|
||||||
* check below for a 8.3 file name is used.
|
|
||||||
*/
|
|
||||||
! if (!(buf->b_p_sn || buf->b_shortname) && buf->b_fname != NULL
|
|
||||||
! && mch_getperm(buf->b_fname) < 0)
|
|
||||||
! dummyfd = mch_fopen((char *)buf->b_fname, "w");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
--- 4174,4182 ----
|
|
||||||
* this problem we temporarily create "test.doc". Don't do this when the
|
|
||||||
* check below for a 8.3 file name is used.
|
|
||||||
*/
|
|
||||||
! if (!(buf->b_p_sn || buf->b_shortname) && buf_fname != NULL
|
|
||||||
! && mch_getperm(buf_fname) < 0)
|
|
||||||
! dummyfd = mch_fopen((char *)buf_fname, "w");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
***************
|
|
||||||
*** 4171,4177 ****
|
|
||||||
if (dir_name == NULL) /* out of memory */
|
|
||||||
fname = NULL;
|
|
||||||
else
|
|
||||||
! fname = makeswapname(buf->b_fname, buf->b_ffname, buf, dir_name);
|
|
||||||
|
|
||||||
for (;;)
|
|
||||||
{
|
|
||||||
--- 4195,4201 ----
|
|
||||||
if (dir_name == NULL) /* out of memory */
|
|
||||||
fname = NULL;
|
|
||||||
else
|
|
||||||
! fname = makeswapname(buf_fname, buf->b_ffname, buf, dir_name);
|
|
||||||
|
|
||||||
for (;;)
|
|
||||||
{
|
|
||||||
***************
|
|
||||||
*** 4204,4210 ****
|
|
||||||
* It either contains two dots, is longer than 8 chars, or starts
|
|
||||||
* with a dot.
|
|
||||||
*/
|
|
||||||
! tail = gettail(buf->b_fname);
|
|
||||||
if ( vim_strchr(tail, '.') != NULL
|
|
||||||
|| STRLEN(tail) > (size_t)8
|
|
||||||
|| *gettail(fname) == '.')
|
|
||||||
--- 4228,4234 ----
|
|
||||||
* It either contains two dots, is longer than 8 chars, or starts
|
|
||||||
* with a dot.
|
|
||||||
*/
|
|
||||||
! tail = gettail(buf_fname);
|
|
||||||
if ( vim_strchr(tail, '.') != NULL
|
|
||||||
|| STRLEN(tail) > (size_t)8
|
|
||||||
|| *gettail(fname) == '.')
|
|
||||||
***************
|
|
||||||
*** 4273,4279 ****
|
|
||||||
{
|
|
||||||
buf->b_shortname = TRUE;
|
|
||||||
vim_free(fname);
|
|
||||||
! fname = makeswapname(buf->b_fname, buf->b_ffname,
|
|
||||||
buf, dir_name);
|
|
||||||
continue; /* try again with b_shortname set */
|
|
||||||
}
|
|
||||||
--- 4297,4303 ----
|
|
||||||
{
|
|
||||||
buf->b_shortname = TRUE;
|
|
||||||
vim_free(fname);
|
|
||||||
! fname = makeswapname(buf_fname, buf->b_ffname,
|
|
||||||
buf, dir_name);
|
|
||||||
continue; /* try again with b_shortname set */
|
|
||||||
}
|
|
||||||
***************
|
|
||||||
*** 4344,4350 ****
|
|
||||||
{
|
|
||||||
buf->b_shortname = TRUE;
|
|
||||||
vim_free(fname);
|
|
||||||
! fname = makeswapname(buf->b_fname, buf->b_ffname,
|
|
||||||
buf, dir_name);
|
|
||||||
continue; /* try again with '.' replaced with '_' */
|
|
||||||
}
|
|
||||||
--- 4368,4374 ----
|
|
||||||
{
|
|
||||||
buf->b_shortname = TRUE;
|
|
||||||
vim_free(fname);
|
|
||||||
! fname = makeswapname(buf_fname, buf->b_ffname,
|
|
||||||
buf, dir_name);
|
|
||||||
continue; /* try again with '.' replaced with '_' */
|
|
||||||
}
|
|
||||||
***************
|
|
||||||
*** 4356,4362 ****
|
|
||||||
* viewing a help file or when the path of the file is different
|
|
||||||
* (happens when all .swp files are in one directory).
|
|
||||||
*/
|
|
||||||
! if (!recoverymode && buf->b_fname != NULL
|
|
||||||
&& !buf->b_help && !(buf->b_flags & BF_DUMMY))
|
|
||||||
{
|
|
||||||
int fd;
|
|
||||||
--- 4380,4386 ----
|
|
||||||
* viewing a help file or when the path of the file is different
|
|
||||||
* (happens when all .swp files are in one directory).
|
|
||||||
*/
|
|
||||||
! if (!recoverymode && buf_fname != NULL
|
|
||||||
&& !buf->b_help && !(buf->b_flags & BF_DUMMY))
|
|
||||||
{
|
|
||||||
int fd;
|
|
||||||
***************
|
|
||||||
*** 4433,4439 ****
|
|
||||||
{
|
|
||||||
fclose(dummyfd);
|
|
||||||
dummyfd = NULL;
|
|
||||||
! mch_remove(buf->b_fname);
|
|
||||||
did_use_dummy = TRUE;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
--- 4457,4463 ----
|
|
||||||
{
|
|
||||||
fclose(dummyfd);
|
|
||||||
dummyfd = NULL;
|
|
||||||
! mch_remove(buf_fname);
|
|
||||||
did_use_dummy = TRUE;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
***************
|
|
||||||
*** 4448,4454 ****
|
|
||||||
* user anyway.
|
|
||||||
*/
|
|
||||||
if (swap_exists_action != SEA_NONE
|
|
||||||
! && has_autocmd(EVENT_SWAPEXISTS, buf->b_fname, buf))
|
|
||||||
choice = do_swapexists(buf, fname);
|
|
||||||
|
|
||||||
if (choice == 0)
|
|
||||||
--- 4472,4478 ----
|
|
||||||
* user anyway.
|
|
||||||
*/
|
|
||||||
if (swap_exists_action != SEA_NONE
|
|
||||||
! && has_autocmd(EVENT_SWAPEXISTS, buf_fname, buf))
|
|
||||||
choice = do_swapexists(buf, fname);
|
|
||||||
|
|
||||||
if (choice == 0)
|
|
||||||
***************
|
|
||||||
*** 4549,4555 ****
|
|
||||||
#ifdef CREATE_DUMMY_FILE
|
|
||||||
/* Going to try another name, need the dummy file again. */
|
|
||||||
if (did_use_dummy)
|
|
||||||
! dummyfd = mch_fopen((char *)buf->b_fname, "w");
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
}
|
|
||||||
--- 4573,4579 ----
|
|
||||||
#ifdef CREATE_DUMMY_FILE
|
|
||||||
/* Going to try another name, need the dummy file again. */
|
|
||||||
if (did_use_dummy)
|
|
||||||
! dummyfd = mch_fopen((char *)buf_fname, "w");
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
}
|
|
||||||
***************
|
|
||||||
*** 4581,4589 ****
|
|
||||||
if (dummyfd != NULL) /* file has been created temporarily */
|
|
||||||
{
|
|
||||||
fclose(dummyfd);
|
|
||||||
! mch_remove(buf->b_fname);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
return fname;
|
|
||||||
}
|
|
||||||
|
|
||||||
--- 4605,4617 ----
|
|
||||||
if (dummyfd != NULL) /* file has been created temporarily */
|
|
||||||
{
|
|
||||||
fclose(dummyfd);
|
|
||||||
! mch_remove(buf_fname);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
+ #ifdef WIN3264
|
|
||||||
+ if (buf_fname != buf->b_fname)
|
|
||||||
+ vim_free(buf_fname);
|
|
||||||
+ #endif
|
|
||||||
return fname;
|
|
||||||
}
|
|
||||||
|
|
||||||
*** ../vim-7.4.065/src/misc1.c 2013-10-06 17:46:48.000000000 +0200
|
|
||||||
--- src/misc1.c 2013-11-04 02:44:28.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 4808,4816 ****
|
|
||||||
|
|
||||||
if (fname == NULL)
|
|
||||||
return (char_u *)"";
|
|
||||||
! for (p1 = p2 = fname; *p2; ) /* find last part of path */
|
|
||||||
{
|
|
||||||
! if (vim_ispathsep(*p2))
|
|
||||||
p1 = p2 + 1;
|
|
||||||
mb_ptr_adv(p2);
|
|
||||||
}
|
|
||||||
--- 4808,4816 ----
|
|
||||||
|
|
||||||
if (fname == NULL)
|
|
||||||
return (char_u *)"";
|
|
||||||
! for (p1 = p2 = get_past_head(fname); *p2; ) /* find last part of path */
|
|
||||||
{
|
|
||||||
! if (vim_ispathsep_nocolon(*p2))
|
|
||||||
p1 = p2 + 1;
|
|
||||||
mb_ptr_adv(p2);
|
|
||||||
}
|
|
||||||
***************
|
|
||||||
*** 4929,4935 ****
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
! * return TRUE if 'c' is a path separator.
|
|
||||||
*/
|
|
||||||
int
|
|
||||||
vim_ispathsep(c)
|
|
||||||
--- 4929,4936 ----
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
! * Return TRUE if 'c' is a path separator.
|
|
||||||
! * Note that for MS-Windows this includes the colon.
|
|
||||||
*/
|
|
||||||
int
|
|
||||||
vim_ispathsep(c)
|
|
||||||
***************
|
|
||||||
*** 4952,4957 ****
|
|
||||||
--- 4953,4972 ----
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
+ /*
|
|
||||||
+ * Like vim_ispathsep(c), but exclude the colon for MS-Windows.
|
|
||||||
+ */
|
|
||||||
+ int
|
|
||||||
+ vim_ispathsep_nocolon(c)
|
|
||||||
+ int c;
|
|
||||||
+ {
|
|
||||||
+ return vim_ispathsep(c)
|
|
||||||
+ #ifdef BACKSLASH_IN_FILENAME
|
|
||||||
+ && c != ':'
|
|
||||||
+ #endif
|
|
||||||
+ ;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
#if defined(FEAT_SEARCHPATH) || defined(PROTO)
|
|
||||||
/*
|
|
||||||
* return TRUE if 'c' is a path list separator.
|
|
||||||
*** ../vim-7.4.065/src/proto/misc1.pro 2013-08-10 13:37:20.000000000 +0200
|
|
||||||
--- src/proto/misc1.pro 2013-11-04 02:44:30.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 69,74 ****
|
|
||||||
--- 69,75 ----
|
|
||||||
char_u *getnextcomp __ARGS((char_u *fname));
|
|
||||||
char_u *get_past_head __ARGS((char_u *path));
|
|
||||||
int vim_ispathsep __ARGS((int c));
|
|
||||||
+ int vim_ispathsep_nocolon __ARGS((int c));
|
|
||||||
int vim_ispathlistsep __ARGS((int c));
|
|
||||||
void shorten_dir __ARGS((char_u *str));
|
|
||||||
int dir_of_file_exists __ARGS((char_u *fname));
|
|
||||||
*** ../vim-7.4.065/src/version.c 2013-11-04 02:00:55.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-04 02:50:35.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 66,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
Females are strictly forbidden to appear unshaven in public.
|
|
||||||
[real standing law in New Mexico, United States of America]
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
126
7.4.067
126
7.4.067
@ -1,126 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.067
|
|
||||||
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.4.067
|
|
||||||
Problem: After inserting comment leader, CTRL-\ CTRL-O does move the
|
|
||||||
cursor. (Wiktor Ruben)
|
|
||||||
Solution: Avoid moving the cursor. (Christian Brabandt)
|
|
||||||
Files: src/edit.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.066/src/edit.c 2013-09-08 20:00:45.000000000 +0200
|
|
||||||
--- src/edit.c 2013-11-04 03:57:43.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 199,205 ****
|
|
||||||
static void spell_back_to_badword __ARGS((void));
|
|
||||||
static int spell_bad_len = 0; /* length of located bad word */
|
|
||||||
#endif
|
|
||||||
! static void stop_insert __ARGS((pos_T *end_insert_pos, int esc));
|
|
||||||
static int echeck_abbr __ARGS((int));
|
|
||||||
static int replace_pop __ARGS((void));
|
|
||||||
static void replace_join __ARGS((int off));
|
|
||||||
--- 199,205 ----
|
|
||||||
static void spell_back_to_badword __ARGS((void));
|
|
||||||
static int spell_bad_len = 0; /* length of located bad word */
|
|
||||||
#endif
|
|
||||||
! static void stop_insert __ARGS((pos_T *end_insert_pos, int esc, int nomove));
|
|
||||||
static int echeck_abbr __ARGS((int));
|
|
||||||
static int replace_pop __ARGS((void));
|
|
||||||
static void replace_join __ARGS((int off));
|
|
||||||
***************
|
|
||||||
*** 6698,6704 ****
|
|
||||||
if (!arrow_used) /* something has been inserted */
|
|
||||||
{
|
|
||||||
AppendToRedobuff(ESC_STR);
|
|
||||||
! stop_insert(end_insert_pos, FALSE);
|
|
||||||
arrow_used = TRUE; /* this means we stopped the current insert */
|
|
||||||
}
|
|
||||||
#ifdef FEAT_SPELL
|
|
||||||
--- 6698,6704 ----
|
|
||||||
if (!arrow_used) /* something has been inserted */
|
|
||||||
{
|
|
||||||
AppendToRedobuff(ESC_STR);
|
|
||||||
! stop_insert(end_insert_pos, FALSE, FALSE);
|
|
||||||
arrow_used = TRUE; /* this means we stopped the current insert */
|
|
||||||
}
|
|
||||||
#ifdef FEAT_SPELL
|
|
||||||
***************
|
|
||||||
*** 6787,6795 ****
|
|
||||||
* to another window/buffer.
|
|
||||||
*/
|
|
||||||
static void
|
|
||||||
! stop_insert(end_insert_pos, esc)
|
|
||||||
pos_T *end_insert_pos;
|
|
||||||
int esc; /* called by ins_esc() */
|
|
||||||
{
|
|
||||||
int cc;
|
|
||||||
char_u *ptr;
|
|
||||||
--- 6787,6796 ----
|
|
||||||
* to another window/buffer.
|
|
||||||
*/
|
|
||||||
static void
|
|
||||||
! stop_insert(end_insert_pos, esc, nomove)
|
|
||||||
pos_T *end_insert_pos;
|
|
||||||
int esc; /* called by ins_esc() */
|
|
||||||
+ int nomove; /* <c-\><c-o>, don't move cursor */
|
|
||||||
{
|
|
||||||
int cc;
|
|
||||||
char_u *ptr;
|
|
||||||
***************
|
|
||||||
*** 6860,6866 ****
|
|
||||||
* 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)
|
|
||||||
{
|
|
||||||
--- 6861,6867 ----
|
|
||||||
* 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 (!nomove && 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)
|
|
||||||
{
|
|
||||||
***************
|
|
||||||
*** 8377,8383 ****
|
|
||||||
disabled_redraw = TRUE;
|
|
||||||
return FALSE; /* repeat the insert */
|
|
||||||
}
|
|
||||||
! stop_insert(&curwin->w_cursor, TRUE);
|
|
||||||
undisplay_dollar();
|
|
||||||
}
|
|
||||||
|
|
||||||
--- 8378,8384 ----
|
|
||||||
disabled_redraw = TRUE;
|
|
||||||
return FALSE; /* repeat the insert */
|
|
||||||
}
|
|
||||||
! stop_insert(&curwin->w_cursor, TRUE, nomove);
|
|
||||||
undisplay_dollar();
|
|
||||||
}
|
|
||||||
|
|
||||||
*** ../vim-7.4.066/src/version.c 2013-11-04 02:53:46.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-04 03:57:29.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 67,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
Beer & pretzels can't be served at the same time in any bar or restaurant.
|
|
||||||
[real standing law in North Dakota, United States of America]
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
131
7.4.068
131
7.4.068
@ -1,131 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.068
|
|
||||||
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.4.068
|
|
||||||
Problem: Cannot build Vim on Mac with non-Apple compilers.
|
|
||||||
Solution: Remove the -no-cpp-precomp flag. (Misty De Meo)
|
|
||||||
Files: src/configure.in, src/auto/configure, src/osdef.sh
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.067/src/configure.in 2013-11-03 20:26:26.000000000 +0100
|
|
||||||
--- src/configure.in 2013-11-04 04:53:51.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 204,210 ****
|
|
||||||
OS_EXTRA_SRC="os_macosx.m os_mac_conv.c";
|
|
||||||
OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
|
|
||||||
dnl TODO: use -arch i386 on Intel machines
|
|
||||||
! CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
|
|
||||||
|
|
||||||
dnl If Carbon is found, assume we don't want X11
|
|
||||||
dnl unless it was specifically asked for (--with-x)
|
|
||||||
--- 204,211 ----
|
|
||||||
OS_EXTRA_SRC="os_macosx.m os_mac_conv.c";
|
|
||||||
OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
|
|
||||||
dnl TODO: use -arch i386 on Intel machines
|
|
||||||
! dnl Removed -no-cpp-precomp, only for very old compilers.
|
|
||||||
! CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX"
|
|
||||||
|
|
||||||
dnl If Carbon is found, assume we don't want X11
|
|
||||||
dnl unless it was specifically asked for (--with-x)
|
|
||||||
***************
|
|
||||||
*** 262,269 ****
|
|
||||||
])
|
|
||||||
if test "$GCC" = yes -a "$local_dir" != no; then
|
|
||||||
echo 'void f(){}' > conftest.c
|
|
||||||
! dnl -no-cpp-precomp is needed for OS X 10.2 (Ben Fowler)
|
|
||||||
! have_local_include=`${CC-cc} -no-cpp-precomp -c -v conftest.c 2>&1 | grep "${local_dir}/include"`
|
|
||||||
have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/lib"`
|
|
||||||
rm -f conftest.c conftest.o
|
|
||||||
fi
|
|
||||||
--- 263,270 ----
|
|
||||||
])
|
|
||||||
if test "$GCC" = yes -a "$local_dir" != no; then
|
|
||||||
echo 'void f(){}' > conftest.c
|
|
||||||
! dnl Removed -no-cpp-precomp, only needed for OS X 10.2 (Ben Fowler)
|
|
||||||
! have_local_include=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/include"`
|
|
||||||
have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/lib"`
|
|
||||||
rm -f conftest.c conftest.o
|
|
||||||
fi
|
|
||||||
*** ../vim-7.4.067/src/auto/configure 2013-11-03 20:26:27.000000000 +0100
|
|
||||||
--- src/auto/configure 2013-11-04 04:54:16.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 4221,4227 ****
|
|
||||||
MACOSX=yes
|
|
||||||
OS_EXTRA_SRC="os_macosx.m os_mac_conv.c";
|
|
||||||
OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
|
|
||||||
! CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
|
|
||||||
|
|
||||||
# On IRIX 5.3, sys/types and inttypes.h are conflicting.
|
|
||||||
for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
|
|
||||||
--- 4221,4227 ----
|
|
||||||
MACOSX=yes
|
|
||||||
OS_EXTRA_SRC="os_macosx.m os_mac_conv.c";
|
|
||||||
OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
|
|
||||||
! CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX"
|
|
||||||
|
|
||||||
# On IRIX 5.3, sys/types and inttypes.h are conflicting.
|
|
||||||
for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
|
|
||||||
***************
|
|
||||||
*** 4311,4317 ****
|
|
||||||
|
|
||||||
if test "$GCC" = yes -a "$local_dir" != no; then
|
|
||||||
echo 'void f(){}' > conftest.c
|
|
||||||
! have_local_include=`${CC-cc} -no-cpp-precomp -c -v conftest.c 2>&1 | grep "${local_dir}/include"`
|
|
||||||
have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/lib"`
|
|
||||||
rm -f conftest.c conftest.o
|
|
||||||
fi
|
|
||||||
--- 4311,4317 ----
|
|
||||||
|
|
||||||
if test "$GCC" = yes -a "$local_dir" != no; then
|
|
||||||
echo 'void f(){}' > conftest.c
|
|
||||||
! have_local_include=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/include"`
|
|
||||||
have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep "${local_dir}/lib"`
|
|
||||||
rm -f conftest.c conftest.o
|
|
||||||
fi
|
|
||||||
*** ../vim-7.4.067/src/osdef.sh 2010-05-15 13:04:08.000000000 +0200
|
|
||||||
--- src/osdef.sh 2013-11-04 04:51:36.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 47,57 ****
|
|
||||||
#endif
|
|
||||||
EOF
|
|
||||||
|
|
||||||
! # Mac uses precompiled headers, but we need real headers here.
|
|
||||||
! case `uname` in
|
|
||||||
! Darwin) $CC -I. -I$srcdir -E -no-cpp-precomp osdef0.c >osdef0.cc;;
|
|
||||||
! *) $CC -I. -I$srcdir -E osdef0.c >osdef0.cc;;
|
|
||||||
! esac
|
|
||||||
|
|
||||||
# insert a space in front of each line, so that a function name at the
|
|
||||||
# start of the line is matched with "[)*, ]\1[ (]"
|
|
||||||
--- 47,53 ----
|
|
||||||
#endif
|
|
||||||
EOF
|
|
||||||
|
|
||||||
! $CC -I. -I$srcdir -E osdef0.c >osdef0.cc
|
|
||||||
|
|
||||||
# insert a space in front of each line, so that a function name at the
|
|
||||||
# start of the line is matched with "[)*, ]\1[ (]"
|
|
||||||
*** ../vim-7.4.067/src/version.c 2013-11-04 04:20:28.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-04 04:51:51.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 68,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
Violators can be fined, arrested or jailed for making ugly faces at a dog.
|
|
||||||
[real standing law in Oklahoma, United States of America]
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
47
7.4.070
47
7.4.070
@ -1,47 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.070
|
|
||||||
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.4.070 (after 7.4.069)
|
|
||||||
Problem: Can't compile with tiny features. (Tony Mechelynck)
|
|
||||||
Solution: Add #ifdef.
|
|
||||||
Files: src/buffer.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.069/src/buffer.c 2013-11-05 07:12:59.000000000 +0100
|
|
||||||
--- src/buffer.c 2013-11-05 17:37:27.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 213,219 ****
|
|
||||||
--- 213,221 ----
|
|
||||||
if (curbuf->b_flags & BF_NEVERLOADED)
|
|
||||||
{
|
|
||||||
(void)buf_init_chartab(curbuf, FALSE);
|
|
||||||
+ #ifdef FEAT_CINDENT
|
|
||||||
parse_cino(curbuf);
|
|
||||||
+ #endif
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
*** ../vim-7.4.069/src/version.c 2013-11-05 07:12:59.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-05 17:38:56.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 70,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
No man may purchase alcohol without written consent from his wife.
|
|
||||||
[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/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
61
7.4.072
61
7.4.072
@ -1,61 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.072
|
|
||||||
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.4.072
|
|
||||||
Problem: Crash when using Insert mode completion.
|
|
||||||
Solution: Avoid going past the end of pum_array. (idea by Fransisco Lopes)
|
|
||||||
Files: src/popupmnu.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.071/src/popupmnu.c 2011-08-17 18:04:28.000000000 +0200
|
|
||||||
--- src/popupmnu.c 2013-11-02 04:01:06.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 282,287 ****
|
|
||||||
--- 282,291 ----
|
|
||||||
int round;
|
|
||||||
int n;
|
|
||||||
|
|
||||||
+ /* Never display more than we have */
|
|
||||||
+ if (pum_first > pum_size - pum_height)
|
|
||||||
+ pum_first = pum_size - pum_height;
|
|
||||||
+
|
|
||||||
if (pum_scrollbar)
|
|
||||||
{
|
|
||||||
thumb_heigth = pum_height * pum_height / pum_size;
|
|
||||||
***************
|
|
||||||
*** 672,681 ****
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
- /* Never display more than we have */
|
|
||||||
- if (pum_first > pum_size - pum_height)
|
|
||||||
- pum_first = pum_size - pum_height;
|
|
||||||
-
|
|
||||||
if (!resized)
|
|
||||||
pum_redraw();
|
|
||||||
|
|
||||||
--- 676,681 ----
|
|
||||||
*** ../vim-7.4.071/src/version.c 2013-11-06 04:01:31.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-06 04:03:18.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 72,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
No children may attend school with their breath smelling of "wild onions."
|
|
||||||
[real standing law in West Virginia, United States of America]
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
404
7.4.073
404
7.4.073
@ -1,404 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.073
|
|
||||||
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.4.073
|
|
||||||
Problem: Setting undolevels for one buffer changes undo in another.
|
|
||||||
Solution: Make 'undolevels' a global-local option. (Christian Brabandt)
|
|
||||||
Files: runtime/doc/options.txt, src/buffer.c, src/option.c, src/option.h
|
|
||||||
src/structs.h, src/undo.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.072/runtime/doc/options.txt 2013-08-10 13:24:57.000000000 +0200
|
|
||||||
--- runtime/doc/options.txt 2013-11-06 04:18:43.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 7594,7600 ****
|
|
||||||
*'undolevels'* *'ul'*
|
|
||||||
'undolevels' 'ul' number (default 100, 1000 for Unix, VMS,
|
|
||||||
Win32 and OS/2)
|
|
||||||
! global
|
|
||||||
{not in Vi}
|
|
||||||
Maximum number of changes that can be undone. Since undo information
|
|
||||||
is kept in memory, higher numbers will cause more memory to be used
|
|
||||||
--- 7594,7600 ----
|
|
||||||
*'undolevels'* *'ul'*
|
|
||||||
'undolevels' 'ul' number (default 100, 1000 for Unix, VMS,
|
|
||||||
Win32 and OS/2)
|
|
||||||
! global or local to buffer |global-local|
|
|
||||||
{not in Vi}
|
|
||||||
Maximum number of changes that can be undone. Since undo information
|
|
||||||
is kept in memory, higher numbers will cause more memory to be used
|
|
||||||
***************
|
|
||||||
*** 7605,7612 ****
|
|
||||||
< But you can also get Vi compatibility by including the 'u' flag in
|
|
||||||
'cpoptions', and still be able to use CTRL-R to repeat undo.
|
|
||||||
Also see |undo-two-ways|.
|
|
||||||
! Set to a negative number for no undo at all: >
|
|
||||||
! set ul=-1
|
|
||||||
< This helps when you run out of memory for a single change.
|
|
||||||
Also see |clear-undo|.
|
|
||||||
|
|
||||||
--- 7605,7613 ----
|
|
||||||
< But you can also get Vi compatibility by including the 'u' flag in
|
|
||||||
'cpoptions', and still be able to use CTRL-R to repeat undo.
|
|
||||||
Also see |undo-two-ways|.
|
|
||||||
! Set to -1 for no undo at all. You might want to do this only for the
|
|
||||||
! current buffer: >
|
|
||||||
! setlocal ul=-1
|
|
||||||
< This helps when you run out of memory for a single change.
|
|
||||||
Also see |clear-undo|.
|
|
||||||
|
|
||||||
*** ../vim-7.4.072/src/buffer.c 2013-11-05 17:40:47.000000000 +0100
|
|
||||||
--- src/buffer.c 2013-11-06 04:25:27.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 1949,1954 ****
|
|
||||||
--- 1949,1955 ----
|
|
||||||
clear_string_option(&buf->b_p_qe);
|
|
||||||
#endif
|
|
||||||
buf->b_p_ar = -1;
|
|
||||||
+ buf->b_p_ul = NO_LOCAL_UNDOLEVEL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
*** ../vim-7.4.072/src/option.c 2013-11-05 07:12:59.000000000 +0100
|
|
||||||
--- src/option.c 2013-11-06 04:34:23.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 234,239 ****
|
|
||||||
--- 234,240 ----
|
|
||||||
#ifdef FEAT_STL_OPT
|
|
||||||
# define PV_STL OPT_BOTH(OPT_WIN(WV_STL))
|
|
||||||
#endif
|
|
||||||
+ #define PV_UL OPT_BOTH(OPT_BUF(BV_UL))
|
|
||||||
#ifdef FEAT_WINDOWS
|
|
||||||
# define PV_WFH OPT_WIN(WV_WFH)
|
|
||||||
#endif
|
|
||||||
***************
|
|
||||||
*** 2683,2689 ****
|
|
||||||
#endif
|
|
||||||
{(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
|
|
||||||
{"undolevels", "ul", P_NUM|P_VI_DEF,
|
|
||||||
! (char_u *)&p_ul, PV_NONE,
|
|
||||||
{
|
|
||||||
#if defined(UNIX) || defined(WIN3264) || defined(OS2) || defined(VMS)
|
|
||||||
(char_u *)1000L,
|
|
||||||
--- 2684,2690 ----
|
|
||||||
#endif
|
|
||||||
{(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
|
|
||||||
{"undolevels", "ul", P_NUM|P_VI_DEF,
|
|
||||||
! (char_u *)&p_ul, PV_UL,
|
|
||||||
{
|
|
||||||
#if defined(UNIX) || defined(WIN3264) || defined(OS2) || defined(VMS)
|
|
||||||
(char_u *)1000L,
|
|
||||||
***************
|
|
||||||
*** 3313,3318 ****
|
|
||||||
--- 3314,3320 ----
|
|
||||||
|
|
||||||
curbuf->b_p_initialized = TRUE;
|
|
||||||
curbuf->b_p_ar = -1; /* no local 'autoread' value */
|
|
||||||
+ curbuf->b_p_ul = NO_LOCAL_UNDOLEVEL;
|
|
||||||
check_buf_options(curbuf);
|
|
||||||
check_win_options(curwin);
|
|
||||||
check_options();
|
|
||||||
***************
|
|
||||||
*** 4512,4519 ****
|
|
||||||
((flags & P_VI_DEF) || cp_val)
|
|
||||||
? VI_DEFAULT : VIM_DEFAULT];
|
|
||||||
else if (nextchar == '<')
|
|
||||||
! value = *(long *)get_varp_scope(&(options[opt_idx]),
|
|
||||||
! OPT_GLOBAL);
|
|
||||||
else if (((long *)varp == &p_wc
|
|
||||||
|| (long *)varp == &p_wcm)
|
|
||||||
&& (*arg == '<'
|
|
||||||
--- 4514,4529 ----
|
|
||||||
((flags & P_VI_DEF) || cp_val)
|
|
||||||
? VI_DEFAULT : VIM_DEFAULT];
|
|
||||||
else if (nextchar == '<')
|
|
||||||
! {
|
|
||||||
! /* For 'undolevels' NO_LOCAL_UNDOLEVEL means to
|
|
||||||
! * use the global value. */
|
|
||||||
! if ((long *)varp == &curbuf->b_p_ul
|
|
||||||
! && opt_flags == OPT_LOCAL)
|
|
||||||
! value = NO_LOCAL_UNDOLEVEL;
|
|
||||||
! else
|
|
||||||
! value = *(long *)get_varp_scope(
|
|
||||||
! &(options[opt_idx]), OPT_GLOBAL);
|
|
||||||
! }
|
|
||||||
else if (((long *)varp == &p_wc
|
|
||||||
|| (long *)varp == &p_wcm)
|
|
||||||
&& (*arg == '<'
|
|
||||||
***************
|
|
||||||
*** 8487,8492 ****
|
|
||||||
--- 8497,8509 ----
|
|
||||||
u_sync(TRUE);
|
|
||||||
p_ul = value;
|
|
||||||
}
|
|
||||||
+ else if (pp == &curbuf->b_p_ul)
|
|
||||||
+ {
|
|
||||||
+ /* use the old value, otherwise u_sync() may not work properly */
|
|
||||||
+ curbuf->b_p_ul = old_value;
|
|
||||||
+ u_sync(TRUE);
|
|
||||||
+ curbuf->b_p_ul = value;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
#ifdef FEAT_LINEBREAK
|
|
||||||
/* 'numberwidth' must be positive */
|
|
||||||
***************
|
|
||||||
*** 9720,9726 ****
|
|
||||||
/*
|
|
||||||
* Unset local option value, similar to ":set opt<".
|
|
||||||
*/
|
|
||||||
-
|
|
||||||
void
|
|
||||||
unset_global_local_option(name, from)
|
|
||||||
char_u *name;
|
|
||||||
--- 9737,9742 ----
|
|
||||||
***************
|
|
||||||
*** 9793,9798 ****
|
|
||||||
--- 9809,9817 ----
|
|
||||||
clear_string_option(&((win_T *)from)->w_p_stl);
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
+ case PV_UL:
|
|
||||||
+ buf->b_p_ul = NO_LOCAL_UNDOLEVEL;
|
|
||||||
+ break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
***************
|
|
||||||
*** 9841,9846 ****
|
|
||||||
--- 9860,9866 ----
|
|
||||||
#ifdef FEAT_STL_OPT
|
|
||||||
case PV_STL: return (char_u *)&(curwin->w_p_stl);
|
|
||||||
#endif
|
|
||||||
+ case PV_UL: return (char_u *)&(curbuf->b_p_ul);
|
|
||||||
}
|
|
||||||
return NULL; /* "cannot happen" */
|
|
||||||
}
|
|
||||||
***************
|
|
||||||
*** 9905,9910 ****
|
|
||||||
--- 9925,9932 ----
|
|
||||||
case PV_STL: return *curwin->w_p_stl != NUL
|
|
||||||
? (char_u *)&(curwin->w_p_stl) : p->var;
|
|
||||||
#endif
|
|
||||||
+ case PV_UL: return curbuf->b_p_ul != NO_LOCAL_UNDOLEVEL
|
|
||||||
+ ? (char_u *)&(curbuf->b_p_ul) : p->var;
|
|
||||||
|
|
||||||
#ifdef FEAT_ARABIC
|
|
||||||
case PV_ARAB: return (char_u *)&(curwin->w_p_arab);
|
|
||||||
***************
|
|
||||||
*** 10445,10450 ****
|
|
||||||
--- 10467,10473 ----
|
|
||||||
/* options that are normally global but also have a local value
|
|
||||||
* are not copied, start using the global value */
|
|
||||||
buf->b_p_ar = -1;
|
|
||||||
+ buf->b_p_ul = NO_LOCAL_UNDOLEVEL;
|
|
||||||
#ifdef FEAT_QUICKFIX
|
|
||||||
buf->b_p_gp = empty_option;
|
|
||||||
buf->b_p_mp = empty_option;
|
|
||||||
*** ../vim-7.4.072/src/option.h 2013-06-26 18:41:39.000000000 +0200
|
|
||||||
--- src/option.h 2013-11-06 04:17:40.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 1031,1036 ****
|
|
||||||
--- 1031,1037 ----
|
|
||||||
, BV_TW
|
|
||||||
, BV_TX
|
|
||||||
, BV_UDF
|
|
||||||
+ , BV_UL
|
|
||||||
, BV_WM
|
|
||||||
, BV_COUNT /* must be the last one */
|
|
||||||
};
|
|
||||||
***************
|
|
||||||
*** 1109,1111 ****
|
|
||||||
--- 1110,1115 ----
|
|
||||||
, WV_WRAP
|
|
||||||
, WV_COUNT /* must be the last one */
|
|
||||||
};
|
|
||||||
+
|
|
||||||
+ /* Value for b_p_ul indicating the global value must be used. */
|
|
||||||
+ #define NO_LOCAL_UNDOLEVEL -123456
|
|
||||||
*** ../vim-7.4.072/src/structs.h 2013-11-05 07:12:59.000000000 +0100
|
|
||||||
--- src/structs.h 2013-11-06 04:26:17.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 1627,1632 ****
|
|
||||||
--- 1627,1633 ----
|
|
||||||
char_u *b_p_dict; /* 'dictionary' local value */
|
|
||||||
char_u *b_p_tsr; /* 'thesaurus' local value */
|
|
||||||
#endif
|
|
||||||
+ long b_p_ul; /* 'undolevels' local value */
|
|
||||||
#ifdef FEAT_PERSISTENT_UNDO
|
|
||||||
int b_p_udf; /* 'undofile' */
|
|
||||||
#endif
|
|
||||||
*** ../vim-7.4.072/src/undo.c 2013-09-08 15:40:45.000000000 +0200
|
|
||||||
--- src/undo.c 2013-11-06 04:33:12.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 83,88 ****
|
|
||||||
--- 83,89 ----
|
|
||||||
|
|
||||||
#include "vim.h"
|
|
||||||
|
|
||||||
+ static long get_undolevel __ARGS((void));
|
|
||||||
static void u_unch_branch __ARGS((u_header_T *uhp));
|
|
||||||
static u_entry_T *u_get_headentry __ARGS((void));
|
|
||||||
static void u_getbot __ARGS((void));
|
|
||||||
***************
|
|
||||||
*** 336,341 ****
|
|
||||||
--- 337,353 ----
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
+ * Get the undolevle value for the current buffer.
|
|
||||||
+ */
|
|
||||||
+ static long
|
|
||||||
+ get_undolevel()
|
|
||||||
+ {
|
|
||||||
+ if (curbuf->b_p_ul == NO_LOCAL_UNDOLEVEL)
|
|
||||||
+ return p_ul;
|
|
||||||
+ return curbuf->b_p_ul;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /*
|
|
||||||
* Common code for various ways to save text before a change.
|
|
||||||
* "top" is the line above the first changed line.
|
|
||||||
* "bot" is the line below the last changed line.
|
|
||||||
***************
|
|
||||||
*** 419,425 ****
|
|
||||||
curbuf->b_new_change = TRUE;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
! if (p_ul >= 0)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* Make a new header entry. Do this first so that we don't mess
|
|
||||||
--- 431,437 ----
|
|
||||||
curbuf->b_new_change = TRUE;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
! if (get_undolevel() >= 0)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* Make a new header entry. Do this first so that we don't mess
|
|
||||||
***************
|
|
||||||
*** 449,455 ****
|
|
||||||
/*
|
|
||||||
* free headers to keep the size right
|
|
||||||
*/
|
|
||||||
! while (curbuf->b_u_numhead > p_ul && curbuf->b_u_oldhead != NULL)
|
|
||||||
{
|
|
||||||
u_header_T *uhfree = curbuf->b_u_oldhead;
|
|
||||||
|
|
||||||
--- 461,468 ----
|
|
||||||
/*
|
|
||||||
* free headers to keep the size right
|
|
||||||
*/
|
|
||||||
! while (curbuf->b_u_numhead > get_undolevel()
|
|
||||||
! && curbuf->b_u_oldhead != NULL)
|
|
||||||
{
|
|
||||||
u_header_T *uhfree = curbuf->b_u_oldhead;
|
|
||||||
|
|
||||||
***************
|
|
||||||
*** 530,536 ****
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
! if (p_ul < 0) /* no undo at all */
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
/*
|
|
||||||
--- 543,549 ----
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
! if (get_undolevel() < 0) /* no undo at all */
|
|
||||||
return OK;
|
|
||||||
|
|
||||||
/*
|
|
||||||
***************
|
|
||||||
*** 1972,1978 ****
|
|
||||||
{
|
|
||||||
if (curbuf->b_u_curhead == NULL) /* first undo */
|
|
||||||
curbuf->b_u_curhead = curbuf->b_u_newhead;
|
|
||||||
! else if (p_ul > 0) /* multi level undo */
|
|
||||||
/* get next undo */
|
|
||||||
curbuf->b_u_curhead = curbuf->b_u_curhead->uh_next.ptr;
|
|
||||||
/* nothing to undo */
|
|
||||||
--- 1985,1991 ----
|
|
||||||
{
|
|
||||||
if (curbuf->b_u_curhead == NULL) /* first undo */
|
|
||||||
curbuf->b_u_curhead = curbuf->b_u_newhead;
|
|
||||||
! else if (get_undolevel() > 0) /* multi level undo */
|
|
||||||
/* get next undo */
|
|
||||||
curbuf->b_u_curhead = curbuf->b_u_curhead->uh_next.ptr;
|
|
||||||
/* nothing to undo */
|
|
||||||
***************
|
|
||||||
*** 1993,1999 ****
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
! if (curbuf->b_u_curhead == NULL || p_ul <= 0)
|
|
||||||
{
|
|
||||||
beep_flush(); /* nothing to redo */
|
|
||||||
if (count == startcount - 1)
|
|
||||||
--- 2006,2012 ----
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
! if (curbuf->b_u_curhead == NULL || get_undolevel() <= 0)
|
|
||||||
{
|
|
||||||
beep_flush(); /* nothing to redo */
|
|
||||||
if (count == startcount - 1)
|
|
||||||
***************
|
|
||||||
*** 2751,2757 ****
|
|
||||||
if (im_is_preediting())
|
|
||||||
return; /* XIM is busy, don't break an undo sequence */
|
|
||||||
#endif
|
|
||||||
! if (p_ul < 0)
|
|
||||||
curbuf->b_u_synced = TRUE; /* no entries, nothing to do */
|
|
||||||
else
|
|
||||||
{
|
|
||||||
--- 2764,2770 ----
|
|
||||||
if (im_is_preediting())
|
|
||||||
return; /* XIM is busy, don't break an undo sequence */
|
|
||||||
#endif
|
|
||||||
! if (get_undolevel() < 0)
|
|
||||||
curbuf->b_u_synced = TRUE; /* no entries, nothing to do */
|
|
||||||
else
|
|
||||||
{
|
|
||||||
***************
|
|
||||||
*** 2911,2917 ****
|
|
||||||
}
|
|
||||||
if (!curbuf->b_u_synced)
|
|
||||||
return; /* already unsynced */
|
|
||||||
! if (p_ul < 0)
|
|
||||||
return; /* no entries, nothing to do */
|
|
||||||
else
|
|
||||||
{
|
|
||||||
--- 2924,2930 ----
|
|
||||||
}
|
|
||||||
if (!curbuf->b_u_synced)
|
|
||||||
return; /* already unsynced */
|
|
||||||
! if (get_undolevel() < 0)
|
|
||||||
return; /* no entries, nothing to do */
|
|
||||||
else
|
|
||||||
{
|
|
||||||
*** ../vim-7.4.072/src/version.c 2013-11-06 04:04:29.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-06 05:21:43.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 73,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
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/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
67
7.4.074
67
7.4.074
@ -1,67 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.074
|
|
||||||
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.4.074
|
|
||||||
Problem: When undo'ing all changes and creating a new change the undo
|
|
||||||
structure is incorrect. (Christian Brabandt)
|
|
||||||
Solution: When deleting the branch starting at the old header, delete the
|
|
||||||
whole branch, not just the first entry.
|
|
||||||
Files: src/undo.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.073/src/undo.c 2013-11-06 05:26:08.000000000 +0100
|
|
||||||
--- src/undo.c 2013-11-07 03:01:42.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 3121,3127 ****
|
|
||||||
* all the pointers. */
|
|
||||||
if (uhp == buf->b_u_oldhead)
|
|
||||||
{
|
|
||||||
! u_freeheader(buf, uhp, uhpp);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
--- 3121,3128 ----
|
|
||||||
* all the pointers. */
|
|
||||||
if (uhp == buf->b_u_oldhead)
|
|
||||||
{
|
|
||||||
! while (buf->b_u_oldhead != NULL)
|
|
||||||
! u_freeheader(buf, buf->b_u_oldhead, uhpp);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
*** ../vim-7.4.073/src/version.c 2013-11-06 05:26:08.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-07 03:03:02.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 74,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
LETTERS TO THE EDITOR (The Times of London)
|
|
||||||
|
|
||||||
Dear Sir,
|
|
||||||
|
|
||||||
I am firmly opposed to the spread of microchips either to the home or
|
|
||||||
to the office. We have more than enough of them foisted upon us in
|
|
||||||
public places. They are a disgusting Americanism, and can only result
|
|
||||||
in the farmers being forced to grow smaller potatoes, which in turn
|
|
||||||
will cause massive unemployment in the already severely depressed
|
|
||||||
agricultural industry.
|
|
||||||
|
|
||||||
Yours faithfully,
|
|
||||||
Capt. Quinton D'Arcy, J. P.
|
|
||||||
Sevenoaks
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
290
7.4.075
290
7.4.075
@ -1,290 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.075
|
|
||||||
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.4.075
|
|
||||||
Problem: Locally setting 'undolevels' is not tested.
|
|
||||||
Solution: Add a test. (Christian Brabandt)
|
|
||||||
Files: src/testdir/test100.in, src/testdir/test100.ok,
|
|
||||||
src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
|
|
||||||
src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
|
|
||||||
src/testdir/Make_vms.mms, src/testdir/Makefile, src/Makefile
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.074/src/testdir/test100.in 2013-11-07 03:24:56.000000000 +0100
|
|
||||||
--- src/testdir/test100.in 2013-11-07 03:20:32.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 0 ****
|
|
||||||
--- 1,42 ----
|
|
||||||
+ Tests for 'undolevel' setting being global-local
|
|
||||||
+
|
|
||||||
+ STARTTEST
|
|
||||||
+ :so small.vim
|
|
||||||
+ :set nocompatible viminfo+=nviminfo ul=5
|
|
||||||
+ :fu! FillBuffer()
|
|
||||||
+ :for i in range(1,13)
|
|
||||||
+ :put=i
|
|
||||||
+ :exe "setg ul=" . &g:ul
|
|
||||||
+ :endfor
|
|
||||||
+ :endfu
|
|
||||||
+ :fu! UndoLevel()
|
|
||||||
+ :redir @a | setglobal undolevels? | echon ' global' | setlocal undolevels? | echon ' local' |redir end
|
|
||||||
+ :$put a
|
|
||||||
+ :endfu
|
|
||||||
+ :new one
|
|
||||||
+ :0put ='ONE: expecting global undolevels: 5, local undolevels: -123456 (default)'
|
|
||||||
+ :call FillBuffer()
|
|
||||||
+ :call feedkeys(":earlier 10\n", 't')
|
|
||||||
+ :call UndoLevel()
|
|
||||||
+ :%w! test.out
|
|
||||||
+ :new two
|
|
||||||
+ :0put ='TWO: expecting global undolevels: 5, local undolevels: 2 (first) then 10 (afterwards)'
|
|
||||||
+ :setlocal ul=2
|
|
||||||
+ :call FillBuffer()
|
|
||||||
+ :call feedkeys(":earlier 10\n", 't')
|
|
||||||
+ :call UndoLevel()
|
|
||||||
+ :setlocal ul=10
|
|
||||||
+ :call UndoLevel()
|
|
||||||
+ :%w >> test.out
|
|
||||||
+ :wincmd p
|
|
||||||
+ :redir >>test.out | echo "global value shouldn't be changed and still be 5!" | echo 'ONE: expecting global undolevels: 5, local undolevels: -123456 (default)'|:setglobal undolevels? | echon ' global' | setlocal undolevels? | echon ' local' |echo "" |redir end
|
|
||||||
+ :new three
|
|
||||||
+ :setglobal ul=50
|
|
||||||
+ :1put ='global value should be changed to 50'
|
|
||||||
+ :2put ='THREE: expecting global undolevels: 50, local undolevels: -123456 (default)'
|
|
||||||
+ :call UndoLevel()
|
|
||||||
+ :%w >> test.out
|
|
||||||
+ :"sleep 10
|
|
||||||
+ :qa!
|
|
||||||
+ ENDTEST
|
|
||||||
+
|
|
||||||
*** ../vim-7.4.074/src/testdir/test100.ok 2013-11-07 03:24:56.000000000 +0100
|
|
||||||
--- src/testdir/test100.ok 2013-11-07 03:11:51.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 0 ****
|
|
||||||
--- 1,41 ----
|
|
||||||
+ ONE: expecting global undolevels: 5, local undolevels: -123456 (default)
|
|
||||||
+ 1
|
|
||||||
+ 2
|
|
||||||
+ 3
|
|
||||||
+ 4
|
|
||||||
+ 5
|
|
||||||
+ 6
|
|
||||||
+ 7
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+ undolevels=5 global
|
|
||||||
+ undolevels=-123456 local
|
|
||||||
+ TWO: expecting global undolevels: 5, local undolevels: 2 (first) then 10 (afterwards)
|
|
||||||
+ 1
|
|
||||||
+ 2
|
|
||||||
+ 3
|
|
||||||
+ 4
|
|
||||||
+ 5
|
|
||||||
+ 6
|
|
||||||
+ 7
|
|
||||||
+ 8
|
|
||||||
+ 9
|
|
||||||
+ 10
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+ undolevels=5 global
|
|
||||||
+ undolevels=2 local
|
|
||||||
+
|
|
||||||
+ undolevels=5 global
|
|
||||||
+ undolevels=10 local
|
|
||||||
+
|
|
||||||
+ global value shouldn't be changed and still be 5!
|
|
||||||
+ ONE: expecting global undolevels: 5, local undolevels: -123456 (default)
|
|
||||||
+ undolevels=5 global
|
|
||||||
+ undolevels=-123456 local
|
|
||||||
+
|
|
||||||
+ global value should be changed to 50
|
|
||||||
+ THREE: expecting global undolevels: 50, local undolevels: -123456 (default)
|
|
||||||
+
|
|
||||||
+ undolevels=50 global
|
|
||||||
+ undolevels=-123456 local
|
|
||||||
*** ../vim-7.4.074/src/testdir/Make_amiga.mak 2013-09-19 17:00:14.000000000 +0200
|
|
||||||
--- src/testdir/Make_amiga.mak 2013-11-07 03:07:57.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 34,40 ****
|
|
||||||
test81.out test82.out test83.out test84.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test97.out test98.out \
|
|
||||||
! test99.out
|
|
||||||
|
|
||||||
.SUFFIXES: .in .out
|
|
||||||
|
|
||||||
--- 34,40 ----
|
|
||||||
test81.out test82.out test83.out test84.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test97.out test98.out \
|
|
||||||
! test99.out test100.out
|
|
||||||
|
|
||||||
.SUFFIXES: .in .out
|
|
||||||
|
|
||||||
***************
|
|
||||||
*** 150,152 ****
|
|
||||||
--- 150,153 ----
|
|
||||||
test97.out: test97.in
|
|
||||||
test98.out: test98.in
|
|
||||||
test99.out: test99.in
|
|
||||||
+ test100.out: test100.in
|
|
||||||
*** ../vim-7.4.074/src/testdir/Make_dos.mak 2013-09-19 17:00:14.000000000 +0200
|
|
||||||
--- src/testdir/Make_dos.mak 2013-11-07 03:08:05.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 32,38 ****
|
|
||||||
test79.out test80.out test81.out test82.out test83.out \
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
! test94.out test95.out test96.out test98.out test99.out
|
|
||||||
|
|
||||||
SCRIPTS32 = test50.out test70.out
|
|
||||||
|
|
||||||
--- 32,39 ----
|
|
||||||
test79.out test80.out test81.out test82.out test83.out \
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
! test94.out test95.out test96.out test98.out test99.out \
|
|
||||||
! test100.out
|
|
||||||
|
|
||||||
SCRIPTS32 = test50.out test70.out
|
|
||||||
|
|
||||||
*** ../vim-7.4.074/src/testdir/Make_ming.mak 2013-09-19 17:00:14.000000000 +0200
|
|
||||||
--- src/testdir/Make_ming.mak 2013-11-07 03:08:12.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 52,58 ****
|
|
||||||
test79.out test80.out test81.out test82.out test83.out \
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
! test94.out test95.out test96.out test98.out test99.out
|
|
||||||
|
|
||||||
SCRIPTS32 = test50.out test70.out
|
|
||||||
|
|
||||||
--- 52,59 ----
|
|
||||||
test79.out test80.out test81.out test82.out test83.out \
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
! test94.out test95.out test96.out test98.out test99.out \
|
|
||||||
! test100out
|
|
||||||
|
|
||||||
SCRIPTS32 = test50.out test70.out
|
|
||||||
|
|
||||||
*** ../vim-7.4.074/src/testdir/Make_os2.mak 2013-09-19 17:00:14.000000000 +0200
|
|
||||||
--- src/testdir/Make_os2.mak 2013-11-07 03:08:18.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 34,40 ****
|
|
||||||
test76.out test77.out test78.out test79.out test80.out \
|
|
||||||
test81.out test82.out test83.out test84.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
! test94.out test95.out test96.out test98.out test99.out
|
|
||||||
|
|
||||||
.SUFFIXES: .in .out
|
|
||||||
|
|
||||||
--- 34,41 ----
|
|
||||||
test76.out test77.out test78.out test79.out test80.out \
|
|
||||||
test81.out test82.out test83.out test84.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
! test94.out test95.out test96.out test98.out test99.out \
|
|
||||||
! test100.out
|
|
||||||
|
|
||||||
.SUFFIXES: .in .out
|
|
||||||
|
|
||||||
*** ../vim-7.4.074/src/testdir/Make_vms.mms 2013-09-19 17:00:14.000000000 +0200
|
|
||||||
--- src/testdir/Make_vms.mms 2013-11-07 03:08:24.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 4,10 ****
|
|
||||||
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
|
|
||||||
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
|
|
||||||
#
|
|
||||||
! # Last change: 2013 Sep 19
|
|
||||||
#
|
|
||||||
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
|
|
||||||
# Edit the lines in the Configuration section below to select.
|
|
||||||
--- 4,10 ----
|
|
||||||
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
|
|
||||||
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
|
|
||||||
#
|
|
||||||
! # Last change: 2013 Nov 07
|
|
||||||
#
|
|
||||||
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
|
|
||||||
# Edit the lines in the Configuration section below to select.
|
|
||||||
***************
|
|
||||||
*** 78,84 ****
|
|
||||||
test77.out test78.out test79.out test80.out test81.out \
|
|
||||||
test82.out test83.out test84.out test88.out test89.out \
|
|
||||||
test90.out test91.out test92.out test93.out test94.out \
|
|
||||||
! test95.out test96.out test97.out test98.out test99.out
|
|
||||||
|
|
||||||
# Known problems:
|
|
||||||
# Test 30: a problem around mac format - unknown reason
|
|
||||||
--- 78,85 ----
|
|
||||||
test77.out test78.out test79.out test80.out test81.out \
|
|
||||||
test82.out test83.out test84.out test88.out test89.out \
|
|
||||||
test90.out test91.out test92.out test93.out test94.out \
|
|
||||||
! test95.out test96.out test97.out test98.out test99.out \
|
|
||||||
! test100.out
|
|
||||||
|
|
||||||
# Known problems:
|
|
||||||
# Test 30: a problem around mac format - unknown reason
|
|
||||||
*** ../vim-7.4.074/src/testdir/Makefile 2013-09-22 15:03:34.000000000 +0200
|
|
||||||
--- src/testdir/Makefile 2013-11-07 03:08:31.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 30,36 ****
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test97.out test98.out \
|
|
||||||
! test99.out
|
|
||||||
|
|
||||||
SCRIPTS_GUI = test16.out
|
|
||||||
|
|
||||||
--- 30,36 ----
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test97.out test98.out \
|
|
||||||
! test99.out test100.out
|
|
||||||
|
|
||||||
SCRIPTS_GUI = test16.out
|
|
||||||
|
|
||||||
*** ../vim-7.4.074/src/Makefile 2013-08-10 14:21:15.000000000 +0200
|
|
||||||
--- src/Makefile 2013-11-07 03:10:40.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 1882,1888 ****
|
|
||||||
test60 test61 test62 test63 test64 test65 test66 test67 test68 test69 \
|
|
||||||
test70 test71 test72 test73 test74 test75 test76 test77 test78 test79 \
|
|
||||||
test80 test81 test82 test83 test84 test85 test86 test87 test88 test89 \
|
|
||||||
! test90 test91 test92 test93 test94 test95 test96 test97 test98 test99:
|
|
||||||
cd testdir; rm $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET)
|
|
||||||
|
|
||||||
testclean:
|
|
||||||
--- 1883,1890 ----
|
|
||||||
test60 test61 test62 test63 test64 test65 test66 test67 test68 test69 \
|
|
||||||
test70 test71 test72 test73 test74 test75 test76 test77 test78 test79 \
|
|
||||||
test80 test81 test82 test83 test84 test85 test86 test87 test88 test89 \
|
|
||||||
! test90 test91 test92 test93 test94 test95 test96 test97 test98 test99 \
|
|
||||||
! test100 test101 test102 test103 test104 test105 test106 test107:
|
|
||||||
cd testdir; rm $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET)
|
|
||||||
|
|
||||||
testclean:
|
|
||||||
*** ../vim-7.4.074/src/version.c 2013-11-07 03:04:06.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-07 03:10:10.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 75,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
Why is "abbreviation" such a long word?
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
66
7.4.076
66
7.4.076
@ -1,66 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.076
|
|
||||||
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.4.076
|
|
||||||
Problem: "cgn" does not wrap around the end of the file. (Dimitrov
|
|
||||||
Dimitrov)
|
|
||||||
Solution: Restore 'wrapscan' earlier. (Christian Brabandt)
|
|
||||||
Files: src/search.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.075/src/search.c 2013-10-02 21:54:57.000000000 +0200
|
|
||||||
--- src/search.c 2013-11-07 04:38:46.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 4592,4598 ****
|
|
||||||
ml_get(curwin->w_buffer->b_ml.ml_line_count));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
!
|
|
||||||
}
|
|
||||||
|
|
||||||
start_pos = pos;
|
|
||||||
--- 4592,4598 ----
|
|
||||||
ml_get(curwin->w_buffer->b_ml.ml_line_count));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
! p_ws = old_p_ws;
|
|
||||||
}
|
|
||||||
|
|
||||||
start_pos = pos;
|
|
||||||
***************
|
|
||||||
*** 4607,4613 ****
|
|
||||||
if (!VIsual_active)
|
|
||||||
VIsual = start_pos;
|
|
||||||
|
|
||||||
- p_ws = old_p_ws;
|
|
||||||
curwin->w_cursor = pos;
|
|
||||||
VIsual_active = TRUE;
|
|
||||||
VIsual_mode = 'v';
|
|
||||||
--- 4607,4612 ----
|
|
||||||
*** ../vim-7.4.075/src/version.c 2013-11-07 03:25:51.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-07 04:44:44.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 76,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
INSPECTOR END OF FILM: Move along. There's nothing to see! Keep moving!
|
|
||||||
[Suddenly he notices the cameras.]
|
|
||||||
INSPECTOR END OF FILM: (to Camera) All right, put that away sonny.
|
|
||||||
[He walks over to it and puts his hand over the lens.]
|
|
||||||
"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/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
63
7.4.077
63
7.4.077
@ -1,63 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.077
|
|
||||||
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.4.077
|
|
||||||
Problem: DOS installer creates shortcut without a path, resulting in the
|
|
||||||
current directory to be C:\Windows\system32.
|
|
||||||
Solution: Use environment variables.
|
|
||||||
Files: src/dosinst.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.076/src/dosinst.c 2013-05-06 04:06:04.000000000 +0200
|
|
||||||
--- src/dosinst.c 2013-11-06 18:18:47.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 1773,1781 ****
|
|
||||||
|
|
||||||
/*
|
|
||||||
* We used to use "homedir" as the working directory, but that is a bad choice
|
|
||||||
! * on multi-user systems. Not specifying a directory appears to work best.
|
|
||||||
*/
|
|
||||||
! #define WORKDIR ""
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Create shortcut(s) in the Start Menu\Programs\Vim folder.
|
|
||||||
--- 1773,1783 ----
|
|
||||||
|
|
||||||
/*
|
|
||||||
* We used to use "homedir" as the working directory, but that is a bad choice
|
|
||||||
! * on multi-user systems. However, not specifying a directory results in the
|
|
||||||
! * current directory to be c:\Windows\system32 on Windows 7. Use environment
|
|
||||||
! * variables instead.
|
|
||||||
*/
|
|
||||||
! #define WORKDIR "%HOMEDRIVE%%HOMEPATH%"
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Create shortcut(s) in the Start Menu\Programs\Vim folder.
|
|
||||||
*** ../vim-7.4.076/src/version.c 2013-11-07 04:46:43.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-07 04:47:42.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 77,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
JOHN CLEESE PLAYED: SECOND SOLDIER WITH A KEEN INTEREST IN BIRDS, LARGE MAN
|
|
||||||
WITH DEAD BODY, BLACK KNIGHT, MR NEWT (A VILLAGE
|
|
||||||
BLACKSMITH INTERESTED IN BURNING WITCHES), A QUITE
|
|
||||||
EXTRAORDINARILY RUDE FRENCHMAN, TIM THE WIZARD, SIR
|
|
||||||
LAUNCELOT
|
|
||||||
"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/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
114
7.4.078
114
7.4.078
@ -1,114 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.078
|
|
||||||
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.4.078
|
|
||||||
Problem: MSVC 2013 is not supported.
|
|
||||||
Solution: Recognize and support MSVC 2013. (Ed Brown)
|
|
||||||
Files: src/Make_mvc.mak
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.077/src/Make_mvc.mak 2013-07-09 13:13:12.000000000 +0200
|
|
||||||
--- src/Make_mvc.mak 2013-11-08 03:12:48.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 424,429 ****
|
|
||||||
--- 424,432 ----
|
|
||||||
!if "$(_NMAKE_VER)" == "11.00.60610.1"
|
|
||||||
MSVCVER = 11.0
|
|
||||||
!endif
|
|
||||||
+ !if "$(_NMAKE_VER)" == "12.00.21005.1"
|
|
||||||
+ MSVCVER = 12.0
|
|
||||||
+ !endif
|
|
||||||
!endif
|
|
||||||
|
|
||||||
# Abort building VIM if version of VC is unrecognised.
|
|
||||||
***************
|
|
||||||
*** 438,444 ****
|
|
||||||
!endif
|
|
||||||
|
|
||||||
# Convert processor ID to MVC-compatible number
|
|
||||||
! !if ("$(MSVCVER)" != "8.0") && ("$(MSVCVER)" != "9.0") && ("$(MSVCVER)" != "10.0") && ("$(MSVCVER)" != "11.0")
|
|
||||||
!if "$(CPUNR)" == "i386"
|
|
||||||
CPUARG = /G3
|
|
||||||
!elseif "$(CPUNR)" == "i486"
|
|
||||||
--- 441,447 ----
|
|
||||||
!endif
|
|
||||||
|
|
||||||
# Convert processor ID to MVC-compatible number
|
|
||||||
! !if ("$(MSVCVER)" != "8.0") && ("$(MSVCVER)" != "9.0") && ("$(MSVCVER)" != "10.0") && ("$(MSVCVER)" != "11.0") && ("$(MSVCVER)" != "12.0")
|
|
||||||
!if "$(CPUNR)" == "i386"
|
|
||||||
CPUARG = /G3
|
|
||||||
!elseif "$(CPUNR)" == "i486"
|
|
||||||
***************
|
|
||||||
*** 472,478 ****
|
|
||||||
OPTFLAG = /Ox
|
|
||||||
!endif
|
|
||||||
|
|
||||||
! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0")
|
|
||||||
# Use link time code generation if not worried about size
|
|
||||||
!if "$(OPTIMIZE)" != "SPACE"
|
|
||||||
OPTFLAG = $(OPTFLAG) /GL
|
|
||||||
--- 475,481 ----
|
|
||||||
OPTFLAG = /Ox
|
|
||||||
!endif
|
|
||||||
|
|
||||||
! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0") || ("$(MSVCVER)" == "12.0")
|
|
||||||
# Use link time code generation if not worried about size
|
|
||||||
!if "$(OPTIMIZE)" != "SPACE"
|
|
||||||
OPTFLAG = $(OPTFLAG) /GL
|
|
||||||
***************
|
|
||||||
*** 485,491 ****
|
|
||||||
!endif
|
|
||||||
|
|
||||||
# Static code analysis generally available starting with VS2012
|
|
||||||
! !if ("$(ANALYZE)" == "yes") && ("$(MSVCVER)" == "11.0")
|
|
||||||
CFLAGS=$(CFLAGS) /analyze
|
|
||||||
!endif
|
|
||||||
|
|
||||||
--- 488,494 ----
|
|
||||||
!endif
|
|
||||||
|
|
||||||
# Static code analysis generally available starting with VS2012
|
|
||||||
! !if ("$(ANALYZE)" == "yes") && ("$(MSVCVER)" == "11.0") && ("$(MSVCVER)" == "12.0")
|
|
||||||
CFLAGS=$(CFLAGS) /analyze
|
|
||||||
!endif
|
|
||||||
|
|
||||||
***************
|
|
||||||
*** 943,949 ****
|
|
||||||
|
|
||||||
# Report link time code generation progress if used.
|
|
||||||
!ifdef NODEBUG
|
|
||||||
! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0")
|
|
||||||
!if "$(OPTIMIZE)" != "SPACE"
|
|
||||||
LINKARGS1 = $(LINKARGS1) /LTCG:STATUS
|
|
||||||
!endif
|
|
||||||
--- 946,952 ----
|
|
||||||
|
|
||||||
# Report link time code generation progress if used.
|
|
||||||
!ifdef NODEBUG
|
|
||||||
! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0") || ("$(MSVCVER)" == "12.0")
|
|
||||||
!if "$(OPTIMIZE)" != "SPACE"
|
|
||||||
LINKARGS1 = $(LINKARGS1) /LTCG:STATUS
|
|
||||||
!endif
|
|
||||||
*** ../vim-7.4.077/src/version.c 2013-11-07 04:49:23.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-08 03:13:56.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 78,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
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/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
470
7.4.079
470
7.4.079
@ -1,470 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.079
|
|
||||||
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.4.079
|
|
||||||
Problem: A script cannot detect whether 'hlsearch' highlighting is actually
|
|
||||||
displayed.
|
|
||||||
Solution: Add the "v:hlsearch" variable. (ZyX)
|
|
||||||
Files: src/runtime/doc/eval.txt, src/eval.c, src/ex_docmd.c,
|
|
||||||
src/option.c, src/screen.c, src/search.c, src/tag.c, src/vim.h,
|
|
||||||
src/testdir/test101.in, src/testdir/test101.ok,
|
|
||||||
src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
|
|
||||||
src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
|
|
||||||
src/testdir/Make_vms.mms, src/testdir/Makefile
|
|
||||||
|
|
||||||
|
|
||||||
diff: ../vim-7.4.078/src/runtime/doc/eval.txt: No such file or directory
|
|
||||||
diff: src/runtime/doc/eval.txt: No such file or directory
|
|
||||||
*** ../vim-7.4.078/src/eval.c 2013-11-05 07:12:59.000000000 +0100
|
|
||||||
--- src/eval.c 2013-11-08 04:11:46.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 356,361 ****
|
|
||||||
--- 356,362 ----
|
|
||||||
{VV_NAME("mouse_col", VAR_NUMBER), 0},
|
|
||||||
{VV_NAME("operator", VAR_STRING), VV_RO},
|
|
||||||
{VV_NAME("searchforward", VAR_NUMBER), 0},
|
|
||||||
+ {VV_NAME("hlsearch", VAR_NUMBER), 0},
|
|
||||||
{VV_NAME("oldfiles", VAR_LIST), 0},
|
|
||||||
{VV_NAME("windowid", VAR_NUMBER), VV_RO},
|
|
||||||
};
|
|
||||||
***************
|
|
||||||
*** 871,876 ****
|
|
||||||
--- 872,878 ----
|
|
||||||
hash_add(&compat_hashtab, p->vv_di.di_key);
|
|
||||||
}
|
|
||||||
set_vim_var_nr(VV_SEARCHFORWARD, 1L);
|
|
||||||
+ set_vim_var_nr(VV_HLSEARCH, 1L);
|
|
||||||
set_reg_var(0); /* default for v:register is not 0 but '"' */
|
|
||||||
|
|
||||||
#ifdef EBCDIC
|
|
||||||
***************
|
|
||||||
*** 20613,20618 ****
|
|
||||||
--- 20615,20627 ----
|
|
||||||
v->di_tv.vval.v_number = get_tv_number(tv);
|
|
||||||
if (STRCMP(varname, "searchforward") == 0)
|
|
||||||
set_search_direction(v->di_tv.vval.v_number ? '/' : '?');
|
|
||||||
+ #ifdef FEAT_SEARCH_EXTRA
|
|
||||||
+ else if (STRCMP(varname, "hlsearch") == 0)
|
|
||||||
+ {
|
|
||||||
+ no_hlsearch = !v->di_tv.vval.v_number;
|
|
||||||
+ redraw_all_later(SOME_VALID);
|
|
||||||
+ }
|
|
||||||
+ #endif
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
*** ../vim-7.4.078/src/ex_docmd.c 2013-07-24 15:09:37.000000000 +0200
|
|
||||||
--- src/ex_docmd.c 2013-11-08 04:17:01.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 11389,11395 ****
|
|
||||||
ex_nohlsearch(eap)
|
|
||||||
exarg_T *eap UNUSED;
|
|
||||||
{
|
|
||||||
! no_hlsearch = TRUE;
|
|
||||||
redraw_all_later(SOME_VALID);
|
|
||||||
}
|
|
||||||
|
|
||||||
--- 11389,11395 ----
|
|
||||||
ex_nohlsearch(eap)
|
|
||||||
exarg_T *eap UNUSED;
|
|
||||||
{
|
|
||||||
! SET_NO_HLSEARCH(TRUE);
|
|
||||||
redraw_all_later(SOME_VALID);
|
|
||||||
}
|
|
||||||
|
|
||||||
*** ../vim-7.4.078/src/option.c 2013-11-06 05:26:08.000000000 +0100
|
|
||||||
--- src/option.c 2013-11-08 04:17:32.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 7811,7817 ****
|
|
||||||
/* when 'hlsearch' is set or reset: reset no_hlsearch */
|
|
||||||
else if ((int *)varp == &p_hls)
|
|
||||||
{
|
|
||||||
! no_hlsearch = FALSE;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
--- 7811,7817 ----
|
|
||||||
/* when 'hlsearch' is set or reset: reset no_hlsearch */
|
|
||||||
else if ((int *)varp == &p_hls)
|
|
||||||
{
|
|
||||||
! SET_NO_HLSEARCH(FALSE);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
*** ../vim-7.4.078/src/screen.c 2013-07-13 12:23:00.000000000 +0200
|
|
||||||
--- src/screen.c 2013-11-08 04:17:48.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 7447,7453 ****
|
|
||||||
{
|
|
||||||
/* don't free regprog in the match list, it's a copy */
|
|
||||||
vim_regfree(shl->rm.regprog);
|
|
||||||
! no_hlsearch = TRUE;
|
|
||||||
}
|
|
||||||
shl->rm.regprog = NULL;
|
|
||||||
shl->lnum = 0;
|
|
||||||
--- 7447,7453 ----
|
|
||||||
{
|
|
||||||
/* don't free regprog in the match list, it's a copy */
|
|
||||||
vim_regfree(shl->rm.regprog);
|
|
||||||
! SET_NO_HLSEARCH(TRUE);
|
|
||||||
}
|
|
||||||
shl->rm.regprog = NULL;
|
|
||||||
shl->lnum = 0;
|
|
||||||
*** ../vim-7.4.078/src/search.c 2013-11-07 04:46:43.000000000 +0100
|
|
||||||
--- src/search.c 2013-11-08 04:18:57.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 289,295 ****
|
|
||||||
/* If 'hlsearch' set and search pat changed: need redraw. */
|
|
||||||
if (p_hls)
|
|
||||||
redraw_all_later(SOME_VALID);
|
|
||||||
! no_hlsearch = FALSE;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
}
|
|
||||||
--- 289,295 ----
|
|
||||||
/* If 'hlsearch' set and search pat changed: need redraw. */
|
|
||||||
if (p_hls)
|
|
||||||
redraw_all_later(SOME_VALID);
|
|
||||||
! SET_NO_HLSEARCH(FALSE);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
}
|
|
||||||
***************
|
|
||||||
*** 333,339 ****
|
|
||||||
spats[1] = saved_spats[1];
|
|
||||||
last_idx = saved_last_idx;
|
|
||||||
# ifdef FEAT_SEARCH_EXTRA
|
|
||||||
! no_hlsearch = saved_no_hlsearch;
|
|
||||||
# endif
|
|
||||||
}
|
|
||||||
}
|
|
||||||
--- 333,339 ----
|
|
||||||
spats[1] = saved_spats[1];
|
|
||||||
last_idx = saved_last_idx;
|
|
||||||
# ifdef FEAT_SEARCH_EXTRA
|
|
||||||
! SET_NO_HLSEARCH(saved_no_hlsearch);
|
|
||||||
# endif
|
|
||||||
}
|
|
||||||
}
|
|
||||||
***************
|
|
||||||
*** 1148,1154 ****
|
|
||||||
if (no_hlsearch && !(options & SEARCH_KEEP))
|
|
||||||
{
|
|
||||||
redraw_all_later(SOME_VALID);
|
|
||||||
! no_hlsearch = FALSE;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
--- 1148,1154 ----
|
|
||||||
if (no_hlsearch && !(options & SEARCH_KEEP))
|
|
||||||
{
|
|
||||||
redraw_all_later(SOME_VALID);
|
|
||||||
! SET_NO_HLSEARCH(FALSE);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
***************
|
|
||||||
*** 5561,5567 ****
|
|
||||||
spats[idx].off.off = off;
|
|
||||||
#ifdef FEAT_SEARCH_EXTRA
|
|
||||||
if (setlast)
|
|
||||||
! no_hlsearch = !hlsearch_on;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
}
|
|
||||||
--- 5561,5569 ----
|
|
||||||
spats[idx].off.off = off;
|
|
||||||
#ifdef FEAT_SEARCH_EXTRA
|
|
||||||
if (setlast)
|
|
||||||
! {
|
|
||||||
! SET_NO_HLSEARCH(!hlsearch_on);
|
|
||||||
! }
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*** ../vim-7.4.078/src/tag.c 2013-09-05 12:06:26.000000000 +0200
|
|
||||||
--- src/tag.c 2013-11-08 04:19:14.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 3330,3336 ****
|
|
||||||
#ifdef FEAT_SEARCH_EXTRA
|
|
||||||
/* restore no_hlsearch when keeping the old search pattern */
|
|
||||||
if (search_options)
|
|
||||||
! no_hlsearch = save_no_hlsearch;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Return OK if jumped to another file (at least we found the file!). */
|
|
||||||
--- 3330,3338 ----
|
|
||||||
#ifdef FEAT_SEARCH_EXTRA
|
|
||||||
/* restore no_hlsearch when keeping the old search pattern */
|
|
||||||
if (search_options)
|
|
||||||
! {
|
|
||||||
! SET_NO_HLSEARCH(save_no_hlsearch);
|
|
||||||
! }
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Return OK if jumped to another file (at least we found the file!). */
|
|
||||||
*** ../vim-7.4.078/src/vim.h 2013-08-02 16:02:27.000000000 +0200
|
|
||||||
--- src/vim.h 2013-11-08 04:16:57.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 1864,1872 ****
|
|
||||||
#define VV_MOUSE_COL 51
|
|
||||||
#define VV_OP 52
|
|
||||||
#define VV_SEARCHFORWARD 53
|
|
||||||
! #define VV_OLDFILES 54
|
|
||||||
! #define VV_WINDOWID 55
|
|
||||||
! #define VV_LEN 56 /* number of v: vars */
|
|
||||||
|
|
||||||
#ifdef FEAT_CLIPBOARD
|
|
||||||
|
|
||||||
--- 1864,1873 ----
|
|
||||||
#define VV_MOUSE_COL 51
|
|
||||||
#define VV_OP 52
|
|
||||||
#define VV_SEARCHFORWARD 53
|
|
||||||
! #define VV_HLSEARCH 54
|
|
||||||
! #define VV_OLDFILES 55
|
|
||||||
! #define VV_WINDOWID 56
|
|
||||||
! #define VV_LEN 57 /* number of v: vars */
|
|
||||||
|
|
||||||
#ifdef FEAT_CLIPBOARD
|
|
||||||
|
|
||||||
***************
|
|
||||||
*** 2246,2249 ****
|
|
||||||
--- 2247,2256 ----
|
|
||||||
/* Character used as separated in autoload function/variable names. */
|
|
||||||
#define AUTOLOAD_CHAR '#'
|
|
||||||
|
|
||||||
+ #ifdef FEAT_EVAL
|
|
||||||
+ # define SET_NO_HLSEARCH(flag) no_hlsearch = (flag); set_vim_var_nr(VV_HLSEARCH, !no_hlsearch)
|
|
||||||
+ #else
|
|
||||||
+ # define SET_NO_HLSEARCH(flag) no_hlsearch = (flag)
|
|
||||||
+ #endif
|
|
||||||
+
|
|
||||||
#endif /* VIM__H */
|
|
||||||
*** ../vim-7.4.078/src/testdir/test101.in 2013-11-08 04:28:49.000000000 +0100
|
|
||||||
--- src/testdir/test101.in 2013-11-08 04:11:46.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 0 ****
|
|
||||||
--- 1,45 ----
|
|
||||||
+ Test for v:hlsearch vim: set ft=vim :
|
|
||||||
+
|
|
||||||
+ STARTTEST
|
|
||||||
+ :" Last abc: Q
|
|
||||||
+ :so small.vim
|
|
||||||
+ :new
|
|
||||||
+ :call setline(1, repeat(['aaa'], 10))
|
|
||||||
+ :set hlsearch nolazyredraw
|
|
||||||
+ :let r=[]
|
|
||||||
+ :command -nargs=0 -bar AddR :call add(r, [screenattr(1, 1), v:hlsearch])
|
|
||||||
+ /aaa
|
|
||||||
+ :AddR
|
|
||||||
+ :nohlsearch
|
|
||||||
+ :AddR
|
|
||||||
+ :let v:hlsearch=1
|
|
||||||
+ :AddR
|
|
||||||
+ :let v:hlsearch=0
|
|
||||||
+ :AddR
|
|
||||||
+ :set hlsearch
|
|
||||||
+ :AddR
|
|
||||||
+ :let v:hlsearch=0
|
|
||||||
+ :AddR
|
|
||||||
+ n:AddR
|
|
||||||
+ :let v:hlsearch=0
|
|
||||||
+ :AddR
|
|
||||||
+ /
|
|
||||||
+ :AddR
|
|
||||||
+ :let r1=r[0][0]
|
|
||||||
+ :" I guess it is not guaranteed that screenattr outputs always the same character
|
|
||||||
+ :call map(r, 'v:val[1].":".(v:val[0]==r1?"highlighted":"not highlighted")')
|
|
||||||
+ :try
|
|
||||||
+ : let v:hlsearch=[]
|
|
||||||
+ :catch
|
|
||||||
+ : call add(r, matchstr(v:exception,'^Vim(let):E\d\+:'))
|
|
||||||
+ :endtry
|
|
||||||
+ :bwipeout!
|
|
||||||
+ :$put=r
|
|
||||||
+ :call garbagecollect(1)
|
|
||||||
+ :"
|
|
||||||
+ :/^start:/,$wq! test.out
|
|
||||||
+ :" vim: et ts=4 isk-=\:
|
|
||||||
+ :call getchar()
|
|
||||||
+ ENDTEST
|
|
||||||
+
|
|
||||||
+ start:
|
|
||||||
*** ../vim-7.4.078/src/testdir/test101.ok 2013-11-08 04:28:49.000000000 +0100
|
|
||||||
--- src/testdir/test101.ok 2013-11-08 04:11:46.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 0 ****
|
|
||||||
--- 1,11 ----
|
|
||||||
+ start:
|
|
||||||
+ 1:highlighted
|
|
||||||
+ 0:not highlighted
|
|
||||||
+ 1:highlighted
|
|
||||||
+ 0:not highlighted
|
|
||||||
+ 1:highlighted
|
|
||||||
+ 0:not highlighted
|
|
||||||
+ 1:highlighted
|
|
||||||
+ 0:not highlighted
|
|
||||||
+ 1:highlighted
|
|
||||||
+ Vim(let):E706:
|
|
||||||
*** ../vim-7.4.078/src/testdir/Make_amiga.mak 2013-11-07 03:25:51.000000000 +0100
|
|
||||||
--- src/testdir/Make_amiga.mak 2013-11-08 04:22:13.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 34,40 ****
|
|
||||||
test81.out test82.out test83.out test84.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test97.out test98.out \
|
|
||||||
! test99.out test100.out
|
|
||||||
|
|
||||||
.SUFFIXES: .in .out
|
|
||||||
|
|
||||||
--- 34,40 ----
|
|
||||||
test81.out test82.out test83.out test84.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test97.out test98.out \
|
|
||||||
! test99.out test100.out test101.out
|
|
||||||
|
|
||||||
.SUFFIXES: .in .out
|
|
||||||
|
|
||||||
***************
|
|
||||||
*** 151,153 ****
|
|
||||||
--- 151,154 ----
|
|
||||||
test98.out: test98.in
|
|
||||||
test99.out: test99.in
|
|
||||||
test100.out: test100.in
|
|
||||||
+ test101.out: test101.in
|
|
||||||
*** ../vim-7.4.078/src/testdir/Make_dos.mak 2013-11-07 03:25:51.000000000 +0100
|
|
||||||
--- src/testdir/Make_dos.mak 2013-11-08 04:22:17.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 33,39 ****
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test98.out test99.out \
|
|
||||||
! test100.out
|
|
||||||
|
|
||||||
SCRIPTS32 = test50.out test70.out
|
|
||||||
|
|
||||||
--- 33,39 ----
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test98.out test99.out \
|
|
||||||
! test100.out test101.out
|
|
||||||
|
|
||||||
SCRIPTS32 = test50.out test70.out
|
|
||||||
|
|
||||||
*** ../vim-7.4.078/src/testdir/Make_ming.mak 2013-11-07 03:25:51.000000000 +0100
|
|
||||||
--- src/testdir/Make_ming.mak 2013-11-08 04:22:19.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 53,59 ****
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test98.out test99.out \
|
|
||||||
! test100out
|
|
||||||
|
|
||||||
SCRIPTS32 = test50.out test70.out
|
|
||||||
|
|
||||||
--- 53,59 ----
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test98.out test99.out \
|
|
||||||
! test100out test101.out
|
|
||||||
|
|
||||||
SCRIPTS32 = test50.out test70.out
|
|
||||||
|
|
||||||
*** ../vim-7.4.078/src/testdir/Make_os2.mak 2013-11-07 03:25:51.000000000 +0100
|
|
||||||
--- src/testdir/Make_os2.mak 2013-11-08 04:22:21.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 35,41 ****
|
|
||||||
test81.out test82.out test83.out test84.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test98.out test99.out \
|
|
||||||
! test100.out
|
|
||||||
|
|
||||||
.SUFFIXES: .in .out
|
|
||||||
|
|
||||||
--- 35,41 ----
|
|
||||||
test81.out test82.out test83.out test84.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test98.out test99.out \
|
|
||||||
! test100.out test101.out
|
|
||||||
|
|
||||||
.SUFFIXES: .in .out
|
|
||||||
|
|
||||||
*** ../vim-7.4.078/src/testdir/Make_vms.mms 2013-11-07 03:25:51.000000000 +0100
|
|
||||||
--- src/testdir/Make_vms.mms 2013-11-08 04:22:23.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 4,10 ****
|
|
||||||
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
|
|
||||||
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
|
|
||||||
#
|
|
||||||
! # Last change: 2013 Nov 07
|
|
||||||
#
|
|
||||||
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
|
|
||||||
# Edit the lines in the Configuration section below to select.
|
|
||||||
--- 4,10 ----
|
|
||||||
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
|
|
||||||
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
|
|
||||||
#
|
|
||||||
! # Last change: 2013 Nov 08
|
|
||||||
#
|
|
||||||
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
|
|
||||||
# Edit the lines in the Configuration section below to select.
|
|
||||||
***************
|
|
||||||
*** 79,85 ****
|
|
||||||
test82.out test83.out test84.out test88.out test89.out \
|
|
||||||
test90.out test91.out test92.out test93.out test94.out \
|
|
||||||
test95.out test96.out test97.out test98.out test99.out \
|
|
||||||
! test100.out
|
|
||||||
|
|
||||||
# Known problems:
|
|
||||||
# Test 30: a problem around mac format - unknown reason
|
|
||||||
--- 79,85 ----
|
|
||||||
test82.out test83.out test84.out test88.out test89.out \
|
|
||||||
test90.out test91.out test92.out test93.out test94.out \
|
|
||||||
test95.out test96.out test97.out test98.out test99.out \
|
|
||||||
! test100.out test101.out
|
|
||||||
|
|
||||||
# Known problems:
|
|
||||||
# Test 30: a problem around mac format - unknown reason
|
|
||||||
*** ../vim-7.4.078/src/testdir/Makefile 2013-11-07 03:25:51.000000000 +0100
|
|
||||||
--- src/testdir/Makefile 2013-11-08 04:22:26.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 30,36 ****
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test97.out test98.out \
|
|
||||||
! test99.out test100.out
|
|
||||||
|
|
||||||
SCRIPTS_GUI = test16.out
|
|
||||||
|
|
||||||
--- 30,36 ----
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test97.out test98.out \
|
|
||||||
! test99.out test100.out test101.out
|
|
||||||
|
|
||||||
SCRIPTS_GUI = test16.out
|
|
||||||
|
|
||||||
*** ../vim-7.4.078/src/version.c 2013-11-08 03:15:39.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-08 04:11:08.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 79,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
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/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
52
7.4.080
52
7.4.080
@ -1,52 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.080
|
|
||||||
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.4.080 (after 7.4.079)
|
|
||||||
Problem: Missing documentation for v:hlsearch.
|
|
||||||
Solution: Include the right file in the patch.
|
|
||||||
Files: runtime/doc/eval.txt
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.079/runtime/doc/eval.txt 2013-11-02 23:29:17.000000000 +0100
|
|
||||||
--- runtime/doc/eval.txt 2013-11-08 04:20:27.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 1454,1459 ****
|
|
||||||
--- 1455,1467 ----
|
|
||||||
v:foldstart Used for 'foldtext': first line of closed fold.
|
|
||||||
Read-only in the |sandbox|. |fold-foldtext|
|
|
||||||
|
|
||||||
+ *v:hlsearch* *hlsearch-variable*
|
|
||||||
+ v:hlsearch Variable that determines whether search highlighting is on.
|
|
||||||
+ Makes sense only if 'hlsearch' is enabled which requires
|
|
||||||
+ |+extra_search|. Setting this variable to zero acts the like
|
|
||||||
+ |:nohlsearch| command, setting it to one acts like >
|
|
||||||
+ let &hlsearch = &hlsearch
|
|
||||||
+ <
|
|
||||||
*v:insertmode* *insertmode-variable*
|
|
||||||
v:insertmode Used for the |InsertEnter| and |InsertChange| autocommand
|
|
||||||
events. Values:
|
|
||||||
*** ../vim-7.4.079/src/version.c 2013-11-08 04:30:06.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-09 01:42:56.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 80,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
The chat program is in public domain. This is not the GNU public license.
|
|
||||||
If it breaks then you get to keep both pieces.
|
|
||||||
-- Copyright notice for the chat program
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
52
7.4.081
52
7.4.081
@ -1,52 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.081
|
|
||||||
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.4.081 (after 7.4.078)
|
|
||||||
Problem: Wrong logic when ANALYZE is "yes".
|
|
||||||
Solution: Use or instead of and. (KF Leong)
|
|
||||||
Files: src/Make_mvc.mak
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.080/src/Make_mvc.mak 2013-11-08 03:15:39.000000000 +0100
|
|
||||||
--- src/Make_mvc.mak 2013-11-08 18:02:54.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 488,494 ****
|
|
||||||
!endif
|
|
||||||
|
|
||||||
# Static code analysis generally available starting with VS2012
|
|
||||||
! !if ("$(ANALYZE)" == "yes") && ("$(MSVCVER)" == "11.0") && ("$(MSVCVER)" == "12.0")
|
|
||||||
CFLAGS=$(CFLAGS) /analyze
|
|
||||||
!endif
|
|
||||||
|
|
||||||
--- 488,494 ----
|
|
||||||
!endif
|
|
||||||
|
|
||||||
# Static code analysis generally available starting with VS2012
|
|
||||||
! !if ("$(ANALYZE)" == "yes") && (("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0") || ("$(MSVCVER)" == "12.0"))
|
|
||||||
CFLAGS=$(CFLAGS) /analyze
|
|
||||||
!endif
|
|
||||||
|
|
||||||
*** ../vim-7.4.080/src/version.c 2013-11-09 01:44:38.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-09 02:31:34.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 81,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
Wi n0t trei a h0liday in Sweden thi yer?
|
|
||||||
"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/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
344
7.4.082
344
7.4.082
@ -1,344 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.082
|
|
||||||
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.4.082
|
|
||||||
Problem: Using "gf" in a changed buffer suggests adding "!", which is not
|
|
||||||
possible. (Tim Chase)
|
|
||||||
Solution: Pass a flag to check_changed() wether adding ! make sense.
|
|
||||||
Files: src/vim.h, src/ex_cmds2.c, src/proto/ex_cmds2.pro, src/globals.h,
|
|
||||||
src/ex_cmds.c, src/ex_docmd.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.081/src/vim.h 2013-11-08 04:30:06.000000000 +0100
|
|
||||||
--- src/vim.h 2013-11-09 03:00:00.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 1176,1181 ****
|
|
||||||
--- 1176,1190 ----
|
|
||||||
#define RESIZE_BOTH 15 /* resize in both directions */
|
|
||||||
|
|
||||||
/*
|
|
||||||
+ * flags for check_changed()
|
|
||||||
+ */
|
|
||||||
+ #define CCGD_AW 1 /* do autowrite if buffer was changed */
|
|
||||||
+ #define CCGD_MULTWIN 2 /* check also when several wins for the buf */
|
|
||||||
+ #define CCGD_FORCEIT 4 /* ! used */
|
|
||||||
+ #define CCGD_ALLBUF 8 /* may write all buffers */
|
|
||||||
+ #define CCGD_EXCMD 16 /* may suggest using ! */
|
|
||||||
+
|
|
||||||
+ /*
|
|
||||||
* "flags" values for option-setting functions.
|
|
||||||
* When OPT_GLOBAL and OPT_LOCAL are both missing, set both local and global
|
|
||||||
* values, get local value.
|
|
||||||
*** ../vim-7.4.081/src/ex_cmds2.c 2013-06-28 20:14:53.000000000 +0200
|
|
||||||
--- src/ex_cmds2.c 2013-11-09 03:14:44.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 1436,1455 ****
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
! * 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)
|
|
||||||
! && (mult_win || buf->b_nwindows <= 1)
|
|
||||||
! && (!checkaw || autowrite(buf, forceit) == FAIL))
|
|
||||||
{
|
|
||||||
#if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
|
|
||||||
if ((p_confirm || cmdmod.confirm) && p_write)
|
|
||||||
--- 1436,1455 ----
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
! * Return TRUE if buffer was changed and cannot be abandoned.
|
|
||||||
! * For flags use the CCGD_ values.
|
|
||||||
*/
|
|
||||||
int
|
|
||||||
! check_changed(buf, flags)
|
|
||||||
buf_T *buf;
|
|
||||||
! int flags;
|
|
||||||
{
|
|
||||||
+ int forceit = (flags & CCGD_FORCEIT);
|
|
||||||
+
|
|
||||||
if ( !forceit
|
|
||||||
&& bufIsChanged(buf)
|
|
||||||
! && ((flags & CCGD_MULTWIN) || buf->b_nwindows <= 1)
|
|
||||||
! && (!(flags & CCGD_AW) || autowrite(buf, forceit) == FAIL))
|
|
||||||
{
|
|
||||||
#if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
|
|
||||||
if ((p_confirm || cmdmod.confirm) && p_write)
|
|
||||||
***************
|
|
||||||
*** 1457,1463 ****
|
|
||||||
buf_T *buf2;
|
|
||||||
int count = 0;
|
|
||||||
|
|
||||||
! if (allbuf)
|
|
||||||
for (buf2 = firstbuf; buf2 != NULL; buf2 = buf2->b_next)
|
|
||||||
if (bufIsChanged(buf2)
|
|
||||||
&& (buf2->b_ffname != NULL
|
|
||||||
--- 1457,1463 ----
|
|
||||||
buf_T *buf2;
|
|
||||||
int count = 0;
|
|
||||||
|
|
||||||
! if (flags & CCGD_ALLBUF)
|
|
||||||
for (buf2 = firstbuf; buf2 != NULL; buf2 = buf2->b_next)
|
|
||||||
if (bufIsChanged(buf2)
|
|
||||||
&& (buf2->b_ffname != NULL
|
|
||||||
***************
|
|
||||||
*** 1480,1486 ****
|
|
||||||
return bufIsChanged(buf);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
! EMSG(_(e_nowrtmsg));
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
return FALSE;
|
|
||||||
--- 1480,1489 ----
|
|
||||||
return bufIsChanged(buf);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
! if (flags & CCGD_EXCMD)
|
|
||||||
! EMSG(_(e_nowrtmsg));
|
|
||||||
! else
|
|
||||||
! EMSG(_(e_nowrtmsg_nobang));
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
return FALSE;
|
|
||||||
***************
|
|
||||||
*** 1690,1696 ****
|
|
||||||
{
|
|
||||||
/* Try auto-writing the buffer. If this fails but the buffer no
|
|
||||||
* longer exists it's not changed, that's OK. */
|
|
||||||
! if (check_changed(buf, p_awa, TRUE, FALSE, TRUE) && buf_valid(buf))
|
|
||||||
break; /* didn't save - still changes */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
--- 1693,1701 ----
|
|
||||||
{
|
|
||||||
/* Try auto-writing the buffer. If this fails but the buffer no
|
|
||||||
* longer exists it's not changed, that's OK. */
|
|
||||||
! if (check_changed(buf, (p_awa ? CCGD_AW : 0)
|
|
||||||
! | CCGD_MULTWIN
|
|
||||||
! | CCGD_ALLBUF) && buf_valid(buf))
|
|
||||||
break; /* didn't save - still changes */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
***************
|
|
||||||
*** 2274,2280 ****
|
|
||||||
vim_free(p);
|
|
||||||
}
|
|
||||||
if ((!P_HID(curbuf) || !other)
|
|
||||||
! && check_changed(curbuf, TRUE, !other, eap->forceit, FALSE))
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
--- 2279,2288 ----
|
|
||||||
vim_free(p);
|
|
||||||
}
|
|
||||||
if ((!P_HID(curbuf) || !other)
|
|
||||||
! && check_changed(curbuf, CCGD_AW
|
|
||||||
! | (other ? 0 : CCGD_MULTWIN)
|
|
||||||
! | (eap->forceit ? CCGD_FORCEIT : 0)
|
|
||||||
! | CCGD_EXCMD))
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
***************
|
|
||||||
*** 2315,2321 ****
|
|
||||||
*/
|
|
||||||
if ( P_HID(curbuf)
|
|
||||||
|| eap->cmdidx == CMD_snext
|
|
||||||
! || !check_changed(curbuf, TRUE, FALSE, eap->forceit, FALSE))
|
|
||||||
{
|
|
||||||
if (*eap->arg != NUL) /* redefine file list */
|
|
||||||
{
|
|
||||||
--- 2323,2331 ----
|
|
||||||
*/
|
|
||||||
if ( P_HID(curbuf)
|
|
||||||
|| eap->cmdidx == CMD_snext
|
|
||||||
! || !check_changed(curbuf, CCGD_AW
|
|
||||||
! | (eap->forceit ? CCGD_FORCEIT : 0)
|
|
||||||
! | CCGD_EXCMD))
|
|
||||||
{
|
|
||||||
if (*eap->arg != NUL) /* redefine file list */
|
|
||||||
{
|
|
||||||
***************
|
|
||||||
*** 2458,2464 ****
|
|
||||||
if (eap->cmdidx == CMD_windo
|
|
||||||
|| eap->cmdidx == CMD_tabdo
|
|
||||||
|| P_HID(curbuf)
|
|
||||||
! || !check_changed(curbuf, TRUE, FALSE, eap->forceit, FALSE))
|
|
||||||
{
|
|
||||||
/* start at the first argument/window/buffer */
|
|
||||||
i = 0;
|
|
||||||
--- 2468,2476 ----
|
|
||||||
if (eap->cmdidx == CMD_windo
|
|
||||||
|| eap->cmdidx == CMD_tabdo
|
|
||||||
|| P_HID(curbuf)
|
|
||||||
! || !check_changed(curbuf, CCGD_AW
|
|
||||||
! | (eap->forceit ? CCGD_FORCEIT : 0)
|
|
||||||
! | CCGD_EXCMD))
|
|
||||||
{
|
|
||||||
/* start at the first argument/window/buffer */
|
|
||||||
i = 0;
|
|
||||||
*** ../vim-7.4.081/src/proto/ex_cmds2.pro 2013-08-10 13:37:10.000000000 +0200
|
|
||||||
--- src/proto/ex_cmds2.pro 2013-11-09 03:18:02.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 35,41 ****
|
|
||||||
int prof_def_func __ARGS((void));
|
|
||||||
int autowrite __ARGS((buf_T *buf, int forceit));
|
|
||||||
void autowrite_all __ARGS((void));
|
|
||||||
! int check_changed __ARGS((buf_T *buf, int checkaw, int mult_win, int forceit, int allbuf));
|
|
||||||
void browse_save_fname __ARGS((buf_T *buf));
|
|
||||||
void dialog_changed __ARGS((buf_T *buf, int checkall));
|
|
||||||
int can_abandon __ARGS((buf_T *buf, int forceit));
|
|
||||||
--- 35,41 ----
|
|
||||||
int prof_def_func __ARGS((void));
|
|
||||||
int autowrite __ARGS((buf_T *buf, int forceit));
|
|
||||||
void autowrite_all __ARGS((void));
|
|
||||||
! int check_changed __ARGS((buf_T *buf, int flags));
|
|
||||||
void browse_save_fname __ARGS((buf_T *buf));
|
|
||||||
void dialog_changed __ARGS((buf_T *buf, int checkall));
|
|
||||||
int can_abandon __ARGS((buf_T *buf, int forceit));
|
|
||||||
*** ../vim-7.4.081/src/globals.h 2013-07-04 19:53:44.000000000 +0200
|
|
||||||
--- src/globals.h 2013-11-09 03:05:54.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 1490,1495 ****
|
|
||||||
--- 1490,1496 ----
|
|
||||||
EXTERN char_u e_notopen[] INIT(= N_("E484: Can't open file %s"));
|
|
||||||
EXTERN char_u e_notread[] INIT(= N_("E485: Can't read file %s"));
|
|
||||||
EXTERN char_u e_nowrtmsg[] INIT(= N_("E37: No write since last change (add ! to override)"));
|
|
||||||
+ EXTERN char_u e_nowrtmsg_nobang[] INIT(= N_("E37: No write since last change"));
|
|
||||||
EXTERN char_u e_null[] INIT(= N_("E38: Null argument"));
|
|
||||||
#ifdef FEAT_DIGRAPHS
|
|
||||||
EXTERN char_u e_number_exp[] INIT(= N_("E39: Number expected"));
|
|
||||||
*** ../vim-7.4.081/src/ex_cmds.c 2013-10-02 18:43:00.000000000 +0200
|
|
||||||
--- src/ex_cmds.c 2013-11-09 03:19:25.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 3253,3260 ****
|
|
||||||
if ( ((!other_file && !(flags & ECMD_OLDBUF))
|
|
||||||
|| (curbuf->b_nwindows == 1
|
|
||||||
&& !(flags & (ECMD_HIDE | ECMD_ADDBUF))))
|
|
||||||
! && check_changed(curbuf, p_awa, !other_file,
|
|
||||||
! (flags & ECMD_FORCEIT), FALSE))
|
|
||||||
{
|
|
||||||
if (fnum == 0 && other_file && ffname != NULL)
|
|
||||||
(void)setaltfname(ffname, sfname, newlnum < 0 ? 0 : newlnum);
|
|
||||||
--- 3253,3262 ----
|
|
||||||
if ( ((!other_file && !(flags & ECMD_OLDBUF))
|
|
||||||
|| (curbuf->b_nwindows == 1
|
|
||||||
&& !(flags & (ECMD_HIDE | ECMD_ADDBUF))))
|
|
||||||
! && check_changed(curbuf, (p_awa ? CCGD_AW : 0)
|
|
||||||
! | (other_file ? 0 : CCGD_MULTWIN)
|
|
||||||
! | ((flags & ECMD_FORCEIT) ? CCGD_FORCEIT : 0)
|
|
||||||
! | (eap == NULL ? 0 : CCGD_EXCMD)))
|
|
||||||
{
|
|
||||||
if (fnum == 0 && other_file && ffname != NULL)
|
|
||||||
(void)setaltfname(ffname, sfname, newlnum < 0 ? 0 : newlnum);
|
|
||||||
***************
|
|
||||||
*** 7664,7670 ****
|
|
||||||
# ifdef FEAT_WINDOWS
|
|
||||||
++emsg_off;
|
|
||||||
# endif
|
|
||||||
! split = check_changed(curbuf, TRUE, FALSE, FALSE, FALSE);
|
|
||||||
# ifdef FEAT_WINDOWS
|
|
||||||
--emsg_off;
|
|
||||||
# else
|
|
||||||
--- 7666,7672 ----
|
|
||||||
# ifdef FEAT_WINDOWS
|
|
||||||
++emsg_off;
|
|
||||||
# endif
|
|
||||||
! split = check_changed(curbuf, CCGD_AW | CCGD_EXCMD);
|
|
||||||
# ifdef FEAT_WINDOWS
|
|
||||||
--emsg_off;
|
|
||||||
# else
|
|
||||||
*** ../vim-7.4.081/src/ex_docmd.c 2013-11-08 04:30:06.000000000 +0100
|
|
||||||
--- src/ex_docmd.c 2013-11-09 03:30:10.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 6565,6571 ****
|
|
||||||
if (check_more(FALSE, eap->forceit) == OK && only_one_window())
|
|
||||||
exiting = TRUE;
|
|
||||||
if ((!P_HID(curbuf)
|
|
||||||
! && check_changed(curbuf, p_awa, FALSE, eap->forceit, FALSE))
|
|
||||||
|| check_more(TRUE, eap->forceit) == FAIL
|
|
||||||
|| (only_one_window() && check_changed_any(eap->forceit)))
|
|
||||||
{
|
|
||||||
--- 6565,6573 ----
|
|
||||||
if (check_more(FALSE, eap->forceit) == OK && only_one_window())
|
|
||||||
exiting = TRUE;
|
|
||||||
if ((!P_HID(curbuf)
|
|
||||||
! && check_changed(curbuf, (p_awa ? CCGD_AW : 0)
|
|
||||||
! | (eap->forceit ? CCGD_FORCEIT : 0)
|
|
||||||
! | CCGD_EXCMD))
|
|
||||||
|| check_more(TRUE, eap->forceit) == FAIL
|
|
||||||
|| (only_one_window() && check_changed_any(eap->forceit)))
|
|
||||||
{
|
|
||||||
***************
|
|
||||||
*** 7099,7105 ****
|
|
||||||
if (!P_HID(curbuf) && !split)
|
|
||||||
{
|
|
||||||
++emsg_off;
|
|
||||||
! split = check_changed(curbuf, TRUE, FALSE, FALSE, FALSE);
|
|
||||||
--emsg_off;
|
|
||||||
}
|
|
||||||
if (split)
|
|
||||||
--- 7101,7107 ----
|
|
||||||
if (!P_HID(curbuf) && !split)
|
|
||||||
{
|
|
||||||
++emsg_off;
|
|
||||||
! split = check_changed(curbuf, CCGD_AW);
|
|
||||||
--emsg_off;
|
|
||||||
}
|
|
||||||
if (split)
|
|
||||||
***************
|
|
||||||
*** 7361,7367 ****
|
|
||||||
{
|
|
||||||
/* Set recoverymode right away to avoid the ATTENTION prompt. */
|
|
||||||
recoverymode = TRUE;
|
|
||||||
! if (!check_changed(curbuf, p_awa, TRUE, eap->forceit, FALSE)
|
|
||||||
&& (*eap->arg == NUL
|
|
||||||
|| setfname(curbuf, eap->arg, NULL, TRUE) == OK))
|
|
||||||
ml_recover();
|
|
||||||
--- 7363,7373 ----
|
|
||||||
{
|
|
||||||
/* Set recoverymode right away to avoid the ATTENTION prompt. */
|
|
||||||
recoverymode = TRUE;
|
|
||||||
! if (!check_changed(curbuf, (p_awa ? CCGD_AW : 0)
|
|
||||||
! | CCGD_MULTWIN
|
|
||||||
! | (eap->forceit ? CCGD_FORCEIT : 0)
|
|
||||||
! | CCGD_EXCMD)
|
|
||||||
!
|
|
||||||
&& (*eap->arg == NUL
|
|
||||||
|| setfname(curbuf, eap->arg, NULL, TRUE) == OK))
|
|
||||||
ml_recover();
|
|
||||||
*** ../vim-7.4.081/src/version.c 2013-11-09 02:32:15.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-09 03:26:06.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 82,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
People who want to share their religious views with you
|
|
||||||
almost never want you to share yours with them.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
136
7.4.083
136
7.4.083
@ -1,136 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.083
|
|
||||||
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.4.083
|
|
||||||
Problem: It's hard to avoid adding a used pattern to the search history.
|
|
||||||
Solution: Add the ":keeppatterns" modifier. (Christian Brabandt)
|
|
||||||
Files: runtime/doc/cmdline.txt, src/ex_cmds.h, src/ex_docmd.c,
|
|
||||||
src/ex_getln.c, src/structs.h
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.082/runtime/doc/cmdline.txt 2013-08-10 13:24:52.000000000 +0200
|
|
||||||
--- runtime/doc/cmdline.txt 2013-11-09 04:26:30.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 356,361 ****
|
|
||||||
--- 356,365 ----
|
|
||||||
List the recent five entries from all histories: >
|
|
||||||
:history all -5,
|
|
||||||
|
|
||||||
+ :keepp[atterns] {command} *:keepp* *:keeppatterns*
|
|
||||||
+ Execute {command}, without adding anything to the search
|
|
||||||
+ history
|
|
||||||
+
|
|
||||||
==============================================================================
|
|
||||||
2. Command-line completion *cmdline-completion*
|
|
||||||
|
|
||||||
*** ../vim-7.4.082/src/ex_cmds.h 2013-06-08 15:08:20.000000000 +0200
|
|
||||||
--- src/ex_cmds.h 2013-11-09 04:26:30.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 477,482 ****
|
|
||||||
--- 477,484 ----
|
|
||||||
NEEDARG|EXTRA|NOTRLCOM),
|
|
||||||
EX(CMD_keepjumps, "keepjumps", ex_wrongmodifier,
|
|
||||||
NEEDARG|EXTRA|NOTRLCOM),
|
|
||||||
+ EX(CMD_keeppatterns, "keeppatterns", ex_wrongmodifier,
|
|
||||||
+ NEEDARG|EXTRA|NOTRLCOM),
|
|
||||||
EX(CMD_keepalt, "keepalt", ex_wrongmodifier,
|
|
||||||
NEEDARG|EXTRA|NOTRLCOM),
|
|
||||||
EX(CMD_list, "list", ex_print,
|
|
||||||
*** ../vim-7.4.082/src/ex_docmd.c 2013-11-09 03:31:45.000000000 +0100
|
|
||||||
--- src/ex_docmd.c 2013-11-09 04:31:36.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 1843,1848 ****
|
|
||||||
--- 1843,1853 ----
|
|
||||||
cmdmod.keepalt = TRUE;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
+ if (checkforcmd(&ea.cmd, "keeppatterns", 5))
|
|
||||||
+ {
|
|
||||||
+ cmdmod.keeppatterns = TRUE;
|
|
||||||
+ continue;
|
|
||||||
+ }
|
|
||||||
if (!checkforcmd(&ea.cmd, "keepjumps", 5))
|
|
||||||
break;
|
|
||||||
cmdmod.keepjumps = TRUE;
|
|
||||||
***************
|
|
||||||
*** 2584,2589 ****
|
|
||||||
--- 2589,2595 ----
|
|
||||||
case CMD_keepalt:
|
|
||||||
case CMD_keepjumps:
|
|
||||||
case CMD_keepmarks:
|
|
||||||
+ case CMD_keeppatterns:
|
|
||||||
case CMD_leftabove:
|
|
||||||
case CMD_let:
|
|
||||||
case CMD_lockmarks:
|
|
||||||
***************
|
|
||||||
*** 3089,3094 ****
|
|
||||||
--- 3095,3101 ----
|
|
||||||
{"keepalt", 5, FALSE},
|
|
||||||
{"keepjumps", 5, FALSE},
|
|
||||||
{"keepmarks", 3, FALSE},
|
|
||||||
+ {"keeppatterns", 5, FALSE},
|
|
||||||
{"leftabove", 5, FALSE},
|
|
||||||
{"lockmarks", 3, FALSE},
|
|
||||||
{"noautocmd", 3, FALSE},
|
|
||||||
***************
|
|
||||||
*** 3597,3602 ****
|
|
||||||
--- 3604,3610 ----
|
|
||||||
case CMD_keepalt:
|
|
||||||
case CMD_keepjumps:
|
|
||||||
case CMD_keepmarks:
|
|
||||||
+ case CMD_keeppatterns:
|
|
||||||
case CMD_leftabove:
|
|
||||||
case CMD_lockmarks:
|
|
||||||
case CMD_rightbelow:
|
|
||||||
*** ../vim-7.4.082/src/ex_getln.c 2013-11-05 07:12:59.000000000 +0100
|
|
||||||
--- src/ex_getln.c 2013-11-09 04:26:30.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 5498,5503 ****
|
|
||||||
--- 5498,5506 ----
|
|
||||||
if (hislen == 0) /* no history */
|
|
||||||
return;
|
|
||||||
|
|
||||||
+ if (cmdmod.keeppatterns && histype == HIST_SEARCH)
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
/*
|
|
||||||
* Searches inside the same mapping overwrite each other, so that only
|
|
||||||
* the last line is kept. Be careful not to remove a line that was moved
|
|
||||||
*** ../vim-7.4.082/src/structs.h 2013-11-06 05:26:08.000000000 +0100
|
|
||||||
--- src/structs.h 2013-11-09 04:26:30.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 542,547 ****
|
|
||||||
--- 542,548 ----
|
|
||||||
int keepmarks; /* TRUE when ":keepmarks" was used */
|
|
||||||
int keepjumps; /* TRUE when ":keepjumps" was used */
|
|
||||||
int lockmarks; /* TRUE when ":lockmarks" was used */
|
|
||||||
+ int keeppatterns; /* TRUE when ":keeppatterns" was used */
|
|
||||||
# ifdef FEAT_AUTOCMD
|
|
||||||
char_u *save_ei; /* saved value of 'eventignore' */
|
|
||||||
# endif
|
|
||||||
*** ../vim-7.4.082/src/version.c 2013-11-09 03:31:45.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-09 04:29:07.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 83,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
I am always surprised in the Linux world how quickly solutions can be
|
|
||||||
obtained. (Imagine sending an email to Bill Gates, asking why Windows
|
|
||||||
crashed, and how to fix it... and then getting an answer that fixed the
|
|
||||||
problem... <0>_<0> !) -- Mark Langdon
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
184
7.4.084
184
7.4.084
@ -1,184 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.084
|
|
||||||
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.4.084
|
|
||||||
Problem: Python: interrupt not being properly discarded. (Yggdroot Chen)
|
|
||||||
Solution: Discard interrupt in VimTryEnd. (ZyX)
|
|
||||||
Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok,
|
|
||||||
src/testdir/test87.in, src/testdir/test87.ok
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.083/src/if_py_both.h 2013-11-04 00:34:47.000000000 +0100
|
|
||||||
--- src/if_py_both.h 2013-11-11 00:56:41.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 558,564 ****
|
|
||||||
/* Keyboard interrupt should be preferred over anything else */
|
|
||||||
if (got_int)
|
|
||||||
{
|
|
||||||
! did_throw = got_int = FALSE;
|
|
||||||
PyErr_SetNone(PyExc_KeyboardInterrupt);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
--- 558,568 ----
|
|
||||||
/* Keyboard interrupt should be preferred over anything else */
|
|
||||||
if (got_int)
|
|
||||||
{
|
|
||||||
! if (current_exception != NULL)
|
|
||||||
! discard_current_exception();
|
|
||||||
! else
|
|
||||||
! need_rethrow = did_throw = FALSE;
|
|
||||||
! got_int = FALSE;
|
|
||||||
PyErr_SetNone(PyExc_KeyboardInterrupt);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
***************
|
|
||||||
*** 567,573 ****
|
|
||||||
/* Python exception is preferred over vim one; unlikely to occur though */
|
|
||||||
else if (PyErr_Occurred())
|
|
||||||
{
|
|
||||||
! did_throw = FALSE;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
/* Finally transform VimL exception to python one */
|
|
||||||
--- 571,580 ----
|
|
||||||
/* Python exception is preferred over vim one; unlikely to occur though */
|
|
||||||
else if (PyErr_Occurred())
|
|
||||||
{
|
|
||||||
! if (current_exception != NULL)
|
|
||||||
! discard_current_exception();
|
|
||||||
! else
|
|
||||||
! need_rethrow = did_throw = FALSE;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
/* Finally transform VimL exception to python one */
|
|
||||||
*** ../vim-7.4.083/src/testdir/test86.in 2013-11-04 00:34:47.000000000 +0100
|
|
||||||
--- src/testdir/test86.in 2013-11-11 00:56:11.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 1281,1286 ****
|
|
||||||
--- 1281,1317 ----
|
|
||||||
EOF
|
|
||||||
:delfunction Exe
|
|
||||||
:"
|
|
||||||
+ :" Regression: interrupting vim.command propagates to next vim.command
|
|
||||||
+ py << EOF
|
|
||||||
+ def test_keyboard_interrupt():
|
|
||||||
+ try:
|
|
||||||
+ vim.command('while 1 | endwhile')
|
|
||||||
+ except KeyboardInterrupt:
|
|
||||||
+ cb.append('Caught KeyboardInterrupt')
|
|
||||||
+ except Exception:
|
|
||||||
+ cb.append('!!!!!!!! Caught exception: ' + repr(sys.exc_info))
|
|
||||||
+ else:
|
|
||||||
+ cb.append('!!!!!!!! No exception')
|
|
||||||
+ try:
|
|
||||||
+ vim.command('$ put =\'Running :put\'')
|
|
||||||
+ except KeyboardInterrupt:
|
|
||||||
+ cb.append('!!!!!!!! Caught KeyboardInterrupt')
|
|
||||||
+ except Exception:
|
|
||||||
+ cb.append('!!!!!!!! Caught exception: ' + repr(sys.exc_info))
|
|
||||||
+ else:
|
|
||||||
+ cb.append('No exception')
|
|
||||||
+ EOF
|
|
||||||
+ :debuggreedy
|
|
||||||
+ :call inputsave()
|
|
||||||
+ :call feedkeys("s\ns\ns\ns\nq\n")
|
|
||||||
+ :redir => output
|
|
||||||
+ :debug silent! py test_keyboard_interrupt()
|
|
||||||
+ :redir END
|
|
||||||
+ :0 debuggreedy
|
|
||||||
+ :silent $put =output
|
|
||||||
+ :unlet output
|
|
||||||
+ :py del test_keyboard_interrupt
|
|
||||||
+ :"
|
|
||||||
:" Cleanup
|
|
||||||
py << EOF
|
|
||||||
del cb
|
|
||||||
*** ../vim-7.4.083/src/testdir/test86.ok 2013-11-04 00:34:47.000000000 +0100
|
|
||||||
--- src/testdir/test86.ok 2013-11-11 00:56:11.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 1198,1200 ****
|
|
||||||
--- 1198,1204 ----
|
|
||||||
vim.eval("Exe('echoerr ''jkl''')"):error:('Vim(echoerr):jkl',)
|
|
||||||
vim.eval("Exe('xxx_non_existent_command_xxx')"):error:('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',)
|
|
||||||
vim.bindeval("Exe('xxx_non_existent_command_xxx')"):error:('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',)
|
|
||||||
+ Caught KeyboardInterrupt
|
|
||||||
+ Running :put
|
|
||||||
+ No exception
|
|
||||||
+
|
|
||||||
*** ../vim-7.4.083/src/testdir/test87.in 2013-11-04 00:34:47.000000000 +0100
|
|
||||||
--- src/testdir/test87.in 2013-11-11 00:56:11.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 1232,1237 ****
|
|
||||||
--- 1232,1268 ----
|
|
||||||
EOF
|
|
||||||
:delfunction Exe
|
|
||||||
:"
|
|
||||||
+ :" Regression: interrupting vim.command propagates to next vim.command
|
|
||||||
+ py3 << EOF
|
|
||||||
+ def test_keyboard_interrupt():
|
|
||||||
+ try:
|
|
||||||
+ vim.command('while 1 | endwhile')
|
|
||||||
+ except KeyboardInterrupt:
|
|
||||||
+ cb.append('Caught KeyboardInterrupt')
|
|
||||||
+ except Exception as e:
|
|
||||||
+ cb.append('!!!!!!!! Caught exception: ' + repr(e))
|
|
||||||
+ else:
|
|
||||||
+ cb.append('!!!!!!!! No exception')
|
|
||||||
+ try:
|
|
||||||
+ vim.command('$ put =\'Running :put\'')
|
|
||||||
+ except KeyboardInterrupt:
|
|
||||||
+ cb.append('!!!!!!!! Caught KeyboardInterrupt')
|
|
||||||
+ except Exception as e:
|
|
||||||
+ cb.append('!!!!!!!! Caught exception: ' + repr(e))
|
|
||||||
+ else:
|
|
||||||
+ cb.append('No exception')
|
|
||||||
+ EOF
|
|
||||||
+ :debuggreedy
|
|
||||||
+ :call inputsave()
|
|
||||||
+ :call feedkeys("s\ns\ns\ns\nq\n")
|
|
||||||
+ :redir => output
|
|
||||||
+ :debug silent! py3 test_keyboard_interrupt()
|
|
||||||
+ :redir END
|
|
||||||
+ :0 debuggreedy
|
|
||||||
+ :silent $put =output
|
|
||||||
+ :unlet output
|
|
||||||
+ :py3 del test_keyboard_interrupt
|
|
||||||
+ :"
|
|
||||||
:" Cleanup
|
|
||||||
py3 << EOF
|
|
||||||
del cb
|
|
||||||
*** ../vim-7.4.083/src/testdir/test87.ok 2013-11-04 00:34:47.000000000 +0100
|
|
||||||
--- src/testdir/test87.ok 2013-11-11 00:56:11.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 1187,1189 ****
|
|
||||||
--- 1187,1193 ----
|
|
||||||
vim.eval("Exe('echoerr ''jkl''')"):(<class 'vim.error'>, error('Vim(echoerr):jkl',))
|
|
||||||
vim.eval("Exe('xxx_non_existent_command_xxx')"):(<class 'vim.error'>, error('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',))
|
|
||||||
vim.bindeval("Exe('xxx_non_existent_command_xxx')"):(<class 'vim.error'>, error('Vim:E492: Not an editor command: xxx_non_existent_command_xxx',))
|
|
||||||
+ Caught KeyboardInterrupt
|
|
||||||
+ Running :put
|
|
||||||
+ No exception
|
|
||||||
+
|
|
||||||
*** ../vim-7.4.083/src/version.c 2013-11-09 05:30:18.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-11 00:55:23.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 84,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
Computers make very fast, very accurate, mistakes.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
118
7.4.085
118
7.4.085
@ -1,118 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.085
|
|
||||||
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.4.085
|
|
||||||
Problem: When inserting text in Visual block mode and moving the cursor the
|
|
||||||
wrong text gets repeated in other lines.
|
|
||||||
Solution: Use the '[ mark to find the start of the actually inserted text.
|
|
||||||
(Christian Brabandt)
|
|
||||||
Files: src/ops.c, src/testdir/test39.in, src/testdir/test39.ok
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.084/src/ops.c 2013-11-05 07:12:59.000000000 +0100
|
|
||||||
--- src/ops.c 2013-11-11 01:23:14.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 2640,2645 ****
|
|
||||||
--- 2640,2670 ----
|
|
||||||
{
|
|
||||||
struct block_def bd2;
|
|
||||||
|
|
||||||
+ /* The user may have moved the cursor before inserting something, try
|
|
||||||
+ * to adjust the block for that. */
|
|
||||||
+ if (oap->start.lnum == curbuf->b_op_start.lnum)
|
|
||||||
+ {
|
|
||||||
+ if (oap->op_type == OP_INSERT
|
|
||||||
+ && oap->start.col != curbuf->b_op_start.col)
|
|
||||||
+ {
|
|
||||||
+ oap->start.col = curbuf->b_op_start.col;
|
|
||||||
+ pre_textlen -= getviscol2(oap->start.col, oap->start.coladd)
|
|
||||||
+ - oap->start_vcol;
|
|
||||||
+ oap->start_vcol = getviscol2(oap->start.col, oap->start.coladd);
|
|
||||||
+ }
|
|
||||||
+ else if (oap->op_type == OP_APPEND
|
|
||||||
+ && oap->end.col >= curbuf->b_op_start.col)
|
|
||||||
+ {
|
|
||||||
+ oap->start.col = curbuf->b_op_start.col;
|
|
||||||
+ /* reset pre_textlen to the value of OP_INSERT */
|
|
||||||
+ pre_textlen += bd.textlen;
|
|
||||||
+ pre_textlen -= getviscol2(oap->start.col, oap->start.coladd)
|
|
||||||
+ - oap->start_vcol;
|
|
||||||
+ oap->start_vcol = getviscol2(oap->start.col, oap->start.coladd);
|
|
||||||
+ oap->op_type = OP_INSERT;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
/*
|
|
||||||
* Spaces and tabs in the indent may have changed to other spaces and
|
|
||||||
* tabs. Get the starting column again and correct the length.
|
|
||||||
*** ../vim-7.4.084/src/testdir/test39.in 2013-11-04 01:41:11.000000000 +0100
|
|
||||||
--- src/testdir/test39.in 2013-11-11 01:20:51.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 19,24 ****
|
|
||||||
--- 19,28 ----
|
|
||||||
:" Test block-change
|
|
||||||
G$khhhhhkkcmno
|
|
||||||
:$-4,$w! test.out
|
|
||||||
+ :" Test block-insert using cursor keys for movement
|
|
||||||
+ /^aaaa/
|
|
||||||
+ :exe ":norm! l\<C-V>jjjlllI\<Right>\<Right> \<Esc>"
|
|
||||||
+ :/^aa/,/^$/w >> test.out
|
|
||||||
:" gUe must uppercase a whole word, also when ß changes to SS
|
|
||||||
Gothe youtußeuu endYpk0wgUe
|
|
||||||
:" gUfx must uppercase until x, inclusive.
|
|
||||||
***************
|
|
||||||
*** 40,45 ****
|
|
||||||
--- 44,54 ----
|
|
||||||
:qa!
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
+ aaaaaa
|
|
||||||
+ bbbbbb
|
|
||||||
+ cccccc
|
|
||||||
+ dddddd
|
|
||||||
+
|
|
||||||
abcdefghijklm
|
|
||||||
abcdefghijklm
|
|
||||||
abcdefghijklm
|
|
||||||
*** ../vim-7.4.084/src/testdir/test39.ok 2013-11-04 01:41:11.000000000 +0100
|
|
||||||
--- src/testdir/test39.ok 2013-11-11 01:20:51.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 3,8 ****
|
|
||||||
--- 3,13 ----
|
|
||||||
axyzqqqqef mno ghijklm
|
|
||||||
axyzqqqqefgmnoklm
|
|
||||||
abcdqqqqijklm
|
|
||||||
+ aaa aaa
|
|
||||||
+ bbb bbb
|
|
||||||
+ ccc ccc
|
|
||||||
+ ddd ddd
|
|
||||||
+
|
|
||||||
the YOUTUSSEUU end
|
|
||||||
- yOUSSTUSSEXu -
|
|
||||||
THE YOUTUSSEUU END
|
|
||||||
*** ../vim-7.4.084/src/version.c 2013-11-11 01:05:43.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-11 01:18:01.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 85,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
SOLDIER: What? Ridden on a horse?
|
|
||||||
ARTHUR: Yes!
|
|
||||||
SOLDIER: You're using coconuts!
|
|
||||||
"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/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
145
7.4.086
145
7.4.086
@ -1,145 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.086
|
|
||||||
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.4.086
|
|
||||||
Problem: Skipping over an expression when not evaluating it does not work
|
|
||||||
properly for dict members.
|
|
||||||
Solution: Skip over unrecognized expression. (ZyX)
|
|
||||||
Files: src/eval.c, src/testdir/test34.in, src/testdir/test34.ok
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.085/src/eval.c 2013-11-08 04:30:06.000000000 +0100
|
|
||||||
--- src/eval.c 2013-11-11 04:11:38.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 19845,19868 ****
|
|
||||||
while (ret == OK
|
|
||||||
&& (**arg == '['
|
|
||||||
|| (**arg == '.' && rettv->v_type == VAR_DICT)
|
|
||||||
! || (**arg == '(' && rettv->v_type == VAR_FUNC))
|
|
||||||
&& !vim_iswhite(*(*arg - 1)))
|
|
||||||
{
|
|
||||||
if (**arg == '(')
|
|
||||||
{
|
|
||||||
/* need to copy the funcref so that we can clear rettv */
|
|
||||||
! functv = *rettv;
|
|
||||||
! rettv->v_type = VAR_UNKNOWN;
|
|
||||||
|
|
||||||
! /* Invoke the function. Recursive! */
|
|
||||||
! s = functv.vval.v_string;
|
|
||||||
ret = get_func_tv(s, (int)STRLEN(s), rettv, arg,
|
|
||||||
curwin->w_cursor.lnum, curwin->w_cursor.lnum,
|
|
||||||
&len, evaluate, selfdict);
|
|
||||||
|
|
||||||
/* Clear the funcref afterwards, so that deleting it while
|
|
||||||
* evaluating the arguments is possible (see test55). */
|
|
||||||
! clear_tv(&functv);
|
|
||||||
|
|
||||||
/* Stop the expression evaluation when immediately aborting on
|
|
||||||
* error, or when an interrupt occurred or an exception was thrown
|
|
||||||
--- 19845,19874 ----
|
|
||||||
while (ret == OK
|
|
||||||
&& (**arg == '['
|
|
||||||
|| (**arg == '.' && rettv->v_type == VAR_DICT)
|
|
||||||
! || (**arg == '(' && (!evaluate || rettv->v_type == VAR_FUNC)))
|
|
||||||
&& !vim_iswhite(*(*arg - 1)))
|
|
||||||
{
|
|
||||||
if (**arg == '(')
|
|
||||||
{
|
|
||||||
/* need to copy the funcref so that we can clear rettv */
|
|
||||||
! if (evaluate)
|
|
||||||
! {
|
|
||||||
! functv = *rettv;
|
|
||||||
! rettv->v_type = VAR_UNKNOWN;
|
|
||||||
|
|
||||||
! /* Invoke the function. Recursive! */
|
|
||||||
! s = functv.vval.v_string;
|
|
||||||
! }
|
|
||||||
! else
|
|
||||||
! s = (char_u *)"";
|
|
||||||
ret = get_func_tv(s, (int)STRLEN(s), rettv, arg,
|
|
||||||
curwin->w_cursor.lnum, curwin->w_cursor.lnum,
|
|
||||||
&len, evaluate, selfdict);
|
|
||||||
|
|
||||||
/* Clear the funcref afterwards, so that deleting it while
|
|
||||||
* evaluating the arguments is possible (see test55). */
|
|
||||||
! if (evaluate)
|
|
||||||
! clear_tv(&functv);
|
|
||||||
|
|
||||||
/* Stop the expression evaluation when immediately aborting on
|
|
||||||
* error, or when an interrupt occurred or an exception was thrown
|
|
||||||
*** ../vim-7.4.085/src/testdir/test34.in 2012-07-16 16:51:29.000000000 +0200
|
|
||||||
--- src/testdir/test34.in 2013-11-11 04:10:13.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 1,6 ****
|
|
||||||
--- 1,7 ----
|
|
||||||
Test for user functions.
|
|
||||||
Also test an <expr> mapping calling a function.
|
|
||||||
Also test that a builtin function cannot be replaced.
|
|
||||||
+ Also test for regression when calling arbitrary expression.
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
:so small.vim
|
|
||||||
***************
|
|
||||||
*** 62,68 ****
|
|
||||||
[(one again:call append(line('$'), max([1, 2, 3]))
|
|
||||||
:call extend(g:, {'max': function('min')})
|
|
||||||
:call append(line('$'), max([1, 2, 3]))
|
|
||||||
! :$-7,$w! test.out
|
|
||||||
:delfunc Table
|
|
||||||
:delfunc Compute
|
|
||||||
:delfunc Expr1
|
|
||||||
--- 63,79 ----
|
|
||||||
[(one again:call append(line('$'), max([1, 2, 3]))
|
|
||||||
:call extend(g:, {'max': function('min')})
|
|
||||||
:call append(line('$'), max([1, 2, 3]))
|
|
||||||
! :try
|
|
||||||
! : " Regression: the first line below used to throw ?E110: Missing ')'?
|
|
||||||
! : " Second is here just to prove that this line is correct when not skipping
|
|
||||||
! : " rhs of &&.
|
|
||||||
! : $put =(0&&(function('tr'))(1, 2, 3))
|
|
||||||
! : $put =(1&&(function('tr'))(1, 2, 3))
|
|
||||||
! :catch
|
|
||||||
! : $put ='!!! Unexpected exception:'
|
|
||||||
! : $put =v:exception
|
|
||||||
! :endtry
|
|
||||||
! :$-9,$w! test.out
|
|
||||||
:delfunc Table
|
|
||||||
:delfunc Compute
|
|
||||||
:delfunc Expr1
|
|
||||||
*** ../vim-7.4.085/src/testdir/test34.ok 2012-07-16 16:43:15.000000000 +0200
|
|
||||||
--- src/testdir/test34.ok 2013-11-11 04:10:13.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 6,8 ****
|
|
||||||
--- 6,10 ----
|
|
||||||
1. one again
|
|
||||||
3
|
|
||||||
3
|
|
||||||
+ 0
|
|
||||||
+ 1
|
|
||||||
*** ../vim-7.4.085/src/version.c 2013-11-11 01:29:16.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-11 04:15:59.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 86,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
ARTHUR: The swallow may fly south with the sun, or the house martin or the
|
|
||||||
plover seek warmer hot lands in winter, yet these are not strangers to
|
|
||||||
our land.
|
|
||||||
SOLDIER: Are you suggesting coconuts migrate?
|
|
||||||
"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/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
56
7.4.087
56
7.4.087
@ -1,56 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.087
|
|
||||||
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.4.087
|
|
||||||
Problem: Compiler warning on 64 bit Windows systems.
|
|
||||||
Solution: Fix type cast. (Mike Williams)
|
|
||||||
Files: src/ops.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.086/src/ops.c 2013-11-11 01:29:16.000000000 +0100
|
|
||||||
--- src/ops.c 2013-11-11 23:16:06.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 2193,2199 ****
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* Replacing with \r or \n means splitting the line. */
|
|
||||||
! after_p = alloc_check((unsigned)oldlen + 1 + n - STRLEN(newp));
|
|
||||||
if (after_p != NULL)
|
|
||||||
STRMOVE(after_p, oldp);
|
|
||||||
}
|
|
||||||
--- 2193,2200 ----
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* Replacing with \r or \n means splitting the line. */
|
|
||||||
! after_p = alloc_check(
|
|
||||||
! (unsigned)(oldlen + 1 + n - STRLEN(newp)));
|
|
||||||
if (after_p != NULL)
|
|
||||||
STRMOVE(after_p, oldp);
|
|
||||||
}
|
|
||||||
*** ../vim-7.4.086/src/version.c 2013-11-11 04:25:48.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-11 23:16:23.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 87,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
SECOND SOLDIER: It could be carried by an African swallow!
|
|
||||||
FIRST SOLDIER: Oh yes! An African swallow maybe ... but not a European
|
|
||||||
swallow. that's my point.
|
|
||||||
"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/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
564
7.4.088
564
7.4.088
@ -1,564 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.088
|
|
||||||
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.4.088
|
|
||||||
Problem: When spell checking is enabled Asian characters are always marked
|
|
||||||
as error.
|
|
||||||
Solution: When 'spelllang' contains "cjk" do not mark Asian characters as
|
|
||||||
error. (Ken Takata)
|
|
||||||
Files: runtime/doc/options.txt, runtime/doc/spell.txt, src/mbyte.c,
|
|
||||||
src/option.c, src/spell.c, src/structs.h
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.087/runtime/doc/options.txt 2013-11-06 05:26:08.000000000 +0100
|
|
||||||
--- runtime/doc/options.txt 2013-11-12 04:00:51.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 6555,6560 ****
|
|
||||||
--- 6555,6563 ----
|
|
||||||
region by listing them: "en_us,en_ca" supports both US and Canadian
|
|
||||||
English, but not words specific for Australia, New Zealand or Great
|
|
||||||
Britain.
|
|
||||||
+ If the name "cjk" is included East Asian characters are excluded from
|
|
||||||
+ spell checking. This is useful when editing text that also has Asian
|
|
||||||
+ words.
|
|
||||||
*E757*
|
|
||||||
As a special case the name of a .spl file can be given as-is. The
|
|
||||||
first "_xx" in the name is removed and used as the region name
|
|
||||||
*** ../vim-7.4.087/runtime/doc/spell.txt 2013-08-10 13:25:01.000000000 +0200
|
|
||||||
--- runtime/doc/spell.txt 2013-11-12 04:02:27.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 269,274 ****
|
|
||||||
--- 269,281 ----
|
|
||||||
latin1 yi transliterated Yiddish
|
|
||||||
utf-8 yi-tr transliterated Yiddish
|
|
||||||
|
|
||||||
+ *spell-cjk*
|
|
||||||
+ Chinese, Japanese and other East Asian characters are normally marked as
|
|
||||||
+ errors, because spell checking of these characters is not supported. If
|
|
||||||
+ 'spelllang' includes "cjk", these characters are not marked as errors. This
|
|
||||||
+ is useful when editing text with spell checking while some Asian words are
|
|
||||||
+ present.
|
|
||||||
+
|
|
||||||
|
|
||||||
SPELL FILES *spell-load*
|
|
||||||
|
|
||||||
*** ../vim-7.4.087/src/mbyte.c 2013-07-05 20:07:21.000000000 +0200
|
|
||||||
--- src/mbyte.c 2013-11-12 03:55:50.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 947,954 ****
|
|
||||||
{
|
|
||||||
case 0x2121: /* ZENKAKU space */
|
|
||||||
return 0;
|
|
||||||
! case 0x2122: /* KU-TEN (Japanese comma) */
|
|
||||||
! case 0x2123: /* TOU-TEN (Japanese period) */
|
|
||||||
case 0x2124: /* ZENKAKU comma */
|
|
||||||
case 0x2125: /* ZENKAKU period */
|
|
||||||
return 1;
|
|
||||||
--- 947,954 ----
|
|
||||||
{
|
|
||||||
case 0x2121: /* ZENKAKU space */
|
|
||||||
return 0;
|
|
||||||
! case 0x2122: /* TOU-TEN (Japanese comma) */
|
|
||||||
! case 0x2123: /* KU-TEN (Japanese period) */
|
|
||||||
case 0x2124: /* ZENKAKU comma */
|
|
||||||
case 0x2125: /* ZENKAKU period */
|
|
||||||
return 1;
|
|
||||||
***************
|
|
||||||
*** 2477,2485 ****
|
|
||||||
/* sorted list of non-overlapping intervals */
|
|
||||||
static struct clinterval
|
|
||||||
{
|
|
||||||
! unsigned short first;
|
|
||||||
! unsigned short last;
|
|
||||||
! unsigned short class;
|
|
||||||
} classes[] =
|
|
||||||
{
|
|
||||||
{0x037e, 0x037e, 1}, /* Greek question mark */
|
|
||||||
--- 2477,2485 ----
|
|
||||||
/* sorted list of non-overlapping intervals */
|
|
||||||
static struct clinterval
|
|
||||||
{
|
|
||||||
! unsigned int first;
|
|
||||||
! unsigned int last;
|
|
||||||
! unsigned int class;
|
|
||||||
} classes[] =
|
|
||||||
{
|
|
||||||
{0x037e, 0x037e, 1}, /* Greek question mark */
|
|
||||||
***************
|
|
||||||
*** 2544,2549 ****
|
|
||||||
--- 2544,2553 ----
|
|
||||||
{0xff1a, 0xff20, 1}, /* half/fullwidth ASCII */
|
|
||||||
{0xff3b, 0xff40, 1}, /* half/fullwidth ASCII */
|
|
||||||
{0xff5b, 0xff65, 1}, /* half/fullwidth ASCII */
|
|
||||||
+ {0x20000, 0x2a6df, 0x4e00}, /* CJK Ideographs */
|
|
||||||
+ {0x2a700, 0x2b73f, 0x4e00}, /* CJK Ideographs */
|
|
||||||
+ {0x2b740, 0x2b81f, 0x4e00}, /* CJK Ideographs */
|
|
||||||
+ {0x2f800, 0x2fa1f, 0x4e00}, /* CJK Ideographs */
|
|
||||||
};
|
|
||||||
int bot = 0;
|
|
||||||
int top = sizeof(classes) / sizeof(struct clinterval) - 1;
|
|
||||||
***************
|
|
||||||
*** 2563,2571 ****
|
|
||||||
while (top >= bot)
|
|
||||||
{
|
|
||||||
mid = (bot + top) / 2;
|
|
||||||
! if (classes[mid].last < c)
|
|
||||||
bot = mid + 1;
|
|
||||||
! else if (classes[mid].first > c)
|
|
||||||
top = mid - 1;
|
|
||||||
else
|
|
||||||
return (int)classes[mid].class;
|
|
||||||
--- 2567,2575 ----
|
|
||||||
while (top >= bot)
|
|
||||||
{
|
|
||||||
mid = (bot + top) / 2;
|
|
||||||
! if (classes[mid].last < (unsigned int)c)
|
|
||||||
bot = mid + 1;
|
|
||||||
! else if (classes[mid].first > (unsigned int)c)
|
|
||||||
top = mid - 1;
|
|
||||||
else
|
|
||||||
return (int)classes[mid].class;
|
|
||||||
*** ../vim-7.4.087/src/option.c 2013-11-08 04:30:06.000000000 +0100
|
|
||||||
--- src/option.c 2013-11-12 04:34:46.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 7122,7127 ****
|
|
||||||
--- 7122,7132 ----
|
|
||||||
if (varp == &(curwin->w_s->b_p_spl))
|
|
||||||
{
|
|
||||||
char_u fname[200];
|
|
||||||
+ char_u *q = curwin->w_s->b_p_spl;
|
|
||||||
+
|
|
||||||
+ /* Skip the first name if it is "cjk". */
|
|
||||||
+ if (STRNCMP(q, "cjk,", 4) == 0)
|
|
||||||
+ q += 4;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Source the spell/LANG.vim in 'runtimepath'.
|
|
||||||
***************
|
|
||||||
*** 7129,7139 ****
|
|
||||||
* Use the first name in 'spelllang' up to '_region' or
|
|
||||||
* '.encoding'.
|
|
||||||
*/
|
|
||||||
! for (p = curwin->w_s->b_p_spl; *p != NUL; ++p)
|
|
||||||
if (vim_strchr((char_u *)"_.,", *p) != NULL)
|
|
||||||
break;
|
|
||||||
! vim_snprintf((char *)fname, 200, "spell/%.*s.vim",
|
|
||||||
! (int)(p - curwin->w_s->b_p_spl), curwin->w_s->b_p_spl);
|
|
||||||
source_runtime(fname, TRUE);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
--- 7134,7143 ----
|
|
||||||
* Use the first name in 'spelllang' up to '_region' or
|
|
||||||
* '.encoding'.
|
|
||||||
*/
|
|
||||||
! for (p = q; *p != NUL; ++p)
|
|
||||||
if (vim_strchr((char_u *)"_.,", *p) != NULL)
|
|
||||||
break;
|
|
||||||
! vim_snprintf((char *)fname, 200, "spell/%.*s.vim", (int)(p - q), q);
|
|
||||||
source_runtime(fname, TRUE);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
*** ../vim-7.4.087/src/spell.c 2013-09-29 13:38:25.000000000 +0200
|
|
||||||
--- src/spell.c 2013-11-12 04:37:33.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 754,762 ****
|
|
||||||
static void clear_spell_chartab __ARGS((spelltab_T *sp));
|
|
||||||
static int set_spell_finish __ARGS((spelltab_T *new_st));
|
|
||||||
static int spell_iswordp __ARGS((char_u *p, win_T *wp));
|
|
||||||
! static int spell_iswordp_nmw __ARGS((char_u *p));
|
|
||||||
#ifdef FEAT_MBYTE
|
|
||||||
! static int spell_mb_isword_class __ARGS((int cl));
|
|
||||||
static int spell_iswordp_w __ARGS((int *p, win_T *wp));
|
|
||||||
#endif
|
|
||||||
static int write_spell_prefcond __ARGS((FILE *fd, garray_T *gap));
|
|
||||||
--- 754,762 ----
|
|
||||||
static void clear_spell_chartab __ARGS((spelltab_T *sp));
|
|
||||||
static int set_spell_finish __ARGS((spelltab_T *new_st));
|
|
||||||
static int spell_iswordp __ARGS((char_u *p, win_T *wp));
|
|
||||||
! static int spell_iswordp_nmw __ARGS((char_u *p, win_T *wp));
|
|
||||||
#ifdef FEAT_MBYTE
|
|
||||||
! static int spell_mb_isword_class __ARGS((int cl, win_T *wp));
|
|
||||||
static int spell_iswordp_w __ARGS((int *p, win_T *wp));
|
|
||||||
#endif
|
|
||||||
static int write_spell_prefcond __ARGS((FILE *fd, garray_T *gap));
|
|
||||||
***************
|
|
||||||
*** 1149,1155 ****
|
|
||||||
|
|
||||||
/* When we are at a non-word character there is no error, just
|
|
||||||
* skip over the character (try looking for a word after it). */
|
|
||||||
! else if (!spell_iswordp_nmw(ptr))
|
|
||||||
{
|
|
||||||
if (capcol != NULL && wp->w_s->b_cap_prog != NULL)
|
|
||||||
{
|
|
||||||
--- 1149,1155 ----
|
|
||||||
|
|
||||||
/* When we are at a non-word character there is no error, just
|
|
||||||
* skip over the character (try looking for a word after it). */
|
|
||||||
! else if (!spell_iswordp_nmw(ptr, wp))
|
|
||||||
{
|
|
||||||
if (capcol != NULL && wp->w_s->b_cap_prog != NULL)
|
|
||||||
{
|
|
||||||
***************
|
|
||||||
*** 1561,1567 ****
|
|
||||||
* accept a no-caps word, even when the dictionary
|
|
||||||
* word specifies ONECAP. */
|
|
||||||
mb_ptr_back(mip->mi_word, p);
|
|
||||||
! if (spell_iswordp_nmw(p)
|
|
||||||
? capflags == WF_ONECAP
|
|
||||||
: (flags & WF_ONECAP) != 0
|
|
||||||
&& capflags != WF_ONECAP)
|
|
||||||
--- 1561,1567 ----
|
|
||||||
* accept a no-caps word, even when the dictionary
|
|
||||||
* word specifies ONECAP. */
|
|
||||||
mb_ptr_back(mip->mi_word, p);
|
|
||||||
! if (spell_iswordp_nmw(p, mip->mi_win)
|
|
||||||
? capflags == WF_ONECAP
|
|
||||||
: (flags & WF_ONECAP) != 0
|
|
||||||
&& capflags != WF_ONECAP)
|
|
||||||
***************
|
|
||||||
*** 4234,4240 ****
|
|
||||||
if (spl_copy == NULL)
|
|
||||||
goto theend;
|
|
||||||
|
|
||||||
! /* loop over comma separated language names. */
|
|
||||||
for (splp = spl_copy; *splp != NUL; )
|
|
||||||
{
|
|
||||||
/* Get one language name. */
|
|
||||||
--- 4234,4242 ----
|
|
||||||
if (spl_copy == NULL)
|
|
||||||
goto theend;
|
|
||||||
|
|
||||||
! wp->w_s->b_cjk = 0;
|
|
||||||
!
|
|
||||||
! /* Loop over comma separated language names. */
|
|
||||||
for (splp = spl_copy; *splp != NUL; )
|
|
||||||
{
|
|
||||||
/* Get one language name. */
|
|
||||||
***************
|
|
||||||
*** 4242,4247 ****
|
|
||||||
--- 4244,4255 ----
|
|
||||||
region = NULL;
|
|
||||||
len = (int)STRLEN(lang);
|
|
||||||
|
|
||||||
+ if (STRCMP(lang, "cjk") == 0)
|
|
||||||
+ {
|
|
||||||
+ wp->w_s->b_cjk = 1;
|
|
||||||
+ continue;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
/* If the name ends in ".spl" use it as the name of the spell file.
|
|
||||||
* If there is a region name let "region" point to it and remove it
|
|
||||||
* from the name. */
|
|
||||||
***************
|
|
||||||
*** 4601,4607 ****
|
|
||||||
int past_second = FALSE; /* past second word char */
|
|
||||||
|
|
||||||
/* find first letter */
|
|
||||||
! for (p = word; !spell_iswordp_nmw(p); mb_ptr_adv(p))
|
|
||||||
if (end == NULL ? *p == NUL : p >= end)
|
|
||||||
return 0; /* only non-word characters, illegal word */
|
|
||||||
#ifdef FEAT_MBYTE
|
|
||||||
--- 4609,4615 ----
|
|
||||||
int past_second = FALSE; /* past second word char */
|
|
||||||
|
|
||||||
/* find first letter */
|
|
||||||
! for (p = word; !spell_iswordp_nmw(p, curwin); mb_ptr_adv(p))
|
|
||||||
if (end == NULL ? *p == NUL : p >= end)
|
|
||||||
return 0; /* only non-word characters, illegal word */
|
|
||||||
#ifdef FEAT_MBYTE
|
|
||||||
***************
|
|
||||||
*** 4617,4623 ****
|
|
||||||
* But a word with an upper char only at start is a ONECAP.
|
|
||||||
*/
|
|
||||||
for ( ; end == NULL ? *p != NUL : p < end; mb_ptr_adv(p))
|
|
||||||
! if (spell_iswordp_nmw(p))
|
|
||||||
{
|
|
||||||
c = PTR2CHAR(p);
|
|
||||||
if (!SPELL_ISUPPER(c))
|
|
||||||
--- 4625,4631 ----
|
|
||||||
* But a word with an upper char only at start is a ONECAP.
|
|
||||||
*/
|
|
||||||
for ( ; end == NULL ? *p != NUL : p < end; mb_ptr_adv(p))
|
|
||||||
! if (spell_iswordp_nmw(p, curwin))
|
|
||||||
{
|
|
||||||
c = PTR2CHAR(p);
|
|
||||||
if (!SPELL_ISUPPER(c))
|
|
||||||
***************
|
|
||||||
*** 9907,9913 ****
|
|
||||||
|
|
||||||
c = mb_ptr2char(s);
|
|
||||||
if (c > 255)
|
|
||||||
! return spell_mb_isword_class(mb_get_class(s));
|
|
||||||
return spelltab.st_isw[c];
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
--- 9915,9921 ----
|
|
||||||
|
|
||||||
c = mb_ptr2char(s);
|
|
||||||
if (c > 255)
|
|
||||||
! return spell_mb_isword_class(mb_get_class(s), wp);
|
|
||||||
return spelltab.st_isw[c];
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
***************
|
|
||||||
*** 9920,9927 ****
|
|
||||||
* Unlike spell_iswordp() this doesn't check for "midword" characters.
|
|
||||||
*/
|
|
||||||
static int
|
|
||||||
! spell_iswordp_nmw(p)
|
|
||||||
char_u *p;
|
|
||||||
{
|
|
||||||
#ifdef FEAT_MBYTE
|
|
||||||
int c;
|
|
||||||
--- 9928,9936 ----
|
|
||||||
* Unlike spell_iswordp() this doesn't check for "midword" characters.
|
|
||||||
*/
|
|
||||||
static int
|
|
||||||
! spell_iswordp_nmw(p, wp)
|
|
||||||
char_u *p;
|
|
||||||
+ win_T *wp;
|
|
||||||
{
|
|
||||||
#ifdef FEAT_MBYTE
|
|
||||||
int c;
|
|
||||||
***************
|
|
||||||
*** 9930,9936 ****
|
|
||||||
{
|
|
||||||
c = mb_ptr2char(p);
|
|
||||||
if (c > 255)
|
|
||||||
! return spell_mb_isword_class(mb_get_class(p));
|
|
||||||
return spelltab.st_isw[c];
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
--- 9939,9945 ----
|
|
||||||
{
|
|
||||||
c = mb_ptr2char(p);
|
|
||||||
if (c > 255)
|
|
||||||
! return spell_mb_isword_class(mb_get_class(p), wp);
|
|
||||||
return spelltab.st_isw[c];
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
***************
|
|
||||||
*** 9942,9952 ****
|
|
||||||
* Return TRUE if word class indicates a word character.
|
|
||||||
* Only for characters above 255.
|
|
||||||
* Unicode subscript and superscript are not considered word characters.
|
|
||||||
*/
|
|
||||||
static int
|
|
||||||
! spell_mb_isword_class(cl)
|
|
||||||
! int cl;
|
|
||||||
{
|
|
||||||
return cl >= 2 && cl != 0x2070 && cl != 0x2080;
|
|
||||||
}
|
|
||||||
|
|
||||||
--- 9951,9966 ----
|
|
||||||
* Return TRUE if word class indicates a word character.
|
|
||||||
* Only for characters above 255.
|
|
||||||
* Unicode subscript and superscript are not considered word characters.
|
|
||||||
+ * See also dbcs_class() and utf_class() in mbyte.c.
|
|
||||||
*/
|
|
||||||
static int
|
|
||||||
! spell_mb_isword_class(cl, wp)
|
|
||||||
! int cl;
|
|
||||||
! win_T *wp;
|
|
||||||
{
|
|
||||||
+ if (wp->w_s->b_cjk)
|
|
||||||
+ /* East Asian characters are not considered word characters. */
|
|
||||||
+ return cl == 2 || cl == 0x2800;
|
|
||||||
return cl >= 2 && cl != 0x2070 && cl != 0x2080;
|
|
||||||
}
|
|
||||||
|
|
||||||
***************
|
|
||||||
*** 9971,9979 ****
|
|
||||||
if (*s > 255)
|
|
||||||
{
|
|
||||||
if (enc_utf8)
|
|
||||||
! return spell_mb_isword_class(utf_class(*s));
|
|
||||||
if (enc_dbcs)
|
|
||||||
! return dbcs_class((unsigned)*s >> 8, *s & 0xff) >= 2;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
return spelltab.st_isw[*s];
|
|
||||||
--- 9985,9994 ----
|
|
||||||
if (*s > 255)
|
|
||||||
{
|
|
||||||
if (enc_utf8)
|
|
||||||
! return spell_mb_isword_class(utf_class(*s), wp);
|
|
||||||
if (enc_dbcs)
|
|
||||||
! return spell_mb_isword_class(
|
|
||||||
! dbcs_class((unsigned)*s >> 8, *s & 0xff), wp);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
return spelltab.st_isw[*s];
|
|
||||||
***************
|
|
||||||
*** 10193,10205 ****
|
|
||||||
line = ml_get_curline();
|
|
||||||
p = line + curwin->w_cursor.col;
|
|
||||||
/* Backup to before start of word. */
|
|
||||||
! while (p > line && spell_iswordp_nmw(p))
|
|
||||||
mb_ptr_back(line, p);
|
|
||||||
/* Forward to start of word. */
|
|
||||||
! while (*p != NUL && !spell_iswordp_nmw(p))
|
|
||||||
mb_ptr_adv(p);
|
|
||||||
|
|
||||||
! if (!spell_iswordp_nmw(p)) /* No word found. */
|
|
||||||
{
|
|
||||||
beep_flush();
|
|
||||||
return;
|
|
||||||
--- 10208,10220 ----
|
|
||||||
line = ml_get_curline();
|
|
||||||
p = line + curwin->w_cursor.col;
|
|
||||||
/* Backup to before start of word. */
|
|
||||||
! while (p > line && spell_iswordp_nmw(p, curwin))
|
|
||||||
mb_ptr_back(line, p);
|
|
||||||
/* Forward to start of word. */
|
|
||||||
! while (*p != NUL && !spell_iswordp_nmw(p, curwin))
|
|
||||||
mb_ptr_adv(p);
|
|
||||||
|
|
||||||
! if (!spell_iswordp_nmw(p, curwin)) /* No word found. */
|
|
||||||
{
|
|
||||||
beep_flush();
|
|
||||||
return;
|
|
||||||
***************
|
|
||||||
*** 10436,10442 ****
|
|
||||||
for (;;)
|
|
||||||
{
|
|
||||||
mb_ptr_back(line, p);
|
|
||||||
! if (p == line || spell_iswordp_nmw(p))
|
|
||||||
break;
|
|
||||||
if (vim_regexec(®match, p, 0)
|
|
||||||
&& regmatch.endp[0] == line + endcol)
|
|
||||||
--- 10451,10457 ----
|
|
||||||
for (;;)
|
|
||||||
{
|
|
||||||
mb_ptr_back(line, p);
|
|
||||||
! if (p == line || spell_iswordp_nmw(p, curwin))
|
|
||||||
break;
|
|
||||||
if (vim_regexec(®match, p, 0)
|
|
||||||
&& regmatch.endp[0] == line + endcol)
|
|
||||||
***************
|
|
||||||
*** 11645,11651 ****
|
|
||||||
|
|
||||||
/* When appending a compound word after a word character don't
|
|
||||||
* use Onecap. */
|
|
||||||
! if (p != NULL && spell_iswordp_nmw(p))
|
|
||||||
c &= ~WF_ONECAP;
|
|
||||||
make_case_word(tword + sp->ts_splitoff,
|
|
||||||
preword + sp->ts_prewordlen, c);
|
|
||||||
--- 11660,11666 ----
|
|
||||||
|
|
||||||
/* When appending a compound word after a word character don't
|
|
||||||
* use Onecap. */
|
|
||||||
! if (p != NULL && spell_iswordp_nmw(p, curwin))
|
|
||||||
c &= ~WF_ONECAP;
|
|
||||||
make_case_word(tword + sp->ts_splitoff,
|
|
||||||
preword + sp->ts_prewordlen, c);
|
|
||||||
***************
|
|
||||||
*** 11895,11901 ****
|
|
||||||
* character when the word ends. But only when the
|
|
||||||
* good word can end. */
|
|
||||||
if (((!try_compound && !spell_iswordp_nmw(fword
|
|
||||||
! + sp->ts_fidx))
|
|
||||||
|| fword_ends)
|
|
||||||
&& fword[sp->ts_fidx] != NUL
|
|
||||||
&& goodword_ends)
|
|
||||||
--- 11910,11917 ----
|
|
||||||
* character when the word ends. But only when the
|
|
||||||
* good word can end. */
|
|
||||||
if (((!try_compound && !spell_iswordp_nmw(fword
|
|
||||||
! + sp->ts_fidx,
|
|
||||||
! curwin))
|
|
||||||
|| fword_ends)
|
|
||||||
&& fword[sp->ts_fidx] != NUL
|
|
||||||
&& goodword_ends)
|
|
||||||
***************
|
|
||||||
*** 14226,14232 ****
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
! if (spell_iswordp_nmw(s))
|
|
||||||
*t++ = *s;
|
|
||||||
++s;
|
|
||||||
}
|
|
||||||
--- 14242,14248 ----
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
! if (spell_iswordp_nmw(s, curwin))
|
|
||||||
*t++ = *s;
|
|
||||||
++s;
|
|
||||||
}
|
|
||||||
***************
|
|
||||||
*** 14521,14527 ****
|
|
||||||
else
|
|
||||||
{
|
|
||||||
did_white = FALSE;
|
|
||||||
! if (!spell_iswordp_nmw(t))
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
--- 14537,14543 ----
|
|
||||||
else
|
|
||||||
{
|
|
||||||
did_white = FALSE;
|
|
||||||
! if (!spell_iswordp_nmw(t, curwin))
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
***************
|
|
||||||
*** 16045,16051 ****
|
|
||||||
for (p = line + startcol; p > line; )
|
|
||||||
{
|
|
||||||
mb_ptr_back(line, p);
|
|
||||||
! if (spell_iswordp_nmw(p))
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
--- 16061,16067 ----
|
|
||||||
for (p = line + startcol; p > line; )
|
|
||||||
{
|
|
||||||
mb_ptr_back(line, p);
|
|
||||||
! if (spell_iswordp_nmw(p, curwin))
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
*** ../vim-7.4.087/src/structs.h 2013-11-09 05:30:18.000000000 +0100
|
|
||||||
--- src/structs.h 2013-11-12 03:55:50.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 1310,1315 ****
|
|
||||||
--- 1310,1318 ----
|
|
||||||
regprog_T *b_cap_prog; /* program for 'spellcapcheck' */
|
|
||||||
char_u *b_p_spf; /* 'spellfile' */
|
|
||||||
char_u *b_p_spl; /* 'spelllang' */
|
|
||||||
+ # ifdef FEAT_MBYTE
|
|
||||||
+ int b_cjk; /* all CJK letters as OK */
|
|
||||||
+ # endif
|
|
||||||
#endif
|
|
||||||
#if !defined(FEAT_SYN_HL) && !defined(FEAT_SPELL)
|
|
||||||
int dummy;
|
|
||||||
*** ../vim-7.4.087/src/version.c 2013-11-11 23:17:31.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-12 03:59:03.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 88,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
THEOREM: VI is perfect.
|
|
||||||
PROOF: VI in roman numerals is 6. The natural numbers < 6 which divide 6 are
|
|
||||||
1, 2, and 3. 1+2+3 = 6. So 6 is a perfect number. Therefore, VI is perfect.
|
|
||||||
QED
|
|
||||||
-- Arthur Tateishi
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
47
7.4.089
47
7.4.089
@ -1,47 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.089
|
|
||||||
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.4.089
|
|
||||||
Problem: When editing a file in a directory mounted through sshfs Vim
|
|
||||||
doesn't set the security context on a renamed file.
|
|
||||||
Solution: Add mch_copy_sec() to vim_rename(). (Peter Backes)
|
|
||||||
Files: src/fileio.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.088/src/fileio.c 2013-08-30 17:06:56.000000000 +0200
|
|
||||||
--- src/fileio.c 2013-11-12 05:07:22.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 6707,6712 ****
|
|
||||||
--- 6707,6715 ----
|
|
||||||
mch_set_acl(to, acl);
|
|
||||||
mch_free_acl(acl);
|
|
||||||
#endif
|
|
||||||
+ #ifdef HAVE_SELINUX
|
|
||||||
+ mch_copy_sec(from, to)
|
|
||||||
+ #endif
|
|
||||||
if (errmsg != NULL)
|
|
||||||
{
|
|
||||||
EMSG2(errmsg, to);
|
|
||||||
*** ../vim-7.4.088/src/version.c 2013-11-12 04:43:57.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-12 05:11:02.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 89,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
Kiss me twice. I'm schizophrenic.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
223
7.4.090
223
7.4.090
@ -1,223 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.090
|
|
||||||
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.4.090
|
|
||||||
Problem: Win32: When a directory name contains an exclamation mark,
|
|
||||||
completion doesn't complete the contents of the directory.
|
|
||||||
Solution: Escape the exclamation mark. (Jan Stocker)
|
|
||||||
Files: src/ex_getln.c, src/testdir/test102.in, src/testdir/test102.ok
|
|
||||||
src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
|
|
||||||
src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
|
|
||||||
src/testdir/Make_vms.mms, src/testdir/Makefile
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.089/src/ex_getln.c 2013-11-09 05:30:18.000000000 +0100
|
|
||||||
--- src/ex_getln.c 2013-11-12 05:23:15.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 3852,3860 ****
|
|
||||||
char_u buf[20];
|
|
||||||
int j = 0;
|
|
||||||
|
|
||||||
! /* Don't escape '[' and '{' if they are in 'isfname'. */
|
|
||||||
for (p = PATH_ESC_CHARS; *p != NUL; ++p)
|
|
||||||
! if ((*p != '[' && *p != '{') || !vim_isfilec(*p))
|
|
||||||
buf[j++] = *p;
|
|
||||||
buf[j] = NUL;
|
|
||||||
p = vim_strsave_escaped(fname, buf);
|
|
||||||
--- 3852,3860 ----
|
|
||||||
char_u buf[20];
|
|
||||||
int j = 0;
|
|
||||||
|
|
||||||
! /* Don't escape '[', '{' and '!' if they are in 'isfname'. */
|
|
||||||
for (p = PATH_ESC_CHARS; *p != NUL; ++p)
|
|
||||||
! if ((*p != '[' && *p != '{' && *p != '!') || !vim_isfilec(*p))
|
|
||||||
buf[j++] = *p;
|
|
||||||
buf[j] = NUL;
|
|
||||||
p = vim_strsave_escaped(fname, buf);
|
|
||||||
*** ../vim-7.4.089/src/testdir/test102.in 2013-11-12 05:27:48.000000000 +0100
|
|
||||||
--- src/testdir/test102.in 2013-11-12 05:21:26.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 0 ****
|
|
||||||
--- 1,12 ----
|
|
||||||
+ Test if fnameescape is correct for special chars like !
|
|
||||||
+
|
|
||||||
+ STARTTEST
|
|
||||||
+ :%d
|
|
||||||
+ :let fname = 'Xspa ce'
|
|
||||||
+ :try | exe "w! " . fnameescape(fname) | put='Space' | endtry
|
|
||||||
+ :let fname = 'Xemark!'
|
|
||||||
+ :try | exe "w! " . fnameescape(fname) | put='ExclamationMark' | endtry
|
|
||||||
+ :w! test.out
|
|
||||||
+ :qa!
|
|
||||||
+ ENDTEST
|
|
||||||
+
|
|
||||||
*** ../vim-7.4.089/src/testdir/test102.ok 2013-11-12 05:27:48.000000000 +0100
|
|
||||||
--- src/testdir/test102.ok 2013-11-12 05:21:19.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 0 ****
|
|
||||||
--- 1,3 ----
|
|
||||||
+
|
|
||||||
+ Space
|
|
||||||
+ ExclamationMark
|
|
||||||
*** ../vim-7.4.089/src/testdir/Make_amiga.mak 2013-11-08 04:30:06.000000000 +0100
|
|
||||||
--- src/testdir/Make_amiga.mak 2013-11-12 05:20:03.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 34,40 ****
|
|
||||||
test81.out test82.out test83.out test84.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test97.out test98.out \
|
|
||||||
! test99.out test100.out test101.out
|
|
||||||
|
|
||||||
.SUFFIXES: .in .out
|
|
||||||
|
|
||||||
--- 34,40 ----
|
|
||||||
test81.out test82.out test83.out test84.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test97.out test98.out \
|
|
||||||
! test99.out test100.out test101.out test102.out
|
|
||||||
|
|
||||||
.SUFFIXES: .in .out
|
|
||||||
|
|
||||||
***************
|
|
||||||
*** 152,154 ****
|
|
||||||
--- 152,155 ----
|
|
||||||
test99.out: test99.in
|
|
||||||
test100.out: test100.in
|
|
||||||
test101.out: test101.in
|
|
||||||
+ test102.out: test102.in
|
|
||||||
*** ../vim-7.4.089/src/testdir/Make_dos.mak 2013-11-08 04:30:06.000000000 +0100
|
|
||||||
--- src/testdir/Make_dos.mak 2013-11-12 05:20:10.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 33,39 ****
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test98.out test99.out \
|
|
||||||
! test100.out test101.out
|
|
||||||
|
|
||||||
SCRIPTS32 = test50.out test70.out
|
|
||||||
|
|
||||||
--- 33,39 ----
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test98.out test99.out \
|
|
||||||
! test100.out test101.out test102.out
|
|
||||||
|
|
||||||
SCRIPTS32 = test50.out test70.out
|
|
||||||
|
|
||||||
*** ../vim-7.4.089/src/testdir/Make_ming.mak 2013-11-08 04:30:06.000000000 +0100
|
|
||||||
--- src/testdir/Make_ming.mak 2013-11-12 05:20:14.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 53,59 ****
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test98.out test99.out \
|
|
||||||
! test100out test101.out
|
|
||||||
|
|
||||||
SCRIPTS32 = test50.out test70.out
|
|
||||||
|
|
||||||
--- 53,59 ----
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test98.out test99.out \
|
|
||||||
! test100out test101.out test102.out
|
|
||||||
|
|
||||||
SCRIPTS32 = test50.out test70.out
|
|
||||||
|
|
||||||
*** ../vim-7.4.089/src/testdir/Make_os2.mak 2013-11-08 04:30:06.000000000 +0100
|
|
||||||
--- src/testdir/Make_os2.mak 2013-11-12 05:20:18.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 35,41 ****
|
|
||||||
test81.out test82.out test83.out test84.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test98.out test99.out \
|
|
||||||
! test100.out test101.out
|
|
||||||
|
|
||||||
.SUFFIXES: .in .out
|
|
||||||
|
|
||||||
--- 35,41 ----
|
|
||||||
test81.out test82.out test83.out test84.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test98.out test99.out \
|
|
||||||
! test100.out test101.out test102.out
|
|
||||||
|
|
||||||
.SUFFIXES: .in .out
|
|
||||||
|
|
||||||
*** ../vim-7.4.089/src/testdir/Make_vms.mms 2013-11-08 04:30:06.000000000 +0100
|
|
||||||
--- src/testdir/Make_vms.mms 2013-11-12 05:20:21.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 4,10 ****
|
|
||||||
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
|
|
||||||
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
|
|
||||||
#
|
|
||||||
! # Last change: 2013 Nov 08
|
|
||||||
#
|
|
||||||
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
|
|
||||||
# Edit the lines in the Configuration section below to select.
|
|
||||||
--- 4,10 ----
|
|
||||||
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
|
|
||||||
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
|
|
||||||
#
|
|
||||||
! # Last change: 2013 Nov 12
|
|
||||||
#
|
|
||||||
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
|
|
||||||
# Edit the lines in the Configuration section below to select.
|
|
||||||
***************
|
|
||||||
*** 79,85 ****
|
|
||||||
test82.out test83.out test84.out test88.out test89.out \
|
|
||||||
test90.out test91.out test92.out test93.out test94.out \
|
|
||||||
test95.out test96.out test97.out test98.out test99.out \
|
|
||||||
! test100.out test101.out
|
|
||||||
|
|
||||||
# Known problems:
|
|
||||||
# Test 30: a problem around mac format - unknown reason
|
|
||||||
--- 79,85 ----
|
|
||||||
test82.out test83.out test84.out test88.out test89.out \
|
|
||||||
test90.out test91.out test92.out test93.out test94.out \
|
|
||||||
test95.out test96.out test97.out test98.out test99.out \
|
|
||||||
! test100.out test101.out test102.out
|
|
||||||
|
|
||||||
# Known problems:
|
|
||||||
# Test 30: a problem around mac format - unknown reason
|
|
||||||
*** ../vim-7.4.089/src/testdir/Makefile 2013-11-08 04:30:06.000000000 +0100
|
|
||||||
--- src/testdir/Makefile 2013-11-12 05:20:32.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 30,36 ****
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test97.out test98.out \
|
|
||||||
! test99.out test100.out test101.out
|
|
||||||
|
|
||||||
SCRIPTS_GUI = test16.out
|
|
||||||
|
|
||||||
--- 30,36 ----
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test97.out test98.out \
|
|
||||||
! test99.out test100.out test101.out test102.out
|
|
||||||
|
|
||||||
SCRIPTS_GUI = test16.out
|
|
||||||
|
|
||||||
*** ../vim-7.4.089/src/version.c 2013-11-12 05:11:58.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-12 05:24:24.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 90,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
If you don't get everything you want, think of
|
|
||||||
everything you didn't get and don't want.
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
59
7.4.091
59
7.4.091
@ -1,59 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.091
|
|
||||||
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.4.091 (after 7.4.089)
|
|
||||||
Problem: Missing semicolon.
|
|
||||||
Solution: Add the semicolon.
|
|
||||||
Files: src/fileio.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.090/src/fileio.c 2013-11-12 05:11:58.000000000 +0100
|
|
||||||
--- src/fileio.c 2013-11-12 18:07:47.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 6708,6714 ****
|
|
||||||
mch_free_acl(acl);
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_SELINUX
|
|
||||||
! mch_copy_sec(from, to)
|
|
||||||
#endif
|
|
||||||
if (errmsg != NULL)
|
|
||||||
{
|
|
||||||
--- 6708,6714 ----
|
|
||||||
mch_free_acl(acl);
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_SELINUX
|
|
||||||
! mch_copy_sec(from, to);
|
|
||||||
#endif
|
|
||||||
if (errmsg != NULL)
|
|
||||||
{
|
|
||||||
*** ../vim-7.4.090/src/version.c 2013-11-12 05:28:08.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-12 18:08:33.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 91,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
CART DRIVER: Bring out your dead!
|
|
||||||
We follow the cart through a wretched, impoverished plague-ridden village.
|
|
||||||
A few starved mongrels run about in the mud scavenging. In the open
|
|
||||||
doorway of one house perhaps we jug glimpse a pair of legs dangling from
|
|
||||||
the ceiling. In another doorway an OLD WOMAN is beating a cat against a
|
|
||||||
wall rather like one does with a mat. The cart passes round a dead donkey
|
|
||||||
or cow in the mud. And a MAN tied to a cart is being hammered to death by
|
|
||||||
four NUNS with huge mallets.
|
|
||||||
"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/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
62
7.4.092
62
7.4.092
@ -1,62 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.092
|
|
||||||
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.4.092 (after 7.4.088)
|
|
||||||
Problem: Can't build small version.
|
|
||||||
Solution: Add #ifdef where the b_cjk flag is used. (Ken Takata)
|
|
||||||
Files: src/spell.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.091/src/spell.c 2013-11-12 04:43:57.000000000 +0100
|
|
||||||
--- src/spell.c 2013-11-14 03:51:24.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 4234,4240 ****
|
|
||||||
--- 4234,4242 ----
|
|
||||||
if (spl_copy == NULL)
|
|
||||||
goto theend;
|
|
||||||
|
|
||||||
+ #ifdef FEAT_MBYTE
|
|
||||||
wp->w_s->b_cjk = 0;
|
|
||||||
+ #endif
|
|
||||||
|
|
||||||
/* Loop over comma separated language names. */
|
|
||||||
for (splp = spl_copy; *splp != NUL; )
|
|
||||||
***************
|
|
||||||
*** 4246,4252 ****
|
|
||||||
--- 4248,4256 ----
|
|
||||||
|
|
||||||
if (STRCMP(lang, "cjk") == 0)
|
|
||||||
{
|
|
||||||
+ #ifdef FEAT_MBYTE
|
|
||||||
wp->w_s->b_cjk = 1;
|
|
||||||
+ #endif
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
*** ../vim-7.4.091/src/version.c 2013-11-12 18:09:20.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-14 03:52:18.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 92,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
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/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
72
7.4.093
72
7.4.093
@ -1,72 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.093
|
|
||||||
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.4.093
|
|
||||||
Problem: Configure can't use LuaJIT on ubuntu 12.04.
|
|
||||||
Solution: Adjust the configure regexp that locates the version number.
|
|
||||||
(Charles Strahan)
|
|
||||||
Files: src/configure.in, src/auto/configure
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.092/src/configure.in 2013-11-04 04:57:46.000000000 +0100
|
|
||||||
--- src/configure.in 2013-11-17 20:12:04.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 496,502 ****
|
|
||||||
if test "X$vi_cv_path_luajit" != "X"; then
|
|
||||||
dnl -- find LuaJIT version
|
|
||||||
AC_CACHE_CHECK(LuaJIT version, vi_cv_version_luajit,
|
|
||||||
! [ vi_cv_version_luajit=`${vi_cv_path_luajit} -v | sed 's/LuaJIT \([[0-9.]]*\)\.[[0-9]] .*/\1/'` ])
|
|
||||||
AC_CACHE_CHECK(Lua version of LuaJIT, vi_cv_version_lua_luajit,
|
|
||||||
[ vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'` ])
|
|
||||||
vi_cv_path_lua="$vi_cv_path_luajit"
|
|
||||||
--- 496,502 ----
|
|
||||||
if test "X$vi_cv_path_luajit" != "X"; then
|
|
||||||
dnl -- find LuaJIT version
|
|
||||||
AC_CACHE_CHECK(LuaJIT version, vi_cv_version_luajit,
|
|
||||||
! [ vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([[0-9.]]*\)\.[[0-9]]\(-[[a-z0-9]]\+\)\? .*/\1/'` ])
|
|
||||||
AC_CACHE_CHECK(Lua version of LuaJIT, vi_cv_version_lua_luajit,
|
|
||||||
[ vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'` ])
|
|
||||||
vi_cv_path_lua="$vi_cv_path_luajit"
|
|
||||||
*** ../vim-7.4.092/src/auto/configure 2013-11-04 04:57:46.000000000 +0100
|
|
||||||
--- src/auto/configure 2013-11-17 20:13:30.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 4743,4749 ****
|
|
||||||
if test "${vi_cv_version_luajit+set}" = set; then :
|
|
||||||
$as_echo_n "(cached) " >&6
|
|
||||||
else
|
|
||||||
! vi_cv_version_luajit=`${vi_cv_path_luajit} -v | sed 's/LuaJIT \([0-9.]*\)\.[0-9] .*/\1/'`
|
|
||||||
fi
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_version_luajit" >&5
|
|
||||||
$as_echo "$vi_cv_version_luajit" >&6; }
|
|
||||||
--- 4743,4749 ----
|
|
||||||
if test "${vi_cv_version_luajit+set}" = set; then :
|
|
||||||
$as_echo_n "(cached) " >&6
|
|
||||||
else
|
|
||||||
! vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([0-9.]*\)\.[0-9]\(-[a-z0-9]\+\)\? .*/\1/'`
|
|
||||||
fi
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_version_luajit" >&5
|
|
||||||
$as_echo "$vi_cv_version_luajit" >&6; }
|
|
||||||
*** ../vim-7.4.092/src/version.c 2013-11-14 03:54:02.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-17 20:13:43.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 93,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
"Beware of bugs in the above code; I have only proved
|
|
||||||
it correct, not tried it." -- Donald Knuth
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
139
7.4.094
139
7.4.094
@ -1,139 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.094
|
|
||||||
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.4.094
|
|
||||||
Problem: Configure may not find that -lint is needed for gettext().
|
|
||||||
Solution: Check for gettext() with empty $LIBS. (Thomas De Schampheleire)
|
|
||||||
Files: src/configure.in, src/auto/configure
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.093/src/configure.in 2013-11-17 20:17:05.000000000 +0100
|
|
||||||
--- src/configure.in 2013-11-17 20:23:49.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 3725,3730 ****
|
|
||||||
--- 3725,3733 ----
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl Check if gettext() is working and if it needs -lintl
|
|
||||||
+ dnl We take care to base this on an empty LIBS: on some systems libelf would be
|
|
||||||
+ dnl in LIBS and implicitly take along libintl. The final LIBS would then not
|
|
||||||
+ dnl contain libintl, and the link step would fail due to -Wl,--as-needed.
|
|
||||||
AC_MSG_CHECKING(--disable-nls argument)
|
|
||||||
AC_ARG_ENABLE(nls,
|
|
||||||
[ --disable-nls Don't support NLS (gettext()).], ,
|
|
||||||
***************
|
|
||||||
*** 3743,3758 ****
|
|
||||||
if test -f po/Makefile; then
|
|
||||||
have_gettext="no"
|
|
||||||
if test -n "$MSGFMT"; then
|
|
||||||
AC_TRY_LINK(
|
|
||||||
[#include <libintl.h>],
|
|
||||||
[gettext("Test");],
|
|
||||||
! AC_MSG_RESULT([gettext() works]); have_gettext="yes",
|
|
||||||
! olibs=$LIBS
|
|
||||||
! LIBS="$LIBS -lintl"
|
|
||||||
AC_TRY_LINK(
|
|
||||||
[#include <libintl.h>],
|
|
||||||
[gettext("Test");],
|
|
||||||
! AC_MSG_RESULT([gettext() works with -lintl]); have_gettext="yes",
|
|
||||||
AC_MSG_RESULT([gettext() doesn't work]);
|
|
||||||
LIBS=$olibs))
|
|
||||||
else
|
|
||||||
--- 3746,3763 ----
|
|
||||||
if test -f po/Makefile; then
|
|
||||||
have_gettext="no"
|
|
||||||
if test -n "$MSGFMT"; then
|
|
||||||
+ olibs=$LIBS
|
|
||||||
+ LIBS=""
|
|
||||||
AC_TRY_LINK(
|
|
||||||
[#include <libintl.h>],
|
|
||||||
[gettext("Test");],
|
|
||||||
! AC_MSG_RESULT([gettext() works]); have_gettext="yes"; LIBS=$olibs,
|
|
||||||
! LIBS="-lintl"
|
|
||||||
AC_TRY_LINK(
|
|
||||||
[#include <libintl.h>],
|
|
||||||
[gettext("Test");],
|
|
||||||
! AC_MSG_RESULT([gettext() works with -lintl]); have_gettext="yes";
|
|
||||||
! LIBS="$olibs -lintl",
|
|
||||||
AC_MSG_RESULT([gettext() doesn't work]);
|
|
||||||
LIBS=$olibs))
|
|
||||||
else
|
|
||||||
*** ../vim-7.4.093/src/auto/configure 2013-11-17 20:17:05.000000000 +0100
|
|
||||||
--- src/auto/configure 2013-11-17 20:25:13.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 12690,12695 ****
|
|
||||||
--- 12690,12697 ----
|
|
||||||
if test -f po/Makefile; then
|
|
||||||
have_gettext="no"
|
|
||||||
if test -n "$MSGFMT"; then
|
|
||||||
+ olibs=$LIBS
|
|
||||||
+ LIBS=""
|
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
/* end confdefs.h. */
|
|
||||||
#include <libintl.h>
|
|
||||||
***************
|
|
||||||
*** 12703,12712 ****
|
|
||||||
_ACEOF
|
|
||||||
if ac_fn_c_try_link "$LINENO"; then :
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() works" >&5
|
|
||||||
! $as_echo "gettext() works" >&6; }; have_gettext="yes"
|
|
||||||
else
|
|
||||||
! olibs=$LIBS
|
|
||||||
! LIBS="$LIBS -lintl"
|
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
/* end confdefs.h. */
|
|
||||||
#include <libintl.h>
|
|
||||||
--- 12705,12713 ----
|
|
||||||
_ACEOF
|
|
||||||
if ac_fn_c_try_link "$LINENO"; then :
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() works" >&5
|
|
||||||
! $as_echo "gettext() works" >&6; }; have_gettext="yes"; LIBS=$olibs
|
|
||||||
else
|
|
||||||
! LIBS="-lintl"
|
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
/* end confdefs.h. */
|
|
||||||
#include <libintl.h>
|
|
||||||
***************
|
|
||||||
*** 12720,12726 ****
|
|
||||||
_ACEOF
|
|
||||||
if ac_fn_c_try_link "$LINENO"; then :
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() works with -lintl" >&5
|
|
||||||
! $as_echo "gettext() works with -lintl" >&6; }; have_gettext="yes"
|
|
||||||
else
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() doesn't work" >&5
|
|
||||||
$as_echo "gettext() doesn't work" >&6; };
|
|
||||||
--- 12721,12728 ----
|
|
||||||
_ACEOF
|
|
||||||
if ac_fn_c_try_link "$LINENO"; then :
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() works with -lintl" >&5
|
|
||||||
! $as_echo "gettext() works with -lintl" >&6; }; have_gettext="yes";
|
|
||||||
! LIBS="$olibs -lintl"
|
|
||||||
else
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() doesn't work" >&5
|
|
||||||
$as_echo "gettext() doesn't work" >&6; };
|
|
||||||
*** ../vim-7.4.093/src/version.c 2013-11-17 20:17:05.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-17 20:27:43.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 94,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
BLACK KNIGHT: The Black Knight always triumphs. Have at you!
|
|
||||||
ARTHUR takes his last leg off. The BLACK KNIGHT's body lands upright.
|
|
||||||
BLACK KNIGHT: All right, we'll call it a draw.
|
|
||||||
"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/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
73
7.4.095
73
7.4.095
@ -1,73 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.095
|
|
||||||
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.4.095 (after 7.4.093)
|
|
||||||
Problem: Regexp for LuaJIT version doesn't work on BSD.
|
|
||||||
Solution: Use "*" instead of "\+" and "\?". (Ozaki)
|
|
||||||
Files: src/configure.in, src/auto/configure
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.094/src/configure.in 2013-11-17 20:32:49.000000000 +0100
|
|
||||||
--- src/configure.in 2013-11-21 12:04:46.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 496,502 ****
|
|
||||||
if test "X$vi_cv_path_luajit" != "X"; then
|
|
||||||
dnl -- find LuaJIT version
|
|
||||||
AC_CACHE_CHECK(LuaJIT version, vi_cv_version_luajit,
|
|
||||||
! [ vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([[0-9.]]*\)\.[[0-9]]\(-[[a-z0-9]]\+\)\? .*/\1/'` ])
|
|
||||||
AC_CACHE_CHECK(Lua version of LuaJIT, vi_cv_version_lua_luajit,
|
|
||||||
[ vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'` ])
|
|
||||||
vi_cv_path_lua="$vi_cv_path_luajit"
|
|
||||||
--- 496,502 ----
|
|
||||||
if test "X$vi_cv_path_luajit" != "X"; then
|
|
||||||
dnl -- find LuaJIT version
|
|
||||||
AC_CACHE_CHECK(LuaJIT version, vi_cv_version_luajit,
|
|
||||||
! [ vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([[0-9.]]*\)\.[[0-9]]\(-[[a-z0-9]]*\)* .*/\1/'` ])
|
|
||||||
AC_CACHE_CHECK(Lua version of LuaJIT, vi_cv_version_lua_luajit,
|
|
||||||
[ vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'` ])
|
|
||||||
vi_cv_path_lua="$vi_cv_path_luajit"
|
|
||||||
*** ../vim-7.4.094/src/auto/configure 2013-11-17 20:32:49.000000000 +0100
|
|
||||||
--- src/auto/configure 2013-11-21 12:07:39.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 4743,4749 ****
|
|
||||||
if test "${vi_cv_version_luajit+set}" = set; then :
|
|
||||||
$as_echo_n "(cached) " >&6
|
|
||||||
else
|
|
||||||
! vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([0-9.]*\)\.[0-9]\(-[a-z0-9]\+\)\? .*/\1/'`
|
|
||||||
fi
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_version_luajit" >&5
|
|
||||||
$as_echo "$vi_cv_version_luajit" >&6; }
|
|
||||||
--- 4743,4749 ----
|
|
||||||
if test "${vi_cv_version_luajit+set}" = set; then :
|
|
||||||
$as_echo_n "(cached) " >&6
|
|
||||||
else
|
|
||||||
! vi_cv_version_luajit=`${vi_cv_path_luajit} -v 2>&1 | sed 's/LuaJIT \([0-9.]*\)\.[0-9]\(-[a-z0-9]*\)* .*/\1/'`
|
|
||||||
fi
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_version_luajit" >&5
|
|
||||||
$as_echo "$vi_cv_version_luajit" >&6; }
|
|
||||||
*** ../vim-7.4.094/src/version.c 2013-11-17 20:32:49.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-21 12:06:26.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 95,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
Our job was to build a computer information system for the branch banks. We
|
|
||||||
were the perfect people for the job: Dean had seen a computer once, and I had
|
|
||||||
heard Dean talk about it.
|
|
||||||
(Scott Adams - The Dilbert principle)
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
96
7.4.096
96
7.4.096
@ -1,96 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.096
|
|
||||||
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.4.096
|
|
||||||
Problem: Can't change directory to an UNC path.
|
|
||||||
Solution: Use win32_getattrs() in mch_getperm(). (Christian Brabandt)
|
|
||||||
Files: src/os_win32.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.095/src/os_win32.c 2013-09-25 19:13:32.000000000 +0200
|
|
||||||
--- src/os_win32.c 2013-11-21 12:31:52.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 2841,2858 ****
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
! * get file permissions for `name'
|
|
||||||
! * -1 : error
|
|
||||||
! * else mode_t
|
|
||||||
*/
|
|
||||||
long
|
|
||||||
mch_getperm(char_u *name)
|
|
||||||
{
|
|
||||||
struct stat st;
|
|
||||||
! int n;
|
|
||||||
|
|
||||||
n = mch_stat(name, &st);
|
|
||||||
! return n == 0 ? (int)st.st_mode : -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
--- 2841,2860 ----
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
! * Get file permissions for "name".
|
|
||||||
! * Return mode_t or -1 for error.
|
|
||||||
*/
|
|
||||||
long
|
|
||||||
mch_getperm(char_u *name)
|
|
||||||
{
|
|
||||||
struct stat st;
|
|
||||||
! int n;
|
|
||||||
|
|
||||||
+ if (name[0] == '\\' && name[1] == '\\')
|
|
||||||
+ /* UNC path */
|
|
||||||
+ return (long)win32_getattrs(name);
|
|
||||||
n = mch_stat(name, &st);
|
|
||||||
! return n == 0 ? (long)st.st_mode : -1L;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
***************
|
|
||||||
*** 3094,3101 ****
|
|
||||||
* -1 : error
|
|
||||||
* else FILE_ATTRIBUTE_* defined in winnt.h
|
|
||||||
*/
|
|
||||||
! static
|
|
||||||
! int
|
|
||||||
win32_getattrs(char_u *name)
|
|
||||||
{
|
|
||||||
int attr;
|
|
||||||
--- 3096,3102 ----
|
|
||||||
* -1 : error
|
|
||||||
* else FILE_ATTRIBUTE_* defined in winnt.h
|
|
||||||
*/
|
|
||||||
! static int
|
|
||||||
win32_getattrs(char_u *name)
|
|
||||||
{
|
|
||||||
int attr;
|
|
||||||
*** ../vim-7.4.095/src/version.c 2013-11-21 12:17:46.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-21 12:32:46.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 96,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
If your company is not involved in something called "ISO 9000" you probably
|
|
||||||
have no idea what it is. If your company _is_ involved in ISO 9000 then you
|
|
||||||
definitely have no idea what it is.
|
|
||||||
(Scott Adams - The Dilbert principle)
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
50
7.4.097
50
7.4.097
@ -1,50 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.097
|
|
||||||
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.4.097 (after 7.4.034)
|
|
||||||
Problem: Unexpected behavior change related to 'virtualedit'. (Ingo Karkat)
|
|
||||||
Solution: Update the valid cursor position. (Christian Brabandt)
|
|
||||||
Files: src/ops.c
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.096/src/ops.c 2013-11-11 23:17:31.000000000 +0100
|
|
||||||
--- src/ops.c 2013-11-21 13:21:24.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 3844,3850 ****
|
|
||||||
--- 3844,3854 ----
|
|
||||||
ml_replace(lnum, newp, FALSE);
|
|
||||||
/* Place cursor on last putted char. */
|
|
||||||
if (lnum == curwin->w_cursor.lnum)
|
|
||||||
+ {
|
|
||||||
+ /* make sure curwin->w_virtcol is updated */
|
|
||||||
+ changed_cline_bef_curs();
|
|
||||||
curwin->w_cursor.col += (colnr_T)(totlen - 1);
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
#ifdef FEAT_VISUAL
|
|
||||||
if (VIsual_active)
|
|
||||||
*** ../vim-7.4.096/src/version.c 2013-11-21 12:34:07.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-21 13:08:27.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 97,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
The only way the average employee can speak to an executive is by taking a
|
|
||||||
second job as a golf caddie.
|
|
||||||
(Scott Adams - The Dilbert principle)
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
243
7.4.098
243
7.4.098
@ -1,243 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.098
|
|
||||||
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.4.098
|
|
||||||
Problem: When using ":'<,'>del" errors may be given for the visual line
|
|
||||||
numbers being out of range.
|
|
||||||
Solution: Reset Visual mode in ":del". (Lech Lorens)
|
|
||||||
Files: src/ex_docmd.c, src/testdir/test103.in, src/testdir/test103.ok,
|
|
||||||
src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
|
|
||||||
src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
|
|
||||||
src/testdir/Make_vms.mms, src/testdir/Makefile
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.097/src/ex_docmd.c 2013-11-09 05:30:18.000000000 +0100
|
|
||||||
--- src/ex_docmd.c 2013-11-21 14:04:55.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 8570,8575 ****
|
|
||||||
--- 8570,8580 ----
|
|
||||||
beginline(BL_SOL | BL_FIX);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ #if defined(FEAT_VISUAL)
|
|
||||||
+ if (VIsual_active)
|
|
||||||
+ end_visual_mode();
|
|
||||||
+ #endif
|
|
||||||
+
|
|
||||||
switch (eap->cmdidx)
|
|
||||||
{
|
|
||||||
case CMD_delete:
|
|
||||||
*** ../vim-7.4.097/src/testdir/test103.in 2013-11-21 14:21:12.000000000 +0100
|
|
||||||
--- src/testdir/test103.in 2013-11-21 14:02:09.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 0 ****
|
|
||||||
--- 1,37 ----
|
|
||||||
+ Test for visual mode not being reset causing E315 error.
|
|
||||||
+ STARTTEST
|
|
||||||
+ :so small.vim
|
|
||||||
+ :enew
|
|
||||||
+ :let g:msg="Everything's fine."
|
|
||||||
+ :function! TriggerTheProblem()
|
|
||||||
+ : " At this point there is no visual selection because :call reset it.
|
|
||||||
+ : " Let's restore the selection:
|
|
||||||
+ : normal gv
|
|
||||||
+ : '<,'>del _
|
|
||||||
+ : try
|
|
||||||
+ : exe "normal \<Esc>"
|
|
||||||
+ : catch /^Vim\%((\a\+)\)\=:E315/
|
|
||||||
+ : echom 'Snap! E315 error!'
|
|
||||||
+ : let g:msg='Snap! E315 error!'
|
|
||||||
+ : endtry
|
|
||||||
+ :endfunction
|
|
||||||
+ :enew
|
|
||||||
+ :setl buftype=nofile
|
|
||||||
+ :call append(line('$'), 'Delete this line.')
|
|
||||||
+ :"
|
|
||||||
+ :"
|
|
||||||
+ :" NOTE: this has to be done by a call to a function because executing :del the
|
|
||||||
+ :" ex-way will require the colon operator which resets the visual mode thus
|
|
||||||
+ :" preventing the problem:
|
|
||||||
+ :"
|
|
||||||
+ GV:call TriggerTheProblem()
|
|
||||||
+ :%del _
|
|
||||||
+ :call append(line('$'), g:msg)
|
|
||||||
+ :w! test.out
|
|
||||||
+ :brewind
|
|
||||||
+ ENDTEST
|
|
||||||
+
|
|
||||||
+ STARTTEST
|
|
||||||
+ :qa!
|
|
||||||
+ ENDTEST
|
|
||||||
+
|
|
||||||
*** ../vim-7.4.097/src/testdir/test103.ok 2013-11-21 14:21:12.000000000 +0100
|
|
||||||
--- src/testdir/test103.ok 2013-11-21 14:02:28.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 0 ****
|
|
||||||
--- 1,2 ----
|
|
||||||
+
|
|
||||||
+ Everything's fine.
|
|
||||||
*** ../vim-7.4.097/src/testdir/Make_amiga.mak 2013-11-12 05:28:08.000000000 +0100
|
|
||||||
--- src/testdir/Make_amiga.mak 2013-11-21 14:02:51.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 34,40 ****
|
|
||||||
test81.out test82.out test83.out test84.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test97.out test98.out \
|
|
||||||
! test99.out test100.out test101.out test102.out
|
|
||||||
|
|
||||||
.SUFFIXES: .in .out
|
|
||||||
|
|
||||||
--- 34,40 ----
|
|
||||||
test81.out test82.out test83.out test84.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test97.out test98.out \
|
|
||||||
! test99.out test100.out test101.out test102.out test103.out
|
|
||||||
|
|
||||||
.SUFFIXES: .in .out
|
|
||||||
|
|
||||||
***************
|
|
||||||
*** 153,155 ****
|
|
||||||
--- 153,156 ----
|
|
||||||
test100.out: test100.in
|
|
||||||
test101.out: test101.in
|
|
||||||
test102.out: test102.in
|
|
||||||
+ test103.out: test103.in
|
|
||||||
*** ../vim-7.4.097/src/testdir/Make_dos.mak 2013-11-12 05:28:08.000000000 +0100
|
|
||||||
--- src/testdir/Make_dos.mak 2013-11-21 14:02:58.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 33,39 ****
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test98.out test99.out \
|
|
||||||
! test100.out test101.out test102.out
|
|
||||||
|
|
||||||
SCRIPTS32 = test50.out test70.out
|
|
||||||
|
|
||||||
--- 33,39 ----
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test98.out test99.out \
|
|
||||||
! test100.out test101.out test102.out test103.out
|
|
||||||
|
|
||||||
SCRIPTS32 = test50.out test70.out
|
|
||||||
|
|
||||||
*** ../vim-7.4.097/src/testdir/Make_ming.mak 2013-11-12 05:28:08.000000000 +0100
|
|
||||||
--- src/testdir/Make_ming.mak 2013-11-21 14:03:01.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 53,59 ****
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test98.out test99.out \
|
|
||||||
! test100out test101.out test102.out
|
|
||||||
|
|
||||||
SCRIPTS32 = test50.out test70.out
|
|
||||||
|
|
||||||
--- 53,59 ----
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test98.out test99.out \
|
|
||||||
! test100out test101.out test102.out test103.out
|
|
||||||
|
|
||||||
SCRIPTS32 = test50.out test70.out
|
|
||||||
|
|
||||||
*** ../vim-7.4.097/src/testdir/Make_os2.mak 2013-11-12 05:28:08.000000000 +0100
|
|
||||||
--- src/testdir/Make_os2.mak 2013-11-21 14:03:03.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 35,41 ****
|
|
||||||
test81.out test82.out test83.out test84.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test98.out test99.out \
|
|
||||||
! test100.out test101.out test102.out
|
|
||||||
|
|
||||||
.SUFFIXES: .in .out
|
|
||||||
|
|
||||||
--- 35,41 ----
|
|
||||||
test81.out test82.out test83.out test84.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test98.out test99.out \
|
|
||||||
! test100.out test101.out test102.out test103.out
|
|
||||||
|
|
||||||
.SUFFIXES: .in .out
|
|
||||||
|
|
||||||
*** ../vim-7.4.097/src/testdir/Make_vms.mms 2013-11-12 05:28:08.000000000 +0100
|
|
||||||
--- src/testdir/Make_vms.mms 2013-11-21 14:03:13.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 4,10 ****
|
|
||||||
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
|
|
||||||
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
|
|
||||||
#
|
|
||||||
! # Last change: 2013 Nov 12
|
|
||||||
#
|
|
||||||
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
|
|
||||||
# Edit the lines in the Configuration section below to select.
|
|
||||||
--- 4,10 ----
|
|
||||||
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
|
|
||||||
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
|
|
||||||
#
|
|
||||||
! # Last change: 2013 Nov 21
|
|
||||||
#
|
|
||||||
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
|
|
||||||
# Edit the lines in the Configuration section below to select.
|
|
||||||
***************
|
|
||||||
*** 79,85 ****
|
|
||||||
test82.out test83.out test84.out test88.out test89.out \
|
|
||||||
test90.out test91.out test92.out test93.out test94.out \
|
|
||||||
test95.out test96.out test97.out test98.out test99.out \
|
|
||||||
! test100.out test101.out test102.out
|
|
||||||
|
|
||||||
# Known problems:
|
|
||||||
# Test 30: a problem around mac format - unknown reason
|
|
||||||
--- 79,85 ----
|
|
||||||
test82.out test83.out test84.out test88.out test89.out \
|
|
||||||
test90.out test91.out test92.out test93.out test94.out \
|
|
||||||
test95.out test96.out test97.out test98.out test99.out \
|
|
||||||
! test100.out test101.out test102.out test103.out
|
|
||||||
|
|
||||||
# Known problems:
|
|
||||||
# Test 30: a problem around mac format - unknown reason
|
|
||||||
*** ../vim-7.4.097/src/testdir/Makefile 2013-11-12 05:28:08.000000000 +0100
|
|
||||||
--- src/testdir/Makefile 2013-11-21 14:03:23.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 30,36 ****
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test97.out test98.out \
|
|
||||||
! test99.out test100.out test101.out test102.out
|
|
||||||
|
|
||||||
SCRIPTS_GUI = test16.out
|
|
||||||
|
|
||||||
--- 30,36 ----
|
|
||||||
test84.out test85.out test86.out test87.out test88.out \
|
|
||||||
test89.out test90.out test91.out test92.out test93.out \
|
|
||||||
test94.out test95.out test96.out test97.out test98.out \
|
|
||||||
! test99.out test100.out test101.out test102.out test103.out
|
|
||||||
|
|
||||||
SCRIPTS_GUI = test16.out
|
|
||||||
|
|
||||||
*** ../vim-7.4.097/src/version.c 2013-11-21 13:24:36.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-21 14:20:34.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 98,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
I recommend ordering large cargo containers of paper towels to make up
|
|
||||||
whatever budget underruns you have. Paper products are always useful and they
|
|
||||||
have the advantage of being completely flushable if you need to make room in
|
|
||||||
the storage area later.
|
|
||||||
(Scott Adams - The Dilbert principle)
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
113
7.4.099
113
7.4.099
@ -1,113 +0,0 @@
|
|||||||
To: vim_dev@googlegroups.com
|
|
||||||
Subject: Patch 7.4.099
|
|
||||||
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.4.099
|
|
||||||
Problem: Append in blockwise Visual mode with "$" is wrong.
|
|
||||||
Solution: After "$" don't use the code that checks if the cursor was moved.
|
|
||||||
(Hirohito Higashi, Ken Takata)
|
|
||||||
Files: src/ops.c, src/testdir/test39.in, src/testdir/test39.ok
|
|
||||||
|
|
||||||
|
|
||||||
*** ../vim-7.4.098/src/ops.c 2013-11-21 13:24:36.000000000 +0100
|
|
||||||
--- src/ops.c 2013-11-21 14:33:57.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 2643,2649 ****
|
|
||||||
|
|
||||||
/* The user may have moved the cursor before inserting something, try
|
|
||||||
* to adjust the block for that. */
|
|
||||||
! if (oap->start.lnum == curbuf->b_op_start.lnum)
|
|
||||||
{
|
|
||||||
if (oap->op_type == OP_INSERT
|
|
||||||
&& oap->start.col != curbuf->b_op_start.col)
|
|
||||||
--- 2643,2649 ----
|
|
||||||
|
|
||||||
/* The user may have moved the cursor before inserting something, try
|
|
||||||
* to adjust the block for that. */
|
|
||||||
! if (oap->start.lnum == curbuf->b_op_start.lnum && !bd.is_MAX)
|
|
||||||
{
|
|
||||||
if (oap->op_type == OP_INSERT
|
|
||||||
&& oap->start.col != curbuf->b_op_start.col)
|
|
||||||
*** ../vim-7.4.098/src/testdir/test39.in 2013-11-11 01:29:16.000000000 +0100
|
|
||||||
--- src/testdir/test39.in 2013-11-21 14:25:55.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 23,28 ****
|
|
||||||
--- 23,40 ----
|
|
||||||
/^aaaa/
|
|
||||||
:exe ":norm! l\<C-V>jjjlllI\<Right>\<Right> \<Esc>"
|
|
||||||
:/^aa/,/^$/w >> test.out
|
|
||||||
+ :" Test for Visual block was created with the last <C-v>$
|
|
||||||
+ /^A23$/
|
|
||||||
+ :exe ":norm! l\<C-V>j$Aab\<Esc>"
|
|
||||||
+ :.,/^$/w >> test.out
|
|
||||||
+ :" Test for Visual block was created with the middle <C-v>$ (1)
|
|
||||||
+ /^B23$/
|
|
||||||
+ :exe ":norm! l\<C-V>j$hAab\<Esc>"
|
|
||||||
+ :.,/^$/w >> test.out
|
|
||||||
+ :" Test for Visual block was created with the middle <C-v>$ (2)
|
|
||||||
+ /^C23$/
|
|
||||||
+ :exe ":norm! l\<C-V>j$hhAab\<Esc>"
|
|
||||||
+ :.,/^$/w >> test.out
|
|
||||||
:" gUe must uppercase a whole word, also when ß changes to SS
|
|
||||||
Gothe youtußeuu endYpk0wgUe
|
|
||||||
:" gUfx must uppercase until x, inclusive.
|
|
||||||
***************
|
|
||||||
*** 49,54 ****
|
|
||||||
--- 61,75 ----
|
|
||||||
cccccc
|
|
||||||
dddddd
|
|
||||||
|
|
||||||
+ A23
|
|
||||||
+ 4567
|
|
||||||
+
|
|
||||||
+ B23
|
|
||||||
+ 4567
|
|
||||||
+
|
|
||||||
+ C23
|
|
||||||
+ 4567
|
|
||||||
+
|
|
||||||
abcdefghijklm
|
|
||||||
abcdefghijklm
|
|
||||||
abcdefghijklm
|
|
||||||
*** ../vim-7.4.098/src/testdir/test39.ok 2013-11-11 01:29:16.000000000 +0100
|
|
||||||
--- src/testdir/test39.ok 2013-11-21 14:25:10.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 8,13 ****
|
|
||||||
--- 8,22 ----
|
|
||||||
ccc ccc
|
|
||||||
ddd ddd
|
|
||||||
|
|
||||||
+ A23ab
|
|
||||||
+ 4567ab
|
|
||||||
+
|
|
||||||
+ B23 ab
|
|
||||||
+ 4567ab
|
|
||||||
+
|
|
||||||
+ C23ab
|
|
||||||
+ 456ab7
|
|
||||||
+
|
|
||||||
the YOUTUSSEUU end
|
|
||||||
- yOUSSTUSSEXu -
|
|
||||||
THE YOUTUSSEUU END
|
|
||||||
*** ../vim-7.4.098/src/version.c 2013-11-21 14:21:25.000000000 +0100
|
|
||||||
--- src/version.c 2013-11-21 14:34:28.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 740,741 ****
|
|
||||||
--- 740,743 ----
|
|
||||||
{ /* Add new patch number below this line */
|
|
||||||
+ /**/
|
|
||||||
+ 99,
|
|
||||||
/**/
|
|
||||||
|
|
||||||
--
|
|
||||||
If the Universe is constantly expanding, why can't I ever find a parking space?
|
|
||||||
|
|
||||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
||||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
||||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
||||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user