Merge remote branch 'fedora/f18' into rhel-7.0

This commit is contained in:
Daniel Mach 2012-08-14 10:39:47 -04:00
commit e37fd085f1
22 changed files with 2501 additions and 24 deletions

86
7.3.605 Normal file
View File

@ -0,0 +1,86 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.605
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.3.605 (after 7.3.577)
Problem: MS-Windows: Can't compile with older compilers. (Titov Anatoly)
Solution: Add #ifdef for MEMORYSTATUSEX.
Files: src/os_win32.c
*** ../vim-7.3.604/src/os_win32.c 2012-06-29 15:51:26.000000000 +0200
--- src/os_win32.c 2012-07-19 11:35:00.000000000 +0200
***************
*** 4999,5020 ****
long_u
mch_avail_mem(int special)
{
! if (g_PlatformId != VER_PLATFORM_WIN32_NT)
! {
! MEMORYSTATUS ms;
!
! ms.dwLength = sizeof(MEMORYSTATUS);
! GlobalMemoryStatus(&ms);
! return (long_u)((ms.dwAvailPhys + ms.dwAvailPageFile) >> 10);
! }
! else
{
MEMORYSTATUSEX ms;
ms.dwLength = sizeof(MEMORYSTATUSEX);
GlobalMemoryStatusEx(&ms);
return (long_u)((ms.ullAvailPhys + ms.ullAvailPageFile) >> 10);
}
}
#ifdef FEAT_MBYTE
--- 4999,5025 ----
long_u
mch_avail_mem(int special)
{
! #ifdef MEMORYSTATUSEX
! PlatformId();
! if (g_PlatformId == VER_PLATFORM_WIN32_NT)
{
MEMORYSTATUSEX ms;
+ /* Need to use GlobalMemoryStatusEx() when there is more memory than
+ * what fits in 32 bits. But it's not always available. */
ms.dwLength = sizeof(MEMORYSTATUSEX);
GlobalMemoryStatusEx(&ms);
return (long_u)((ms.ullAvailPhys + ms.ullAvailPageFile) >> 10);
}
+ else
+ #endif
+ {
+ MEMORYSTATUS ms;
+
+ ms.dwLength = sizeof(MEMORYSTATUS);
+ GlobalMemoryStatus(&ms);
+ return (long_u)((ms.dwAvailPhys + ms.dwAvailPageFile) >> 10);
+ }
}
#ifdef FEAT_MBYTE
*** ../vim-7.3.604/src/version.c 2012-07-16 19:27:25.000000000 +0200
--- src/version.c 2012-07-19 11:36:12.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 605,
/**/
--
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 ///

76
7.3.606 Normal file
View File

@ -0,0 +1,76 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.606
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.3.606
Problem: CTRL-P completion has a problem with multi-byte characters.
Solution: Check for next character being NUL properly. (Yasuhiro Matsumoto)
Files: src/search.c, src/macros.h
*** ../vim-7.3.605/src/search.c 2012-06-06 16:12:54.000000000 +0200
--- src/search.c 2012-07-19 17:09:20.000000000 +0200
***************
*** 5141,5147 ****
&& !(compl_cont_status & CONT_SOL)
#endif
&& *startp != NUL
! && *(p = startp + 1) != NUL)
goto search_line;
}
line_breakcheck();
--- 5141,5147 ----
&& !(compl_cont_status & CONT_SOL)
#endif
&& *startp != NUL
! && *(p = startp + MB_PTR2LEN(startp)) != NUL)
goto search_line;
}
line_breakcheck();
*** ../vim-7.3.605/src/macros.h 2010-09-21 16:56:29.000000000 +0200
--- src/macros.h 2012-07-19 17:08:38.000000000 +0200
***************
*** 259,264 ****
--- 259,266 ----
* PTR2CHAR(): get character from pointer.
*/
#ifdef FEAT_MBYTE
+ /* Get the length of the character p points to */
+ # define MB_PTR2LEN(p) (has_mbyte ? (*mb_ptr2len)(p) : 1)
/* Advance multi-byte pointer, skip over composing chars. */
# define mb_ptr_adv(p) p += has_mbyte ? (*mb_ptr2len)(p) : 1
/* Advance multi-byte pointer, do not skip over composing chars. */
***************
*** 272,277 ****
--- 274,280 ----
# define MB_CHARLEN(p) (has_mbyte ? mb_charlen(p) : (int)STRLEN(p))
# define PTR2CHAR(p) (has_mbyte ? mb_ptr2char(p) : (int)*(p))
#else
+ # define MB_PTR2LEN(p) 1
# define mb_ptr_adv(p) ++p
# define mb_cptr_adv(p) ++p
# define mb_ptr_back(s, p) --p
*** ../vim-7.3.605/src/version.c 2012-07-19 11:37:22.000000000 +0200
--- src/version.c 2012-07-19 17:13:53.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 606,
/**/
--
hundred-and-one symptoms of being an internet addict:
151. You find yourself engaged to someone you've never actually met,
except through e-mail.
/// 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.3.607 Normal file
View File

@ -0,0 +1,56 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.607
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.3.607
Problem: With an 8 color terminal the selected menu item is black on black,
because darkGrey as bg is the same as black.
Solution: Swap fg and bg colors. (James McCoy)
Files: src/syntax.c
*** ../vim-7.3.606/src/syntax.c 2012-06-01 13:18:48.000000000 +0200
--- src/syntax.c 2012-07-19 17:34:42.000000000 +0200
***************
*** 6653,6660 ****
"PmenuThumb ctermbg=White guibg=White"),
CENT("Pmenu ctermbg=Magenta ctermfg=Black",
"Pmenu ctermbg=Magenta ctermfg=Black guibg=Magenta"),
! CENT("PmenuSel ctermbg=DarkGrey ctermfg=Black",
! "PmenuSel ctermbg=DarkGrey ctermfg=Black guibg=DarkGrey"),
#endif
CENT("Title term=bold ctermfg=LightMagenta",
"Title term=bold ctermfg=LightMagenta gui=bold guifg=Magenta"),
--- 6653,6660 ----
"PmenuThumb ctermbg=White guibg=White"),
CENT("Pmenu ctermbg=Magenta ctermfg=Black",
"Pmenu ctermbg=Magenta ctermfg=Black guibg=Magenta"),
! CENT("PmenuSel ctermbg=Black ctermfg=DarkGrey",
! "PmenuSel ctermbg=Black ctermfg=DarkGrey guibg=DarkGrey"),
#endif
CENT("Title term=bold ctermfg=LightMagenta",
"Title term=bold ctermfg=LightMagenta gui=bold guifg=Magenta"),
*** ../vim-7.3.606/src/version.c 2012-07-19 17:18:21.000000000 +0200
--- src/version.c 2012-07-19 17:38:05.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 607,
/**/
--
hundred-and-one symptoms of being an internet addict:
152. You find yourself falling for someone you've never seen or hardly
know, but, boy can he/she TYPE!!!!!!
/// 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 ///

119
7.3.608 Normal file
View File

@ -0,0 +1,119 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.608
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.3.608
Problem: winrestview() does not always restore the view correctly.
Solution: Call win_new_height() and win_new_width(). (Lech Lorens)
Files: src/eval.c, src/proto/window.pro, src/window.c
*** ../vim-7.3.607/src/eval.c 2012-07-16 19:27:25.000000000 +0200
--- src/eval.c 2012-07-19 17:50:16.000000000 +0200
***************
*** 18601,18606 ****
--- 18601,18610 ----
curwin->w_skipcol = get_dict_number(dict, (char_u *)"skipcol");
check_cursor();
+ win_new_height(curwin, curwin->w_height);
+ # ifdef FEAT_VERTSPLIT
+ win_new_width(curwin, W_WIDTH(curwin));
+ # endif
changed_window_setting();
if (curwin->w_topline == 0)
*** ../vim-7.3.607/src/proto/window.pro 2012-06-13 14:28:16.000000000 +0200
--- src/proto/window.pro 2012-07-19 18:05:10.000000000 +0200
***************
*** 51,56 ****
--- 51,58 ----
void win_setminheight __ARGS((void));
void win_drag_status_line __ARGS((win_T *dragwin, int offset));
void win_drag_vsep_line __ARGS((win_T *dragwin, int offset));
+ void win_new_height __ARGS((win_T *wp, int height));
+ void win_new_width __ARGS((win_T *wp, int width));
void win_comp_scroll __ARGS((win_T *wp));
void command_height __ARGS((void));
void last_status __ARGS((int morewin));
*** ../vim-7.3.607/src/window.c 2012-07-16 17:31:48.000000000 +0200
--- src/window.c 2012-07-19 18:05:18.000000000 +0200
***************
*** 54,60 ****
static void frame_insert __ARGS((frame_T *before, frame_T *frp));
static void frame_remove __ARGS((frame_T *frp));
#ifdef FEAT_VERTSPLIT
- static void win_new_width __ARGS((win_T *wp, int width));
static void win_goto_ver __ARGS((int up, long count));
static void win_goto_hor __ARGS((int left, long count));
#endif
--- 54,59 ----
***************
*** 71,77 ****
static win_T *win_alloc __ARGS((win_T *after, int hidden));
static void set_fraction __ARGS((win_T *wp));
- static void win_new_height __ARGS((win_T *wp, int height));
#define URL_SLASH 1 /* path_is_url() has found "://" */
#define URL_BACKSLASH 2 /* path_is_url() has found ":\\" */
--- 70,75 ----
***************
*** 5557,5563 ****
* This takes care of the things inside the window, not what happens to the
* window position, the frame or to other windows.
*/
! static void
win_new_height(wp, height)
win_T *wp;
int height;
--- 5555,5561 ----
* This takes care of the things inside the window, not what happens to the
* window position, the frame or to other windows.
*/
! void
win_new_height(wp, height)
win_T *wp;
int height;
***************
*** 5697,5703 ****
/*
* Set the width of a window.
*/
! static void
win_new_width(wp, width)
win_T *wp;
int width;
--- 5695,5701 ----
/*
* Set the width of a window.
*/
! void
win_new_width(wp, width)
win_T *wp;
int width;
*** ../vim-7.3.607/src/version.c 2012-07-19 17:39:01.000000000 +0200
--- src/version.c 2012-07-19 17:53:37.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 608,
/**/
--
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 ///

251
7.3.609 Normal file
View File

@ -0,0 +1,251 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.609
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.3.609
Problem: File names in :checkpath! output are garbled.
Solution: Check for \zs in the pattern. (Lech Lorens)
Files: src/search.c, src/testdir/test17.in, src/testdir/test17.ok
*** ../vim-7.3.608/src/search.c 2012-07-19 17:18:21.000000000 +0200
--- src/search.c 2012-07-25 13:33:08.000000000 +0200
***************
*** 4740,4756 ****
* Isolate the file name.
* Include the surrounding "" or <> if present.
*/
! for (p = incl_regmatch.endp[0]; !vim_isfilec(*p); p++)
! ;
! for (i = 0; vim_isfilec(p[i]); i++)
! ;
if (i == 0)
{
/* Nothing found, use the rest of the line. */
p = incl_regmatch.endp[0];
i = (int)STRLEN(p);
}
! else
{
if (p[-1] == '"' || p[-1] == '<')
{
--- 4740,4772 ----
* Isolate the file name.
* Include the surrounding "" or <> if present.
*/
! if (inc_opt != NULL
! && strstr((char *)inc_opt, "\\zs") != NULL)
! {
! /* pattern contains \zs, use the match */
! p = incl_regmatch.startp[0];
! i = (int)(incl_regmatch.endp[0]
! - incl_regmatch.startp[0]);
! }
! else
! {
! /* find the file name after the end of the match */
! for (p = incl_regmatch.endp[0];
! *p && !vim_isfilec(*p); p++)
! ;
! for (i = 0; vim_isfilec(p[i]); i++)
! ;
! }
!
if (i == 0)
{
/* Nothing found, use the rest of the line. */
p = incl_regmatch.endp[0];
i = (int)STRLEN(p);
}
! /* Avoid checking before the start of the line, can
! * happen if \zs appears in the regexp. */
! else if (p > line)
{
if (p[-1] == '"' || p[-1] == '<')
{
*** ../vim-7.3.608/src/testdir/test17.in 2010-08-15 21:57:29.000000000 +0200
--- src/testdir/test17.in 2012-07-25 13:41:43.000000000 +0200
***************
*** 1,4 ****
! Tests for "gf" on ${VAR}
STARTTEST
:so small.vim
--- 1,6 ----
! Tests for:
! - "gf" on ${VAR},
! - ":checkpath!" with various 'include' settings.
STARTTEST
:so small.vim
***************
*** 20,27 ****
:endif
gf
:w! test.out
! :qa!
ENDTEST
${CDIR}/test17a.in
$TDIR/test17a.in
--- 22,120 ----
:endif
gf
:w! test.out
! :brewind
ENDTEST
${CDIR}/test17a.in
$TDIR/test17a.in
+
+ STARTTEST
+ :" check for 'include' without \zs or \ze
+ :lang C
+ :!rm -f ./Xbase.a
+ :!rm -rf ./Xdir1
+ :!mkdir -p Xdir1/dir2
+ :e Xdir1/dir2/foo.a
+ i#include "bar.a"
+ :w
+ :e Xdir1/dir2/bar.a
+ i#include "baz.a"
+ :w
+ :e Xdir1/dir2/baz.a
+ i#include "foo.a"
+ :w
+ :e Xbase.a
+ :set path=Xdir1/dir2
+ i#include <foo.a>
+ :w
+ :redir! >>test.out
+ :checkpath!
+ :redir END
+ :brewind
+ ENDTEST
+
+ STARTTEST
+ :" check for 'include' with \zs and \ze
+ :!rm -f ./Xbase.b
+ :!rm -rf ./Xdir1
+ :!mkdir -p Xdir1/dir2
+ :let &include='^\s*%inc\s*/\zs[^/]\+\ze'
+ :function! DotsToSlashes()
+ : return substitute(v:fname, '\.', '/', 'g') . '.b'
+ :endfunction
+ :let &includeexpr='DotsToSlashes()'
+ :e Xdir1/dir2/foo.b
+ i%inc /bar/
+ :w
+ :e Xdir1/dir2/bar.b
+ i%inc /baz/
+ :w
+ :e Xdir1/dir2/baz.b
+ i%inc /foo/
+ :w
+ :e Xbase.b
+ :set path=Xdir1/dir2
+ i%inc /foo/
+ :w
+ :redir! >>test.out
+ :checkpath!
+ :redir END
+ :brewind
+ ENDTEST
+
+ STARTTEST
+ :" check for 'include' with \zs and no \ze
+ :!rm -f ./Xbase.c
+ :!rm -rf ./Xdir1
+ :!mkdir -p Xdir1/dir2
+ :let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'
+ :function! StripNewlineChar()
+ : if v:fname =~ '\n$'
+ : return v:fname[:-2]
+ : endif
+ : return v:fname
+ :endfunction
+ :let &includeexpr='StripNewlineChar()'
+ :e Xdir1/dir2/foo.c
+ i%inc bar.c
+ :w
+ :e Xdir1/dir2/bar.c
+ i%inc baz.c
+ :w
+ :e Xdir1/dir2/baz.c
+ i%inc foo.c
+ :w
+ :e Xdir1/dir2/FALSE.c
+ i%inc foo.c
+ :w
+ :e Xbase.c
+ :set path=Xdir1/dir2
+ i%inc FALSE.c foo.c
+ :w
+ :redir! >>test.out
+ :checkpath!
+ :redir END
+ :brewind
+ :q
+ ENDTEST
+
*** ../vim-7.3.608/src/testdir/test17.ok 2010-08-15 21:57:29.000000000 +0200
--- src/testdir/test17.ok 2012-07-25 13:45:37.000000000 +0200
***************
*** 1,3 ****
--- 1,33 ----
This file is just to test "gf" in test 17.
The contents is not important.
Just testing!
+
+
+ --- Included files in path ---
+ Xdir1/dir2/foo.a
+ Xdir1/dir2/foo.a -->
+ Xdir1/dir2/bar.a
+ Xdir1/dir2/bar.a -->
+ Xdir1/dir2/baz.a
+ Xdir1/dir2/baz.a -->
+ "foo.a" (Already listed)
+
+
+ --- Included files in path ---
+ Xdir1/dir2/foo.b
+ Xdir1/dir2/foo.b -->
+ Xdir1/dir2/bar.b
+ Xdir1/dir2/bar.b -->
+ Xdir1/dir2/baz.b
+ Xdir1/dir2/baz.b -->
+ foo (Already listed)
+
+
+ --- Included files in path ---
+ Xdir1/dir2/foo.c
+ Xdir1/dir2/foo.c -->
+ Xdir1/dir2/bar.c
+ Xdir1/dir2/bar.c -->
+ Xdir1/dir2/baz.c
+ Xdir1/dir2/baz.c -->
+ foo.c^@ (Already listed)
*** ../vim-7.3.608/src/version.c 2012-07-19 18:05:40.000000000 +0200
--- src/version.c 2012-07-25 13:38:54.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 609,
/**/
--
"The question of whether computers can think is just like the question
of whether submarines can swim." -- Edsger W. Dijkstra
/// 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 ///

400
7.3.610 Normal file
View File

@ -0,0 +1,400 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.610
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.3.610
Problem: Cannot operate on the text that a search pattern matches.
Solution: Add the "gn" and "gN" commands. (Christian Brabandt)
Files: runtime/doc/index.txt, runtime/doc/visual.txt, src/normal.c,
src/proto/search.pro, src/search.c, src/testdir/test53.in,
src/testdir/test53.ok
*** ../vim-7.3.609/runtime/doc/index.txt 2010-08-15 21:57:18.000000000 +0200
--- runtime/doc/index.txt 2012-07-25 14:27:20.000000000 +0200
***************
*** 719,726 ****
--- 719,729 ----
|gH| gH start Select line mode
|gI| gI 2 like "I", but always start in column 1
|gJ| gJ 2 join lines without inserting space
+ |gN| gN 1,2 find the previous match with the last used
+ search pattern and Visually select it
|gP| ["x]gP 2 put the text [from register x] before the
cursor N times, leave the cursor after it
+ |gQ| gQ switch to "Ex" mode with Vim editing
|gR| gR 2 enter Virtual Replace mode
|gU| gU{motion} 2 make Nmove text uppercase
|gV| gV don't reselect the previous Visual area
***************
*** 750,755 ****
--- 753,760 ----
lines down
|gk| gk 1 like "k", but when 'wrap' on go N screen
lines up
+ |gn| gn 1,2 find the next match with the last used
+ search pattern and Visually select it
|gm| gm 1 go to character at middle of the screenline
|go| go 1 cursor to byte N in the buffer
|gp| ["x]gp 2 put the text [from register x] after the
*** ../vim-7.3.609/runtime/doc/visual.txt 2010-08-15 21:57:16.000000000 +0200
--- runtime/doc/visual.txt 2012-07-25 14:42:22.000000000 +0200
***************
*** 94,99 ****
--- 99,116 ----
After using "p" or "P" in Visual mode the text that
was put will be selected.
+ *gn* *v_gn*
+ gn Search forward for the last used search pattern, like
+ with `n`, and start Visual mode to select the match.
+ If the cursor is on the match, visually selects it.
+ If an operator is pending, operates on the match.
+ E.g., "dgn" deletes the text of the next match.
+ If Visual mode is active, extends the selection
+ until the end of the next match.
+
+ *gN* *v_gN*
+ gN Like |gn| but searches backward, like with `N`.
+
*<LeftMouse>*
<LeftMouse> Set the current cursor position. If Visual mode is
active it is stopped. Only when 'mouse' option is
*** ../vim-7.3.609/src/normal.c 2012-07-10 16:49:08.000000000 +0200
--- src/normal.c 2012-07-25 14:31:40.000000000 +0200
***************
*** 1780,1789 ****
{
/* Prepare for redoing. Only use the nchar field for "r",
* otherwise it might be the second char of the operator. */
! prep_redo(oap->regname, 0L, NUL, 'v',
! get_op_char(oap->op_type),
! get_extra_op_char(oap->op_type),
! oap->op_type == OP_REPLACE ? cap->nchar : NUL);
if (!redo_VIsual_busy)
{
redo_VIsual_mode = resel_VIsual_mode;
--- 1780,1797 ----
{
/* Prepare for redoing. Only use the nchar field for "r",
* otherwise it might be the second char of the operator. */
! if (cap->cmdchar == 'g' && (cap->nchar == 'n'
! || cap->nchar == 'N'))
! /* "gn" and "gN" are a bit different */
! prep_redo(oap->regname, 0L, NUL, cap->cmdchar, cap->nchar,
! get_op_char(oap->op_type),
! get_extra_op_char(oap->op_type));
! else
! prep_redo(oap->regname, 0L, NUL, 'v',
! get_op_char(oap->op_type),
! get_extra_op_char(oap->op_type),
! oap->op_type == OP_REPLACE
! ? cap->nchar : NUL);
if (!redo_VIsual_busy)
{
redo_VIsual_mode = resel_VIsual_mode;
***************
*** 7987,7992 ****
--- 7995,8011 ----
cap->arg = TRUE;
nv_visual(cap);
break;
+
+ /* "gn", "gN" visually select next/previous search match
+ * "gn" selects next match
+ * "gN" selects previous match
+ */
+ case 'N':
+ case 'n':
+ if (!current_search(cap->count1, cap->nchar == 'n'))
+ beep_flush();
+
+ break;
#endif /* FEAT_VISUAL */
/*
*** ../vim-7.3.609/src/proto/search.pro 2010-08-15 21:57:28.000000000 +0200
--- src/proto/search.pro 2012-07-25 14:24:01.000000000 +0200
***************
*** 27,32 ****
--- 27,33 ----
int end_word __ARGS((long count, int bigword, int stop, int empty));
int bckend_word __ARGS((long count, int bigword, int eol));
int current_word __ARGS((oparg_T *oap, long count, int include, int bigword));
+ int current_search __ARGS((long count, int forward));
int current_sent __ARGS((oparg_T *oap, long count, int include));
int current_block __ARGS((oparg_T *oap, long count, int include, int what, int other));
int current_tagblock __ARGS((oparg_T *oap, long count_arg, int include));
*** ../vim-7.3.609/src/search.c 2012-07-25 13:46:25.000000000 +0200
--- src/search.c 2012-07-25 14:54:28.000000000 +0200
***************
*** 3397,3402 ****
--- 3397,3547 ----
return OK;
}
+ #if defined(FEAT_VISUAL) || defined(PROTO)
+ /*
+ * Find next search match under cursor, cursor at end.
+ * Used while an operator is pending, and in Visual mode.
+ * TODO: redo only works when used in operator pending mode
+ */
+ int
+ current_search(count, forward)
+ long count;
+ int forward; /* move forward or backwards */
+ {
+ pos_T start_pos; /* position before the pattern */
+ pos_T orig_pos; /* position of the cursor at beginning */
+ pos_T pos; /* position after the pattern */
+ int i;
+ int dir;
+ int result; /* result of various function calls */
+ char_u old_p_ws = p_ws;
+ int visual_active = FALSE;
+ int flags = 0;
+ pos_T save_VIsual;
+
+
+ /* wrapping should not occur */
+ p_ws = FALSE;
+
+ /* Correct cursor when 'selection' is exclusive */
+ if (VIsual_active && *p_sel == 'e' && lt(VIsual, curwin->w_cursor))
+ dec_cursor();
+
+ if (VIsual_active)
+ {
+ orig_pos = curwin->w_cursor;
+ save_VIsual = VIsual;
+ visual_active = TRUE;
+
+ /* just started visual selection, only one character */
+ if (equalpos(VIsual, curwin->w_cursor))
+ visual_active = FALSE;
+
+ pos = curwin->w_cursor;
+ start_pos = VIsual;
+
+ /* make sure, searching further will extend the match */
+ if (VIsual_active)
+ {
+ if (forward)
+ incl(&pos);
+ else
+ decl(&pos);
+ }
+ }
+ else
+ orig_pos = pos = start_pos = curwin->w_cursor;
+
+ /*
+ * The trick is to first search backwards and then search forward again,
+ * so that a match at the current cursor position will be correctly
+ * captured.
+ */
+ for (i = 0; i < 2; i++)
+ {
+ if (i && count == 1)
+ flags = SEARCH_START;
+
+ if (forward)
+ dir = i;
+ else
+ dir = !i;
+ result = searchit(curwin, curbuf, &pos, (dir ? FORWARD : BACKWARD),
+ spats[last_idx].pat, (long) (i ? count : 1),
+ SEARCH_KEEP | flags | (dir ? 0 : SEARCH_END),
+ RE_SEARCH, 0, NULL);
+
+ /* First search may fail, but then start searching from the
+ * beginning of the file (cursor might be on the search match)
+ * except when Visual mode is active, so that extending the visual
+ * selection works. */
+ if (!result && i) /* not found, abort */
+ {
+ curwin->w_cursor = orig_pos;
+ if (VIsual_active)
+ VIsual = save_VIsual;
+ p_ws = old_p_ws;
+ return FAIL;
+ }
+ else if (!i && !result && !visual_active)
+ {
+ if (forward) /* try again from start of buffer */
+ {
+ clearpos(&pos);
+ }
+ else /* try again from end of buffer */
+ {
+ /* searching backwards, so set pos to last line and col */
+ pos.lnum = curwin->w_buffer->b_ml.ml_line_count;
+ pos.col = STRLEN(ml_get(curwin->w_buffer->b_ml.ml_line_count));
+ }
+ }
+
+ }
+
+ start_pos = pos;
+ flags = (forward ? SEARCH_END : 0);
+
+ /* move to match */
+ result = searchit(curwin, curbuf, &pos, (forward ? FORWARD : BACKWARD),
+ spats[last_idx].pat, 0L, flags | SEARCH_KEEP, RE_SEARCH, 0, NULL);
+
+ if (!VIsual_active)
+ VIsual = start_pos;
+
+ p_ws = old_p_ws;
+ curwin->w_cursor = pos;
+ VIsual_active = TRUE;
+ VIsual_mode = 'v';
+
+ if (VIsual_active)
+ {
+ redraw_curbuf_later(INVERTED); /* update the inversion */
+ if (*p_sel == 'e' && ltoreq(VIsual, curwin->w_cursor))
+ inc_cursor();
+ }
+
+ #ifdef FEAT_FOLDING
+ if (fdo_flags & FDO_SEARCH && KeyTyped)
+ foldOpenCursor();
+ #endif
+
+ may_start_select('c');
+ #ifdef FEAT_MOUSE
+ setmouse();
+ #endif
+ #ifdef FEAT_CLIPBOARD
+ /* Make sure the clipboard gets updated. Needed because start and
+ * end are still the same, and the selection needs to be owned */
+ clip_star.vmode = NUL;
+ #endif
+ redraw_curbuf_later(INVERTED);
+ showmode();
+
+ return OK;
+ }
+ #endif /* FEAT_VISUAL */
+
/*
* Find sentence(s) under the cursor, cursor at end.
* When Visual active, extend it by one or more sentences.
***************
*** 3420,3426 ****
#ifdef FEAT_VISUAL
/*
! * When visual area is bigger than one character: Extend it.
*/
if (VIsual_active && !equalpos(start_pos, VIsual))
{
--- 3565,3571 ----
#ifdef FEAT_VISUAL
/*
! * When the Visual area is bigger than one character: Extend it.
*/
if (VIsual_active && !equalpos(start_pos, VIsual))
{
***************
*** 3508,3515 ****
#endif
/*
! * If cursor started on blank, check if it is just before the start of the
! * next sentence.
*/
while (c = gchar_pos(&pos), vim_iswhite(c)) /* vim_iswhite() is a macro */
incl(&pos);
--- 3653,3660 ----
#endif
/*
! * If the cursor started on a blank, check if it is just before the start
! * of the next sentence.
*/
while (c = gchar_pos(&pos), vim_iswhite(c)) /* vim_iswhite() is a macro */
incl(&pos);
***************
*** 3558,3564 ****
#ifdef FEAT_VISUAL
if (VIsual_active)
{
! /* avoid getting stuck with "is" on a single space before a sent. */
if (equalpos(start_pos, curwin->w_cursor))
goto extend;
if (*p_sel == 'e')
--- 3703,3709 ----
#ifdef FEAT_VISUAL
if (VIsual_active)
{
! /* Avoid getting stuck with "is" on a single space before a sentence. */
if (equalpos(start_pos, curwin->w_cursor))
goto extend;
if (*p_sel == 'e')
*** ../vim-7.3.609/src/testdir/test53.in 2010-08-15 21:57:29.000000000 +0200
--- src/testdir/test53.in 2012-07-25 15:01:34.000000000 +0200
***************
*** 28,33 ****
--- 28,40 ----
:put =matchstr(\"abcd\", \".\", 0, -1) " a
:put =match(\"abcd\", \".\", 0, 5) " -1
:put =match(\"abcd\", \".\", 0, -1) " 0
+ /^foobar
+ gncsearchmatch/one\_s*two\_s
+ :1
+ gnd
+ /[a]bcdx
+ :1
+ 2gnd
:/^start:/,/^end:/wq! test.out
ENDTEST
***************
*** 45,48 ****
--- 52,60 ----
-<b>asdf<i>Xasdf</i>asdf</b>-
-<b>asdX<i>as<b />df</i>asdf</b>-
</begin>
+ SEARCH:
+ foobar
+ one
+ two
+ abcdx | abcdx | abcdx
end:
*** ../vim-7.3.609/src/testdir/test53.ok 2010-08-15 21:57:29.000000000 +0200
--- src/testdir/test53.ok 2012-07-25 14:24:01.000000000 +0200
***************
*** 18,21 ****
--- 18,24 ----
a
-1
0
+ SEARCH:
+ searchmatch
+ abcdx | | abcdx
end:
*** ../vim-7.3.609/src/version.c 2012-07-25 13:46:25.000000000 +0200
--- src/version.c 2012-07-25 15:03:43.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 610,
/**/
--
Did you ever see a "Hit any key to continue" message in a music piece?
/// 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 ///

58
7.3.611 Normal file
View File

@ -0,0 +1,58 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.611
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.3.611
Problem: Can't use Vim dictionary as self argument in Python.
Solution: Fix the check for the "self" argument. (ZyX)
Files: src/if_py_both.h
*** ../vim-7.3.610/src/if_py_both.h 2012-06-30 13:34:29.000000000 +0200
--- src/if_py_both.h 2012-07-25 15:32:10.000000000 +0200
***************
*** 1284,1292 ****
selfdictObject = PyDict_GetItemString(kwargs, "self");
if (selfdictObject != NULL)
{
! if (!PyDict_Check(selfdictObject))
{
! PyErr_SetString(PyExc_TypeError, _("'self' argument must be a dictionary"));
clear_tv(&args);
return NULL;
}
--- 1284,1293 ----
selfdictObject = PyDict_GetItemString(kwargs, "self");
if (selfdictObject != NULL)
{
! if (!PyMapping_Check(selfdictObject))
{
! PyErr_SetString(PyExc_TypeError,
! _("'self' argument must be a dictionary"));
clear_tv(&args);
return NULL;
}
*** ../vim-7.3.610/src/version.c 2012-07-25 15:06:20.000000000 +0200
--- src/version.c 2012-07-25 15:32:24.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 611,
/**/
--
In Joseph Heller's novel "Catch-22", the main character tries to get out of a
war by proving he is crazy. But the mere fact he wants to get out of the war
only shows he isn't crazy -- creating the original "Catch-22".
/// 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.3.612 Normal file
View File

@ -0,0 +1,83 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.612
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.3.612
Problem: Auto formatting messes up text when 'fo' contains "2". (ZyX)
Solution: Decrement "less_cols". (Tor Perkins)
Files: src/misc1.c, src/testdir/test68.in, src/testdir/test68.ok
*** ../vim-7.3.611/src/misc1.c 2012-07-06 16:49:37.000000000 +0200
--- src/misc1.c 2012-07-25 16:03:58.000000000 +0200
***************
*** 1329,1334 ****
--- 1329,1335 ----
for (i = 0; i < padding; i++)
{
STRCAT(leader, " ");
+ less_cols--;
newcol++;
}
}
*** ../vim-7.3.611/src/testdir/test68.in 2012-06-29 15:04:34.000000000 +0200
--- src/testdir/test68.in 2012-07-25 15:57:06.000000000 +0200
***************
*** 94,99 ****
--- 94,109 ----
}
STARTTEST
+ /mno pqr/
+ :setl tw=20 fo=an12wcq comments=s1:/*,mb:*,ex:*/
+ A vwx yz
+ ENDTEST
+
+ /* abc def ghi jkl
+ * mno pqr stu
+ */
+
+ STARTTEST
/^#/
:setl tw=12 fo=tqnc comments=:#
A foobar
*** ../vim-7.3.611/src/testdir/test68.ok 2012-06-29 23:57:50.000000000 +0200
--- src/testdir/test68.ok 2012-07-25 16:03:05.000000000 +0200
***************
*** 57,62 ****
--- 57,68 ----
{ 1aa ^^2bb }
+ /* abc def ghi jkl
+ * mno pqr stu
+ * vwx yz
+ */
+
+
# 1 xxxxx
# foobar
*** ../vim-7.3.611/src/version.c 2012-07-25 15:36:00.000000000 +0200
--- src/version.c 2012-07-25 16:08:02.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 612,
/**/
--
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 ///

149
7.3.613 Normal file
View File

@ -0,0 +1,149 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.613
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.3.613
Problem: Including Python's config.c in the build causes trouble. It is
not clear why it was there.
Solution: Omit the config file. (James McCoy)
Files: src/Makefile, src/auto/configure, src/configure.in
*** ../vim-7.3.612/src/Makefile 2012-06-20 18:39:12.000000000 +0200
--- src/Makefile 2012-07-25 16:22:57.000000000 +0200
***************
*** 2559,2577 ****
objects/if_perlsfio.o: if_perlsfio.c
$(CCC) $(PERL_CFLAGS) -o $@ if_perlsfio.c
- objects/py_config.o: $(PYTHON_CONFDIR)/config.c
- $(CCC) $(PYTHON_CFLAGS) -o $@ $(PYTHON_CONFDIR)/config.c \
- -I$(PYTHON_CONFDIR) -DHAVE_CONFIG_H -DNO_MAIN
-
objects/py_getpath.o: $(PYTHON_CONFDIR)/getpath.c
$(CCC) $(PYTHON_CFLAGS) -o $@ $(PYTHON_CONFDIR)/getpath.c \
-I$(PYTHON_CONFDIR) -DHAVE_CONFIG_H -DNO_MAIN \
$(PYTHON_GETPATH_CFLAGS)
- objects/py3_config.o: $(PYTHON3_CONFDIR)/config.c
- $(CCC) $(PYTHON3_CFLAGS) -o $@ $(PYTHON3_CONFDIR)/config.c \
- -I$(PYTHON3_CONFDIR) -DHAVE_CONFIG_H -DNO_MAIN
-
objects/if_python.o: if_python.c if_py_both.h
$(CCC) $(PYTHON_CFLAGS) $(PYTHON_CFLAGS_EXTRA) -o $@ if_python.c
--- 2559,2569 ----
*** ../vim-7.3.612/src/auto/configure 2012-06-13 19:19:36.000000000 +0200
--- src/auto/configure 2012-07-25 16:23:49.000000000 +0200
***************
*** 5357,5367 ****
PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\""
fi
PYTHON_SRC="if_python.c"
! if test "x$MACOSX" = "xyes"; then
! PYTHON_OBJ="objects/if_python.o"
! else
! PYTHON_OBJ="objects/if_python.o objects/py_config.o"
! fi
if test "${vi_cv_var_python_version}" = "1.4"; then
PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
fi
--- 5357,5363 ----
PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\""
fi
PYTHON_SRC="if_python.c"
! PYTHON_OBJ="objects/if_python.o"
if test "${vi_cv_var_python_version}" = "1.4"; then
PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
fi
***************
*** 5656,5666 ****
PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
fi
PYTHON3_SRC="if_python3.c"
! if test "x$MACOSX" = "xyes"; then
! PYTHON3_OBJ="objects/if_python3.o"
! else
! PYTHON3_OBJ="objects/if_python3.o objects/py3_config.o"
! fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if -pthread should be used" >&5
$as_echo_n "checking if -pthread should be used... " >&6; }
--- 5652,5658 ----
PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
fi
PYTHON3_SRC="if_python3.c"
! PYTHON3_OBJ="objects/if_python3.o"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if -pthread should be used" >&5
$as_echo_n "checking if -pthread should be used... " >&6; }
*** ../vim-7.3.612/src/configure.in 2012-06-13 19:19:36.000000000 +0200
--- src/configure.in 2012-07-25 16:23:41.000000000 +0200
***************
*** 916,927 ****
PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\""
fi
PYTHON_SRC="if_python.c"
! dnl For Mac OSX 10.2 config.o is included in the Python library.
! if test "x$MACOSX" = "xyes"; then
! PYTHON_OBJ="objects/if_python.o"
! else
! PYTHON_OBJ="objects/if_python.o objects/py_config.o"
! fi
if test "${vi_cv_var_python_version}" = "1.4"; then
PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
fi
--- 916,922 ----
PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\""
fi
PYTHON_SRC="if_python.c"
! PYTHON_OBJ="objects/if_python.o"
if test "${vi_cv_var_python_version}" = "1.4"; then
PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
fi
***************
*** 1106,1117 ****
PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
fi
PYTHON3_SRC="if_python3.c"
! dnl For Mac OSX 10.2 config.o is included in the Python library.
! if test "x$MACOSX" = "xyes"; then
! PYTHON3_OBJ="objects/if_python3.o"
! else
! PYTHON3_OBJ="objects/if_python3.o objects/py3_config.o"
! fi
dnl On FreeBSD linking with "-pthread" is required to use threads.
dnl _THREAD_SAFE must be used for compiling then.
--- 1101,1107 ----
PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
fi
PYTHON3_SRC="if_python3.c"
! PYTHON3_OBJ="objects/if_python3.o"
dnl On FreeBSD linking with "-pthread" is required to use threads.
dnl _THREAD_SAFE must be used for compiling then.
*** ../vim-7.3.612/src/version.c 2012-07-25 16:09:59.000000000 +0200
--- src/version.c 2012-07-25 16:29:52.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 613,
/**/
--
hundred-and-one symptoms of being an internet addict:
170. You introduce your wife as "my_lady@home.wife" and refer to your
children as "forked processes."
/// 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 ///

176
7.3.614 Normal file
View File

@ -0,0 +1,176 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.614
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.3.614
Problem: Number argument gets turned into a number while it should be a
string.
Solution: Add flag to the call_vim_function() call. (Yasuhiro Matsumoto)
Files: src/edit.c, src/eval.c, src/proto/eval.pro
*** ../vim-7.3.613/src/edit.c 2012-07-10 17:14:50.000000000 +0200
--- src/edit.c 2012-07-25 16:40:07.000000000 +0200
***************
*** 3959,3965 ****
curbuf_save = curbuf;
/* Call a function, which returns a list or dict. */
! if (call_vim_function(funcname, 2, args, FALSE, &rettv) == OK)
{
switch (rettv.v_type)
{
--- 3959,3965 ----
curbuf_save = curbuf;
/* Call a function, which returns a list or dict. */
! if (call_vim_function(funcname, 2, args, FALSE, FALSE, &rettv) == OK)
{
switch (rettv.v_type)
{
*** ../vim-7.3.613/src/eval.c 2012-07-19 18:05:40.000000000 +0200
--- src/eval.c 2012-07-25 16:42:41.000000000 +0200
***************
*** 1564,1574 ****
* Returns OK or FAIL.
*/
int
! call_vim_function(func, argc, argv, safe, rettv)
char_u *func;
int argc;
char_u **argv;
int safe; /* use the sandbox */
typval_T *rettv;
{
typval_T *argvars;
--- 1564,1575 ----
* Returns OK or FAIL.
*/
int
! call_vim_function(func, argc, argv, safe, str_arg_only, rettv)
char_u *func;
int argc;
char_u **argv;
int safe; /* use the sandbox */
+ int str_arg_only; /* all arguments are strings */
typval_T *rettv;
{
typval_T *argvars;
***************
*** 1593,1600 ****
continue;
}
! /* Recognize a number argument, the others must be strings. */
! vim_str2nr(argv[i], NULL, &len, TRUE, TRUE, &n, NULL);
if (len != 0 && len == (int)STRLEN(argv[i]))
{
argvars[i].v_type = VAR_NUMBER;
--- 1594,1604 ----
continue;
}
! if (str_arg_only)
! len = 0;
! else
! /* Recognize a number argument, the others must be strings. */
! vim_str2nr(argv[i], NULL, &len, TRUE, TRUE, &n, NULL);
if (len != 0 && len == (int)STRLEN(argv[i]))
{
argvars[i].v_type = VAR_NUMBER;
***************
*** 1646,1652 ****
typval_T rettv;
char_u *retval;
! if (call_vim_function(func, argc, argv, safe, &rettv) == FAIL)
return NULL;
retval = vim_strsave(get_tv_string(&rettv));
--- 1650,1657 ----
typval_T rettv;
char_u *retval;
! /* All arguments are passed as strings, no conversion to number. */
! if (call_vim_function(func, argc, argv, safe, TRUE, &rettv) == FAIL)
return NULL;
retval = vim_strsave(get_tv_string(&rettv));
***************
*** 1671,1677 ****
typval_T rettv;
long retval;
! if (call_vim_function(func, argc, argv, safe, &rettv) == FAIL)
return -1;
retval = get_tv_number_chk(&rettv, NULL);
--- 1676,1683 ----
typval_T rettv;
long retval;
! /* All arguments are passed as strings, no conversion to number. */
! if (call_vim_function(func, argc, argv, safe, TRUE, &rettv) == FAIL)
return -1;
retval = get_tv_number_chk(&rettv, NULL);
***************
*** 1694,1700 ****
{
typval_T rettv;
! if (call_vim_function(func, argc, argv, safe, &rettv) == FAIL)
return NULL;
if (rettv.v_type != VAR_LIST)
--- 1700,1707 ----
{
typval_T rettv;
! /* All arguments are passed as strings, no conversion to number. */
! if (call_vim_function(func, argc, argv, safe, TRUE, &rettv) == FAIL)
return NULL;
if (rettv.v_type != VAR_LIST)
*** ../vim-7.3.613/src/proto/eval.pro 2012-07-16 17:31:48.000000000 +0200
--- src/proto/eval.pro 2012-07-25 16:42:59.000000000 +0200
***************
*** 23,29 ****
list_T *eval_spell_expr __ARGS((char_u *badword, char_u *expr));
int get_spellword __ARGS((list_T *list, char_u **pp));
typval_T *eval_expr __ARGS((char_u *arg, char_u **nextcmd));
! int call_vim_function __ARGS((char_u *func, int argc, char_u **argv, int safe, typval_T *rettv));
void *call_func_retstr __ARGS((char_u *func, int argc, char_u **argv, int safe));
long call_func_retnr __ARGS((char_u *func, int argc, char_u **argv, int safe));
void *call_func_retlist __ARGS((char_u *func, int argc, char_u **argv, int safe));
--- 23,29 ----
list_T *eval_spell_expr __ARGS((char_u *badword, char_u *expr));
int get_spellword __ARGS((list_T *list, char_u **pp));
typval_T *eval_expr __ARGS((char_u *arg, char_u **nextcmd));
! int call_vim_function __ARGS((char_u *func, int argc, char_u **argv, int safe, int str_arg_only, typval_T *rettv));
void *call_func_retstr __ARGS((char_u *func, int argc, char_u **argv, int safe));
long call_func_retnr __ARGS((char_u *func, int argc, char_u **argv, int safe));
void *call_func_retlist __ARGS((char_u *func, int argc, char_u **argv, int safe));
*** ../vim-7.3.613/src/version.c 2012-07-25 16:32:03.000000000 +0200
--- src/version.c 2012-07-25 16:46:11.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 614,
/**/
--
hundred-and-one symptoms of being an internet addict:
171. You invent another person and chat with yourself in empty chat rooms.
/// 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 ///

107
7.3.615 Normal file
View File

@ -0,0 +1,107 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.615
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.3.615
Problem: Completion for a user command does not recognize backslash before
a space.
Solution: Recognize escaped characters. (Yasuhiro Matsumoto)
Files: src/ex_docmd.c
*** ../vim-7.3.614/src/ex_docmd.c 2012-07-10 19:25:06.000000000 +0200
--- src/ex_docmd.c 2012-07-25 17:10:16.000000000 +0200
***************
*** 3390,3401 ****
return NULL;
/* Find start of last argument (argument just before cursor): */
! p = buff + STRLEN(buff);
! while (p != arg && *p != ' ' && *p != TAB)
! p--;
! if (*p == ' ' || *p == TAB)
! p++;
xp->xp_pattern = p;
if (ea.argt & XFILE)
{
--- 3390,3412 ----
return NULL;
/* Find start of last argument (argument just before cursor): */
! p = buff;
xp->xp_pattern = p;
+ len = STRLEN(buff);
+ while (*p && p < buff + len)
+ {
+ if (*p == ' ' || *p == TAB)
+ {
+ /* argument starts after a space */
+ xp->xp_pattern = ++p;
+ }
+ else
+ {
+ if (*p == '\\' && *(p + 1) != NUL)
+ ++p; /* skip over escaped character */
+ mb_ptr_adv(p);
+ }
+ }
if (ea.argt & XFILE)
{
***************
*** 3821,3828 ****
if (compl == EXPAND_MAPPINGS)
return set_context_in_map_cmd(xp, (char_u *)"map",
arg, forceit, FALSE, FALSE, CMD_map);
! while ((xp->xp_pattern = vim_strchr(arg, ' ')) != NULL)
! arg = xp->xp_pattern + 1;
xp->xp_pattern = arg;
}
xp->xp_context = compl;
--- 3832,3853 ----
if (compl == EXPAND_MAPPINGS)
return set_context_in_map_cmd(xp, (char_u *)"map",
arg, forceit, FALSE, FALSE, CMD_map);
! /* Find start of last argument. */
! p = arg;
! while (*p)
! {
! if (*p == ' ')
! {
! /* argument starts after a space */
! arg = p + 1;
! }
! else
! {
! if (*p == '\\' && *(p + 1) != NUL)
! ++p; /* skip over escaped character */
! mb_ptr_adv(p);
! }
! }
xp->xp_pattern = arg;
}
xp->xp_context = compl;
*** ../vim-7.3.614/src/version.c 2012-07-25 16:46:59.000000000 +0200
--- src/version.c 2012-07-25 17:17:05.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 615,
/**/
--
hundred-and-one symptoms of being an internet addict:
172. You join listservers just for the extra e-mail.
/// 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 ///

46
7.3.616 Normal file
View File

@ -0,0 +1,46 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.616
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.3.616 (after 7.3.610)
Problem: Can't compile without +visual.
Solution: Add #ifdef.
Files: src/normal.c
*** ../vim-7.3.615/src/normal.c 2012-07-25 15:06:20.000000000 +0200
--- src/normal.c 2012-07-27 20:52:01.000000000 +0200
***************
*** 8002,8008 ****
--- 8002,8010 ----
*/
case 'N':
case 'n':
+ #ifdef FEAT_VISUAL
if (!current_search(cap->count1, cap->nchar == 'n'))
+ #endif
beep_flush();
break;
*** ../vim-7.3.615/src/version.c 2012-07-25 17:22:17.000000000 +0200
--- src/version.c 2012-07-27 20:52:58.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 616,
/**/
--
The CIA drives around in cars with the "Intel inside" logo.
/// 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.3.617 Normal file
View File

@ -0,0 +1,65 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.617
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.3.617 (after 7.3.615)
Problem: Hang on completion.
Solution: Skip over the space. (Yasuhiro Matsumoto)
Files: src/ex_docmd.c
*** ../vim-7.3.616/src/ex_docmd.c 2012-07-25 17:22:17.000000000 +0200
--- src/ex_docmd.c 2012-07-27 21:07:42.000000000 +0200
***************
*** 3837,3852 ****
while (*p)
{
if (*p == ' ')
- {
/* argument starts after a space */
arg = p + 1;
! }
! else
! {
! if (*p == '\\' && *(p + 1) != NUL)
! ++p; /* skip over escaped character */
! mb_ptr_adv(p);
! }
}
xp->xp_pattern = arg;
}
--- 3837,3847 ----
while (*p)
{
if (*p == ' ')
/* argument starts after a space */
arg = p + 1;
! else if (*p == '\\' && *(p + 1) != NUL)
! ++p; /* skip over escaped character */
! mb_ptr_adv(p);
}
xp->xp_pattern = arg;
}
*** ../vim-7.3.616/src/version.c 2012-07-27 21:05:51.000000000 +0200
--- src/version.c 2012-07-27 21:08:31.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 617,
/**/
--
If Microsoft would build a car...
... You'd have to press the "Start" button to turn the engine off.
/// 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 ///

367
7.3.618 Normal file
View File

@ -0,0 +1,367 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.618
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.3.618 (after 7.3.616)
Problem: Still doesn't compile with small features.
Solution: Move current_search() out of #ifdef. (Dominique Pelle)
Files: src/normal.c, src/search.c
*** ../vim-7.3.617/src/normal.c 2012-07-27 21:05:51.000000000 +0200
--- src/normal.c 2012-07-28 13:34:13.000000000 +0200
***************
*** 7995,8000 ****
--- 7995,8001 ----
cap->arg = TRUE;
nv_visual(cap);
break;
+ #endif /* FEAT_VISUAL */
/* "gn", "gN" visually select next/previous search match
* "gn" selects next match
***************
*** 8006,8014 ****
if (!current_search(cap->count1, cap->nchar == 'n'))
#endif
beep_flush();
-
break;
- #endif /* FEAT_VISUAL */
/*
* "gj" and "gk" two new funny movement keys -- up and down
--- 8007,8013 ----
*** ../vim-7.3.617/src/search.c 2012-07-25 15:06:20.000000000 +0200
--- src/search.c 2012-07-28 13:37:19.000000000 +0200
***************
*** 3397,3547 ****
return OK;
}
- #if defined(FEAT_VISUAL) || defined(PROTO)
- /*
- * Find next search match under cursor, cursor at end.
- * Used while an operator is pending, and in Visual mode.
- * TODO: redo only works when used in operator pending mode
- */
- int
- current_search(count, forward)
- long count;
- int forward; /* move forward or backwards */
- {
- pos_T start_pos; /* position before the pattern */
- pos_T orig_pos; /* position of the cursor at beginning */
- pos_T pos; /* position after the pattern */
- int i;
- int dir;
- int result; /* result of various function calls */
- char_u old_p_ws = p_ws;
- int visual_active = FALSE;
- int flags = 0;
- pos_T save_VIsual;
-
-
- /* wrapping should not occur */
- p_ws = FALSE;
-
- /* Correct cursor when 'selection' is exclusive */
- if (VIsual_active && *p_sel == 'e' && lt(VIsual, curwin->w_cursor))
- dec_cursor();
-
- if (VIsual_active)
- {
- orig_pos = curwin->w_cursor;
- save_VIsual = VIsual;
- visual_active = TRUE;
-
- /* just started visual selection, only one character */
- if (equalpos(VIsual, curwin->w_cursor))
- visual_active = FALSE;
-
- pos = curwin->w_cursor;
- start_pos = VIsual;
-
- /* make sure, searching further will extend the match */
- if (VIsual_active)
- {
- if (forward)
- incl(&pos);
- else
- decl(&pos);
- }
- }
- else
- orig_pos = pos = start_pos = curwin->w_cursor;
-
- /*
- * The trick is to first search backwards and then search forward again,
- * so that a match at the current cursor position will be correctly
- * captured.
- */
- for (i = 0; i < 2; i++)
- {
- if (i && count == 1)
- flags = SEARCH_START;
-
- if (forward)
- dir = i;
- else
- dir = !i;
- result = searchit(curwin, curbuf, &pos, (dir ? FORWARD : BACKWARD),
- spats[last_idx].pat, (long) (i ? count : 1),
- SEARCH_KEEP | flags | (dir ? 0 : SEARCH_END),
- RE_SEARCH, 0, NULL);
-
- /* First search may fail, but then start searching from the
- * beginning of the file (cursor might be on the search match)
- * except when Visual mode is active, so that extending the visual
- * selection works. */
- if (!result && i) /* not found, abort */
- {
- curwin->w_cursor = orig_pos;
- if (VIsual_active)
- VIsual = save_VIsual;
- p_ws = old_p_ws;
- return FAIL;
- }
- else if (!i && !result && !visual_active)
- {
- if (forward) /* try again from start of buffer */
- {
- clearpos(&pos);
- }
- else /* try again from end of buffer */
- {
- /* searching backwards, so set pos to last line and col */
- pos.lnum = curwin->w_buffer->b_ml.ml_line_count;
- pos.col = STRLEN(ml_get(curwin->w_buffer->b_ml.ml_line_count));
- }
- }
-
- }
-
- start_pos = pos;
- flags = (forward ? SEARCH_END : 0);
-
- /* move to match */
- result = searchit(curwin, curbuf, &pos, (forward ? FORWARD : BACKWARD),
- spats[last_idx].pat, 0L, flags | SEARCH_KEEP, RE_SEARCH, 0, NULL);
-
- if (!VIsual_active)
- VIsual = start_pos;
-
- p_ws = old_p_ws;
- curwin->w_cursor = pos;
- VIsual_active = TRUE;
- VIsual_mode = 'v';
-
- if (VIsual_active)
- {
- redraw_curbuf_later(INVERTED); /* update the inversion */
- if (*p_sel == 'e' && ltoreq(VIsual, curwin->w_cursor))
- inc_cursor();
- }
-
- #ifdef FEAT_FOLDING
- if (fdo_flags & FDO_SEARCH && KeyTyped)
- foldOpenCursor();
- #endif
-
- may_start_select('c');
- #ifdef FEAT_MOUSE
- setmouse();
- #endif
- #ifdef FEAT_CLIPBOARD
- /* Make sure the clipboard gets updated. Needed because start and
- * end are still the same, and the selection needs to be owned */
- clip_star.vmode = NUL;
- #endif
- redraw_curbuf_later(INVERTED);
- showmode();
-
- return OK;
- }
- #endif /* FEAT_VISUAL */
-
/*
* Find sentence(s) under the cursor, cursor at end.
* When Visual active, extend it by one or more sentences.
--- 3397,3402 ----
***************
*** 4670,4675 ****
--- 4525,4675 ----
#endif /* FEAT_TEXTOBJ */
+ #if defined(FEAT_VISUAL) || defined(PROTO)
+ /*
+ * Find next search match under cursor, cursor at end.
+ * Used while an operator is pending, and in Visual mode.
+ * TODO: redo only works when used in operator pending mode
+ */
+ int
+ current_search(count, forward)
+ long count;
+ int forward; /* move forward or backwards */
+ {
+ pos_T start_pos; /* position before the pattern */
+ pos_T orig_pos; /* position of the cursor at beginning */
+ pos_T pos; /* position after the pattern */
+ int i;
+ int dir;
+ int result; /* result of various function calls */
+ char_u old_p_ws = p_ws;
+ int visual_active = FALSE;
+ int flags = 0;
+ pos_T save_VIsual;
+
+
+ /* wrapping should not occur */
+ p_ws = FALSE;
+
+ /* Correct cursor when 'selection' is exclusive */
+ if (VIsual_active && *p_sel == 'e' && lt(VIsual, curwin->w_cursor))
+ dec_cursor();
+
+ if (VIsual_active)
+ {
+ orig_pos = curwin->w_cursor;
+ save_VIsual = VIsual;
+ visual_active = TRUE;
+
+ /* just started visual selection, only one character */
+ if (equalpos(VIsual, curwin->w_cursor))
+ visual_active = FALSE;
+
+ pos = curwin->w_cursor;
+ start_pos = VIsual;
+
+ /* make sure, searching further will extend the match */
+ if (VIsual_active)
+ {
+ if (forward)
+ incl(&pos);
+ else
+ decl(&pos);
+ }
+ }
+ else
+ orig_pos = pos = start_pos = curwin->w_cursor;
+
+ /*
+ * The trick is to first search backwards and then search forward again,
+ * so that a match at the current cursor position will be correctly
+ * captured.
+ */
+ for (i = 0; i < 2; i++)
+ {
+ if (i && count == 1)
+ flags = SEARCH_START;
+
+ if (forward)
+ dir = i;
+ else
+ dir = !i;
+ result = searchit(curwin, curbuf, &pos, (dir ? FORWARD : BACKWARD),
+ spats[last_idx].pat, (long) (i ? count : 1),
+ SEARCH_KEEP | flags | (dir ? 0 : SEARCH_END),
+ RE_SEARCH, 0, NULL);
+
+ /* First search may fail, but then start searching from the
+ * beginning of the file (cursor might be on the search match)
+ * except when Visual mode is active, so that extending the visual
+ * selection works. */
+ if (!result && i) /* not found, abort */
+ {
+ curwin->w_cursor = orig_pos;
+ if (VIsual_active)
+ VIsual = save_VIsual;
+ p_ws = old_p_ws;
+ return FAIL;
+ }
+ else if (!i && !result && !visual_active)
+ {
+ if (forward) /* try again from start of buffer */
+ {
+ clearpos(&pos);
+ }
+ else /* try again from end of buffer */
+ {
+ /* searching backwards, so set pos to last line and col */
+ pos.lnum = curwin->w_buffer->b_ml.ml_line_count;
+ pos.col = STRLEN(ml_get(curwin->w_buffer->b_ml.ml_line_count));
+ }
+ }
+
+ }
+
+ start_pos = pos;
+ flags = (forward ? SEARCH_END : 0);
+
+ /* move to match */
+ result = searchit(curwin, curbuf, &pos, (forward ? FORWARD : BACKWARD),
+ spats[last_idx].pat, 0L, flags | SEARCH_KEEP, RE_SEARCH, 0, NULL);
+
+ if (!VIsual_active)
+ VIsual = start_pos;
+
+ p_ws = old_p_ws;
+ curwin->w_cursor = pos;
+ VIsual_active = TRUE;
+ VIsual_mode = 'v';
+
+ if (VIsual_active)
+ {
+ redraw_curbuf_later(INVERTED); /* update the inversion */
+ if (*p_sel == 'e' && ltoreq(VIsual, curwin->w_cursor))
+ inc_cursor();
+ }
+
+ #ifdef FEAT_FOLDING
+ if (fdo_flags & FDO_SEARCH && KeyTyped)
+ foldOpenCursor();
+ #endif
+
+ may_start_select('c');
+ #ifdef FEAT_MOUSE
+ setmouse();
+ #endif
+ #ifdef FEAT_CLIPBOARD
+ /* Make sure the clipboard gets updated. Needed because start and
+ * end are still the same, and the selection needs to be owned */
+ clip_star.vmode = NUL;
+ #endif
+ redraw_curbuf_later(INVERTED);
+ showmode();
+
+ return OK;
+ }
+ #endif /* FEAT_VISUAL */
+
#if defined(FEAT_LISP) || defined(FEAT_CINDENT) || defined(FEAT_TEXTOBJ) \
|| defined(PROTO)
/*
*** ../vim-7.3.617/src/version.c 2012-07-27 21:12:03.000000000 +0200
--- src/version.c 2012-07-29 12:54:29.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 618,
/**/
--
hundred-and-one symptoms of being an internet addict:
185. You order fast food over the Internet
/// 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.3.619 Normal file
View File

@ -0,0 +1,50 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.619
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.3.619
Problem: When executing a shell command Vim may become slow to respond.
Solution: Don't wait after every processed message. (idea by Yasuhiro
Matsumoto)
Files: src/os_win32.c
*** ../vim-7.3.618/src/os_win32.c 2012-07-19 11:37:22.000000000 +0200
--- src/os_win32.c 2012-08-02 12:30:52.000000000 +0200
***************
*** 3319,3324 ****
--- 3319,3326 ----
{
TranslateMessage(&msg);
pDispatchMessage(&msg);
+ delay = 1;
+ continue;
}
if (WaitForSingleObject(pi.hProcess, delay) != WAIT_TIMEOUT)
break;
*** ../vim-7.3.618/src/version.c 2012-07-29 12:55:21.000000000 +0200
--- src/version.c 2012-08-02 12:29:08.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 619,
/**/
--
Some of the well know MS-Windows errors:
EMULTI Multitasking attempted, system confused
EKEYBOARD Keyboard locked, try getting out of this one!
EXPLAIN Unexplained error, please tell us what happened
EFUTURE Reserved for our future mistakes
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

163
7.3.620 Normal file
View File

@ -0,0 +1,163 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.620
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.3.620
Problem: Building with recent Ruby on Win32 doesn't work.
Solution: Add a separate argument for the API version. (Yasuhiro Matsumoto)
Files: src/Make_ming.mak, src/Make_mvc.mak
*** ../vim-7.3.619/src/Make_ming.mak 2012-07-06 13:40:44.000000000 +0200
--- src/Make_ming.mak 2012-08-02 17:02:34.000000000 +0200
***************
*** 260,266 ****
# DYNAMIC_RUBY=yes (to load the Ruby DLL dynamically)
# RUBY_VER=[Ruby version, eg 16, 17] (default is 16)
# RUBY_VER_LONG=[Ruby version, eg 1.6, 1.7] (default is 1.6)
! # You must set RUBY_VER_LONG when change RUBY_VER.
#RUBY=c:/ruby
ifdef RUBY
ifndef DYNAMIC_RUBY
--- 260,268 ----
# DYNAMIC_RUBY=yes (to load the Ruby DLL dynamically)
# RUBY_VER=[Ruby version, eg 16, 17] (default is 16)
# RUBY_VER_LONG=[Ruby version, eg 1.6, 1.7] (default is 1.6)
! # You must set RUBY_VER_LONG when changing RUBY_VER.
! # You must set RUBY_API_VER version to RUBY_VER_LONG.
! # Don't set ruby API version to RUBY_VER like 191.
#RUBY=c:/ruby
ifdef RUBY
ifndef DYNAMIC_RUBY
***************
*** 273,278 ****
--- 275,283 ----
ifndef RUBY_VER_LONG
RUBY_VER_LONG = 1.6
endif
+ ifndef RUBY_API_VER
+ RUBY_API_VER = $(subst .,,$(RUBY_VER_LONG))
+ endif
ifndef RUBY_PLATFORM
ifeq ($(RUBY_VER), 16)
***************
*** 288,296 ****
ifndef RUBY_INSTALL_NAME
ifeq ($(RUBY_VER), 16)
! RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_VER)
else
! RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_VER)
endif
endif
--- 293,301 ----
ifndef RUBY_INSTALL_NAME
ifeq ($(RUBY_VER), 16)
! RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER)
else
! RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER)
endif
endif
*** ../vim-7.3.619/src/Make_mvc.mak 2012-02-22 16:01:53.000000000 +0100
--- src/Make_mvc.mak 2012-08-02 17:42:31.000000000 +0200
***************
*** 63,68 ****
--- 63,70 ----
# RUBY_VER=[Ruby version, eg 16, 17] (default is 18)
# RUBY_VER_LONG=[Ruby version, eg 1.6, 1.7] (default is 1.8)
# You must set RUBY_VER_LONG when change RUBY_VER.
+ # You must set RUBY_API_VER to RUBY_VER_LONG.
+ # Don't set ruby API version to RUBY_VER like 191.
#
# Tcl interface:
# TCL=[Path to Tcl directory]
***************
*** 807,834 ****
!ifndef RUBY_VER_LONG
RUBY_VER_LONG = 1.8
!endif
!if $(RUBY_VER) >= 18
!ifndef RUBY_PLATFORM
RUBY_PLATFORM = i386-mswin32
!endif
!ifndef RUBY_INSTALL_NAME
! RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_VER)
!endif
!else
!ifndef RUBY_PLATFORM
RUBY_PLATFORM = i586-mswin32
!endif
!ifndef RUBY_INSTALL_NAME
! RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_VER)
!endif
!endif # $(RUBY_VER) >= 18
!message Ruby requested (version $(RUBY_VER)) - root dir is "$(RUBY)"
CFLAGS = $(CFLAGS) -DFEAT_RUBY
RUBY_OBJ = $(OUTDIR)\if_ruby.obj
! !if $(RUBY_VER) >= 190
! RUBY_INC = /I "$(RUBY)\include\ruby-$(RUBY_VER_LONG)\$(RUBY_PLATFORM)" /I "$(RUBY)\include\ruby-$(RUBY_VER_LONG)"
!else
RUBY_INC = /I "$(RUBY)\lib\ruby\$(RUBY_VER_LONG)\$(RUBY_PLATFORM)"
!endif
--- 813,843 ----
!ifndef RUBY_VER_LONG
RUBY_VER_LONG = 1.8
!endif
+ !ifndef RUBY_API_VER
+ RUBY_API_VER = $(RUBY_VER_LONG:.=)
+ !endif
!if $(RUBY_VER) >= 18
!ifndef RUBY_PLATFORM
RUBY_PLATFORM = i386-mswin32
!endif
!ifndef RUBY_INSTALL_NAME
! RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER)
!endif
!else
!ifndef RUBY_PLATFORM
RUBY_PLATFORM = i586-mswin32
!endif
!ifndef RUBY_INSTALL_NAME
! RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER)
!endif
!endif # $(RUBY_VER) >= 18
!message Ruby requested (version $(RUBY_VER)) - root dir is "$(RUBY)"
CFLAGS = $(CFLAGS) -DFEAT_RUBY
RUBY_OBJ = $(OUTDIR)\if_ruby.obj
! !if $(RUBY_VER) >= 19
! RUBY_INC = /I "$(RUBY)\lib\ruby\$(RUBY_VER_LONG)\$(RUBY_PLATFORM)" /I "$(RUBY)\include\ruby-$(RUBY_VER_LONG)" /I "$(RUBY)\include\ruby-$(RUBY_VER_LONG)\$(RUBY_PLATFORM)"
!else
RUBY_INC = /I "$(RUBY)\lib\ruby\$(RUBY_VER_LONG)\$(RUBY_PLATFORM)"
!endif
*** ../vim-7.3.619/src/version.c 2012-08-02 12:31:40.000000000 +0200
--- src/version.c 2012-08-02 21:20:28.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 620,
/**/
--
hundred-and-one symptoms of being an internet addict:
199. You read this entire list of symptoms, looking for something
that doesn't describe you.
/// 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.3.621 Normal file
View File

@ -0,0 +1,72 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.621
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.3.621
Problem: Compiler warnings on 64 bit windows.
Solution: Add type casts. (Mike Williams)
Files: src/ex_docmd.c, src/search.c
*** ../vim-7.3.620/src/ex_docmd.c 2012-07-27 21:12:03.000000000 +0200
--- src/ex_docmd.c 2012-08-02 21:19:22.000000000 +0200
***************
*** 3392,3398 ****
/* Find start of last argument (argument just before cursor): */
p = buff;
xp->xp_pattern = p;
! len = STRLEN(buff);
while (*p && p < buff + len)
{
if (*p == ' ' || *p == TAB)
--- 3392,3398 ----
/* Find start of last argument (argument just before cursor): */
p = buff;
xp->xp_pattern = p;
! len = (int)STRLEN(buff);
while (*p && p < buff + len)
{
if (*p == ' ' || *p == TAB)
*** ../vim-7.3.620/src/search.c 2012-07-29 12:55:21.000000000 +0200
--- src/search.c 2012-08-02 21:20:02.000000000 +0200
***************
*** 4621,4627 ****
{
/* searching backwards, so set pos to last line and col */
pos.lnum = curwin->w_buffer->b_ml.ml_line_count;
! pos.col = STRLEN(ml_get(curwin->w_buffer->b_ml.ml_line_count));
}
}
--- 4621,4628 ----
{
/* searching backwards, so set pos to last line and col */
pos.lnum = curwin->w_buffer->b_ml.ml_line_count;
! pos.col = (colnr_T)STRLEN(
! ml_get(curwin->w_buffer->b_ml.ml_line_count));
}
}
*** ../vim-7.3.620/src/version.c 2012-08-02 21:21:43.000000000 +0200
--- src/version.c 2012-08-02 21:23:13.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 621,
/**/
--
hundred-and-one symptoms of being an internet addict:
200. You really believe in the concept of a "paperless" office.
/// 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.3.622 Normal file
View File

@ -0,0 +1,56 @@
To: vim_dev@googlegroups.com
Subject: Patch 7.3.622
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.3.622
Problem: XPM library for Win32 can't be found.
Solution: Suggest using the one from the Vim ftp site.
Files: src/Make_mvc.mak
*** ../vim-7.3.621/src/Make_mvc.mak 2012-08-02 21:21:43.000000000 +0200
--- src/Make_mvc.mak 2012-08-02 21:45:52.000000000 +0200
***************
*** 281,287 ****
!ifdef XPM
# XPM - Include support for XPM signs
! # you can get xpm.lib from http://iamphet.nm.ru/xpm or create it yourself
XPM_OBJ = $(OBJDIR)/xpm_w32.obj
XPM_DEFS = -DFEAT_XPM_W32
XPM_LIB = $(XPM)\lib\libXpm.lib
--- 281,291 ----
!ifdef XPM
# XPM - Include support for XPM signs
! # You need to download or build xpm.lib somehow.
! # You can get the most recent version of libXpm-*.zip from
! # http://cgit.freedesktop.org/xorg/lib/libXpm
! # from which you must build xpm.lib yourself
! # OR get and unpack: ftp://ftp.vim.org/pub/vim/pcextra/xpm.zip
XPM_OBJ = $(OBJDIR)/xpm_w32.obj
XPM_DEFS = -DFEAT_XPM_W32
XPM_LIB = $(XPM)\lib\libXpm.lib
*** ../vim-7.3.621/src/version.c 2012-08-02 21:24:38.000000000 +0200
--- src/version.c 2012-08-02 21:46:43.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 622,
/**/
--
hundred-and-one symptoms of being an internet addict:
202. You're amazed to find out Spam is a food.
/// 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 ///

View File

@ -635,3 +635,21 @@ Individual patches for Vim 7.3:
1532 7.3.602 missing files in distribution
11248 7.3.603 it is possible to add or replace builtin functions
1861 7.3.604 inputdialog() doesn't use the cancel argument in the console
2334 7.3.605 MS-Windows: Can't compile with older compilers
2522 7.3.606 CTRL-P completion has a problem with multi-byte characters
2139 7.3.607 with 8 color terminal selected menu item is black on black
3847 7.3.608 winrestview() does not always restore the view correctly
5843 7.3.609 file names in :checkpath! output are garbled
12106 7.3.610 cannot operate on the text that a search pattern matches
1895 7.3.611 can't use Vim dictionary as self argument in Python
2081 7.3.612 auto formatting messes up text when 'fo' contains "2"
6886 7.3.613 including Python's config.c in the build causes trouble
5747 7.3.614 number arg gets turned into number while it should be string
2915 7.3.615 completion does not recognized escaped spaces
1289 7.3.616 (after 7.3.610) can't compile without +visual
1781 7.3.617 (after 7.3.615) hang on completion
10033 7.3.618 (after 7.3.616) still doesn't compile with small features
1583 7.3.619 when executing a shell command Vim may become slow to respond
4897 7.3.620 building with recent Ruby on Win32 doesn't work
2259 7.3.621 compiler warnings on 64 bit windows
1867 7.3.622 XPM library for Win32 can't be found

View File

@ -1,11 +0,0 @@
--- vim61/runtime/scripts.vim.rh3 2003-02-12 13:00:49.000000000 +0100
+++ vim61/runtime/scripts.vim 2003-02-12 13:01:37.000000000 +0100
@@ -22,6 +22,8 @@
endif
endif
+set formatoptions=tcql nocindent comments&
+
" Line continuation is used here, remove 'C' from 'cpoptions'
let s:cpo_save = &cpo
set cpo&vim

46
vim-7.3-spec-epoch.patch Normal file
View File

@ -0,0 +1,46 @@
--- vim73/runtime/ftplugin/spec.vim 2012-08-06 17:51:41.000000000 +0200
+++ /tmp/spec.vim 2012-08-06 17:51:07.730701143 +0200
@@ -40,10 +40,12 @@
endif
let line = 0
let name = ""
+ let epoch = ""
let ver = ""
let rel = ""
let nameline = -1
let verline = -1
+ let epochline = -1
let relline = -1
let chgline = -1
while (line <= line("$"))
@@ -51,6 +53,9 @@
if (name == "" && linestr =~? '^Name:')
let nameline = line
let name = substitute(strpart(linestr,5), '^[ ]*\([^ ]\+\)[ ]*$','\1','')
+ elseif (epoch == "" && linestr =~? '^Epoch:')
+ let epochline = line
+ let epoch = substitute(strpart(linestr,6), '^[ ]*\([^ ]\+\)[ ]*$','\1','')
elseif (ver == "" && linestr =~? '^Version:')
let verline = line
let ver = substitute(strpart(linestr,8), '^[ ]*\([^ ]\+\)[ ]*$','\1','')
@@ -67,6 +72,7 @@
if (nameline != -1 && verline != -1 && relline != -1)
let include_release_info = 1
let name = s:ParseRpmVars(name, nameline)
+ let epoch = s:ParseRpmVars(epoch, epochline)
let ver = s:ParseRpmVars(ver, verline)
let rel = s:ParseRpmVars(rel, relline)
else
@@ -89,7 +95,11 @@
execute "language time C"
let parsed_format = "* ".strftime(format)
execute "language time " . save_time
- let release_info = ver."-".rel
+ if (epoch == "")
+ let release_info = ver."-".rel
+ else
+ let release_info = epoch.":".ver."-".rel
+ endif
let wrong_format = 0
let wrong_release = 0
let insert_line = 0

View File

@ -18,13 +18,13 @@
#used for pre-releases:
%define beta %{nil}
%define vimdir vim73%{?beta}
%define patchlevel 604
%define patchlevel 622
Summary: The VIM editor
URL: http://www.vim.org/
Name: vim
Version: %{baseversion}.%{beta}%{patchlevel}
Release: 1%{?dist}
Release: 2%{?dist}
License: Vim
Group: Applications/Editors
Source0: ftp://ftp.vim.org/pub/vim/unix/vim-%{baseversion}%{?beta}%{?CVSDATE}.tar.bz2
@ -660,18 +660,36 @@ Patch601: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.601
Patch602: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.602
Patch603: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.603
Patch604: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.604
Patch605: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.605
Patch606: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.606
Patch607: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.607
Patch608: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.608
Patch609: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.609
Patch610: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.610
Patch611: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.611
Patch612: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.612
Patch613: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.613
Patch614: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.614
Patch615: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.615
Patch616: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.616
Patch617: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.617
Patch618: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.618
Patch619: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.619
Patch620: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.620
Patch621: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.621
Patch622: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.622
Patch3000: vim-7.3-syntax.patch
Patch3002: vim-7.1-nowarnings.patch
Patch3003: vim-6.1-rh3.patch
Patch3004: vim-7.0-rclocation.patch
Patch3006: vim-6.4-checkhl.patch
Patch3007: vim-7.3-fstabsyntax.patch
Patch3008: vim-7.0-warning.patch
Patch3009: vim-7.0-syncolor.patch
Patch3010: vim-7.0-specedit.patch
Patch3011: vim72-rh514717.patch
Patch3012: vim-7.3-bug816848.patch
Patch3003: vim-7.0-rclocation.patch
Patch3004: vim-6.4-checkhl.patch
Patch3005: vim-7.3-fstabsyntax.patch
Patch3006: vim-7.0-warning.patch
Patch3007: vim-7.0-syncolor.patch
Patch3008: vim-7.0-specedit.patch
Patch3009: vim72-rh514717.patch
Patch3010: vim-7.3-bug816848.patch
Patch3011: vim-7.3-spec-epoch.patch
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: python-devel ncurses-devel gettext perl-devel
@ -1410,6 +1428,24 @@ perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk
%patch602 -p0
%patch603 -p0
%patch604 -p0
%patch605 -p0
%patch606 -p0
%patch607 -p0
%patch608 -p0
%patch609 -p0
%patch610 -p0
%patch611 -p0
%patch612 -p0
%patch613 -p0
%patch614 -p0
%patch615 -p0
%patch616 -p0
%patch617 -p0
%patch618 -p0
%patch619 -p0
%patch620 -p0
%patch621 -p0
%patch622 -p0
# install spell files
@ -1421,14 +1457,13 @@ perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk
%patch3002 -p1
%patch3003 -p1
%patch3004 -p1
%patch3005 -p1
%patch3006 -p1
%patch3007 -p1
%patch3008 -p1
%patch3009 -p1
%patch3010 -p1
%patch3011 -p1
%patch3012 -p1
%build
cp -f %{SOURCE5} .
@ -1866,6 +1901,15 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/icons/hicolor/*/apps/*
%changelog
* Mon Aug 06 2012 Karsten Hopp <karsten@redhat.com> 2:7.3.622-2
- add epoch to spec.vim and automatic changelog entries
* Mon Aug 06 2012 Karsten Hopp <karsten@redhat.com> 7.3.622-1
- patchlevel 622
* Mon Aug 06 2012 Karsten Hopp <karsten@redhat.com> 7.3.604-1
- drop vim-6.1-rh3.patch, (bz #754801)
* Wed Jul 18 2012 Karsten Hopp <karsten@redhat.com> 7.3.604-1
- patchlevel 604