From 8ff4f2f51a6cf07fc33742ce3bee81328896e49b Mon Sep 17 00:00:00 2001 From: Patrick J Volkerding Date: Fri, 25 May 2018 23:29:36 +0000 Subject: Fri May 25 23:29:36 UTC 2018 patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.1.txz: Rebuilt. Handle removal of US/Pacific-New timezone. If we see that the machine is using this, it will be automatically switched to US/Pacific. --- patches/source/vim/patches/7.4.290 | 156 +++++++++++++++++++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 patches/source/vim/patches/7.4.290 (limited to 'patches/source/vim/patches/7.4.290') diff --git a/patches/source/vim/patches/7.4.290 b/patches/source/vim/patches/7.4.290 new file mode 100644 index 000000000..e2e1e62bb --- /dev/null +++ b/patches/source/vim/patches/7.4.290 @@ -0,0 +1,156 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.290 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.290 +Problem: A non-greedy match followed by a branch is too greedy. (Ingo + Karkat) +Solution: Add NFA_MATCH when it is already in the state list if the position + differs. +Files: src/testdir/test64.in, src/testdir/test64.ok, src/regexp_nfa.c + + +*** ../vim-7.4.289/src/testdir/test64.in 2014-05-13 15:56:45.017670668 +0200 +--- src/testdir/test64.in 2014-05-13 16:15:57.213680754 +0200 +*************** +*** 238,244 **** + :call add(tl, [2, '\vx(.{-,8})yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz','ayxa','xayzxayz']) + :call add(tl, [2, '\vx(.*)yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz', 'ayxayzxayzxa','']) + :call add(tl, [2, '\v(a{1,2}){-2,3}','aaaaaaa','aaaa','aa']) +! :call add(tl, [2, '\v(a{-1,3})+','aa','aa','a']) + :" + :" Test Character classes + :call add(tl, [2, '\d\+e\d\d','test 10e23 fd','10e23']) +--- 238,248 ---- + :call add(tl, [2, '\vx(.{-,8})yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz','ayxa','xayzxayz']) + :call add(tl, [2, '\vx(.*)yz(.*)','xayxayzxayzxayz','xayxayzxayzxayz', 'ayxayzxayzxa','']) + :call add(tl, [2, '\v(a{1,2}){-2,3}','aaaaaaa','aaaa','aa']) +! :call add(tl, [2, '\v(a{-1,3})+', 'aa', 'aa', 'a']) +! :call add(tl, [2, '^\s\{-}\zs\( x\|x$\)', ' x', ' x', ' x']) +! :call add(tl, [2, '^\s\{-}\zs\(x\| x$\)', ' x', ' x', ' x']) +! :call add(tl, [2, '^\s\{-}\ze\(x\| x$\)', ' x', '', ' x']) +! :call add(tl, [2, '^\(\s\{-}\)\(x\| x$\)', ' x', ' x', '', ' x']) + :" + :" Test Character classes + :call add(tl, [2, '\d\+e\d\d','test 10e23 fd','10e23']) +*************** +*** 462,476 **** + : try + : let l = matchlist(text, pat) + : catch +! : $put ='ERROR: pat: \"' . pat . '\", text: \"' . text . '\", caused an exception: \"' . v:exception . '\"' + : endtry + :" check the match itself + : if len(l) == 0 && len(t) > matchidx +! : $put ='ERROR: pat: \"' . pat . '\", text: \"' . text . '\", did not match, expected: \"' . t[matchidx] . '\"' + : elseif len(l) > 0 && len(t) == matchidx +! : $put ='ERROR: pat: \"' . pat . '\", text: \"' . text . '\", match: \"' . l[0] . '\", expected no match' + : elseif len(t) > matchidx && l[0] != t[matchidx] +! : $put ='ERROR: pat: \"' . pat . '\", text: \"' . text . '\", match: \"' . l[0] . '\", expected: \"' . t[matchidx] . '\"' + : else + : $put ='OK ' . engine . ' - ' . pat + : endif +--- 466,480 ---- + : try + : let l = matchlist(text, pat) + : catch +! : $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . text . '\", caused an exception: \"' . v:exception . '\"' + : endtry + :" check the match itself + : if len(l) == 0 && len(t) > matchidx +! : $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . text . '\", did not match, expected: \"' . t[matchidx] . '\"' + : elseif len(l) > 0 && len(t) == matchidx +! : $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . text . '\", match: \"' . l[0] . '\", expected no match' + : elseif len(t) > matchidx && l[0] != t[matchidx] +! : $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . text . '\", match: \"' . l[0] . '\", expected: \"' . t[matchidx] . '\"' + : else + : $put ='OK ' . engine . ' - ' . pat + : endif +*************** +*** 483,489 **** + : let e = t[matchidx + i] + : endif + : if l[i] != e +! : $put ='ERROR: pat: \"' . pat . '\", text: \"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"' + : endif + : endfor + : unlet i +--- 487,493 ---- + : let e = t[matchidx + i] + : endif + : if l[i] != e +! : $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"' + : endif + : endfor + : unlet i +*** ../vim-7.4.289/src/testdir/test64.ok 2014-05-13 15:56:45.017670668 +0200 +--- src/testdir/test64.ok 2014-05-13 16:39:35.077693166 +0200 +*************** +*** 533,538 **** +--- 533,550 ---- + OK 0 - \v(a{-1,3})+ + OK 1 - \v(a{-1,3})+ + OK 2 - \v(a{-1,3})+ ++ OK 0 - ^\s\{-}\zs\( x\|x$\) ++ OK 1 - ^\s\{-}\zs\( x\|x$\) ++ OK 2 - ^\s\{-}\zs\( x\|x$\) ++ OK 0 - ^\s\{-}\zs\(x\| x$\) ++ OK 1 - ^\s\{-}\zs\(x\| x$\) ++ OK 2 - ^\s\{-}\zs\(x\| x$\) ++ OK 0 - ^\s\{-}\ze\(x\| x$\) ++ OK 1 - ^\s\{-}\ze\(x\| x$\) ++ OK 2 - ^\s\{-}\ze\(x\| x$\) ++ OK 0 - ^\(\s\{-}\)\(x\| x$\) ++ OK 1 - ^\(\s\{-}\)\(x\| x$\) ++ OK 2 - ^\(\s\{-}\)\(x\| x$\) + OK 0 - \d\+e\d\d + OK 1 - \d\+e\d\d + OK 2 - \d\+e\d\d +*** ../vim-7.4.289/src/regexp_nfa.c 2014-05-13 15:56:45.021670668 +0200 +--- src/regexp_nfa.c 2014-05-13 16:37:58.481692320 +0200 +*************** +*** 4324,4331 **** + { + /* This state is already in the list, don't add it again, + * unless it is an MOPEN that is used for a backreference or +! * when there is a PIM. */ +! if (!nfa_has_backref && pim == NULL && !l->has_pim) + { + skip_add: + #ifdef ENABLE_LOG +--- 4324,4333 ---- + { + /* This state is already in the list, don't add it again, + * unless it is an MOPEN that is used for a backreference or +! * when there is a PIM. For NFA_MATCH check the position, +! * lower position is preferred. */ +! if (!nfa_has_backref && pim == NULL && !l->has_pim +! && state->c != NFA_MATCH) + { + skip_add: + #ifdef ENABLE_LOG +*** ../vim-7.4.289/src/version.c 2014-05-13 15:56:45.025670668 +0200 +--- src/version.c 2014-05-13 16:13:33.953679500 +0200 +*************** +*** 736,737 **** +--- 736,739 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 290, + /**/ + +-- +Although the scythe isn't pre-eminent among the weapons of war, anyone who +has been on the wrong end of, say, a peasants' revolt will know that in +skilled hands it is fearsome. + -- (Terry Pratchett, Mort) + + /// 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 /// -- cgit v1.2.3