diff options
Diffstat (limited to 'source/ap/vim/patches')
171 files changed, 21866 insertions, 0 deletions
diff --git a/source/ap/vim/patches/7.2.246 b/source/ap/vim/patches/7.2.246 new file mode 100644 index 000000000..5b1c97861 --- /dev/null +++ b/source/ap/vim/patches/7.2.246 @@ -0,0 +1,53 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.246 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.246 +Problem: Cscope home page link is wrong. +Solution: Update the URL. (Sergey Khorev) +Files: runtime/doc/if_cscop.txt + + +*** ../vim-7.2.245/runtime/doc/if_cscop.txt 2009-07-09 21:22:36.000000000 +0200 +--- runtime/doc/if_cscop.txt 2009-09-11 11:19:31.000000000 +0200 +*************** +*** 481,487 **** + any problems, suggestions, patches, et al., you have for the usage of + cscope within Vim to him. + *cscope-win32* +! For a cscope version for Win32 see: http://iamphet.nm.ru/cscope/index.html + + Win32 support was added by Sergey Khorev <sergey.khorev@gmail.com>. Contact + him if you have Win32-specific issues. +--- 481,488 ---- + any problems, suggestions, patches, et al., you have for the usage of + cscope within Vim to him. + *cscope-win32* +! For a cscope version for Win32 see: +! http://code.google.com/p/cscope-win32/ + + Win32 support was added by Sergey Khorev <sergey.khorev@gmail.com>. Contact + him if you have Win32-specific issues. +*** ../vim-7.2.245/src/version.c 2009-07-29 18:24:59.000000000 +0200 +--- src/version.c 2009-09-11 11:29:02.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 246, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +221. Your wife melts your keyboard in the oven. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.247 b/source/ap/vim/patches/7.2.247 new file mode 100644 index 000000000..e18926d9f --- /dev/null +++ b/source/ap/vim/patches/7.2.247 @@ -0,0 +1,86 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.247 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.247 +Problem: Mzscheme interface minor problem. +Solution: Better error message when build fails. (Sergey Khorev) +Files: src/if_mzsch.c + + +*** ../vim-7.2.246/src/if_mzsch.c 2009-07-09 20:06:30.000000000 +0200 +--- src/if_mzsch.c 2009-09-11 11:20:39.000000000 +0200 +*************** +*** 635,642 **** + #endif /* DYNAMIC_MZSCHEME */ + + /* need to put it here for dynamic stuff to work */ +! #ifdef INCLUDE_MZSCHEME_BASE + # include "mzscheme_base.c" + #endif + + /* +--- 635,644 ---- + #endif /* DYNAMIC_MZSCHEME */ + + /* need to put it here for dynamic stuff to work */ +! #if defined(INCLUDE_MZSCHEME_BASE) + # include "mzscheme_base.c" ++ #elif MZSCHEME_VERSION_MAJOR >= 400 ++ # error MzScheme 4.x must include mzscheme_base.c, for MinGW32 you need to define MZSCHEME_GENERATE_BASE=yes + #endif + + /* +*************** +*** 875,888 **** + #ifdef INCLUDE_MZSCHEME_BASE + { + /* +! * versions 4.x do not provide Scheme bindings by defaults + * we need to add them explicitly + */ + Scheme_Object *scheme_base_symbol = NULL; + MZ_GC_DECL_REG(1); + MZ_GC_VAR_IN_REG(0, scheme_base_symbol); + MZ_GC_REG(); +! /* invoke function from generated and included base.c */ + declare_modules(environment); + scheme_base_symbol = scheme_intern_symbol("scheme/base"); + MZ_GC_CHECK(); +--- 877,890 ---- + #ifdef INCLUDE_MZSCHEME_BASE + { + /* +! * versions 4.x do not provide Scheme bindings by default + * we need to add them explicitly + */ + Scheme_Object *scheme_base_symbol = NULL; + MZ_GC_DECL_REG(1); + MZ_GC_VAR_IN_REG(0, scheme_base_symbol); + MZ_GC_REG(); +! /* invoke function from generated and included mzscheme_base.c */ + declare_modules(environment); + scheme_base_symbol = scheme_intern_symbol("scheme/base"); + MZ_GC_CHECK(); +*** ../vim-7.2.246/src/version.c 2009-09-11 11:30:12.000000000 +0200 +--- src/version.c 2009-09-11 11:53:59.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 247, + /**/ + +-- +Your fault: core dumped + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.248 b/source/ap/vim/patches/7.2.248 new file mode 100644 index 000000000..2254101e9 --- /dev/null +++ b/source/ap/vim/patches/7.2.248 @@ -0,0 +1,158 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.248 (extra) +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.248 (extra) +Problem: Mzscheme interface building minor problems. +Solution: Update Win32 makefiles. (Sergey Khorev) +Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak + + +*** ../vim-7.2.247/src/Make_cyg.mak 2007-09-30 22:28:48.000000000 +0200 +--- src/Make_cyg.mak 2009-09-11 11:23:23.000000000 +0200 +*************** +*** 212,224 **** + MZSCHEME_VER = 209_000 + endif + + ifeq (yes, $(DYNAMIC_MZSCHEME)) + DEFINES += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"libmzsch$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\" + else + ifndef MZSCHEME_DLLS + MZSCHEME_DLLS = $(MZSCHEME) + endif +! EXTRA_LIBS += -L$(MZSCHEME_DLLS) -lmzsch$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER) + endif + endif + +--- 212,245 ---- + MZSCHEME_VER = 209_000 + endif + ++ ifndef MZSCHEME_PRECISE_GC ++ MZSCHEME_PRECISE_GC=no ++ endif ++ ++ # for version 4.x we need to generate byte-code for Scheme base ++ ifndef MZSCHEME_GENERATE_BASE ++ MZSCHEME_GENERATE_BASE=no ++ endif ++ + ifeq (yes, $(DYNAMIC_MZSCHEME)) + DEFINES += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"libmzsch$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\" + else + ifndef MZSCHEME_DLLS + MZSCHEME_DLLS = $(MZSCHEME) + endif +! ifeq (yes,$(MZSCHEME_PRECISE_GC)) +! MZSCHEME_LIB=-lmzsch$(MZSCHEME_VER) +! else +! MZSCHEME_LIB = -lmzsch$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER) +! endif +! EXTRA_LIBS += -L$(MZSCHEME_DLLS) -L$(MZSCHEME_DLLS)/lib $(MZSCHEME_LIB) +! endif +! ifeq (yes,$(MZSCHEME_GENERATE_BASE)) +! DEFINES += -DINCLUDE_MZSCHEME_BASE +! MZ_EXTRA_DEP += mzscheme_base.c +! endif +! ifeq (yes,$(MZSCHEME_PRECISE_GC)) +! DEFINES += -DMZ_PRECISE_GC + endif + endif + +*************** +*** 473,478 **** +--- 494,502 ---- + ifdef PERL + -$(DEL) if_perl.c + endif ++ ifdef MZSCHEME ++ -$(DEL) mzscheme_base.c ++ endif + -$(DEL) pathdef.c + $(MAKE) -C xxd -f Make_cyg.mak clean + $(MAKE) -C GvimExt -f Make_ming.mak clean +*************** +*** 523,531 **** +--- 547,561 ---- + $(OUTDIR)/netbeans.o: netbeans.c $(INCL) $(NBDEBUG_DEP) + $(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o + ++ $(OUTDIR)/if_mzsch.o: if_mzsch.c $(INCL) if_mzsch.h $(MZ_EXTRA_DEP) ++ $(CC) -c $(CFLAGS) if_mzsch.c -o $(OUTDIR)/if_mzsch.o ++ + $(OUTDIR)/vimrc.o: vim.rc version.h gui_w32_rc.h + $(RC) $(RCFLAGS) vim.rc -o $(OUTDIR)/vimrc.o + ++ mzscheme_base.c: ++ $(MZSCHEME)/mzc --c-mods mzscheme_base.c ++lib scheme/base ++ + pathdef.c: $(INCL) + ifneq (sh.exe, $(SHELL)) + @echo creating pathdef.c +*** ../vim-7.2.247/src/Make_ming.mak 2009-05-26 22:58:43.000000000 +0200 +--- src/Make_ming.mak 2009-09-11 11:23:28.000000000 +0200 +*************** +*** 135,141 **** + ifndef MZSCHEME_DLLS + MZSCHEME_DLLS=$(MZSCHEME) + endif +! MZSCHEME_LIBDIR=-L$(MZSCHEME_DLLS) + endif + + endif +--- 135,141 ---- + ifndef MZSCHEME_DLLS + MZSCHEME_DLLS=$(MZSCHEME) + endif +! MZSCHEME_LIBDIR=-L$(MZSCHEME_DLLS) -L$(MZSCHEME_DLLS)\lib + endif + + endif +*************** +*** 563,568 **** +--- 563,571 ---- + ifdef PERL + -$(DEL) if_perl.c + endif ++ ifdef MZSCHEME ++ -$(DEL) mzscheme_base.c ++ endif + $(MAKE) -C GvimExt -f Make_ming.mak clean + $(MAKE) -C xxd -f Make_cyg.mak clean + +*** ../vim-7.2.247/src/Make_mvc.mak 2009-06-16 16:45:14.000000000 +0200 +--- src/Make_mvc.mak 2009-09-11 11:23:28.000000000 +0200 +*************** +*** 865,870 **** +--- 865,871 ---- + - if exist dimm_i.c del dimm_i.c + - if exist dimm.tlb del dimm.tlb + - if exist dosinst.exe del dosinst.exe ++ - if exist mzscheme_base.c del mzscheme_base.c + cd xxd + $(MAKE) /NOLOGO -f Make_mvc.mak clean + cd .. +*** ../vim-7.2.247/src/version.c 2009-09-11 12:20:47.000000000 +0200 +--- src/version.c 2009-09-11 12:48:26.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 248, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +222. You send more than 20 personal e-mails a day. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.249 b/source/ap/vim/patches/7.2.249 new file mode 100644 index 000000000..33169f77f --- /dev/null +++ b/source/ap/vim/patches/7.2.249 @@ -0,0 +1,47 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.249 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.249 +Problem: The script to check .po files can't handle '%' in plural forms. +Solution: Remove "Plural-Forms:" from the checked string. +Files: src/po/check.vim + + +*** ../vim-7.2.248/src/po/check.vim 2008-06-09 14:45:38.000000000 +0200 +--- src/po/check.vim 2009-09-11 12:37:56.000000000 +0200 +*************** +*** 23,28 **** +--- 23,31 ---- + " remove '%', not used for formatting. + let idline = substitute(idline, "'%'", '', 'g') + ++ " remove '%' used for plural forms. ++ let idline = substitute(idline, '\\nPlural-Forms: .\+;\\n', '', '') ++ + " remove everything but % items. + return substitute(idline, '[^%]*\(%[-+ #''.0-9*]*l\=[dsuxXpoc%]\)\=', '\1', 'g') + endfunc +*** ../vim-7.2.248/src/version.c 2009-09-11 12:48:56.000000000 +0200 +--- src/version.c 2009-09-11 12:59:18.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 249, + /**/ + +-- +If evolution theories are correct, humans will soon grow a third +hand for operating the mouse. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.250 b/source/ap/vim/patches/7.2.250 new file mode 100644 index 000000000..2f30a2405 --- /dev/null +++ b/source/ap/vim/patches/7.2.250 @@ -0,0 +1,55 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.250 (extra) +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.250 (extra) +Problem: Possible buffer overflow. +Solution: Compute the remaining space. (Dominique Pelle) +Files: src/GvimExt/gvimext.cpp + + +*** ../vim-7.2.249/src/GvimExt/gvimext.cpp 2008-07-24 20:51:11.000000000 +0200 +--- src/GvimExt/gvimext.cpp 2009-09-11 13:26:27.000000000 +0200 +*************** +*** 635,641 **** + } + // Now concatenate + strncpy(temp, _("Edit with existing Vim - "), BUFSIZE - 1); +! strncat(temp, title, BUFSIZE - 1); + InsertMenu(hMenu, + indexMenu++, + MF_STRING|MF_BYPOSITION, +--- 635,643 ---- + } + // Now concatenate + strncpy(temp, _("Edit with existing Vim - "), BUFSIZE - 1); +! temp[BUFSIZE - 1] = '\0'; +! strncat(temp, title, BUFSIZE - 1 - strlen(temp)); +! temp[BUFSIZE - 1] = '\0'; + InsertMenu(hMenu, + indexMenu++, + MF_STRING|MF_BYPOSITION, +*** ../vim-7.2.249/src/version.c 2009-09-11 12:59:57.000000000 +0200 +--- src/version.c 2009-09-11 13:23:45.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 250, + /**/ + + +-- +hundred-and-one symptoms of being an internet addict: +223. You set up a web-cam as your home's security system. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.251 b/source/ap/vim/patches/7.2.251 new file mode 100644 index 000000000..00cf0f0f8 --- /dev/null +++ b/source/ap/vim/patches/7.2.251 @@ -0,0 +1,71 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.251 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.251 (after 7.2.044) +Problem: Compiler adds invalid memory bounds check. +Solution: Remove _FORTIFY_SOURCE=2 from CFLAGS. (Dominique Pelle) +Files: src/auto/configure, src/configure.in + + +*** ../vim-7.2.250/src/auto/configure 2009-07-22 11:16:54.000000000 +0200 +--- src/auto/configure 2009-08-07 14:49:52.000000000 +0200 +*************** +*** 17135,17141 **** + { $as_echo "$as_me:$LINENO: checking whether we need -D_FORTIFY_SOURCE=1" >&5 + $as_echo_n "checking whether we need -D_FORTIFY_SOURCE=1... " >&6; } + if test "$gccmajor" -gt "3"; then +! CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=1" + { $as_echo "$as_me:$LINENO: result: yes" >&5 + $as_echo "yes" >&6; } + else +--- 17135,17141 ---- + { $as_echo "$as_me:$LINENO: checking whether we need -D_FORTIFY_SOURCE=1" >&5 + $as_echo_n "checking whether we need -D_FORTIFY_SOURCE=1... " >&6; } + if test "$gccmajor" -gt "3"; then +! CFLAGS=`echo "$CFLAGS -D_FORTIFY_SOURCE=1" | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//g' -e 's/-D_FORTIFY_SOURCE=2//g'` + { $as_echo "$as_me:$LINENO: result: yes" >&5 + $as_echo "yes" >&6; } + else +*** ../vim-7.2.250/src/configure.in 2009-07-22 11:16:54.000000000 +0200 +--- src/configure.in 2009-08-07 14:49:47.000000000 +0200 +*************** +*** 3233,3239 **** + dnl declared as char x[1] but actually longer. Introduced in gcc 4.0. + AC_MSG_CHECKING(whether we need -D_FORTIFY_SOURCE=1) + if test "$gccmajor" -gt "3"; then +! CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=1" + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no) +--- 3233,3239 ---- + dnl declared as char x[1] but actually longer. Introduced in gcc 4.0. + AC_MSG_CHECKING(whether we need -D_FORTIFY_SOURCE=1) + if test "$gccmajor" -gt "3"; then +! CFLAGS=`echo "$CFLAGS -D_FORTIFY_SOURCE=1" | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//g' -e 's/-D_FORTIFY_SOURCE=2//g'` + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no) +*** ../vim-7.2.250/src/version.c 2009-09-11 13:26:38.000000000 +0200 +--- src/version.c 2009-09-11 13:43:46.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 251, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +225. You sign up for free subscriptions for all the computer magazines + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.252 b/source/ap/vim/patches/7.2.252 new file mode 100644 index 000000000..b7dc7022b --- /dev/null +++ b/source/ap/vim/patches/7.2.252 @@ -0,0 +1,51 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.252 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.252 +Problem: When using a multi-byte 'enc' the 'iskeyword' option cannot + contain characters above 128. +Solution: Use mb_ptr2char_adv(). +Files: src/charset.c + + +*** ../vim-7.2.251/src/charset.c 2009-05-14 22:19:19.000000000 +0200 +--- src/charset.c 2009-09-09 21:11:46.000000000 +0200 +*************** +*** 174,179 **** +--- 174,184 ---- + if (VIM_ISDIGIT(*p)) + c = getdigits(&p); + else ++ #ifdef FEAT_MBYTE ++ if (has_mbyte) ++ c = mb_ptr2char_adv(&p); ++ else ++ #endif + c = *p++; + c2 = -1; + if (*p == '-' && p[1] != NUL) +*** ../vim-7.2.251/src/version.c 2009-09-11 13:44:33.000000000 +0200 +--- src/version.c 2009-09-11 14:01:48.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 252, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +226. You sit down at the computer right after dinner and your spouse + says "See you in the morning." + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.253 b/source/ap/vim/patches/7.2.253 new file mode 100644 index 000000000..354d444dd --- /dev/null +++ b/source/ap/vim/patches/7.2.253 @@ -0,0 +1,143 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.253 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.253 +Problem: Netbeans interface: getLength always uses current buffer. +Solution: Use ml_get_buf() instead of ml_get(). (Xavier de Gaye) +Files: src/netbeans.c + + +*** ../vim-7.2.252/src/netbeans.c 2009-06-24 16:49:50.000000000 +0200 +--- src/netbeans.c 2009-09-11 13:40:14.000000000 +0200 +*************** +*** 1499,1505 **** + return FAIL; + } + first = *pos; +! nbdebug((" FIRST POS: line %d, col %d\n", first.lnum, first.col)); + pos = off2pos(buf->bufp, off+count-1); + if (!pos) + { +--- 1499,1506 ---- + return FAIL; + } + first = *pos; +! nbdebug((" FIRST POS: line %d, col %d\n", +! first.lnum, first.col)); + pos = off2pos(buf->bufp, off+count-1); + if (!pos) + { +*************** +*** 1510,1516 **** + return FAIL; + } + last = *pos; +! nbdebug((" LAST POS: line %d, col %d\n", last.lnum, last.col)); + del_from_lnum = first.lnum; + del_to_lnum = last.lnum; + doupdate = 1; +--- 1511,1518 ---- + return FAIL; + } + last = *pos; +! nbdebug((" LAST POS: line %d, col %d\n", +! last.lnum, last.col)); + del_from_lnum = first.lnum; + del_to_lnum = last.lnum; + doupdate = 1; +*************** +*** 1521,1527 **** + next = off2pos(buf->bufp, off + count); + + /* Remove part of the first line. */ +! if (first.col != 0 || (next != NULL && first.lnum == next->lnum)) + { + if (first.lnum != last.lnum + || (next != NULL && first.lnum != next->lnum)) +--- 1523,1530 ---- + next = off2pos(buf->bufp, off + count); + + /* Remove part of the first line. */ +! if (first.col != 0 +! || (next != NULL && first.lnum == next->lnum)) + { + if (first.lnum != last.lnum + || (next != NULL && first.lnum != next->lnum)) +*************** +*** 1584,1590 **** + int id = buf_findsign_id(buf->bufp, (linenr_T)i); + if (id > 0) + { +! nbdebug((" Deleting sign %d on line %d\n", id, i)); + buf_delsign(buf->bufp, id); + } + else +--- 1587,1594 ---- + int id = buf_findsign_id(buf->bufp, (linenr_T)i); + if (id > 0) + { +! nbdebug((" Deleting sign %d on line %d\n", +! id, i)); + buf_delsign(buf->bufp, id); + } + else +*************** +*** 1593,1599 **** + } + } + +! nbdebug((" Deleting lines %d through %d\n", del_from_lnum, del_to_lnum)); + curwin->w_cursor.lnum = del_from_lnum; + curwin->w_cursor.col = 0; + del_lines(del_to_lnum - del_from_lnum + 1, FALSE); +--- 1597,1604 ---- + } + } + +! nbdebug((" Deleting lines %d through %d\n", +! del_from_lnum, del_to_lnum)); + curwin->w_cursor.lnum = del_from_lnum; + curwin->w_cursor.col = 0; + del_lines(del_to_lnum - del_from_lnum + 1, FALSE); +*************** +*** 3514,3520 **** + eol_size = 1; + for (lnum = 1; lnum <= bufp->b_ml.ml_line_count; ++lnum) + { +! char_count += (long)STRLEN(ml_get(lnum)) + eol_size; + /* Check for a CTRL-C every 100000 characters */ + if (char_count > last_check) + { +--- 3519,3526 ---- + eol_size = 1; + for (lnum = 1; lnum <= bufp->b_ml.ml_line_count; ++lnum) + { +! char_count += (long)STRLEN(ml_get_buf(bufp, lnum, FALSE)) +! + eol_size; + /* Check for a CTRL-C every 100000 characters */ + if (char_count > last_check) + { +*** ../vim-7.2.252/src/version.c 2009-09-11 14:02:25.000000000 +0200 +--- src/version.c 2009-09-11 14:18:45.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 253, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +227. You sleep next to your monitor. Or on top of it. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.254 b/source/ap/vim/patches/7.2.254 new file mode 100644 index 000000000..c8c57affb --- /dev/null +++ b/source/ap/vim/patches/7.2.254 @@ -0,0 +1,52 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.254 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.254 +Problem: Compiler warning for assigning size_t to int. +Solution: Use size_t for the variable. (George Reilly) +Files: src/fileio.c + + +*** ../vim-7.2.253/src/fileio.c 2009-07-29 18:24:59.000000000 +0200 +--- src/fileio.c 2009-09-11 13:46:19.000000000 +0200 +*************** +*** 4568,4574 **** + c = TRUE; + if (write_info.bw_conv_error_lnum != 0) + { +! int l = STRLEN(IObuff); + vim_snprintf((char *)IObuff + l, IOSIZE - l, _(" in line %ld;"), + (long)write_info.bw_conv_error_lnum); + } +--- 4568,4574 ---- + c = TRUE; + if (write_info.bw_conv_error_lnum != 0) + { +! size_t l = STRLEN(IObuff); + vim_snprintf((char *)IObuff + l, IOSIZE - l, _(" in line %ld;"), + (long)write_info.bw_conv_error_lnum); + } +*** ../vim-7.2.253/src/version.c 2009-09-11 14:19:41.000000000 +0200 +--- src/version.c 2009-09-11 15:03:42.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 254, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +230. You spend your Friday nights typing away at your keyboard + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.255 b/source/ap/vim/patches/7.2.255 new file mode 100644 index 000000000..1bb85b153 --- /dev/null +++ b/source/ap/vim/patches/7.2.255 @@ -0,0 +1,71 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.255 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.255 (after 7.2.242) +Problem: Setting 'rightleft', 'linebreak' and 'wrap' may cause cursor to be + in wrong place. +Solution: Recompute the cursor column for these options. +Files: src/option.c + + +*** ../vim-7.2.254/src/option.c 2009-07-29 15:41:32.000000000 +0200 +--- src/option.c 2009-09-11 13:59:55.000000000 +0200 +*************** +*** 7430,7435 **** +--- 7430,7437 ---- + { + if (curwin->w_p_wrap) + curwin->w_leftcol = 0; ++ if (curwin->w_curswant != MAXCOL) ++ curwin->w_set_curswant = TRUE; + } + + #ifdef FEAT_WINDOWS +*************** +*** 7664,7669 **** +--- 7666,7687 ---- + } + #endif + ++ #ifdef FEAT_LINEBREAK ++ if ((int *)varp == &curwin->w_p_lbr) ++ { ++ if (curwin->w_curswant != MAXCOL) ++ curwin->w_set_curswant = TRUE; ++ } ++ #endif ++ ++ #ifdef FEAT_RIGHTLEFT ++ if ((int *)varp == &curwin->w_p_rl) ++ { ++ if (curwin->w_curswant != MAXCOL) ++ curwin->w_set_curswant = TRUE; ++ } ++ #endif ++ + /* + * End of handling side effects for bool options. + */ +*** ../vim-7.2.254/src/version.c 2009-09-11 15:04:13.000000000 +0200 +--- src/version.c 2009-09-11 15:19:40.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 255, + /**/ + +-- +A computer without Windows is like a fish without a bicycle. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.256 b/source/ap/vim/patches/7.2.256 new file mode 100644 index 000000000..17361fbf1 --- /dev/null +++ b/source/ap/vim/patches/7.2.256 @@ -0,0 +1,59 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.256 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.256 +Problem: When 'guifont' was not set GTK font dialog doesn't have a default. + (Andreas Metzler) +Solution: Set default to DEFAULT_FONT. (James Vega) +Files: src/gui_gtk_x11.c + + +*** ../vim-7.2.255/src/gui_gtk_x11.c 2009-07-01 18:04:30.000000000 +0200 +--- src/gui_gtk_x11.c 2009-09-11 14:21:32.000000000 +0200 +*************** +*** 4729,4734 **** +--- 4729,4737 ---- + if (oldval != NULL && *oldval != NUL) + gtk_font_selection_dialog_set_font_name( + GTK_FONT_SELECTION_DIALOG(gui.fontdlg), (char *)oldval); ++ else ++ gtk_font_selection_dialog_set_font_name( ++ GTK_FONT_SELECTION_DIALOG(gui.fontdlg), DEFAULT_FONT); + + if (gui.fontname) + { +*************** +*** 4816,4821 **** +--- 4819,4827 ---- + if (oldname != oldval) + vim_free(oldname); + } ++ else ++ gtk_font_selection_dialog_set_font_name( ++ GTK_FONT_SELECTION_DIALOG(dialog), DEFAULT_FONT); + + response = gtk_dialog_run(GTK_DIALOG(dialog)); + +*** ../vim-7.2.255/src/version.c 2009-09-11 15:20:22.000000000 +0200 +--- src/version.c 2009-09-11 15:45:36.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 256, + /**/ + +-- +Get a life? What is the URL where it can be downloaded? + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.257 b/source/ap/vim/patches/7.2.257 new file mode 100644 index 000000000..a856a3acb --- /dev/null +++ b/source/ap/vim/patches/7.2.257 @@ -0,0 +1,61 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.257 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.257 +Problem: With GTK 2.17 lots of assertion error messages. +Solution: Remove check for static gravity. (Sebastian Droege) +Files: src/gui_gtk_f.c + + +*** ../vim-7.2.256/src/gui_gtk_f.c 2009-05-17 23:25:16.000000000 +0200 +--- src/gui_gtk_f.c 2009-09-11 15:15:41.000000000 +0200 +*************** +*** 860,870 **** + gtk_form_set_static_gravity(GdkWindow *window, gboolean use_static) + { + #ifdef HAVE_GTK2 +! gboolean static_gravity_supported; +! +! static_gravity_supported = gdk_window_set_static_gravities(window, +! use_static); +! g_return_if_fail(static_gravity_supported); + #else + XSetWindowAttributes xattributes; + +--- 860,868 ---- + gtk_form_set_static_gravity(GdkWindow *window, gboolean use_static) + { + #ifdef HAVE_GTK2 +! /* We don't check if static gravity is actually supported, because it +! * results in an annoying assertion error message. */ +! gdk_window_set_static_gravities(window, use_static); + #else + XSetWindowAttributes xattributes; + +*** ../vim-7.2.256/src/version.c 2009-09-11 15:46:20.000000000 +0200 +--- src/version.c 2009-09-11 16:16:52.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 257, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +231. You sprinkle Carpet Fresh on the rugs and put your vacuum cleaner + in the front doorway permanently so it always looks like you are + actually attempting to do something about that mess that has amassed + since you discovered the Internet. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.258 b/source/ap/vim/patches/7.2.258 new file mode 100644 index 000000000..98ddab580 --- /dev/null +++ b/source/ap/vim/patches/7.2.258 @@ -0,0 +1,74 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.258 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.258 +Problem: v:beval_col and b:beval_text are wrong in UTF-8 text. (Tony + Mechelynck) +Solution: Use byte number instead of character number for the column. +Files: src/ui.c + + +*** ../vim-7.2.257/src/ui.c 2009-07-01 18:04:30.000000000 +0200 +--- src/ui.c 2009-09-11 16:11:50.000000000 +0200 +*************** +*** 3055,3072 **** + int vcol; + { + /* try to advance to the specified column */ +- int col = 0; + int count = 0; + char_u *ptr; + +! ptr = ml_get_buf(wp->w_buffer, lnum, FALSE); + while (count <= vcol && *ptr != NUL) + { +- ++col; + count += win_lbr_chartabsize(wp, ptr, count, NULL); + mb_ptr_adv(ptr); + } +! return col; + } + #endif + +--- 3055,3071 ---- + int vcol; + { + /* try to advance to the specified column */ + int count = 0; + char_u *ptr; ++ char_u *start; + +! start = ptr = ml_get_buf(wp->w_buffer, lnum, FALSE); + while (count <= vcol && *ptr != NUL) + { + count += win_lbr_chartabsize(wp, ptr, count, NULL); + mb_ptr_adv(ptr); + } +! return (int)(ptr - start); + } + #endif + +*** ../vim-7.2.257/src/version.c 2009-09-11 16:17:36.000000000 +0200 +--- src/version.c 2009-09-11 16:45:48.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 258, + /**/ + +-- +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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.259 b/source/ap/vim/patches/7.2.259 new file mode 100644 index 000000000..0bf0ba133 --- /dev/null +++ b/source/ap/vim/patches/7.2.259 @@ -0,0 +1,160 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.259 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.259 +Problem: exists() doesn't work properly for an empty aucmd group. +Solution: Change how au_exists() handles a missing pattern. Also add a + test for this. (Bob Hiestand) +Files: src/fileio.c, src/testdir/Makefile, src/testdir/test67.in, + src/testdir/test67.ok + + +*** ../vim-7.2.258/src/fileio.c 2009-09-11 15:04:13.000000000 +0200 +--- src/fileio.c 2009-09-11 16:37:08.000000000 +0200 +*************** +*** 9498,9512 **** + ap = first_autopat[(int)event]; + if (ap == NULL) + goto theend; +- if (pattern == NULL) +- { +- retval = TRUE; +- goto theend; +- } + + /* if pattern is "<buffer>", special handling is needed which uses curbuf */ + /* for pattern "<buffer=N>, fnamecmp() will work fine */ +! if (STRICMP(pattern, "<buffer>") == 0) + buflocal_buf = curbuf; + + /* Check if there is an autocommand with the given pattern. */ +--- 9498,9507 ---- + ap = first_autopat[(int)event]; + if (ap == NULL) + goto theend; + + /* if pattern is "<buffer>", special handling is needed which uses curbuf */ + /* for pattern "<buffer=N>, fnamecmp() will work fine */ +! if (pattern != NULL && STRICMP(pattern, "<buffer>") == 0) + buflocal_buf = curbuf; + + /* Check if there is an autocommand with the given pattern. */ +*************** +*** 9515,9523 **** + /* For buffer-local autocommands, fnamecmp() works fine. */ + if (ap->pat != NULL && ap->cmds != NULL + && (group == AUGROUP_ALL || ap->group == group) +! && (buflocal_buf == NULL +! ? fnamecmp(ap->pat, pattern) == 0 +! : ap->buflocal_nr == buflocal_buf->b_fnum)) + { + retval = TRUE; + break; +--- 9510,9519 ---- + /* For buffer-local autocommands, fnamecmp() works fine. */ + if (ap->pat != NULL && ap->cmds != NULL + && (group == AUGROUP_ALL || ap->group == group) +! && (pattern == NULL +! || (buflocal_buf == NULL +! ? fnamecmp(ap->pat, pattern) == 0 +! : ap->buflocal_nr == buflocal_buf->b_fnum))) + { + retval = TRUE; + break; +*** ../vim-7.2.258/src/testdir/Makefile 2009-06-24 18:07:55.000000000 +0200 +--- src/testdir/Makefile 2009-09-11 16:31:33.000000000 +0200 +*************** +*** 22,28 **** + test48.out test49.out test51.out test52.out test53.out \ + test54.out test55.out test56.out test57.out test58.out \ + test59.out test60.out test61.out test62.out test63.out \ +! test64.out test65.out test66.out + + SCRIPTS_GUI = test16.out + +--- 22,28 ---- + test48.out test49.out test51.out test52.out test53.out \ + test54.out test55.out test56.out test57.out test58.out \ + test59.out test60.out test61.out test62.out test63.out \ +! test64.out test65.out test66.out test67.out + + SCRIPTS_GUI = test16.out + +*** ../vim-7.2.258/src/testdir/test67.in 2009-09-11 17:23:47.000000000 +0200 +--- src/testdir/test67.in 2009-09-11 16:43:11.000000000 +0200 +*************** +*** 0 **** +--- 1,33 ---- ++ Test that groups and patterns are tested correctly when calling exists() for ++ autocommands. ++ ++ STARTTEST ++ :so small.vim ++ :let results=[] ++ :augroup auexists ++ :augroup END ++ :call add(results, "##BufEnter: " . exists("##BufEnter")) ++ :call add(results, "#BufEnter: " . exists("#BufEnter")) ++ :au BufEnter * let g:entered=1 ++ :call add(results, "#BufEnter: " . exists("#BufEnter")) ++ :call add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter")) ++ :augroup auexists ++ :au BufEnter * let g:entered=1 ++ :augroup END ++ :call add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter")) ++ :call add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test")) ++ :au BufEnter *.test let g:entered=1 ++ :call add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test")) ++ :edit testfile.test ++ :call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>")) ++ :au BufEnter <buffer> let g:entered=1 ++ :call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>")) ++ :edit testfile2.test ++ :call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>")) ++ :e test.out ++ :call append(0, results) ++ :$d ++ :w ++ :qa! ++ ENDTEST ++ +*** ../vim-7.2.258/src/testdir/test67.ok 2009-09-11 17:23:47.000000000 +0200 +--- src/testdir/test67.ok 2009-09-11 16:43:15.000000000 +0200 +*************** +*** 0 **** +--- 1,10 ---- ++ ##BufEnter: 1 ++ #BufEnter: 0 ++ #BufEnter: 1 ++ #auexists#BufEnter: 0 ++ #auexists#BufEnter: 1 ++ #BufEnter#*.test: 0 ++ #BufEnter#*.test: 1 ++ #BufEnter#<buffer>: 0 ++ #BufEnter#<buffer>: 1 ++ #BufEnter#<buffer>: 0 +*** ../vim-7.2.258/src/version.c 2009-09-11 16:48:06.000000000 +0200 +--- src/version.c 2009-09-11 17:23:14.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 259, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +234. You started college as a chemistry major, and walk out four years + later as an Internet provider. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.260 b/source/ap/vim/patches/7.2.260 new file mode 100644 index 000000000..46d4365c2 --- /dev/null +++ b/source/ap/vim/patches/7.2.260 @@ -0,0 +1,155 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.260 (extra) +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.260 (extra part of 7.2.259) +Problem: exists() doesn't work properly for empty aucmd group. +Solution: Change how au_exists() handles a missing pattern. Also add a + test for this. (Bob Hiestand) +Files: 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 + + +*** ../vim-7.2.259/src/testdir/Make_amiga.mak 2009-03-11 16:36:04.000000000 +0100 +--- src/testdir/Make_amiga.mak 2009-09-11 16:29:54.000000000 +0200 +*************** +*** 26,32 **** + test48.out test51.out test53.out test54.out test55.out \ + test56.out test57.out test58.out test59.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ +! test66.out + + .SUFFIXES: .in .out + +--- 26,32 ---- + test48.out test51.out test53.out test54.out test55.out \ + test56.out test57.out test58.out test59.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ +! test66.out test67.out + + .SUFFIXES: .in .out + +*************** +*** 112,114 **** +--- 112,115 ---- + test64.out: test64.in + test65.out: test65.in + test66.out: test66.in ++ test67.out: test67.in +*** ../vim-7.2.259/src/testdir/Make_dos.mak 2009-03-11 16:36:04.000000000 +0100 +--- src/testdir/Make_dos.mak 2009-09-11 16:30:17.000000000 +0200 +*************** +*** 26,32 **** + test15.out test17.out test18.out test21.out test26.out \ + test30.out test31.out test32.out test33.out test34.out \ + test37.out test38.out test39.out test40.out test41.out \ +! test42.out test52.out test65.out test66.out + + SCRIPTS32 = test50.out + +--- 26,32 ---- + test15.out test17.out test18.out test21.out test26.out \ + test30.out test31.out test32.out test33.out test34.out \ + test37.out test38.out test39.out test40.out test41.out \ +! test42.out test52.out test65.out test66.out test67.out + + SCRIPTS32 = test50.out + +*** ../vim-7.2.259/src/testdir/Make_ming.mak 2009-03-11 16:36:04.000000000 +0100 +--- src/testdir/Make_ming.mak 2009-09-11 16:30:37.000000000 +0200 +*************** +*** 45,51 **** + test15.out test17.out test18.out test21.out test26.out \ + test30.out test31.out test32.out test33.out test34.out \ + test37.out test38.out test39.out test40.out test41.out \ +! test42.out test52.out test65.out test66.out + + SCRIPTS32 = test50.out + +--- 45,51 ---- + test15.out test17.out test18.out test21.out test26.out \ + test30.out test31.out test32.out test33.out test34.out \ + test37.out test38.out test39.out test40.out test41.out \ +! test42.out test52.out test65.out test66.out test67.out + + SCRIPTS32 = test50.out + +*** ../vim-7.2.259/src/testdir/Make_os2.mak 2009-03-11 16:36:04.000000000 +0100 +--- src/testdir/Make_os2.mak 2009-09-11 16:30:52.000000000 +0200 +*************** +*** 26,32 **** + test48.out test51.out test53.out test54.out test55.out \ + test56.out test57.out test58.out test59.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ +! test66.out + + .SUFFIXES: .in .out + +--- 26,32 ---- + test48.out test51.out test53.out test54.out test55.out \ + test56.out test57.out test58.out test59.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ +! test66.out test67.out + + .SUFFIXES: .in .out + +*** ../vim-7.2.259/src/testdir/Make_vms.mms 2009-03-11 16:36:04.000000000 +0100 +--- src/testdir/Make_vms.mms 2009-09-11 16:31:06.000000000 +0200 +*************** +*** 4,10 **** + # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com> + # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu> + # +! # Last change: 2009 Mar 05 + # + # 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: 2009 Sep 11 + # + # 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. +*************** +*** 69,75 **** + test48.out test51.out test53.out test54.out test55.out \ + test56.out test57.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ +! test66.out + + .IFDEF WANT_GUI + SCRIPT_GUI = test16.out +--- 69,75 ---- + test48.out test51.out test53.out test54.out test55.out \ + test56.out test57.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ +! test66.out test67.out + + .IFDEF WANT_GUI + SCRIPT_GUI = test16.out +*** ../vim-7.2.259/src/version.c 2009-09-11 17:24:01.000000000 +0200 +--- src/version.c 2009-09-18 14:57:05.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 260, + /**/ + +-- +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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.261 b/source/ap/vim/patches/7.2.261 new file mode 100644 index 000000000..4f8e72d71 --- /dev/null +++ b/source/ap/vim/patches/7.2.261 @@ -0,0 +1,83 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.261 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.261 +Problem: When deleting lines with a specific folding configuration E38 may + appear. (Shahaf) +Solution: When adjusting nested folds for deleted lines take into account + that they don't start at the top of the enclosing fold. +Files: src/fold.c + + +*** ../vim-7.2.260/src/fold.c 2009-01-06 15:01:58.000000000 +0100 +--- src/fold.c 2009-09-18 14:43:23.000000000 +0200 +*************** +*** 1607,1617 **** + } + else + { +- /* 2, 3, or 5: need to correct nested folds too */ +- foldMarkAdjustRecurse(&fp->fd_nested, line1 - fp->fd_top, +- line2 - fp->fd_top, amount, amount_after); + if (fp->fd_top < top) + { + if (last <= line2) + { + /* 2. fold contains line1, line2 is below fold */ +--- 1607,1617 ---- + } + else + { + if (fp->fd_top < top) + { ++ /* 2 or 3: need to correct nested folds too */ ++ foldMarkAdjustRecurse(&fp->fd_nested, line1 - fp->fd_top, ++ line2 - fp->fd_top, amount, amount_after); + if (last <= line2) + { + /* 2. fold contains line1, line2 is below fold */ +*************** +*** 1628,1634 **** + } + else + { +! /* 5. fold is below line1 and contains line2 */ + if (amount == MAXLNUM) + { + fp->fd_len -= line2 - fp->fd_top + 1; +--- 1628,1638 ---- + } + else + { +! /* 5. fold is below line1 and contains line2; need to +! * correct nested folds too */ +! foldMarkAdjustRecurse(&fp->fd_nested, line1 - fp->fd_top, +! line2 - fp->fd_top, amount, +! amount_after + (fp->fd_top - top)); + if (amount == MAXLNUM) + { + fp->fd_len -= line2 - fp->fd_top + 1; +*** ../vim-7.2.260/src/version.c 2009-09-18 14:58:26.000000000 +0200 +--- src/version.c 2009-09-18 15:14:40.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 261, + /**/ + +-- +Emacs is a nice OS - but it lacks a good text editor. +That's why I am using Vim. --Anonymous + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.262 b/source/ap/vim/patches/7.2.262 new file mode 100644 index 000000000..dc73c07b8 --- /dev/null +++ b/source/ap/vim/patches/7.2.262 @@ -0,0 +1,189 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.262 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.262 +Problem: When using custom completion for a user command the pattern string + goes beyond the cursor position. (Hari Krishna Dara) +Solution: Truncate the string at the cursor position. +Files: src/ex_getln.c, src/structs.h + + +*** ../vim-7.2.261/src/ex_getln.c 2009-06-24 17:04:40.000000000 +0200 +--- src/ex_getln.c 2009-09-18 16:58:16.000000000 +0200 +*************** +*** 3266,3272 **** + int i, j; + char_u *p1; + char_u *p2; +- int oldlen; + int difflen; + int v; + +--- 3266,3271 ---- +*************** +*** 3291,3297 **** + out_flush(); + + i = (int)(xp->xp_pattern - ccline.cmdbuff); +! oldlen = ccline.cmdpos - i; + + if (type == WILD_NEXT || type == WILD_PREV) + { +--- 3290,3296 ---- + out_flush(); + + i = (int)(xp->xp_pattern - ccline.cmdbuff); +! xp->xp_pattern_len = ccline.cmdpos - i; + + if (type == WILD_NEXT || type == WILD_PREV) + { +*************** +*** 3305,3322 **** + /* + * Translate string into pattern and expand it. + */ +! if ((p1 = addstar(&ccline.cmdbuff[i], oldlen, xp->xp_context)) == NULL) + p2 = NULL; + else + { +! p2 = ExpandOne(xp, p1, vim_strnsave(&ccline.cmdbuff[i], oldlen), + WILD_HOME_REPLACE|WILD_ADD_SLASH|WILD_SILENT|WILD_ESCAPE + |options, type); + vim_free(p1); + /* longest match: make sure it is not shorter (happens with :help */ + if (p2 != NULL && type == WILD_LONGEST) + { +! for (j = 0; j < oldlen; ++j) + if (ccline.cmdbuff[i + j] == '*' + || ccline.cmdbuff[i + j] == '?') + break; +--- 3304,3323 ---- + /* + * Translate string into pattern and expand it. + */ +! if ((p1 = addstar(xp->xp_pattern, xp->xp_pattern_len, +! xp->xp_context)) == NULL) + p2 = NULL; + else + { +! p2 = ExpandOne(xp, p1, +! vim_strnsave(&ccline.cmdbuff[i], xp->xp_pattern_len), + WILD_HOME_REPLACE|WILD_ADD_SLASH|WILD_SILENT|WILD_ESCAPE + |options, type); + vim_free(p1); + /* longest match: make sure it is not shorter (happens with :help */ + if (p2 != NULL && type == WILD_LONGEST) + { +! for (j = 0; j < xp->xp_pattern_len; ++j) + if (ccline.cmdbuff[i + j] == '*' + || ccline.cmdbuff[i + j] == '?') + break; +*************** +*** 3331,3337 **** + + if (p2 != NULL && !got_int) + { +! difflen = (int)STRLEN(p2) - oldlen; + if (ccline.cmdlen + difflen > ccline.cmdbufflen - 4) + { + v = realloc_cmdbuff(ccline.cmdlen + difflen); +--- 3332,3338 ---- + + if (p2 != NULL && !got_int) + { +! difflen = (int)STRLEN(p2) - xp->xp_pattern_len; + if (ccline.cmdlen + difflen > ccline.cmdbufflen - 4) + { + v = realloc_cmdbuff(ccline.cmdlen + difflen); +*************** +*** 3620,3625 **** +--- 3621,3627 ---- + expand_T *xp; + { + xp->xp_pattern = NULL; ++ xp->xp_pattern_len = 0; + xp->xp_backslash = XP_BS_NONE; + #ifndef BACKSLASH_IN_FILENAME + xp->xp_shell = FALSE; +*************** +*** 4311,4318 **** + } + + /* add star to file name, or convert to regexp if not exp. files. */ +! file_str = addstar(xp->xp_pattern, +! (int)(str + col - xp->xp_pattern), xp->xp_context); + if (file_str == NULL) + return EXPAND_UNSUCCESSFUL; + +--- 4313,4320 ---- + } + + /* add star to file name, or convert to regexp if not exp. files. */ +! xp->xp_pattern_len = (int)(str + col - xp->xp_pattern); +! file_str = addstar(xp->xp_pattern, xp->xp_pattern_len, xp->xp_context); + if (file_str == NULL) + return EXPAND_UNSUCCESSFUL; + +*************** +*** 4781,4787 **** + sprintf((char *)num, "%d", ccline.cmdpos); + args[1] = ccline.cmdbuff; + } +! args[0] = xp->xp_pattern; + args[2] = num; + + /* Save the cmdline, we don't know what the function may do. */ +--- 4783,4789 ---- + sprintf((char *)num, "%d", ccline.cmdpos); + args[1] = ccline.cmdbuff; + } +! args[0] = vim_strnsave(xp->xp_pattern, xp->xp_pattern_len); + args[2] = num; + + /* Save the cmdline, we don't know what the function may do. */ +*************** +*** 4797,4802 **** +--- 4799,4805 ---- + if (ccline.cmdbuff != NULL) + ccline.cmdbuff[ccline.cmdlen] = keep; + ++ vim_free(args[0]); + return ret; + } + +*** ../vim-7.2.261/src/structs.h 2009-07-29 12:09:49.000000000 +0200 +--- src/structs.h 2009-09-18 15:33:15.000000000 +0200 +*************** +*** 432,437 **** +--- 432,438 ---- + { + int xp_context; /* type of expansion */ + char_u *xp_pattern; /* start of item to expand */ ++ int xp_pattern_len; /* bytes in xp_pattern before cursor */ + #if defined(FEAT_USR_CMDS) && defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL) + char_u *xp_arg; /* completion function */ + int xp_scriptID; /* SID for completion function */ +*** ../vim-7.2.261/src/version.c 2009-09-18 15:16:37.000000000 +0200 +--- src/version.c 2009-09-18 17:23:20.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 262, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +252. You vote for foreign officials. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.263 b/source/ap/vim/patches/7.2.263 new file mode 100644 index 000000000..fdbfa4064 --- /dev/null +++ b/source/ap/vim/patches/7.2.263 @@ -0,0 +1,87 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.263 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.263 +Problem: GTK2: when using the -geom argument with an offset from the right + edge and the size is smaller than the default, the Vim window is + not positioned properly. +Solution: Use another function to set the size. (Vitaly Minko) +Files: src/gui_gtk_x11.c + + +*** ../vim-7.2.262/src/gui_gtk_x11.c 2009-09-11 15:46:20.000000000 +0200 +--- src/gui_gtk_x11.c 2009-09-23 15:43:52.000000000 +0200 +*************** +*** 4066,4071 **** +--- 4066,4073 ---- + { + guicolor_T fg_pixel = INVALCOLOR; + guicolor_T bg_pixel = INVALCOLOR; ++ guint pixel_width; ++ guint pixel_height; + + #ifdef HAVE_GTK2 + /* +*************** +*** 4106,4113 **** + unsigned int w, h; + int x = 0; + int y = 0; +- guint pixel_width; +- guint pixel_height; + + mask = XParseGeometry((char *)gui.geom, &x, &y, &w, &h); + +--- 4108,4113 ---- +*************** +*** 4160,4168 **** + } + } + +! gtk_form_set_size(GTK_FORM(gui.formwin), +! (guint)(gui_get_base_width() + Columns * gui.char_width), +! (guint)(gui_get_base_height() + Rows * gui.char_height)); + update_window_manager_hints(0, 0); + + if (foreground_argument != NULL) +--- 4160,4175 ---- + } + } + +! pixel_width = (guint)(gui_get_base_width() + Columns * gui.char_width); +! pixel_height = (guint)(gui_get_base_height() + Rows * gui.char_height); +! #ifdef HAVE_GTK2 +! /* For GTK2 changing the size of the form widget doesn't cause window +! * resizing. */ +! if (gtk_socket_id == 0) +! gtk_window_resize(GTK_WINDOW(gui.mainwin), pixel_width, pixel_height); +! #else +! gtk_form_set_size(GTK_FORM(gui.formwin), pixel_width, pixel_height); +! #endif + update_window_manager_hints(0, 0); + + if (foreground_argument != NULL) +*** ../vim-7.2.262/src/version.c 2009-09-18 17:24:54.000000000 +0200 +--- src/version.c 2009-09-23 17:34:08.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 263, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +267. You get an extra phone line so you can get phone calls. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.264 b/source/ap/vim/patches/7.2.264 new file mode 100644 index 000000000..808f29169 --- /dev/null +++ b/source/ap/vim/patches/7.2.264 @@ -0,0 +1,168 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.264 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.264 +Problem: GTK2: When the Vim window is maximized setting 'columns' or + 'lines' doesn't work. +Solution: Unmaximize the window before setting the size. (Vitaly Minko) +Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro + + +*** ../vim-7.2.263/src/gui.c 2009-07-29 11:10:31.000000000 +0200 +--- src/gui.c 2009-09-23 16:28:09.000000000 +0200 +*************** +*** 1386,1391 **** +--- 1386,1395 ---- + int min_height; + int screen_w; + int screen_h; ++ #ifdef HAVE_GTK2 ++ int un_maximize = mustset; ++ int did_adjust = 0; ++ #endif + + if (!gui.shell_created) + return; +*************** +*** 1425,1446 **** + if (Columns < MIN_COLUMNS) + Columns = MIN_COLUMNS; + width = Columns * gui.char_width + base_width; + } + if ((direction & RESIZE_VERT) && height > screen_h) + { + Rows = (screen_h - base_height) / gui.char_height; + check_shellsize(); + height = Rows * gui.char_height + base_height; + } + } + gui.num_cols = Columns; + gui.num_rows = Rows; + + min_width = base_width + MIN_COLUMNS * gui.char_width; + min_height = base_height + MIN_LINES * gui.char_height; +! # ifdef FEAT_WINDOWS + min_height += tabline_height() * gui.char_height; +! # endif + + gui_mch_set_shellsize(width, height, min_width, min_height, + base_width, base_height, direction); +--- 1429,1475 ---- + if (Columns < MIN_COLUMNS) + Columns = MIN_COLUMNS; + width = Columns * gui.char_width + base_width; ++ #ifdef HAVE_GTK2 ++ ++did_adjust; ++ #endif + } + if ((direction & RESIZE_VERT) && height > screen_h) + { + Rows = (screen_h - base_height) / gui.char_height; + check_shellsize(); + height = Rows * gui.char_height + base_height; ++ #ifdef HAVE_GTK2 ++ ++did_adjust; ++ #endif + } ++ #ifdef HAVE_GTK2 ++ if (did_adjust == 2 || (width + gui.char_width >= screen_w ++ && height + gui.char_height >= screen_h)) ++ /* don't unmaximize if at maximum size */ ++ un_maximize = FALSE; ++ #endif + } + gui.num_cols = Columns; + gui.num_rows = Rows; + + min_width = base_width + MIN_COLUMNS * gui.char_width; + min_height = base_height + MIN_LINES * gui.char_height; +! #ifdef FEAT_WINDOWS + min_height += tabline_height() * gui.char_height; +! #endif +! +! #ifdef HAVE_GTK2 +! if (un_maximize) +! { +! /* If the window size is smaller than the screen unmaximize the +! * window, otherwise resizing won't work. */ +! gui_mch_get_screen_dimensions(&screen_w, &screen_h); +! if ((width + gui.char_width < screen_w +! || height + gui.char_height * 2 < screen_h) +! && gui_mch_maximized()) +! gui_mch_unmaximize(); +! } +! #endif + + gui_mch_set_shellsize(width, height, min_width, min_height, + base_width, base_height, direction); +*** ../vim-7.2.263/src/gui_gtk_x11.c 2009-09-23 17:35:17.000000000 +0200 +--- src/gui_gtk_x11.c 2009-09-23 15:43:52.000000000 +0200 +*************** +*** 4376,4381 **** +--- 4376,4404 ---- + #endif + #endif /* HAVE_GTK2 */ + ++ #if defined(HAVE_GTK2) || defined(PROTO) ++ /* ++ * Return TRUE if the main window is maximized. ++ */ ++ int ++ gui_mch_maximized() ++ { ++ return (gui.mainwin != NULL && gui.mainwin->window != NULL ++ && (gdk_window_get_state(gui.mainwin->window) ++ & GDK_WINDOW_STATE_MAXIMIZED)); ++ } ++ ++ /* ++ * Unmaximize the main window ++ */ ++ void ++ gui_mch_unmaximize() ++ { ++ if (gui.mainwin != NULL) ++ gtk_window_unmaximize(GTK_WINDOW(gui.mainwin)); ++ } ++ #endif ++ + /* + * Set the windows size. + */ +*** ../vim-7.2.263/src/proto/gui_gtk_x11.pro 2007-05-05 19:18:54.000000000 +0200 +--- src/proto/gui_gtk_x11.pro 2009-09-23 15:43:45.000000000 +0200 +*************** +*** 16,21 **** +--- 16,23 ---- + void gui_mch_exit __ARGS((int rc)); + int gui_mch_get_winpos __ARGS((int *x, int *y)); + void gui_mch_set_winpos __ARGS((int x, int y)); ++ int gui_mch_maximized __ARGS((void)); ++ void gui_mch_unmaximize __ARGS((void)); + void gui_mch_set_shellsize __ARGS((int width, int height, int min_width, int min_height, int base_width, int base_height, int direction)); + void gui_mch_get_screen_dimensions __ARGS((int *screen_w, int *screen_h)); + void gui_mch_settitle __ARGS((char_u *title, char_u *icon)); +*** ../vim-7.2.263/src/version.c 2009-09-23 17:35:17.000000000 +0200 +--- src/version.c 2009-09-23 18:12:21.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 264, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +268. You get up in the morning and go online before getting your coffee. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.265 b/source/ap/vim/patches/7.2.265 new file mode 100644 index 000000000..468515024 --- /dev/null +++ b/source/ap/vim/patches/7.2.265 @@ -0,0 +1,56 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.265 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.265 +Problem: When using ":silent broken" inside try/catch silency may persist. + (dr-dr xp) +Solution: Set msg_silent when there is an error and it's bigger than the + saved value. +Files: src/ex_docmd.c + + +*** ../vim-7.2.264/src/ex_docmd.c 2009-07-09 20:13:59.000000000 +0200 +--- src/ex_docmd.c 2009-09-30 11:40:53.000000000 +0200 +*************** +*** 2695,2701 **** + { + /* messages could be enabled for a serious error, need to check if the + * counters don't become negative */ +! if (!did_emsg) + msg_silent = save_msg_silent; + emsg_silent -= did_esilent; + if (emsg_silent < 0) +--- 2695,2701 ---- + { + /* messages could be enabled for a serious error, need to check if the + * counters don't become negative */ +! if (!did_emsg || msg_silent > save_msg_silent) + msg_silent = save_msg_silent; + emsg_silent -= did_esilent; + if (emsg_silent < 0) +*** ../vim-7.2.264/src/version.c 2009-09-23 18:14:13.000000000 +0200 +--- src/version.c 2009-09-30 13:22:47.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 265, + /**/ + +-- +FIRST HEAD: Oh! quick! get the sword out I want to cut his head off. +THIRD HEAD: Oh, cut your own head off. +SECOND HEAD: Yes - do us all a favour. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.266 b/source/ap/vim/patches/7.2.266 new file mode 100644 index 000000000..3a5ba7741 --- /dev/null +++ b/source/ap/vim/patches/7.2.266 @@ -0,0 +1,244 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.266 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.266 +Problem: When an expression abbreviation is triggered, the typed character + is unknown. +Solution: Make the typed character available in v:char. +Files: runtime/doc/map.txt, src/eval.c, src/getchar.c, src/ops.c, + src/proto/eval.pro + + +*** ../vim-7.2.265/runtime/doc/map.txt 2008-08-09 19:36:49.000000000 +0200 +--- runtime/doc/map.txt 2009-09-23 19:39:19.000000000 +0200 +*************** +*** 224,229 **** +--- 224,233 ---- + The result of the InsertDot() function will be inserted. It could check the + text before the cursor and start omni completion when some condition is met. + ++ For abbreviations |v:char| is set to the character that was typed to trigger ++ the abbreviation. You can use this to decide how to expand the {lhs}. You ++ can't change v:char and you should not insert it. ++ + Be very careful about side effects! The expression is evaluated while + obtaining characters, you may very well make the command dysfunctional. + For this reason the following is blocked: +*** ../vim-7.2.265/src/eval.c 2009-06-03 14:25:47.000000000 +0200 +--- src/eval.c 2009-09-23 19:36:32.000000000 +0200 +*************** +*** 18101,18106 **** +--- 18101,18131 ---- + } + + /* ++ * Set v:char to character "c". ++ */ ++ void ++ set_vim_var_char(c) ++ int c; ++ { ++ #ifdef FEAT_MBYTE ++ char_u buf[MB_MAXBYTES]; ++ #else ++ char_u buf[2]; ++ #endif ++ ++ #ifdef FEAT_MBYTE ++ if (has_mbyte) ++ buf[(*mb_char2bytes)(c, buf)] = NUL; ++ else ++ #endif ++ { ++ buf[0] = c; ++ buf[1] = NUL; ++ } ++ set_vim_var_string(VV_CHAR, buf, -1); ++ } ++ ++ /* + * Set v:count to "count" and v:count1 to "count1". + * When "set_prevcount" is TRUE first set v:prevcount from v:count. + */ +*** ../vim-7.2.265/src/getchar.c 2009-07-14 13:44:43.000000000 +0200 +--- src/getchar.c 2009-09-23 19:35:54.000000000 +0200 +*************** +*** 129,135 **** + static void validate_maphash __ARGS((void)); + static void showmap __ARGS((mapblock_T *mp, int local)); + #ifdef FEAT_EVAL +! static char_u *eval_map_expr __ARGS((char_u *str)); + #endif + + /* +--- 129,135 ---- + static void validate_maphash __ARGS((void)); + static void showmap __ARGS((mapblock_T *mp, int local)); + #ifdef FEAT_EVAL +! static char_u *eval_map_expr __ARGS((char_u *str, int c)); + #endif + + /* +*************** +*** 2446,2452 **** + if (tabuf.typebuf_valid) + { + vgetc_busy = 0; +! s = eval_map_expr(mp->m_str); + vgetc_busy = save_vgetc_busy; + } + else +--- 2446,2452 ---- + if (tabuf.typebuf_valid) + { + vgetc_busy = 0; +! s = eval_map_expr(mp->m_str, NUL); + vgetc_busy = save_vgetc_busy; + } + else +*************** +*** 4367,4375 **** + * abbreviation, but is not inserted into the input stream. + */ + j = 0; +- /* special key code, split up */ + if (c != Ctrl_RSB) + { + if (IS_SPECIAL(c) || c == K_SPECIAL) + { + tb[j++] = K_SPECIAL; +--- 4367,4375 ---- + * abbreviation, but is not inserted into the input stream. + */ + j = 0; + if (c != Ctrl_RSB) + { ++ /* special key code, split up */ + if (IS_SPECIAL(c) || c == K_SPECIAL) + { + tb[j++] = K_SPECIAL; +*************** +*** 4398,4404 **** + } + #ifdef FEAT_EVAL + if (mp->m_expr) +! s = eval_map_expr(mp->m_str); + else + #endif + s = mp->m_str; +--- 4398,4404 ---- + } + #ifdef FEAT_EVAL + if (mp->m_expr) +! s = eval_map_expr(mp->m_str, c); + else + #endif + s = mp->m_str; +*************** +*** 4434,4441 **** + * special characters. + */ + static char_u * +! eval_map_expr(str) + char_u *str; + { + char_u *res; + char_u *p; +--- 4434,4442 ---- + * special characters. + */ + static char_u * +! eval_map_expr(str, c) + char_u *str; ++ int c; /* NUL or typed character for abbreviation */ + { + char_u *res; + char_u *p; +*************** +*** 4452,4457 **** +--- 4453,4459 ---- + #ifdef FEAT_EX_EXTRA + ++ex_normal_lock; + #endif ++ set_vim_var_char(c); /* set v:char to the typed character */ + save_cursor = curwin->w_cursor; + p = eval_to_string(str, NULL, FALSE); + --textlock; +*** ../vim-7.2.265/src/ops.c 2009-07-01 18:04:30.000000000 +0200 +--- src/ops.c 2009-09-23 19:11:40.000000000 +0200 +*************** +*** 4473,4483 **** + int use_sandbox = was_set_insecurely((char_u *)"formatexpr", + OPT_LOCAL); + int r; +- #ifdef FEAT_MBYTE +- char_u buf[MB_MAXBYTES]; +- #else +- char_u buf[2]; +- #endif + + /* + * Set v:lnum to the first line number and v:count to the number of lines. +--- 4473,4478 ---- +*************** +*** 4485,4501 **** + */ + set_vim_var_nr(VV_LNUM, lnum); + set_vim_var_nr(VV_COUNT, count); +! +! #ifdef FEAT_MBYTE +! if (has_mbyte) +! buf[(*mb_char2bytes)(c, buf)] = NUL; +! else +! #endif +! { +! buf[0] = c; +! buf[1] = NUL; +! } +! set_vim_var_string(VV_CHAR, buf, -1); + + /* + * Evaluate the function. +--- 4480,4486 ---- + */ + set_vim_var_nr(VV_LNUM, lnum); + set_vim_var_nr(VV_COUNT, count); +! set_vim_var_char(c); + + /* + * Evaluate the function. +*** ../vim-7.2.265/src/proto/eval.pro 2008-11-20 16:11:03.000000000 +0100 +--- src/proto/eval.pro 2009-09-23 19:36:30.000000000 +0200 +*************** +*** 61,66 **** +--- 61,67 ---- + long get_vim_var_nr __ARGS((int idx)); + char_u *get_vim_var_str __ARGS((int idx)); + list_T *get_vim_var_list __ARGS((int idx)); ++ void set_vim_var_char __ARGS((int c)); + void set_vcount __ARGS((long count, long count1, int set_prevcount)); + void set_vim_var_string __ARGS((int idx, char_u *val, int len)); + void set_vim_var_list __ARGS((int idx, list_T *val)); +*** ../vim-7.2.265/src/version.c 2009-09-30 13:23:57.000000000 +0200 +--- src/version.c 2009-09-30 15:11:29.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 266, + /**/ + +-- +Life would be so much easier if we could just look at the source code. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.267 b/source/ap/vim/patches/7.2.267 new file mode 100644 index 000000000..6df92c945 --- /dev/null +++ b/source/ap/vim/patches/7.2.267 @@ -0,0 +1,47 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.267 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.267 +Problem: Crash for narrow window and double-width character. +Solution: Check for zero width. (Taro Muraoka) +Files: src/charset.c + + +*** ../vim-7.2.266/src/charset.c 2009-09-11 14:02:25.000000000 +0200 +--- src/charset.c 2009-10-07 16:17:27.000000000 +0200 +*************** +*** 1218,1223 **** +--- 1218,1225 ---- + if ((int)vcol == width1 - 1) + return TRUE; + width2 = width1 + win_col_off2(wp); ++ if (width2 <= 0) ++ return FALSE; + return ((vcol - width1) % width2 == width2 - 1); + } + #endif /* FEAT_MBYTE */ +*** ../vim-7.2.266/src/version.c 2009-09-30 15:15:33.000000000 +0200 +--- src/version.c 2009-10-07 16:19:05.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 267, + /**/ + +-- +You got to work at a mill? Lucky! I got sent back to work in the +acid-mines for my daily crust of stale bread... which not even the +birds would eat. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.268 b/source/ap/vim/patches/7.2.268 new file mode 100644 index 000000000..89c50b04b --- /dev/null +++ b/source/ap/vim/patches/7.2.268 @@ -0,0 +1,80 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.268 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.268 +Problem: Crash when using Python to set cursor beyond end of line. + (winterTTr) +Solution: Check the column to be valid. +Files: src/if_python.c + + +*** ../vim-7.2.267/src/if_python.c 2009-07-09 20:06:30.000000000 +0200 +--- src/if_python.c 2009-10-10 14:49:10.000000000 +0200 +*************** +*** 2058,2063 **** +--- 2058,2064 ---- + { + long lnum; + long col; ++ long len; + + if (!PyArg_Parse(val, "(ll)", &lnum, &col)) + return -1; +*************** +*** 2072,2081 **** + if (VimErrorCheck()) + return -1; + +! /* NO CHECK ON COLUMN - SEEMS NOT TO MATTER */ + + this->win->w_cursor.lnum = lnum; + this->win->w_cursor.col = col; + update_screen(VALID); + + return 0; +--- 2073,2088 ---- + if (VimErrorCheck()) + return -1; + +! /* When column is out of range silently correct it. */ +! len = STRLEN(ml_get_buf(this->win->w_buffer, lnum, FALSE)); +! if (col > len) +! col = len; + + this->win->w_cursor.lnum = lnum; + this->win->w_cursor.col = col; ++ #ifdef FEAT_VIRTUALEDIT ++ this->win->w_cursor.coladd = 0; ++ #endif + update_screen(VALID); + + return 0; +*** ../vim-7.2.267/src/version.c 2009-10-07 16:19:52.000000000 +0200 +--- src/version.c 2009-11-03 11:42:08.000000000 +0100 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 268, + /**/ + +-- +VOICE OVER: As the horrendous Black Beast lunged forward, escape for Arthur + and his knights seemed hopeless, when, suddenly ... the animator + suffered a fatal heart attack. +ANIMATOR: Aaaaagh! +VOICE OVER: The cartoon peril was no more ... The Quest for Holy Grail could + continue. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.269 b/source/ap/vim/patches/7.2.269 new file mode 100644 index 000000000..ec15f454f --- /dev/null +++ b/source/ap/vim/patches/7.2.269 @@ -0,0 +1,261 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.269 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.269 +Problem: Many people struggle to find out why Vim startup is slow. +Solution: Add the --startuptime command line flag. +Files: runtime/doc/starting.txt, src/globals.h, src/feature.h, + src/main.c, src/macros.h + + +*** ../vim-7.2.268/runtime/doc/starting.txt 2008-11-09 13:43:25.000000000 +0100 +--- runtime/doc/starting.txt 2009-10-25 11:57:51.000000000 +0100 +*************** +*** 144,149 **** +--- 144,156 ---- + -u NORC no yes + --noplugin yes no + ++ --startuptime={fname} *--startuptime* ++ During startup write timing messages to the file {fname}. ++ This can be used to find out where time is spent while loading ++ your .vimrc and plugins. ++ When {fname} already exists new messages are appended. ++ {only when compiled with this feature} ++ + *--literal* + --literal Take file names literally, don't expand wildcards. Not needed + for Unix, because Vim always takes file names literally (the +*************** +*** 471,476 **** +--- 487,493 ---- + window title and copy/paste using the X clipboard. This + avoids a long startup time when running Vim in a terminal + emulator and the connection to the X server is slow. ++ See |--startuptime| to find out if affects you. + Only makes a difference on Unix or VMS, when compiled with the + |+X11| feature. Otherwise it's ignored. + To disable the connection only for specific terminals, see the +*** ../vim-7.2.268/src/globals.h 2009-07-29 12:09:49.000000000 +0200 +--- src/globals.h 2009-10-10 15:14:31.000000000 +0200 +*************** +*** 1567,1572 **** +--- 1567,1576 ---- + /* For undo we need to know the lowest time possible. */ + EXTERN time_t starttime; + ++ #ifdef STARTUPTIME ++ EXTERN FILE *time_fd INIT(= NULL); /* where to write startup timing */ ++ #endif ++ + /* + * Some compilers warn for not using a return value, but in some situations we + * can't do anything useful with the value. Assign to this variable to avoid +*** ../vim-7.2.268/src/feature.h 2008-11-09 13:43:25.000000000 +0100 +--- src/feature.h 2009-10-10 16:16:19.000000000 +0200 +*************** +*** 844,853 **** + /* #define DEBUG */ + + /* +! * STARTUPTIME Time the startup process. Writes a "vimstartup" file +! * with timestamps. + */ +! /* #define STARTUPTIME "vimstartup" */ + + /* + * MEM_PROFILE Debugging of memory allocation and freeing. +--- 844,857 ---- + /* #define DEBUG */ + + /* +! * STARTUPTIME Time the startup process. Writes a file with +! * timestamps. + */ +! #if defined(FEAT_NORMAL) \ +! && ((defined(HAVE_GETTIMEOFDAY) && defined(HAVE_SYS_TIME_H)) \ +! || defined(WIN3264)) +! # define STARTUPTIME 1 +! #endif + + /* + * MEM_PROFILE Debugging of memory allocation and freeing. +*** ../vim-7.2.268/src/main.c 2009-05-26 22:58:43.000000000 +0200 +--- src/main.c 2009-10-10 16:18:32.000000000 +0200 +*************** +*** 130,139 **** + #endif + + +- #ifdef STARTUPTIME +- static FILE *time_fd = NULL; +- #endif +- + /* + * Different types of error messages. + */ +--- 130,135 ---- +*************** +*** 173,178 **** +--- 169,177 ---- + char_u *fname = NULL; /* file name from command line */ + mparm_T params; /* various parameters passed between + * main() and other functions. */ ++ #ifdef STARTUPTIME ++ int i; ++ #endif + + /* + * Do any system-specific initialisations. These can NOT use IObuff or +*************** +*** 203,210 **** + #endif + + #ifdef STARTUPTIME +! time_fd = mch_fopen(STARTUPTIME, "a"); +! TIME_MSG("--- VIM STARTING ---"); + #endif + starttime = time(NULL); + +--- 202,216 ---- + #endif + + #ifdef STARTUPTIME +! for (i = 1; i < argc; ++i) +! { +! if (STRNICMP(argv[i], "--startuptime=", 14) == 0) +! { +! time_fd = mch_fopen(argv[i] + 14, "a"); +! TIME_MSG("--- VIM STARTING ---"); +! break; +! } +! } + #endif + starttime = time(NULL); + +*************** +*** 1150,1155 **** +--- 1156,1173 ---- + cursor_on(); + + do_redraw = FALSE; ++ ++ #ifdef STARTUPTIME ++ /* Now that we have drawn the first screen all the startup stuff ++ * has been done, close any file for startup messages. */ ++ if (time_fd != NULL) ++ { ++ TIME_MSG("first screen update"); ++ TIME_MSG("--- VIM STARTED ---"); ++ fclose(time_fd); ++ time_fd = NULL; ++ } ++ #endif + } + #ifdef FEAT_GUI + if (need_mouse_correct) +*************** +*** 1743,1748 **** +--- 1761,1770 ---- + /* already processed, skip */ + } + #endif ++ else if (STRNICMP(argv[0] + argv_idx, "startuptime", 11) == 0) ++ { ++ /* already processed, skip */ ++ } + else + { + if (argv[0][argv_idx]) +*************** +*** 3211,3216 **** +--- 3233,3252 ---- + + static struct timeval prev_timeval; + ++ # ifdef WIN3264 ++ /* ++ * Windows doesn't have gettimeofday(), although it does have struct timeval. ++ */ ++ static int ++ gettimeofday(struct timeval *tv, char *dummy) ++ { ++ long t = clock(); ++ tv->tv_sec = t / CLOCKS_PER_SEC; ++ tv->tv_usec = (t - tv->tv_sec * CLOCKS_PER_SEC) * 1000000 / CLOCKS_PER_SEC; ++ return 0; ++ } ++ # endif ++ + /* + * Save the previous time before doing something that could nest. + * set "*tv_rel" to the time elapsed so far. +*************** +*** 3299,3318 **** + } + } + +- # ifdef WIN3264 +- /* +- * Windows doesn't have gettimeofday(), although it does have struct timeval. +- */ +- int +- gettimeofday(struct timeval *tv, char *dummy) +- { +- long t = clock(); +- tv->tv_sec = t / CLOCKS_PER_SEC; +- tv->tv_usec = (t - tv->tv_sec * CLOCKS_PER_SEC) * 1000000 / CLOCKS_PER_SEC; +- return 0; +- } +- # endif +- + #endif + + #if defined(FEAT_CLIENTSERVER) || defined(PROTO) +--- 3335,3340 ---- +*** ../vim-7.2.268/src/macros.h 2009-05-17 13:30:58.000000000 +0200 +--- src/macros.h 2009-10-10 15:19:07.000000000 +0200 +*************** +*** 243,249 **** + #endif + + #ifdef STARTUPTIME +! # define TIME_MSG(s) time_msg(s, NULL) + #else + # define TIME_MSG(s) + #endif +--- 243,249 ---- + #endif + + #ifdef STARTUPTIME +! # define TIME_MSG(s) { if (time_fd != NULL) time_msg(s, NULL); } + #else + # define TIME_MSG(s) + #endif +*** ../vim-7.2.268/src/version.c 2009-11-03 11:43:05.000000000 +0100 +--- src/version.c 2009-11-03 12:06:31.000000000 +0100 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 269, + /**/ + +-- +BEDEVERE: Look! It's the old man from scene 24 - what's he Doing here? +ARTHUR: He is the keeper of the Bridge. He asks each traveler five + questions ... +GALAHAD: Three questions. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.270 b/source/ap/vim/patches/7.2.270 new file mode 100644 index 000000000..7ad6458f2 --- /dev/null +++ b/source/ap/vim/patches/7.2.270 @@ -0,0 +1,72 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.270 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.270 +Problem: Using ":@c" when the c register contains a CR causes the rest to + be executed later. (Dexter Douglas) +Solution: Don't check for typeahead to start with ':', keep executing + commands until all added typeahead has been used. +Files: src/ex_docmd.c + + +*** ../vim-7.2.269/src/ex_docmd.c 2009-09-30 13:23:57.000000000 +0200 +--- src/ex_docmd.c 2009-10-28 12:06:54.000000000 +0100 +*************** +*** 8358,8363 **** +--- 8358,8364 ---- + exarg_T *eap; + { + int c; ++ int prev_len = typebuf.tb_len; + + curwin->w_cursor.lnum = eap->line2; + +*************** +*** 8383,8393 **** + + /* + * Execute from the typeahead buffer. +! * Originally this didn't check for the typeahead buffer to be empty, +! * thus could read more Ex commands from stdin. It's not clear why, +! * it is certainly unexpected. + */ +! while ((!stuff_empty() || typebuf.tb_len > 0) && vpeekc() == ':') + (void)do_cmdline(NULL, getexline, NULL, DOCMD_NOWAIT|DOCMD_VERBOSE); + + exec_from_reg = save_efr; +--- 8384,8393 ---- + + /* + * Execute from the typeahead buffer. +! * Continue until the stuff buffer is empty and all added characters +! * have been consumed. + */ +! while (!stuff_empty() || typebuf.tb_len > prev_len) + (void)do_cmdline(NULL, getexline, NULL, DOCMD_NOWAIT|DOCMD_VERBOSE); + + exec_from_reg = save_efr; +*** ../vim-7.2.269/src/version.c 2009-11-03 12:10:39.000000000 +0100 +--- src/version.c 2009-11-03 12:32:47.000000000 +0100 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 270, + /**/ + +-- +To the optimist, the glass is half full. +To the pessimist, the glass is half empty. +To the engineer, the glass is twice as big as it needs to be. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.271 b/source/ap/vim/patches/7.2.271 new file mode 100644 index 000000000..07427981a --- /dev/null +++ b/source/ap/vim/patches/7.2.271 @@ -0,0 +1,92 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.271 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.271 +Problem: Using freed memory in Motif GUI version when making a choice. +Solution: Free memory only after using it. (Dominique Pelle) +Files: src/gui_xmdlg.c + + +*** ../vim-7.2.270/src/gui_xmdlg.c 2009-05-21 23:25:38.000000000 +0200 +--- src/gui_xmdlg.c 2009-10-28 21:56:15.000000000 +0100 +*************** +*** 10,16 **** + /* + * (C) 2001,2005 by Marcin Dalecki <martin@dalecki.de> + * +! * Implementation of dialogue functions for the Motif GUI variant. + * + * Note about Lesstif: Apparently lesstif doesn't get the widget layout right, + * when using a dynamic scrollbar policy. +--- 10,16 ---- + /* + * (C) 2001,2005 by Marcin Dalecki <martin@dalecki.de> + * +! * Implementation of dialog functions for the Motif GUI variant. + * + * Note about Lesstif: Apparently lesstif doesn't get the widget layout right, + * when using a dynamic scrollbar policy. +*************** +*** 633,648 **** + data->sel[which] = XtNewString(sel); + else + { +- XtFree(data->sel[which]); + if (!strcmp(data->sel[which], sel)) + { + /* unselecting current selection */ + data->sel[which] = NULL; + if (w) + XmListDeselectItem(w, call_data->item); + } + else + data->sel[which] = XtNewString(sel); + } + XtFree(sel); + +--- 633,651 ---- + data->sel[which] = XtNewString(sel); + else + { + if (!strcmp(data->sel[which], sel)) + { + /* unselecting current selection */ ++ XtFree(data->sel[which]); + data->sel[which] = NULL; + if (w) + XmListDeselectItem(w, call_data->item); + } + else ++ { ++ XtFree(data->sel[which]); + data->sel[which] = XtNewString(sel); ++ } + } + XtFree(sel); + +*** ../vim-7.2.270/src/version.c 2009-11-03 12:38:50.000000000 +0100 +--- src/version.c 2009-11-03 12:48:26.000000000 +0100 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 271, + /**/ + +-- +ROBIN: (warily) And if you get a question wrong? +ARTHUR: You are cast into the Gorge of Eternal Peril. +ROBIN: Oh ... wacho! + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.272 b/source/ap/vim/patches/7.2.272 new file mode 100644 index 000000000..22bebbcc7 --- /dev/null +++ b/source/ap/vim/patches/7.2.272 @@ -0,0 +1,82 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.272 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.272 +Problem: "_.svz" is not recognized as a swap file. (David M. Besonen) +Solution: Accept .s[uvw][a-z] as a swap file name extension. +Files: src/memline.c + + +*** ../vim-7.2.271/src/memline.c 2009-04-22 15:56:27.000000000 +0200 +--- src/memline.c 2009-10-29 20:55:08.000000000 +0100 +*************** +*** 864,884 **** + recoverymode = TRUE; + called_from_main = (curbuf->b_ml.ml_mfp == NULL); + attr = hl_attr(HLF_E); +! /* +! * If the file name ends in ".sw?" we use it directly. +! * Otherwise a search is done to find the swap file(s). +! */ + fname = curbuf->b_fname; + if (fname == NULL) /* When there is no file name */ + fname = (char_u *)""; + len = (int)STRLEN(fname); + if (len >= 4 && + #if defined(VMS) || defined(RISCOS) +! STRNICMP(fname + len - 4, "_sw" , 3) + #else +! STRNICMP(fname + len - 4, ".sw" , 3) + #endif +! == 0) + { + directly = TRUE; + fname = vim_strsave(fname); /* make a copy for mf_open() */ +--- 864,887 ---- + recoverymode = TRUE; + called_from_main = (curbuf->b_ml.ml_mfp == NULL); + attr = hl_attr(HLF_E); +! +! /* +! * If the file name ends in ".s[uvw][a-z]" we assume this is the swap file. +! * Otherwise a search is done to find the swap file(s). +! */ + fname = curbuf->b_fname; + if (fname == NULL) /* When there is no file name */ + fname = (char_u *)""; + len = (int)STRLEN(fname); + if (len >= 4 && + #if defined(VMS) || defined(RISCOS) +! STRNICMP(fname + len - 4, "_s" , 2) + #else +! STRNICMP(fname + len - 4, ".s" , 2) + #endif +! == 0 +! && vim_strchr((char_u *)"UVWuvw", fname[len - 2]) != NULL +! && ASCII_ISALPHA(fname[len - 1])) + { + directly = TRUE; + fname = vim_strsave(fname); /* make a copy for mf_open() */ +*** ../vim-7.2.271/src/version.c 2009-11-03 12:53:44.000000000 +0100 +--- src/version.c 2009-11-03 13:02:51.000000000 +0100 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 272, + /**/ + +-- +Sorry, no fortune today. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.273 b/source/ap/vim/patches/7.2.273 new file mode 100644 index 000000000..ac00afaa7 --- /dev/null +++ b/source/ap/vim/patches/7.2.273 @@ -0,0 +1,130 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.273 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.273 +Problem: Crash with redir to unknown array. (Christian Brabandt) +Solution: Don't assign the redir result when there was an error. +Files: src/eval.c + + +*** ../vim-7.2.272/src/eval.c 2009-09-30 15:15:33.000000000 +0200 +--- src/eval.c 2009-11-03 12:05:07.000000000 +0100 +*************** +*** 988,1000 **** + int err; + typval_T tv; + +! /* Make sure a valid variable name is specified */ + if (!eval_isnamec1(*name)) + { + EMSG(_(e_invarg)); + return FAIL; + } + + redir_varname = vim_strsave(name); + if (redir_varname == NULL) + return FAIL; +--- 988,1001 ---- + int err; + typval_T tv; + +! /* Catch a bad name early. */ + if (!eval_isnamec1(*name)) + { + EMSG(_(e_invarg)); + return FAIL; + } + ++ /* Make a copy of the name, it is used in redir_lval until redir ends. */ + redir_varname = vim_strsave(name); + if (redir_varname == NULL) + return FAIL; +*************** +*** 1019,1024 **** +--- 1020,1026 ---- + EMSG(_(e_trailing)); + else + EMSG(_(e_invarg)); ++ redir_endp = NULL; /* don't store a value, only cleanup */ + var_redir_stop(); + return FAIL; + } +*************** +*** 1037,1042 **** +--- 1039,1045 ---- + did_emsg |= save_emsg; + if (err) + { ++ redir_endp = NULL; /* don't store a value, only cleanup */ + var_redir_stop(); + return FAIL; + } +*************** +*** 1085,1090 **** +--- 1088,1094 ---- + + /* + * Stop redirecting command output to a variable. ++ * Frees the allocated memory. + */ + void + var_redir_stop() +*************** +*** 1093,1106 **** + + if (redir_lval != NULL) + { +! /* Append the trailing NUL. */ +! ga_append(&redir_ga, NUL); + +! /* Assign the text to the variable. */ +! tv.v_type = VAR_STRING; +! tv.vval.v_string = redir_ga.ga_data; +! set_var_lval(redir_lval, redir_endp, &tv, FALSE, (char_u *)"."); +! vim_free(tv.vval.v_string); + + clear_lval(redir_lval); + vim_free(redir_lval); +--- 1097,1114 ---- + + if (redir_lval != NULL) + { +! /* If there was no error: assign the text to the variable. */ +! if (redir_endp != NULL) +! { +! ga_append(&redir_ga, NUL); /* Append the trailing NUL. */ +! tv.v_type = VAR_STRING; +! tv.vval.v_string = redir_ga.ga_data; +! set_var_lval(redir_lval, redir_endp, &tv, FALSE, (char_u *)"."); +! } + +! /* free the collected output */ +! vim_free(redir_ga.ga_data); +! redir_ga.ga_data = NULL; + + clear_lval(redir_lval); + vim_free(redir_lval); +*** ../vim-7.2.272/src/version.c 2009-11-03 13:06:03.000000000 +0100 +--- src/version.c 2009-11-03 14:24:06.000000000 +0100 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 273, + /**/ + +-- +Permission is granted to read this message out aloud on Kings Cross Road, +London, under the condition that the orator is properly dressed. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.274 b/source/ap/vim/patches/7.2.274 new file mode 100644 index 000000000..809cedcf6 --- /dev/null +++ b/source/ap/vim/patches/7.2.274 @@ -0,0 +1,130 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.274 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.274 +Problem: Syntax folding doesn't work properly when adding a comment. +Solution: Fix it and add a test. (Lech Lorens) +Files: src/fold.c, src/testdir/test45.in, src/testdir/test45.ok + + +*** ../vim-7.2.273/src/fold.c 2009-09-18 15:16:37.000000000 +0200 +--- src/fold.c 2009-11-03 12:36:37.000000000 +0100 +*************** +*** 2256,2261 **** +--- 2256,2295 ---- + } + } + ++ /* ++ * If folding is defined by the syntax, it is possible that a change in ++ * one line will cause all sub-folds of the current fold to change (e.g., ++ * closing a C-style comment can cause folds in the subsequent lines to ++ * appear). To take that into account we should adjust the value of "bot" ++ * to point to the end of the current fold: ++ */ ++ if (foldlevelSyntax == getlevel) ++ { ++ garray_T *gap = &wp->w_folds; ++ fold_T *fp = NULL; ++ int current_fdl = 0; ++ linenr_T fold_start_lnum = 0; ++ linenr_T lnum_rel = fline.lnum; ++ ++ while (current_fdl < fline.lvl) ++ { ++ if (!foldFind(gap, lnum_rel, &fp)) ++ break; ++ ++current_fdl; ++ ++ fold_start_lnum += fp->fd_top; ++ gap = &fp->fd_nested; ++ lnum_rel -= fp->fd_top; ++ } ++ if (fp != NULL && current_fdl == fline.lvl) ++ { ++ linenr_T fold_end_lnum = fold_start_lnum + fp->fd_len; ++ ++ if (fold_end_lnum > bot) ++ bot = fold_end_lnum; ++ } ++ } ++ + start = fline.lnum; + end = bot; + /* Do at least one line. */ +*** ../vim-7.2.273/src/testdir/test45.in 2007-09-25 17:58:43.000000000 +0200 +--- src/testdir/test45.in 2009-11-03 12:22:38.000000000 +0100 +*************** +*** 28,36 **** + k:call append("$", foldlevel(".")) + :" test syntax folding + :set fdm=syntax fdl=0 +! :syn region Hup start="dd" end="hh" fold + Gzk:call append("$", "folding " . getline(".")) + k:call append("$", getline(".")) + :" test expression folding + :fun Flvl() + let l = getline(v:lnum) +--- 28,41 ---- + k:call append("$", foldlevel(".")) + :" test syntax folding + :set fdm=syntax fdl=0 +! :syn region Hup start="dd" end="ii" fold contains=Fd1,Fd2,Fd3 +! :syn region Fd1 start="ee" end="ff" fold contained +! :syn region Fd2 start="gg" end="hh" fold contained +! :syn region Fd3 start="commentstart" end="commentend" fold contained + Gzk:call append("$", "folding " . getline(".")) + k:call append("$", getline(".")) ++ jAcommentstart Acommentend:set fdl=1 ++ 3j:call append("$", getline(".")) + :" test expression folding + :fun Flvl() + let l = getline(v:lnum) +*** ../vim-7.2.273/src/testdir/test45.ok 2004-06-13 17:47:37.000000000 +0200 +--- src/testdir/test45.ok 2009-11-03 12:22:50.000000000 +0100 +*************** +*** 8,15 **** + 0 + indent 2 + 1 +! folding 8 hh + 3 cc + expr 2 + 1 + 2 +--- 8,16 ---- + 0 + indent 2 + 1 +! folding 9 ii + 3 cc ++ 7 gg + expr 2 + 1 + 2 +*** ../vim-7.2.273/src/version.c 2009-11-03 14:26:29.000000000 +0100 +--- src/version.c 2009-11-03 14:44:21.000000000 +0100 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 274, + /**/ + +-- +BRIDGEKEEPER: What is your favorite colour? +LAUNCELOT: Blue. +BRIDGEKEEPER: Right. Off you go. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.275 b/source/ap/vim/patches/7.2.275 new file mode 100644 index 000000000..c6c632644 --- /dev/null +++ b/source/ap/vim/patches/7.2.275 @@ -0,0 +1,95 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.275 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.275 +Problem: Warning for unused argument and comparing signed and unsigned. +Solution: Add type cast. +Files: src/memline.c + + +*** ../vim-7.2.274/src/memline.c 2009-11-03 13:06:03.000000000 +0100 +--- src/memline.c 2009-10-29 20:55:08.000000000 +0100 +*************** +*** 1285,1291 **** + for (i = 0; i < dp->db_line_count; ++i) + { + txt_start = (dp->db_index[i] & DB_INDEX_MASK); +! if (txt_start <= HEADER_SIZE + || txt_start >= (int)dp->db_txt_end) + { + p = (char_u *)"???"; +--- 1285,1291 ---- + for (i = 0; i < dp->db_line_count; ++i) + { + txt_start = (dp->db_index[i] & DB_INDEX_MASK); +! if (txt_start <= (int)HEADER_SIZE + || txt_start >= (int)dp->db_txt_end) + { + p = (char_u *)"???"; +*************** +*** 1296,1302 **** + ml_append(lnum++, p, (colnr_T)0, TRUE); + } + if (has_error) +! ml_append(lnum++, (char_u *)_("???END"), (colnr_T)0, TRUE); + } + } + } +--- 1296,1303 ---- + ml_append(lnum++, p, (colnr_T)0, TRUE); + } + if (has_error) +! ml_append(lnum++, (char_u *)_("???END"), +! (colnr_T)0, TRUE); + } + } + } +*************** +*** 3576,3586 **** + * Make swap file name out of the file name and a directory name. + * Returns pointer to allocated memory or NULL. + */ +- /*ARGSUSED*/ + char_u * + makeswapname(fname, ffname, buf, dir_name) + char_u *fname; +! char_u *ffname; + buf_T *buf; + char_u *dir_name; + { +--- 3577,3586 ---- + * Make swap file name out of the file name and a directory name. + * Returns pointer to allocated memory or NULL. + */ + char_u * + makeswapname(fname, ffname, buf, dir_name) + char_u *fname; +! char_u *ffname UNUSED; + buf_T *buf; + char_u *dir_name; + { +*** ../vim-7.2.274/src/version.c 2009-11-03 14:46:35.000000000 +0100 +--- src/version.c 2009-11-03 15:28:33.000000000 +0100 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 275, + /**/ + +-- +BRIDGEKEEPER: What is your favorite colour? +GAWAIN: Blue ... No yelloooooww! + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.276 b/source/ap/vim/patches/7.2.276 new file mode 100644 index 000000000..15dc68b00 --- /dev/null +++ b/source/ap/vim/patches/7.2.276 @@ -0,0 +1,63 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.276 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.276 +Problem: Crash when setting 'isprint' to a small bullet. (Raul Coronado) +Solution: Check for the character to be < 256. Also make it possible to + specify a range of multi-byte characters. (Lech Lorens) +Files: src/charset.c + + +*** ../vim-7.2.275/src/charset.c 2009-10-07 16:19:52.000000000 +0200 +--- src/charset.c 2009-11-03 12:46:12.000000000 +0100 +*************** +*** 187,195 **** + if (VIM_ISDIGIT(*p)) + c2 = getdigits(&p); + else + c2 = *p++; + } +! if (c <= 0 || (c2 < c && c2 != -1) || c2 >= 256 + || !(*p == NUL || *p == ',')) + return FAIL; + +--- 187,200 ---- + if (VIM_ISDIGIT(*p)) + c2 = getdigits(&p); + else ++ #ifdef FEAT_MBYTE ++ if (has_mbyte) ++ c2 = mb_ptr2char_adv(&p); ++ else ++ #endif + c2 = *p++; + } +! if (c <= 0 || c >= 256 || (c2 < c && c2 != -1) || c2 >= 256 + || !(*p == NUL || *p == ',')) + return FAIL; + +*** ../vim-7.2.275/src/version.c 2009-11-03 15:32:58.000000000 +0100 +--- src/version.c 2009-11-03 16:03:18.000000000 +0100 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 276, + /**/ + +-- +BRIDGEKEEPER: What is your favorite editor? +GAWAIN: Emacs ... No, Viiiiiiiiiiimmmmmmm! + "Monty Python and the Holy editor wars" PYTHON (MONTY) SOFTWARE LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.277 b/source/ap/vim/patches/7.2.277 new file mode 100644 index 000000000..ed3caf4d2 --- /dev/null +++ b/source/ap/vim/patches/7.2.277 @@ -0,0 +1,66 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.277 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.277 +Problem: CTRL-Y in a diff'ed window may move the cursor outside of the + window. (Lech Lorens) +Solution: Limit the number of filler lines to the height of the window. + Don't reset filler lines to zero for an empty buffer. +Files: src/move.c + + +*** ../vim-7.2.276/src/move.c 2009-05-15 21:31:11.000000000 +0200 +--- src/move.c 2009-11-03 14:39:55.000000000 +0100 +*************** +*** 183,191 **** + if (curwin->w_topline != 1) + redraw_later(NOT_VALID); + curwin->w_topline = 1; +- #ifdef FEAT_DIFF +- curwin->w_topfill = 0; +- #endif + curwin->w_botline = 2; + curwin->w_valid |= VALID_BOTLINE|VALID_BOTLINE_AP; + #ifdef FEAT_SCROLLBIND +--- 183,188 ---- +*************** +*** 1257,1263 **** + while (line_count-- > 0) + { + #ifdef FEAT_DIFF +! if (curwin->w_topfill < diff_check(curwin, curwin->w_topline)) + { + ++curwin->w_topfill; + ++done; +--- 1254,1261 ---- + while (line_count-- > 0) + { + #ifdef FEAT_DIFF +! if (curwin->w_topfill < diff_check(curwin, curwin->w_topline) +! && curwin->w_topfill < curwin->w_height - 1) + { + ++curwin->w_topfill; + ++done; +*** ../vim-7.2.276/src/version.c 2009-11-03 16:03:59.000000000 +0100 +--- src/version.c 2009-11-03 16:22:04.000000000 +0100 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 277, + /**/ + +-- +SIGFUN -- signature too funny (core dumped) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.278 b/source/ap/vim/patches/7.2.278 new file mode 100644 index 000000000..edf4e58af --- /dev/null +++ b/source/ap/vim/patches/7.2.278 @@ -0,0 +1,74 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.278 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.278 +Problem: Using magic number in the folding code. +Solution: Use the defined MAX_LEVEL. +Files: src/fold.c + + +*** ../vim-7.2.277/src/fold.c 2009-11-03 14:46:35.000000000 +0100 +--- src/fold.c 2009-11-03 12:36:37.000000000 +0100 +*************** +*** 1932,1938 **** + #ifdef FEAT_EVAL + if (*wp->w_p_fdt != NUL) + { +! char_u dashes[51]; + win_T *save_curwin; + int level; + char_u *p; +--- 1932,1938 ---- + #ifdef FEAT_EVAL + if (*wp->w_p_fdt != NUL) + { +! char_u dashes[MAX_LEVEL + 2]; + win_T *save_curwin; + int level; + char_u *p; +*************** +*** 1944,1951 **** + /* Set "v:folddashes" to a string of "level" dashes. */ + /* Set "v:foldlevel" to "level". */ + level = foldinfo->fi_level; +! if (level > 50) +! level = 50; + vim_memset(dashes, '-', (size_t)level); + dashes[level] = NUL; + set_vim_var_string(VV_FOLDDASHES, dashes, -1); +--- 1944,1951 ---- + /* Set "v:folddashes" to a string of "level" dashes. */ + /* Set "v:foldlevel" to "level". */ + level = foldinfo->fi_level; +! if (level > (int)sizeof(dashes) - 1) +! level = (int)sizeof(dashes) - 1; + vim_memset(dashes, '-', (size_t)level); + dashes[level] = NUL; + set_vim_var_string(VV_FOLDDASHES, dashes, -1); +*** ../vim-7.2.277/src/version.c 2009-11-03 16:22:59.000000000 +0100 +--- src/version.c 2009-11-03 16:29:08.000000000 +0100 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 278, + /**/ + +-- +BRIDGEKEEPER: What is the air-speed velocity of an unladen swallow? +ARTHUR: What do you mean? An African or European swallow? +BRIDGEKEEPER: Er ... I don't know that ... Aaaaarrrrrrggghhh! + BRIDGEKEEPER is cast into the gorge. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.279 b/source/ap/vim/patches/7.2.279 new file mode 100644 index 000000000..bdf58fc8e --- /dev/null +++ b/source/ap/vim/patches/7.2.279 @@ -0,0 +1,120 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.279 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.279 +Problem: Invalid memory read with visual mode "r". (Dominique Pelle) +Solution: Make sure the cursor position is valid. Don't check the cursor + position but the position being used. And make sure we get the + right line. +Files: src/misc2.c, src/ops.c + + +*** ../vim-7.2.278/src/misc2.c 2009-05-16 21:06:36.000000000 +0200 +--- src/misc2.c 2009-11-03 16:43:10.000000000 +0100 +*************** +*** 156,162 **** + || ((ve_flags & VE_ONEMORE) && wcol < MAXCOL) + #endif + ; +! line = ml_get_curline(); + + if (wcol >= MAXCOL) + { +--- 156,162 ---- + || ((ve_flags & VE_ONEMORE) && wcol < MAXCOL) + #endif + ; +! line = ml_get_buf(curbuf, pos->lnum, FALSE); + + if (wcol >= MAXCOL) + { +*************** +*** 332,340 **** + #endif + + #ifdef FEAT_MBYTE +! /* prevent cursor from moving on the trail byte */ + if (has_mbyte) +! mb_adjust_cursor(); + #endif + + if (col < wcol) +--- 332,340 ---- + #endif + + #ifdef FEAT_MBYTE +! /* prevent from moving onto a trail byte */ + if (has_mbyte) +! mb_adjustpos(pos); + #endif + + if (col < wcol) +*** ../vim-7.2.278/src/ops.c 2009-09-30 15:15:33.000000000 +0200 +--- src/ops.c 2009-11-03 15:18:50.000000000 +0100 +*************** +*** 2020,2025 **** +--- 2020,2026 ---- + bd.is_MAX = (curwin->w_curswant == MAXCOL); + for ( ; curwin->w_cursor.lnum <= oap->end.lnum; ++curwin->w_cursor.lnum) + { ++ curwin->w_cursor.col = 0; /* make sure cursor position is valid */ + block_prep(oap, &bd, curwin->w_cursor.lnum, TRUE); + if (bd.textlen == 0 && (!virtual_op || bd.is_MAX)) + continue; /* nothing to replace */ +*************** +*** 2035,2040 **** +--- 2036,2042 ---- + { + pos_T vpos; + ++ vpos.lnum = curwin->w_cursor.lnum; + getvpos(&vpos, oap->start_vcol); + bd.startspaces += vpos.coladd; + n = bd.startspaces; +*************** +*** 2693,2703 **** + * initial coladd offset as part of "startspaces" */ + if (bd.is_short) + { +! linenr_T lnum = curwin->w_cursor.lnum; +! +! curwin->w_cursor.lnum = linenr; + (void)getvpos(&vpos, oap->start_vcol); +- curwin->w_cursor.lnum = lnum; + } + else + vpos.coladd = 0; +--- 2695,2702 ---- + * initial coladd offset as part of "startspaces" */ + if (bd.is_short) + { +! vpos.lnum = linenr; + (void)getvpos(&vpos, oap->start_vcol); + } + else + vpos.coladd = 0; +*** ../vim-7.2.278/src/version.c 2009-11-03 16:29:48.000000000 +0100 +--- src/version.c 2009-11-03 16:41:53.000000000 +0100 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 279, + /**/ + +-- +BEDEVERE: How do you know so much about swallows? +ARTHUR: Well you have to know these things when you're a king, you know. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.280 b/source/ap/vim/patches/7.2.280 new file mode 100644 index 000000000..6223ac450 --- /dev/null +++ b/source/ap/vim/patches/7.2.280 @@ -0,0 +1,251 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.280 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.280 +Problem: A redraw in a custom statusline with %! may cause a crash. + (Yukihiro Nakadaira) +Solution: Make a copy of 'statusline'. Also fix typo in function name + redraw_custum_statusline. (party by Dominique Pelle) +Files: src/screen.c + + +*** ../vim-7.2.279/src/screen.c 2009-07-29 16:13:35.000000000 +0200 +--- src/screen.c 2009-11-03 17:13:16.000000000 +0100 +*************** +*** 132,138 **** + static void draw_vsep_win __ARGS((win_T *wp, int row)); + #endif + #ifdef FEAT_STL_OPT +! static void redraw_custum_statusline __ARGS((win_T *wp)); + #endif + #ifdef FEAT_SEARCH_EXTRA + #define SEARCH_HL_PRIORITY 0 +--- 132,138 ---- + static void draw_vsep_win __ARGS((win_T *wp, int row)); + #endif + #ifdef FEAT_STL_OPT +! static void redraw_custom_statusline __ARGS((win_T *wp)); + #endif + #ifdef FEAT_SEARCH_EXTRA + #define SEARCH_HL_PRIORITY 0 +*************** +*** 5772,5778 **** + else if (*p_stl != NUL || *wp->w_p_stl != NUL) + { + /* redraw custom status line */ +! redraw_custum_statusline(wp); + } + #endif + else +--- 5794,5800 ---- + else if (*p_stl != NUL || *wp->w_p_stl != NUL) + { + /* redraw custom status line */ +! redraw_custom_statusline(wp); + } + #endif + else +*************** +*** 5897,5914 **** + * errors encountered. + */ + static void +! redraw_custum_statusline(wp) + win_T *wp; + { +! int save_called_emsg = called_emsg; + + called_emsg = FALSE; + win_redr_custom(wp, FALSE); + if (called_emsg) + set_string_option_direct((char_u *)"statusline", -1, + (char_u *)"", OPT_FREE | (*wp->w_p_stl != NUL + ? OPT_LOCAL : OPT_GLOBAL), SID_ERROR); + called_emsg |= save_called_emsg; + } + #endif + +--- 5919,5949 ---- + * errors encountered. + */ + static void +! redraw_custom_statusline(wp) + win_T *wp; + { +! static int entered = FALSE; +! int save_called_emsg = called_emsg; +! +! /* When called recursively return. This can happen when the statusline +! * contains an expression that triggers a redraw. */ +! if (entered) +! return; +! entered = TRUE; + + called_emsg = FALSE; + win_redr_custom(wp, FALSE); + if (called_emsg) ++ { ++ /* When there is an error disable the statusline, otherwise the ++ * display is messed up with errors and a redraw triggers the problem ++ * again and again. */ + set_string_option_direct((char_u *)"statusline", -1, + (char_u *)"", OPT_FREE | (*wp->w_p_stl != NUL + ? OPT_LOCAL : OPT_GLOBAL), SID_ERROR); ++ } + called_emsg |= save_called_emsg; ++ entered = FALSE; + } + #endif + +*************** +*** 6016,6021 **** +--- 6051,6057 ---- + int len; + int fillchar; + char_u buf[MAXPATHL]; ++ char_u *stl; + char_u *p; + struct stl_hlrec hltab[STL_MAX_ITEM]; + struct stl_hlrec tabtab[STL_MAX_ITEM]; +*************** +*** 6025,6031 **** + if (wp == NULL) + { + /* Use 'tabline'. Always at the first line of the screen. */ +! p = p_tal; + row = 0; + fillchar = ' '; + attr = hl_attr(HLF_TPF); +--- 6061,6067 ---- + if (wp == NULL) + { + /* Use 'tabline'. Always at the first line of the screen. */ +! stl = p_tal; + row = 0; + fillchar = ' '; + attr = hl_attr(HLF_TPF); +*************** +*** 6042,6058 **** + + if (draw_ruler) + { +! p = p_ruf; + /* advance past any leading group spec - implicit in ru_col */ +! if (*p == '%') + { +! if (*++p == '-') +! p++; +! if (atoi((char *) p)) +! while (VIM_ISDIGIT(*p)) +! p++; +! if (*p++ != '(') +! p = p_ruf; + } + #ifdef FEAT_VERTSPLIT + col = ru_col - (Columns - W_WIDTH(wp)); +--- 6078,6094 ---- + + if (draw_ruler) + { +! stl = p_ruf; + /* advance past any leading group spec - implicit in ru_col */ +! if (*stl == '%') + { +! if (*++stl == '-') +! stl++; +! if (atoi((char *)stl)) +! while (VIM_ISDIGIT(*stl)) +! stl++; +! if (*stl++ != '(') +! stl = p_ruf; + } + #ifdef FEAT_VERTSPLIT + col = ru_col - (Columns - W_WIDTH(wp)); +*************** +*** 6081,6089 **** + else + { + if (*wp->w_p_stl != NUL) +! p = wp->w_p_stl; + else +! p = p_stl; + # ifdef FEAT_EVAL + use_sandbox = was_set_insecurely((char_u *)"statusline", + *wp->w_p_stl == NUL ? 0 : OPT_LOCAL); +--- 6117,6125 ---- + else + { + if (*wp->w_p_stl != NUL) +! stl = wp->w_p_stl; + else +! stl = p_stl; + # ifdef FEAT_EVAL + use_sandbox = was_set_insecurely((char_u *)"statusline", + *wp->w_p_stl == NUL ? 0 : OPT_LOCAL); +*************** +*** 6098,6107 **** + if (maxwidth <= 0) + return; + + width = build_stl_str_hl(wp == NULL ? curwin : wp, + buf, sizeof(buf), +! p, use_sandbox, + fillchar, maxwidth, hltab, tabtab); + len = (int)STRLEN(buf); + + while (width < maxwidth && len < (int)sizeof(buf) - 1) +--- 6134,6147 ---- + if (maxwidth <= 0) + return; + ++ /* Make a copy, because the statusline may include a function call that ++ * might change the option value and free the memory. */ ++ stl = vim_strsave(stl); + width = build_stl_str_hl(wp == NULL ? curwin : wp, + buf, sizeof(buf), +! stl, use_sandbox, + fillchar, maxwidth, hltab, tabtab); ++ vim_free(stl); + len = (int)STRLEN(buf); + + while (width < maxwidth && len < (int)sizeof(buf) - 1) +*************** +*** 9465,9471 **** + #if defined(FEAT_STL_OPT) && defined(FEAT_WINDOWS) + if ((*p_stl != NUL || *curwin->w_p_stl != NUL) && curwin->w_status_height) + { +! redraw_custum_statusline(curwin); + } + else + #endif +--- 9505,9511 ---- + #if defined(FEAT_STL_OPT) && defined(FEAT_WINDOWS) + if ((*p_stl != NUL || *curwin->w_p_stl != NUL) && curwin->w_status_height) + { +! redraw_custom_statusline(curwin); + } + else + #endif +*** ../vim-7.2.279/src/version.c 2009-11-03 16:44:04.000000000 +0100 +--- src/version.c 2009-11-03 17:15:35.000000000 +0100 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 280, + /**/ + +-- +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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.281 b/source/ap/vim/patches/7.2.281 new file mode 100644 index 000000000..f73d7a543 --- /dev/null +++ b/source/ap/vim/patches/7.2.281 @@ -0,0 +1,81 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.281 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.281 +Problem: 'cursorcolumn' highlighting is wrong in diff mode. +Solution: Adjust the column computation. (Lech Lorens) +Files: src/screen.c + + +*** ../vim-7.2.280/src/screen.c 2009-11-03 17:20:18.000000000 +0100 +--- src/screen.c 2009-11-03 17:13:16.000000000 +0100 +*************** +*** 3008,3018 **** + mb_ptr_adv(ptr); + } + +! #ifdef FEAT_VIRTUALEDIT +! /* When 'virtualedit' is set the end of the line may be before the +! * start of the displayed part. */ +! if (vcol < v && *ptr == NUL && virtual_active()) + vcol = v; + #endif + + /* Handle a character that's not completely on the screen: Put ptr at +--- 3008,3040 ---- + mb_ptr_adv(ptr); + } + +! #if defined(FEAT_SYN_HL) || defined(FEAT_VIRTUALEDIT) || defined(FEAT_VISUAL) +! /* When: +! * - 'cuc' is set, or +! * - 'virtualedit' is set, or +! * - the visual mode is active, +! * the end of the line may be before the start of the displayed part. +! */ +! if (vcol < v && ( +! # ifdef FEAT_SYN_HL +! wp->w_p_cuc +! # if defined(FEAT_VIRTUALEDIT) || defined(FEAT_VISUAL) +! || +! # endif +! # endif +! # ifdef FEAT_VIRTUALEDIT +! virtual_active() +! # ifdef FEAT_VISUAL +! || +! # endif +! # endif +! # ifdef FEAT_VISUAL +! (VIsual_active && wp->w_buffer == curwin->w_buffer) +! # endif +! )) +! { + vcol = v; ++ } + #endif + + /* Handle a character that's not completely on the screen: Put ptr at +*** ../vim-7.2.280/src/version.c 2009-11-03 17:20:18.000000000 +0100 +--- src/version.c 2009-11-03 17:34:54.000000000 +0100 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 281, + /**/ + +-- +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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.282 b/source/ap/vim/patches/7.2.282 new file mode 100644 index 000000000..dd4dc6476 --- /dev/null +++ b/source/ap/vim/patches/7.2.282 @@ -0,0 +1,47 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.282 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.282 +Problem: A fold can't be closed. +Solution: Initialize fd_small to MAYBE. (Lech Lorens) +Files: src/fold.c + + +*** ../vim-7.2.281/src/fold.c 2009-11-03 16:29:48.000000000 +0100 +--- src/fold.c 2009-11-03 17:41:50.000000000 +0100 +*************** +*** 2851,2856 **** +--- 2851,2858 ---- + fp[1].fd_top = bot + 1; + fp[1].fd_len = fp->fd_len - (fp[1].fd_top - fp->fd_top); + fp[1].fd_flags = fp->fd_flags; ++ fp[1].fd_small = MAYBE; ++ fp->fd_small = MAYBE; + + /* Move nested folds below bot to new fold. There can't be + * any between top and bot, they have been removed by the caller. */ +*** ../vim-7.2.281/src/version.c 2009-11-03 17:36:09.000000000 +0100 +--- src/version.c 2009-11-03 17:59:12.000000000 +0100 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 282, + /**/ + +-- +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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.283 b/source/ap/vim/patches/7.2.283 new file mode 100644 index 000000000..0d6f6058e --- /dev/null +++ b/source/ap/vim/patches/7.2.283 @@ -0,0 +1,73 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.283 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.283 +Problem: Changing font while the window is maximized doesn't keep the + window maximized. +Solution: Recompute number of lines and columns after changing font. (James + Vega) +Files: src/gui_gtk_x11.c + + +*** ../vim-7.2.282/src/gui_gtk_x11.c 2009-09-23 18:14:13.000000000 +0200 +--- src/gui_gtk_x11.c 2009-11-03 17:56:27.000000000 +0100 +*************** +*** 5267,5274 **** + # endif + #endif /* !HAVE_GTK2 */ + +! /* Preserve the logical dimensions of the screen. */ +! update_window_manager_hints(0, 0); + + return OK; + } +--- 5267,5290 ---- + # endif + #endif /* !HAVE_GTK2 */ + +! #ifdef HAVE_GTK2 +! if (gui_mch_maximized()) +! { +! int w, h; +! +! /* Update lines and columns in accordance with the new font, keep the +! * window maximized. */ +! gtk_window_get_size(GTK_WINDOW(gui.mainwin), &w, &h); +! w -= get_menu_tool_width(); +! h -= get_menu_tool_height(); +! gui_resize_shell(w, h); +! } +! else +! #endif +! { +! /* Preserve the logical dimensions of the screen. */ +! update_window_manager_hints(0, 0); +! } + + return OK; + } +*** ../vim-7.2.282/src/version.c 2009-11-03 18:04:26.000000000 +0100 +--- src/version.c 2009-11-03 18:11:53.000000000 +0100 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 283, + /**/ + +-- +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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.284 b/source/ap/vim/patches/7.2.284 new file mode 100644 index 000000000..5b4336b1b --- /dev/null +++ b/source/ap/vim/patches/7.2.284 @@ -0,0 +1,52 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.284 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.284 +Problem: When editing the same buffer in two windows, one with folding, + display may be wrong after changes. +Solution: Call set_topline() to take care of side effects. (Lech Lorens) +Files: src/misc1.c + + +*** ../vim-7.2.283/src/misc1.c 2009-07-22 11:03:38.000000000 +0200 +--- src/misc1.c 2009-11-03 18:38:15.000000000 +0100 +*************** +*** 2886,2891 **** +--- 2886,2898 ---- + } + #endif + } ++ ++ #ifdef FEAT_FOLDING ++ /* Take care of side effects for setting w_topline when folds have ++ * changed. Esp. when the buffer was changed in another window. */ ++ if (hasAnyFolding(wp)) ++ set_topline(wp, wp->w_topline); ++ #endif + } + } + +*** ../vim-7.2.283/src/version.c 2009-11-03 18:13:36.000000000 +0100 +--- src/version.c 2009-11-03 18:44:12.000000000 +0100 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 284, + /**/ + +-- +Men may not be seen publicly in any kind of strapless gown. + [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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.285 b/source/ap/vim/patches/7.2.285 new file mode 100644 index 000000000..2a34e17ee --- /dev/null +++ b/source/ap/vim/patches/7.2.285 @@ -0,0 +1,56 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.285 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.285 (after 7.2.169) +Problem: CTRL-U in Insert mode also deletes indent. (Andrey Voropaev) +Solution: Fix mistake made in patch 7.2.169. +Files: src/edit.c + + +*** ../vim-7.2.284/src/edit.c 2009-07-09 18:15:19.000000000 +0200 +--- src/edit.c 2009-11-05 20:25:15.000000000 +0100 +*************** +*** 8519,8525 **** + { + save_col = curwin->w_cursor.col; + beginline(BL_WHITE); +! if (curwin->w_cursor.col < (colnr_T)temp) + mincol = curwin->w_cursor.col; + curwin->w_cursor.col = save_col; + } +--- 8519,8525 ---- + { + save_col = curwin->w_cursor.col; + beginline(BL_WHITE); +! if (curwin->w_cursor.col < save_col) + mincol = curwin->w_cursor.col; + curwin->w_cursor.col = save_col; + } +*** ../vim-7.2.284/src/version.c 2009-11-03 18:46:53.000000000 +0100 +--- src/version.c 2009-11-11 13:21:25.000000000 +0100 +*************** +*** 678,679 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 285, + /**/ + +-- +(letter from Mark to Mike, about the film's probable certificate) + I would like to get back to the Censor and agree to lose the shits, take + the odd Jesus Christ out and lose Oh fuck off, but to retain 'fart in + your general direction', 'castanets of your testicles' and 'oral sex' + and ask him for an 'A' rating on that basis. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.286 b/source/ap/vim/patches/7.2.286 new file mode 100644 index 000000000..7577502f0 --- /dev/null +++ b/source/ap/vim/patches/7.2.286 @@ -0,0 +1,227 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.286 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.286 (after 7.2.269) +Problem: The "--startuptime=<file>" argument is not consistent with other + arguments. +Solution: Use "--startuptime <file>". Added the +startuptime feature. +Files: runtime/doc/eval.txt, runtime/doc/starting.txt, + runtime/doc/various.txt, src/eval.c, src/main.c, src/version.c + + +*** ../vim-7.2.285/runtime/doc/eval.txt 2009-04-22 12:53:31.000000000 +0200 +--- runtime/doc/eval.txt 2009-11-11 13:01:58.000000000 +0100 +*************** +*** 5869,5874 **** +--- 5881,5887 ---- + signs Compiled with |:sign| support. + smartindent Compiled with 'smartindent' support. + sniff Compiled with SNiFF interface support. ++ startuptime Compiled with |--startuptime| support. + statusline Compiled with support for 'statusline', 'rulerformat' + and special formats of 'titlestring' and 'iconstring'. + sun_workshop Compiled with support for Sun |workshop|. +*** ../vim-7.2.285/runtime/doc/starting.txt 2009-11-03 12:10:39.000000000 +0100 +--- runtime/doc/starting.txt 2009-11-11 13:20:56.000000000 +0100 +*************** +*** 144,155 **** + -u NORC no yes + --noplugin yes no + +! --startuptime={fname} *--startuptime* + During startup write timing messages to the file {fname}. + This can be used to find out where time is spent while loading +! your .vimrc and plugins. + When {fname} already exists new messages are appended. +! {only when compiled with this feature} + + *--literal* + --literal Take file names literally, don't expand wildcards. Not needed +--- 144,156 ---- + -u NORC no yes + --noplugin yes no + +! --startuptime {fname} *--startuptime* + During startup write timing messages to the file {fname}. + This can be used to find out where time is spent while loading +! your .vimrc, plugins and opening the first file. + When {fname} already exists new messages are appended. +! (Only available when compiled with the |+startuptime| +! feature). + + *--literal* + --literal Take file names literally, don't expand wildcards. Not needed +*** ../vim-7.2.285/runtime/doc/various.txt 2009-07-09 15:55:34.000000000 +0200 +--- runtime/doc/various.txt 2009-11-11 13:03:52.000000000 +0100 +*************** +*** 374,379 **** +--- 374,380 ---- + B *+signs* |:sign| + N *+smartindent* |'smartindent'| + m *+sniff* SniFF interface |sniff| ++ N *+startuptime* |--startuptime| argument + N *+statusline* Options 'statusline', 'rulerformat' and special + formats of 'titlestring' and 'iconstring' + m *+sun_workshop* |workshop| +*** ../vim-7.2.285/src/eval.c 2009-11-03 14:26:29.000000000 +0100 +--- src/eval.c 2009-11-11 12:59:53.000000000 +0100 +*************** +*** 11736,11741 **** +--- 11736,11744 ---- + #ifdef FEAT_SNIFF + "sniff", + #endif ++ #ifdef STARTUPTIME ++ "startuptime", ++ #endif + #ifdef FEAT_STL_OPT + "statusline", + #endif +*** ../vim-7.2.285/src/main.c 2009-11-03 12:10:39.000000000 +0100 +--- src/main.c 2009-11-08 12:57:46.000000000 +0100 +*************** +*** 204,212 **** + #ifdef STARTUPTIME + for (i = 1; i < argc; ++i) + { +! if (STRNICMP(argv[i], "--startuptime=", 14) == 0) + { +! time_fd = mch_fopen(argv[i] + 14, "a"); + TIME_MSG("--- VIM STARTING ---"); + break; + } +--- 204,212 ---- + #ifdef STARTUPTIME + for (i = 1; i < argc; ++i) + { +! if (STRICMP(argv[i], "--startuptime") == 0 && i + 1 < argc) + { +! time_fd = mch_fopen(argv[i + 1], "a"); + TIME_MSG("--- VIM STARTING ---"); + break; + } +*************** +*** 1726,1731 **** +--- 1726,1736 ---- + want_argument = TRUE; + argv_idx += 3; + } ++ else if (STRNICMP(argv[0] + argv_idx, "startuptime", 11) == 0) ++ { ++ want_argument = TRUE; ++ argv_idx += 11; ++ } + #ifdef FEAT_CLIENTSERVER + else if (STRNICMP(argv[0] + argv_idx, "serverlist", 10) == 0) + ; /* already processed -- no arg */ +*************** +*** 1761,1770 **** + /* already processed, skip */ + } + #endif +- else if (STRNICMP(argv[0] + argv_idx, "startuptime", 11) == 0) +- { +- /* already processed, skip */ +- } + else + { + if (argv[0][argv_idx]) +--- 1766,1771 ---- +*************** +*** 2061,2067 **** + mainerr(ME_GARBAGE, (char_u *)argv[0]); + + --argc; +! if (argc < 1 && c != 'S') + mainerr_arg_missing((char_u *)argv[0]); + ++argv; + argv_idx = -1; +--- 2062,2068 ---- + mainerr(ME_GARBAGE, (char_u *)argv[0]); + + --argc; +! if (argc < 1 && c != 'S') /* -S has an optional argument */ + mainerr_arg_missing((char_u *)argv[0]); + ++argv; + argv_idx = -1; +*************** +*** 2102,2112 **** + (char_u *)argv[0]; + break; + +! case '-': /* "--cmd {command}" execute command */ +! if (parmp->n_pre_commands >= MAX_ARG_CMDS) +! mainerr(ME_EXTRA_CMD, NULL); +! parmp->pre_commands[parmp->n_pre_commands++] = + (char_u *)argv[0]; + break; + + /* case 'd': -d {device} is handled in mch_check_win() for the +--- 2103,2118 ---- + (char_u *)argv[0]; + break; + +! case '-': +! if (argv[-1][2] == 'c') +! { +! /* "--cmd {command}" execute command */ +! if (parmp->n_pre_commands >= MAX_ARG_CMDS) +! mainerr(ME_EXTRA_CMD, NULL); +! parmp->pre_commands[parmp->n_pre_commands++] = + (char_u *)argv[0]; ++ } ++ /* "--startuptime <file>" already handled */ + break; + + /* case 'd': -d {device} is handled in mch_check_win() for the +*************** +*** 3144,3149 **** +--- 3150,3158 ---- + main_msg(_("--serverlist\t\tList available Vim server names and exit")); + main_msg(_("--servername <name>\tSend to/become the Vim server <name>")); + #endif ++ #ifdef STARTUPTIME ++ main_msg(_("--startuptime=<file>\tWrite startup timing messages to <file>")); ++ #endif + #ifdef FEAT_VIMINFO + main_msg(_("-i <viminfo>\t\tUse <viminfo> instead of .viminfo")); + #endif +*** ../vim-7.2.285/src/version.c 2009-11-11 13:22:09.000000000 +0100 +--- src/version.c 2009-11-11 14:17:28.000000000 +0100 +*************** +*** 494,499 **** +--- 494,504 ---- + #else + "-sniff", + #endif ++ #ifdef STARTUPTIME ++ "+startuptime", ++ #else ++ "-startuptime", ++ #endif + #ifdef FEAT_STL_OPT + "+statusline", + #else +*** ../vim-7.2.285/src/version.c 2009-11-11 13:22:09.000000000 +0100 +--- src/version.c 2009-11-11 14:17:28.000000000 +0100 +*************** +*** 678,679 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 286, + /**/ + +-- +A fool must search for a greater fool to find admiration. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.287 b/source/ap/vim/patches/7.2.287 new file mode 100644 index 000000000..0f8e170c1 --- /dev/null +++ b/source/ap/vim/patches/7.2.287 @@ -0,0 +1,54 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.287 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.287 +Problem: Warning from gcc 3.4 about uninitialized variable. +Solution: Move assignment outside of #ifdef. +Files: src/if_perl.xs + + +*** ../vim-7.2.286/src/if_perl.xs 2009-07-14 16:05:14.000000000 +0200 +--- src/if_perl.xs 2009-11-11 12:29:32.000000000 +0100 +*************** +*** 720,727 **** + #ifdef HAVE_SANDBOX + if (sandbox) + { + # ifndef MAKE_TEST /* avoid a warning for unreachable code */ +! if ((safe = perl_get_sv( "VIM::safe", FALSE )) == NULL || !SvTRUE(safe)) + EMSG(_("E299: Perl evaluation forbidden in sandbox without the Safe module")); + else + # endif +--- 720,728 ---- + #ifdef HAVE_SANDBOX + if (sandbox) + { ++ safe = perl_get_sv( "VIM::safe", FALSE ); + # ifndef MAKE_TEST /* avoid a warning for unreachable code */ +! if (safe == NULL || !SvTRUE(safe)) + EMSG(_("E299: Perl evaluation forbidden in sandbox without the Safe module")); + else + # endif +*** ../vim-7.2.286/src/version.c 2009-11-11 14:21:48.000000000 +0100 +--- src/version.c 2009-11-11 14:44:49.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 287, + /**/ + +-- +The most powerful force in the universe is gossip. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.288 b/source/ap/vim/patches/7.2.288 new file mode 100644 index 000000000..ab9ecdaf3 --- /dev/null +++ b/source/ap/vim/patches/7.2.288 @@ -0,0 +1,52 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.288 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.288 +Problem: Python 2.6 pyconfig.h redefines macros. +Solution: Undefine the macros before including pyconfig.h. +Files: src/if_python.c + + +*** ../vim-7.2.287/src/if_python.c 2009-11-03 11:43:05.000000000 +0100 +--- src/if_python.c 2009-11-11 12:33:37.000000000 +0100 +*************** +*** 37,42 **** +--- 37,48 ---- + #ifdef HAVE_STDARG_H + # undef HAVE_STDARG_H /* Python's config.h defines it as well. */ + #endif ++ #ifdef _POSIX_C_SOURCE ++ # undef _POSIX_C_SOURCE /* pyconfig.h defines it as well. */ ++ #endif ++ #ifdef _XOPEN_SOURCE ++ # undef _XOPEN_SOURCE /* pyconfig.h defines it as well. */ ++ #endif + + #define PY_SSIZE_T_CLEAN + +*** ../vim-7.2.287/src/version.c 2009-11-11 14:45:36.000000000 +0100 +--- src/version.c 2009-11-11 15:05:51.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 288, + /**/ + +-- +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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.289 b/source/ap/vim/patches/7.2.289 new file mode 100644 index 000000000..4009bb9bd --- /dev/null +++ b/source/ap/vim/patches/7.2.289 @@ -0,0 +1,120 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.289 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.289 +Problem: Checking wrong struct member. +Solution: Change tb_buf to tb_noremap. (Dominique Pelle) +Files: src/getchar.c + + +*** ../vim-7.2.288/src/getchar.c 2009-09-30 15:15:33.000000000 +0200 +--- src/getchar.c 2009-11-11 12:50:58.000000000 +0100 +*************** +*** 22,28 **** + * These buffers are used for storing: + * - stuffed characters: A command that is translated into another command. + * - redo characters: will redo the last change. +! * - recorded chracters: for the "q" command. + * + * The bytes are stored like in the typeahead buffer: + * - K_SPECIAL introduces a special key (two more bytes follow). A literal +--- 22,28 ---- + * These buffers are used for storing: + * - stuffed characters: A command that is translated into another command. + * - redo characters: will redo the last change. +! * - recorded characters: for the "q" command. + * + * The bytes are stored like in the typeahead buffer: + * - K_SPECIAL introduces a special key (two more bytes follow). A literal +*************** +*** 1283,1289 **** + EMSG2(_(e_intern2), "Free typebuf 1"); + else + vim_free(typebuf.tb_buf); +! if (typebuf.tb_buf == noremapbuf_init) + EMSG2(_(e_intern2), "Free typebuf 2"); + else + vim_free(typebuf.tb_noremap); +--- 1283,1289 ---- + EMSG2(_(e_intern2), "Free typebuf 1"); + else + vim_free(typebuf.tb_buf); +! if (typebuf.tb_noremap == noremapbuf_init) + EMSG2(_(e_intern2), "Free typebuf 2"); + else + vim_free(typebuf.tb_noremap); +*************** +*** 1516,1522 **** + * wanted. + * This translates escaped K_SPECIAL and CSI bytes to a K_SPECIAL or CSI byte. + * Collects the bytes of a multibyte character into the whole character. +! * Returns the modifers in the global "mod_mask". + */ + int + vgetc() +--- 1516,1522 ---- + * wanted. + * This translates escaped K_SPECIAL and CSI bytes to a K_SPECIAL or CSI byte. + * Collects the bytes of a multibyte character into the whole character. +! * Returns the modifiers in the global "mod_mask". + */ + int + vgetc() +*************** +*** 3320,3326 **** + retval = 1; + goto theend; + } +! /* An abbrevation cannot contain white space. */ + for (n = 0; n < len; ++n) + if (vim_iswhite(keys[n])) + { +--- 3320,3326 ---- + retval = 1; + goto theend; + } +! /* An abbreviation cannot contain white space. */ + for (n = 0; n < len; ++n) + if (vim_iswhite(keys[n])) + { +*************** +*** 4272,4278 **** + + /* + * Check for word before the cursor: If it ends in a keyword char all +! * chars before it must be al keyword chars or non-keyword chars, but not + * white space. If it ends in a non-keyword char we accept any characters + * before it except white space. + */ +--- 4272,4278 ---- + + /* + * Check for word before the cursor: If it ends in a keyword char all +! * chars before it must be keyword chars or non-keyword chars, but not + * white space. If it ends in a non-keyword char we accept any characters + * before it except white space. + */ +*** ../vim-7.2.288/src/version.c 2009-11-11 15:06:59.000000000 +0100 +--- src/version.c 2009-11-11 16:19:12.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 289, + /**/ + +-- +A M00se once bit my sister ... + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.290 b/source/ap/vim/patches/7.2.290 new file mode 100644 index 000000000..ba4fd62dc --- /dev/null +++ b/source/ap/vim/patches/7.2.290 @@ -0,0 +1,157 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.290 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.290 +Problem: Not freeing memory from ":lmap", ":xmap" and ":menutranslate". +Solution: Free the memory when exiting. (Dominique Pelle) +Files: src/misc2.c + + +*** ../vim-7.2.289/src/misc2.c 2009-11-03 16:44:04.000000000 +0100 +--- src/misc2.c 2009-11-11 16:49:13.000000000 +0100 +*************** +*** 1005,1013 **** +--- 1005,1018 ---- + # ifdef FEAT_MENU + /* Clear menus. */ + do_cmdline_cmd((char_u *)"aunmenu *"); ++ # ifdef FEAT_MULTI_LANG ++ do_cmdline_cmd((char_u *)"menutranslate clear"); ++ # endif + # endif + + /* Clear mappings, abbreviations, breakpoints. */ ++ do_cmdline_cmd((char_u *)"lmapclear"); ++ do_cmdline_cmd((char_u *)"xmapclear"); + do_cmdline_cmd((char_u *)"mapclear"); + do_cmdline_cmd((char_u *)"mapclear!"); + do_cmdline_cmd((char_u *)"abclear"); +*************** +*** 1282,1288 **** + + /* + * Escape "string" for use as a shell argument with system(). +! * This uses single quotes, except when we know we need to use double qoutes + * (MS-DOS and MS-Windows without 'shellslash' set). + * Escape a newline, depending on the 'shell' option. + * When "do_special" is TRUE also replace "!", "%", "#" and things starting +--- 1287,1293 ---- + + /* + * Escape "string" for use as a shell argument with system(). +! * This uses single quotes, except when we know we need to use double quotes + * (MS-DOS and MS-Windows without 'shellslash' set). + * Escape a newline, depending on the 'shell' option. + * When "do_special" is TRUE also replace "!", "%", "#" and things starting +*************** +*** 1537,1543 **** + #if defined(FEAT_VISUALEXTRA) || defined(PROTO) + /* + * Copy a character a number of times. +! * Does not work for multi-byte charactes! + */ + void + copy_chars(ptr, count, c) +--- 1542,1548 ---- + #if defined(FEAT_VISUALEXTRA) || defined(PROTO) + /* + * Copy a character a number of times. +! * Does not work for multi-byte characters! + */ + void + copy_chars(ptr, count, c) +*************** +*** 4260,4266 **** + * or '**76' is transposed to '**N'( 'N' is ASCII value 76). + * For EBCDIC you get different character values. + * If no restrict is given after '**' the default is used. +! * Due to this technic the path looks awful if you print it as a + * string. + */ + len = 0; +--- 4265,4271 ---- + * or '**76' is transposed to '**N'( 'N' is ASCII value 76). + * For EBCDIC you get different character values. + * If no restrict is given after '**' the default is used. +! * Due to this technique the path looks awful if you print it as a + * string. + */ + len = 0; +*************** +*** 4649,4655 **** + && !mch_isdir(stackp->ffs_filearray[i])) + continue; /* not a directory */ + +! /* prepare the filename to be checked for existance + * below */ + STRCPY(file_path, stackp->ffs_filearray[i]); + add_pathsep(file_path); +--- 4654,4660 ---- + && !mch_isdir(stackp->ffs_filearray[i])) + continue; /* not a directory */ + +! /* prepare the filename to be checked for existence + * below */ + STRCPY(file_path, stackp->ffs_filearray[i]); + add_pathsep(file_path); +*************** +*** 5438,5444 **** + #if defined(MSWIN) || defined(MSDOS) || defined(OS2) + /* handle "\tmp" as absolute path */ + || vim_ispathsep(ff_file_to_find[0]) +! /* handle "c:name" as absulute path */ + || (ff_file_to_find[0] != NUL && ff_file_to_find[1] == ':') + #endif + #ifdef AMIGA +--- 5443,5449 ---- + #if defined(MSWIN) || defined(MSDOS) || defined(OS2) + /* handle "\tmp" as absolute path */ + || vim_ispathsep(ff_file_to_find[0]) +! /* handle "c:name" as absolute path */ + || (ff_file_to_find[0] != NUL && ff_file_to_find[1] == ':') + #endif + #ifdef AMIGA +*************** +*** 5681,5687 **** + p2 = (char_u *)base + (j + gap) * elm_size; + if ((*cmp)((void *)p1, (void *)p2) <= 0) + break; +! /* Exchange the elemets. */ + mch_memmove(buf, p1, elm_size); + mch_memmove(p1, p2, elm_size); + mch_memmove(p2, buf, elm_size); +--- 5686,5692 ---- + p2 = (char_u *)base + (j + gap) * elm_size; + if ((*cmp)((void *)p1, (void *)p2) <= 0) + break; +! /* Exchange the elements. */ + mch_memmove(buf, p1, elm_size); + mch_memmove(p1, p2, elm_size); + mch_memmove(p2, buf, elm_size); +*** ../vim-7.2.289/src/version.c 2009-11-11 16:23:37.000000000 +0100 +--- src/version.c 2009-11-11 16:54:53.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 290, + /**/ + +-- +ARTHUR: It is I, Arthur, son of Uther Pendragon, from the castle of Camelot. + King of all Britons, defeator of the Saxons, sovereign of all England! + [Pause] +SOLDIER: Get away! + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.291 b/source/ap/vim/patches/7.2.291 new file mode 100644 index 000000000..bab6e3bf8 --- /dev/null +++ b/source/ap/vim/patches/7.2.291 @@ -0,0 +1,53 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.291 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.291 +Problem: Reading uninitialised memory in arabic mode. +Solution: Use utfc_ptr2char_len() rather than utfc_ptr2char(). (Dominique + Pelle) +Files: src/screen.c + + +*** ../vim-7.2.290/src/screen.c 2009-11-03 17:36:09.000000000 +0100 +--- src/screen.c 2009-11-11 17:04:53.000000000 +0100 +*************** +*** 6413,6419 **** + } + else + { +! nc = utfc_ptr2char(ptr + mbyte_blen, pcc); + nc1 = pcc[0]; + } + pc = prev_c; +--- 6413,6420 ---- + } + else + { +! nc = utfc_ptr2char_len(ptr + mbyte_blen, pcc, +! (int)((text + len) - ptr - mbyte_blen)); + nc1 = pcc[0]; + } + pc = prev_c; +*** ../vim-7.2.290/src/version.c 2009-11-11 16:56:13.000000000 +0100 +--- src/version.c 2009-11-11 17:06:48.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 291, + /**/ + +-- +The problem with political jokes is that they get elected. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.292 b/source/ap/vim/patches/7.2.292 new file mode 100644 index 000000000..c57619042 --- /dev/null +++ b/source/ap/vim/patches/7.2.292 @@ -0,0 +1,55 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.292 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.292 +Problem: Block right-shift doesn't work properly with multi-byte encoding + and 'list' set. +Solution: Add the missing "else". (Lech Lorens) +Files: src/ops.c + + +*** ../vim-7.2.291/src/ops.c 2009-11-03 16:44:04.000000000 +0100 +--- src/ops.c 2009-11-11 17:15:04.000000000 +0100 +*************** +*** 422,429 **** + #ifdef FEAT_MBYTE + if (has_mbyte) + bd.textstart += (*mb_ptr2len)(bd.textstart); + #endif +! ++bd.textstart; + } + for ( ; vim_iswhite(*bd.textstart); ) + { +--- 422,430 ---- + #ifdef FEAT_MBYTE + if (has_mbyte) + bd.textstart += (*mb_ptr2len)(bd.textstart); ++ else + #endif +! ++bd.textstart; + } + for ( ; vim_iswhite(*bd.textstart); ) + { +*** ../vim-7.2.291/src/version.c 2009-11-11 17:07:25.000000000 +0100 +--- src/version.c 2009-11-11 17:21:31.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 292, + /**/ + +-- +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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.293 b/source/ap/vim/patches/7.2.293 new file mode 100644 index 000000000..0f41435ad --- /dev/null +++ b/source/ap/vim/patches/7.2.293 @@ -0,0 +1,66 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.293 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.293 +Problem: When setting 'comments' option it may be used in a wrong way. +Solution: Don't increment after skipping over digets. (Yukihiro Nakadaira) +Files: src/misc1.c + + +*** ../vim-7.2.292/src/misc1.c 2009-11-03 18:46:53.000000000 +0100 +--- src/misc1.c 2009-11-11 17:27:38.000000000 +0100 +*************** +*** 1026,1037 **** + int c = 0; + int off = 0; + +! for (p = lead_flags; *p && *p != ':'; ++p) + { + if (*p == COM_RIGHT || *p == COM_LEFT) +! c = *p; + else if (VIM_ISDIGIT(*p) || *p == '-') + off = getdigits(&p); + } + if (c == COM_RIGHT) /* right adjusted leader */ + { +--- 1026,1039 ---- + int c = 0; + int off = 0; + +! for (p = lead_flags; *p != NUL && *p != ':'; ) + { + if (*p == COM_RIGHT || *p == COM_LEFT) +! c = *p++; + else if (VIM_ISDIGIT(*p) || *p == '-') + off = getdigits(&p); ++ else ++ ++p; + } + if (c == COM_RIGHT) /* right adjusted leader */ + { +*** ../vim-7.2.292/src/version.c 2009-11-11 17:22:30.000000000 +0100 +--- src/version.c 2009-11-11 17:29:24.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 293, + /**/ + +-- +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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.294 b/source/ap/vim/patches/7.2.294 new file mode 100644 index 000000000..fef1e6bfe --- /dev/null +++ b/source/ap/vim/patches/7.2.294 @@ -0,0 +1,285 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.294 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.294 +Problem: When using TEMPDIRS dir name could get too long. +Solution: Overwrite tail instead of appending each time. Use mkdtemp() when + available. (James Vega) +Files: src/auto/configure, src/config.h.in, src/configure.in, src/fileio.c + + +*** ../vim-7.2.293/src/auto/configure 2009-09-11 13:44:33.000000000 +0200 +--- src/auto/configure 2009-11-17 12:03:15.000000000 +0100 +*************** +*** 14019,14027 **** + + + + for ac_func in bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \ + getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \ +! memset nanosleep opendir putenv qsort readlink select setenv \ + setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \ + sigvec strcasecmp strerror strftime stricmp strncasecmp \ + strnicmp strpbrk strtol tgetent towlower towupper iswupper \ +--- 14019,14028 ---- + + + ++ + for ac_func in bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \ + getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \ +! memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \ + setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \ + sigvec strcasecmp strerror strftime stricmp strncasecmp \ + strnicmp strpbrk strtol tgetent towlower towupper iswupper \ +*** ../vim-7.2.293/src/config.h.in 2009-05-21 23:25:38.000000000 +0200 +--- src/config.h.in 2009-11-11 17:40:21.000000000 +0100 +*************** +*** 157,162 **** +--- 157,163 ---- + #undef HAVE_LSTAT + #undef HAVE_MEMCMP + #undef HAVE_MEMSET ++ #undef HAVE_MKDTEMP + #undef HAVE_NANOSLEEP + #undef HAVE_OPENDIR + #undef HAVE_FLOAT_FUNCS +*** ../vim-7.2.293/src/configure.in 2009-09-11 13:44:33.000000000 +0200 +--- src/configure.in 2009-11-11 17:40:21.000000000 +0100 +*************** +*** 2635,2641 **** + dnl Check for functions in one big call, to reduce the size of configure + AC_CHECK_FUNCS(bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \ + getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \ +! memset nanosleep opendir putenv qsort readlink select setenv \ + setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \ + sigvec strcasecmp strerror strftime stricmp strncasecmp \ + strnicmp strpbrk strtol tgetent towlower towupper iswupper \ +--- 2635,2641 ---- + dnl Check for functions in one big call, to reduce the size of configure + AC_CHECK_FUNCS(bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \ + getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \ +! memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \ + setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \ + sigvec strcasecmp strerror strftime stricmp strncasecmp \ + strnicmp strpbrk strtol tgetent towlower towupper iswupper \ +*** ../vim-7.2.293/src/fileio.c 2009-09-11 17:24:01.000000000 +0200 +--- src/fileio.c 2009-11-11 18:01:22.000000000 +0100 +*************** +*** 146,151 **** +--- 146,152 ---- + # endif + #endif + static int move_lines __ARGS((buf_T *frombuf, buf_T *tobuf)); ++ static void vim_settempdir __ARGS((char_u *tempdir)); + #ifdef FEAT_AUTOCMD + static char *e_auchangedbuf = N_("E812: Autocommands changed buffer or buffer name"); + #endif +*************** +*** 6987,6992 **** +--- 6988,7020 ---- + #endif + + /* ++ * Directory "tempdir" was created. Expand this name to a full path and put ++ * it in "vim_tempdir". This avoids that using ":cd" would confuse us. ++ * "tempdir" must be no longer than MAXPATHL. ++ */ ++ static void ++ vim_settempdir(tempdir) ++ char_u *tempdir; ++ { ++ char_u *buf; ++ ++ buf = alloc((unsigned)MAXPATHL + 2); ++ if (buf != NULL) ++ { ++ if (vim_FullName(tempdir, buf, MAXPATHL, FALSE) == FAIL) ++ STRCPY(buf, tempdir); ++ # ifdef __EMX__ ++ if (vim_strchr(buf, '/') != NULL) ++ STRCAT(buf, "/"); ++ else ++ # endif ++ add_pathsep(buf); ++ vim_tempdir = vim_strsave(buf); ++ vim_free(buf); ++ } ++ } ++ ++ /* + * vim_tempname(): Return a unique name that can be used for a temp file. + * + * The temp file is NOT created. +*************** +*** 7007,7014 **** + #ifdef TEMPDIRNAMES + static char *(tempdirs[]) = {TEMPDIRNAMES}; + int i; +- long nr; +- long off; + # ifndef EEXIST + struct stat st; + # endif +--- 7035,7040 ---- +*************** +*** 7027,7032 **** +--- 7053,7064 ---- + */ + for (i = 0; i < (int)(sizeof(tempdirs) / sizeof(char *)); ++i) + { ++ size_t itmplen; ++ # ifndef HAVE_MKDTEMP ++ long nr; ++ long off; ++ # endif ++ + /* expand $TMP, leave room for "/v1100000/999999999" */ + expand_env((char_u *)tempdirs[i], itmp, TEMPNAMELEN - 20); + if (mch_isdir(itmp)) /* directory exists */ +*************** +*** 7040,7046 **** +--- 7072,7085 ---- + else + # endif + add_pathsep(itmp); ++ itmplen = STRLEN(itmp); + ++ # ifdef HAVE_MKDTEMP ++ /* Leave room for filename */ ++ STRCAT(itmp, "vXXXXXX"); ++ if (mkdtemp((char *)itmp) != NULL) ++ vim_settempdir(itmp); ++ # else + /* Get an arbitrary number of up to 6 digits. When it's + * unlikely that it already exists it will be faster, + * otherwise it doesn't matter. The use of mkdir() avoids any +*************** +*** 7052,7110 **** + for (off = 0; off < 10000L; ++off) + { + int r; +! #if defined(UNIX) || defined(VMS) + mode_t umask_save; +! #endif + +! sprintf((char *)itmp + STRLEN(itmp), "v%ld", nr + off); +! # ifndef EEXIST + /* If mkdir() does not set errno to EEXIST, check for + * existing file here. There is a race condition then, + * although it's fail-safe. */ + if (mch_stat((char *)itmp, &st) >= 0) + continue; +! # endif +! #if defined(UNIX) || defined(VMS) + /* Make sure the umask doesn't remove the executable bit. + * "repl" has been reported to use "177". */ + umask_save = umask(077); +! #endif + r = vim_mkdir(itmp, 0700); +! #if defined(UNIX) || defined(VMS) + (void)umask(umask_save); +! #endif + if (r == 0) + { +! char_u *buf; +! +! /* Directory was created, use this name. +! * Expand to full path; When using the current +! * directory a ":cd" would confuse us. */ +! buf = alloc((unsigned)MAXPATHL + 1); +! if (buf != NULL) +! { +! if (vim_FullName(itmp, buf, MAXPATHL, FALSE) +! == FAIL) +! STRCPY(buf, itmp); +! # ifdef __EMX__ +! if (vim_strchr(buf, '/') != NULL) +! STRCAT(buf, "/"); +! else +! # endif +! add_pathsep(buf); +! vim_tempdir = vim_strsave(buf); +! vim_free(buf); +! } + break; + } +! # ifdef EEXIST + /* If the mkdir() didn't fail because the file/dir exists, + * we probably can't create any dir here, try another + * place. */ + if (errno != EEXIST) +! # endif + break; + } + if (vim_tempdir != NULL) + break; + } +--- 7091,7131 ---- + for (off = 0; off < 10000L; ++off) + { + int r; +! # if defined(UNIX) || defined(VMS) + mode_t umask_save; +! # endif + +! sprintf((char *)itmp + itmplen, "v%ld", nr + off); +! # ifndef EEXIST + /* If mkdir() does not set errno to EEXIST, check for + * existing file here. There is a race condition then, + * although it's fail-safe. */ + if (mch_stat((char *)itmp, &st) >= 0) + continue; +! # endif +! # if defined(UNIX) || defined(VMS) + /* Make sure the umask doesn't remove the executable bit. + * "repl" has been reported to use "177". */ + umask_save = umask(077); +! # endif + r = vim_mkdir(itmp, 0700); +! # if defined(UNIX) || defined(VMS) + (void)umask(umask_save); +! # endif + if (r == 0) + { +! vim_settempdir(itmp); + break; + } +! # ifdef EEXIST + /* If the mkdir() didn't fail because the file/dir exists, + * we probably can't create any dir here, try another + * place. */ + if (errno != EEXIST) +! # endif + break; + } ++ # endif /* HAVE_MKDTEMP */ + if (vim_tempdir != NULL) + break; + } +*** ../vim-7.2.293/src/version.c 2009-11-11 17:30:05.000000000 +0100 +--- src/version.c 2009-11-17 11:54:49.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 294, + /**/ + +-- +ARTHUR: Now stand aside worthy adversary. +BLACK KNIGHT: (Glancing at his shoulder) 'Tis but a scratch. +ARTHUR: A scratch? Your arm's off. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.295 b/source/ap/vim/patches/7.2.295 new file mode 100644 index 000000000..331498ffd --- /dev/null +++ b/source/ap/vim/patches/7.2.295 @@ -0,0 +1,142 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.295 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.295 +Problem: When using map() on a List the index is not known. +Solution: Set v:key to the index. (Hari Krishna Dara) +Files: runtime/doc/eval.txt, src/eval.c + + +*** ../vim-7.2.294/runtime/doc/eval.txt 2009-11-11 14:21:48.000000000 +0100 +--- runtime/doc/eval.txt 2009-11-11 18:22:54.000000000 +0100 +*************** +*** 3802,3808 **** + Replace each item in {expr} with the result of evaluating + {string}. + Inside {string} |v:val| has the value of the current item. +! For a |Dictionary| |v:key| has the key of the current item. + Example: > + :call map(mylist, '"> " . v:val . " <"') + < This puts "> " before and " <" after each item in "mylist". +--- 3812,3819 ---- + Replace each item in {expr} with the result of evaluating + {string}. + Inside {string} |v:val| has the value of the current item. +! For a |Dictionary| |v:key| has the key of the current item +! and for a |List| |v:key| has the index of the current item. + Example: > + :call map(mylist, '"> " . v:val . " <"') + < This puts "> " before and " <" after each item in "mylist". +*** ../vim-7.2.294/src/eval.c 2009-11-11 14:21:48.000000000 +0100 +--- src/eval.c 2009-11-11 18:22:49.000000000 +0100 +*************** +*** 9928,9933 **** +--- 9928,9934 ---- + int todo; + char_u *ermsg = map ? (char_u *)"map()" : (char_u *)"filter()"; + int save_did_emsg; ++ int index = 0; + + if (argvars[0].v_type == VAR_LIST) + { +*************** +*** 9961,9969 **** + save_did_emsg = did_emsg; + did_emsg = FALSE; + + if (argvars[0].v_type == VAR_DICT) + { +- prepare_vimvar(VV_KEY, &save_key); + vimvars[VV_KEY].vv_type = VAR_STRING; + + ht = &d->dv_hashtab; +--- 9962,9970 ---- + save_did_emsg = did_emsg; + did_emsg = FALSE; + ++ prepare_vimvar(VV_KEY, &save_key); + if (argvars[0].v_type == VAR_DICT) + { + vimvars[VV_KEY].vv_type = VAR_STRING; + + ht = &d->dv_hashtab; +*************** +*** 9987,10010 **** + } + } + hash_unlock(ht); +- +- restore_vimvar(VV_KEY, &save_key); + } + else + { + for (li = l->lv_first; li != NULL; li = nli) + { + if (tv_check_lock(li->li_tv.v_lock, ermsg)) + break; + nli = li->li_next; + if (filter_map_one(&li->li_tv, expr, map, &rem) == FAIL + || did_emsg) + break; + if (!map && rem) + listitem_remove(l, li); + } + } + + restore_vimvar(VV_VAL, &save_val); + + did_emsg |= save_did_emsg; +--- 9988,10014 ---- + } + } + hash_unlock(ht); + } + else + { ++ vimvars[VV_KEY].vv_type = VAR_NUMBER; ++ + for (li = l->lv_first; li != NULL; li = nli) + { + if (tv_check_lock(li->li_tv.v_lock, ermsg)) + break; + nli = li->li_next; ++ vimvars[VV_KEY].vv_nr = index; + if (filter_map_one(&li->li_tv, expr, map, &rem) == FAIL + || did_emsg) + break; + if (!map && rem) + listitem_remove(l, li); ++ ++index; + } + } + ++ restore_vimvar(VV_KEY, &save_key); + restore_vimvar(VV_VAL, &save_val); + + did_emsg |= save_did_emsg; +*** ../vim-7.2.294/src/version.c 2009-11-17 12:08:48.000000000 +0100 +--- src/version.c 2009-11-17 12:18:08.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 295, + /**/ + +-- +ARTHUR: You are indeed brave Sir knight, but the fight is mine. +BLACK KNIGHT: Had enough? +ARTHUR: You stupid bastard. You havn't got any arms left. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.296 b/source/ap/vim/patches/7.2.296 new file mode 100644 index 000000000..5fc3cb3c8 --- /dev/null +++ b/source/ap/vim/patches/7.2.296 @@ -0,0 +1,53 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.296 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.296 +Problem: Help message about startuptime is wrong. (Dominique Pelle) +Solution: Remove the equal sign. +Files: src/main.c + + +*** ../vim-7.2.295/src/main.c 2009-11-11 14:21:48.000000000 +0100 +--- src/main.c 2009-11-11 22:51:04.000000000 +0100 +*************** +*** 3151,3157 **** + main_msg(_("--servername <name>\tSend to/become the Vim server <name>")); + #endif + #ifdef STARTUPTIME +! main_msg(_("--startuptime=<file>\tWrite startup timing messages to <file>")); + #endif + #ifdef FEAT_VIMINFO + main_msg(_("-i <viminfo>\t\tUse <viminfo> instead of .viminfo")); +--- 3151,3157 ---- + main_msg(_("--servername <name>\tSend to/become the Vim server <name>")); + #endif + #ifdef STARTUPTIME +! main_msg(_("--startuptime <file>\tWrite startup timing messages to <file>")); + #endif + #ifdef FEAT_VIMINFO + main_msg(_("-i <viminfo>\t\tUse <viminfo> instead of .viminfo")); +*** ../vim-7.2.295/src/version.c 2009-11-17 12:20:30.000000000 +0100 +--- src/version.c 2009-11-17 12:30:29.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 296, + /**/ + +-- +BLACK KNIGHT: I'm invincible! +ARTHUR: You're a looney. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.297 b/source/ap/vim/patches/7.2.297 new file mode 100644 index 000000000..cc8d78994 --- /dev/null +++ b/source/ap/vim/patches/7.2.297 @@ -0,0 +1,70 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.297 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.297 +Problem: Reading freed memory when writing ":reg" output to a register. + (Dominique Pelle) +Solution: Skip the register being written to. +Files: src/ops.c + + +*** ../vim-7.2.296/src/ops.c 2009-11-11 17:22:30.000000000 +0100 +--- src/ops.c 2009-11-11 19:30:47.000000000 +0100 +*************** +*** 3991,3996 **** +--- 3991,4004 ---- + } + else + yb = &(y_regs[i]); ++ ++ #ifdef FEAT_EVAL ++ if (name == MB_TOLOWER(redir_reg) ++ || (redir_reg == '"' && yb == y_previous)) ++ continue; /* do not list register being written to, the ++ * pointer can be freed */ ++ #endif ++ + if (yb->y_array != NULL) + { + msg_putchar('\n'); +*************** +*** 6090,6096 **** + long maxlen; + #endif + +! if (y_ptr->y_array == NULL) /* NULL means emtpy register */ + y_ptr->y_size = 0; + + /* +--- 6098,6104 ---- + long maxlen; + #endif + +! if (y_ptr->y_array == NULL) /* NULL means empty register */ + y_ptr->y_size = 0; + + /* +*** ../vim-7.2.296/src/version.c 2009-11-17 12:31:30.000000000 +0100 +--- src/version.c 2009-11-17 12:42:28.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 297, + /**/ + +-- +"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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.298 b/source/ap/vim/patches/7.2.298 new file mode 100644 index 000000000..0aabd7acf --- /dev/null +++ b/source/ap/vim/patches/7.2.298 @@ -0,0 +1,48 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.298 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.298 +Problem: ":vimgrep" crashes when there is an autocommand that sets a + window-local variable. +Solution: Initialize the w: hashtab for re-use. (Yukihiro Nakadaira) +Files: src/fileio.c + + +*** ../vim-7.2.297/src/fileio.c 2009-11-17 12:08:48.000000000 +0100 +--- src/fileio.c 2009-11-17 13:22:06.000000000 +0100 +*************** +*** 8597,8602 **** +--- 8605,8611 ---- + curwin = firstwin; + # ifdef FEAT_EVAL + vars_clear(&aucmd_win->w_vars.dv_hashtab); /* free all w: variables */ ++ hash_init(&aucmd_win->w_vars.dv_hashtab); /* re-use the hashtab */ + # endif + #else + curwin = aco->save_curwin; +*** ../vim-7.2.297/src/version.c 2009-11-17 12:43:19.000000000 +0100 +--- src/version.c 2009-11-17 14:56:19.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 298, + /**/ + +-- +Eye have a spelling checker, it came with my PC; +It plainly marks four my revue mistakes I cannot sea. +I've run this poem threw it, I'm sure your please to no, +It's letter perfect in it's weigh, my checker tolled me sew! + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.299 b/source/ap/vim/patches/7.2.299 new file mode 100644 index 000000000..88f9e7055 --- /dev/null +++ b/source/ap/vim/patches/7.2.299 @@ -0,0 +1,54 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.299 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.299 +Problem: Crash when comment middle is longer than start. +Solution: Fix size computation. (Lech Lorens) +Files: src/misc1.c + + +*** ../vim-7.2.298/src/misc1.c 2009-11-11 17:30:05.000000000 +0100 +--- src/misc1.c 2009-11-17 15:59:28.000000000 +0100 +*************** +*** 1121,1127 **** + if (i != lead_repl_len) + { + mch_memmove(p + lead_repl_len, p + i, +! (size_t)(lead_len - i - (leader - p))); + lead_len += lead_repl_len - i; + } + } +--- 1121,1127 ---- + if (i != lead_repl_len) + { + mch_memmove(p + lead_repl_len, p + i, +! (size_t)(lead_len - i - (p - leader))); + lead_len += lead_repl_len - i; + } + } +*** ../vim-7.2.298/src/version.c 2009-11-17 14:57:19.000000000 +0100 +--- src/version.c 2009-11-17 16:01:07.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 299, + /**/ + +-- +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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.300 b/source/ap/vim/patches/7.2.300 new file mode 100644 index 000000000..f88035e67 --- /dev/null +++ b/source/ap/vim/patches/7.2.300 @@ -0,0 +1,201 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.300 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.300 +Problem: Vim doesn't close file descriptors when forking and executing + another command, e.g., ":shell". +Solution: Use FD_CLOEXEC when available. (James Vega) +Files: src/auto/configure, src/config.h.in, src/configure.in, + src/ex_cmdds2.c, src/fileio.c, src/memfile.c, src/memline.c + + +*** ../vim-7.2.299/src/auto/configure 2009-11-17 12:08:48.000000000 +0100 +--- src/auto/configure 2009-11-17 13:09:03.000000000 +0100 +*************** +*** 15174,15179 **** +--- 15174,15231 ---- + $as_echo "yes" >&6; } + fi + ++ { $as_echo "$as_me:$LINENO: checking for FD_CLOEXEC" >&5 ++ $as_echo_n "checking for FD_CLOEXEC... " >&6; } ++ cat >conftest.$ac_ext <<_ACEOF ++ /* confdefs.h. */ ++ _ACEOF ++ cat confdefs.h >>conftest.$ac_ext ++ cat >>conftest.$ac_ext <<_ACEOF ++ /* end confdefs.h. */ ++ #if HAVE_FCNTL_H ++ # include <fcntl.h> ++ #endif ++ int ++ main () ++ { ++ int flag = FD_CLOEXEC; ++ ; ++ return 0; ++ } ++ _ACEOF ++ rm -f conftest.$ac_objext ++ if { (ac_try="$ac_compile" ++ case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++ esac ++ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" ++ $as_echo "$ac_try_echo") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ { $as_echo "$as_me:$LINENO: result: yes" >&5 ++ $as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF ++ #define HAVE_FD_CLOEXEC 1 ++ _ACEOF ++ ++ else ++ $as_echo "$as_me: failed program was:" >&5 ++ sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ { $as_echo "$as_me:$LINENO: result: not usable" >&5 ++ $as_echo "not usable" >&6; } ++ fi ++ ++ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ + { $as_echo "$as_me:$LINENO: checking for rename" >&5 + $as_echo_n "checking for rename... " >&6; } + cat >conftest.$ac_ext <<_ACEOF +*** ../vim-7.2.299/src/config.h.in 2009-11-17 12:08:48.000000000 +0100 +--- src/config.h.in 2009-11-17 13:01:36.000000000 +0100 +*************** +*** 388,390 **** +--- 388,393 ---- + + /* Define if you want XSMP interaction as well as vanilla swapfile safety */ + #undef USE_XSMP_INTERACT ++ ++ /* Define if fcntl()'s F_SETFD command knows about FD_CLOEXEC */ ++ #undef HAVE_FD_CLOEXEC +*** ../vim-7.2.299/src/configure.in 2009-11-17 12:08:48.000000000 +0100 +--- src/configure.in 2009-11-17 13:01:36.000000000 +0100 +*************** +*** 2855,2860 **** +--- 2855,2870 ---- + AC_MSG_RESULT(yes) + fi + ++ dnl make sure the FD_CLOEXEC flag for fcntl()'s F_SETFD command is known ++ AC_MSG_CHECKING(for FD_CLOEXEC) ++ AC_TRY_COMPILE( ++ [#if HAVE_FCNTL_H ++ # include <fcntl.h> ++ #endif], ++ [ int flag = FD_CLOEXEC;], ++ AC_MSG_RESULT(yes); AC_DEFINE(HAVE_FD_CLOEXEC), ++ AC_MSG_RESULT(not usable)) ++ + dnl rename needs to be checked separately to work on Nextstep with cc + AC_MSG_CHECKING(for rename) + AC_TRY_LINK([#include <stdio.h>], [rename("this", "that")], +*** ../vim-7.2.299/src/fileio.c 2009-11-17 14:57:19.000000000 +0100 +--- src/fileio.c 2009-11-17 13:22:06.000000000 +0100 +*************** +*** 2254,2259 **** +--- 2254,2267 ---- + + if (!read_buffer && !read_stdin) + close(fd); /* errors are ignored */ ++ #ifdef HAVE_FD_CLOEXEC ++ else ++ { ++ int fdflags = fcntl(fd, F_GETFD); ++ if (fdflags >= 0 && (fdflags & FD_CLOEXEC) == 0) ++ fcntl(fd, F_SETFD, fdflags | FD_CLOEXEC); ++ } ++ #endif + vim_free(buffer); + + #ifdef HAVE_DUP +*** ../vim-7.2.299/src/memfile.c 2008-07-13 19:39:39.000000000 +0200 +--- src/memfile.c 2009-11-17 13:22:15.000000000 +0100 +*************** +*** 1343,1348 **** +--- 1343,1353 ---- + } + else + { ++ #ifdef HAVE_FD_CLOEXEC ++ int fdflags = fcntl(mfp->mf_fd, F_GETFD); ++ if (fdflags >= 0 && (fdflags & FD_CLOEXEC) == 0) ++ fcntl(mfp->mf_fd, F_SETFD, fdflags | FD_CLOEXEC); ++ #endif + #ifdef HAVE_SELINUX + mch_copy_sec(fname, mfp->mf_fname); + #endif +*** ../vim-7.2.299/src/memline.c 2009-11-03 15:32:58.000000000 +0100 +--- src/memline.c 2009-11-17 13:21:40.000000000 +0100 +*************** +*** 382,388 **** + dp->db_index[0] = --dp->db_txt_start; /* at end of block */ + dp->db_free -= 1 + INDEX_SIZE; + dp->db_line_count = 1; +! *((char_u *)dp + dp->db_txt_start) = NUL; /* emtpy line */ + + return OK; + +--- 382,388 ---- + dp->db_index[0] = --dp->db_txt_start; /* at end of block */ + dp->db_free -= 1 + INDEX_SIZE; + dp->db_line_count = 1; +! *((char_u *)dp + dp->db_txt_start) = NUL; /* empty line */ + + return OK; + +*************** +*** 490,495 **** +--- 490,502 ---- + EMSG(_("E301: Oops, lost the swap file!!!")); + return; + } ++ #ifdef HAVE_FD_CLOEXEC ++ { ++ int fdflags = fcntl(mfp->mf_fd, F_GETFD); ++ if (fdflags >= 0 && (fdflags & FD_CLOEXEC) == 0) ++ fcntl(mfp->mf_fd, F_SETFD, fdflags | FD_CLOEXEC); ++ } ++ #endif + } + if (!success) + EMSG(_("E302: Could not rename swap file")); +*** ../vim-7.2.299/src/version.c 2009-11-17 16:08:12.000000000 +0100 +--- src/version.c 2009-11-17 17:09:43.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 300, + /**/ + +-- + | + +Ceci n'est pas une pipe. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.301 b/source/ap/vim/patches/7.2.301 new file mode 100644 index 000000000..e63cc088a --- /dev/null +++ b/source/ap/vim/patches/7.2.301 @@ -0,0 +1,777 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.301 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +NOTE: some mail and patch programs may have a problem with the non-ASCII +characters in this patch. You can fetch the patch from +ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.301 and/or fetch the updated +files from CVS. http://www.vim.org/cvs.php + + +Patch 7.2.301 +Problem: Formatting is wrong when 'tw' is set to a small value. +Solution: Fix it and add tests. Also fix behavior of "1" in 'fo'. (Yukihiro + Nakadaira) +Files: src/edit.c, src/testdir/Makefile, src/testdir/test68.in, + src/testdir/test68.ok, src/testdir/test69.in, + src/testdir/test69.ok + + +*** ../vim-7.2.300/src/edit.c 2009-11-11 13:22:32.000000000 +0100 +--- src/edit.c 2009-11-17 15:34:47.000000000 +0100 +*************** +*** 181,187 **** + static void ins_ctrl_v __ARGS((void)); + static void undisplay_dollar __ARGS((void)); + static void insert_special __ARGS((int, int, int)); +! static void internal_format __ARGS((int textwidth, int second_indent, int flags, int format_only)); + static void check_auto_format __ARGS((int)); + static void redo_literal __ARGS((int c)); + static void start_arrow __ARGS((pos_T *end_insert_pos)); +--- 181,187 ---- + static void ins_ctrl_v __ARGS((void)); + static void undisplay_dollar __ARGS((void)); + static void insert_special __ARGS((int, int, int)); +! static void internal_format __ARGS((int textwidth, int second_indent, int flags, int format_only, int c)); + static void check_auto_format __ARGS((int)); + static void redo_literal __ARGS((int c)); + static void start_arrow __ARGS((pos_T *end_insert_pos)); +*************** +*** 2164,2170 **** + int i, c; + int actual_len; /* Take multi-byte characters */ + int actual_compl_length; /* into account. */ +! int *wca; /* Wide character array. */ + int has_lower = FALSE; + int was_letter = FALSE; + +--- 2164,2170 ---- + int i, c; + int actual_len; /* Take multi-byte characters */ + int actual_compl_length; /* into account. */ +! int *wca; /* Wide character array. */ + int has_lower = FALSE; + int was_letter = FALSE; + +*************** +*** 5558,5564 **** + } + if (do_internal) + #endif +! internal_format(textwidth, second_indent, flags, c == NUL); + } + + if (c == NUL) /* only formatting was wanted */ +--- 5558,5564 ---- + } + if (do_internal) + #endif +! internal_format(textwidth, second_indent, flags, c == NUL, c); + } + + if (c == NUL) /* only formatting was wanted */ +*************** +*** 5738,5748 **** + * Format text at the current insert position. + */ + static void +! internal_format(textwidth, second_indent, flags, format_only) + int textwidth; + int second_indent; + int flags; + int format_only; + { + int cc; + int save_char = NUL; +--- 5738,5749 ---- + * Format text at the current insert position. + */ + static void +! internal_format(textwidth, second_indent, flags, format_only, c) + int textwidth; + int second_indent; + int flags; + int format_only; ++ int c; /* character to be inserted (can be NUL) */ + { + int cc; + int save_char = NUL; +*************** +*** 5763,5769 **** + * When 'ai' is off we don't want a space under the cursor to be + * deleted. Replace it with an 'x' temporarily. + */ +! if (!curbuf->b_p_ai) + { + cc = gchar_cursor(); + if (vim_iswhite(cc)) +--- 5764,5774 ---- + * When 'ai' is off we don't want a space under the cursor to be + * deleted. Replace it with an 'x' temporarily. + */ +! if (!curbuf->b_p_ai +! #ifdef FEAT_VREPLACE +! && !(State & VREPLACE_FLAG) +! #endif +! ) + { + cc = gchar_cursor(); + if (vim_iswhite(cc)) +*************** +*** 5789,5797 **** + char_u *saved_text = NULL; + #endif + colnr_T col; + +! virtcol = get_nolist_virtcol(); +! if (virtcol < (colnr_T)textwidth) + break; + + #ifdef FEAT_COMMENTS +--- 5794,5804 ---- + char_u *saved_text = NULL; + #endif + colnr_T col; ++ colnr_T end_col; + +! virtcol = get_nolist_virtcol() +! + char2cells(c != NUL ? c : gchar_cursor()); +! if (virtcol <= (colnr_T)textwidth) + break; + + #ifdef FEAT_COMMENTS +*************** +*** 5831,5842 **** + coladvance((colnr_T)textwidth); + wantcol = curwin->w_cursor.col; + +! curwin->w_cursor.col = startcol - 1; +! #ifdef FEAT_MBYTE +! /* Correct cursor for multi-byte character. */ +! if (has_mbyte) +! mb_adjust_cursor(); +! #endif + foundcol = 0; + + /* +--- 5838,5844 ---- + coladvance((colnr_T)textwidth); + wantcol = curwin->w_cursor.col; + +! curwin->w_cursor.col = startcol; + foundcol = 0; + + /* +*************** +*** 5847,5857 **** + || curwin->w_cursor.lnum != Insstart.lnum + || curwin->w_cursor.col >= Insstart.col) + { +! cc = gchar_cursor(); + if (WHITECHAR(cc)) + { + /* remember position of blank just before text */ +! end_foundcol = curwin->w_cursor.col; + + /* find start of sequence of blanks */ + while (curwin->w_cursor.col > 0 && WHITECHAR(cc)) +--- 5849,5862 ---- + || curwin->w_cursor.lnum != Insstart.lnum + || curwin->w_cursor.col >= Insstart.col) + { +! if (curwin->w_cursor.col == startcol && c != NUL) +! cc = c; +! else +! cc = gchar_cursor(); + if (WHITECHAR(cc)) + { + /* remember position of blank just before text */ +! end_col = curwin->w_cursor.col; + + /* find start of sequence of blanks */ + while (curwin->w_cursor.col > 0 && WHITECHAR(cc)) +*************** +*** 5871,5877 **** + /* do not break after one-letter words */ + if (curwin->w_cursor.col == 0) + break; /* one-letter word at begin */ +! + col = curwin->w_cursor.col; + dec_cursor(); + cc = gchar_cursor(); +--- 5876,5886 ---- + /* do not break after one-letter words */ + if (curwin->w_cursor.col == 0) + break; /* one-letter word at begin */ +! #ifdef FEAT_COMMENTS +! /* do not break "#a b" when 'tw' is 2 */ +! if (curwin->w_cursor.col <= leader_len) +! break; +! #endif + col = curwin->w_cursor.col; + dec_cursor(); + cc = gchar_cursor(); +*************** +*** 5880,5905 **** + continue; /* one-letter, continue */ + curwin->w_cursor.col = col; + } +! #ifdef FEAT_MBYTE +! if (has_mbyte) +! foundcol = curwin->w_cursor.col +! + (*mb_ptr2len)(ml_get_cursor()); +! else +! #endif +! foundcol = curwin->w_cursor.col + 1; +! if (curwin->w_cursor.col < (colnr_T)wantcol) + break; + } + #ifdef FEAT_MBYTE +! else if (cc >= 0x100 && fo_multibyte +! && curwin->w_cursor.col <= (colnr_T)wantcol) + { + /* Break after or before a multi-byte character. */ + foundcol = curwin->w_cursor.col; +- if (curwin->w_cursor.col < (colnr_T)wantcol) +- foundcol += (*mb_char2len)(cc); + end_foundcol = foundcol; +! break; + } + #endif + if (curwin->w_cursor.col == 0) +--- 5889,5948 ---- + continue; /* one-letter, continue */ + curwin->w_cursor.col = col; + } +! +! inc_cursor(); +! +! end_foundcol = end_col + 1; +! foundcol = curwin->w_cursor.col; +! if (curwin->w_cursor.col <= (colnr_T)wantcol) + break; + } + #ifdef FEAT_MBYTE +! else if (cc >= 0x100 && fo_multibyte) + { + /* Break after or before a multi-byte character. */ ++ if (curwin->w_cursor.col != startcol) ++ { ++ #ifdef FEAT_COMMENTS ++ /* Don't break until after the comment leader */ ++ if (curwin->w_cursor.col < leader_len) ++ break; ++ #endif ++ col = curwin->w_cursor.col; ++ inc_cursor(); ++ /* Don't change end_foundcol if already set. */ ++ if (foundcol != curwin->w_cursor.col) ++ { ++ foundcol = curwin->w_cursor.col; ++ end_foundcol = foundcol; ++ if (curwin->w_cursor.col <= (colnr_T)wantcol) ++ break; ++ } ++ curwin->w_cursor.col = col; ++ } ++ ++ if (curwin->w_cursor.col == 0) ++ break; ++ ++ col = curwin->w_cursor.col; ++ ++ dec_cursor(); ++ cc = gchar_cursor(); ++ ++ if (WHITECHAR(cc)) ++ continue; /* break with space */ ++ #ifdef FEAT_COMMENTS ++ /* Don't break until after the comment leader */ ++ if (curwin->w_cursor.col < leader_len) ++ break; ++ #endif ++ ++ curwin->w_cursor.col = col; ++ + foundcol = curwin->w_cursor.col; + end_foundcol = foundcol; +! if (curwin->w_cursor.col <= (colnr_T)wantcol) +! break; + } + #endif + if (curwin->w_cursor.col == 0) +*************** +*** 5926,5939 **** + orig_col = startcol; /* Will start backspacing from here */ + else + #endif +! replace_offset = startcol - end_foundcol - 1; + + /* + * adjust startcol for spaces that will be deleted and + * characters that will remain on top line + */ + curwin->w_cursor.col = foundcol; +! while (cc = gchar_cursor(), WHITECHAR(cc)) + inc_cursor(); + startcol -= curwin->w_cursor.col; + if (startcol < 0) +--- 5969,5983 ---- + orig_col = startcol; /* Will start backspacing from here */ + else + #endif +! replace_offset = startcol - end_foundcol; + + /* + * adjust startcol for spaces that will be deleted and + * characters that will remain on top line + */ + curwin->w_cursor.col = foundcol; +! while ((cc = gchar_cursor(), WHITECHAR(cc)) +! && (!fo_white_par || curwin->w_cursor.col < startcol)) + inc_cursor(); + startcol -= curwin->w_cursor.col; + if (startcol < 0) +*************** +*** 8509,8515 **** + if (mode == BACKSPACE_LINE + && (curbuf->b_p_ai + #ifdef FEAT_CINDENT +! || cindent_on() + #endif + ) + #ifdef FEAT_RIGHTLEFT +--- 8553,8559 ---- + if (mode == BACKSPACE_LINE + && (curbuf->b_p_ai + #ifdef FEAT_CINDENT +! || cindent_on() + #endif + ) + #ifdef FEAT_RIGHTLEFT +*** ../vim-7.2.300/src/testdir/Makefile 2009-11-17 17:36:13.000000000 +0100 +--- src/testdir/Makefile 2009-11-17 15:11:26.000000000 +0100 +*************** +*** 22,28 **** + test48.out test49.out test51.out test52.out test53.out \ + test54.out test55.out test56.out test57.out test58.out \ + test59.out test60.out test61.out test62.out test63.out \ +! test64.out test65.out test66.out test67.out + + SCRIPTS_GUI = test16.out + +--- 22,29 ---- + test48.out test49.out test51.out test52.out test53.out \ + test54.out test55.out test56.out test57.out test58.out \ + test59.out test60.out test61.out test62.out test63.out \ +! test64.out test65.out test66.out test67.out test68.out \ +! test69.out + + SCRIPTS_GUI = test16.out + +*** ../vim-7.2.300/src/testdir/test68.in 2009-11-17 17:39:36.000000000 +0100 +--- src/testdir/test68.in 2009-11-17 15:39:09.000000000 +0100 +*************** +*** 0 **** +--- 1,56 ---- ++ Test for text formatting. ++ ++ Results of test68: ++ ++ STARTTEST ++ :so small.vim ++ /^{/+1 ++ :set noai tw=2 fo=t ++ gRa b ++ ENDTEST ++ ++ { ++ ++ ++ } ++ ++ STARTTEST ++ /^{/+1 ++ :set ai tw=2 fo=tw ++ gqgqjjllab ++ ENDTEST ++ ++ { ++ a b ++ ++ a ++ } ++ ++ STARTTEST ++ /^{/+1 ++ :set tw=3 fo=t ++ gqgqo ++ a ++ ENDTEST ++ ++ { ++ a ++ } ++ ++ STARTTEST ++ /^{/+1 ++ :set tw=2 fo=tcq1 comments=:# ++ gqgqjgqgqo ++ a b ++ #a b ++ ENDTEST ++ ++ { ++ a b ++ #a b ++ } ++ ++ STARTTEST ++ :g/^STARTTEST/.,/^ENDTEST/d ++ :1;/^Results/,$wq! test.out ++ ENDTEST +*** ../vim-7.2.300/src/testdir/test68.ok 2009-11-17 17:39:36.000000000 +0100 +--- src/testdir/test68.ok 2009-11-17 15:11:26.000000000 +0100 +*************** +*** 0 **** +--- 1,35 ---- ++ Results of test68: ++ ++ ++ { ++ a ++ b ++ } ++ ++ ++ { ++ a ++ b ++ ++ a ++ b ++ } ++ ++ ++ { ++ a ++ ++ ++ a ++ ++ } ++ ++ ++ { ++ a b ++ #a b ++ ++ a b ++ #a b ++ } ++ +*** ../vim-7.2.300/src/testdir/test69.in 2009-11-17 17:39:36.000000000 +0100 +--- src/testdir/test69.in 2009-11-17 15:11:26.000000000 +0100 +*************** +*** 0 **** +--- 1,139 ---- ++ Test for multi-byte text formatting. ++ ++ STARTTEST ++ :so mbyte.vim ++ :set encoding=utf-8 ++ ENDTEST ++ ++ Results of test69: ++ ++ STARTTEST ++ /^{/+1 ++ :set tw=2 fo=t ++ gqgqjgqgqo ++ XYZ ++ abc XYZ ++ ENDTEST ++ ++ { ++ XYZ ++ abc XYZ ++ } ++ ++ STARTTEST ++ /^{/+1 ++ :set tw=1 fo=tm ++ gqgqjgqgqjgqgqjgqgqjgqgqo ++ X ++ Xa ++ X a ++ XY ++ X Y ++ ENDTEST ++ ++ { ++ X ++ Xa ++ X a ++ XY ++ X Y ++ } ++ ++ STARTTEST ++ /^{/+1 ++ :set tw=2 fo=tm ++ gqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo ++ X ++ Xa ++ X a ++ XY ++ X Y ++ aX ++ abX ++ abcX ++ abX c ++ abXY ++ ENDTEST ++ ++ { ++ X ++ Xa ++ X a ++ XY ++ X Y ++ aX ++ abX ++ abcX ++ abX c ++ abXY ++ } ++ ++ STARTTEST ++ /^{/+1 ++ :set ai tw=2 fo=tm ++ gqgqjgqgqo ++ X ++ Xa ++ ENDTEST ++ ++ { ++ X ++ Xa ++ } ++ ++ STARTTEST ++ /^{/+1 ++ :set noai tw=2 fo=tm ++ gqgqjgqgqo ++ X ++ Xa ++ ENDTEST ++ ++ { ++ X ++ Xa ++ } ++ ++ STARTTEST ++ /^{/+1 ++ :set tw=2 fo=cqm comments=n:X ++ gqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo ++ X ++ Xa ++ XaY ++ XY ++ XYZ ++ X Y ++ X YZ ++ XX ++ XXa ++ XXY ++ ENDTEST ++ ++ { ++ X ++ Xa ++ XaY ++ XY ++ XYZ ++ X Y ++ X YZ ++ XX ++ XXa ++ XXY ++ } ++ ++ STARTTEST ++ /^{/+1 ++ :set tw=2 fo=tm ++ RXa ++ ENDTEST ++ ++ { ++ ++ } ++ ++ STARTTEST ++ :g/^STARTTEST/.,/^ENDTEST/d ++ :1;/^Results/,$wq! test.out ++ ENDTEST +*** ../vim-7.2.300/src/testdir/test69.ok 2009-11-17 17:39:36.000000000 +0100 +--- src/testdir/test69.ok 2009-11-17 15:11:26.000000000 +0100 +*************** +*** 0 **** +--- 1,142 ---- ++ Results of test69: ++ ++ ++ { ++ XYZ ++ abc ++ XYZ ++ ++ XYZ ++ abc ++ XYZ ++ } ++ ++ ++ { ++ X ++ X ++ a ++ X ++ a ++ X ++ Y ++ X ++ Y ++ ++ X ++ X ++ a ++ X ++ a ++ X ++ Y ++ X ++ Y ++ } ++ ++ ++ { ++ X ++ X ++ a ++ X ++ a ++ X ++ Y ++ X ++ Y ++ a ++ X ++ ab ++ X ++ abc ++ X ++ ab ++ X ++ c ++ ab ++ X ++ Y ++ ++ X ++ X ++ a ++ X ++ a ++ X ++ Y ++ X ++ Y ++ a ++ X ++ ab ++ X ++ abc ++ X ++ ab ++ X ++ c ++ ab ++ X ++ Y ++ } ++ ++ ++ { ++ X ++ X ++ a ++ ++ X ++ X ++ a ++ } ++ ++ ++ { ++ X ++ X ++ a ++ ++ X ++ X ++ a ++ } ++ ++ ++ { ++ X ++ Xa ++ Xa ++ XY ++ XY ++ XY ++ XZ ++ X Y ++ X Y ++ X Z ++ XX ++ XXa ++ XXY ++ ++ X ++ Xa ++ Xa ++ XY ++ XY ++ XY ++ XZ ++ X Y ++ X Y ++ X Z ++ XX ++ XXa ++ XXY ++ } ++ ++ ++ { ++ X ++ a ++ } ++ +*** ../vim-7.2.300/src/version.c 2009-11-17 17:37:34.000000000 +0100 +--- src/version.c 2009-11-17 17:26:35.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 301, + /**/ diff --git a/source/ap/vim/patches/7.2.302 b/source/ap/vim/patches/7.2.302 new file mode 100644 index 000000000..c4d5a99d9 --- /dev/null +++ b/source/ap/vim/patches/7.2.302 @@ -0,0 +1,140 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.302 (extra) +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.302 (extra part of 7.2.301) +Problem: Formatting wrong with small 'tw' value. +Solution: Add build rules for tests. +Files: 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 + + +*** ../vim-7.2.301/src/testdir/Make_amiga.mak 2009-09-18 14:58:26.000000000 +0200 +--- src/testdir/Make_amiga.mak 2009-11-17 15:29:05.000000000 +0100 +*************** +*** 26,32 **** + test48.out test51.out test53.out test54.out test55.out \ + test56.out test57.out test58.out test59.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ +! test66.out test67.out + + .SUFFIXES: .in .out + +--- 26,32 ---- + test48.out test51.out test53.out test54.out test55.out \ + test56.out test57.out test58.out test59.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ +! test66.out test67.out test68.out test69.out + + .SUFFIXES: .in .out + +*************** +*** 113,115 **** +--- 113,117 ---- + test65.out: test65.in + test66.out: test66.in + test67.out: test67.in ++ test68.out: test68.in ++ test69.out: test69.in +*** ../vim-7.2.301/src/testdir/Make_dos.mak 2009-09-18 14:58:26.000000000 +0200 +--- src/testdir/Make_dos.mak 2009-11-17 15:29:54.000000000 +0100 +*************** +*** 26,32 **** + test15.out test17.out test18.out test21.out test26.out \ + test30.out test31.out test32.out test33.out test34.out \ + test37.out test38.out test39.out test40.out test41.out \ +! test42.out test52.out test65.out test66.out test67.out + + SCRIPTS32 = test50.out + +--- 26,33 ---- + test15.out test17.out test18.out test21.out test26.out \ + test30.out test31.out test32.out test33.out test34.out \ + test37.out test38.out test39.out test40.out test41.out \ +! test42.out test52.out test65.out test66.out test67.out \ +! test68.out test69.out + + SCRIPTS32 = test50.out + +*** ../vim-7.2.301/src/testdir/Make_ming.mak 2009-09-18 14:58:26.000000000 +0200 +--- src/testdir/Make_ming.mak 2009-11-17 15:30:07.000000000 +0100 +*************** +*** 45,51 **** + test15.out test17.out test18.out test21.out test26.out \ + test30.out test31.out test32.out test33.out test34.out \ + test37.out test38.out test39.out test40.out test41.out \ +! test42.out test52.out test65.out test66.out test67.out + + SCRIPTS32 = test50.out + +--- 45,52 ---- + test15.out test17.out test18.out test21.out test26.out \ + test30.out test31.out test32.out test33.out test34.out \ + test37.out test38.out test39.out test40.out test41.out \ +! test42.out test52.out test65.out test66.out test67.out \ +! test68.out test69.out + + SCRIPTS32 = test50.out + +*** ../vim-7.2.301/src/testdir/Make_os2.mak 2009-09-18 14:58:26.000000000 +0200 +--- src/testdir/Make_os2.mak 2009-11-17 15:11:26.000000000 +0100 +*************** +*** 26,32 **** + test48.out test51.out test53.out test54.out test55.out \ + test56.out test57.out test58.out test59.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ +! test66.out test67.out + + .SUFFIXES: .in .out + +--- 26,32 ---- + test48.out test51.out test53.out test54.out test55.out \ + test56.out test57.out test58.out test59.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ +! test66.out test67.out test68.out test69.out + + .SUFFIXES: .in .out + +*** ../vim-7.2.301/src/testdir/Make_vms.mms 2009-09-18 14:58:26.000000000 +0200 +--- src/testdir/Make_vms.mms 2009-11-17 15:11:26.000000000 +0100 +*************** +*** 69,75 **** + test48.out test51.out test53.out test54.out test55.out \ + test56.out test57.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ +! test66.out test67.out + + .IFDEF WANT_GUI + SCRIPT_GUI = test16.out +--- 69,75 ---- + test48.out test51.out test53.out test54.out test55.out \ + test56.out test57.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ +! test66.out test67.out test68.out test69.out + + .IFDEF WANT_GUI + SCRIPT_GUI = test16.out +*** ../vim-7.2.301/src/version.c 2009-11-17 17:40:34.000000000 +0100 +--- src/version.c 2009-11-17 17:43:26.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 302, + /**/ + +-- +Hacker: Someone skilled in computer programming (good guy). +Cracker: A hacker that uses his skills to crack software (bad guy). + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.303 b/source/ap/vim/patches/7.2.303 new file mode 100644 index 000000000..b53d19810 --- /dev/null +++ b/source/ap/vim/patches/7.2.303 @@ -0,0 +1,70 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.303 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.303 (after 7.2.294) +Problem: Can't build on MS-Windows. +Solution: Add #ifdef around vim_settempdir(). (James Vega) +Files: src/fileio.c + + +*** ../vim-7.2.302/src/fileio.c 2009-11-17 17:13:03.000000000 +0100 +--- src/fileio.c 2009-11-18 20:06:55.000000000 +0100 +*************** +*** 146,152 **** +--- 146,154 ---- + # endif + #endif + static int move_lines __ARGS((buf_T *frombuf, buf_T *tobuf)); ++ #ifdef TEMPDIRNAMES + static void vim_settempdir __ARGS((char_u *tempdir)); ++ #endif + #ifdef FEAT_AUTOCMD + static char *e_auchangedbuf = N_("E812: Autocommands changed buffer or buffer name"); + #endif +*************** +*** 6995,7000 **** +--- 6997,7003 ---- + } + #endif + ++ #ifdef TEMPDIRNAMES + /* + * Directory "tempdir" was created. Expand this name to a full path and put + * it in "vim_tempdir". This avoids that using ":cd" would confuse us. +*************** +*** 7021,7026 **** +--- 7024,7030 ---- + vim_free(buf); + } + } ++ #endif + + /* + * vim_tempname(): Return a unique name that can be used for a temp file. +*** ../vim-7.2.302/src/version.c 2009-11-17 17:57:10.000000000 +0100 +--- src/version.c 2009-11-18 20:07:58.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 303, + /**/ + +-- +BEDEVERE: Why do you think she is a witch? +SECOND VILLAGER: She turned me into a newt. +BEDEVERE: A newt? +SECOND VILLAGER: (After looking at himself for some time) I got better. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.304 b/source/ap/vim/patches/7.2.304 new file mode 100644 index 000000000..8a138c046 --- /dev/null +++ b/source/ap/vim/patches/7.2.304 @@ -0,0 +1,58 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.304 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.304 +Problem: Compiler warning for bad pointer cast. +Solution: Use another variable for int pointer. +Files: src/ops.c + + +*** ../vim-7.2.303/src/ops.c 2009-11-17 12:43:19.000000000 +0100 +--- src/ops.c 2009-11-18 15:40:26.000000000 +0100 +*************** +*** 5597,5603 **** + vc.vc_type = CONV_NONE; + if (convert_setup(&vc, p_enc, (char_u *)"latin1") == OK) + { +! conv_str = string_convert(&vc, str, (int*)&len); + if (conv_str != NULL) + { + vim_free(str); +--- 5597,5606 ---- + vc.vc_type = CONV_NONE; + if (convert_setup(&vc, p_enc, (char_u *)"latin1") == OK) + { +! int intlen = len; +! +! conv_str = string_convert(&vc, str, &intlen); +! len = intlen; + if (conv_str != NULL) + { + vim_free(str); +*** ../vim-7.2.303/src/version.c 2009-11-18 20:12:15.000000000 +0100 +--- src/version.c 2009-11-25 12:37:36.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 304, + /**/ + +-- +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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.305 b/source/ap/vim/patches/7.2.305 new file mode 100644 index 000000000..c8ad7084b --- /dev/null +++ b/source/ap/vim/patches/7.2.305 @@ -0,0 +1,105 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.305 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.305 +Problem: Recursively redrawing causes a memory leak. (Dominique Pelle) +Solution: Disallow recursive screen updating. +Files: src/screen.c + + +*** ../vim-7.2.304/src/screen.c 2009-11-11 17:07:25.000000000 +0100 +--- src/screen.c 2009-11-17 16:30:53.000000000 +0100 +*************** +*** 323,328 **** +--- 323,329 ---- + int did_one; + #endif + ++ /* Don't do anything if the screen structures are (not yet) valid. */ + if (!screen_valid(TRUE)) + return; + +*************** +*** 342,348 **** + if (curwin->w_lines_valid == 0 && type < NOT_VALID) + type = NOT_VALID; + +! if (!redrawing()) + { + redraw_later(type); /* remember type for next time */ + must_redraw = type; +--- 343,351 ---- + if (curwin->w_lines_valid == 0 && type < NOT_VALID) + type = NOT_VALID; + +! /* Postpone the redrawing when it's not needed and when being called +! * recursively. */ +! if (!redrawing() || updating_screen) + { + redraw_later(type); /* remember type for next time */ + must_redraw = type; +*************** +*** 582,587 **** +--- 585,591 ---- + + /* + * Prepare for updating one or more windows. ++ * Caller must check for "updating_screen" already set to avoid recursiveness. + */ + static void + update_prepare() +*************** +*** 663,669 **** + doit = TRUE; + } + +! if (!doit) + return; + + /* update all windows that need updating */ +--- 667,675 ---- + doit = TRUE; + } + +! /* Return when there is nothing to do or screen updating already +! * happening. */ +! if (!doit || updating_screen) + return; + + /* update all windows that need updating */ +*************** +*** 696,701 **** +--- 702,711 ---- + updateWindow(wp) + win_T *wp; + { ++ /* return if already busy updating */ ++ if (updating_screen) ++ return; ++ + update_prepare(); + + #ifdef FEAT_CLIPBOARD +*** ../vim-7.2.304/src/version.c 2009-11-25 12:38:49.000000000 +0100 +--- src/version.c 2009-11-25 13:01:48.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 305, + /**/ + +-- +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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.306 b/source/ap/vim/patches/7.2.306 new file mode 100644 index 000000000..d54e90d36 --- /dev/null +++ b/source/ap/vim/patches/7.2.306 @@ -0,0 +1,48 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.306 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.306 +Problem: shellescape("10%%", 1) only escapes first %. (Christian Brabandt) +Solution: Don't copy the character after the escaped one. +Files: src/misc2.c + + +*** ../vim-7.2.305/src/misc2.c 2009-11-11 16:56:13.000000000 +0100 +--- src/misc2.c 2009-11-25 17:11:49.000000000 +0100 +*************** +*** 1390,1395 **** +--- 1390,1396 ---- + *d++ = '\\'; /* insert backslash */ + while (--l >= 0) /* copy the var */ + *d++ = *p++; ++ continue; + } + + MB_COPY_CHAR(p, d); +*** ../vim-7.2.305/src/version.c 2009-11-25 13:03:29.000000000 +0100 +--- src/version.c 2009-11-25 17:13:54.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 306, + /**/ + +-- +Article in the first Free Software Magazine: "Bram Moolenaar studied electrical +engineering at the Technical University of Delft and graduated in 1985 on a +multi-processor Unix architecture." +Response by "dimator": Could the school not afford a proper stage for the +ceremony? + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.307 b/source/ap/vim/patches/7.2.307 new file mode 100644 index 000000000..23504e2c4 --- /dev/null +++ b/source/ap/vim/patches/7.2.307 @@ -0,0 +1,181 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.307 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.307 +Problem: Crash with a very long syntax match statement. (Guy Gur Ari) +Solution: When the offset does not fit in the two bytes available give an + error instead of continuing with invalid pointers. +Files: src/regexp.c + + +*** ../vim-7.2.306/src/regexp.c 2009-05-15 21:31:11.000000000 +0200 +--- src/regexp.c 2009-11-25 18:13:03.000000000 +0100 +*************** +*** 583,588 **** +--- 583,589 ---- + #endif + static char_u *regcode; /* Code-emit pointer, or JUST_CALC_SIZE */ + static long regsize; /* Code size. */ ++ static int reg_toolong; /* TRUE when offset out of range */ + static char_u had_endbrace[NSUBEXP]; /* flags, TRUE if end of () found */ + static unsigned regflags; /* RF_ flags for prog */ + static long brace_min[10]; /* Minimums for complex brace repeats */ +*************** +*** 1028,1036 **** + regcomp_start(expr, re_flags); + regcode = r->program; + regc(REGMAGIC); +! if (reg(REG_NOPAREN, &flags) == NULL) + { + vim_free(r); + return NULL; + } + +--- 1029,1039 ---- + regcomp_start(expr, re_flags); + regcode = r->program; + regc(REGMAGIC); +! if (reg(REG_NOPAREN, &flags) == NULL || reg_toolong) + { + vim_free(r); ++ if (reg_toolong) ++ EMSG_RET_NULL(_("E339: Pattern too long")); + return NULL; + } + +*************** +*** 1141,1146 **** +--- 1144,1150 ---- + re_has_z = 0; + #endif + regsize = 0L; ++ reg_toolong = FALSE; + regflags = 0; + #if defined(FEAT_SYN_HL) || defined(PROTO) + had_eol = FALSE; +*************** +*** 1228,1234 **** + { + skipchr(); + br = regbranch(&flags); +! if (br == NULL) + return NULL; + regtail(ret, br); /* BRANCH -> BRANCH. */ + if (!(flags & HASWIDTH)) +--- 1232,1238 ---- + { + skipchr(); + br = regbranch(&flags); +! if (br == NULL || reg_toolong) + return NULL; + regtail(ret, br); /* BRANCH -> BRANCH. */ + if (!(flags & HASWIDTH)) +*************** +*** 1313,1318 **** +--- 1317,1324 ---- + break; + skipchr(); + regtail(latest, regnode(END)); /* operand ends */ ++ if (reg_toolong) ++ break; + reginsert(MATCH, latest); + chain = latest; + } +*************** +*** 1382,1388 **** + break; + default: + latest = regpiece(&flags); +! if (latest == NULL) + return NULL; + *flagp |= flags & (HASWIDTH | HASNL | HASLOOKBH); + if (chain == NULL) /* First piece. */ +--- 1388,1394 ---- + break; + default: + latest = regpiece(&flags); +! if (latest == NULL || reg_toolong) + return NULL; + *flagp |= flags & (HASWIDTH | HASNL | HASLOOKBH); + if (chain == NULL) /* First piece. */ +*************** +*** 2540,2547 **** + offset = (int)(scan - val); + else + offset = (int)(val - scan); +! *(scan + 1) = (char_u) (((unsigned)offset >> 8) & 0377); +! *(scan + 2) = (char_u) (offset & 0377); + } + + /* +--- 2546,2561 ---- + offset = (int)(scan - val); + else + offset = (int)(val - scan); +! /* When the offset uses more than 16 bits it can no longer fit in the two +! * bytes avaliable. Use a global flag to avoid having to check return +! * values in too many places. */ +! if (offset > 0xffff) +! reg_toolong = TRUE; +! else +! { +! *(scan + 1) = (char_u) (((unsigned)offset >> 8) & 0377); +! *(scan + 2) = (char_u) (offset & 0377); +! } + } + + /* +*************** +*** 5764,5769 **** +--- 5778,5785 ---- + + /* + * regnext - dig the "next" pointer out of a node ++ * Returns NULL when calculating size, when there is no next item and when ++ * there is an error. + */ + static char_u * + regnext(p) +*************** +*** 5771,5777 **** + { + int offset; + +! if (p == JUST_CALC_SIZE) + return NULL; + + offset = NEXT(p); +--- 5787,5793 ---- + { + int offset; + +! if (p == JUST_CALC_SIZE || reg_toolong) + return NULL; + + offset = NEXT(p); +*** ../vim-7.2.306/src/version.c 2009-11-25 17:15:16.000000000 +0100 +--- src/version.c 2009-11-25 18:14:32.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 307, + /**/ + +-- +The fastest way to get an engineer to solve a problem is to declare that the +problem is unsolvable. No engineer can walk away from an unsolvable problem +until it's solved. + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.308 b/source/ap/vim/patches/7.2.308 new file mode 100644 index 000000000..1e19b21dc --- /dev/null +++ b/source/ap/vim/patches/7.2.308 @@ -0,0 +1,182 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.308 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.308 +Problem: When using a regexp in the "\=" expression of a substitute + command, submatch() returns empty strings for further lines. + (Clockwork Jam) +Solution: Save and restore the line number and line count when calling + reg_getline(). +Files: src/regexp.c + + +*** ../vim-7.2.307/src/regexp.c 2009-11-25 18:21:48.000000000 +0100 +--- src/regexp.c 2009-11-25 19:45:07.000000000 +0100 +*************** +*** 6828,6833 **** +--- 6828,6835 ---- + * that contains a call to substitute() and submatch(). */ + static regmatch_T *submatch_match; + static regmmatch_T *submatch_mmatch; ++ static linenr_T submatch_firstlnum; ++ static linenr_T submatch_maxline; + #endif + + #if defined(FEAT_MODIFY_FNAME) || defined(FEAT_EVAL) || defined(PROTO) +*************** +*** 6941,6947 **** + } + else + { +- linenr_T save_reg_maxline; + win_T *save_reg_win; + int save_ireg_ic; + +--- 6943,6948 ---- +*************** +*** 6953,6959 **** + * vim_regexec_multi() can't be called recursively. */ + submatch_match = reg_match; + submatch_mmatch = reg_mmatch; +! save_reg_maxline = reg_maxline; + save_reg_win = reg_win; + save_ireg_ic = ireg_ic; + can_f_submatch = TRUE; +--- 6954,6961 ---- + * vim_regexec_multi() can't be called recursively. */ + submatch_match = reg_match; + submatch_mmatch = reg_mmatch; +! submatch_firstlnum = reg_firstlnum; +! submatch_maxline = reg_maxline; + save_reg_win = reg_win; + save_ireg_ic = ireg_ic; + can_f_submatch = TRUE; +*************** +*** 6976,6982 **** + + reg_match = submatch_match; + reg_mmatch = submatch_mmatch; +! reg_maxline = save_reg_maxline; + reg_win = save_reg_win; + ireg_ic = save_ireg_ic; + can_f_submatch = FALSE; +--- 6978,6985 ---- + + reg_match = submatch_match; + reg_mmatch = submatch_mmatch; +! reg_firstlnum = submatch_firstlnum; +! reg_maxline = submatch_maxline; + reg_win = save_reg_win; + ireg_ic = save_ireg_ic; + can_f_submatch = FALSE; +*************** +*** 7212,7217 **** +--- 7215,7243 ---- + + #ifdef FEAT_EVAL + /* ++ * Call reg_getline() with the line numbers from the submatch. If a ++ * substitute() was used the reg_maxline and other values have been ++ * overwritten. ++ */ ++ static char_u * ++ reg_getline_submatch(lnum) ++ linenr_T lnum; ++ { ++ char_u *s; ++ linenr_T save_first = reg_firstlnum; ++ linenr_T save_max = reg_maxline; ++ ++ reg_firstlnum = submatch_firstlnum; ++ reg_maxline = submatch_maxline; ++ ++ s = reg_getline(lnum); ++ ++ reg_firstlnum = save_first; ++ reg_maxline = save_max; ++ return s; ++ } ++ ++ /* + * Used for the submatch() function: get the string from the n'th submatch in + * allocated memory. + * Returns NULL when not in a ":s" command and for a non-existing submatch. +*************** +*** 7241,7247 **** + if (lnum < 0 || submatch_mmatch->endpos[no].lnum < 0) + return NULL; + +! s = reg_getline(lnum) + submatch_mmatch->startpos[no].col; + if (s == NULL) /* anti-crash check, cannot happen? */ + break; + if (submatch_mmatch->endpos[no].lnum == lnum) +--- 7267,7273 ---- + if (lnum < 0 || submatch_mmatch->endpos[no].lnum < 0) + return NULL; + +! s = reg_getline_submatch(lnum) + submatch_mmatch->startpos[no].col; + if (s == NULL) /* anti-crash check, cannot happen? */ + break; + if (submatch_mmatch->endpos[no].lnum == lnum) +*************** +*** 7267,7273 **** + ++lnum; + while (lnum < submatch_mmatch->endpos[no].lnum) + { +! s = reg_getline(lnum++); + if (round == 2) + STRCPY(retval + len, s); + len += (int)STRLEN(s); +--- 7293,7299 ---- + ++lnum; + while (lnum < submatch_mmatch->endpos[no].lnum) + { +! s = reg_getline_submatch(lnum++); + if (round == 2) + STRCPY(retval + len, s); + len += (int)STRLEN(s); +*************** +*** 7276,7282 **** + ++len; + } + if (round == 2) +! STRNCPY(retval + len, reg_getline(lnum), + submatch_mmatch->endpos[no].col); + len += submatch_mmatch->endpos[no].col; + if (round == 2) +--- 7302,7308 ---- + ++len; + } + if (round == 2) +! STRNCPY(retval + len, reg_getline_submatch(lnum), + submatch_mmatch->endpos[no].col); + len += submatch_mmatch->endpos[no].col; + if (round == 2) +*** ../vim-7.2.307/src/version.c 2009-11-25 18:21:48.000000000 +0100 +--- src/version.c 2009-11-25 19:50:16.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 308, + /**/ + +-- +Engineers are always delighted to share wisdom, even in areas in which they +have no experience whatsoever. Their logic provides them with inherent +insight into any field of expertise. This can be a problem when dealing with +the illogical people who believe that knowledge can only be derived through +experience. + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.309 b/source/ap/vim/patches/7.2.309 new file mode 100644 index 000000000..a1713b755 --- /dev/null +++ b/source/ap/vim/patches/7.2.309 @@ -0,0 +1,48 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.309 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.309 (after 7.2.308) +Problem: Warning for missing function prototype. (Patrick Texier) +Solution: Add the prototype. +Files: src/regexp.c + + +*** ../vim-7.2.308/src/regexp.c 2009-11-25 19:51:56.000000000 +0100 +--- src/regexp.c 2009-11-26 20:39:18.000000000 +0100 +*************** +*** 7214,7219 **** +--- 7214,7221 ---- + } + + #ifdef FEAT_EVAL ++ static char_u *reg_getline_submatch __ARGS((linenr_T lnum)); ++ + /* + * Call reg_getline() with the line numbers from the submatch. If a + * substitute() was used the reg_maxline and other values have been +*** ../vim-7.2.308/src/version.c 2009-11-25 19:51:56.000000000 +0100 +--- src/version.c 2009-11-26 20:40:11.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 309, + /**/ + +-- +Female engineers become irresistible at the age of consent and remain that +way until about thirty minutes after their clinical death. Longer if it's a +warm day. + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.310 b/source/ap/vim/patches/7.2.310 new file mode 100644 index 000000000..52734ddf4 --- /dev/null +++ b/source/ap/vim/patches/7.2.310 @@ -0,0 +1,63 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.310 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.310 +Problem: When a filetype plugin in ~/.vim/ftdetect uses ":setfiletype" and + the file starts with a "# comment" it gets "conf" filetype. +Solution: Check for "conf" filetype after using ftdetect plugins. +Files: runtime/filetype.vim + + +*** ../vim-7.2.309/runtime/filetype.vim 2008-08-06 18:56:36.000000000 +0200 +--- runtime/filetype.vim 2009-12-02 12:08:42.000000000 +0100 +*************** +*** 2400,2405 **** +--- 2435,2446 ---- + au BufNewFile,BufRead zsh*,zlog* call s:StarSetf('zsh') + + ++ ++ " Use the filetype detect plugins. They may overrule any of the previously ++ " detected filetypes. ++ runtime! ftdetect/*.vim ++ ++ + " Generic configuration file (check this last, it's just guessing!) + au BufNewFile,BufRead,StdinReadPost * + \ if !did_filetype() && expand("<amatch>") !~ g:ft_ignore_pat +*************** +*** 2408,2417 **** + \ setf conf | + \ endif + +- " Use the plugin-filetype checks last, they may overrule any of the previously +- " detected filetypes. +- runtime! ftdetect/*.vim +- + augroup END + + +--- 2449,2454 ---- +*** ../vim-7.2.309/src/version.c 2009-11-26 20:41:19.000000000 +0100 +--- src/version.c 2009-12-02 12:05:27.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 310, + /**/ + +-- +A)bort, R)etry, P)lease don't bother me again + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.311 b/source/ap/vim/patches/7.2.311 new file mode 100644 index 000000000..9e27a739d --- /dev/null +++ b/source/ap/vim/patches/7.2.311 @@ -0,0 +1,52 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.311 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.311 +Problem: Can't compile with FreeMiNT. +Solution: Change #ifdef for limits.h. (Alan Hourihane) +Files: src/fileio.c + + +*** ../vim-7.2.310/src/fileio.c 2009-11-18 20:12:15.000000000 +0100 +--- src/fileio.c 2009-12-02 13:30:07.000000000 +0100 +*************** +*** 21,27 **** + + #include "vim.h" + +! #ifdef __TANDEM + # include <limits.h> /* for SSIZE_MAX */ + #endif + +--- 21,27 ---- + + #include "vim.h" + +! #if defined(__TANDEM) || defined(__MINT__) + # include <limits.h> /* for SSIZE_MAX */ + #endif + +*** ../vim-7.2.310/src/version.c 2009-12-02 12:08:57.000000000 +0100 +--- src/version.c 2009-12-02 13:31:46.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 311, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +3. Your bookmark takes 15 minutes to scroll from top to bottom. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.312 b/source/ap/vim/patches/7.2.312 new file mode 100644 index 000000000..8b95868d4 --- /dev/null +++ b/source/ap/vim/patches/7.2.312 @@ -0,0 +1,312 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.312 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.312 +Problem: iconv() returns an invalid character sequence when conversion + fails. It should return an empty string. (Yongwei Wu) +Solution: Be more strict about invalid characters in the input. +Files: src/mbyte.c + + +*** ../vim-7.2.311/src/mbyte.c 2009-06-16 15:23:07.000000000 +0200 +--- src/mbyte.c 2009-11-25 16:10:44.000000000 +0100 +*************** +*** 133,154 **** + static int dbcs_ptr2cells_len __ARGS((char_u *p, int size)); + static int dbcs_ptr2char __ARGS((char_u *p)); + +! /* Lookup table to quickly get the length in bytes of a UTF-8 character from +! * the first byte of a UTF-8 string. Bytes which are illegal when used as the +! * first byte have a one, because these will be used separately. */ + static char utf8len_tab[256] = + { + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /*bogus*/ +! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /*bogus*/ + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, + 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,6,6,1,1, + }; + + /* + * XIM often causes trouble. Define XIM_DEBUG to get a log of XIM callbacks + * in the "xim.log" file. + */ +--- 133,172 ---- + static int dbcs_ptr2cells_len __ARGS((char_u *p, int size)); + static int dbcs_ptr2char __ARGS((char_u *p)); + +! /* +! * Lookup table to quickly get the length in bytes of a UTF-8 character from +! * the first byte of a UTF-8 string. +! * Bytes which are illegal when used as the first byte have a 1. +! * The NUL byte has length 1. +! */ + static char utf8len_tab[256] = + { + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, + 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,6,6,1,1, + }; + + /* ++ * Like utf8len_tab above, but using a zero for illegal lead bytes. ++ */ ++ static char utf8len_tab_zero[256] = ++ { ++ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ++ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ++ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ++ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, ++ 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,6,6,0,0, ++ }; ++ ++ /* + * XIM often causes trouble. Define XIM_DEBUG to get a log of XIM callbacks + * in the "xim.log" file. + */ +*************** +*** 1352,1358 **** + if (size > 0 && *p >= 0x80) + { + if (utf_ptr2len_len(p, size) < utf8len_tab[*p]) +! return 1; + c = utf_ptr2char(p); + /* An illegal byte is displayed as <xx>. */ + if (utf_ptr2len(p) == 1 || c == NUL) +--- 1370,1376 ---- + if (size > 0 && *p >= 0x80) + { + if (utf_ptr2len_len(p, size) < utf8len_tab[*p]) +! return 1; /* truncated */ + c = utf_ptr2char(p); + /* An illegal byte is displayed as <xx>. */ + if (utf_ptr2len(p) == 1 || c == NUL) +*************** +*** 1473,1479 **** + if (p[0] < 0x80) /* be quick for ASCII */ + return p[0]; + +! len = utf8len_tab[p[0]]; + if (len > 1 && (p[1] & 0xc0) == 0x80) + { + if (len == 2) +--- 1491,1497 ---- + if (p[0] < 0x80) /* be quick for ASCII */ + return p[0]; + +! len = utf8len_tab_zero[p[0]]; + if (len > 1 && (p[1] & 0xc0) == 0x80) + { + if (len == 2) +*************** +*** 1723,1728 **** +--- 1741,1747 ---- + /* + * Return length of UTF-8 character, obtained from the first byte. + * "b" must be between 0 and 255! ++ * Returns 1 for an invalid first byte value. + */ + int + utf_byte2len(b) +*************** +*** 1737,1742 **** +--- 1756,1762 ---- + * Returns 1 for "". + * Returns 1 for an illegal byte sequence (also in incomplete byte seq.). + * Returns number > "size" for an incomplete byte sequence. ++ * Never returns zero. + */ + int + utf_ptr2len_len(p, size) +*************** +*** 1747,1757 **** + int i; + int m; + +! if (*p == NUL) +! return 1; +! m = len = utf8len_tab[*p]; + if (len > size) + m = size; /* incomplete byte sequence. */ + for (i = 1; i < m; ++i) + if ((p[i] & 0xc0) != 0x80) + return 1; +--- 1767,1779 ---- + int i; + int m; + +! len = utf8len_tab[*p]; +! if (len == 1) +! return 1; /* NUL, ascii or illegal lead byte */ + if (len > size) + m = size; /* incomplete byte sequence. */ ++ else ++ m = len; + for (i = 1; i < m; ++i) + if ((p[i] & 0xc0) != 0x80) + return 1; +*************** +*** 2505,2510 **** +--- 2527,2533 ---- + /* + * mb_head_off() function pointer. + * Return offset from "p" to the first byte of the character it points into. ++ * If "p" points to the NUL at the end of the string return 0. + * Returns 0 when already at the first byte of a character. + */ + int +*************** +*** 2524,2530 **** + + /* It can't be a trailing byte when not using DBCS, at the start of the + * string or the previous byte can't start a double-byte. */ +! if (p <= base || MB_BYTE2LEN(p[-1]) == 1) + return 0; + + /* This is slow: need to start at the base and go forward until the +--- 2547,2553 ---- + + /* It can't be a trailing byte when not using DBCS, at the start of the + * string or the previous byte can't start a double-byte. */ +! if (p <= base || MB_BYTE2LEN(p[-1]) == 1 || *p == NUL) + return 0; + + /* This is slow: need to start at the base and go forward until the +*************** +*** 2552,2558 **** + * lead byte in the current cell. */ + if (p <= base + || (enc_dbcs == DBCS_JPNU && p[-1] == 0x8e) +! || MB_BYTE2LEN(p[-1]) == 1) + return 0; + + /* This is slow: need to start at the base and go forward until the +--- 2575,2582 ---- + * lead byte in the current cell. */ + if (p <= base + || (enc_dbcs == DBCS_JPNU && p[-1] == 0x8e) +! || MB_BYTE2LEN(p[-1]) == 1 +! || *p == NUL) + return 0; + + /* This is slow: need to start at the base and go forward until the +*************** +*** 2578,2583 **** +--- 2602,2608 ---- + char_u *q; + char_u *s; + int c; ++ int len; + #ifdef FEAT_ARABIC + char_u *j; + #endif +*************** +*** 2597,2604 **** + --q; + /* Check for illegal sequence. Do allow an illegal byte after where we + * started. */ +! if (utf8len_tab[*q] != (int)(s - q + 1) +! && utf8len_tab[*q] != (int)(p - q + 1)) + return 0; + + if (q <= base) +--- 2622,2629 ---- + --q; + /* Check for illegal sequence. Do allow an illegal byte after where we + * started. */ +! len = utf8len_tab[*q]; +! if (len != (int)(s - q + 1) && len != (int)(p - q + 1)) + return 0; + + if (q <= base) +*************** +*** 2810,2818 **** + + while (end == NULL ? *p != NUL : p < end) + { +! if ((*p & 0xc0) == 0x80) + return FALSE; /* invalid lead byte */ +- l = utf8len_tab[*p]; + if (end != NULL && p + l > end) + return FALSE; /* incomplete byte sequence */ + ++p; +--- 2835,2843 ---- + + while (end == NULL ? *p != NUL : p < end) + { +! l = utf8len_tab_zero[*p]; +! if (l == 0) + return FALSE; /* invalid lead byte */ + if (end != NULL && p + l > end) + return FALSE; /* incomplete byte sequence */ + ++p; +*************** +*** 6117,6128 **** + d = retval; + for (i = 0; i < len; ++i) + { +! l = utf_ptr2len(ptr + i); + if (l == 0) + *d++ = NUL; + else if (l == 1) + { +! if (unconvlenp != NULL && utf8len_tab[ptr[i]] > len - i) + { + /* Incomplete sequence at the end. */ + *unconvlenp = len - i; +--- 6142,6161 ---- + d = retval; + for (i = 0; i < len; ++i) + { +! l = utf_ptr2len_len(ptr + i, len - i); + if (l == 0) + *d++ = NUL; + else if (l == 1) + { +! int l_w = utf8len_tab_zero[ptr[i]]; +! +! if (l_w == 0) +! { +! /* Illegal utf-8 byte cannot be converted */ +! vim_free(retval); +! return NULL; +! } +! if (unconvlenp != NULL && l_w > len - i) + { + /* Incomplete sequence at the end. */ + *unconvlenp = len - i; +*** ../vim-7.2.311/src/version.c 2009-12-02 13:32:10.000000000 +0100 +--- src/version.c 2009-12-02 15:00:23.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 312, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +6. You refuse to go to a vacation spot with no electricity and no phone lines. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.313 b/source/ap/vim/patches/7.2.313 new file mode 100644 index 000000000..77b9103a4 --- /dev/null +++ b/source/ap/vim/patches/7.2.313 @@ -0,0 +1,117 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.313 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.313 +Problem: Command line completion doesn't work after "%:h" and similar. +Solution: Expand these items before doing the completion. +Files: src/ex_getln.c, src/misc1.c, src/proto/misc1.pro + + +*** ../vim-7.2.312/src/ex_getln.c 2009-09-18 17:24:54.000000000 +0200 +--- src/ex_getln.c 2009-12-02 16:40:06.000000000 +0100 +*************** +*** 4422,4428 **** + flags |= EW_FILE; + else + flags = (flags | EW_DIR) & ~EW_FILE; +! ret = expand_wildcards(1, &pat, num_file, file, flags); + if (free_pat) + vim_free(pat); + return ret; +--- 4422,4429 ---- + flags |= EW_FILE; + else + flags = (flags | EW_DIR) & ~EW_FILE; +! /* Expand wildcards, supporting %:h and the like. */ +! ret = expand_wildcards_eval(&pat, num_file, file, flags); + if (free_pat) + vim_free(pat); + return ret; +*** ../vim-7.2.312/src/misc1.c 2009-11-17 16:08:12.000000000 +0100 +--- src/misc1.c 2009-12-02 17:06:49.000000000 +0100 +*************** +*** 8447,8452 **** +--- 8447,8492 ---- + } + + /* ++ * Invoke expand_wildcards() for one pattern. ++ * Expand items like "%:h" before the expansion. ++ * Returns OK or FAIL. ++ */ ++ int ++ expand_wildcards_eval(pat, num_file, file, flags) ++ char_u **pat; /* pointer to input pattern */ ++ int *num_file; /* resulting number of files */ ++ char_u ***file; /* array of resulting files */ ++ int flags; /* EW_DIR, etc. */ ++ { ++ int ret = FAIL; ++ char_u *eval_pat = NULL; ++ char_u *exp_pat = *pat; ++ char_u *ignored_msg; ++ int usedlen; ++ ++ if (*exp_pat == '%' || *exp_pat == '#' || *exp_pat == '<') ++ { ++ ++emsg_off; ++ eval_pat = eval_vars(exp_pat, exp_pat, &usedlen, ++ NULL, &ignored_msg, NULL); ++ --emsg_off; ++ if (eval_pat != NULL) ++ exp_pat = concat_str(eval_pat, exp_pat + usedlen); ++ } ++ ++ if (exp_pat != NULL) ++ ret = expand_wildcards(1, &exp_pat, num_file, file, flags); ++ ++ if (eval_pat != NULL) ++ { ++ vim_free(exp_pat); ++ vim_free(eval_pat); ++ } ++ ++ return ret; ++ } ++ ++ /* + * Expand wildcards. Calls gen_expand_wildcards() and removes files matching + * 'wildignore'. + * Returns OK or FAIL. +*** ../vim-7.2.312/src/proto/misc1.pro 2007-09-26 22:36:32.000000000 +0200 +--- src/proto/misc1.pro 2009-12-02 16:41:52.000000000 +0100 +*************** +*** 85,90 **** +--- 85,91 ---- + int vim_fexists __ARGS((char_u *fname)); + void line_breakcheck __ARGS((void)); + void fast_breakcheck __ARGS((void)); ++ int expand_wildcards_eval __ARGS((char_u **pat, int *num_file, char_u ***file, int flags)); + int expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags)); + int match_suffix __ARGS((char_u *fname)); + int unix_expandpath __ARGS((garray_T *gap, char_u *path, int wildoff, int flags, int didstar)); +*** ../vim-7.2.312/src/version.c 2009-12-02 15:03:24.000000000 +0100 +--- src/version.c 2009-12-02 17:14:02.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 313, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +8. You spend half of the plane trip with your laptop on your lap...and your + child in the overhead compartment. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.314 b/source/ap/vim/patches/7.2.314 new file mode 100644 index 000000000..490605d00 --- /dev/null +++ b/source/ap/vim/patches/7.2.314 @@ -0,0 +1,56 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.314 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.314 +Problem: Missing function in small build. +Solution: Always include concat_str. +Files: src/misc1.c + + +*** ../vim-7.2.313/src/misc1.c 2009-12-02 17:15:04.000000000 +0100 +--- src/misc1.c 2009-12-02 17:44:55.000000000 +0100 +*************** +*** 4666,4672 **** + return dest; + } + +- #if defined(FEAT_EVAL) || defined(FEAT_GETTEXT) || defined(PROTO) + /* + * Concatenate two strings and return the result in allocated memory. + * Returns NULL when out of memory. +--- 4666,4671 ---- +*************** +*** 4687,4693 **** + } + return dest; + } +- #endif + + /* + * Add a path separator to a file name, unless it already ends in a path +--- 4686,4691 ---- +*** ../vim-7.2.313/src/version.c 2009-12-02 17:15:04.000000000 +0100 +--- src/version.c 2009-12-02 17:47:18.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 314, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +9. All your daydreaming is preoccupied with getting a faster connection to the + net: 28.8...ISDN...cable modem...T1...T3. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.315 b/source/ap/vim/patches/7.2.315 new file mode 100644 index 000000000..6a5e7c7b1 --- /dev/null +++ b/source/ap/vim/patches/7.2.315 @@ -0,0 +1,134 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.315 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.315 +Problem: Python libs can't be found on 64 bit system. +Solution: Add lib64 to the list of directories. (Michael Henry) +Files: src/auto/configure, src/configure.in + + +*** ../vim-7.2.314/src/auto/configure 2009-11-17 17:13:03.000000000 +0100 +--- src/auto/configure 2009-12-02 17:21:20.000000000 +0100 +*************** +*** 5126,5132 **** + + vi_cv_path_python_conf= + for path in "${vi_cv_path_python_pfx}" "${vi_cv_path_python_epfx}"; do +! for subdir in lib share; do + d="${path}/${subdir}/python${vi_cv_var_python_version}/config" + if test -d "$d" && test -f "$d/config.c"; then + vi_cv_path_python_conf="$d" +--- 5126,5132 ---- + + vi_cv_path_python_conf= + for path in "${vi_cv_path_python_pfx}" "${vi_cv_path_python_epfx}"; do +! for subdir in lib64 lib share; do + d="${path}/${subdir}/python${vi_cv_var_python_version}/config" + if test -d "$d" && test -f "$d/config.c"; then + vi_cv_path_python_conf="$d" +*************** +*** 13718,13725 **** + $as_echo "pty mode: $vim_cv_tty_mode, group: $vim_cv_tty_group" >&6; } + else + vim_cv_tty_group=world +! { $as_echo "$as_me:$LINENO: result: ptys are world accessable" >&5 +! $as_echo "ptys are world accessable" >&6; } + fi + + else +--- 13718,13725 ---- + $as_echo "pty mode: $vim_cv_tty_mode, group: $vim_cv_tty_group" >&6; } + else + vim_cv_tty_group=world +! { $as_echo "$as_me:$LINENO: result: ptys are world accessible" >&5 +! $as_echo "ptys are world accessible" >&6; } + fi + + else +*************** +*** 13730,13737 **** + ( exit $ac_status ) + + vim_cv_tty_group=world +! { $as_echo "$as_me:$LINENO: result: can't determine - assume ptys are world accessable" >&5 +! $as_echo "can't determine - assume ptys are world accessable" >&6; } + + fi + rm -rf conftest.dSYM +--- 13730,13737 ---- + ( exit $ac_status ) + + vim_cv_tty_group=world +! { $as_echo "$as_me:$LINENO: result: can't determine - assume ptys are world accessible" >&5 +! $as_echo "can't determine - assume ptys are world accessible" >&6; } + + fi + rm -rf conftest.dSYM +*** ../vim-7.2.314/src/configure.in 2009-11-17 17:13:03.000000000 +0100 +--- src/configure.in 2009-12-02 17:21:10.000000000 +0100 +*************** +*** 686,692 **** + [ + vi_cv_path_python_conf= + for path in "${vi_cv_path_python_pfx}" "${vi_cv_path_python_epfx}"; do +! for subdir in lib share; do + d="${path}/${subdir}/python${vi_cv_var_python_version}/config" + if test -d "$d" && test -f "$d/config.c"; then + vi_cv_path_python_conf="$d" +--- 686,692 ---- + [ + vi_cv_path_python_conf= + for path in "${vi_cv_path_python_pfx}" "${vi_cv_path_python_epfx}"; do +! for subdir in lib64 lib share; do + d="${path}/${subdir}/python${vi_cv_var_python_version}/config" + if test -d "$d" && test -f "$d/config.c"; then + vi_cv_path_python_conf="$d" +*************** +*** 2557,2567 **** + AC_MSG_RESULT([pty mode: $vim_cv_tty_mode, group: $vim_cv_tty_group]) + else + vim_cv_tty_group=world +! AC_MSG_RESULT([ptys are world accessable]) + fi + ],[ + vim_cv_tty_group=world +! AC_MSG_RESULT([can't determine - assume ptys are world accessable]) + ],[ + AC_MSG_ERROR(cross-compiling: please set 'vim_cv_tty_group' and 'vim_cv_tty_mode') + ]) +--- 2557,2567 ---- + AC_MSG_RESULT([pty mode: $vim_cv_tty_mode, group: $vim_cv_tty_group]) + else + vim_cv_tty_group=world +! AC_MSG_RESULT([ptys are world accessible]) + fi + ],[ + vim_cv_tty_group=world +! AC_MSG_RESULT([can't determine - assume ptys are world accessible]) + ],[ + AC_MSG_ERROR(cross-compiling: please set 'vim_cv_tty_group' and 'vim_cv_tty_mode') + ]) +*** ../vim-7.2.314/src/version.c 2009-12-02 17:47:46.000000000 +0100 +--- src/version.c 2009-12-02 17:57:39.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 315, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +10. And even your night dreams are in HTML. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.316 b/source/ap/vim/patches/7.2.316 new file mode 100644 index 000000000..34e629fe1 --- /dev/null +++ b/source/ap/vim/patches/7.2.316 @@ -0,0 +1,83 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.316 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.316 +Problem: May get multiple _FORTIFY_SOURCE arguments. (Tony Mechelynck) +Solution: First remove all these arguments and then add the one we want. + (Dominique Pelle) +Files: src/auto/configure, src/configure.in + + +*** ../vim-7.2.315/src/auto/configure 2009-12-02 17:59:08.000000000 +0100 +--- src/auto/configure 2009-12-16 17:05:59.000000000 +0100 +*************** +*** 17185,17194 **** + { $as_echo "$as_me:$LINENO: result: no" >&5 + $as_echo "no" >&6; } + fi +! { $as_echo "$as_me:$LINENO: checking whether we need -D_FORTIFY_SOURCE=1" >&5 + $as_echo_n "checking whether we need -D_FORTIFY_SOURCE=1... " >&6; } + if test "$gccmajor" -gt "3"; then +! CFLAGS=`echo "$CFLAGS -D_FORTIFY_SOURCE=1" | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//g' -e 's/-D_FORTIFY_SOURCE=2//g'` + { $as_echo "$as_me:$LINENO: result: yes" >&5 + $as_echo "yes" >&6; } + else +--- 17185,17194 ---- + { $as_echo "$as_me:$LINENO: result: no" >&5 + $as_echo "no" >&6; } + fi +! { $as_echo "$as_me:$LINENO: checking whether we need -D_FORTIFY_SOURCE=1" >&5 + $as_echo_n "checking whether we need -D_FORTIFY_SOURCE=1... " >&6; } + if test "$gccmajor" -gt "3"; then +! CFLAGS=`echo "$CFLAGS" | sed -e 's/-Wp,-D_FORTIFY_SOURCE=.//g' -e 's/-D_FORTIFY_SOURCE=.//g' -e 's/$/ -D_FORTIFY_SOURCE=1/'` + { $as_echo "$as_me:$LINENO: result: yes" >&5 + $as_echo "yes" >&6; } + else +*** ../vim-7.2.315/src/configure.in 2009-12-02 17:59:08.000000000 +0100 +--- src/configure.in 2009-12-16 17:05:55.000000000 +0100 +*************** +*** 3241,3249 **** + fi + dnl -D_FORTIFY_SOURCE=2 crashes Vim on strcpy(buf, "000") when buf is + dnl declared as char x[1] but actually longer. Introduced in gcc 4.0. + AC_MSG_CHECKING(whether we need -D_FORTIFY_SOURCE=1) + if test "$gccmajor" -gt "3"; then +! CFLAGS=`echo "$CFLAGS -D_FORTIFY_SOURCE=1" | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//g' -e 's/-D_FORTIFY_SOURCE=2//g'` + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no) +--- 3241,3250 ---- + fi + dnl -D_FORTIFY_SOURCE=2 crashes Vim on strcpy(buf, "000") when buf is + dnl declared as char x[1] but actually longer. Introduced in gcc 4.0. ++ dnl Also remove duplicate _FORTIFY_SOURCE arguments. + AC_MSG_CHECKING(whether we need -D_FORTIFY_SOURCE=1) + if test "$gccmajor" -gt "3"; then +! CFLAGS=`echo "$CFLAGS" | sed -e 's/-Wp,-D_FORTIFY_SOURCE=.//g' -e 's/-D_FORTIFY_SOURCE=.//g' -e 's/$/ -D_FORTIFY_SOURCE=1/'` + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no) +*** ../vim-7.2.315/src/version.c 2009-12-02 17:59:08.000000000 +0100 +--- src/version.c 2009-12-16 17:12:25.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 316, + /**/ + +-- +Have you heard about the new Beowulf cluster? It's so fast, it executes +an infinite loop in 6 seconds. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.317 b/source/ap/vim/patches/7.2.317 new file mode 100644 index 000000000..bc0ceeea4 --- /dev/null +++ b/source/ap/vim/patches/7.2.317 @@ -0,0 +1,148 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.317 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.317 +Problem: Memory leak when adding a highlight group with unprintable + characters, resulting in E669. +Solution: Free the memory. And fix a few typos. (Dominique Pelle) +Files: src/syntax.c + + +*** ../vim-7.2.316/src/syntax.c 2009-05-17 13:30:58.000000000 +0200 +--- src/syntax.c 2009-12-16 18:09:05.000000000 +0100 +*************** +*** 206,212 **** + static int current_attr = 0; /* attr of current syntax word */ + #ifdef FEAT_EVAL + static int current_id = 0; /* ID of current char for syn_get_id() */ +! static int current_trans_id = 0; /* idem, transparancy removed */ + #endif + + typedef struct syn_cluster_S +--- 206,212 ---- + static int current_attr = 0; /* attr of current syntax word */ + #ifdef FEAT_EVAL + static int current_id = 0; /* ID of current char for syn_get_id() */ +! static int current_trans_id = 0; /* idem, transparency removed */ + #endif + + typedef struct syn_cluster_S +*************** +*** 282,288 **** + int si_idx; /* index of syntax pattern or + KEYWORD_IDX */ + int si_id; /* highlight group ID for keywords */ +! int si_trans_id; /* idem, transparancy removed */ + int si_m_lnum; /* lnum of the match */ + int si_m_startcol; /* starting column of the match */ + lpos_T si_m_endpos; /* just after end posn of the match */ +--- 282,288 ---- + int si_idx; /* index of syntax pattern or + KEYWORD_IDX */ + int si_id; /* highlight group ID for keywords */ +! int si_trans_id; /* idem, transparency removed */ + int si_m_lnum; /* lnum of the match */ + int si_m_startcol; /* starting column of the match */ + lpos_T si_m_endpos; /* just after end posn of the match */ +*************** +*** 1274,1280 **** + dist = syn_buf->b_ml.ml_line_count / (syn_buf->b_sst_len - Rows) + 1; + + /* +! * Go throught the list to find the "tick" for the oldest entry that can + * be removed. Set "above" when the "tick" for the oldest entry is above + * "b_sst_lasttick" (the display tick wraps around). + */ +--- 1274,1280 ---- + dist = syn_buf->b_ml.ml_line_count / (syn_buf->b_sst_len - Rows) + 1; + + /* +! * Go through the list to find the "tick" for the oldest entry that can + * be removed. Set "above" when the "tick" for the oldest entry is above + * "b_sst_lasttick" (the display tick wraps around). + */ +*************** +*** 2319,2325 **** + ? (syn_buf->b_spell_cluster_id == 0) + : (syn_buf->b_syn_spell == SYNSPL_TOP); + +! /* nextgroup ends at end of line, unless "skipnl" or "skipemtpy" present */ + if (current_next_list != NULL + && syn_getcurline()[current_col + 1] == NUL + && !(current_next_flags & (HL_SKIPNL | HL_SKIPEMPTY))) +--- 2319,2325 ---- + ? (syn_buf->b_spell_cluster_id == 0) + : (syn_buf->b_syn_spell == SYNSPL_TOP); + +! /* nextgroup ends at end of line, unless "skipnl" or "skipempty" present */ + if (current_next_list != NULL + && syn_getcurline()[current_col + 1] == NUL + && !(current_next_flags & (HL_SKIPNL | HL_SKIPEMPTY))) +*************** +*** 6108,6114 **** + win_T *wp; + long lnum; + colnr_T col; +! int trans; /* remove transparancy */ + int *spellp; /* return: can do spell checking */ + int keep_state; /* keep state of char at "col" */ + { +--- 6108,6114 ---- + win_T *wp; + long lnum; + colnr_T col; +! int trans; /* remove transparency */ + int *spellp; /* return: can do spell checking */ + int keep_state; /* keep state of char at "col" */ + { +*************** +*** 7523,7529 **** + #if defined(FEAT_GUI) || defined(PROTO) + /* + * Set the normal foreground and background colors according to the "Normal" +! * highlighighting group. For X11 also set "Menu", "Scrollbar", and + * "Tooltip" colors. + */ + void +--- 7523,7529 ---- + #if defined(FEAT_GUI) || defined(PROTO) + /* + * Set the normal foreground and background colors according to the "Normal" +! * highlighting group. For X11 also set "Menu", "Scrollbar", and + * "Tooltip" colors. + */ + void +*************** +*** 8647,8652 **** +--- 8647,8653 ---- + if (!vim_isprintc(*p)) + { + EMSG(_("E669: Unprintable character in group name")); ++ vim_free(name); + return 0; + } + else if (!ASCII_ISALNUM(*p) && *p != '_') +*** ../vim-7.2.316/src/version.c 2009-12-16 17:14:08.000000000 +0100 +--- src/version.c 2009-12-16 18:09:14.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 317, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +35. Your husband tells you he's had the beard for 2 months. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.318 b/source/ap/vim/patches/7.2.318 new file mode 100644 index 000000000..430183606 --- /dev/null +++ b/source/ap/vim/patches/7.2.318 @@ -0,0 +1,91 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.318 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.318 +Problem: Wrong locale value breaks floating point numbers for gvim. +Solution: Set the locale again after doing GUI inits. (Dominique Pelle) +Files: src/main.c + + +*** ../vim-7.2.317/src/main.c 2009-11-17 12:31:30.000000000 +0100 +--- src/main.c 2009-12-16 18:23:46.000000000 +0100 +*************** +*** 366,379 **** + * Check if the GUI can be started. Reset gui.starting if not. + * Don't know about other systems, stay on the safe side and don't check. + */ +! if (gui.starting && gui_init_check() == FAIL) + { +! gui.starting = FALSE; + +! /* When running "evim" or "gvim -y" we need the menus, exit if we +! * don't have them. */ +! if (params.evim_mode) +! mch_exit(1); + } + # endif + #endif +--- 366,386 ---- + * Check if the GUI can be started. Reset gui.starting if not. + * Don't know about other systems, stay on the safe side and don't check. + */ +! if (gui.starting) + { +! if (gui_init_check() == FAIL) +! { +! gui.starting = FALSE; + +! /* When running "evim" or "gvim -y" we need the menus, exit if we +! * don't have them. */ +! if (params.evim_mode) +! mch_exit(1); +! } +! # if defined(HAVE_LOCALE_H) || defined(X_LOCALE) +! /* Re-initialize locale, it may have been altered by gui_init_check() */ +! init_locale(); +! # endif + } + # endif + #endif +*************** +*** 3685,3691 **** + } + else if (STRICMP(argv[i], "--servername") == 0) + { +! /* Alredy processed. Take it out of the command line */ + i++; + continue; + } +--- 3692,3698 ---- + } + else if (STRICMP(argv[i], "--servername") == 0) + { +! /* Already processed. Take it out of the command line */ + i++; + continue; + } +*** ../vim-7.2.317/src/version.c 2009-12-16 18:13:04.000000000 +0100 +--- src/version.c 2009-12-16 18:26:24.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 318, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +36. You miss more than five meals a week downloading the latest games from + Apogee. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.319 b/source/ap/vim/patches/7.2.319 new file mode 100644 index 000000000..3cbfd42ef --- /dev/null +++ b/source/ap/vim/patches/7.2.319 @@ -0,0 +1,63 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.319 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.319 +Problem: Motif: accessing freed memory when cancelling font dialog. +Solution: Destroy the widget only after accessing it. (Dominique Pelle) +Files: src/gui_xmdlg.c + + +*** ../vim-7.2.318/src/gui_xmdlg.c 2009-11-03 12:53:44.000000000 +0100 +--- src/gui_xmdlg.c 2009-12-16 18:39:21.000000000 +0100 +*************** +*** 1274,1286 **** + XtAppProcessEvent(XtWidgetToApplicationContext(data->dialog), + (XtInputMask)XtIMAll); + +- XtDestroyWidget(data->dialog); +- + if (data->old) + { + XFreeFont(XtDisplay(data->dialog), data->old); + XmFontListFree(data->old_list); + } + + gui_motif_synch_fonts(); + +--- 1274,1285 ---- + XtAppProcessEvent(XtWidgetToApplicationContext(data->dialog), + (XtInputMask)XtIMAll); + + if (data->old) + { + XFreeFont(XtDisplay(data->dialog), data->old); + XmFontListFree(data->old_list); + } ++ XtDestroyWidget(data->dialog); + + gui_motif_synch_fonts(); + +*** ../vim-7.2.318/src/version.c 2009-12-16 18:27:29.000000000 +0100 +--- src/version.c 2009-12-16 18:40:06.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 319, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +37. You start looking for hot HTML addresses in public restrooms. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.320 b/source/ap/vim/patches/7.2.320 new file mode 100644 index 000000000..73f62247e --- /dev/null +++ b/source/ap/vim/patches/7.2.320 @@ -0,0 +1,199 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.320 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.320 +Problem: Unused function in Mzscheme interface. +Solution: Remove the function and what depends on it. (Dominique Pelle) +Files: src/if_mzsch.c, src/proto/if_mzsch.pro + + +*** ../vim-7.2.319/src/if_mzsch.c 2009-09-11 12:20:47.000000000 +0200 +--- src/if_mzsch.c 2009-12-16 19:01:04.000000000 +0100 +*************** +*** 70,83 **** + Scheme_Object *port; + } Port_Info; + +- /* info for do_apply */ +- typedef struct +- { +- Scheme_Object *proc; +- int argc; +- Scheme_Object **argv; +- } Apply_Info; +- + /* + *======================================================================== + * Vim-Control Commands +--- 70,75 ---- +*************** +*** 160,166 **** + static Scheme_Object *extract_exn_message(Scheme_Object *v); + static Scheme_Object *do_eval(void *, int noargc, Scheme_Object **noargv); + static Scheme_Object *do_load(void *, int noargc, Scheme_Object **noargv); +- static Scheme_Object *do_apply(void *, int noargc, Scheme_Object **noargv); + static void register_vim_exn(void); + static vim_mz_buffer *get_buffer_arg(const char *fname, int argnum, + int argc, Scheme_Object **argv); +--- 152,157 ---- +*************** +*** 1056,1062 **** + MZ_GC_REG(); + config = scheme_config; + MZ_GC_CHECK(); +! /* recreate ports each call effectivelly clearing these ones */ + curout = scheme_make_string_output_port(); + MZ_GC_CHECK(); + curerr = scheme_make_string_output_port(); +--- 1047,1053 ---- + MZ_GC_REG(); + config = scheme_config; + MZ_GC_CHECK(); +! /* recreate ports each call effectively clearing these ones */ + curout = scheme_make_string_output_port(); + MZ_GC_CHECK(); + curerr = scheme_make_string_output_port(); +*************** +*** 1196,1231 **** + } + } + +- /* +- * apply MzScheme procedure with arguments, +- * handling errors +- */ +- Scheme_Object * +- mzvim_apply(Scheme_Object *proc, int argc, Scheme_Object **argv) +- { +- if (mzscheme_init()) +- return FAIL; +- else +- { +- Apply_Info data = {NULL, 0, NULL}; +- Scheme_Object *ret = NULL; +- +- MZ_GC_DECL_REG(5); +- MZ_GC_VAR_IN_REG(0, ret); +- MZ_GC_VAR_IN_REG(1, data.proc); +- MZ_GC_ARRAY_VAR_IN_REG(2, data.argv, argc); +- MZ_GC_REG(); +- +- data.proc = proc; +- data.argc = argc; +- data.argv = argv; +- +- eval_with_exn_handling(&data, do_apply, &ret); +- MZ_GC_UNREG(); +- return ret; +- } +- } +- + static Scheme_Object * + do_load(void *data, int noargc, Scheme_Object **noargv) + { +--- 1187,1192 ---- +*************** +*** 1257,1263 **** + MZ_GC_CHECK(); + } + +! /* errors will be caught in do_mzscheme_comamnd and ex_mzfile */ + scheme_close_input_port(pinfo->port); + MZ_GC_CHECK(); + pinfo->port = NULL; +--- 1218,1224 ---- + MZ_GC_CHECK(); + } + +! /* errors will be caught in do_mzscheme_command and ex_mzfile */ + scheme_close_input_port(pinfo->port); + MZ_GC_CHECK(); + pinfo->port = NULL; +*************** +*** 1348,1360 **** + return scheme_eval_string_all((char *)s, environment, TRUE); + } + +- static Scheme_Object * +- do_apply(void *a, int noargc, Scheme_Object **noargv) +- { +- Apply_Info *info = (Apply_Info *)a; +- return scheme_apply(info->proc, info->argc, info->argv); +- } +- + /* + *======================================================================== + * 3. MzScheme I/O Handlers +--- 1309,1314 ---- +*************** +*** 2128,2134 **** + static Scheme_Object * + set_buffer_line(void *data, int argc, Scheme_Object **argv) + { +! /* First of all, we check the the of the supplied MzScheme object. + * There are three cases: + * 1. #f - this is a deletion. + * 2. A string - this is a replacement. +--- 2082,2088 ---- + static Scheme_Object * + set_buffer_line(void *data, int argc, Scheme_Object **argv) + { +! /* First of all, we check the value of the supplied MzScheme object. + * There are three cases: + * 1. #f - this is a deletion. + * 2. A string - this is a replacement. +*************** +*** 2428,2434 **** + /* + * (insert-buff-line-list {linenr} {string/string-list} [buffer]) + * +! * Insert a number of lines into the specified buffer after the specifed line. + * The line number is in Vim format (1-based). The lines to be inserted are + * given as an MzScheme list of string objects or as a single string. The lines + * to be added are checked for validity and correct format. Errors are +--- 2382,2388 ---- + /* + * (insert-buff-line-list {linenr} {string/string-list} [buffer]) + * +! * Insert a number of lines into the specified buffer after the specified line. + * The line number is in Vim format (1-based). The lines to be inserted are + * given as an MzScheme list of string objects or as a single string. The lines + * to be added are checked for validity and correct format. Errors are +*** ../vim-7.2.319/src/proto/if_mzsch.pro 2009-05-26 22:58:43.000000000 +0200 +--- src/proto/if_mzsch.pro 2009-12-16 19:01:01.000000000 +0100 +*************** +*** 13,20 **** + void mzvim_check_threads __ARGS((void)); + void mzvim_reset_timer __ARGS((void)); + void *mzvim_eval_string __ARGS((char_u *str)); +- struct Scheme_Object *mzvim_apply __ARGS((struct Scheme_Object *, int argc, +- struct Scheme_Object **)); + int mzthreads_allowed __ARGS((void)); + void mzscheme_main __ARGS((void)); + /* vim: set ft=c : */ +--- 13,18 ---- +*** ../vim-7.2.319/src/version.c 2009-12-16 18:49:09.000000000 +0100 +--- src/version.c 2009-12-16 18:53:48.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 320, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +38. You wake up at 3 a.m. to go to the bathroom and stop and check your e-mail + on the way back to bed. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.321 b/source/ap/vim/patches/7.2.321 new file mode 100644 index 000000000..69c08f489 --- /dev/null +++ b/source/ap/vim/patches/7.2.321 @@ -0,0 +1,59 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.321 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.321 +Problem: histadd() and searching with "*" fails to add entry to history + when it is empty. +Solution: Initialize the history. (Lech Lorens) +Files: src/eval.c, src/normal.c + + +*** ../vim-7.2.320/src/eval.c 2009-11-17 12:20:30.000000000 +0100 +--- src/eval.c 2009-12-24 14:37:50.000000000 +0100 +*************** +*** 12014,12019 **** +--- 12014,12020 ---- + str = get_tv_string_buf(&argvars[1], buf); + if (*str != NUL) + { ++ init_history(); + add_to_history(histype, str, FALSE, NUL); + rettv->vval.v_number = TRUE; + return; +*** ../vim-7.2.320/src/normal.c 2009-05-17 13:30:58.000000000 +0200 +--- src/normal.c 2009-12-24 14:38:28.000000000 +0100 +*************** +*** 5602,5607 **** +--- 5602,5608 ---- + STRCAT(buf, "\\>"); + #ifdef FEAT_CMDHIST + /* put pattern in search history */ ++ init_history(); + add_to_history(HIST_SEARCH, buf, TRUE, NUL); + #endif + normal_search(cap, cmdchar == '*' ? '/' : '?', buf, 0); +*** ../vim-7.2.320/src/version.c 2009-12-16 19:02:05.000000000 +0100 +--- src/version.c 2009-12-24 14:39:46.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 321, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +43. You tell the kids they can't use the computer because "Daddy's got work to + do" and you don't even have a job. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.322 b/source/ap/vim/patches/7.2.322 new file mode 100644 index 000000000..57f27fcd8 --- /dev/null +++ b/source/ap/vim/patches/7.2.322 @@ -0,0 +1,49 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.322 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.322 +Problem: Wrong indenting in virtual replace mode with CTRL-Y below a short + line. +Solution: Check for character to be NUL. (suggested by Lech Lorens) +Files: src/edit.c + + +*** ../vim-7.2.321/src/edit.c 2009-11-17 17:40:34.000000000 +0100 +--- src/edit.c 2009-12-24 15:18:23.000000000 +0100 +*************** +*** 7397,7402 **** +--- 7397,7406 ---- + int icase; + int i; + ++ if (keytyped == NUL) ++ /* Can happen with CTRL-Y and CTRL-E on a short line. */ ++ return FALSE; ++ + #ifdef FEAT_EVAL + if (*curbuf->b_p_inde != NUL) + look = curbuf->b_p_indk; /* 'indentexpr' set: use 'indentkeys' */ +*** ../vim-7.2.321/src/version.c 2009-12-24 15:00:31.000000000 +0100 +--- src/version.c 2009-12-24 15:44:46.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 322, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +45. You buy a Captain Kirk chair with a built-in keyboard and mouse. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.323 b/source/ap/vim/patches/7.2.323 new file mode 100644 index 000000000..fc4324615 --- /dev/null +++ b/source/ap/vim/patches/7.2.323 @@ -0,0 +1,95 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.323 (extra) +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.323 (extra) +Problem: Balloon evaluation crashes on Win64. +Solution: Change pointer types. (Sergey Khorev) +Files: src/gui_w32.c + + +*** ../vim-7.2.322/src/gui_w32.c 2009-01-28 21:22:20.000000000 +0100 +--- src/gui_w32.c 2009-12-24 16:06:41.000000000 +0100 +*************** +*** 212,223 **** + DWORD dwPlatformID; + } DLLVERSIONINFO; + + typedef struct tagTOOLINFOA_NEW + { + UINT cbSize; + UINT uFlags; + HWND hwnd; +! UINT uId; + RECT rect; + HINSTANCE hinst; + LPSTR lpszText; +--- 212,225 ---- + DWORD dwPlatformID; + } DLLVERSIONINFO; + ++ #include <poppack.h> ++ + typedef struct tagTOOLINFOA_NEW + { + UINT cbSize; + UINT uFlags; + HWND hwnd; +! UINT_PTR uId; + RECT rect; + HINSTANCE hinst; + LPSTR lpszText; +*************** +*** 227,241 **** + typedef struct tagNMTTDISPINFO_NEW + { + NMHDR hdr; +! LPTSTR lpszText; + char szText[80]; + HINSTANCE hinst; + UINT uFlags; + LPARAM lParam; + } NMTTDISPINFO_NEW; + +- #include <poppack.h> +- + typedef HRESULT (WINAPI* DLLGETVERSIONPROC)(DLLVERSIONINFO *); + #ifndef TTM_SETMAXTIPWIDTH + # define TTM_SETMAXTIPWIDTH (WM_USER+24) +--- 229,241 ---- + typedef struct tagNMTTDISPINFO_NEW + { + NMHDR hdr; +! LPSTR lpszText; + char szText[80]; + HINSTANCE hinst; + UINT uFlags; + LPARAM lParam; + } NMTTDISPINFO_NEW; + + typedef HRESULT (WINAPI* DLLGETVERSIONPROC)(DLLVERSIONINFO *); + #ifndef TTM_SETMAXTIPWIDTH + # define TTM_SETMAXTIPWIDTH (WM_USER+24) +*** ../vim-7.2.322/src/version.c 2009-12-24 15:45:53.000000000 +0100 +--- src/version.c 2009-12-24 16:08:33.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 323, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +46. Your wife makes a new rule: "The computer cannot come to bed." + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.324 b/source/ap/vim/patches/7.2.324 new file mode 100644 index 000000000..8f61b8acb --- /dev/null +++ b/source/ap/vim/patches/7.2.324 @@ -0,0 +1,66 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.324 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.324 +Problem: A negative column argument in setpos() may cause a crash. +Solution: Check for invalid column number. (James Vega) +Files: src/eval.c, src/misc2.c + + +*** ../vim-7.2.323/src/eval.c 2009-12-24 15:00:31.000000000 +0100 +--- src/eval.c 2009-12-31 13:09:19.000000000 +0100 +*************** +*** 15542,15548 **** + { + if (list2fpos(&argvars[1], &pos, &fnum) == OK) + { +! --pos.col; + if (name[0] == '.' && name[1] == NUL) + { + /* set cursor */ +--- 15542,15549 ---- + { + if (list2fpos(&argvars[1], &pos, &fnum) == OK) + { +! if (--pos.col < 0) +! pos.col = 0; + if (name[0] == '.' && name[1] == NUL) + { + /* set cursor */ +*** ../vim-7.2.323/src/misc2.c 2009-11-25 17:15:16.000000000 +0100 +--- src/misc2.c 2009-12-31 13:12:36.000000000 +0100 +*************** +*** 528,533 **** +--- 528,535 ---- + #endif + } + } ++ else if (curwin->w_cursor.col < 0) ++ curwin->w_cursor.col = 0; + + #ifdef FEAT_VIRTUALEDIT + /* If virtual editing is on, we can leave the cursor on the old position, +*** ../vim-7.2.323/src/version.c 2009-12-24 16:11:24.000000000 +0100 +--- src/version.c 2009-12-31 13:17:25.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 324, + /**/ + +-- +"Thou shalt not follow the Null Pointer, for at its end Chaos and +Madness lie." + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.325 b/source/ap/vim/patches/7.2.325 new file mode 100644 index 000000000..77a6e089f --- /dev/null +++ b/source/ap/vim/patches/7.2.325 @@ -0,0 +1,52 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.325 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.325 +Problem: A stray "w" in the startup vimrc file causes the edited file to be + replaced with an empty file. (Stone Kang). +Solution: Do not write a buffer when it has never been loaded. +Files: src/fileio.c + + +*** ../vim-7.2.324/src/fileio.c 2009-12-02 13:32:10.000000000 +0100 +--- src/fileio.c 2009-12-31 14:08:31.000000000 +0100 +*************** +*** 2981,2986 **** +--- 2981,2993 ---- + + if (fname == NULL || *fname == NUL) /* safety check */ + return FAIL; ++ if (buf->b_ml.ml_mfp == NULL) ++ { ++ /* This can happen during startup when there is a stray "w" in the ++ * vimrc file. */ ++ EMSG(_(e_emptybuf)); ++ return FAIL; ++ } + + /* + * Disallow writing from .exrc and .vimrc in current directory for +*** ../vim-7.2.324/src/version.c 2009-12-31 13:18:05.000000000 +0100 +--- src/version.c 2009-12-31 14:52:29.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 325, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +74. Your most erotic dreams are about cybersex + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.326 b/source/ap/vim/patches/7.2.326 new file mode 100644 index 000000000..8e988a8da --- /dev/null +++ b/source/ap/vim/patches/7.2.326 @@ -0,0 +1,54 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.326 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.326 +Problem: Win32: $HOME doesn't work when %HOMEPATH% is not defined. +Solution: Use "\" for %HOMEPATH% when it is not defined. +Files: src/misc1.c + + +*** ../vim-7.2.325/src/misc1.c 2009-12-02 17:47:46.000000000 +0100 +--- src/misc1.c 2010-01-05 19:53:23.000000000 +0100 +*************** +*** 3470,3476 **** + + homedrive = mch_getenv((char_u *)"HOMEDRIVE"); + homepath = mch_getenv((char_u *)"HOMEPATH"); +! if (homedrive != NULL && homepath != NULL + && STRLEN(homedrive) + STRLEN(homepath) < MAXPATHL) + { + sprintf((char *)NameBuff, "%s%s", homedrive, homepath); +--- 3470,3478 ---- + + homedrive = mch_getenv((char_u *)"HOMEDRIVE"); + homepath = mch_getenv((char_u *)"HOMEPATH"); +! if (homepath == NULL || *homepath == NUL) +! homepath = "\\"; +! if (homedrive != NULL + && STRLEN(homedrive) + STRLEN(homepath) < MAXPATHL) + { + sprintf((char *)NameBuff, "%s%s", homedrive, homepath); +*** ../vim-7.2.325/src/version.c 2009-12-31 14:52:48.000000000 +0100 +--- src/version.c 2010-01-06 17:39:23.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 326, + /**/ + +-- +From "know your smileys": + :q vi user saying, "How do I get out of this damn emacs editor?" + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.327 b/source/ap/vim/patches/7.2.327 new file mode 100644 index 000000000..4bfb077c8 --- /dev/null +++ b/source/ap/vim/patches/7.2.327 @@ -0,0 +1,323 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.327 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.327 +Problem: Unused functions in Workshop. +Solution: Add "#if 0" and minor cleanup. (Dominique Pelle) +Files: src/workshop.c, src/integration.c, src/ingegration.h + + +*** ../vim-7.2.326/src/workshop.c 2009-05-21 23:25:38.000000000 +0200 +--- src/workshop.c 2010-01-06 18:10:10.000000000 +0100 +*************** +*** 56,67 **** + static void load_window(char *, int lnum); + static void warp_to_pc(int); + #ifdef FEAT_BEVAL +! void workshop_beval_cb(BalloonEval *, int); + #endif + static char *fixAccelText(char *); + static void addMenu(char *, char *, char *); + static char *lookupVerb(char *, int); +- static int computeIndex(int, char_u *, int); + static void coloncmd(char *, Boolean); + + extern Widget vimShell; +--- 56,67 ---- + static void load_window(char *, int lnum); + static void warp_to_pc(int); + #ifdef FEAT_BEVAL +! void workshop_beval_cb(BalloonEval *, int); +! static int computeIndex(int, char_u *, int); + #endif + static char *fixAccelText(char *); + static void addMenu(char *, char *, char *); + static char *lookupVerb(char *, int); + static void coloncmd(char *, Boolean); + + extern Widget vimShell; +*************** +*** 1624,1631 **** + } + } + } +- #endif +- + + static int + computeIndex( +--- 1624,1629 ---- +*************** +*** 1649,1654 **** +--- 1647,1653 ---- + + return -1; + } ++ #endif + + static void + addMenu( +*** ../vim-7.2.326/src/integration.c 2008-06-24 22:27:10.000000000 +0200 +--- src/integration.c 2010-01-06 18:18:11.000000000 +0100 +*************** +*** 78,84 **** + + /* Functions private to this file */ + static void workshop_connection_closed(void); +! static void messageFromEserve(XtPointer clientData, int *NOTUSED1, XtInputId *NOTUSED2); + static void workshop_disconnect(void); + static void workshop_sensitivity(int num, char *table); + static void adjust_sign_name(char *filename); +--- 78,84 ---- + + /* Functions private to this file */ + static void workshop_connection_closed(void); +! static void messageFromEserve(XtPointer clientData, int *dum1, XtInputId *dum2); + static void workshop_disconnect(void); + static void workshop_sensitivity(int num, char *table); + static void adjust_sign_name(char *filename); +*************** +*** 157,165 **** + + } + +- /*ARGSUSED*/ + void +! messageFromEserve(XtPointer clientData, int *NOTUSED1, XtInputId *NOTUSED2) + { + char *cmd; /* the 1st word of the command */ + +--- 157,166 ---- + + } + + void +! messageFromEserve(XtPointer clientData UNUSED, +! int *dum1 UNUSED, +! XtInputId *dum2 UNUSED) + { + char *cmd; /* the 1st word of the command */ + +*************** +*** 199,205 **** + if (sign) { + sign++; + } +! /* Change sign name to accomodate a different size? */ + adjust_sign_name(sign); + workshop_add_mark_type(idx, color, sign); + } +--- 200,206 ---- + if (sign) { + sign++; + } +! /* Change sign name to accommodate a different size? */ + adjust_sign_name(sign); + workshop_add_mark_type(idx, color, sign); + } +*************** +*** 580,586 **** + #endif + + +! /* Change sign name to accomodate a different size: + * Create the filename based on the height. The filename format + * of multisize icons are: + * x.xpm : largest icon +--- 581,587 ---- + #endif + + +! /* Change sign name to accommodate a different size: + * Create the filename based on the height. The filename format + * of multisize icons are: + * x.xpm : largest icon +*************** +*** 614,619 **** +--- 615,621 ---- + strcpy(s, ".xpm"); + } + ++ #if 0 + /* Were we invoked by WorkShop? This function can be used early during startup + if you want to do things differently if the editor is started standalone + or in WorkShop mode. For example, in standalone mode you may not want to +*************** +*** 627,632 **** +--- 629,635 ---- + } + return result; + } ++ #endif + + /* Connect back to eserve */ + void workshop_connect(XtAppContext context) +*************** +*** 750,755 **** +--- 753,759 ---- + * Utility functions + */ + ++ #if 0 + /* Set icon for the window */ + void + workshop_set_icon(Display *display, Widget shell, char **xpmdata, +*************** +*** 793,798 **** +--- 797,803 ---- + } + XtFree((char *)xpmAttributes.colorsymbols); + } ++ #endif + + /* Minimize and maximize shells. From libutil's shell.cc. */ + +*************** +*** 927,933 **** + return success; + } + +! + Boolean workshop_get_rows_cols(int *rows, int *cols) + { + static int r = 0; +--- 932,938 ---- + return success; + } + +! #if 0 + Boolean workshop_get_rows_cols(int *rows, int *cols) + { + static int r = 0; +*************** +*** 958,963 **** +--- 963,969 ---- + } + return success; + } ++ #endif + + /* + * Toolbar code +*************** +*** 1043,1054 **** + } + + +! + /* + * Send information to eserve on certain editor events + * You must make sure these are called when necessary + */ +- + void workshop_file_closed(char *filename) + { + char buffer[2*MAXPATHLEN]; +--- 1049,1059 ---- + } + + +! #if 0 + /* + * Send information to eserve on certain editor events + * You must make sure these are called when necessary + */ + void workshop_file_closed(char *filename) + { + char buffer[2*MAXPATHLEN]; +*************** +*** 1056,1061 **** +--- 1061,1067 ---- + NOCATGETS("deletedFile %s\n"), filename); + write(sd, buffer, strlen(buffer)); + } ++ #endif + + void workshop_file_closed_lineno(char *filename, int lineno) + { +*************** +*** 1086,1106 **** + workshop_moved_marks(filename); + } + +! void workshop_move_mark(char *filename, int markId, int newLineno) + { + char buffer[2*MAXPATHLEN]; + vim_snprintf(buffer, sizeof(buffer), +! NOCATGETS("moveMark %s %d %d\n"), filename, markId, newLineno); + write(sd, buffer, strlen(buffer)); + } + +! void workshop_file_modified(char *filename) + { + char buffer[2*MAXPATHLEN]; + vim_snprintf(buffer, sizeof(buffer), +! NOCATGETS("modifiedFile %s\n"), filename); + write(sd, buffer, strlen(buffer)); + } + + void workshop_frame_moved(int new_x, int new_y, int new_w, int new_h) + { +--- 1092,1114 ---- + workshop_moved_marks(filename); + } + +! #if 0 +! void workshop_file_modified(char *filename) + { + char buffer[2*MAXPATHLEN]; + vim_snprintf(buffer, sizeof(buffer), +! NOCATGETS("modifiedFile %s\n"), filename); + write(sd, buffer, strlen(buffer)); + } + +! void workshop_move_mark(char *filename, int markId, int newLineno) + { + char buffer[2*MAXPATHLEN]; + vim_snprintf(buffer, sizeof(buffer), +! NOCATGETS("moveMark %s %d %d\n"), filename, markId, newLineno); + write(sd, buffer, strlen(buffer)); + } ++ #endif + + void workshop_frame_moved(int new_x, int new_y, int new_w, int new_h) + { +*************** +*** 1179,1188 **** +--- 1187,1198 ---- + } + + /* Send a message to eserve */ ++ #if defined(NOHANDS_SUPPORT_FUNCTIONS) || defined(FEAT_BEVAL) + void workshop_send_message(char *buf) + { + write(sd, buf, strlen(buf)); + } ++ #endif + + /* Some methods, like currentFile, cursorPos, etc. are missing here. + * But it looks like these are used for NoHands testing only so we +*** ../vim-7.2.326/src/version.c 2010-01-06 17:46:03.000000000 +0100 +--- src/version.c 2010-01-06 18:20:41.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 327, + /**/ + +-- +From "know your smileys": + (:-# Said something he shouldn't have + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.328 b/source/ap/vim/patches/7.2.328 new file mode 100644 index 000000000..f547fb944 --- /dev/null +++ b/source/ap/vim/patches/7.2.328 @@ -0,0 +1,52 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.328 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.328 +Problem: has("win64") does not return 1 on 64 bit MS-Windows version. +Solution: Also check for _WIN64 besides WIN64. +Files: src/eval.c + + +*** ../vim-7.2.327/src/eval.c 2009-12-31 13:18:05.000000000 +0100 +--- src/eval.c 2010-01-06 16:28:23.000000000 +0100 +*************** +*** 11453,11459 **** + #if defined(UNIX) && (defined(__CYGWIN32__) || defined(__CYGWIN__)) + "win32unix", + #endif +! #ifdef WIN64 + "win64", + #endif + #ifdef EBCDIC +--- 11453,11459 ---- + #if defined(UNIX) && (defined(__CYGWIN32__) || defined(__CYGWIN__)) + "win32unix", + #endif +! #if defined(WIN64) || defined(_WIN64) + "win64", + #endif + #ifdef EBCDIC +*** ../vim-7.2.327/src/version.c 2010-01-06 18:24:53.000000000 +0100 +--- src/version.c 2010-01-12 12:10:06.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 328, + /**/ + +-- +From "know your smileys": + :.-( Crying + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.329 b/source/ap/vim/patches/7.2.329 new file mode 100644 index 000000000..f92bc655b --- /dev/null +++ b/source/ap/vim/patches/7.2.329 @@ -0,0 +1,48 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.329 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.329 +Problem: "g_" doesn't position cursor correctly when in Visual mode and + 'selection' is "exclusive". (Ben Fritz) +Solution: Call adjust_for_sel(). +Files: src/normal.c + + +*** ../vim-7.2.328/src/normal.c 2009-12-24 15:00:31.000000000 +0100 +--- src/normal.c 2010-01-09 15:19:47.000000000 +0100 +*************** +*** 7873,7878 **** +--- 7873,7881 ---- + && vim_iswhite(ptr[curwin->w_cursor.col])) + --curwin->w_cursor.col; + curwin->w_set_curswant = TRUE; ++ #ifdef FEAT_VISUAL ++ adjust_for_sel(cap); ++ #endif + } + break; + +*** ../vim-7.2.328/src/version.c 2010-01-12 12:48:40.000000000 +0100 +--- src/version.c 2010-01-12 15:41:13.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 329, + /**/ + +-- +From "know your smileys": + |-( Contact lenses, but has lost them + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.330 b/source/ap/vim/patches/7.2.330 new file mode 100644 index 000000000..0d9c3f1e4 --- /dev/null +++ b/source/ap/vim/patches/7.2.330 @@ -0,0 +1,1531 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.330 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.330 +Problem: Tables for Unicode case operators are outdated. +Solution: Add a Vim script for generating the tables. Include tables for + Unicode 5.2. +Files: runtime/tools/README.txt, runtime/tools/unicode.vim, src/mbyte.c + + +*** ../vim-7.2.329/runtime/tools/README.txt 2005-12-02 01:47:43.000000000 +0100 +--- runtime/tools/README.txt 2010-01-12 19:43:13.000000000 +0100 +*************** +*** 32,35 **** +--- 32,37 ---- + xcmdsrv_client.c: Example for a client program that communicates with a Vim + server through the X-Windows interface. + ++ unicode.vim Vim script to generate tables for src/mbyte.c. ++ + [xxd (and tee for OS/2) can be found in the src directory] +*** ../vim-7.2.329/runtime/tools/unicode.vim 2010-01-12 19:47:33.000000000 +0100 +--- runtime/tools/unicode.vim 2010-01-12 19:42:14.000000000 +0100 +*************** +*** 0 **** +--- 1,280 ---- ++ " Script to extract tables from Unicode .txt files, to be used in src/mbyte.c. ++ " The format of the UnicodeData.txt file is explained here: ++ " http://www.unicode.org/Public/5.1.0/ucd/UCD.html ++ " For the other files see the header. ++ " ++ " Usage: Vim -S <this-file> ++ " ++ " Author: Bram Moolenaar ++ " Last Update: 2010 Jan 12 ++ ++ " Parse lines of UnicodeData.txt. Creates a list of lists in s:dataprops. ++ func! ParseDataToProps() ++ let s:dataprops = [] ++ let lnum = 1 ++ while lnum <= line('$') ++ let l = split(getline(lnum), '\s*;\s*', 1) ++ if len(l) != 15 ++ echoerr 'Found ' . len(l) . ' items in line ' . lnum . ', expected 15' ++ return ++ endif ++ call add(s:dataprops, l) ++ let lnum += 1 ++ endwhile ++ endfunc ++ ++ " Parse lines of CaseFolding.txt. Creates a list of lists in s:foldprops. ++ func! ParseFoldProps() ++ let s:foldprops = [] ++ let lnum = 1 ++ while lnum <= line('$') ++ let line = getline(lnum) ++ if line !~ '^#' && line !~ '^\s*$' ++ let l = split(line, '\s*;\s*', 1) ++ if len(l) != 4 ++ echoerr 'Found ' . len(l) . ' items in line ' . lnum . ', expected 4' ++ return ++ endif ++ call add(s:foldprops, l) ++ endif ++ let lnum += 1 ++ endwhile ++ endfunc ++ ++ " Parse lines of EastAsianWidth.txt. Creates a list of lists in s:widthprops. ++ func! ParseWidthProps() ++ let s:widthprops = [] ++ let lnum = 1 ++ while lnum <= line('$') ++ let line = getline(lnum) ++ if line !~ '^#' && line !~ '^\s*$' ++ let l = split(line, '\s*;\s*', 1) ++ if len(l) != 2 ++ echoerr 'Found ' . len(l) . ' items in line ' . lnum . ', expected 2' ++ return ++ endif ++ call add(s:widthprops, l) ++ endif ++ let lnum += 1 ++ endwhile ++ endfunc ++ ++ " Build the toLower or toUpper table in a new buffer. ++ " Uses s:dataprops. ++ func! BuildCaseTable(name, index) ++ let start = -1 ++ let end = -1 ++ let step = 0 ++ let add = -1 ++ let ranges = [] ++ for p in s:dataprops ++ if p[a:index] != '' ++ let n = ('0x' . p[0]) + 0 ++ let nl = ('0x' . p[a:index]) + 0 ++ if start >= 0 && add == nl - n && (step == 0 || n - end == step) ++ " continue with same range. ++ let step = n - end ++ let end = n ++ else ++ if start >= 0 ++ " produce previous range ++ call Range(ranges, start, end, step, add) ++ endif ++ let start = n ++ let end = n ++ let step = 0 ++ let add = nl - n ++ endif ++ endif ++ endfor ++ if start >= 0 ++ call Range(ranges, start, end, step, add) ++ endif ++ ++ " New buffer to put the result in. ++ new ++ exe "file to" . a:name ++ call setline(1, "static convertStruct to" . a:name . "[] =") ++ call setline(2, "{") ++ call append('$', ranges) ++ call setline('$', getline('$')[:-2]) " remove last comma ++ call setline(line('$') + 1, "};") ++ wincmd p ++ endfunc ++ ++ " Build the foldCase table in a new buffer. ++ " Uses s:foldprops. ++ func! BuildFoldTable() ++ let start = -1 ++ let end = -1 ++ let step = 0 ++ let add = -1 ++ let ranges = [] ++ for p in s:foldprops ++ if p[1] == 'C' || p[1] == 'S' ++ let n = ('0x' . p[0]) + 0 ++ let nl = ('0x' . p[2]) + 0 ++ if start >= 0 && add == nl - n && (step == 0 || n - end == step) ++ " continue with same range. ++ let step = n - end ++ let end = n ++ else ++ if start >= 0 ++ " produce previous range ++ call Range(ranges, start, end, step, add) ++ endif ++ let start = n ++ let end = n ++ let step = 0 ++ let add = nl - n ++ endif ++ endif ++ endfor ++ if start >= 0 ++ call Range(ranges, start, end, step, add) ++ endif ++ ++ " New buffer to put the result in. ++ new ++ file foldCase ++ call setline(1, "static convertStruct foldCase[] =") ++ call setline(2, "{") ++ call append('$', ranges) ++ call setline('$', getline('$')[:-2]) " remove last comma ++ call setline(line('$') + 1, "};") ++ wincmd p ++ endfunc ++ ++ func! Range(ranges, start, end, step, add) ++ let s = printf("\t{0x%x,0x%x,%d,%d},", a:start, a:end, a:step == 0 ? -1 : a:step, a:add) ++ call add(a:ranges, s) ++ endfunc ++ ++ " Build the combining table. ++ " Uses s:dataprops. ++ func! BuildCombiningTable() ++ let start = -1 ++ let end = -1 ++ let ranges = [] ++ for p in s:dataprops ++ if p[2] == 'Mn' || p[2] == 'Mc' || p[2] == 'Me' ++ let n = ('0x' . p[0]) + 0 ++ if start >= 0 && end + 1 == n ++ " continue with same range. ++ let end = n ++ else ++ if start >= 0 ++ " produce previous range ++ call add(ranges, printf("\t{0x%04x, 0x%04x},", start, end)) ++ endif ++ let start = n ++ let end = n ++ endif ++ endif ++ endfor ++ if start >= 0 ++ call add(ranges, printf("\t{0x%04x, 0x%04x},", start, end)) ++ endif ++ ++ " New buffer to put the result in. ++ new ++ file combining ++ call setline(1, " static struct interval combining[] =") ++ call setline(2, " {") ++ call append('$', ranges) ++ call setline('$', getline('$')[:-2]) " remove last comma ++ call setline(line('$') + 1, " };") ++ wincmd p ++ endfunc ++ ++ " Build the ambiguous table in a new buffer. ++ " Uses s:widthprops and s:dataprops. ++ func! BuildAmbiguousTable() ++ let start = -1 ++ let end = -1 ++ let ranges = [] ++ let dataidx = 0 ++ for p in s:widthprops ++ if p[1][0] == 'A' ++ let n = ('0x' . p[0]) + 0 ++ " Find this char in the data table. ++ while 1 ++ let dn = ('0x' . s:dataprops[dataidx][0]) + 0 ++ if dn >= n ++ break ++ endif ++ let dataidx += 1 ++ endwhile ++ if dn != n ++ echoerr "Cannot find character " . n . " in data table" ++ endif ++ " Only use the char when it's not a composing char. ++ let dp = s:dataprops[dataidx] ++ if dp[2] != 'Mn' && dp[2] != 'Mc' && dp[2] != 'Me' ++ if start >= 0 && end + 1 == n ++ " continue with same range. ++ let end = n ++ else ++ if start >= 0 ++ " produce previous range ++ call add(ranges, printf("\t{0x%04x, 0x%04x},", start, end)) ++ endif ++ let start = n ++ if p[0] =~ '\.\.' ++ let end = ('0x' . substitute(p[0], '.*\.\.', '', '')) + 0 ++ else ++ let end = n ++ endif ++ endif ++ endif ++ endif ++ endfor ++ if start >= 0 ++ call add(ranges, printf("\t{0x%04x, 0x%04x},", start, end)) ++ endif ++ ++ " New buffer to put the result in. ++ new ++ file ambiguous ++ call setline(1, " static struct interval ambiguous[] =") ++ call setline(2, " {") ++ call append('$', ranges) ++ call setline('$', getline('$')[:-2]) " remove last comma ++ call setline(line('$') + 1, " };") ++ wincmd p ++ endfunc ++ ++ ++ ++ " Edit the Unicode text file. Requires the netrw plugin. ++ edit http://unicode.org/Public/UNIDATA/UnicodeData.txt ++ ++ " Parse each line, create a list of lists. ++ call ParseDataToProps() ++ ++ " Build the toLower table. ++ call BuildCaseTable("Lower", 13) ++ ++ " Build the toUpper table. ++ call BuildCaseTable("Upper", 12) ++ ++ " Build the ranges of composing chars. ++ call BuildCombiningTable() ++ ++ " Edit the case folding text file. Requires the netrw plugin. ++ edit http://www.unicode.org/Public/UNIDATA/CaseFolding.txt ++ ++ " Parse each line, create a list of lists. ++ call ParseFoldProps() ++ ++ " Build the foldCase table. ++ call BuildFoldTable() ++ ++ " Edit the width text file. Requires the netrw plugin. ++ edit http://www.unicode.org/Public/UNIDATA/EastAsianWidth.txt ++ ++ " Parse each line, create a list of lists. ++ call ParseWidthProps() ++ ++ " Build the ambiguous table. ++ call BuildAmbiguousTable() +*** ../vim-7.2.329/src/mbyte.c 2009-12-02 15:03:24.000000000 +0100 +--- src/mbyte.c 2010-01-12 19:35:49.000000000 +0100 +*************** +*** 26,32 **** + * Recognizing bytes is easy: 0xxx.xxxx is a single-byte + * char, 10xx.xxxx is a trailing byte, 11xx.xxxx is a leading + * byte of a multi-byte character. +! * To make things complicated, up to two composing characters + * are allowed. These are drawn on top of the first char. + * For most editing the sequence of bytes with composing + * characters included is considered to be one character. +--- 26,32 ---- + * Recognizing bytes is easy: 0xxx.xxxx is a single-byte + * char, 10xx.xxxx is a trailing byte, 11xx.xxxx is a leading + * byte of a multi-byte character. +! * To make things complicated, up to six composing characters + * are allowed. These are drawn on top of the first char. + * For most editing the sequence of bytes with composing + * characters included is considered to be one character. +*************** +*** 1153,1160 **** + + struct interval + { +! unsigned short first; +! unsigned short last; + }; + static int intable __ARGS((struct interval *table, size_t size, int c)); + +--- 1153,1160 ---- + + struct interval + { +! long first; +! long last; + }; + static int intable __ARGS((struct interval *table, size_t size, int c)); + +*************** +*** 1200,1261 **** + utf_char2cells(c) + int c; + { +! /* sorted list of non-overlapping intervals of East Asian Ambiguous +! * characters, generated with: +! * "uniset +WIDTH-A -cat=Me -cat=Mn -cat=Cf c" */ +! static struct interval ambiguous[] = { +! {0x00A1, 0x00A1}, {0x00A4, 0x00A4}, {0x00A7, 0x00A8}, +! {0x00AA, 0x00AA}, {0x00AE, 0x00AE}, {0x00B0, 0x00B4}, +! {0x00B6, 0x00BA}, {0x00BC, 0x00BF}, {0x00C6, 0x00C6}, +! {0x00D0, 0x00D0}, {0x00D7, 0x00D8}, {0x00DE, 0x00E1}, +! {0x00E6, 0x00E6}, {0x00E8, 0x00EA}, {0x00EC, 0x00ED}, +! {0x00F0, 0x00F0}, {0x00F2, 0x00F3}, {0x00F7, 0x00FA}, +! {0x00FC, 0x00FC}, {0x00FE, 0x00FE}, {0x0101, 0x0101}, +! {0x0111, 0x0111}, {0x0113, 0x0113}, {0x011B, 0x011B}, +! {0x0126, 0x0127}, {0x012B, 0x012B}, {0x0131, 0x0133}, +! {0x0138, 0x0138}, {0x013F, 0x0142}, {0x0144, 0x0144}, +! {0x0148, 0x014B}, {0x014D, 0x014D}, {0x0152, 0x0153}, +! {0x0166, 0x0167}, {0x016B, 0x016B}, {0x01CE, 0x01CE}, +! {0x01D0, 0x01D0}, {0x01D2, 0x01D2}, {0x01D4, 0x01D4}, +! {0x01D6, 0x01D6}, {0x01D8, 0x01D8}, {0x01DA, 0x01DA}, +! {0x01DC, 0x01DC}, {0x0251, 0x0251}, {0x0261, 0x0261}, +! {0x02C4, 0x02C4}, {0x02C7, 0x02C7}, {0x02C9, 0x02CB}, +! {0x02CD, 0x02CD}, {0x02D0, 0x02D0}, {0x02D8, 0x02DB}, +! {0x02DD, 0x02DD}, {0x02DF, 0x02DF}, {0x0391, 0x03A1}, +! {0x03A3, 0x03A9}, {0x03B1, 0x03C1}, {0x03C3, 0x03C9}, +! {0x0401, 0x0401}, {0x0410, 0x044F}, {0x0451, 0x0451}, +! {0x2010, 0x2010}, {0x2013, 0x2016}, {0x2018, 0x2019}, +! {0x201C, 0x201D}, {0x2020, 0x2022}, {0x2024, 0x2027}, +! {0x2030, 0x2030}, {0x2032, 0x2033}, {0x2035, 0x2035}, +! {0x203B, 0x203B}, {0x203E, 0x203E}, {0x2074, 0x2074}, +! {0x207F, 0x207F}, {0x2081, 0x2084}, {0x20AC, 0x20AC}, +! {0x2103, 0x2103}, {0x2105, 0x2105}, {0x2109, 0x2109}, +! {0x2113, 0x2113}, {0x2116, 0x2116}, {0x2121, 0x2122}, +! {0x2126, 0x2126}, {0x212B, 0x212B}, {0x2153, 0x2154}, +! {0x215B, 0x215E}, {0x2160, 0x216B}, {0x2170, 0x2179}, +! {0x2190, 0x2199}, {0x21B8, 0x21B9}, {0x21D2, 0x21D2}, +! {0x21D4, 0x21D4}, {0x21E7, 0x21E7}, {0x2200, 0x2200}, +! {0x2202, 0x2203}, {0x2207, 0x2208}, {0x220B, 0x220B}, +! {0x220F, 0x220F}, {0x2211, 0x2211}, {0x2215, 0x2215}, +! {0x221A, 0x221A}, {0x221D, 0x2220}, {0x2223, 0x2223}, +! {0x2225, 0x2225}, {0x2227, 0x222C}, {0x222E, 0x222E}, +! {0x2234, 0x2237}, {0x223C, 0x223D}, {0x2248, 0x2248}, +! {0x224C, 0x224C}, {0x2252, 0x2252}, {0x2260, 0x2261}, +! {0x2264, 0x2267}, {0x226A, 0x226B}, {0x226E, 0x226F}, +! {0x2282, 0x2283}, {0x2286, 0x2287}, {0x2295, 0x2295}, +! {0x2299, 0x2299}, {0x22A5, 0x22A5}, {0x22BF, 0x22BF}, +! {0x2312, 0x2312}, {0x2460, 0x24E9}, {0x24EB, 0x254B}, +! {0x2550, 0x2573}, {0x2580, 0x258F}, {0x2592, 0x2595}, +! {0x25A0, 0x25A1}, {0x25A3, 0x25A9}, {0x25B2, 0x25B3}, +! {0x25B6, 0x25B7}, {0x25BC, 0x25BD}, {0x25C0, 0x25C1}, +! {0x25C6, 0x25C8}, {0x25CB, 0x25CB}, {0x25CE, 0x25D1}, +! {0x25E2, 0x25E5}, {0x25EF, 0x25EF}, {0x2605, 0x2606}, +! {0x2609, 0x2609}, {0x260E, 0x260F}, {0x2614, 0x2615}, +! {0x261C, 0x261C}, {0x261E, 0x261E}, {0x2640, 0x2640}, +! {0x2642, 0x2642}, {0x2660, 0x2661}, {0x2663, 0x2665}, +! {0x2667, 0x266A}, {0x266C, 0x266D}, {0x266F, 0x266F}, +! {0x273D, 0x273D}, {0x2776, 0x277F}, {0xE000, 0xF8FF}, +! {0xFFFD, 0xFFFD}, /* {0xF0000, 0xFFFFD}, {0x100000, 0x10FFFD} */ + }; + + if (c >= 0x100) +--- 1200,1390 ---- + utf_char2cells(c) + int c; + { +! /* Sorted list of non-overlapping intervals of East Asian Ambiguous +! * characters, generated with ../runtime/tools/unicode.vim. */ +! static struct interval ambiguous[] = +! { +! {0x00a1, 0x00a1}, +! {0x00a4, 0x00a4}, +! {0x00a7, 0x00a8}, +! {0x00aa, 0x00aa}, +! {0x00ad, 0x00ae}, +! {0x00b0, 0x00b4}, +! {0x00b6, 0x00ba}, +! {0x00bc, 0x00bf}, +! {0x00c6, 0x00c6}, +! {0x00d0, 0x00d0}, +! {0x00d7, 0x00d8}, +! {0x00de, 0x00e1}, +! {0x00e6, 0x00e6}, +! {0x00e8, 0x00ea}, +! {0x00ec, 0x00ed}, +! {0x00f0, 0x00f0}, +! {0x00f2, 0x00f3}, +! {0x00f7, 0x00fa}, +! {0x00fc, 0x00fc}, +! {0x00fe, 0x00fe}, +! {0x0101, 0x0101}, +! {0x0111, 0x0111}, +! {0x0113, 0x0113}, +! {0x011b, 0x011b}, +! {0x0126, 0x0127}, +! {0x012b, 0x012b}, +! {0x0131, 0x0133}, +! {0x0138, 0x0138}, +! {0x013f, 0x0142}, +! {0x0144, 0x0144}, +! {0x0148, 0x014b}, +! {0x014d, 0x014d}, +! {0x0152, 0x0153}, +! {0x0166, 0x0167}, +! {0x016b, 0x016b}, +! {0x01ce, 0x01ce}, +! {0x01d0, 0x01d0}, +! {0x01d2, 0x01d2}, +! {0x01d4, 0x01d4}, +! {0x01d6, 0x01d6}, +! {0x01d8, 0x01d8}, +! {0x01da, 0x01da}, +! {0x01dc, 0x01dc}, +! {0x0251, 0x0251}, +! {0x0261, 0x0261}, +! {0x02c4, 0x02c4}, +! {0x02c7, 0x02c7}, +! {0x02c9, 0x02cb}, +! {0x02cd, 0x02cd}, +! {0x02d0, 0x02d0}, +! {0x02d8, 0x02db}, +! {0x02dd, 0x02dd}, +! {0x02df, 0x02df}, +! {0x0391, 0x03a1}, +! {0x03a3, 0x03a9}, +! {0x03b1, 0x03c1}, +! {0x03c3, 0x03c9}, +! {0x0401, 0x0401}, +! {0x0410, 0x044f}, +! {0x0451, 0x0451}, +! {0x2010, 0x2010}, +! {0x2013, 0x2016}, +! {0x2018, 0x2019}, +! {0x201c, 0x201d}, +! {0x2020, 0x2022}, +! {0x2024, 0x2027}, +! {0x2030, 0x2030}, +! {0x2032, 0x2033}, +! {0x2035, 0x2035}, +! {0x203b, 0x203b}, +! {0x203e, 0x203e}, +! {0x2074, 0x2074}, +! {0x207f, 0x207f}, +! {0x2081, 0x2084}, +! {0x20ac, 0x20ac}, +! {0x2103, 0x2103}, +! {0x2105, 0x2105}, +! {0x2109, 0x2109}, +! {0x2113, 0x2113}, +! {0x2116, 0x2116}, +! {0x2121, 0x2122}, +! {0x2126, 0x2126}, +! {0x212b, 0x212b}, +! {0x2153, 0x2154}, +! {0x215b, 0x215e}, +! {0x2160, 0x216b}, +! {0x2170, 0x2179}, +! {0x2189, 0x2189}, +! {0x2190, 0x2199}, +! {0x21b8, 0x21b9}, +! {0x21d2, 0x21d2}, +! {0x21d4, 0x21d4}, +! {0x21e7, 0x21e7}, +! {0x2200, 0x2200}, +! {0x2202, 0x2203}, +! {0x2207, 0x2208}, +! {0x220b, 0x220b}, +! {0x220f, 0x220f}, +! {0x2211, 0x2211}, +! {0x2215, 0x2215}, +! {0x221a, 0x221a}, +! {0x221d, 0x2220}, +! {0x2223, 0x2223}, +! {0x2225, 0x2225}, +! {0x2227, 0x222c}, +! {0x222e, 0x222e}, +! {0x2234, 0x2237}, +! {0x223c, 0x223d}, +! {0x2248, 0x2248}, +! {0x224c, 0x224c}, +! {0x2252, 0x2252}, +! {0x2260, 0x2261}, +! {0x2264, 0x2267}, +! {0x226a, 0x226b}, +! {0x226e, 0x226f}, +! {0x2282, 0x2283}, +! {0x2286, 0x2287}, +! {0x2295, 0x2295}, +! {0x2299, 0x2299}, +! {0x22a5, 0x22a5}, +! {0x22bf, 0x22bf}, +! {0x2312, 0x2312}, +! {0x2460, 0x24e9}, +! {0x24eb, 0x254b}, +! {0x2550, 0x2573}, +! {0x2580, 0x258f}, +! {0x2592, 0x2595}, +! {0x25a0, 0x25a1}, +! {0x25a3, 0x25a9}, +! {0x25b2, 0x25b3}, +! {0x25b6, 0x25b7}, +! {0x25bc, 0x25bd}, +! {0x25c0, 0x25c1}, +! {0x25c6, 0x25c8}, +! {0x25cb, 0x25cb}, +! {0x25ce, 0x25d1}, +! {0x25e2, 0x25e5}, +! {0x25ef, 0x25ef}, +! {0x2605, 0x2606}, +! {0x2609, 0x2609}, +! {0x260e, 0x260f}, +! {0x2614, 0x2615}, +! {0x261c, 0x261c}, +! {0x261e, 0x261e}, +! {0x2640, 0x2640}, +! {0x2642, 0x2642}, +! {0x2660, 0x2661}, +! {0x2663, 0x2665}, +! {0x2667, 0x266a}, +! {0x266c, 0x266d}, +! {0x266f, 0x266f}, +! {0x269e, 0x269f}, +! {0x26be, 0x26bf}, +! {0x26c4, 0x26cd}, +! {0x26cf, 0x26e1}, +! {0x26e3, 0x26e3}, +! {0x26e8, 0x26ff}, +! {0x273d, 0x273d}, +! {0x2757, 0x2757}, +! {0x2776, 0x277f}, +! {0x2b55, 0x2b59}, +! {0x3248, 0x324f}, +! {0xe000, 0xf8ff}, +! {0xfffd, 0xfffd}, +! {0x1f100, 0x1f10a}, +! {0x1f110, 0x1f12d}, +! {0x1f131, 0x1f131}, +! {0x1f13d, 0x1f13d}, +! {0x1f13f, 0x1f13f}, +! {0x1f142, 0x1f142}, +! {0x1f146, 0x1f146}, +! {0x1f14a, 0x1f14e}, +! {0x1f157, 0x1f157}, +! {0x1f15f, 0x1f15f}, +! {0x1f179, 0x1f179}, +! {0x1f17b, 0x1f17c}, +! {0x1f17f, 0x1f17f}, +! {0x1f18a, 0x1f18d}, +! {0x1f190, 0x1f190}, +! {0xf0000, 0xffffd}, +! {0x100000, 0x10fffd} + }; + + if (c >= 0x100) +*************** +*** 1807,1813 **** + return 1; + + /* +! * Check for composing characters. We can handle only the first two, but + * skip all of them (otherwise the cursor would get stuck). + */ + #ifdef FEAT_ARABIC +--- 1936,1942 ---- + return 1; + + /* +! * Check for composing characters. We can handle only the first six, but + * skip all of them (otherwise the cursor would get stuck). + */ + #ifdef FEAT_ARABIC +*************** +*** 1855,1861 **** + return 1; + + /* +! * Check for composing characters. We can handle only the first two, but + * skip all of them (otherwise the cursor would get stuck). + */ + #ifdef FEAT_ARABIC +--- 1984,1990 ---- + return 1; + + /* +! * Check for composing characters. We can handle only the first six, but + * skip all of them (otherwise the cursor would get stuck). + */ + #ifdef FEAT_ARABIC +*************** +*** 1973,2010 **** + utf_iscomposing(c) + int c; + { +! /* sorted list of non-overlapping intervals */ + static struct interval combining[] = + { +! {0x0300, 0x034f}, {0x0360, 0x036f}, {0x0483, 0x0486}, {0x0488, 0x0489}, +! {0x0591, 0x05a1}, {0x05a3, 0x05b9}, {0x05bb, 0x05bd}, {0x05bf, 0x05bf}, +! {0x05c1, 0x05c2}, {0x05c4, 0x05c4}, {0x0610, 0x0615}, {0x064b, 0x0658}, +! {0x0670, 0x0670}, {0x06d6, 0x06dc}, {0x06de, 0x06e4}, {0x06e7, 0x06e8}, +! {0x06ea, 0x06ed}, {0x0711, 0x0711}, {0x0730, 0x074a}, {0x07a6, 0x07b0}, +! {0x0901, 0x0903}, {0x093c, 0x093c}, {0x093e, 0x094d}, {0x0951, 0x0954}, +! {0x0962, 0x0963}, {0x0981, 0x0983}, {0x09bc, 0x09bc}, {0x09be, 0x09c4}, +! {0x09c7, 0x09c8}, {0x09cb, 0x09cd}, {0x09d7, 0x09d7}, {0x09e2, 0x09e3}, +! {0x0a01, 0x0a03}, {0x0a3c, 0x0a3c}, {0x0a3e, 0x0a42}, {0x0a47, 0x0a48}, +! {0x0a4b, 0x0a4d}, {0x0a70, 0x0a71}, {0x0a81, 0x0a83}, {0x0abc, 0x0abc}, +! {0x0abe, 0x0ac5}, {0x0ac7, 0x0ac9}, {0x0acb, 0x0acd}, {0x0ae2, 0x0ae3}, +! {0x0b01, 0x0b03}, {0x0b3c, 0x0b3c}, {0x0b3e, 0x0b43}, {0x0b47, 0x0b48}, +! {0x0b4b, 0x0b4d}, {0x0b56, 0x0b57}, {0x0b82, 0x0b82}, {0x0bbe, 0x0bc2}, +! {0x0bc6, 0x0bc8}, {0x0bca, 0x0bcd}, {0x0bd7, 0x0bd7}, {0x0c01, 0x0c03}, +! {0x0c3e, 0x0c44}, {0x0c46, 0x0c48}, {0x0c4a, 0x0c4d}, {0x0c55, 0x0c56}, +! {0x0c82, 0x0c83}, {0x0cbc, 0x0cbc}, {0x0cbe, 0x0cc4}, {0x0cc6, 0x0cc8}, +! {0x0cca, 0x0ccd}, {0x0cd5, 0x0cd6}, {0x0d02, 0x0d03}, {0x0d3e, 0x0d43}, +! {0x0d46, 0x0d48}, {0x0d4a, 0x0d4d}, {0x0d57, 0x0d57}, {0x0d82, 0x0d83}, +! {0x0dca, 0x0dca}, {0x0dcf, 0x0dd4}, {0x0dd6, 0x0dd6}, {0x0dd8, 0x0ddf}, +! {0x0df2, 0x0df3}, {0x0e31, 0x0e31}, {0x0e34, 0x0e3a}, {0x0e47, 0x0e4e}, +! {0x0eb1, 0x0eb1}, {0x0eb4, 0x0eb9}, {0x0ebb, 0x0ebc}, {0x0ec8, 0x0ecd}, +! {0x0f18, 0x0f19}, {0x0f35, 0x0f35}, {0x0f37, 0x0f37}, {0x0f39, 0x0f39}, +! {0x0f3e, 0x0f3f}, {0x0f71, 0x0f84}, {0x0f86, 0x0f87}, {0x0f90, 0x0f97}, +! {0x0f99, 0x0fbc}, {0x0fc6, 0x0fc6}, {0x102c, 0x1032}, {0x1036, 0x1039}, +! {0x1056, 0x1059}, {0x1712, 0x1714}, {0x1732, 0x1734}, {0x1752, 0x1753}, +! {0x1772, 0x1773}, {0x17b6, 0x17d3}, {0x17dd, 0x17dd}, {0x180b, 0x180d}, +! {0x18a9, 0x18a9}, {0x1920, 0x192b}, {0x1930, 0x193b}, {0x20d0, 0x20ea}, +! {0x302a, 0x302f}, {0x3099, 0x309a}, {0xfb1e, 0xfb1e}, {0xfe00, 0xfe0f}, +! {0xfe20, 0xfe23}, + }; + + return intable(combining, sizeof(combining), c); +--- 2102,2299 ---- + utf_iscomposing(c) + int c; + { +! /* Sorted list of non-overlapping intervals. +! * Generated by ../runtime/tools/unicode.vim. */ + static struct interval combining[] = + { +! {0x0300, 0x036f}, +! {0x0483, 0x0489}, +! {0x0591, 0x05bd}, +! {0x05bf, 0x05bf}, +! {0x05c1, 0x05c2}, +! {0x05c4, 0x05c5}, +! {0x05c7, 0x05c7}, +! {0x0610, 0x061a}, +! {0x064b, 0x065e}, +! {0x0670, 0x0670}, +! {0x06d6, 0x06dc}, +! {0x06de, 0x06e4}, +! {0x06e7, 0x06e8}, +! {0x06ea, 0x06ed}, +! {0x0711, 0x0711}, +! {0x0730, 0x074a}, +! {0x07a6, 0x07b0}, +! {0x07eb, 0x07f3}, +! {0x0816, 0x0819}, +! {0x081b, 0x0823}, +! {0x0825, 0x0827}, +! {0x0829, 0x082d}, +! {0x0900, 0x0903}, +! {0x093c, 0x093c}, +! {0x093e, 0x094e}, +! {0x0951, 0x0955}, +! {0x0962, 0x0963}, +! {0x0981, 0x0983}, +! {0x09bc, 0x09bc}, +! {0x09be, 0x09c4}, +! {0x09c7, 0x09c8}, +! {0x09cb, 0x09cd}, +! {0x09d7, 0x09d7}, +! {0x09e2, 0x09e3}, +! {0x0a01, 0x0a03}, +! {0x0a3c, 0x0a3c}, +! {0x0a3e, 0x0a42}, +! {0x0a47, 0x0a48}, +! {0x0a4b, 0x0a4d}, +! {0x0a51, 0x0a51}, +! {0x0a70, 0x0a71}, +! {0x0a75, 0x0a75}, +! {0x0a81, 0x0a83}, +! {0x0abc, 0x0abc}, +! {0x0abe, 0x0ac5}, +! {0x0ac7, 0x0ac9}, +! {0x0acb, 0x0acd}, +! {0x0ae2, 0x0ae3}, +! {0x0b01, 0x0b03}, +! {0x0b3c, 0x0b3c}, +! {0x0b3e, 0x0b44}, +! {0x0b47, 0x0b48}, +! {0x0b4b, 0x0b4d}, +! {0x0b56, 0x0b57}, +! {0x0b62, 0x0b63}, +! {0x0b82, 0x0b82}, +! {0x0bbe, 0x0bc2}, +! {0x0bc6, 0x0bc8}, +! {0x0bca, 0x0bcd}, +! {0x0bd7, 0x0bd7}, +! {0x0c01, 0x0c03}, +! {0x0c3e, 0x0c44}, +! {0x0c46, 0x0c48}, +! {0x0c4a, 0x0c4d}, +! {0x0c55, 0x0c56}, +! {0x0c62, 0x0c63}, +! {0x0c82, 0x0c83}, +! {0x0cbc, 0x0cbc}, +! {0x0cbe, 0x0cc4}, +! {0x0cc6, 0x0cc8}, +! {0x0cca, 0x0ccd}, +! {0x0cd5, 0x0cd6}, +! {0x0ce2, 0x0ce3}, +! {0x0d02, 0x0d03}, +! {0x0d3e, 0x0d44}, +! {0x0d46, 0x0d48}, +! {0x0d4a, 0x0d4d}, +! {0x0d57, 0x0d57}, +! {0x0d62, 0x0d63}, +! {0x0d82, 0x0d83}, +! {0x0dca, 0x0dca}, +! {0x0dcf, 0x0dd4}, +! {0x0dd6, 0x0dd6}, +! {0x0dd8, 0x0ddf}, +! {0x0df2, 0x0df3}, +! {0x0e31, 0x0e31}, +! {0x0e34, 0x0e3a}, +! {0x0e47, 0x0e4e}, +! {0x0eb1, 0x0eb1}, +! {0x0eb4, 0x0eb9}, +! {0x0ebb, 0x0ebc}, +! {0x0ec8, 0x0ecd}, +! {0x0f18, 0x0f19}, +! {0x0f35, 0x0f35}, +! {0x0f37, 0x0f37}, +! {0x0f39, 0x0f39}, +! {0x0f3e, 0x0f3f}, +! {0x0f71, 0x0f84}, +! {0x0f86, 0x0f87}, +! {0x0f90, 0x0f97}, +! {0x0f99, 0x0fbc}, +! {0x0fc6, 0x0fc6}, +! {0x102b, 0x103e}, +! {0x1056, 0x1059}, +! {0x105e, 0x1060}, +! {0x1062, 0x1064}, +! {0x1067, 0x106d}, +! {0x1071, 0x1074}, +! {0x1082, 0x108d}, +! {0x108f, 0x108f}, +! {0x109a, 0x109d}, +! {0x135f, 0x135f}, +! {0x1712, 0x1714}, +! {0x1732, 0x1734}, +! {0x1752, 0x1753}, +! {0x1772, 0x1773}, +! {0x17b6, 0x17d3}, +! {0x17dd, 0x17dd}, +! {0x180b, 0x180d}, +! {0x18a9, 0x18a9}, +! {0x1920, 0x192b}, +! {0x1930, 0x193b}, +! {0x19b0, 0x19c0}, +! {0x19c8, 0x19c9}, +! {0x1a17, 0x1a1b}, +! {0x1a55, 0x1a5e}, +! {0x1a60, 0x1a7c}, +! {0x1a7f, 0x1a7f}, +! {0x1b00, 0x1b04}, +! {0x1b34, 0x1b44}, +! {0x1b6b, 0x1b73}, +! {0x1b80, 0x1b82}, +! {0x1ba1, 0x1baa}, +! {0x1c24, 0x1c37}, +! {0x1cd0, 0x1cd2}, +! {0x1cd4, 0x1ce8}, +! {0x1ced, 0x1ced}, +! {0x1cf2, 0x1cf2}, +! {0x1dc0, 0x1de6}, +! {0x1dfd, 0x1dff}, +! {0x20d0, 0x20f0}, +! {0x2cef, 0x2cf1}, +! {0x2de0, 0x2dff}, +! {0x302a, 0x302f}, +! {0x3099, 0x309a}, +! {0xa66f, 0xa672}, +! {0xa67c, 0xa67d}, +! {0xa6f0, 0xa6f1}, +! {0xa802, 0xa802}, +! {0xa806, 0xa806}, +! {0xa80b, 0xa80b}, +! {0xa823, 0xa827}, +! {0xa880, 0xa881}, +! {0xa8b4, 0xa8c4}, +! {0xa8e0, 0xa8f1}, +! {0xa926, 0xa92d}, +! {0xa947, 0xa953}, +! {0xa980, 0xa983}, +! {0xa9b3, 0xa9c0}, +! {0xaa29, 0xaa36}, +! {0xaa43, 0xaa43}, +! {0xaa4c, 0xaa4d}, +! {0xaa7b, 0xaa7b}, +! {0xaab0, 0xaab0}, +! {0xaab2, 0xaab4}, +! {0xaab7, 0xaab8}, +! {0xaabe, 0xaabf}, +! {0xaac1, 0xaac1}, +! {0xabe3, 0xabea}, +! {0xabec, 0xabed}, +! {0xfb1e, 0xfb1e}, +! {0xfe00, 0xfe0f}, +! {0xfe20, 0xfe26}, +! {0x101fd, 0x101fd}, +! {0x10a01, 0x10a03}, +! {0x10a05, 0x10a06}, +! {0x10a0c, 0x10a0f}, +! {0x10a38, 0x10a3a}, +! {0x10a3f, 0x10a3f}, +! {0x11080, 0x11082}, +! {0x110b0, 0x110ba}, +! {0x1d165, 0x1d169}, +! {0x1d16d, 0x1d172}, +! {0x1d17b, 0x1d182}, +! {0x1d185, 0x1d18b}, +! {0x1d1aa, 0x1d1ad}, +! {0x1d242, 0x1d244}, +! {0xe0100, 0xe01ef} + }; + + return intable(combining, sizeof(combining), c); +*************** +*** 2152,2166 **** + * Code for Unicode case-dependent operations. Based on notes in + * http://www.unicode.org/Public/UNIDATA/CaseFolding.txt + * This code uses simple case folding, not full case folding. + */ + + /* +! * The following table is built by foldExtract.pl < CaseFolding.txt . +! * It must be in numeric order, because we use binary search on it. +! * An entry such as {0x41,0x5a,1,32} means that UCS-4 characters in the range +! * from 0x41 to 0x5a inclusive, stepping by 1, are folded by adding 32. + */ +- + typedef struct + { + int rangeStart; +--- 2441,2456 ---- + * Code for Unicode case-dependent operations. Based on notes in + * http://www.unicode.org/Public/UNIDATA/CaseFolding.txt + * This code uses simple case folding, not full case folding. ++ * Last updated for Unicode 5.2. + */ + + /* +! * The following tables are built by ../runtime/tools/unicode.vim. +! * They must be in numeric order, because we use binary search. +! * An entry such as {0x41,0x5a,1,32} means that Unicode characters in the +! * range from 0x41 to 0x5a inclusive, stepping by 1, are changed to +! * folded/upper/lower by adding 32. + */ + typedef struct + { + int rangeStart; +*************** +*** 2171,2211 **** + + static convertStruct foldCase[] = + { +! {0x41,0x5a,1,32}, {0xc0,0xd6,1,32}, {0xd8,0xde,1,32}, +! {0x100,0x12e,2,1}, {0x130,0x130,-1,-199}, {0x132,0x136,2,1}, +! {0x139,0x147,2,1}, {0x14a,0x176,2,1}, {0x178,0x178,-1,-121}, +! {0x179,0x17d,2,1}, {0x181,0x181,-1,210}, {0x182,0x184,2,1}, +! {0x186,0x186,-1,206}, {0x187,0x187,-1,1}, {0x189,0x18a,1,205}, +! {0x18b,0x18b,-1,1}, {0x18e,0x18e,-1,79}, {0x18f,0x18f,-1,202}, +! {0x190,0x190,-1,203}, {0x191,0x191,-1,1}, {0x193,0x193,-1,205}, +! {0x194,0x194,-1,207}, {0x196,0x196,-1,211}, {0x197,0x197,-1,209}, +! {0x198,0x198,-1,1}, {0x19c,0x19c,-1,211}, {0x19d,0x19d,-1,213}, +! {0x19f,0x19f,-1,214}, {0x1a0,0x1a4,2,1}, {0x1a6,0x1a6,-1,218}, +! {0x1a7,0x1a7,-1,1}, {0x1a9,0x1a9,-1,218}, {0x1ac,0x1ac,-1,1}, +! {0x1ae,0x1ae,-1,218}, {0x1af,0x1af,-1,1}, {0x1b1,0x1b2,1,217}, +! {0x1b3,0x1b5,2,1}, {0x1b7,0x1b7,-1,219}, {0x1b8,0x1bc,4,1}, +! {0x1c4,0x1c4,-1,2}, {0x1c5,0x1c5,-1,1}, {0x1c7,0x1c7,-1,2}, +! {0x1c8,0x1c8,-1,1}, {0x1ca,0x1ca,-1,2}, {0x1cb,0x1db,2,1}, +! {0x1de,0x1ee,2,1}, {0x1f1,0x1f1,-1,2}, {0x1f2,0x1f4,2,1}, +! {0x1f6,0x1f6,-1,-97}, {0x1f7,0x1f7,-1,-56}, {0x1f8,0x21e,2,1}, +! {0x220,0x220,-1,-130}, {0x222,0x232,2,1}, {0x386,0x386,-1,38}, +! {0x388,0x38a,1,37}, {0x38c,0x38c,-1,64}, {0x38e,0x38f,1,63}, +! {0x391,0x3a1,1,32}, {0x3a3,0x3ab,1,32}, {0x3d8,0x3ee,2,1}, +! {0x3f4,0x3f4,-1,-60}, {0x3f7,0x3f7,-1,1}, {0x3f9,0x3f9,-1,-7}, +! {0x3fa,0x3fa,-1,1}, {0x400,0x40f,1,80}, {0x410,0x42f,1,32}, +! {0x460,0x480,2,1}, {0x48a,0x4be,2,1}, {0x4c1,0x4cd,2,1}, +! {0x4d0,0x4f4,2,1}, {0x4f8,0x500,8,1}, {0x502,0x50e,2,1}, +! {0x531,0x556,1,48}, {0x1e00,0x1e94,2,1}, {0x1ea0,0x1ef8,2,1}, +! {0x1f08,0x1f0f,1,-8}, {0x1f18,0x1f1d,1,-8}, {0x1f28,0x1f2f,1,-8}, +! {0x1f38,0x1f3f,1,-8}, {0x1f48,0x1f4d,1,-8}, {0x1f59,0x1f5f,2,-8}, +! {0x1f68,0x1f6f,1,-8}, {0x1f88,0x1f8f,1,-8}, {0x1f98,0x1f9f,1,-8}, +! {0x1fa8,0x1faf,1,-8}, {0x1fb8,0x1fb9,1,-8}, {0x1fba,0x1fbb,1,-74}, +! {0x1fbc,0x1fbc,-1,-9}, {0x1fc8,0x1fcb,1,-86}, {0x1fcc,0x1fcc,-1,-9}, +! {0x1fd8,0x1fd9,1,-8}, {0x1fda,0x1fdb,1,-100}, {0x1fe8,0x1fe9,1,-8}, +! {0x1fea,0x1feb,1,-112}, {0x1fec,0x1fec,-1,-7}, {0x1ff8,0x1ff9,1,-128}, +! {0x1ffa,0x1ffb,1,-126}, {0x1ffc,0x1ffc,-1,-9}, {0x2126,0x2126,-1,-7517}, +! {0x212a,0x212a,-1,-8383}, {0x212b,0x212b,-1,-8262}, +! {0x2160,0x216f,1,16}, {0x24b6,0x24cf,1,26}, {0xff21,0xff3a,1,32}, + {0x10400,0x10427,1,40} + }; + +--- 2461,2621 ---- + + static convertStruct foldCase[] = + { +! {0x41,0x5a,1,32}, +! {0xb5,0xb5,-1,775}, +! {0xc0,0xd6,1,32}, +! {0xd8,0xde,1,32}, +! {0x100,0x12e,2,1}, +! {0x132,0x136,2,1}, +! {0x139,0x147,2,1}, +! {0x14a,0x176,2,1}, +! {0x178,0x178,-1,-121}, +! {0x179,0x17d,2,1}, +! {0x17f,0x17f,-1,-268}, +! {0x181,0x181,-1,210}, +! {0x182,0x184,2,1}, +! {0x186,0x186,-1,206}, +! {0x187,0x187,-1,1}, +! {0x189,0x18a,1,205}, +! {0x18b,0x18b,-1,1}, +! {0x18e,0x18e,-1,79}, +! {0x18f,0x18f,-1,202}, +! {0x190,0x190,-1,203}, +! {0x191,0x191,-1,1}, +! {0x193,0x193,-1,205}, +! {0x194,0x194,-1,207}, +! {0x196,0x196,-1,211}, +! {0x197,0x197,-1,209}, +! {0x198,0x198,-1,1}, +! {0x19c,0x19c,-1,211}, +! {0x19d,0x19d,-1,213}, +! {0x19f,0x19f,-1,214}, +! {0x1a0,0x1a4,2,1}, +! {0x1a6,0x1a6,-1,218}, +! {0x1a7,0x1a7,-1,1}, +! {0x1a9,0x1a9,-1,218}, +! {0x1ac,0x1ac,-1,1}, +! {0x1ae,0x1ae,-1,218}, +! {0x1af,0x1af,-1,1}, +! {0x1b1,0x1b2,1,217}, +! {0x1b3,0x1b5,2,1}, +! {0x1b7,0x1b7,-1,219}, +! {0x1b8,0x1bc,4,1}, +! {0x1c4,0x1c4,-1,2}, +! {0x1c5,0x1c5,-1,1}, +! {0x1c7,0x1c7,-1,2}, +! {0x1c8,0x1c8,-1,1}, +! {0x1ca,0x1ca,-1,2}, +! {0x1cb,0x1db,2,1}, +! {0x1de,0x1ee,2,1}, +! {0x1f1,0x1f1,-1,2}, +! {0x1f2,0x1f4,2,1}, +! {0x1f6,0x1f6,-1,-97}, +! {0x1f7,0x1f7,-1,-56}, +! {0x1f8,0x21e,2,1}, +! {0x220,0x220,-1,-130}, +! {0x222,0x232,2,1}, +! {0x23a,0x23a,-1,10795}, +! {0x23b,0x23b,-1,1}, +! {0x23d,0x23d,-1,-163}, +! {0x23e,0x23e,-1,10792}, +! {0x241,0x241,-1,1}, +! {0x243,0x243,-1,-195}, +! {0x244,0x244,-1,69}, +! {0x245,0x245,-1,71}, +! {0x246,0x24e,2,1}, +! {0x345,0x345,-1,116}, +! {0x370,0x372,2,1}, +! {0x376,0x376,-1,1}, +! {0x386,0x386,-1,38}, +! {0x388,0x38a,1,37}, +! {0x38c,0x38c,-1,64}, +! {0x38e,0x38f,1,63}, +! {0x391,0x3a1,1,32}, +! {0x3a3,0x3ab,1,32}, +! {0x3c2,0x3c2,-1,1}, +! {0x3cf,0x3cf,-1,8}, +! {0x3d0,0x3d0,-1,-30}, +! {0x3d1,0x3d1,-1,-25}, +! {0x3d5,0x3d5,-1,-15}, +! {0x3d6,0x3d6,-1,-22}, +! {0x3d8,0x3ee,2,1}, +! {0x3f0,0x3f0,-1,-54}, +! {0x3f1,0x3f1,-1,-48}, +! {0x3f4,0x3f4,-1,-60}, +! {0x3f5,0x3f5,-1,-64}, +! {0x3f7,0x3f7,-1,1}, +! {0x3f9,0x3f9,-1,-7}, +! {0x3fa,0x3fa,-1,1}, +! {0x3fd,0x3ff,1,-130}, +! {0x400,0x40f,1,80}, +! {0x410,0x42f,1,32}, +! {0x460,0x480,2,1}, +! {0x48a,0x4be,2,1}, +! {0x4c0,0x4c0,-1,15}, +! {0x4c1,0x4cd,2,1}, +! {0x4d0,0x524,2,1}, +! {0x531,0x556,1,48}, +! {0x10a0,0x10c5,1,7264}, +! {0x1e00,0x1e94,2,1}, +! {0x1e9b,0x1e9b,-1,-58}, +! {0x1e9e,0x1e9e,-1,-7615}, +! {0x1ea0,0x1efe,2,1}, +! {0x1f08,0x1f0f,1,-8}, +! {0x1f18,0x1f1d,1,-8}, +! {0x1f28,0x1f2f,1,-8}, +! {0x1f38,0x1f3f,1,-8}, +! {0x1f48,0x1f4d,1,-8}, +! {0x1f59,0x1f5f,2,-8}, +! {0x1f68,0x1f6f,1,-8}, +! {0x1f88,0x1f8f,1,-8}, +! {0x1f98,0x1f9f,1,-8}, +! {0x1fa8,0x1faf,1,-8}, +! {0x1fb8,0x1fb9,1,-8}, +! {0x1fba,0x1fbb,1,-74}, +! {0x1fbc,0x1fbc,-1,-9}, +! {0x1fbe,0x1fbe,-1,-7173}, +! {0x1fc8,0x1fcb,1,-86}, +! {0x1fcc,0x1fcc,-1,-9}, +! {0x1fd8,0x1fd9,1,-8}, +! {0x1fda,0x1fdb,1,-100}, +! {0x1fe8,0x1fe9,1,-8}, +! {0x1fea,0x1feb,1,-112}, +! {0x1fec,0x1fec,-1,-7}, +! {0x1ff8,0x1ff9,1,-128}, +! {0x1ffa,0x1ffb,1,-126}, +! {0x1ffc,0x1ffc,-1,-9}, +! {0x2126,0x2126,-1,-7517}, +! {0x212a,0x212a,-1,-8383}, +! {0x212b,0x212b,-1,-8262}, +! {0x2132,0x2132,-1,28}, +! {0x2160,0x216f,1,16}, +! {0x2183,0x2183,-1,1}, +! {0x24b6,0x24cf,1,26}, +! {0x2c00,0x2c2e,1,48}, +! {0x2c60,0x2c60,-1,1}, +! {0x2c62,0x2c62,-1,-10743}, +! {0x2c63,0x2c63,-1,-3814}, +! {0x2c64,0x2c64,-1,-10727}, +! {0x2c67,0x2c6b,2,1}, +! {0x2c6d,0x2c6d,-1,-10780}, +! {0x2c6e,0x2c6e,-1,-10749}, +! {0x2c6f,0x2c6f,-1,-10783}, +! {0x2c70,0x2c70,-1,-10782}, +! {0x2c72,0x2c75,3,1}, +! {0x2c7e,0x2c7f,1,-10815}, +! {0x2c80,0x2ce2,2,1}, +! {0x2ceb,0x2ced,2,1}, +! {0xa640,0xa65e,2,1}, +! {0xa662,0xa66c,2,1}, +! {0xa680,0xa696,2,1}, +! {0xa722,0xa72e,2,1}, +! {0xa732,0xa76e,2,1}, +! {0xa779,0xa77b,2,1}, +! {0xa77d,0xa77d,-1,-35332}, +! {0xa77e,0xa786,2,1}, +! {0xa78b,0xa78b,-1,1}, +! {0xff21,0xff3a,1,32}, + {0x10400,0x10427,1,40} + }; + +*************** +*** 2253,2337 **** + return utf_convert(a, foldCase, sizeof(foldCase)); + } + +- /* +- * The following tables are built by upperLowerExtract.pl < UnicodeData.txt . +- * They must be in numeric order, because we use binary search on them. +- * An entry such as {0x41,0x5a,1,32} means that UCS-4 characters in the range +- * from 0x41 to 0x5a inclusive, stepping by 1, are switched to lower (for +- * example) by adding 32. +- */ + static convertStruct toLower[] = + { +! {0x41,0x5a,1,32}, {0xc0,0xd6,1,32}, {0xd8,0xde,1,32}, +! {0x100,0x12e,2,1}, {0x130,0x130,-1,-199}, {0x132,0x136,2,1}, +! {0x139,0x147,2,1}, {0x14a,0x176,2,1}, {0x178,0x178,-1,-121}, +! {0x179,0x17d,2,1}, {0x181,0x181,-1,210}, {0x182,0x184,2,1}, +! {0x186,0x186,-1,206}, {0x187,0x187,-1,1}, {0x189,0x18a,1,205}, +! {0x18b,0x18b,-1,1}, {0x18e,0x18e,-1,79}, {0x18f,0x18f,-1,202}, +! {0x190,0x190,-1,203}, {0x191,0x191,-1,1}, {0x193,0x193,-1,205}, +! {0x194,0x194,-1,207}, {0x196,0x196,-1,211}, {0x197,0x197,-1,209}, +! {0x198,0x198,-1,1}, {0x19c,0x19c,-1,211}, {0x19d,0x19d,-1,213}, +! {0x19f,0x19f,-1,214}, {0x1a0,0x1a4,2,1}, {0x1a6,0x1a6,-1,218}, +! {0x1a7,0x1a7,-1,1}, {0x1a9,0x1a9,-1,218}, {0x1ac,0x1ac,-1,1}, +! {0x1ae,0x1ae,-1,218}, {0x1af,0x1af,-1,1}, {0x1b1,0x1b2,1,217}, +! {0x1b3,0x1b5,2,1}, {0x1b7,0x1b7,-1,219}, {0x1b8,0x1bc,4,1}, +! {0x1c4,0x1ca,3,2}, {0x1cd,0x1db,2,1}, {0x1de,0x1ee,2,1}, +! {0x1f1,0x1f1,-1,2}, {0x1f4,0x1f4,-1,1}, {0x1f6,0x1f6,-1,-97}, +! {0x1f7,0x1f7,-1,-56}, {0x1f8,0x21e,2,1}, {0x220,0x220,-1,-130}, +! {0x222,0x232,2,1}, {0x386,0x386,-1,38}, {0x388,0x38a,1,37}, +! {0x38c,0x38c,-1,64}, {0x38e,0x38f,1,63}, {0x391,0x3a1,1,32}, +! {0x3a3,0x3ab,1,32}, {0x3d8,0x3ee,2,1}, {0x3f4,0x3f4,-1,-60}, +! {0x3f7,0x3f7,-1,1}, {0x3f9,0x3f9,-1,-7}, {0x3fa,0x3fa,-1,1}, +! {0x400,0x40f,1,80}, {0x410,0x42f,1,32}, {0x460,0x480,2,1}, +! {0x48a,0x4be,2,1}, {0x4c1,0x4cd,2,1}, {0x4d0,0x4f4,2,1}, +! {0x4f8,0x500,8,1}, {0x502,0x50e,2,1}, {0x531,0x556,1,48}, +! {0x1e00,0x1e94,2,1}, {0x1ea0,0x1ef8,2,1}, {0x1f08,0x1f0f,1,-8}, +! {0x1f18,0x1f1d,1,-8}, {0x1f28,0x1f2f,1,-8}, {0x1f38,0x1f3f,1,-8}, +! {0x1f48,0x1f4d,1,-8}, {0x1f59,0x1f5f,2,-8}, {0x1f68,0x1f6f,1,-8}, +! {0x1fb8,0x1fb9,1,-8}, {0x1fba,0x1fbb,1,-74}, {0x1fc8,0x1fcb,1,-86}, +! {0x1fd8,0x1fd9,1,-8}, {0x1fda,0x1fdb,1,-100}, {0x1fe8,0x1fe9,1,-8}, +! {0x1fea,0x1feb,1,-112}, {0x1fec,0x1fec,-1,-7}, {0x1ff8,0x1ff9,1,-128}, +! {0x1ffa,0x1ffb,1,-126}, {0x2126,0x2126,-1,-7517}, {0x212a,0x212a,-1,-8383}, +! {0x212b,0x212b,-1,-8262}, {0xff21,0xff3a,1,32}, {0x10400,0x10427,1,40} + }; + + static convertStruct toUpper[] = + { +! {0x61,0x7a,1,-32}, {0xb5,0xb5,-1,743}, {0xe0,0xf6,1,-32}, +! {0xf8,0xfe,1,-32}, {0xff,0xff,-1,121}, {0x101,0x12f,2,-1}, +! {0x131,0x131,-1,-232}, {0x133,0x137,2,-1}, {0x13a,0x148,2,-1}, +! {0x14b,0x177,2,-1}, {0x17a,0x17e,2,-1}, {0x17f,0x17f,-1,-300}, +! {0x183,0x185,2,-1}, {0x188,0x18c,4,-1}, {0x192,0x192,-1,-1}, +! {0x195,0x195,-1,97}, {0x199,0x199,-1,-1}, {0x19e,0x19e,-1,130}, +! {0x1a1,0x1a5,2,-1}, {0x1a8,0x1ad,5,-1}, {0x1b0,0x1b4,4,-1}, +! {0x1b6,0x1b9,3,-1}, {0x1bd,0x1bd,-1,-1}, {0x1bf,0x1bf,-1,56}, +! {0x1c5,0x1c6,1,-1}, {0x1c8,0x1c9,1,-1}, {0x1cb,0x1cc,1,-1}, +! {0x1ce,0x1dc,2,-1}, {0x1dd,0x1dd,-1,-79}, {0x1df,0x1ef,2,-1}, +! {0x1f2,0x1f3,1,-1}, {0x1f5,0x1f9,4,-1}, {0x1fb,0x21f,2,-1}, +! {0x223,0x233,2,-1}, {0x253,0x253,-1,-210}, {0x254,0x254,-1,-206}, +! {0x256,0x257,1,-205}, {0x259,0x259,-1,-202}, {0x25b,0x25b,-1,-203}, +! {0x260,0x260,-1,-205}, {0x263,0x263,-1,-207}, {0x268,0x268,-1,-209}, +! {0x269,0x26f,6,-211}, {0x272,0x272,-1,-213}, {0x275,0x275,-1,-214}, +! {0x280,0x283,3,-218}, {0x288,0x288,-1,-218}, {0x28a,0x28b,1,-217}, +! {0x292,0x292,-1,-219}, {0x3ac,0x3ac,-1,-38}, {0x3ad,0x3af,1,-37}, +! {0x3b1,0x3c1,1,-32}, {0x3c2,0x3c2,-1,-31}, {0x3c3,0x3cb,1,-32}, +! {0x3cc,0x3cc,-1,-64}, {0x3cd,0x3ce,1,-63}, {0x3d0,0x3d0,-1,-62}, +! {0x3d1,0x3d1,-1,-57}, {0x3d5,0x3d5,-1,-47}, {0x3d6,0x3d6,-1,-54}, +! {0x3d9,0x3ef,2,-1}, {0x3f0,0x3f0,-1,-86}, {0x3f1,0x3f1,-1,-80}, +! {0x3f2,0x3f2,-1,7}, {0x3f5,0x3f5,-1,-96}, {0x3f8,0x3fb,3,-1}, +! {0x430,0x44f,1,-32}, {0x450,0x45f,1,-80}, {0x461,0x481,2,-1}, +! {0x48b,0x4bf,2,-1}, {0x4c2,0x4ce,2,-1}, {0x4d1,0x4f5,2,-1}, +! {0x4f9,0x501,8,-1}, {0x503,0x50f,2,-1}, {0x561,0x586,1,-48}, +! {0x1e01,0x1e95,2,-1}, {0x1e9b,0x1e9b,-1,-59}, {0x1ea1,0x1ef9,2,-1}, +! {0x1f00,0x1f07,1,8}, {0x1f10,0x1f15,1,8}, {0x1f20,0x1f27,1,8}, +! {0x1f30,0x1f37,1,8}, {0x1f40,0x1f45,1,8}, {0x1f51,0x1f57,2,8}, +! {0x1f60,0x1f67,1,8}, {0x1f70,0x1f71,1,74}, {0x1f72,0x1f75,1,86}, +! {0x1f76,0x1f77,1,100}, {0x1f78,0x1f79,1,128}, {0x1f7a,0x1f7b,1,112}, +! {0x1f7c,0x1f7d,1,126}, {0x1f80,0x1f87,1,8}, {0x1f90,0x1f97,1,8}, +! {0x1fa0,0x1fa7,1,8}, {0x1fb0,0x1fb1,1,8}, {0x1fb3,0x1fb3,-1,9}, +! {0x1fbe,0x1fbe,-1,-7205}, {0x1fc3,0x1fc3,-1,9}, {0x1fd0,0x1fd1,1,8}, +! {0x1fe0,0x1fe1,1,8}, {0x1fe5,0x1fe5,-1,7}, {0x1ff3,0x1ff3,-1,9}, +! {0xff41,0xff5a,1,-32}, {0x10428,0x1044f,1,-40} + }; + + /* +--- 2663,2968 ---- + return utf_convert(a, foldCase, sizeof(foldCase)); + } + + static convertStruct toLower[] = + { +! {0x41,0x5a,1,32}, +! {0xc0,0xd6,1,32}, +! {0xd8,0xde,1,32}, +! {0x100,0x12e,2,1}, +! {0x130,0x130,-1,-199}, +! {0x132,0x136,2,1}, +! {0x139,0x147,2,1}, +! {0x14a,0x176,2,1}, +! {0x178,0x178,-1,-121}, +! {0x179,0x17d,2,1}, +! {0x181,0x181,-1,210}, +! {0x182,0x184,2,1}, +! {0x186,0x186,-1,206}, +! {0x187,0x187,-1,1}, +! {0x189,0x18a,1,205}, +! {0x18b,0x18b,-1,1}, +! {0x18e,0x18e,-1,79}, +! {0x18f,0x18f,-1,202}, +! {0x190,0x190,-1,203}, +! {0x191,0x191,-1,1}, +! {0x193,0x193,-1,205}, +! {0x194,0x194,-1,207}, +! {0x196,0x196,-1,211}, +! {0x197,0x197,-1,209}, +! {0x198,0x198,-1,1}, +! {0x19c,0x19c,-1,211}, +! {0x19d,0x19d,-1,213}, +! {0x19f,0x19f,-1,214}, +! {0x1a0,0x1a4,2,1}, +! {0x1a6,0x1a6,-1,218}, +! {0x1a7,0x1a7,-1,1}, +! {0x1a9,0x1a9,-1,218}, +! {0x1ac,0x1ac,-1,1}, +! {0x1ae,0x1ae,-1,218}, +! {0x1af,0x1af,-1,1}, +! {0x1b1,0x1b2,1,217}, +! {0x1b3,0x1b5,2,1}, +! {0x1b7,0x1b7,-1,219}, +! {0x1b8,0x1bc,4,1}, +! {0x1c4,0x1c4,-1,2}, +! {0x1c5,0x1c5,-1,1}, +! {0x1c7,0x1c7,-1,2}, +! {0x1c8,0x1c8,-1,1}, +! {0x1ca,0x1ca,-1,2}, +! {0x1cb,0x1db,2,1}, +! {0x1de,0x1ee,2,1}, +! {0x1f1,0x1f1,-1,2}, +! {0x1f2,0x1f4,2,1}, +! {0x1f6,0x1f6,-1,-97}, +! {0x1f7,0x1f7,-1,-56}, +! {0x1f8,0x21e,2,1}, +! {0x220,0x220,-1,-130}, +! {0x222,0x232,2,1}, +! {0x23a,0x23a,-1,10795}, +! {0x23b,0x23b,-1,1}, +! {0x23d,0x23d,-1,-163}, +! {0x23e,0x23e,-1,10792}, +! {0x241,0x241,-1,1}, +! {0x243,0x243,-1,-195}, +! {0x244,0x244,-1,69}, +! {0x245,0x245,-1,71}, +! {0x246,0x24e,2,1}, +! {0x370,0x372,2,1}, +! {0x376,0x376,-1,1}, +! {0x386,0x386,-1,38}, +! {0x388,0x38a,1,37}, +! {0x38c,0x38c,-1,64}, +! {0x38e,0x38f,1,63}, +! {0x391,0x3a1,1,32}, +! {0x3a3,0x3ab,1,32}, +! {0x3cf,0x3cf,-1,8}, +! {0x3d8,0x3ee,2,1}, +! {0x3f4,0x3f4,-1,-60}, +! {0x3f7,0x3f7,-1,1}, +! {0x3f9,0x3f9,-1,-7}, +! {0x3fa,0x3fa,-1,1}, +! {0x3fd,0x3ff,1,-130}, +! {0x400,0x40f,1,80}, +! {0x410,0x42f,1,32}, +! {0x460,0x480,2,1}, +! {0x48a,0x4be,2,1}, +! {0x4c0,0x4c0,-1,15}, +! {0x4c1,0x4cd,2,1}, +! {0x4d0,0x524,2,1}, +! {0x531,0x556,1,48}, +! {0x10a0,0x10c5,1,7264}, +! {0x1e00,0x1e94,2,1}, +! {0x1e9e,0x1e9e,-1,-7615}, +! {0x1ea0,0x1efe,2,1}, +! {0x1f08,0x1f0f,1,-8}, +! {0x1f18,0x1f1d,1,-8}, +! {0x1f28,0x1f2f,1,-8}, +! {0x1f38,0x1f3f,1,-8}, +! {0x1f48,0x1f4d,1,-8}, +! {0x1f59,0x1f5f,2,-8}, +! {0x1f68,0x1f6f,1,-8}, +! {0x1f88,0x1f8f,1,-8}, +! {0x1f98,0x1f9f,1,-8}, +! {0x1fa8,0x1faf,1,-8}, +! {0x1fb8,0x1fb9,1,-8}, +! {0x1fba,0x1fbb,1,-74}, +! {0x1fbc,0x1fbc,-1,-9}, +! {0x1fc8,0x1fcb,1,-86}, +! {0x1fcc,0x1fcc,-1,-9}, +! {0x1fd8,0x1fd9,1,-8}, +! {0x1fda,0x1fdb,1,-100}, +! {0x1fe8,0x1fe9,1,-8}, +! {0x1fea,0x1feb,1,-112}, +! {0x1fec,0x1fec,-1,-7}, +! {0x1ff8,0x1ff9,1,-128}, +! {0x1ffa,0x1ffb,1,-126}, +! {0x1ffc,0x1ffc,-1,-9}, +! {0x2126,0x2126,-1,-7517}, +! {0x212a,0x212a,-1,-8383}, +! {0x212b,0x212b,-1,-8262}, +! {0x2132,0x2132,-1,28}, +! {0x2160,0x216f,1,16}, +! {0x2183,0x2183,-1,1}, +! {0x24b6,0x24cf,1,26}, +! {0x2c00,0x2c2e,1,48}, +! {0x2c60,0x2c60,-1,1}, +! {0x2c62,0x2c62,-1,-10743}, +! {0x2c63,0x2c63,-1,-3814}, +! {0x2c64,0x2c64,-1,-10727}, +! {0x2c67,0x2c6b,2,1}, +! {0x2c6d,0x2c6d,-1,-10780}, +! {0x2c6e,0x2c6e,-1,-10749}, +! {0x2c6f,0x2c6f,-1,-10783}, +! {0x2c70,0x2c70,-1,-10782}, +! {0x2c72,0x2c75,3,1}, +! {0x2c7e,0x2c7f,1,-10815}, +! {0x2c80,0x2ce2,2,1}, +! {0x2ceb,0x2ced,2,1}, +! {0xa640,0xa65e,2,1}, +! {0xa662,0xa66c,2,1}, +! {0xa680,0xa696,2,1}, +! {0xa722,0xa72e,2,1}, +! {0xa732,0xa76e,2,1}, +! {0xa779,0xa77b,2,1}, +! {0xa77d,0xa77d,-1,-35332}, +! {0xa77e,0xa786,2,1}, +! {0xa78b,0xa78b,-1,1}, +! {0xff21,0xff3a,1,32}, +! {0x10400,0x10427,1,40} + }; + + static convertStruct toUpper[] = + { +! {0x61,0x7a,1,-32}, +! {0xb5,0xb5,-1,743}, +! {0xe0,0xf6,1,-32}, +! {0xf8,0xfe,1,-32}, +! {0xff,0xff,-1,121}, +! {0x101,0x12f,2,-1}, +! {0x131,0x131,-1,-232}, +! {0x133,0x137,2,-1}, +! {0x13a,0x148,2,-1}, +! {0x14b,0x177,2,-1}, +! {0x17a,0x17e,2,-1}, +! {0x17f,0x17f,-1,-300}, +! {0x180,0x180,-1,195}, +! {0x183,0x185,2,-1}, +! {0x188,0x18c,4,-1}, +! {0x192,0x192,-1,-1}, +! {0x195,0x195,-1,97}, +! {0x199,0x199,-1,-1}, +! {0x19a,0x19a,-1,163}, +! {0x19e,0x19e,-1,130}, +! {0x1a1,0x1a5,2,-1}, +! {0x1a8,0x1ad,5,-1}, +! {0x1b0,0x1b4,4,-1}, +! {0x1b6,0x1b9,3,-1}, +! {0x1bd,0x1bd,-1,-1}, +! {0x1bf,0x1bf,-1,56}, +! {0x1c5,0x1c5,-1,-1}, +! {0x1c6,0x1c6,-1,-2}, +! {0x1c8,0x1c8,-1,-1}, +! {0x1c9,0x1c9,-1,-2}, +! {0x1cb,0x1cb,-1,-1}, +! {0x1cc,0x1cc,-1,-2}, +! {0x1ce,0x1dc,2,-1}, +! {0x1dd,0x1dd,-1,-79}, +! {0x1df,0x1ef,2,-1}, +! {0x1f2,0x1f2,-1,-1}, +! {0x1f3,0x1f3,-1,-2}, +! {0x1f5,0x1f9,4,-1}, +! {0x1fb,0x21f,2,-1}, +! {0x223,0x233,2,-1}, +! {0x23c,0x23c,-1,-1}, +! {0x23f,0x240,1,10815}, +! {0x242,0x247,5,-1}, +! {0x249,0x24f,2,-1}, +! {0x250,0x250,-1,10783}, +! {0x251,0x251,-1,10780}, +! {0x252,0x252,-1,10782}, +! {0x253,0x253,-1,-210}, +! {0x254,0x254,-1,-206}, +! {0x256,0x257,1,-205}, +! {0x259,0x259,-1,-202}, +! {0x25b,0x25b,-1,-203}, +! {0x260,0x260,-1,-205}, +! {0x263,0x263,-1,-207}, +! {0x268,0x268,-1,-209}, +! {0x269,0x269,-1,-211}, +! {0x26b,0x26b,-1,10743}, +! {0x26f,0x26f,-1,-211}, +! {0x271,0x271,-1,10749}, +! {0x272,0x272,-1,-213}, +! {0x275,0x275,-1,-214}, +! {0x27d,0x27d,-1,10727}, +! {0x280,0x283,3,-218}, +! {0x288,0x288,-1,-218}, +! {0x289,0x289,-1,-69}, +! {0x28a,0x28b,1,-217}, +! {0x28c,0x28c,-1,-71}, +! {0x292,0x292,-1,-219}, +! {0x345,0x345,-1,84}, +! {0x371,0x373,2,-1}, +! {0x377,0x377,-1,-1}, +! {0x37b,0x37d,1,130}, +! {0x3ac,0x3ac,-1,-38}, +! {0x3ad,0x3af,1,-37}, +! {0x3b1,0x3c1,1,-32}, +! {0x3c2,0x3c2,-1,-31}, +! {0x3c3,0x3cb,1,-32}, +! {0x3cc,0x3cc,-1,-64}, +! {0x3cd,0x3ce,1,-63}, +! {0x3d0,0x3d0,-1,-62}, +! {0x3d1,0x3d1,-1,-57}, +! {0x3d5,0x3d5,-1,-47}, +! {0x3d6,0x3d6,-1,-54}, +! {0x3d7,0x3d7,-1,-8}, +! {0x3d9,0x3ef,2,-1}, +! {0x3f0,0x3f0,-1,-86}, +! {0x3f1,0x3f1,-1,-80}, +! {0x3f2,0x3f2,-1,7}, +! {0x3f5,0x3f5,-1,-96}, +! {0x3f8,0x3fb,3,-1}, +! {0x430,0x44f,1,-32}, +! {0x450,0x45f,1,-80}, +! {0x461,0x481,2,-1}, +! {0x48b,0x4bf,2,-1}, +! {0x4c2,0x4ce,2,-1}, +! {0x4cf,0x4cf,-1,-15}, +! {0x4d1,0x525,2,-1}, +! {0x561,0x586,1,-48}, +! {0x1d79,0x1d79,-1,35332}, +! {0x1d7d,0x1d7d,-1,3814}, +! {0x1e01,0x1e95,2,-1}, +! {0x1e9b,0x1e9b,-1,-59}, +! {0x1ea1,0x1eff,2,-1}, +! {0x1f00,0x1f07,1,8}, +! {0x1f10,0x1f15,1,8}, +! {0x1f20,0x1f27,1,8}, +! {0x1f30,0x1f37,1,8}, +! {0x1f40,0x1f45,1,8}, +! {0x1f51,0x1f57,2,8}, +! {0x1f60,0x1f67,1,8}, +! {0x1f70,0x1f71,1,74}, +! {0x1f72,0x1f75,1,86}, +! {0x1f76,0x1f77,1,100}, +! {0x1f78,0x1f79,1,128}, +! {0x1f7a,0x1f7b,1,112}, +! {0x1f7c,0x1f7d,1,126}, +! {0x1f80,0x1f87,1,8}, +! {0x1f90,0x1f97,1,8}, +! {0x1fa0,0x1fa7,1,8}, +! {0x1fb0,0x1fb1,1,8}, +! {0x1fb3,0x1fb3,-1,9}, +! {0x1fbe,0x1fbe,-1,-7205}, +! {0x1fc3,0x1fc3,-1,9}, +! {0x1fd0,0x1fd1,1,8}, +! {0x1fe0,0x1fe1,1,8}, +! {0x1fe5,0x1fe5,-1,7}, +! {0x1ff3,0x1ff3,-1,9}, +! {0x214e,0x214e,-1,-28}, +! {0x2170,0x217f,1,-16}, +! {0x2184,0x2184,-1,-1}, +! {0x24d0,0x24e9,1,-26}, +! {0x2c30,0x2c5e,1,-48}, +! {0x2c61,0x2c61,-1,-1}, +! {0x2c65,0x2c65,-1,-10795}, +! {0x2c66,0x2c66,-1,-10792}, +! {0x2c68,0x2c6c,2,-1}, +! {0x2c73,0x2c76,3,-1}, +! {0x2c81,0x2ce3,2,-1}, +! {0x2cec,0x2cee,2,-1}, +! {0x2d00,0x2d25,1,-7264}, +! {0xa641,0xa65f,2,-1}, +! {0xa663,0xa66d,2,-1}, +! {0xa681,0xa697,2,-1}, +! {0xa723,0xa72f,2,-1}, +! {0xa733,0xa76f,2,-1}, +! {0xa77a,0xa77c,2,-1}, +! {0xa77f,0xa787,2,-1}, +! {0xa78c,0xa78c,-1,-1}, +! {0xff41,0xff5a,1,-32}, +! {0x10428,0x1044f,1,-40} + }; + + /* +*** ../vim-7.2.329/src/version.c 2010-01-12 15:42:03.000000000 +0100 +--- src/version.c 2010-01-12 18:16:55.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 330, + /**/ + +-- +From "know your smileys": + <|-) Chinese + <|-( Chinese and doesn't like these kind of jokes + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.331 b/source/ap/vim/patches/7.2.331 new file mode 100644 index 000000000..82f40a26c --- /dev/null +++ b/source/ap/vim/patches/7.2.331 @@ -0,0 +1,47 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.331 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.331 +Problem: Can't interrupt "echo list" for a very long list. +Solution: Call line_breakcheck() in list_join(). +Files: src/eval.c + + +*** ../vim-7.2.330/src/eval.c 2010-01-12 12:48:40.000000000 +0100 +--- src/eval.c 2010-01-12 15:59:28.000000000 +0100 +*************** +*** 6475,6480 **** +--- 6475,6481 ---- + vim_free(tofree); + if (s == NULL) + return FAIL; ++ line_breakcheck(); + } + return OK; + } +*** ../vim-7.2.330/src/version.c 2010-01-12 19:48:57.000000000 +0100 +--- src/version.c 2010-01-19 12:44:02.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 331, + /**/ + + +-- +hundred-and-one symptoms of being an internet addict: +116. You are living with your boyfriend who networks your respective + computers so you can sit in separate rooms and email each other + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.332 b/source/ap/vim/patches/7.2.332 new file mode 100644 index 000000000..7956d1ed8 --- /dev/null +++ b/source/ap/vim/patches/7.2.332 @@ -0,0 +1,101 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.332 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.332 +Problem: Crash when spell correcting triggers an autocommand that reloads + the buffer. +Solution: Make a copy of the line to be modified. (Dominique Pelle) +Files: src/spell.c + + +*** ../vim-7.2.331/src/spell.c 2009-07-22 11:03:38.000000000 +0200 +--- src/spell.c 2010-01-19 12:44:42.000000000 +0100 +*************** +*** 10306,10312 **** + /* Figure out if the word should be capitalised. */ + need_cap = check_need_cap(curwin->w_cursor.lnum, curwin->w_cursor.col); + +! line = ml_get_curline(); + + /* Get the list of suggestions. Limit to 'lines' - 2 or the number in + * 'spellsuggest', whatever is smaller. */ +--- 10306,10315 ---- + /* Figure out if the word should be capitalised. */ + need_cap = check_need_cap(curwin->w_cursor.lnum, curwin->w_cursor.col); + +! /* Make a copy of current line since autocommands may free the line. */ +! line = vim_strsave(ml_get_curline()); +! if (line == NULL) +! goto skip; + + /* Get the list of suggestions. Limit to 'lines' - 2 or the number in + * 'spellsuggest', whatever is smaller. */ +*************** +*** 10470,10475 **** +--- 10473,10480 ---- + curwin->w_cursor = prev_cursor; + + spell_find_cleanup(&sug); ++ skip: ++ vim_free(line); + } + + /* +*************** +*** 10931,10937 **** + rescore_suggestions(su); + + /* +! * While going throught the soundfold tree "su_maxscore" is the score + * for the soundfold word, limits the changes that are being tried, + * and "su_sfmaxscore" the rescored score, which is set by + * cleanup_suggestions(). +--- 10936,10942 ---- + rescore_suggestions(su); + + /* +! * While going through the soundfold tree "su_maxscore" is the score + * for the soundfold word, limits the changes that are being tried, + * and "su_sfmaxscore" the rescored score, which is set by + * cleanup_suggestions(). +*************** +*** 11415,11421 **** + char_u tword[MAXWLEN]; /* good word collected so far */ + trystate_T stack[MAXWLEN]; + char_u preword[MAXWLEN * 3]; /* word found with proper case; +! * concatanation of prefix compound + * words and split word. NUL terminated + * when going deeper but not when coming + * back. */ +--- 11420,11426 ---- + char_u tword[MAXWLEN]; /* good word collected so far */ + trystate_T stack[MAXWLEN]; + char_u preword[MAXWLEN * 3]; /* word found with proper case; +! * concatenation of prefix compound + * words and split word. NUL terminated + * when going deeper but not when coming + * back. */ +*** ../vim-7.2.331/src/version.c 2010-01-19 12:46:51.000000000 +0100 +--- src/version.c 2010-01-19 13:05:32.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 332, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +117. You are more comfortable typing in html. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.333 b/source/ap/vim/patches/7.2.333 new file mode 100644 index 000000000..02273b64b --- /dev/null +++ b/source/ap/vim/patches/7.2.333 @@ -0,0 +1,371 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.333 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.333 +Problem: Warnings from static code analysis. +Solution: Small changes to various lines. (Dominique Pelle) +Files: src/buffer.c, src/edit.c, src/ex_getln.c, src/fileio.c, + src/if_cscope.c, src/netbeans.c, src/ops.c, src/quickfix.c, + src/syntax.c, src/ui.c + + +*** ../vim-7.2.332/src/buffer.c 2009-05-17 13:30:58.000000000 +0200 +--- src/buffer.c 2010-01-19 12:50:24.000000000 +0100 +*************** +*** 315,321 **** + { + #ifdef FEAT_AUTOCMD + int is_curbuf; +! int nwindows = buf->b_nwindows; + #endif + int unload_buf = (action != 0); + int del_buf = (action == DOBUF_DEL || action == DOBUF_WIPE); +--- 315,321 ---- + { + #ifdef FEAT_AUTOCMD + int is_curbuf; +! int nwindows; + #endif + int unload_buf = (action != 0); + int del_buf = (action == DOBUF_DEL || action == DOBUF_WIPE); +*** ../vim-7.2.332/src/edit.c 2009-12-24 15:45:53.000000000 +0100 +--- src/edit.c 2010-01-19 12:53:18.000000000 +0100 +*************** +*** 4048,4054 **** + save_p_ic = p_ic; + p_ic = ignorecase(compl_pattern); + +! /* Find up to TAG_MANY matches. Avoids that an enourmous number + * of matches is found when compl_pattern is empty */ + if (find_tags(compl_pattern, &num_matches, &matches, + TAG_REGEXP | TAG_NAMES | TAG_NOIC | +--- 4048,4054 ---- + save_p_ic = p_ic; + p_ic = ignorecase(compl_pattern); + +! /* Find up to TAG_MANY matches. Avoids that an enormous number + * of matches is found when compl_pattern is empty */ + if (find_tags(compl_pattern, &num_matches, &matches, + TAG_REGEXP | TAG_NAMES | TAG_NOIC | +*************** +*** 4219,4225 **** + || IObuff[len - 2] == '!')))) + IObuff[len++] = ' '; + } +! /* copy as much as posible of the new word */ + if (tmp_ptr - ptr >= IOSIZE - len) + tmp_ptr = ptr + IOSIZE - len - 1; + STRNCPY(IObuff + len, ptr, tmp_ptr - ptr); +--- 4219,4225 ---- + || IObuff[len - 2] == '!')))) + IObuff[len++] = ' '; + } +! /* copy as much as possible of the new word */ + if (tmp_ptr - ptr >= IOSIZE - len) + tmp_ptr = ptr + IOSIZE - len - 1; + STRNCPY(IObuff + len, ptr, tmp_ptr - ptr); +*************** +*** 5827,5836 **** + #endif + && !has_format_option(FO_WRAP)) + +- { +- textwidth = 0; + break; +- } + if ((startcol = curwin->w_cursor.col) == 0) + break; + +--- 5827,5833 ---- +*** ../vim-7.2.332/src/ex_getln.c 2009-12-02 17:15:04.000000000 +0100 +--- src/ex_getln.c 2010-01-19 12:54:47.000000000 +0100 +*************** +*** 2193,2199 **** + { + if (ga_grow(&line_ga, 40) == FAIL) + break; +- pend = (char_u *)line_ga.ga_data + line_ga.ga_len; + + /* Get one character at a time. Don't use inchar(), it can't handle + * special characters. */ +--- 2193,2198 ---- +*************** +*** 3314,3320 **** + WILD_HOME_REPLACE|WILD_ADD_SLASH|WILD_SILENT|WILD_ESCAPE + |options, type); + vim_free(p1); +! /* longest match: make sure it is not shorter (happens with :help */ + if (p2 != NULL && type == WILD_LONGEST) + { + for (j = 0; j < xp->xp_pattern_len; ++j) +--- 3313,3319 ---- + WILD_HOME_REPLACE|WILD_ADD_SLASH|WILD_SILENT|WILD_ESCAPE + |options, type); + vim_free(p1); +! /* longest match: make sure it is not shorter, happens with :help */ + if (p2 != NULL && type == WILD_LONGEST) + { + for (j = 0; j < xp->xp_pattern_len; ++j) +*** ../vim-7.2.332/src/fileio.c 2009-12-31 14:52:48.000000000 +0100 +--- src/fileio.c 2010-01-19 12:56:59.000000000 +0100 +*************** +*** 7072,7079 **** + */ + for (i = 0; i < (int)(sizeof(tempdirs) / sizeof(char *)); ++i) + { +- size_t itmplen; + # ifndef HAVE_MKDTEMP + long nr; + long off; + # endif +--- 7072,7079 ---- + */ + for (i = 0; i < (int)(sizeof(tempdirs) / sizeof(char *)); ++i) + { + # ifndef HAVE_MKDTEMP ++ size_t itmplen; + long nr; + long off; + # endif +*************** +*** 7091,7097 **** + else + # endif + add_pathsep(itmp); +- itmplen = STRLEN(itmp); + + # ifdef HAVE_MKDTEMP + /* Leave room for filename */ +--- 7091,7096 ---- +*************** +*** 7104,7109 **** +--- 7103,7109 ---- + * otherwise it doesn't matter. The use of mkdir() avoids any + * security problems because of the predictable number. */ + nr = (mch_get_pid() + (long)time(NULL)) % 1000000L; ++ itmplen = STRLEN(itmp); + + /* Try up to 10000 different values until we find a name that + * doesn't exist. */ +*** ../vim-7.2.332/src/if_cscope.c 2009-07-09 21:22:36.000000000 +0200 +--- src/if_cscope.c 2010-01-19 12:57:58.000000000 +0100 +*************** +*** 2069,2075 **** + continue; + (void)strcpy(tbuf, matches[idx]); + +! if ((fname = strtok(tbuf, (const char *)"\t")) == NULL) + continue; + if ((fname = strtok(NULL, (const char *)"\t")) == NULL) + continue; +--- 2069,2075 ---- + continue; + (void)strcpy(tbuf, matches[idx]); + +! if (strtok(tbuf, (const char *)"\t") == NULL) + continue; + if ((fname = strtok(NULL, (const char *)"\t")) == NULL) + continue; +*** ../vim-7.2.332/src/netbeans.c 2009-09-11 14:19:41.000000000 +0200 +--- src/netbeans.c 2010-01-19 13:57:11.000000000 +0100 +*************** +*** 873,879 **** + { + #ifdef NBDEBUG + /* +! * This happens because the ExtEd can send a cammand or 2 after + * doing a stopDocumentListen command. It doesn't harm anything + * so I'm disabling it except for debugging. + */ +--- 883,889 ---- + { + #ifdef NBDEBUG + /* +! * This happens because the ExtEd can send a command or 2 after + * doing a stopDocumentListen command. It doesn't harm anything + * so I'm disabling it except for debugging. + */ +*************** +*** 1174,1180 **** + break; + } + } +! *q++ = '\0'; + + return buf; + } +--- 1184,1190 ---- + break; + } + } +! *q = '\0'; + + return buf; + } +*************** +*** 3070,3076 **** + } + + /* +! * Send netbeans an unmodufied command. + */ + void + netbeans_unmodified(buf_T *bufp UNUSED) +--- 3080,3086 ---- + } + + /* +! * Send netbeans an unmodified command. + */ + void + netbeans_unmodified(buf_T *bufp UNUSED) +*************** +*** 3366,3372 **** + + + /* +! * Add a sign of the reqested type at the requested location. + * + * Reverse engineering: + * Apparently an annotation is defined the first time it is used in a buffer. +--- 3380,3386 ---- + + + /* +! * Add a sign of the requested type at the requested location. + * + * Reverse engineering: + * Apparently an annotation is defined the first time it is used in a buffer. +*** ../vim-7.2.332/src/ops.c 2009-11-25 12:38:49.000000000 +0100 +--- src/ops.c 2010-01-19 13:04:46.000000000 +0100 +*************** +*** 5591,5603 **** + */ + if (has_mbyte) + { +- char_u *conv_str = str; + vimconv_T vc; + + vc.vc_type = CONV_NONE; + if (convert_setup(&vc, p_enc, (char_u *)"latin1") == OK) + { +! int intlen = len; + + conv_str = string_convert(&vc, str, &intlen); + len = intlen; +--- 5598,5610 ---- + */ + if (has_mbyte) + { + vimconv_T vc; + + vc.vc_type = CONV_NONE; + if (convert_setup(&vc, p_enc, (char_u *)"latin1") == OK) + { +! int intlen = len; +! char_u *conv_str; + + conv_str = string_convert(&vc, str, &intlen); + len = intlen; +*** ../vim-7.2.332/src/quickfix.c 2009-06-24 17:31:27.000000000 +0200 +--- src/quickfix.c 2010-01-19 13:12:29.000000000 +0100 +*************** +*** 1899,1905 **** + int i; + int idx1 = 1; + int idx2 = -1; +- int need_return = TRUE; + char_u *arg = eap->arg; + int all = eap->forceit; /* if not :cl!, only show + recognised errors */ +--- 1899,1904 ---- +*************** +*** 1939,1951 **** + { + if ((qfp->qf_valid || all) && idx1 <= i && i <= idx2) + { +! if (need_return) +! { +! msg_putchar('\n'); +! if (got_int) +! break; +! need_return = FALSE; +! } + + fname = NULL; + if (qfp->qf_fnum != 0 +--- 1938,1946 ---- + { + if ((qfp->qf_valid || all) && idx1 <= i && i <= idx2) + { +! msg_putchar('\n'); +! if (got_int) +! break; + + fname = NULL; + if (qfp->qf_fnum != 0 +*************** +*** 1988,1994 **** + IObuff, IOSIZE); + msg_prt_line(IObuff, FALSE); + out_flush(); /* show one line at a time */ +- need_return = TRUE; + } + + qfp = qfp->qf_next; +--- 1983,1988 ---- +*** ../vim-7.2.332/src/syntax.c 2009-12-16 18:13:04.000000000 +0100 +--- src/syntax.c 2010-01-19 13:12:56.000000000 +0100 +*************** +*** 4167,4173 **** + if (!HASHITEM_EMPTY(hi)) + { + --todo; +- kp = HI2KE(hi); + for (kp = HI2KE(hi); kp != NULL; kp = kp_next) + { + kp_next = kp->ke_next; +--- 4167,4172 ---- +*** ../vim-7.2.332/src/ui.c 2009-09-11 16:48:06.000000000 +0200 +--- src/ui.c 2010-01-19 13:14:04.000000000 +0100 +*************** +*** 2383,2389 **** + * 'enc' anyway. */ + if (has_mbyte) + { +! char_u *conv_buf = buffer; + vimconv_T vc; + + vc.vc_type = CONV_NONE; +--- 2383,2389 ---- + * 'enc' anyway. */ + if (has_mbyte) + { +! char_u *conv_buf; + vimconv_T vc; + + vc.vc_type = CONV_NONE; +*** ../vim-7.2.332/src/version.c 2010-01-19 13:06:42.000000000 +0100 +--- src/version.c 2010-01-19 14:55:50.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 333, + /**/ + +-- +An actual excerpt from a classified section of a city newspaper: +"Illiterate? Write today for free help!" + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.334 b/source/ap/vim/patches/7.2.334 new file mode 100644 index 000000000..1b88bbd6e --- /dev/null +++ b/source/ap/vim/patches/7.2.334 @@ -0,0 +1,347 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.334 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.334 +Problem: Postponing keys in Netbeans interface does not work properly. +Solution: Store the key string instead of the number. Avoid an infinite + loop. (Mostly by Xavier de Gaye) +Files: src/netbeans.c, src/proto/netbeans.pro + + +*** ../vim-7.2.333/src/netbeans.c 2010-01-19 14:59:14.000000000 +0100 +--- src/netbeans.c 2010-01-19 15:12:17.000000000 +0100 +*************** +*** 70,76 **** + static pos_T *off2pos __ARGS((buf_T *, long)); + static pos_T *get_off_or_lnum __ARGS((buf_T *buf, char_u **argp)); + static long get_buf_size __ARGS((buf_T *)); +! static void netbeans_keystring __ARGS((int key, char *keystr)); + static void special_keys __ARGS((char_u *args)); + + static void netbeans_connect __ARGS((void)); +--- 70,77 ---- + static pos_T *off2pos __ARGS((buf_T *, long)); + static pos_T *get_off_or_lnum __ARGS((buf_T *buf, char_u **argp)); + static long get_buf_size __ARGS((buf_T *)); +! static int netbeans_keystring __ARGS((char_u *keystr)); +! static void postpone_keycommand __ARGS((char_u *keystr)); + static void special_keys __ARGS((char_u *args)); + + static void netbeans_connect __ARGS((void)); +*************** +*** 502,508 **** + + struct keyqueue + { +! int key; + struct keyqueue *next; + struct keyqueue *prev; + }; +--- 503,509 ---- + + struct keyqueue + { +! char_u *keystr; + struct keyqueue *next; + struct keyqueue *prev; + }; +*************** +*** 514,526 **** + + /* + * Queue up key commands sent from netbeans. + */ + static void +! postpone_keycommand(int key) + { + keyQ_T *node; + + node = (keyQ_T *)alloc(sizeof(keyQ_T)); + + if (keyHead.next == NULL) /* initialize circular queue */ + { +--- 515,531 ---- + + /* + * Queue up key commands sent from netbeans. ++ * We store the string, because it may depend on the global mod_mask and ++ * :nbkey doesn't have a key number. + */ + static void +! postpone_keycommand(char_u *keystr) + { + keyQ_T *node; + + node = (keyQ_T *)alloc(sizeof(keyQ_T)); ++ if (node == NULL) ++ return; /* out of memory, drop the key */ + + if (keyHead.next == NULL) /* initialize circular queue */ + { +*************** +*** 534,540 **** + keyHead.prev->next = node; + keyHead.prev = node; + +! node->key = key; + } + + /* +--- 539,545 ---- + keyHead.prev->next = node; + keyHead.prev = node; + +! node->keystr = vim_strsave(keystr); + } + + /* +*************** +*** 543,557 **** + static void + handle_key_queue(void) + { +! while (keyHead.next && keyHead.next != &keyHead) + { + /* first, unlink the node */ + keyQ_T *node = keyHead.next; + keyHead.next = node->next; + node->next->prev = node->prev; + +! /* now, send the keycommand */ +! netbeans_keycommand(node->key); + + /* Finally, dispose of the node */ + vim_free(node); +--- 548,567 ---- + static void + handle_key_queue(void) + { +! int postponed = FALSE; +! +! while (!postponed && keyHead.next && keyHead.next != &keyHead) + { + /* first, unlink the node */ + keyQ_T *node = keyHead.next; + keyHead.next = node->next; + node->next->prev = node->prev; + +! /* Now, send the keycommand. This may cause it to be postponed again +! * and change keyHead. */ +! if (node->keystr != NULL) +! postponed = !netbeans_keystring(node->keystr); +! vim_free(node->keystr); + + /* Finally, dispose of the node */ + vim_free(node); +*************** +*** 2495,2501 **** + } + else + { +! nbdebug((" Buffer has no changes!\n")); + } + /* =====================================================================*/ + } +--- 2505,2511 ---- + } + else + { +! nbdebug((" Buffer has no changes!\n")); + } + /* =====================================================================*/ + } +*************** +*** 2658,2664 **** + ex_nbkey(eap) + exarg_T *eap; + { +! netbeans_keystring(0, (char *)eap->arg); + } + + +--- 2668,2674 ---- + ex_nbkey(eap) + exarg_T *eap; + { +! (void)netbeans_keystring(eap->arg); + } + + +*************** +*** 2680,2686 **** + } + + /* +! * Convert key to netbeans name. + */ + static void + netbeans_keyname(int key, char *buf) +--- 2690,2696 ---- + } + + /* +! * Convert key to netbeans name. This uses the global "mod_mask". + */ + static void + netbeans_keyname(int key, char *buf) +*************** +*** 3127,3149 **** + /* + * Send a keypress event back to netbeans. This usually simulates some + * kind of function key press. This function operates on a key code. + */ +! void + netbeans_keycommand(int key) + { + char keyName[60]; + + netbeans_keyname(key, keyName); +! netbeans_keystring(key, keyName); + } + + + /* + * Send a keypress event back to netbeans. This usually simulates some + * kind of function key press. This function operates on a key string. + */ +! static void +! netbeans_keystring(int key, char *keyName) + { + char buf[2*MAXPATHL]; + int bufno = nb_getbufno(curbuf); +--- 3137,3163 ---- + /* + * Send a keypress event back to netbeans. This usually simulates some + * kind of function key press. This function operates on a key code. ++ * Return TRUE when the key was sent, FALSE when the command has been ++ * postponed. + */ +! int + netbeans_keycommand(int key) + { + char keyName[60]; + + netbeans_keyname(key, keyName); +! return netbeans_keystring((char_u *)keyName); + } + + + /* + * Send a keypress event back to netbeans. This usually simulates some + * kind of function key press. This function operates on a key string. ++ * Return TRUE when the key was sent, FALSE when the command has been ++ * postponed. + */ +! static int +! netbeans_keystring(char_u *keyName) + { + char buf[2*MAXPATHL]; + int bufno = nb_getbufno(curbuf); +*************** +*** 3151,3157 **** + char_u *q; + + if (!haveConnection) +! return; + + + if (bufno == -1) +--- 3165,3171 ---- + char_u *q; + + if (!haveConnection) +! return TRUE; + + + if (bufno == -1) +*************** +*** 3160,3166 **** + q = curbuf->b_ffname == NULL ? (char_u *)"" + : nb_quote(curbuf->b_ffname); + if (q == NULL) +! return; + vim_snprintf(buf, sizeof(buf), "0:fileOpened=%d \"%s\" %s %s\n", 0, + q, + "T", /* open in NetBeans */ +--- 3174,3180 ---- + q = curbuf->b_ffname == NULL ? (char_u *)"" + : nb_quote(curbuf->b_ffname); + if (q == NULL) +! return TRUE; + vim_snprintf(buf, sizeof(buf), "0:fileOpened=%d \"%s\" %s %s\n", 0, + q, + "T", /* open in NetBeans */ +*************** +*** 3170,3178 **** + nbdebug(("EVT: %s", buf)); + nb_send(buf, "netbeans_keycommand"); + +! if (key > 0) +! postpone_keycommand(key); +! return; + } + + /* sync the cursor position */ +--- 3184,3191 ---- + nbdebug(("EVT: %s", buf)); + nb_send(buf, "netbeans_keycommand"); + +! postpone_keycommand(keyName); +! return FALSE; + } + + /* sync the cursor position */ +*************** +*** 3198,3203 **** +--- 3211,3217 ---- + off, (long)curwin->w_cursor.lnum, (long)curwin->w_cursor.col); + nbdebug(("EVT: %s", buf)); + nb_send(buf, "netbeans_keycommand"); ++ return TRUE; + } + + +*** ../vim-7.2.333/src/proto/netbeans.pro 2009-01-06 16:13:42.000000000 +0100 +--- src/proto/netbeans.pro 2010-01-19 13:31:01.000000000 +0100 +*************** +*** 16,22 **** + void netbeans_removed __ARGS((buf_T *bufp, linenr_T linenr, colnr_T col, long len)); + void netbeans_unmodified __ARGS((buf_T *bufp)); + void netbeans_button_release __ARGS((int button)); +! void netbeans_keycommand __ARGS((int key)); + void netbeans_save_buffer __ARGS((buf_T *bufp)); + void netbeans_deleted_all_lines __ARGS((buf_T *bufp)); + int netbeans_is_guarded __ARGS((linenr_T top, linenr_T bot)); +--- 16,22 ---- + void netbeans_removed __ARGS((buf_T *bufp, linenr_T linenr, colnr_T col, long len)); + void netbeans_unmodified __ARGS((buf_T *bufp)); + void netbeans_button_release __ARGS((int button)); +! int netbeans_keycommand __ARGS((int key)); + void netbeans_save_buffer __ARGS((buf_T *bufp)); + void netbeans_deleted_all_lines __ARGS((buf_T *bufp)); + int netbeans_is_guarded __ARGS((linenr_T top, linenr_T bot)); +*** ../vim-7.2.333/src/version.c 2010-01-19 14:59:14.000000000 +0100 +--- src/version.c 2010-01-19 15:08:44.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 334, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +119. You are reading a book and look for the scroll bar to get to + the next page. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.335 b/source/ap/vim/patches/7.2.335 new file mode 100644 index 000000000..df7f641c9 --- /dev/null +++ b/source/ap/vim/patches/7.2.335 @@ -0,0 +1,103 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.335 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.335 +Problem: The CTRL-] command escapes too many characters. +Solution: Use a different list of characters to be escaped. (Sergey Khorev) +Files: src/normal.c + + +*** ../vim-7.2.334/src/normal.c 2010-01-12 15:42:03.000000000 +0100 +--- src/normal.c 2010-01-19 15:20:11.000000000 +0100 +*************** +*** 5406,5411 **** +--- 5406,5412 ---- + int n = 0; /* init for GCC */ + int cmdchar; + int g_cmd; /* "g" command */ ++ int tag_cmd = FALSE; + char_u *aux_ptr; + int isman; + int isman_s; +*************** +*** 5515,5520 **** +--- 5516,5522 ---- + break; + + case ']': ++ tag_cmd = TRUE; + #ifdef FEAT_CSCOPE + if (p_cst) + STRCPY(buf, "cstag "); +*************** +*** 5526,5535 **** + default: + if (curbuf->b_help) + STRCPY(buf, "he! "); +- else if (g_cmd) +- STRCPY(buf, "tj "); + else +! sprintf((char *)buf, "%ldta ", cap->count0); + } + + /* +--- 5528,5541 ---- + default: + if (curbuf->b_help) + STRCPY(buf, "he! "); + else +! { +! tag_cmd = TRUE; +! if (g_cmd) +! STRCPY(buf, "tj "); +! else +! sprintf((char *)buf, "%ldta ", cap->count0); +! } + } + + /* +*************** +*** 5562,5569 **** + aux_ptr = (char_u *)(p_magic ? "/.*~[^$\\" : "/^$\\"); + else if (cmdchar == '#') + aux_ptr = (char_u *)(p_magic ? "/?.*~[^$\\" : "/?^$\\"); +! else + /* Don't escape spaces and Tabs in a tag with a backslash */ + aux_ptr = (char_u *)"\\|\"\n*?["; + + p = buf + STRLEN(buf); +--- 5568,5577 ---- + aux_ptr = (char_u *)(p_magic ? "/.*~[^$\\" : "/^$\\"); + else if (cmdchar == '#') + aux_ptr = (char_u *)(p_magic ? "/?.*~[^$\\" : "/?^$\\"); +! else if (tag_cmd) + /* Don't escape spaces and Tabs in a tag with a backslash */ ++ aux_ptr = (char_u *)"\\|\"\n["; ++ else + aux_ptr = (char_u *)"\\|\"\n*?["; + + p = buf + STRLEN(buf); +*** ../vim-7.2.334/src/version.c 2010-01-19 15:12:33.000000000 +0100 +--- src/version.c 2010-01-19 15:22:44.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 335, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +120. You ask a friend, "What's that big shiny thing?" He says, "It's the sun." + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.336 b/source/ap/vim/patches/7.2.336 new file mode 100644 index 000000000..a6765922f --- /dev/null +++ b/source/ap/vim/patches/7.2.336 @@ -0,0 +1,841 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.336 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.336 +Problem: MzScheme interface can't evaluate an expression. +Solution: Add mzeval(). (Sergey Khorev) +Files: runtime/doc/eval.txt, runtime/doc/if_mzsch.txt, + runtime/doc/usr_41.txt, src/eval.c, src/if_mzsch.c, + src/proto/eval.pro, src/proto/if_mzsch.pro, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Makefile, src/testdir/main.aap, src/testdir/test1.in, + src/testdir/test70.in, src/testdir/test70.ok + + +*** ../vim-7.2.335/runtime/doc/eval.txt 2009-11-17 12:20:30.000000000 +0100 +--- runtime/doc/eval.txt 2010-01-19 15:30:50.000000000 +0100 +*************** +*** 1815,1825 **** + List match and submatches of {pat} in {expr} + matchstr( {expr}, {pat}[, {start}[, {count}]]) + String {count}'th match of {pat} in {expr} +! max({list}) Number maximum value of items in {list} +! min({list}) Number minimum value of items in {list} +! mkdir({name} [, {path} [, {prot}]]) + Number create directory {name} + mode( [expr]) String current editing mode + nextnonblank( {lnum}) Number line nr of non-blank line >= {lnum} + nr2char( {expr}) String single char with ASCII value {expr} + pathshorten( {expr}) String shorten directory names in a path +--- 1821,1832 ---- + List match and submatches of {pat} in {expr} + matchstr( {expr}, {pat}[, {start}[, {count}]]) + String {count}'th match of {pat} in {expr} +! max( {list}) Number maximum value of items in {list} +! min( {list}) Number minimum value of items in {list} +! mkdir( {name} [, {path} [, {prot}]]) + Number create directory {name} + mode( [expr]) String current editing mode ++ mzeval( {expr}) any evaluate |MzScheme| expression + nextnonblank( {lnum}) Number line nr of non-blank line >= {lnum} + nr2char( {expr}) String single char with ASCII value {expr} + pathshorten( {expr}) String shorten directory names in a path +*************** +*** 4090,4095 **** +--- 4103,4125 ---- + "c" or "n". + Also see |visualmode()|. + ++ mzeval({expr}) *mzeval()* ++ Evaluate MzScheme expression {expr} and return its result ++ convert to Vim data structures. ++ Numbers and strings are returned as they are. ++ Pairs (including lists and improper lists) and vectors are ++ returned as Vim |Lists|. ++ Hash tables are represented as Vim |Dictionary| type with keys ++ converted to strings. ++ All other types are converted to string with display function. ++ Examples: > ++ :mz (define l (list 1 2 3)) ++ :mz (define h (make-hash)) (hash-set! h "list" l) ++ :echo mzeval("l") ++ :echo mzeval("h") ++ < ++ {only available when compiled with the |+mzscheme| feature} ++ + nextnonblank({lnum}) *nextnonblank()* + Return the line number of the first line at or below {lnum} + that is not blank. Example: > +*** ../vim-7.2.335/runtime/doc/if_mzsch.txt 2009-06-24 17:51:01.000000000 +0200 +--- runtime/doc/if_mzsch.txt 2010-01-19 15:33:00.000000000 +0100 +*************** +*** 1,4 **** +! *if_mzsch.txt* For Vim version 7.2. Last change: 2009 Jun 24 + + + VIM REFERENCE MANUAL by Sergey Khorev +--- 1,4 ---- +! *if_mzsch.txt* For Vim version 7.2. Last change: 2010 Jan 19 + + + VIM REFERENCE MANUAL by Sergey Khorev +*************** +*** 9,16 **** + 1. Commands |mzscheme-commands| + 2. Examples |mzscheme-examples| + 3. Threads |mzscheme-threads| +! 4. The Vim access procedures |mzscheme-vim| +! 5. Dynamic loading |mzscheme-dynamic| + + {Vi does not have any of these commands} + +--- 9,17 ---- + 1. Commands |mzscheme-commands| + 2. Examples |mzscheme-examples| + 3. Threads |mzscheme-threads| +! 4. Vim access from MzScheme |mzscheme-vim| +! 5. mzeval() Vim function |mzscheme-mzeval| +! 6. Dynamic loading |mzscheme-dynamic| + + {Vi does not have any of these commands} + +*************** +*** 142,148 **** + GUI version. + + ============================================================================== +! 5. VIM Functions *mzscheme-vim* + + *mzscheme-vimext* + The 'vimext' module provides access to procedures defined in the MzScheme +--- 143,149 ---- + GUI version. + + ============================================================================== +! 4. Vim access from MzScheme *mzscheme-vim* + + *mzscheme-vimext* + The 'vimext' module provides access to procedures defined in the MzScheme +*************** +*** 231,237 **** + (set-cursor (line . col) [window]) Set cursor position. + + ============================================================================== +! 5. Dynamic loading *mzscheme-dynamic* *E815* + + On MS-Windows the MzScheme libraries can be loaded dynamically. The |:version| + output then includes |+mzscheme/dyn|. +--- 232,244 ---- + (set-cursor (line . col) [window]) Set cursor position. + + ============================================================================== +! 5. mzeval() Vim function *mzscheme-mzeval* +! +! To facilitate bi-directional interface, you can use |mzeval| function to +! evaluate MzScheme expressions and pass their values to VimL. +! +! ============================================================================== +! 6. Dynamic loading *mzscheme-dynamic* *E815* + + On MS-Windows the MzScheme libraries can be loaded dynamically. The |:version| + output then includes |+mzscheme/dyn|. +*** ../vim-7.2.335/runtime/doc/usr_41.txt 2008-08-09 19:36:54.000000000 +0200 +--- runtime/doc/usr_41.txt 2010-01-19 15:29:01.000000000 +0100 +*************** +*** 868,873 **** +--- 868,875 ---- + taglist() get list of matching tags + tagfiles() get a list of tags files + ++ mzeval() evaluate |MzScheme| expression ++ + ============================================================================== + *41.7* Defining a function + +*** ../vim-7.2.335/src/eval.c 2010-01-19 12:46:51.000000000 +0100 +--- src/eval.c 2010-01-19 15:48:12.000000000 +0100 +*************** +*** 433,439 **** + static long list_find_nr __ARGS((list_T *l, long idx, int *errorp)); + static long list_idx_of_item __ARGS((list_T *l, listitem_T *item)); + static void list_append __ARGS((list_T *l, listitem_T *item)); +- static int list_append_tv __ARGS((list_T *l, typval_T *tv)); + static int list_append_number __ARGS((list_T *l, varnumber_T n)); + static int list_insert_tv __ARGS((list_T *l, typval_T *tv, listitem_T *item)); + static int list_extend __ARGS((list_T *l1, list_T *l2, listitem_T *bef)); +--- 433,438 ---- +*************** +*** 448,459 **** + static void set_ref_in_item __ARGS((typval_T *tv, int copyID)); + static void dict_unref __ARGS((dict_T *d)); + static void dict_free __ARGS((dict_T *d, int recurse)); +- static dictitem_T *dictitem_alloc __ARGS((char_u *key)); + static dictitem_T *dictitem_copy __ARGS((dictitem_T *org)); + static void dictitem_remove __ARGS((dict_T *dict, dictitem_T *item)); +- static void dictitem_free __ARGS((dictitem_T *item)); + static dict_T *dict_copy __ARGS((dict_T *orig, int deep, int copyID)); +- static int dict_add __ARGS((dict_T *d, dictitem_T *item)); + static long dict_len __ARGS((dict_T *d)); + static dictitem_T *dict_find __ARGS((dict_T *d, char_u *key, int len)); + static char_u *dict2string __ARGS((typval_T *tv, int copyID)); +--- 447,455 ---- +*************** +*** 628,633 **** +--- 624,632 ---- + static void f_mkdir __ARGS((typval_T *argvars, typval_T *rettv)); + #endif + static void f_mode __ARGS((typval_T *argvars, typval_T *rettv)); ++ #ifdef FEAT_MZSCHEME ++ static void f_mzeval __ARGS((typval_T *argvars, typval_T *rettv)); ++ #endif + static void f_nextnonblank __ARGS((typval_T *argvars, typval_T *rettv)); + static void f_nr2char __ARGS((typval_T *argvars, typval_T *rettv)); + static void f_pathshorten __ARGS((typval_T *argvars, typval_T *rettv)); +*************** +*** 764,770 **** + static int var_check_ro __ARGS((int flags, char_u *name)); + static int var_check_fixed __ARGS((int flags, char_u *name)); + static int tv_check_lock __ARGS((int lock, char_u *name)); +- static void copy_tv __ARGS((typval_T *from, typval_T *to)); + static int item_copy __ARGS((typval_T *from, typval_T *to, int deep, int copyID)); + static char_u *find_option_end __ARGS((char_u **arg, int *opt_flags)); + static char_u *trans_function_name __ARGS((char_u **pp, int skip, int flags, funcdict_T *fd)); +--- 763,768 ---- +*************** +*** 6155,6161 **** + * Append typval_T "tv" to the end of list "l". + * Return FAIL when out of memory. + */ +! static int + list_append_tv(l, tv) + list_T *l; + typval_T *tv; +--- 6153,6159 ---- + * Append typval_T "tv" to the end of list "l". + * Return FAIL when out of memory. + */ +! int + list_append_tv(l, tv) + list_T *l; + typval_T *tv; +*************** +*** 6812,6818 **** + * Note that the value of the item "di_tv" still needs to be initialized! + * Returns NULL when out of memory. + */ +! static dictitem_T * + dictitem_alloc(key) + char_u *key; + { +--- 6810,6816 ---- + * Note that the value of the item "di_tv" still needs to be initialized! + * Returns NULL when out of memory. + */ +! dictitem_T * + dictitem_alloc(key) + char_u *key; + { +*************** +*** 6868,6874 **** + /* + * Free a dict item. Also clears the value. + */ +! static void + dictitem_free(item) + dictitem_T *item; + { +--- 6866,6872 ---- + /* + * Free a dict item. Also clears the value. + */ +! void + dictitem_free(item) + dictitem_T *item; + { +*************** +*** 6948,6954 **** + * Add item "item" to Dictionary "d". + * Returns FAIL when out of memory and when key already existed. + */ +! static int + dict_add(d, item) + dict_T *d; + dictitem_T *item; +--- 6946,6952 ---- + * Add item "item" to Dictionary "d". + * Returns FAIL when out of memory and when key already existed. + */ +! int + dict_add(d, item) + dict_T *d; + dictitem_T *item; +*************** +*** 7699,7704 **** +--- 7697,7705 ---- + {"mkdir", 1, 3, f_mkdir}, + #endif + {"mode", 0, 1, f_mode}, ++ #ifdef FEAT_MZSCHEME ++ {"mzeval", 1, 1, f_mzeval}, ++ #endif + {"nextnonblank", 1, 1, f_nextnonblank}, + {"nr2char", 1, 1, f_nr2char}, + {"pathshorten", 1, 1, f_pathshorten}, +*************** +*** 13591,13596 **** +--- 13592,13614 ---- + rettv->v_type = VAR_STRING; + } + ++ #ifdef FEAT_MZSCHEME ++ /* ++ * "mzeval()" function ++ */ ++ static void ++ f_mzeval(argvars, rettv) ++ typval_T *argvars; ++ typval_T *rettv; ++ { ++ char_u *str; ++ char_u buf[NUMBUFLEN]; ++ ++ str = get_tv_string_buf(&argvars[0], buf); ++ do_mzeval(str, rettv); ++ } ++ #endif ++ + /* + * "nextnonblank()" function + */ +*************** +*** 19274,19280 **** + * It is OK for "from" and "to" to point to the same item. This is used to + * make a copy later. + */ +! static void + copy_tv(from, to) + typval_T *from; + typval_T *to; +--- 19292,19298 ---- + * It is OK for "from" and "to" to point to the same item. This is used to + * make a copy later. + */ +! void + copy_tv(from, to) + typval_T *from; + typval_T *to; +*** ../vim-7.2.335/src/if_mzsch.c 2009-12-16 19:02:05.000000000 +0100 +--- src/if_mzsch.c 2010-01-19 15:43:05.000000000 +0100 +*************** +*** 170,175 **** +--- 170,177 ---- + #ifdef FEAT_EVAL + static Scheme_Object *vim_to_mzscheme(typval_T *vim_value, int depth, + Scheme_Hash_Table *visited); ++ static int mzscheme_to_vim(Scheme_Object *obj, typval_T *tv, int depth, ++ Scheme_Hash_Table *visited); + #endif + + #ifdef MZ_PRECISE_GC +*************** +*** 2733,2738 **** +--- 2735,2959 ---- + MZ_GC_UNREG(); + return result; + } ++ ++ static int ++ mzscheme_to_vim(Scheme_Object *obj, typval_T *tv, int depth, ++ Scheme_Hash_Table *visited) ++ { ++ int status = OK; ++ typval_T *found; ++ MZ_GC_CHECK(); ++ if (depth > 100) /* limit the deepest recursion level */ ++ { ++ tv->v_type = VAR_NUMBER; ++ tv->vval.v_number = 0; ++ return FAIL; ++ } ++ ++ found = (typval_T *)scheme_hash_get(visited, obj); ++ if (found != NULL) ++ copy_tv(found, tv); ++ else if (SCHEME_VOIDP(obj)) ++ { ++ tv->v_type = VAR_NUMBER; ++ tv->vval.v_number = 0; ++ } ++ else if (SCHEME_INTP(obj)) ++ { ++ tv->v_type = VAR_NUMBER; ++ tv->vval.v_number = SCHEME_INT_VAL(obj); ++ } ++ else if (SCHEME_BOOLP(obj)) ++ { ++ tv->v_type = VAR_NUMBER; ++ tv->vval.v_number = SCHEME_TRUEP(obj); ++ } ++ # ifdef FEAT_FLOAT ++ else if (SCHEME_DBLP(obj)) ++ { ++ tv->v_type = VAR_FLOAT; ++ tv->vval.v_float = SCHEME_DBL_VAL(obj); ++ } ++ # endif ++ else if (SCHEME_STRINGP(obj)) ++ { ++ tv->v_type = VAR_STRING; ++ tv->vval.v_string = vim_strsave((char_u *)SCHEME_STR_VAL(obj)); ++ } ++ else if (SCHEME_VECTORP(obj) || SCHEME_NULLP(obj) ++ || SCHEME_PAIRP(obj) || SCHEME_MUTABLE_PAIRP(obj)) ++ { ++ list_T *list = list_alloc(); ++ if (list == NULL) ++ status = FAIL; ++ else ++ { ++ int i; ++ Scheme_Object *curr = NULL; ++ Scheme_Object *cval = NULL; ++ /* temporary var to hold current element of vectors and pairs */ ++ typval_T *v; ++ ++ MZ_GC_DECL_REG(2); ++ MZ_GC_VAR_IN_REG(0, curr); ++ MZ_GC_VAR_IN_REG(1, cval); ++ MZ_GC_REG(); ++ ++ tv->v_type = VAR_LIST; ++ tv->vval.v_list = list; ++ ++list->lv_refcount; ++ ++ v = (typval_T *)alloc(sizeof(typval_T)); ++ if (v == NULL) ++ status = FAIL; ++ else ++ { ++ /* add the value in advance to allow handling of self-referencial ++ * data structures */ ++ typval_T *visited_tv = (typval_T *)alloc(sizeof(typval_T)); ++ copy_tv(tv, visited_tv); ++ scheme_hash_set(visited, obj, (Scheme_Object *)visited_tv); ++ ++ if (SCHEME_VECTORP(obj)) ++ { ++ for (i = 0; i < SCHEME_VEC_SIZE(obj); ++i) ++ { ++ cval = SCHEME_VEC_ELS(obj)[i]; ++ status = mzscheme_to_vim(cval, v, depth + 1, visited); ++ if (status == FAIL) ++ break; ++ status = list_append_tv(list, v); ++ clear_tv(v); ++ if (status == FAIL) ++ break; ++ } ++ } ++ else if (SCHEME_PAIRP(obj) || SCHEME_MUTABLE_PAIRP(obj)) ++ { ++ for (curr = obj; ++ SCHEME_PAIRP(curr) || SCHEME_MUTABLE_PAIRP(curr); ++ curr = SCHEME_CDR(curr)) ++ { ++ cval = SCHEME_CAR(curr); ++ status = mzscheme_to_vim(cval, v, depth + 1, visited); ++ if (status == FAIL) ++ break; ++ status = list_append_tv(list, v); ++ clear_tv(v); ++ if (status == FAIL) ++ break; ++ } ++ /* impoper list not terminated with null ++ * need to handle the last element */ ++ if (status == OK && !SCHEME_NULLP(curr)) ++ { ++ status = mzscheme_to_vim(cval, v, depth + 1, visited); ++ if (status == OK) ++ { ++ status = list_append_tv(list, v); ++ clear_tv(v); ++ } ++ } ++ } ++ /* nothing to do for scheme_null */ ++ vim_free(v); ++ } ++ MZ_GC_UNREG(); ++ } ++ } ++ else if (SCHEME_HASHTP(obj)) ++ { ++ int i; ++ dict_T *dict; ++ Scheme_Object *key = NULL; ++ Scheme_Object *val = NULL; ++ ++ MZ_GC_DECL_REG(2); ++ MZ_GC_VAR_IN_REG(0, key); ++ MZ_GC_VAR_IN_REG(1, val); ++ MZ_GC_REG(); ++ ++ dict = dict_alloc(); ++ if (dict == NULL) ++ status = FAIL; ++ else ++ { ++ typval_T *visited_tv = (typval_T *)alloc(sizeof(typval_T)); ++ ++ tv->v_type = VAR_DICT; ++ tv->vval.v_dict = dict; ++ ++dict->dv_refcount; ++ ++ copy_tv(tv, visited_tv); ++ scheme_hash_set(visited, obj, (Scheme_Object *)visited_tv); ++ ++ for (i = 0; i < ((Scheme_Hash_Table *)obj)->size; ++i) ++ { ++ if (((Scheme_Hash_Table *) obj)->vals[i] != NULL) ++ { ++ /* generate item for `diplay'ed Scheme key */ ++ dictitem_T *item = dictitem_alloc((char_u *)string_to_line( ++ ((Scheme_Hash_Table *) obj)->keys[i])); ++ /* convert Scheme val to Vim and add it to the dict */ ++ if (mzscheme_to_vim(((Scheme_Hash_Table *) obj)->vals[i], ++ &item->di_tv, depth + 1, visited) == FAIL ++ || dict_add(dict, item) == FAIL) ++ { ++ dictitem_free(item); ++ status = FAIL; ++ break; ++ } ++ } ++ ++ } ++ } ++ MZ_GC_UNREG(); ++ } ++ else ++ { ++ /* `display' any other value to string */ ++ tv->v_type = VAR_STRING; ++ tv->vval.v_string = (char_u *)string_to_line(obj); ++ } ++ return status; ++ } ++ ++ void ++ do_mzeval(char_u *str, typval_T *rettv) ++ { ++ int i; ++ Scheme_Object *ret = NULL; ++ Scheme_Hash_Table *visited = NULL; ++ ++ MZ_GC_DECL_REG(2); ++ MZ_GC_VAR_IN_REG(0, ret); ++ MZ_GC_VAR_IN_REG(0, visited); ++ MZ_GC_REG(); ++ ++ if (mzscheme_init()) ++ { ++ MZ_GC_UNREG(); ++ return; ++ } ++ ++ MZ_GC_CHECK(); ++ visited = scheme_make_hash_table(SCHEME_hash_ptr); ++ MZ_GC_CHECK(); ++ ++ if (eval_with_exn_handling(str, do_eval, &ret) == OK) ++ mzscheme_to_vim(ret, rettv, 1, visited); ++ ++ for (i = 0; i < visited->size; ++i) ++ { ++ /* free up remembered objects */ ++ if (visited->vals[i] != NULL) ++ { ++ free_tv((typval_T *)visited->vals[i]); ++ } ++ } ++ ++ MZ_GC_UNREG(); ++ } + #endif + + /* +*** ../vim-7.2.335/src/proto/eval.pro 2009-09-30 15:15:33.000000000 +0200 +--- src/proto/eval.pro 2010-01-19 15:45:39.000000000 +0100 +*************** +*** 47,56 **** +--- 47,60 ---- + void list_free __ARGS((list_T *l, int recurse)); + dictitem_T *dict_lookup __ARGS((hashitem_T *hi)); + char_u *list_find_str __ARGS((list_T *l, long idx)); ++ int list_append_tv __ARGS((list_T *l, typval_T *tv)); + int list_append_dict __ARGS((list_T *list, dict_T *dict)); + int list_append_string __ARGS((list_T *l, char_u *str, int len)); + int garbage_collect __ARGS((void)); + dict_T *dict_alloc __ARGS((void)); ++ dictitem_T *dictitem_alloc __ARGS((char_u *key)); ++ void dictitem_free __ARGS((dictitem_T *item)); ++ int dict_add __ARGS((dict_T *d, dictitem_T *item)); + int dict_add_nr_str __ARGS((dict_T *d, char *key, long nr, char_u *str)); + char_u *get_dict_string __ARGS((dict_T *d, char_u *key, int save)); + long get_dict_number __ARGS((dict_T *d, char_u *key)); +*************** +*** 77,82 **** +--- 81,87 ---- + void new_script_vars __ARGS((scid_T id)); + void init_var_dict __ARGS((dict_T *dict, dictitem_T *dict_var)); + void vars_clear __ARGS((hashtab_T *ht)); ++ void copy_tv __ARGS((typval_T *from, typval_T *to)); + void ex_echo __ARGS((exarg_T *eap)); + void ex_echohl __ARGS((exarg_T *eap)); + void ex_execute __ARGS((exarg_T *eap)); +*** ../vim-7.2.335/src/proto/if_mzsch.pro 2009-12-16 19:02:05.000000000 +0100 +--- src/proto/if_mzsch.pro 2010-01-19 15:29:01.000000000 +0100 +*************** +*** 15,18 **** +--- 15,19 ---- + void *mzvim_eval_string __ARGS((char_u *str)); + int mzthreads_allowed __ARGS((void)); + void mzscheme_main __ARGS((void)); ++ void do_mzeval __ARGS((char_u *str, typval_T *rettv)); + /* vim: set ft=c : */ +*** ../vim-7.2.335/src/testdir/Make_dos.mak 2009-11-17 17:57:10.000000000 +0100 +--- src/testdir/Make_dos.mak 2010-01-19 15:43:48.000000000 +0100 +*************** +*** 29,35 **** + test42.out test52.out test65.out test66.out test67.out \ + test68.out test69.out + +! SCRIPTS32 = test50.out + + SCRIPTS_GUI = test16.out + +--- 29,35 ---- + test42.out test52.out test65.out test66.out test67.out \ + test68.out test69.out + +! SCRIPTS32 = test50.out test70.out + + SCRIPTS_GUI = test16.out + +*** ../vim-7.2.335/src/testdir/Make_ming.mak 2009-11-17 17:57:10.000000000 +0100 +--- src/testdir/Make_ming.mak 2010-01-19 15:29:01.000000000 +0100 +*************** +*** 48,54 **** + test42.out test52.out test65.out test66.out test67.out \ + test68.out test69.out + +! SCRIPTS32 = test50.out + + SCRIPTS_GUI = test16.out + +--- 48,54 ---- + test42.out test52.out test65.out test66.out test67.out \ + test68.out test69.out + +! SCRIPTS32 = test50.out test70.out + + SCRIPTS_GUI = test16.out + +*************** +*** 78,83 **** +--- 78,84 ---- + -$(DEL) small.vim + -$(DEL) tiny.vim + -$(DEL) mbyte.vim ++ -$(DEL) mzscheme.vim + -$(DEL) X* + -$(DEL) viminfo + +*** ../vim-7.2.335/src/testdir/Makefile 2009-11-17 17:40:34.000000000 +0100 +--- src/testdir/Makefile 2010-01-19 15:29:01.000000000 +0100 +*************** +*** 23,29 **** + test54.out test55.out test56.out test57.out test58.out \ + test59.out test60.out test61.out test62.out test63.out \ + test64.out test65.out test66.out test67.out test68.out \ +! test69.out + + SCRIPTS_GUI = test16.out + +--- 23,29 ---- + test54.out test55.out test56.out test57.out test58.out \ + test59.out test60.out test61.out test62.out test63.out \ + test64.out test65.out test66.out test67.out test68.out \ +! test69.out test70.out + + SCRIPTS_GUI = test16.out + +*************** +*** 44,53 **** + $(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG) + + clean: +! -rm -rf *.out *.failed *.rej *.orig test.log tiny.vim small.vim mbyte.vim test.ok X* valgrind.pid* viminfo + + test1.out: test1.in +! -rm -f $*.failed tiny.vim small.vim mbyte.vim test.ok X* viminfo + $(VALGRIND) $(VIMPROG) -u unix.vim -U NONE --noplugin -s dotest.in $*.in + @/bin/sh -c "if diff test.out $*.ok; \ + then mv -f test.out $*.out; \ +--- 44,53 ---- + $(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG) + + clean: +! -rm -rf *.out *.failed *.rej *.orig test.log tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* valgrind.pid* viminfo + + test1.out: test1.in +! -rm -f $*.failed tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* viminfo + $(VALGRIND) $(VIMPROG) -u unix.vim -U NONE --noplugin -s dotest.in $*.in + @/bin/sh -c "if diff test.out $*.ok; \ + then mv -f test.out $*.out; \ +*** ../vim-7.2.335/src/testdir/main.aap 2004-06-13 21:05:31.000000000 +0200 +--- src/testdir/main.aap 2010-01-19 15:29:01.000000000 +0100 +*************** +*** 32,42 **** + $Scripts $ScriptsGUI: $VimProg + + clean: +! :del {r}{force} *.out test.log tiny.vim small.vim mbyte.vim test.ok X* + + # test1 is special, it checks for features + test1.out: test1.in +! :del {force} test1.failed tiny.vim small.vim mbyte.vim + :sys {i} $VimProg -u unix.vim -U NONE --noplugin -s dotest.in test1.in + @if os.system("diff test.out test1.ok") != 0: + :error test1 FAILED - Something basic is wrong +--- 32,42 ---- + $Scripts $ScriptsGUI: $VimProg + + clean: +! :del {r}{force} *.out test.log tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* + + # test1 is special, it checks for features + test1.out: test1.in +! :del {force} test1.failed tiny.vim small.vim mbyte.vim mzscheme.vim + :sys {i} $VimProg -u unix.vim -U NONE --noplugin -s dotest.in test1.in + @if os.system("diff test.out test1.ok") != 0: + :error test1 FAILED - Something basic is wrong +*** ../vim-7.2.335/src/testdir/test1.in 2004-06-13 20:19:23.000000000 +0200 +--- src/testdir/test1.in 2010-01-19 15:38:44.000000000 +0100 +*************** +*** 13,18 **** +--- 13,19 ---- + + If Vim was not compiled with the +multi_byte feature, the mbyte.vim script will be set like small.vim above. mbyte.vim is sourced by tests that require the + +multi_byte feature. ++ Similar logic is applied to the +mzscheme feature, using mzscheme.vim. + + STARTTEST + :" Write a single line to test.out to check if testing works at all. +*************** +*** 25,32 **** +--- 26,36 ---- + w! test.out + qa! + :w! mbyte.vim ++ :w! mzscheme.vim + :" If +multi_byte feature supported, make mbyte.vim empty. + :if has("multi_byte") | sp another | w! mbyte.vim | q | endif ++ :" If +mzscheme feature supported, make mzscheme.vim empty. ++ :if has("mzscheme") | sp another | w! mzscheme.vim | q | endif + :" If +eval feature supported quit here, leaving tiny.vim and small.vim empty. + :" Otherwise write small.vim to skip the test. + :if 1 | q! | endif +*** ../vim-7.2.335/src/testdir/test70.in 2010-01-19 15:47:24.000000000 +0100 +--- src/testdir/test70.in 2010-01-19 15:29:01.000000000 +0100 +*************** +*** 0 **** +--- 1,53 ---- ++ Smoke test for MzScheme interface and mzeval() function ++ ++ STARTTEST ++ :so mzscheme.vim ++ :set nocompatible viminfo+=nviminfo ++ :function! MzRequire() ++ :redir => l:mzversion ++ :mz (version) ++ :redir END ++ :if strpart(l:mzversion, 1, 1) < "4" ++ :" MzScheme versions < 4.x: ++ :mz (require (prefix vim- vimext)) ++ :else ++ :" newer versions: ++ :mz (require (prefix-in vim- 'vimext)) ++ :mz (require r5rs) ++ :endif ++ :endfunction ++ :silent call MzRequire() ++ :mz (define l '("item0" "dictionary with list OK" "item2")) ++ :mz (define h (make-hash)) ++ :mz (hash-set! h "list" l) ++ /^1 ++ :" change buffer contents ++ :mz (vim-set-buff-line (vim-eval "line('.')") "1 changed line 1") ++ :" scalar test ++ :let tmp_string = mzeval('"string"') ++ :let tmp_1000 = mzeval('1000') ++ :if tmp_string . tmp_1000 == "string1000" ++ :let scalar_res = "OK" ++ :else ++ :let scalar_res = "FAILED" ++ :endif ++ :call append(search("^1"), "scalar test " . scalar_res) ++ :" dictionary containing a list ++ :let tmp = mzeval("h")["list"][1] ++ :/^2/put =tmp ++ :" circular list (at the same time test lists containing lists) ++ :mz (set-car! (cddr l) l) ++ :let l2 = mzeval("h")["list"] ++ :if l2[2] == l2 ++ :let res = "OK" ++ :else ++ :let res = "FAILED" ++ :endif ++ :call setline(search("^3"), "circular test " . res) ++ :?^1?,$w! test.out ++ :qa! ++ ENDTEST ++ ++ 1 line 1 ++ 2 line 2 ++ 3 line 3 +*** ../vim-7.2.335/src/testdir/test70.ok 2010-01-19 15:47:24.000000000 +0100 +--- src/testdir/test70.ok 2010-01-19 15:29:01.000000000 +0100 +*************** +*** 0 **** +--- 1,5 ---- ++ 1 changed line 1 ++ scalar test OK ++ 2 line 2 ++ dictionary with list OK ++ circular test OK +*** ../vim-7.2.335/src/version.c 2010-01-19 15:23:38.000000000 +0100 +--- src/version.c 2010-01-19 15:46:44.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 336, + /**/ + +-- +"Computers in the future may weigh no more than 1.5 tons." + Popular Mechanics, 1949 + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.337 b/source/ap/vim/patches/7.2.337 new file mode 100644 index 000000000..e74528545 --- /dev/null +++ b/source/ap/vim/patches/7.2.337 @@ -0,0 +1,112 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.337 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.337 +Problem: The :compiler command doesn't function properly when invoked in a + function. +Solution: Add "g:" before "current_compiler". (Yukihiro Nakadaira) +Files: src/ex_cmds2.c + + +*** ../vim-7.2.336/src/ex_cmds2.c 2009-05-16 21:16:12.000000000 +0200 +--- src/ex_cmds2.c 2010-01-19 16:02:53.000000000 +0100 +*************** +*** 2496,2509 **** + * To remain backwards compatible "current_compiler" is always + * used. A user's compiler plugin may set it, the distributed + * plugin will then skip the settings. Afterwards set +! * "b:current_compiler" and restore "current_compiler". */ +! old_cur_comp = get_var_value((char_u *)"current_compiler"); + if (old_cur_comp != NULL) + old_cur_comp = vim_strsave(old_cur_comp); + do_cmdline_cmd((char_u *) + "command -nargs=* CompilerSet setlocal <args>"); + } +! do_unlet((char_u *)"current_compiler", TRUE); + do_unlet((char_u *)"b:current_compiler", TRUE); + + sprintf((char *)buf, "compiler/%s.vim", eap->arg); +--- 2496,2510 ---- + * To remain backwards compatible "current_compiler" is always + * used. A user's compiler plugin may set it, the distributed + * plugin will then skip the settings. Afterwards set +! * "b:current_compiler" and restore "current_compiler". +! * Explicitly prepend "g:" to make it work in a function. */ +! old_cur_comp = get_var_value((char_u *)"g:current_compiler"); + if (old_cur_comp != NULL) + old_cur_comp = vim_strsave(old_cur_comp); + do_cmdline_cmd((char_u *) + "command -nargs=* CompilerSet setlocal <args>"); + } +! do_unlet((char_u *)"g:current_compiler", TRUE); + do_unlet((char_u *)"b:current_compiler", TRUE); + + sprintf((char *)buf, "compiler/%s.vim", eap->arg); +*************** +*** 2514,2520 **** + do_cmdline_cmd((char_u *)":delcommand CompilerSet"); + + /* Set "b:current_compiler" from "current_compiler". */ +! p = get_var_value((char_u *)"current_compiler"); + if (p != NULL) + set_internal_string_var((char_u *)"b:current_compiler", p); + +--- 2515,2521 ---- + do_cmdline_cmd((char_u *)":delcommand CompilerSet"); + + /* Set "b:current_compiler" from "current_compiler". */ +! p = get_var_value((char_u *)"g:current_compiler"); + if (p != NULL) + set_internal_string_var((char_u *)"b:current_compiler", p); + +*************** +*** 2523,2534 **** + { + if (old_cur_comp != NULL) + { +! set_internal_string_var((char_u *)"current_compiler", + old_cur_comp); + vim_free(old_cur_comp); + } + else +! do_unlet((char_u *)"current_compiler", TRUE); + } + } + } +--- 2524,2535 ---- + { + if (old_cur_comp != NULL) + { +! set_internal_string_var((char_u *)"g:current_compiler", + old_cur_comp); + vim_free(old_cur_comp); + } + else +! do_unlet((char_u *)"g:current_compiler", TRUE); + } + } + } +*** ../vim-7.2.336/src/version.c 2010-01-19 15:51:29.000000000 +0100 +--- src/version.c 2010-01-19 16:11:20.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 337, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +121. You ask for e-mail adresses instead of telephone numbers. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.338 b/source/ap/vim/patches/7.2.338 new file mode 100644 index 000000000..ac0223f2b --- /dev/null +++ b/source/ap/vim/patches/7.2.338 @@ -0,0 +1,129 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.338 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.338 (after 7.2.300) +Problem: Part of FD_CLOEXEC change is missing. +Solution: Include source file skipped because of typo. +Files: src/ex_cmds2.c + + +*** ../vim-7.2.337/src/ex_cmds2.c 2010-01-19 16:12:53.000000000 +0100 +--- src/ex_cmds2.c 2010-01-19 16:02:53.000000000 +0100 +*************** +*** 2802,2821 **** + + static char_u *get_one_sourceline __ARGS((struct source_cookie *sp)); + +! #if defined(WIN32) && defined(FEAT_CSCOPE) + static FILE *fopen_noinh_readbin __ARGS((char *filename)); + + /* + * Special function to open a file without handle inheritance. + */ + static FILE * + fopen_noinh_readbin(filename) + char *filename; + { +! int fd_tmp = mch_open(filename, O_RDONLY | O_BINARY | O_NOINHERIT, 0); + + if (fd_tmp == -1) + return NULL; + return fdopen(fd_tmp, READBIN); + } + #endif +--- 2802,2836 ---- + + static char_u *get_one_sourceline __ARGS((struct source_cookie *sp)); + +! #if (defined(WIN32) && defined(FEAT_CSCOPE)) || defined(HAVE_FD_CLOEXEC) +! # define USE_FOPEN_NOINH + static FILE *fopen_noinh_readbin __ARGS((char *filename)); + + /* + * Special function to open a file without handle inheritance. ++ * When possible the handle is closed on exec(). + */ + static FILE * + fopen_noinh_readbin(filename) + char *filename; + { +! int fd_tmp = mch_open(filename, O_RDONLY +! # ifdef WIN32 +! O_BINARY | O_NOINHERIT +! # endif +! , 0); + + if (fd_tmp == -1) + return NULL; ++ ++ # ifdef HAVE_FD_CLOEXEC ++ { ++ int fdflags = fcntl(fd_tmp, F_GETFD); ++ if (fdflags >= 0 && (fdflags & FD_CLOEXEC) == 0) ++ fcntl(fd_tmp, F_SETFD, fdflags | FD_CLOEXEC); ++ } ++ # endif ++ + return fdopen(fd_tmp, READBIN); + } + #endif +*************** +*** 2895,2901 **** + apply_autocmds(EVENT_SOURCEPRE, fname_exp, fname_exp, FALSE, curbuf); + #endif + +! #if defined(WIN32) && defined(FEAT_CSCOPE) + cookie.fp = fopen_noinh_readbin((char *)fname_exp); + #else + cookie.fp = mch_fopen((char *)fname_exp, READBIN); +--- 2910,2916 ---- + apply_autocmds(EVENT_SOURCEPRE, fname_exp, fname_exp, FALSE, curbuf); + #endif + +! #ifdef USE_FOPEN_NOINH + cookie.fp = fopen_noinh_readbin((char *)fname_exp); + #else + cookie.fp = mch_fopen((char *)fname_exp, READBIN); +*************** +*** 2916,2922 **** + *p = '.'; + else + *p = '_'; +! #if defined(WIN32) && defined(FEAT_CSCOPE) + cookie.fp = fopen_noinh_readbin((char *)fname_exp); + #else + cookie.fp = mch_fopen((char *)fname_exp, READBIN); +--- 2931,2937 ---- + *p = '.'; + else + *p = '_'; +! #ifdef USE_FOPEN_NOINH + cookie.fp = fopen_noinh_readbin((char *)fname_exp); + #else + cookie.fp = mch_fopen((char *)fname_exp, READBIN); +*** ../vim-7.2.337/src/version.c 2010-01-19 16:12:53.000000000 +0100 +--- src/version.c 2010-01-19 16:20:08.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 338, + /**/ + +-- +~ +~ +~ +".signature" 4 lines, 50 characters written + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.339 b/source/ap/vim/patches/7.2.339 new file mode 100644 index 000000000..77aa94db9 --- /dev/null +++ b/source/ap/vim/patches/7.2.339 @@ -0,0 +1,78 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.339 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.339 (after 7.2.269) +Problem: Part of --startuptime patch is missing. +Solution: Add check for time_fd. +Files: src/ex_cmds2.c + + +*** ../vim-7.2.338/src/ex_cmds2.c 2010-01-19 16:21:55.000000000 +0100 +--- src/ex_cmds2.c 2010-01-19 16:02:53.000000000 +0100 +*************** +*** 3036,3042 **** + #endif + + #ifdef STARTUPTIME +! time_push(&tv_rel, &tv_start); + #endif + + #ifdef FEAT_EVAL +--- 3036,3043 ---- + #endif + + #ifdef STARTUPTIME +! if (time_fd != NULL) +! time_push(&tv_rel, &tv_start); + #endif + + #ifdef FEAT_EVAL +*************** +*** 3162,3170 **** + verbose_leave(); + } + #ifdef STARTUPTIME +! vim_snprintf((char *)IObuff, IOSIZE, "sourcing %s", fname); +! time_msg((char *)IObuff, &tv_start); +! time_pop(&tv_rel); + #endif + + #ifdef FEAT_EVAL +--- 3163,3174 ---- + verbose_leave(); + } + #ifdef STARTUPTIME +! if (time_fd != NULL) +! { +! vim_snprintf((char *)IObuff, IOSIZE, "sourcing %s", fname); +! time_msg((char *)IObuff, &tv_start); +! time_pop(&tv_rel); +! } + #endif + + #ifdef FEAT_EVAL +*** ../vim-7.2.338/src/version.c 2010-01-19 16:21:55.000000000 +0100 +--- src/version.c 2010-01-19 16:25:39.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 339, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +122. You ask if the Netaholics Anonymous t-shirt you ordered can be + sent to you via e-mail. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.340 b/source/ap/vim/patches/7.2.340 new file mode 100644 index 000000000..b0f4babb6 --- /dev/null +++ b/source/ap/vim/patches/7.2.340 @@ -0,0 +1,54 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.340 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.340 +Problem: Gcc warning for condition that can never be true. (James Vega) +Solution: Use start_lvl instead flp->lvl. +Files: src/fold.c + + +*** ../vim-7.2.339/src/fold.c 2009-11-03 18:04:26.000000000 +0100 +--- src/fold.c 2010-01-19 16:45:13.000000000 +0100 +*************** +*** 3239,3246 **** + flp->lvl = n; + flp->lvl_next = n - 1; + /* never start a fold with an end marker */ +! if (flp->lvl_next > flp->lvl) +! flp->lvl_next = flp->lvl; + } + } + else +--- 3239,3246 ---- + flp->lvl = n; + flp->lvl_next = n - 1; + /* never start a fold with an end marker */ +! if (flp->lvl_next > start_lvl) +! flp->lvl_next = start_lvl; + } + } + else +*** ../vim-7.2.339/src/version.c 2010-01-19 16:31:10.000000000 +0100 +--- src/version.c 2010-01-19 17:23:40.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 340, + /**/ + +-- +Would you care for a drink? I mean, if it were, like, +disabled and you had to look after it? + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.341 b/source/ap/vim/patches/7.2.341 new file mode 100644 index 000000000..67d5e81df --- /dev/null +++ b/source/ap/vim/patches/7.2.341 @@ -0,0 +1,69 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.341 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.341 +Problem: Popup menu wraps to next line when double-wide character doesn't + fit. (Jiang Ma) +Solution: Display a ">" instead. (Dominique Pelle) +Files: src/screen.c + + +*** ../vim-7.2.340/src/screen.c 2009-11-25 13:03:29.000000000 +0100 +--- src/screen.c 2010-01-19 17:34:21.000000000 +0100 +*************** +*** 6434,6439 **** +--- 6434,6446 ---- + else + prev_c = u8c; + # endif ++ if (col + mbyte_cells > screen_Columns) ++ { ++ /* Only 1 cell left, but character requires 2 cells: ++ * display a '>' in the last column to avoid wrapping. */ ++ c = '>'; ++ mbyte_cells = 1; ++ } + } + } + #endif +*************** +*** 9210,9216 **** + int force; + { + /* +! * Don't delete it right now, when not redrawing or insided a mapping. + */ + if (!redrawing() || (!force && char_avail() && !KeyTyped)) + redraw_cmdline = TRUE; /* delete mode later */ +--- 9217,9223 ---- + int force; + { + /* +! * Don't delete it right now, when not redrawing or inside a mapping. + */ + if (!redrawing() || (!force && char_avail() && !KeyTyped)) + redraw_cmdline = TRUE; /* delete mode later */ +*** ../vim-7.2.340/src/version.c 2010-01-19 17:24:20.000000000 +0100 +--- src/version.c 2010-01-19 17:39:56.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 341, + /**/ + +-- +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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.342 b/source/ap/vim/patches/7.2.342 new file mode 100644 index 000000000..72bf253e8 --- /dev/null +++ b/source/ap/vim/patches/7.2.342 @@ -0,0 +1,95 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.342 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.342 +Problem: Popup menu displayed wrong in 'rightleft' mode when there are + multi-byte characters. +Solution: Adjust the column computations. (Dominique Pelle) +Files: src/popupmnu.c + + +*** ../vim-7.2.341/src/popupmnu.c 2008-11-15 14:10:23.000000000 +0100 +--- src/popupmnu.c 2010-01-19 17:57:05.000000000 +0100 +*************** +*** 345,365 **** + if (st != NULL) + { + char_u *rt = reverse_text(st); +- char_u *rt_saved = rt; +- int len, j; + + if (rt != NULL) + { +! len = (int)STRLEN(rt); +! if (len > pum_width) + { +! for (j = pum_width; j < len; ++j) + mb_ptr_adv(rt); +! len = pum_width; + } +! screen_puts_len(rt, len, row, +! col - len + 1, attr); +! vim_free(rt_saved); + } + vim_free(st); + } +--- 345,380 ---- + if (st != NULL) + { + char_u *rt = reverse_text(st); + + if (rt != NULL) + { +! char_u *rt_start = rt; +! int size; +! +! size = vim_strsize(rt); +! if (size > pum_width) + { +! do +! { +! size -= has_mbyte +! ? (*mb_ptr2cells)(rt) : 1; + mb_ptr_adv(rt); +! } while (size > pum_width); +! +! if (size < pum_width) +! { +! /* Most left character requires +! * 2-cells but only 1 cell is +! * available on screen. Put a +! * '<' on the left of the pum +! * item */ +! *(--rt) = '<'; +! size++; +! } + } +! screen_puts_len(rt, (int)STRLEN(rt), +! row, col - size + 1, attr); +! vim_free(rt_start); + } + vim_free(st); + } +*** ../vim-7.2.341/src/version.c 2010-01-19 17:40:39.000000000 +0100 +--- src/version.c 2010-01-19 18:03:22.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 342, + /**/ + +-- +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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.343 b/source/ap/vim/patches/7.2.343 new file mode 100644 index 000000000..22031519d --- /dev/null +++ b/source/ap/vim/patches/7.2.343 @@ -0,0 +1,51 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.343 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.343 (after 7.2.338) +Problem: Can't compile on Win32. +Solution: Insert the missing '|'. +Files: src/ex_cmds2.c + + +*** ../vim-7.2.342/src/ex_cmds2.c 2010-01-19 16:31:10.000000000 +0100 +--- src/ex_cmds2.c 2010-01-19 23:22:40.000000000 +0100 +*************** +*** 2816,2822 **** + { + int fd_tmp = mch_open(filename, O_RDONLY + # ifdef WIN32 +! O_BINARY | O_NOINHERIT + # endif + , 0); + +--- 2816,2822 ---- + { + int fd_tmp = mch_open(filename, O_RDONLY + # ifdef WIN32 +! | O_BINARY | O_NOINHERIT + # endif + , 0); + +*** ../vim-7.2.342/src/version.c 2010-01-19 18:05:05.000000000 +0100 +--- src/version.c 2010-01-19 23:24:05.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 343, + /**/ + +-- +I'm writing a book. I've got the page numbers done. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.344 b/source/ap/vim/patches/7.2.344 new file mode 100644 index 000000000..788bbc41c --- /dev/null +++ b/source/ap/vim/patches/7.2.344 @@ -0,0 +1,60 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.344 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.344 (after 7.2.343) +Problem: Can't compile on some systems +Solution: Move the #ifdef outside of the mch_open macro. (Patrick Texier) +Files: src/ex_cmds2.c + + +*** ../vim-7.2.343/src/ex_cmds2.c 2010-01-19 23:25:18.000000000 +0100 +--- src/ex_cmds2.c 2010-01-20 21:38:19.000000000 +0100 +*************** +*** 2814,2824 **** + fopen_noinh_readbin(filename) + char *filename; + { +- int fd_tmp = mch_open(filename, O_RDONLY + # ifdef WIN32 +! | O_BINARY | O_NOINHERIT + # endif +- , 0); + + if (fd_tmp == -1) + return NULL; +--- 2814,2824 ---- + fopen_noinh_readbin(filename) + char *filename; + { + # ifdef WIN32 +! int fd_tmp = mch_open(filename, O_RDONLY | O_BINARY | O_NOINHERIT, 0); +! # else +! int fd_tmp = mch_open(filename, O_RDONLY, 0); + # endif + + if (fd_tmp == -1) + return NULL; +*** ../vim-7.2.343/src/version.c 2010-01-19 23:25:18.000000000 +0100 +--- src/version.c 2010-01-20 21:38:23.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 344, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +128. You can access the Net -- via your portable and cellular phone. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.345 b/source/ap/vim/patches/7.2.345 new file mode 100644 index 000000000..a3b7acf7e --- /dev/null +++ b/source/ap/vim/patches/7.2.345 @@ -0,0 +1,47 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.345 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.345 +Problem: Tab line is not updated when the value of 'bt' is changed. +Solution: Call redraw_titles(). (Lech Lorens) +Files: src/option.c + + +*** ../vim-7.2.344/src/option.c 2009-09-11 15:20:22.000000000 +0200 +--- src/option.c 2010-01-27 15:52:45.000000000 +0100 +*************** +*** 6410,6415 **** +--- 6410,6418 ---- + } + # endif + curbuf->b_help = (curbuf->b_p_bt[0] == 'h'); ++ # ifdef FEAT_TITLE ++ redraw_titles(); ++ # endif + } + } + #endif +*** ../vim-7.2.344/src/version.c 2010-01-20 21:41:40.000000000 +0100 +--- src/version.c 2010-01-27 15:57:06.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 345, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +154. You fondle your mouse. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.346 b/source/ap/vim/patches/7.2.346 new file mode 100644 index 000000000..479aac636 --- /dev/null +++ b/source/ap/vim/patches/7.2.346 @@ -0,0 +1,110 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.346 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.346 +Problem: Repeating a command with @: causes a mapping to be applied twice. +Solution: Do not remap characters inserted in the typeahead buffer. (Kana + Natsuno) +Files: src/ops.c + + +*** ../vim-7.2.345/src/ops.c 2010-01-19 14:59:14.000000000 +0100 +--- src/ops.c 2010-01-19 13:04:46.000000000 +0100 +*************** +*** 1301,1310 **** + } + } + + static int + put_in_typebuf(s, esc, colon, silent) + char_u *s; +! int esc; /* Escape CSI characters */ + int colon; /* add ':' before the line */ + int silent; + { +--- 1301,1316 ---- + } + } + ++ /* ++ * Insert register contents "s" into the typeahead buffer, so that it will be ++ * executed again. ++ * When "esc" is TRUE it is to be taken literally: Escape CSI characters and ++ * no remapping. ++ */ + static int + put_in_typebuf(s, esc, colon, silent) + char_u *s; +! int esc; + int colon; /* add ':' before the line */ + int silent; + { +*************** +*** 1312,1318 **** + + put_reedit_in_typebuf(silent); + if (colon) +! retval = ins_typebuf((char_u *)"\n", REMAP_YES, 0, TRUE, silent); + if (retval == OK) + { + char_u *p; +--- 1318,1324 ---- + + put_reedit_in_typebuf(silent); + if (colon) +! retval = ins_typebuf((char_u *)"\n", REMAP_NONE, 0, TRUE, silent); + if (retval == OK) + { + char_u *p; +*************** +*** 1324,1335 **** + if (p == NULL) + retval = FAIL; + else +! retval = ins_typebuf(p, REMAP_YES, 0, TRUE, silent); + if (esc) + vim_free(p); + } + if (colon && retval == OK) +! retval = ins_typebuf((char_u *)":", REMAP_YES, 0, TRUE, silent); + return retval; + } + +--- 1330,1342 ---- + if (p == NULL) + retval = FAIL; + else +! retval = ins_typebuf(p, esc ? REMAP_NONE : REMAP_YES, +! 0, TRUE, silent); + if (esc) + vim_free(p); + } + if (colon && retval == OK) +! retval = ins_typebuf((char_u *)":", REMAP_NONE, 0, TRUE, silent); + return retval; + } + +*** ../vim-7.2.345/src/version.c 2010-01-27 15:57:17.000000000 +0100 +--- src/version.c 2010-01-27 16:25:55.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 346, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +155. You forget to eat because you're too busy surfing the net. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.347 b/source/ap/vim/patches/7.2.347 new file mode 100644 index 000000000..e5fa17d48 --- /dev/null +++ b/source/ap/vim/patches/7.2.347 @@ -0,0 +1,138 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.347 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.347 +Problem: Crash when executing <expr> mapping redefines that same mapping. +Solution: Save the values used before evaluating the expression. +Files: src/getchar.c + + +*** ../vim-7.2.346/src/getchar.c 2009-11-11 16:23:37.000000000 +0100 +--- src/getchar.c 2010-01-27 17:30:42.000000000 +0100 +*************** +*** 2389,2394 **** +--- 2389,2405 ---- + /* complete match */ + if (keylen >= 0 && keylen <= typebuf.tb_len) + { ++ #ifdef FEAT_EVAL ++ int save_m_expr; ++ int save_m_noremap; ++ int save_m_silent; ++ char_u *save_m_keys; ++ char_u *save_m_str; ++ #else ++ # define save_m_noremap mp->m_noremap ++ # define save_m_silent mp->m_silent ++ #endif ++ + /* write chars to script file(s) */ + if (keylen > typebuf.tb_maplen) + gotchars(typebuf.tb_buf + typebuf.tb_off +*************** +*** 2431,2436 **** +--- 2442,2457 ---- + #endif + + #ifdef FEAT_EVAL ++ /* Copy the values from *mp that are used, because ++ * evaluating the expression may invoke a function ++ * that redefines the mapping, thereby making *mp ++ * invalid. */ ++ save_m_expr = mp->m_expr; ++ save_m_noremap = mp->m_noremap; ++ save_m_silent = mp->m_silent; ++ save_m_keys = NULL; /* only saved when needed */ ++ save_m_str = NULL; /* only saved when needed */ ++ + /* + * Handle ":map <expr>": evaluate the {rhs} as an + * expression. Save and restore the typeahead so that +*************** +*** 2446,2452 **** + if (tabuf.typebuf_valid) + { + vgetc_busy = 0; +! s = eval_map_expr(mp->m_str, NUL); + vgetc_busy = save_vgetc_busy; + } + else +--- 2467,2475 ---- + if (tabuf.typebuf_valid) + { + vgetc_busy = 0; +! save_m_keys = vim_strsave(mp->m_keys); +! save_m_str = vim_strsave(mp->m_str); +! s = eval_map_expr(save_m_str, NUL); + vgetc_busy = save_vgetc_busy; + } + else +*************** +*** 2470,2486 **** + else + { + i = ins_typebuf(s, +! mp->m_noremap != REMAP_YES +! ? mp->m_noremap +! : STRNCMP(s, mp->m_keys, + (size_t)keylen) != 0 + ? REMAP_YES : REMAP_SKIP, +! 0, TRUE, cmd_silent || mp->m_silent); + #ifdef FEAT_EVAL +! if (mp->m_expr) + vim_free(s); + #endif + } + if (i == FAIL) + { + c = -1; +--- 2493,2517 ---- + else + { + i = ins_typebuf(s, +! save_m_noremap != REMAP_YES +! ? save_m_noremap +! : STRNCMP(s, +! #ifdef FEAT_EVAL +! save_m_keys != NULL ? save_m_keys : +! #endif +! mp->m_keys, + (size_t)keylen) != 0 + ? REMAP_YES : REMAP_SKIP, +! 0, TRUE, cmd_silent || save_m_silent); + #ifdef FEAT_EVAL +! if (save_m_expr) + vim_free(s); + #endif + } ++ #ifdef FEAT_EVAL ++ vim_free(save_m_keys); ++ vim_free(save_m_str); ++ #endif + if (i == FAIL) + { + c = -1; +*** ../vim-7.2.346/src/version.c 2010-01-27 16:31:00.000000000 +0100 +--- src/version.c 2010-01-27 17:27:32.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 347, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +156. You forget your friend's name but not her e-mail address. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.348 b/source/ap/vim/patches/7.2.348 new file mode 100644 index 000000000..5f4ffbd03 --- /dev/null +++ b/source/ap/vim/patches/7.2.348 @@ -0,0 +1,254 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.348 (after 7.2.330) +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.348 (after 7.2.330) +Problem: Unicode double-width characters are not up-to date. +Solution: Produce the double-width table like the others. +Files: runtime/tools/unicode.vim, src/mbyte.c + + +*** ../vim-7.2.347/runtime/tools/unicode.vim 2010-01-12 19:48:57.000000000 +0100 +--- runtime/tools/unicode.vim 2010-01-27 17:57:17.000000000 +0100 +*************** +*** 187,202 **** + wincmd p + endfunc + +! " Build the ambiguous table in a new buffer. + " Uses s:widthprops and s:dataprops. +! func! BuildAmbiguousTable() + let start = -1 + let end = -1 + let ranges = [] + let dataidx = 0 + for p in s:widthprops +! if p[1][0] == 'A' +! let n = ('0x' . p[0]) + 0 + " Find this char in the data table. + while 1 + let dn = ('0x' . s:dataprops[dataidx][0]) + 0 +--- 187,213 ---- + wincmd p + endfunc + +! " Build the double width or ambiguous width table in a new buffer. + " Uses s:widthprops and s:dataprops. +! func! BuildWidthTable(pattern, tableName) + let start = -1 + let end = -1 + let ranges = [] + let dataidx = 0 + for p in s:widthprops +! if p[1][0] =~ a:pattern +! if p[0] =~ '\.\.' +! " It is a range. we don't check for composing char then. +! let rng = split(p[0], '\.\.') +! if len(rng) != 2 +! echoerr "Cannot parse range: '" . p[0] . "' in width table" +! endif +! let n = ('0x' . rng[0]) + 0 +! let n_last = ('0x' . rng[1]) + 0 +! else +! let n = ('0x' . p[0]) + 0 +! let n_last = n +! endif + " Find this char in the data table. + while 1 + let dn = ('0x' . s:dataprops[dataidx][0]) + 0 +*************** +*** 205,231 **** + endif + let dataidx += 1 + endwhile +! if dn != n + echoerr "Cannot find character " . n . " in data table" + endif + " Only use the char when it's not a composing char. + let dp = s:dataprops[dataidx] +! if dp[2] != 'Mn' && dp[2] != 'Mc' && dp[2] != 'Me' + if start >= 0 && end + 1 == n + " continue with same range. +- let end = n + else + if start >= 0 + " produce previous range + call add(ranges, printf("\t{0x%04x, 0x%04x},", start, end)) + endif + let start = n +- if p[0] =~ '\.\.' +- let end = ('0x' . substitute(p[0], '.*\.\.', '', '')) + 0 +- else +- let end = n +- endif + endif + endif + endif + endfor +--- 216,238 ---- + endif + let dataidx += 1 + endwhile +! if dn != n && n_last == n + echoerr "Cannot find character " . n . " in data table" + endif + " Only use the char when it's not a composing char. ++ " But use all chars from a range. + let dp = s:dataprops[dataidx] +! if n_last > n || (dp[2] != 'Mn' && dp[2] != 'Mc' && dp[2] != 'Me') + if start >= 0 && end + 1 == n + " continue with same range. + else + if start >= 0 + " produce previous range + call add(ranges, printf("\t{0x%04x, 0x%04x},", start, end)) + endif + let start = n + endif ++ let end = n_last + endif + endif + endfor +*************** +*** 235,242 **** + + " New buffer to put the result in. + new +! file ambiguous +! call setline(1, " static struct interval ambiguous[] =") + call setline(2, " {") + call append('$', ranges) + call setline('$', getline('$')[:-2]) " remove last comma +--- 242,249 ---- + + " New buffer to put the result in. + new +! exe "file " . a:tableName +! call setline(1, " static struct interval " . a:tableName . "[] =") + call setline(2, " {") + call append('$', ranges) + call setline('$', getline('$')[:-2]) " remove last comma +*************** +*** 276,280 **** + " Parse each line, create a list of lists. + call ParseWidthProps() + +! " Build the ambiguous table. +! call BuildAmbiguousTable() +--- 283,290 ---- + " Parse each line, create a list of lists. + call ParseWidthProps() + +! " Build the double width table. +! call BuildWidthTable('[WF]', 'doublewidth') +! +! " Build the ambiguous width table. +! call BuildWidthTable('A', 'ambiguous') +*** ../vim-7.2.347/src/mbyte.c 2010-01-12 19:48:57.000000000 +0100 +--- src/mbyte.c 2010-01-27 18:06:35.000000000 +0100 +*************** +*** 1200,1205 **** +--- 1200,1248 ---- + utf_char2cells(c) + int c; + { ++ /* Sorted list of non-overlapping intervals of East Asian double width ++ * characters, generated with ../runtime/tools/unicode.vim. */ ++ static struct interval doublewidth[] = ++ { ++ {0x1100, 0x115f}, ++ {0x11a3, 0x11a7}, ++ {0x11fa, 0x11ff}, ++ {0x2329, 0x232a}, ++ {0x2e80, 0x2e99}, ++ {0x2e9b, 0x2ef3}, ++ {0x2f00, 0x2fd5}, ++ {0x2ff0, 0x2ffb}, ++ {0x3000, 0x3029}, ++ {0x3030, 0x303e}, ++ {0x3041, 0x3096}, ++ {0x309b, 0x30ff}, ++ {0x3105, 0x312d}, ++ {0x3131, 0x318e}, ++ {0x3190, 0x31b7}, ++ {0x31c0, 0x31e3}, ++ {0x31f0, 0x321e}, ++ {0x3220, 0x3247}, ++ {0x3250, 0x32fe}, ++ {0x3300, 0x4dbf}, ++ {0x4e00, 0xa48c}, ++ {0xa490, 0xa4c6}, ++ {0xa960, 0xa97c}, ++ {0xac00, 0xd7a3}, ++ {0xd7b0, 0xd7c6}, ++ {0xd7cb, 0xd7fb}, ++ {0xf900, 0xfaff}, ++ {0xfe10, 0xfe19}, ++ {0xfe30, 0xfe52}, ++ {0xfe54, 0xfe66}, ++ {0xfe68, 0xfe6b}, ++ {0xff01, 0xff60}, ++ {0xffe0, 0xffe6}, ++ {0x1f200, 0x1f200}, ++ {0x1f210, 0x1f231}, ++ {0x1f240, 0x1f248}, ++ {0x20000, 0x2fffd}, ++ {0x30000, 0x3fffd} ++ }; + /* Sorted list of non-overlapping intervals of East Asian Ambiguous + * characters, generated with ../runtime/tools/unicode.vim. */ + static struct interval ambiguous[] = +*************** +*** 1403,1422 **** + #else + if (!utf_printable(c)) + return 6; /* unprintable, displays <xxxx> */ +! if (c >= 0x1100 +! && (c <= 0x115f /* Hangul Jamo */ +! || c == 0x2329 +! || c == 0x232a +! || (c >= 0x2e80 && c <= 0xa4cf +! && c != 0x303f) /* CJK ... Yi */ +! || (c >= 0xac00 && c <= 0xd7a3) /* Hangul Syllables */ +! || (c >= 0xf900 && c <= 0xfaff) /* CJK Compatibility +! Ideographs */ +! || (c >= 0xfe30 && c <= 0xfe6f) /* CJK Compatibility Forms */ +! || (c >= 0xff00 && c <= 0xff60) /* Fullwidth Forms */ +! || (c >= 0xffe0 && c <= 0xffe6) +! || (c >= 0x20000 && c <= 0x2fffd) +! || (c >= 0x30000 && c <= 0x3fffd))) + return 2; + #endif + } +--- 1446,1452 ---- + #else + if (!utf_printable(c)) + return 6; /* unprintable, displays <xxxx> */ +! if (intable(doublewidth, sizeof(doublewidth), c)) + return 2; + #endif + } +*** ../vim-7.2.347/src/version.c 2010-01-27 17:31:38.000000000 +0100 +--- src/version.c 2010-01-27 18:25:50.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 348, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +157. You fum through a magazine, you first check to see if it has a web + address. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.349 b/source/ap/vim/patches/7.2.349 new file mode 100644 index 000000000..7d0be0204 --- /dev/null +++ b/source/ap/vim/patches/7.2.349 @@ -0,0 +1,53 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.349 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.349 +Problem: CTRL-W gf doesn't put the new tab in the same place as "tab split" + and "gf". (Tony Mechelynck) +Solution: Store the tab number in cmdmod.tab. +Files: src/window.c + + +*** ../vim-7.2.348/src/window.c 2009-06-24 17:31:27.000000000 +0200 +--- src/window.c 2010-01-27 20:23:22.000000000 +0100 +*************** +*** 626,632 **** + #ifdef FEAT_SEARCHPATH + case 'f': /* CTRL-W gf: "gf" in a new tab page */ + case 'F': /* CTRL-W gF: "gF" in a new tab page */ +! cmdmod.tab = TRUE; + nchar = xchar; + goto wingotofile; + #endif +--- 626,632 ---- + #ifdef FEAT_SEARCHPATH + case 'f': /* CTRL-W gf: "gf" in a new tab page */ + case 'F': /* CTRL-W gF: "gF" in a new tab page */ +! cmdmod.tab = tabpage_index(curtab) + 1; + nchar = xchar; + goto wingotofile; + #endif +*** ../vim-7.2.348/src/version.c 2010-01-27 18:29:21.000000000 +0100 +--- src/version.c 2010-01-27 20:25:43.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 349, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +159. You get excited whenever discussing your hard drive. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.350 b/source/ap/vim/patches/7.2.350 new file mode 100644 index 000000000..7715eb30a --- /dev/null +++ b/source/ap/vim/patches/7.2.350 @@ -0,0 +1,86 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.350 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.350 +Problem: Win32: When changing font the window may jump from the secondary + to the primary screen. (Michael Wookey) +Solution: When the screen position was negative don't correct it to zero. +Files: src/gui.c + + +*** ../vim-7.2.349/src/gui.c 2009-09-23 18:14:13.000000000 +0200 +--- src/gui.c 2010-01-27 21:02:32.000000000 +0100 +*************** +*** 1390,1395 **** +--- 1390,1396 ---- + int un_maximize = mustset; + int did_adjust = 0; + #endif ++ int x = -1, y = -1; + + if (!gui.shell_created) + return; +*************** +*** 1406,1411 **** +--- 1407,1416 ---- + + base_width = gui_get_base_width(); + base_height = gui_get_base_height(); ++ if (fit_to_display) ++ /* Remember the original window position. */ ++ gui_mch_get_winpos(&x, &y); ++ + #ifdef USE_SUN_WORKSHOP + if (!mustset && usingSunWorkShop + && workshop_get_width_height(&width, &height)) +*************** +*** 1473,1483 **** + + gui_mch_set_shellsize(width, height, min_width, min_height, + base_width, base_height, direction); +- if (fit_to_display) +- { +- int x, y; + +! /* Some window managers put the Vim window left of/above the screen. */ + gui_mch_update(); + if (gui_mch_get_winpos(&x, &y) == OK && (x < 0 || y < 0)) + gui_mch_set_winpos(x < 0 ? 0 : x, y < 0 ? 0 : y); +--- 1478,1489 ---- + + gui_mch_set_shellsize(width, height, min_width, min_height, + base_width, base_height, direction); + +! if (fit_to_display && x >= 0 && y >= 0) +! { +! /* Some window managers put the Vim window left of/above the screen. +! * Only change the position if it wasn't already negative before +! * (happens on MS-Windows with a secondary monitor). */ + gui_mch_update(); + if (gui_mch_get_winpos(&x, &y) == OK && (x < 0 || y < 0)) + gui_mch_set_winpos(x < 0 ? 0 : x, y < 0 ? 0 : y); +*** ../vim-7.2.349/src/version.c 2010-01-27 20:26:41.000000000 +0100 +--- src/version.c 2010-01-27 21:03:41.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 350, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +160. You get in the elevator and double-click the button for the floor + you want. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.351 b/source/ap/vim/patches/7.2.351 new file mode 100644 index 000000000..55b28f6aa --- /dev/null +++ b/source/ap/vim/patches/7.2.351 @@ -0,0 +1,78 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.351 (after 7.2.347) +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.351 (after 7.2.347) +Problem: Can't build with some compilers. +Solution: Move the #ifdef outside of a macro. Cleanup the code. +Files: src/getchar.c + + +*** ../vim-7.2.350/src/getchar.c 2010-01-27 17:31:38.000000000 +0100 +--- src/getchar.c 2010-01-28 22:42:22.000000000 +0100 +*************** +*** 2492,2508 **** + i = FAIL; + else + { +! i = ins_typebuf(s, +! save_m_noremap != REMAP_YES +! ? save_m_noremap +! : STRNCMP(s, + #ifdef FEAT_EVAL +! save_m_keys != NULL ? save_m_keys : + #endif +! mp->m_keys, +! (size_t)keylen) != 0 +! ? REMAP_YES : REMAP_SKIP, +! 0, TRUE, cmd_silent || save_m_silent); + #ifdef FEAT_EVAL + if (save_m_expr) + vim_free(s); +--- 2492,2515 ---- + i = FAIL; + else + { +! int noremap; +! +! if (save_m_noremap != REMAP_YES) +! noremap = save_m_noremap; +! else if ( + #ifdef FEAT_EVAL +! STRNCMP(s, save_m_keys != NULL +! ? save_m_keys : mp->m_keys, +! (size_t)keylen) +! #else +! STRNCMP(s, mp->m_keys, (size_t)keylen) + #endif +! != 0) +! noremap = REMAP_YES; +! else +! noremap = REMAP_SKIP; +! i = ins_typebuf(s, noremap, +! 0, TRUE, cmd_silent || save_m_silent); + #ifdef FEAT_EVAL + if (save_m_expr) + vim_free(s); +*** ../vim-7.2.350/src/version.c 2010-01-27 21:04:58.000000000 +0100 +--- src/version.c 2010-01-28 22:50:53.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 351, + /**/ + +-- +"Hit any key to continue" it said, but nothing happened after F sharp. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.352 b/source/ap/vim/patches/7.2.352 new file mode 100644 index 000000000..d2e22f2db --- /dev/null +++ b/source/ap/vim/patches/7.2.352 @@ -0,0 +1,62 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.352 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.352 +Problem: Win64: Vim doesn't work when cross-compiled with MingW libraries. +Solution: Always return TRUE for the WM_NCCREATE message. (Andy Kittner) +Files: src/gui_w48.c + + +*** ../vim-7.2.351/src/gui_w48.c 2009-01-28 21:22:20.000000000 +0100 +--- src/gui_w48.c 2010-02-03 12:07:11.000000000 +0100 +*************** +*** 1084,1092 **** + case WM_NOTIFY: Handle_WM_Notify(hwnd, (LPNMHDR)lParam); + return TRUE; + #endif + +! default: +! return MyWindowProc(hwnd, uMsg, wParam, lParam); + } + } + +--- 1084,1098 ---- + case WM_NOTIFY: Handle_WM_Notify(hwnd, (LPNMHDR)lParam); + return TRUE; + #endif ++ /* Workaround for the problem that MyWindowProc() returns FALSE on 64 ++ * bit windows when cross-compiled using Mingw libraries. (Andy ++ * Kittner) */ ++ case WM_NCCREATE: ++ MyWindowProc(hwnd, uMsg, wParam, lParam); ++ return TRUE; + +! default: +! return MyWindowProc(hwnd, uMsg, wParam, lParam); + } + } + +*** ../vim-7.2.351/src/version.c 2010-01-28 22:58:10.000000000 +0100 +--- src/version.c 2010-02-03 12:16:30.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 352, + /**/ + +-- +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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.353 b/source/ap/vim/patches/7.2.353 new file mode 100644 index 000000000..06f9f1719 --- /dev/null +++ b/source/ap/vim/patches/7.2.353 @@ -0,0 +1,173 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.353 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.353 +Problem: No command line completion for ":profile". +Solution: Complete the subcommand and file name. +Files: src/ex_docmd.c, src/ex_cmds2.c, src/ex_getln.c, + src/proto/ex_cmds2.pro, src/vim.h + + +*** ../vim-7.2.352/src/ex_docmd.c 2009-11-03 12:38:50.000000000 +0100 +--- src/ex_docmd.c 2010-02-03 14:40:14.000000000 +0100 +*************** +*** 3804,3809 **** +--- 3804,3814 ---- + xp->xp_context = EXPAND_NOTHING; + break; + #endif ++ #if defined(FEAT_PROFILE) ++ case CMD_profile: ++ set_context_in_profile_cmd(xp, arg); ++ break; ++ #endif + + #endif /* FEAT_CMDL_COMPL */ + +*** ../vim-7.2.352/src/ex_cmds2.c 2010-01-20 21:41:40.000000000 +0100 +--- src/ex_cmds2.c 2010-02-03 14:50:08.000000000 +0100 +*************** +*** 1115,1120 **** +--- 1115,1193 ---- + } + } + ++ /* Command line expansion for :profile. */ ++ static enum ++ { ++ PEXP_SUBCMD, /* expand :profile sub-commands */ ++ PEXP_FUNC, /* expand :profile func {funcname} */ ++ } pexpand_what; ++ ++ static char *pexpand_cmds[] = { ++ "start", ++ #define PROFCMD_START 0 ++ "pause", ++ #define PROFCMD_PAUSE 1 ++ "continue", ++ #define PROFCMD_CONTINUE 2 ++ "func", ++ #define PROFCMD_FUNC 3 ++ "file", ++ #define PROFCMD_FILE 4 ++ NULL ++ #define PROFCMD_LAST 5 ++ }; ++ ++ /* ++ * Function given to ExpandGeneric() to obtain the profile command ++ * specific expansion. ++ */ ++ char_u * ++ get_profile_name(xp, idx) ++ expand_T *xp UNUSED; ++ int idx; ++ { ++ switch (pexpand_what) ++ { ++ case PEXP_SUBCMD: ++ return (char_u *)pexpand_cmds[idx]; ++ /* case PEXP_FUNC: TODO */ ++ default: ++ return NULL; ++ } ++ } ++ ++ /* ++ * Handle command line completion for :profile command. ++ */ ++ void ++ set_context_in_profile_cmd(xp, arg) ++ expand_T *xp; ++ char_u *arg; ++ { ++ char_u *end_subcmd; ++ int len; ++ ++ /* Default: expand subcommands. */ ++ xp->xp_context = EXPAND_PROFILE; ++ pexpand_what = PEXP_SUBCMD; ++ xp->xp_pattern = arg; ++ ++ end_subcmd = skiptowhite(arg); ++ if (*end_subcmd == NUL) ++ return; ++ ++ len = end_subcmd - arg; ++ if (len == 5 && STRNCMP(arg, "start", 5) == 0) ++ { ++ xp->xp_context = EXPAND_FILES; ++ xp->xp_pattern = skipwhite(end_subcmd); ++ return; ++ } ++ ++ /* TODO: expand function names after "func" */ ++ xp->xp_context = EXPAND_NOTHING; ++ } ++ + /* + * Dump the profiling info. + */ +*** ../vim-7.2.352/src/ex_getln.c 2010-01-19 14:59:14.000000000 +0100 +--- src/ex_getln.c 2010-02-03 14:38:43.000000000 +0100 +*************** +*** 4522,4527 **** +--- 4522,4530 ---- + #ifdef FEAT_SIGNS + {EXPAND_SIGN, get_sign_name, TRUE}, + #endif ++ #ifdef FEAT_PROFILE ++ {EXPAND_PROFILE, get_profile_name, TRUE}, ++ #endif + #if (defined(HAVE_LOCALE_H) || defined(X_LOCALE)) \ + && (defined(FEAT_GETTEXT) || defined(FEAT_MBYTE)) + {EXPAND_LANGUAGE, get_lang_arg, TRUE}, +*** ../vim-7.2.352/src/proto/ex_cmds2.pro 2008-01-06 20:07:25.000000000 +0100 +--- src/proto/ex_cmds2.pro 2010-02-03 14:43:12.000000000 +0100 +*************** +*** 24,29 **** +--- 24,31 ---- + int profile_equal __ARGS((proftime_T *tm1, proftime_T *tm2)); + int profile_cmp __ARGS((proftime_T *tm1, proftime_T *tm2)); + void ex_profile __ARGS((exarg_T *eap)); ++ char_u *get_profile_name __ARGS((expand_T *xp, int idx)); ++ void set_context_in_profile_cmd __ARGS((expand_T *xp, char_u *arg)); + void profile_dump __ARGS((void)); + void script_prof_save __ARGS((proftime_T *tm)); + void script_prof_restore __ARGS((proftime_T *tm)); +*** ../vim-7.2.352/src/vim.h 2009-06-16 11:08:13.000000000 +0200 +--- src/vim.h 2010-02-03 14:40:42.000000000 +0100 +*************** +*** 718,723 **** +--- 718,724 ---- + #define EXPAND_SHELLCMD 32 + #define EXPAND_CSCOPE 33 + #define EXPAND_SIGN 34 ++ #define EXPAND_PROFILE 35 + + /* Values for exmode_active (0 is no exmode) */ + #define EXMODE_NORMAL 1 +*** ../vim-7.2.352/src/version.c 2010-02-03 12:23:16.000000000 +0100 +--- src/version.c 2010-02-03 15:07:26.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 353, + /**/ + +-- +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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.354 b/source/ap/vim/patches/7.2.354 new file mode 100644 index 000000000..b4f506646 --- /dev/null +++ b/source/ap/vim/patches/7.2.354 @@ -0,0 +1,78 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.354 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.354 +Problem: Japanese single-width double-byte characters not handled correctly. +Solution: Put 0x8e in ScreenLines[] and the second byte in ScreenLines2[]. + (partly by Kikuchan) +Files: src/screen.c + + +*** ../vim-7.2.353/src/screen.c 2010-01-19 17:40:39.000000000 +0100 +--- src/screen.c 2010-02-03 15:47:19.000000000 +0100 +*************** +*** 2335,2347 **** + if (cells > 1) + ScreenLines[idx + 1] = 0; + } +! else if (cells > 1) /* double-byte character */ +! { +! if (enc_dbcs == DBCS_JPNU && *p == 0x8e) +! ScreenLines2[idx] = p[1]; +! else +! ScreenLines[idx + 1] = p[1]; +! } + col += cells; + idx += cells; + p += c_len; +--- 2335,2346 ---- + if (cells > 1) + ScreenLines[idx + 1] = 0; + } +! else if (enc_dbcs == DBCS_JPNU && *p == 0x8e) +! /* double-byte single width character */ +! ScreenLines2[idx] = p[1]; +! else if (cells > 1) +! /* double-width character */ +! ScreenLines[idx + 1] = p[1]; + col += cells; + idx += cells; + p += c_len; +*************** +*** 4631,4637 **** +--- 4630,4640 ---- + ScreenLines[off] = c; + #ifdef FEAT_MBYTE + if (enc_dbcs == DBCS_JPNU) ++ { ++ if ((mb_c & 0xff00) == 0x8e00) ++ ScreenLines[off] = 0x8e; + ScreenLines2[off] = mb_c & 0xff; ++ } + else if (enc_utf8) + { + if (mb_utf8) +*** ../vim-7.2.353/src/version.c 2010-02-03 15:14:15.000000000 +0100 +--- src/version.c 2010-02-03 15:43:43.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 354, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +189. You put your e-mail address in the upper left-hand corner of envelopes. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.355 b/source/ap/vim/patches/7.2.355 new file mode 100644 index 000000000..b23d44ae5 --- /dev/null +++ b/source/ap/vim/patches/7.2.355 @@ -0,0 +1,88 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.355 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.355 +Problem: Computing the cursor column in validate_cursor_col() is wrong when + line numbers are used and 'n' is not in 'cpoptions', causing the + popup menu to be positioned wrong. +Solution: Correctly use the offset. (partly by Dominique Pelle) +Files: src/move.c + + +*** ../vim-7.2.354/src/move.c 2009-11-03 16:22:59.000000000 +0100 +--- src/move.c 2010-02-03 17:15:16.000000000 +0100 +*************** +*** 889,894 **** +--- 889,895 ---- + { + colnr_T off; + colnr_T col; ++ int width; + + validate_virtcol(); + if (!(curwin->w_valid & VALID_WCOL)) +*************** +*** 896,910 **** + col = curwin->w_virtcol; + off = curwin_col_off(); + col += off; + + /* long line wrapping, adjust curwin->w_wrow */ + if (curwin->w_p_wrap + && col >= (colnr_T)W_WIDTH(curwin) +! && W_WIDTH(curwin) - off + curwin_col_off2() > 0) +! { +! col -= W_WIDTH(curwin); +! col = col % (W_WIDTH(curwin) - off + curwin_col_off2()); +! } + if (col > (int)curwin->w_leftcol) + col -= curwin->w_leftcol; + else +--- 897,910 ---- + col = curwin->w_virtcol; + off = curwin_col_off(); + col += off; ++ width = W_WIDTH(curwin) - off + curwin_col_off2(); + + /* long line wrapping, adjust curwin->w_wrow */ + if (curwin->w_p_wrap + && col >= (colnr_T)W_WIDTH(curwin) +! && width > 0) +! /* use same formula as what is used in curs_columns() */ +! col -= ((col - W_WIDTH(curwin)) / width + 1) * width; + if (col > (int)curwin->w_leftcol) + col -= curwin->w_leftcol; + else +*************** +*** 1041,1046 **** +--- 1041,1047 ---- + /* long line wrapping, adjust curwin->w_wrow */ + if (curwin->w_wcol >= W_WIDTH(curwin)) + { ++ /* this same formula is used in validate_cursor_col() */ + n = (curwin->w_wcol - W_WIDTH(curwin)) / width + 1; + curwin->w_wcol -= n * width; + curwin->w_wrow += n; +*** ../vim-7.2.354/src/version.c 2010-02-03 15:47:59.000000000 +0100 +--- src/version.c 2010-02-03 17:40:39.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 355, + /**/ + +-- +I'm in shape. Round IS a shape. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.356 b/source/ap/vim/patches/7.2.356 new file mode 100644 index 000000000..51b646cd2 --- /dev/null +++ b/source/ap/vim/patches/7.2.356 @@ -0,0 +1,69 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.356 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.356 +Problem: When 'foldmethod' is changed not all folds are closed as expected. +Solution: In foldUpdate() correct the start position and reset fd_flags when + w_foldinvalid is set. (Lech Lorens) +Files: src/fold.c + + +*** ../vim-7.2.355/src/fold.c 2010-01-19 17:24:20.000000000 +0100 +--- src/fold.c 2010-02-03 18:08:11.000000000 +0100 +*************** +*** 849,859 **** + fold_T *fp; + + /* Mark all folds from top to bot as maybe-small. */ +! (void)foldFind(&curwin->w_folds, curwin->w_cursor.lnum, &fp); + while (fp < (fold_T *)curwin->w_folds.ga_data + curwin->w_folds.ga_len + && fp->fd_top < bot) + { + fp->fd_small = MAYBE; + ++fp; + } + +--- 849,865 ---- + fold_T *fp; + + /* Mark all folds from top to bot as maybe-small. */ +! (void)foldFind(&curwin->w_folds, top, &fp); + while (fp < (fold_T *)curwin->w_folds.ga_data + curwin->w_folds.ga_len + && fp->fd_top < bot) + { + fp->fd_small = MAYBE; ++ ++ /* Not sure if this is the right place to reset fd_flags (suggested by ++ * Lech Lorens). */ ++ if (wp->w_foldinvalid) ++ fp->fd_flags = FD_LEVEL; ++ + ++fp; + } + +*** ../vim-7.2.355/src/version.c 2010-02-03 17:42:59.000000000 +0100 +--- src/version.c 2010-02-03 18:12:34.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 356, + /**/ + +-- +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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.357 b/source/ap/vim/patches/7.2.357 new file mode 100644 index 000000000..e1998a8fc --- /dev/null +++ b/source/ap/vim/patches/7.2.357 @@ -0,0 +1,49 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.357 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.357 +Problem: When changing 'fileformat' from/to "mac" and there is a CR in the + text the display is wrong. +Solution: Redraw the text when 'fileformat' is changed. (Ben Schmidt) +Files: src/option.c + + +*** ../vim-7.2.356/src/option.c 2010-01-27 15:57:17.000000000 +0100 +--- src/option.c 2010-02-11 16:57:19.000000000 +0100 +*************** +*** 5867,5872 **** +--- 5867,5876 ---- + #endif + /* update flag in swap file */ + ml_setflags(curbuf); ++ /* Redraw needed when switching to/from "mac": a CR in the text ++ * will be displayed differently. */ ++ if (get_fileformat(curbuf) == EOL_MAC || *oldval == 'm') ++ redraw_curbuf_later(NOT_VALID); + } + } + +*** ../vim-7.2.356/src/version.c 2010-02-03 18:14:41.000000000 +0100 +--- src/version.c 2010-02-11 17:01:36.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 357, + /**/ + +-- +From the classified section of a city newspaper: +Dog for sale: eats anything and is fond of children. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.358 b/source/ap/vim/patches/7.2.358 new file mode 100644 index 000000000..524049d6b --- /dev/null +++ b/source/ap/vim/patches/7.2.358 @@ -0,0 +1,78 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.358 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.358 +Problem: Compiler warnings on VMS. (Zoltan Arpadffy) +Solution: Pass array itself instead its address. Return a value. +Files: src/gui_gtk_x11.c, src/os_unix.c + + +*** ../vim-7.2.357/src/gui_gtk_x11.c 2009-11-03 18:13:36.000000000 +0100 +--- src/gui_gtk_x11.c 2010-02-11 18:00:28.000000000 +0100 +*************** +*** 6190,6196 **** + int pcc[MAX_MCO]; + + /* TODO: use the composing characters */ +! c = utfc_ptr2char_len(p, &pcc, len - (p - s)); + if (c >= 0x10000) /* show chars > 0xffff as ? */ + c = 0xbf; + buf[textlen].byte1 = c >> 8; +--- 6190,6196 ---- + int pcc[MAX_MCO]; + + /* TODO: use the composing characters */ +! c = utfc_ptr2char_len(p, pcc, len - (p - s)); + if (c >= 0x10000) /* show chars > 0xffff as ? */ + c = 0xbf; + buf[textlen].byte1 = c >> 8; +*** ../vim-7.2.357/src/os_unix.c 2009-07-22 13:27:50.000000000 +0200 +--- src/os_unix.c 2010-02-11 18:10:20.000000000 +0100 +*************** +*** 1471,1476 **** +--- 1471,1479 ---- + { + /* This function should not return, it causes exit(). Longjump instead. */ + LONGJMP(lc_jump_env, 1); ++ # ifdef VMS ++ return 0; /* avoid the compiler complains about missing return value */ ++ # endif + } + # endif + +*************** +*** 1490,1495 **** +--- 1493,1501 ---- + + /* This function should not return, it causes exit(). Longjump instead. */ + LONGJMP(x_jump_env, 1); ++ # ifdef VMS ++ return 0; /* avoid the compiler complains about missing return value */ ++ # endif + } + #endif + +*** ../vim-7.2.357/src/version.c 2010-02-11 17:02:04.000000000 +0100 +--- src/version.c 2010-02-11 18:10:45.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 358, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +221. Your wife melts your keyboard in the oven. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.359 b/source/ap/vim/patches/7.2.359 new file mode 100644 index 000000000..eb7ade2aa --- /dev/null +++ b/source/ap/vim/patches/7.2.359 @@ -0,0 +1,68 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.359 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.359 +Problem: Crash when using the Netbeans join command. +Solution: Make sure the ml_flush_line() function is not used recursively. + (Xavier de Gaye) +Files: src/memline.c + + +*** ../vim-7.2.358/src/memline.c 2009-11-17 17:13:03.000000000 +0100 +--- src/memline.c 2010-02-11 18:47:48.000000000 +0100 +*************** +*** 3087,3098 **** +--- 3087,3105 ---- + int start; + int count; + int i; ++ static int entered = FALSE; + + if (buf->b_ml.ml_line_lnum == 0 || buf->b_ml.ml_mfp == NULL) + return; /* nothing to do */ + + if (buf->b_ml.ml_flags & ML_LINE_DIRTY) + { ++ /* This code doesn't work recursively, but Netbeans may call back here ++ * when obtaining the cursor position. */ ++ if (entered) ++ return; ++ entered = TRUE; ++ + lnum = buf->b_ml.ml_line_lnum; + new_line = buf->b_ml.ml_line_ptr; + +*************** +*** 3160,3165 **** +--- 3167,3174 ---- + } + } + vim_free(new_line); ++ ++ entered = FALSE; + } + + buf->b_ml.ml_line_lnum = 0; +*** ../vim-7.2.358/src/version.c 2010-02-11 18:19:32.000000000 +0100 +--- src/version.c 2010-02-11 18:53:55.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 359, + /**/ + +-- +Your fault: core dumped + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.360 b/source/ap/vim/patches/7.2.360 new file mode 100644 index 000000000..7cf46205f --- /dev/null +++ b/source/ap/vim/patches/7.2.360 @@ -0,0 +1,96 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.360 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.360 +Problem: Ruby on MS-Windows: can't use sockets. +Solution: Call NtInitialize() during initialization. (Ariya Mizutani) +Files: src/if_ruby.c + + +*** ../vim-7.2.359/src/if_ruby.c 2009-05-22 18:20:23.000000000 +0200 +--- src/if_ruby.c 2010-02-17 15:04:00.000000000 +0100 +*************** +*** 48,53 **** +--- 48,58 ---- + # endif + #endif + ++ /* suggested by Ariya Mizutani */ ++ #if (_MSC_VER == 1200) ++ # undef _WIN32_WINNT ++ #endif ++ + #include <ruby.h> + + #undef EXTERN +*************** +*** 132,137 **** +--- 137,143 ---- + #define ruby_errinfo (*dll_ruby_errinfo) + #define ruby_init dll_ruby_init + #define ruby_init_loadpath dll_ruby_init_loadpath ++ #define NtInitialize dll_NtInitialize + #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 + # define rb_w32_snprintf dll_rb_w32_snprintf + #endif +*************** +*** 186,191 **** +--- 192,198 ---- + static VALUE *dll_ruby_errinfo; + static void (*dll_ruby_init) (void); + static void (*dll_ruby_init_loadpath) (void); ++ static void (*dll_NtInitialize) (int*, char***); + #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 + static int (*dll_rb_w32_snprintf)(char*, size_t, const char*, ...); + #endif +*************** +*** 248,253 **** +--- 255,261 ---- + {"ruby_errinfo", (RUBY_PROC*)&dll_ruby_errinfo}, + {"ruby_init", (RUBY_PROC*)&dll_ruby_init}, + {"ruby_init_loadpath", (RUBY_PROC*)&dll_ruby_init_loadpath}, ++ {"NtInitialize", (RUBY_PROC*)&dll_NtInitialize}, + #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 + {"rb_w32_snprintf", (RUBY_PROC*)&dll_rb_w32_snprintf}, + #endif +*************** +*** 414,419 **** +--- 422,433 ---- + if (ruby_enabled(TRUE)) + { + #endif ++ #ifdef _WIN32 ++ /* suggested by Ariya Mizutani */ ++ int argc = 1; ++ char *argv[] = {"gvim.exe"}; ++ NtInitialize(&argc, &argv); ++ #endif + ruby_init(); + ruby_init_loadpath(); + ruby_io_init(); +*** ../vim-7.2.359/src/version.c 2010-02-11 18:54:38.000000000 +0100 +--- src/version.c 2010-02-17 15:10:22.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 360, + /**/ + +-- +"After a few years of marriage a man can look right at a woman +without seeing her and a woman can see right through a man +without looking at him." + - Helen Rowland + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.361 b/source/ap/vim/patches/7.2.361 new file mode 100644 index 000000000..ddc585795 --- /dev/null +++ b/source/ap/vim/patches/7.2.361 @@ -0,0 +1,763 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.361 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.361 +Problem: Ruby 1.9 is not supported. +Solution: Add Ruby 1.9 support. (Msaki Suketa) +Files: src/Makefile, src/auto/configure, src/configure.in, src/if_ruby.c + + +*** ../vim-7.2.360/src/Makefile 2010-02-17 15:12:22.000000000 +0100 +--- src/Makefile 2010-02-17 16:21:01.000000000 +0100 +*************** +*** 395,401 **** + + # RUBY + # Uncomment this when you want to include the Ruby interface. +! #CONF_OPT_RUBY = --enable-rubyinterp + + # MZSCHEME + # Uncomment this when you want to include the MzScheme interface. +--- 395,403 ---- + + # RUBY + # Uncomment this when you want to include the Ruby interface. +! # Note: you need the development package (e.g., ruby1.9.1-dev on Ubuntu). +! # CONF_OPT_RUBY = --enable-rubyinterp +! # CONF_OPT_RUBY = --enable-rubyinterp --with-ruby-command=ruby1.9.1 + + # MZSCHEME + # Uncomment this when you want to include the MzScheme interface. +*** ../vim-7.2.360/src/auto/configure 2009-12-16 17:14:08.000000000 +0100 +--- src/auto/configure 2010-02-17 16:08:59.000000000 +0100 +*************** +*** 793,798 **** +--- 793,799 ---- + enable_tclinterp + with_tclsh + enable_rubyinterp ++ with_ruby_command + enable_cscope + enable_workshop + enable_netbeans +*************** +*** 1503,1508 **** +--- 1504,1510 ---- + --with-plthome=PLTHOME Use PLTHOME. + --with-python-config-dir=PATH Python's config directory + --with-tclsh=PATH which tclsh to use (default: tclsh8.0) ++ --with-ruby-command=RUBY name of the Ruby command (default: ruby) + --with-x use the X Window System + --with-gtk-prefix=PFX Prefix where GTK is installed (optional) + --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional) +*************** +*** 5703,5711 **** + { $as_echo "$as_me:$LINENO: result: $enable_rubyinterp" >&5 + $as_echo "$enable_rubyinterp" >&6; } + if test "$enable_rubyinterp" = "yes"; then + +! # Extract the first word of "ruby", so it can be a program name with args. +! set dummy ruby; ac_word=$2 + { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 + $as_echo_n "checking for $ac_word... " >&6; } + if test "${ac_cv_path_vi_cv_path_ruby+set}" = set; then +--- 5705,5725 ---- + { $as_echo "$as_me:$LINENO: result: $enable_rubyinterp" >&5 + $as_echo "$enable_rubyinterp" >&6; } + if test "$enable_rubyinterp" = "yes"; then ++ { $as_echo "$as_me:$LINENO: checking --with-ruby-command argument" >&5 ++ $as_echo_n "checking --with-ruby-command argument... " >&6; } + +! # Check whether --with-ruby-command was given. +! if test "${with_ruby_command+set}" = set; then +! withval=$with_ruby_command; RUBY_CMD="$withval"; { $as_echo "$as_me:$LINENO: result: $RUBY_CMD" >&5 +! $as_echo "$RUBY_CMD" >&6; } +! else +! RUBY_CMD="ruby"; { $as_echo "$as_me:$LINENO: result: defaulting to $RUBY_CMD" >&5 +! $as_echo "defaulting to $RUBY_CMD" >&6; } +! fi +! +! +! # Extract the first word of "$RUBY_CMD", so it can be a program name with args. +! set dummy $RUBY_CMD; ac_word=$2 + { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 + $as_echo_n "checking for $ac_word... " >&6; } + if test "${ac_cv_path_vi_cv_path_ruby+set}" = set; then +*************** +*** 5752,5762 **** + $as_echo "OK" >&6; } + { $as_echo "$as_me:$LINENO: checking Ruby header files" >&5 + $as_echo_n "checking Ruby header files... " >&6; } +! rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG["archdir"] || $hdrdir' 2>/dev/null` + if test "X$rubyhdrdir" != "X"; then + { $as_echo "$as_me:$LINENO: result: $rubyhdrdir" >&5 + $as_echo "$rubyhdrdir" >&6; } + RUBY_CFLAGS="-I$rubyhdrdir" + rubylibs=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["LIBS"]'` + if test "X$rubylibs" != "X"; then + RUBY_LIBS="$rubylibs" +--- 5766,5782 ---- + $as_echo "OK" >&6; } + { $as_echo "$as_me:$LINENO: checking Ruby header files" >&5 + $as_echo_n "checking Ruby header files... " >&6; } +! rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG["rubyhdrdir"] || Config::CONFIG["archdir"] || $hdrdir' 2>/dev/null` + if test "X$rubyhdrdir" != "X"; then + { $as_echo "$as_me:$LINENO: result: $rubyhdrdir" >&5 + $as_echo "$rubyhdrdir" >&6; } + RUBY_CFLAGS="-I$rubyhdrdir" ++ rubyarch=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["arch"]'` ++ if test -d "$rubyhdrdir/$rubyarch"; then ++ RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyhdrdir/$rubyarch" ++ fi ++ rubyversion=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["ruby_version"].gsub(/\./, "")[0,2]'` ++ RUBY_CFLAGS="$RUBY_CFLAGS -DRUBY_VERSION=$rubyversion" + rubylibs=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["LIBS"]'` + if test "X$rubylibs" != "X"; then + RUBY_LIBS="$rubylibs" +*************** +*** 5793,5800 **** + _ACEOF + + else +! { $as_echo "$as_me:$LINENO: result: not found" >&5 +! $as_echo "not found" >&6; } + fi + else + { $as_echo "$as_me:$LINENO: result: too old; need Ruby version 1.6.0 or later" >&5 +--- 5813,5820 ---- + _ACEOF + + else +! { $as_echo "$as_me:$LINENO: result: not found; disabling Ruby" >&5 +! $as_echo "not found; disabling Ruby" >&6; } + fi + else + { $as_echo "$as_me:$LINENO: result: too old; need Ruby version 1.6.0 or later" >&5 +*** ../vim-7.2.360/src/configure.in 2009-12-16 17:14:08.000000000 +0100 +--- src/configure.in 2010-02-17 16:00:58.000000000 +0100 +*************** +*** 949,965 **** + [enable_rubyinterp="no"]) + AC_MSG_RESULT($enable_rubyinterp) + if test "$enable_rubyinterp" = "yes"; then + AC_SUBST(vi_cv_path_ruby) +! AC_PATH_PROG(vi_cv_path_ruby, ruby) + if test "X$vi_cv_path_ruby" != "X"; then + AC_MSG_CHECKING(Ruby version) + if $vi_cv_path_ruby -e '(VERSION rescue RUBY_VERSION) >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then + AC_MSG_RESULT(OK) + AC_MSG_CHECKING(Ruby header files) +! rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG[["archdir"]] || $hdrdir' 2>/dev/null` + if test "X$rubyhdrdir" != "X"; then + AC_MSG_RESULT($rubyhdrdir) + RUBY_CFLAGS="-I$rubyhdrdir" + rubylibs=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["LIBS"]]'` + if test "X$rubylibs" != "X"; then + RUBY_LIBS="$rubylibs" +--- 949,975 ---- + [enable_rubyinterp="no"]) + AC_MSG_RESULT($enable_rubyinterp) + if test "$enable_rubyinterp" = "yes"; then ++ AC_MSG_CHECKING(--with-ruby-command argument) ++ AC_ARG_WITH(ruby-command, [ --with-ruby-command=RUBY name of the Ruby command (default: ruby)], ++ RUBY_CMD="$withval"; AC_MSG_RESULT($RUBY_CMD), ++ RUBY_CMD="ruby"; AC_MSG_RESULT(defaulting to $RUBY_CMD)) + AC_SUBST(vi_cv_path_ruby) +! AC_PATH_PROG(vi_cv_path_ruby, $RUBY_CMD) + if test "X$vi_cv_path_ruby" != "X"; then + AC_MSG_CHECKING(Ruby version) + if $vi_cv_path_ruby -e '(VERSION rescue RUBY_VERSION) >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then + AC_MSG_RESULT(OK) + AC_MSG_CHECKING(Ruby header files) +! rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG[["rubyhdrdir"]] || Config::CONFIG[["archdir"]] || $hdrdir' 2>/dev/null` + if test "X$rubyhdrdir" != "X"; then + AC_MSG_RESULT($rubyhdrdir) + RUBY_CFLAGS="-I$rubyhdrdir" ++ rubyarch=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["arch"]]'` ++ if test -d "$rubyhdrdir/$rubyarch"; then ++ RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyhdrdir/$rubyarch" ++ fi ++ rubyversion=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["ruby_version"]].gsub(/\./, "")[[0,2]]'` ++ RUBY_CFLAGS="$RUBY_CFLAGS -DRUBY_VERSION=$rubyversion" + rubylibs=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["LIBS"]]'` + if test "X$rubylibs" != "X"; then + RUBY_LIBS="$rubylibs" +*************** +*** 997,1003 **** + RUBY_PRO="if_ruby.pro" + AC_DEFINE(FEAT_RUBY) + else +! AC_MSG_RESULT(not found, disabling Ruby) + fi + else + AC_MSG_RESULT(too old; need Ruby version 1.6.0 or later) +--- 1007,1013 ---- + RUBY_PRO="if_ruby.pro" + AC_DEFINE(FEAT_RUBY) + else +! AC_MSG_RESULT(not found; disabling Ruby) + fi + else + AC_MSG_RESULT(too old; need Ruby version 1.6.0 or later) +*** ../vim-7.2.360/src/if_ruby.c 2010-02-17 15:11:35.000000000 +0100 +--- src/if_ruby.c 2010-02-17 16:08:47.000000000 +0100 +*************** +*** 54,59 **** +--- 54,62 ---- + #endif + + #include <ruby.h> ++ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 ++ # include <ruby/encoding.h> ++ #endif + + #undef EXTERN + #undef _ +*************** +*** 65,70 **** +--- 68,95 ---- + # define __OPENTRANSPORTPROVIDERS__ + #endif + ++ /* ++ * Backward compatiblity for Ruby 1.8 and earlier. ++ * Ruby 1.9 does not provide STR2CSTR, instead StringValuePtr is provided. ++ * Ruby 1.9 does not provide RXXX(s)->len and RXXX(s)->ptr, instead ++ * RXXX_LEN(s) and RXXX_PTR(s) are provided. ++ */ ++ #ifndef StringValuePtr ++ # define StringValuePtr(s) STR2CSTR(s) ++ #endif ++ #ifndef RARRAY_LEN ++ # define RARRAY_LEN(s) RARRAY(s)->len ++ #endif ++ #ifndef RARRAY_PTR ++ # define RARRAY_PTR(s) RARRAY(s)->ptr ++ #endif ++ #ifndef RSTRING_LEN ++ # define RSTRING_LEN(s) RSTRING(s)->len ++ #endif ++ #ifndef RSTRING_PTR ++ # define RSTRING_PTR(s) RSTRING(s)->ptr ++ #endif ++ + #include "vim.h" + #include "version.h" + +*************** +*** 134,140 **** + #define rb_str_concat dll_rb_str_concat + #define rb_str_new dll_rb_str_new + #define rb_str_new2 dll_rb_str_new2 +! #define ruby_errinfo (*dll_ruby_errinfo) + #define ruby_init dll_ruby_init + #define ruby_init_loadpath dll_ruby_init_loadpath + #define NtInitialize dll_NtInitialize +--- 159,169 ---- + #define rb_str_concat dll_rb_str_concat + #define rb_str_new dll_rb_str_new + #define rb_str_new2 dll_rb_str_new2 +! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 +! # define rb_errinfo dll_rb_errinfo +! #else +! # define ruby_errinfo (*dll_ruby_errinfo) +! #endif + #define ruby_init dll_ruby_init + #define ruby_init_loadpath dll_ruby_init_loadpath + #define NtInitialize dll_NtInitialize +*************** +*** 142,147 **** +--- 171,184 ---- + # define rb_w32_snprintf dll_rb_w32_snprintf + #endif + ++ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 ++ # define ruby_script dll_ruby_script ++ # define rb_enc_find_index dll_rb_enc_find_index ++ # define rb_enc_find dll_rb_enc_find ++ # define rb_enc_str_new dll_rb_enc_str_new ++ # define rb_sprintf dll_rb_sprintf ++ #endif ++ + /* + * Pointers for dynamic link + */ +*************** +*** 189,195 **** +--- 226,236 ---- + static VALUE (*dll_rb_str_concat) (VALUE, VALUE); + static VALUE (*dll_rb_str_new) (const char*, long); + static VALUE (*dll_rb_str_new2) (const char*); ++ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 ++ static VALUE (*dll_rb_errinfo) (void); ++ #else + static VALUE *dll_ruby_errinfo; ++ #endif + static void (*dll_ruby_init) (void); + static void (*dll_ruby_init_loadpath) (void); + static void (*dll_NtInitialize) (int*, char***); +*************** +*** 197,202 **** +--- 238,251 ---- + static int (*dll_rb_w32_snprintf)(char*, size_t, const char*, ...); + #endif + ++ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 ++ static void (*dll_ruby_script) (const char*); ++ static int (*dll_rb_enc_find_index) (const char*); ++ static rb_encoding* (*dll_rb_enc_find) (const char*); ++ static VALUE (*dll_rb_enc_str_new) (const char*, long, rb_encoding*); ++ static VALUE (*dll_rb_sprintf) (const char*, ...); ++ #endif ++ + static HINSTANCE hinstRuby = 0; /* Instance of ruby.dll */ + + /* +*************** +*** 252,264 **** +--- 301,324 ---- + {"rb_str_concat", (RUBY_PROC*)&dll_rb_str_concat}, + {"rb_str_new", (RUBY_PROC*)&dll_rb_str_new}, + {"rb_str_new2", (RUBY_PROC*)&dll_rb_str_new2}, ++ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 ++ {"rb_errinfo", (RUBY_PROC*)&dll_rb_errinfo}, ++ #else + {"ruby_errinfo", (RUBY_PROC*)&dll_ruby_errinfo}, ++ #endif + {"ruby_init", (RUBY_PROC*)&dll_ruby_init}, + {"ruby_init_loadpath", (RUBY_PROC*)&dll_ruby_init_loadpath}, + {"NtInitialize", (RUBY_PROC*)&dll_NtInitialize}, + #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 + {"rb_w32_snprintf", (RUBY_PROC*)&dll_rb_w32_snprintf}, + #endif ++ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 ++ {"ruby_script", (RUBY_PROC*)&dll_ruby_script}, ++ {"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index}, ++ {"rb_enc_find", (RUBY_PROC*)&dll_rb_enc_find}, ++ {"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new}, ++ {"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf}, ++ #endif + {"", NULL}, + }; + +*************** +*** 348,353 **** +--- 408,465 ---- + vim_free(script); + } + ++ /* ++ * In Ruby 1.9 or later, ruby String object has encoding. ++ * conversion buffer string of vim to ruby String object using ++ * VIM encoding option. ++ */ ++ static VALUE ++ vim_str2rb_enc_str(const char *s) ++ { ++ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 ++ int isnum; ++ long lval; ++ char_u *sval; ++ rb_encoding *enc; ++ ++ isnum = get_option_value((char_u *)"enc", &lval, &sval, 0); ++ if (isnum == 0) ++ { ++ enc = rb_enc_find((char *)sval); ++ vim_free(sval); ++ if (enc) { ++ return rb_enc_str_new(s, strlen(s), enc); ++ } ++ } ++ #endif ++ return rb_str_new2(s); ++ } ++ ++ static VALUE ++ eval_enc_string_protect(const char *str, int *state) ++ { ++ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 ++ int isnum; ++ long lval; ++ char_u *sval; ++ rb_encoding *enc; ++ VALUE v; ++ ++ isnum = get_option_value((char_u *)"enc", &lval, &sval, 0); ++ if (isnum == 0) ++ { ++ enc = rb_enc_find((char *)sval); ++ vim_free(sval); ++ if (enc) ++ { ++ v = rb_sprintf("#-*- coding:%s -*-\n%s", rb_enc_name(enc), str); ++ return rb_eval_string_protect(StringValuePtr(v), state); ++ } ++ } ++ #endif ++ return rb_eval_string_protect(str, state); ++ } ++ + void ex_rubydo(exarg_T *eap) + { + int state; +*************** +*** 360,368 **** + for (i = eap->line1; i <= eap->line2; i++) { + VALUE line, oldline; + +! line = oldline = rb_str_new2((char *)ml_get(i)); + rb_lastline_set(line); +! rb_eval_string_protect((char *) eap->arg, &state); + if (state) { + error_print(state); + break; +--- 472,480 ---- + for (i = eap->line1; i <= eap->line2; i++) { + VALUE line, oldline; + +! line = oldline = vim_str2rb_enc_str((char *)ml_get(i)); + rb_lastline_set(line); +! eval_enc_string_protect((char *) eap->arg, &state); + if (state) { + error_print(state); + break; +*************** +*** 373,379 **** + EMSG(_("E265: $_ must be an instance of String")); + return; + } +! ml_replace(i, (char_u *) STR2CSTR(line), 1); + changed(); + #ifdef SYNTAX_HL + syn_changed(i); /* recompute syntax hl. for this line */ +--- 485,491 ---- + EMSG(_("E265: $_ must be an instance of String")); + return; + } +! ml_replace(i, (char_u *) StringValuePtr(line), 1); + changed(); + #ifdef SYNTAX_HL + syn_changed(i); /* recompute syntax hl. for this line */ +*************** +*** 428,436 **** +--- 540,557 ---- + char *argv[] = {"gvim.exe"}; + NtInitialize(&argc, &argv); + #endif ++ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 ++ RUBY_INIT_STACK; ++ #endif + ruby_init(); ++ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 ++ ruby_script("vim-ruby"); ++ #endif + ruby_init_loadpath(); + ruby_io_init(); ++ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 ++ rb_enc_find_index("encdb"); ++ #endif + ruby_vim_init(); + ruby_initialized = 1; + #ifdef DYNAMIC_RUBY +*************** +*** 448,455 **** +--- 569,578 ---- + static void error_print(int state) + { + #ifndef DYNAMIC_RUBY ++ #if !(defined(RUBY_VERSION) && RUBY_VERSION >= 19) + RUBYEXTERN VALUE ruby_errinfo; + #endif ++ #endif + VALUE eclass; + VALUE einfo; + char buff[BUFSIZ]; +*************** +*** 482,490 **** + break; + case TAG_RAISE: + case TAG_FATAL: + eclass = CLASS_OF(ruby_errinfo); + einfo = rb_obj_as_string(ruby_errinfo); +! if (eclass == rb_eRuntimeError && RSTRING(einfo)->len == 0) { + EMSG(_("E272: unhandled exception")); + } + else { +--- 605,618 ---- + break; + case TAG_RAISE: + case TAG_FATAL: ++ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 ++ eclass = CLASS_OF(rb_errinfo()); ++ einfo = rb_obj_as_string(rb_errinfo()); ++ #else + eclass = CLASS_OF(ruby_errinfo); + einfo = rb_obj_as_string(ruby_errinfo); +! #endif +! if (eclass == rb_eRuntimeError && RSTRING_LEN(einfo) == 0) { + EMSG(_("E272: unhandled exception")); + } + else { +*************** +*** 493,499 **** + + epath = rb_class_path(eclass); + vim_snprintf(buff, BUFSIZ, "%s: %s", +! RSTRING(epath)->ptr, RSTRING(einfo)->ptr); + p = strchr(buff, '\n'); + if (p) *p = '\0'; + EMSG(buff); +--- 621,627 ---- + + epath = rb_class_path(eclass); + vim_snprintf(buff, BUFSIZ, "%s: %s", +! RSTRING_PTR(epath), RSTRING_PTR(einfo)); + p = strchr(buff, '\n'); + if (p) *p = '\0'; + EMSG(buff); +*************** +*** 511,518 **** + char *buff, *p; + + str = rb_obj_as_string(str); +! buff = ALLOCA_N(char, RSTRING(str)->len); +! strcpy(buff, RSTRING(str)->ptr); + p = strchr(buff, '\n'); + if (p) *p = '\0'; + MSG(buff); +--- 639,646 ---- + char *buff, *p; + + str = rb_obj_as_string(str); +! buff = ALLOCA_N(char, RSTRING_LEN(str)); +! strcpy(buff, RSTRING_PTR(str)); + p = strchr(buff, '\n'); + if (p) *p = '\0'; + MSG(buff); +*************** +*** 521,541 **** + + static VALUE vim_set_option(VALUE self UNUSED, VALUE str) + { +! do_set((char_u *)STR2CSTR(str), 0); + update_screen(NOT_VALID); + return Qnil; + } + + static VALUE vim_command(VALUE self UNUSED, VALUE str) + { +! do_cmdline_cmd((char_u *)STR2CSTR(str)); + return Qnil; + } + + static VALUE vim_evaluate(VALUE self UNUSED, VALUE str) + { + #ifdef FEAT_EVAL +! char_u *value = eval_to_string((char_u *)STR2CSTR(str), NULL, TRUE); + + if (value != NULL) + { +--- 649,669 ---- + + static VALUE vim_set_option(VALUE self UNUSED, VALUE str) + { +! do_set((char_u *)StringValuePtr(str), 0); + update_screen(NOT_VALID); + return Qnil; + } + + static VALUE vim_command(VALUE self UNUSED, VALUE str) + { +! do_cmdline_cmd((char_u *)StringValuePtr(str)); + return Qnil; + } + + static VALUE vim_evaluate(VALUE self UNUSED, VALUE str) + { + #ifdef FEAT_EVAL +! char_u *value = eval_to_string((char_u *)StringValuePtr(str), NULL, TRUE); + + if (value != NULL) + { +*************** +*** 640,648 **** + if (n > 0 && n <= buf->b_ml.ml_line_count) + { + char *line = (char *)ml_get_buf(buf, n, FALSE); +! return line ? rb_str_new2(line) : Qnil; + } +! rb_raise(rb_eIndexError, "index %d out of buffer", n); + #ifndef __GNUC__ + return Qnil; /* For stop warning */ + #endif +--- 768,776 ---- + if (n > 0 && n <= buf->b_ml.ml_line_count) + { + char *line = (char *)ml_get_buf(buf, n, FALSE); +! return line ? vim_str2rb_enc_str(line) : Qnil; + } +! rb_raise(rb_eIndexError, "line number %ld out of range", (long)n); + #ifndef __GNUC__ + return Qnil; /* For stop warning */ + #endif +*************** +*** 659,665 **** + + static VALUE set_buffer_line(buf_T *buf, linenr_T n, VALUE str) + { +! char *line = STR2CSTR(str); + aco_save_T aco; + + if (n > 0 && n <= buf->b_ml.ml_line_count && line != NULL) +--- 787,793 ---- + + static VALUE set_buffer_line(buf_T *buf, linenr_T n, VALUE str) + { +! char *line = StringValuePtr(str); + aco_save_T aco; + + if (n > 0 && n <= buf->b_ml.ml_line_count && line != NULL) +*************** +*** 683,689 **** + } + else + { +! rb_raise(rb_eIndexError, "index %d out of buffer", n); + #ifndef __GNUC__ + return Qnil; /* For stop warning */ + #endif +--- 811,817 ---- + } + else + { +! rb_raise(rb_eIndexError, "line number %ld out of range", (long)n); + #ifndef __GNUC__ + return Qnil; /* For stop warning */ + #endif +*************** +*** 729,735 **** + } + else + { +! rb_raise(rb_eIndexError, "index %d out of buffer", n); + } + return Qnil; + } +--- 857,863 ---- + } + else + { +! rb_raise(rb_eIndexError, "line number %ld out of range", n); + } + return Qnil; + } +*************** +*** 737,747 **** + static VALUE buffer_append(VALUE self, VALUE num, VALUE str) + { + buf_T *buf = get_buf(self); +! char *line = STR2CSTR(str); + long n = NUM2LONG(num); + aco_save_T aco; + +! if (n >= 0 && n <= buf->b_ml.ml_line_count && line != NULL) + { + /* set curwin/curbuf for "buf" and save some things */ + aucmd_prepbuf(&aco, buf); +--- 865,878 ---- + static VALUE buffer_append(VALUE self, VALUE num, VALUE str) + { + buf_T *buf = get_buf(self); +! char *line = StringValuePtr(str); + long n = NUM2LONG(num); + aco_save_T aco; + +! if (line != NULL) { +! rb_raise(rb_eIndexError, "NULL line"); +! } +! else if (n >= 0 && n <= buf->b_ml.ml_line_count) + { + /* set curwin/curbuf for "buf" and save some things */ + aucmd_prepbuf(&aco, buf); +*************** +*** 763,769 **** + update_curbuf(NOT_VALID); + } + else { +! rb_raise(rb_eIndexError, "index %d out of buffer", n); + } + return str; + } +--- 894,900 ---- + update_curbuf(NOT_VALID); + } + else { +! rb_raise(rb_eIndexError, "line number %ld out of range", n); + } + return str; + } +*************** +*** 904,913 **** + win_T *win = get_win(self); + + Check_Type(pos, T_ARRAY); +! if (RARRAY(pos)->len != 2) + rb_raise(rb_eArgError, "array length must be 2"); +! lnum = RARRAY(pos)->ptr[0]; +! col = RARRAY(pos)->ptr[1]; + win->w_cursor.lnum = NUM2LONG(lnum); + win->w_cursor.col = NUM2UINT(col); + check_cursor(); /* put cursor on an existing line */ +--- 1035,1044 ---- + win_T *win = get_win(self); + + Check_Type(pos, T_ARRAY); +! if (RARRAY_LEN(pos) != 2) + rb_raise(rb_eArgError, "array length must be 2"); +! lnum = RARRAY_PTR(pos)[0]; +! col = RARRAY_PTR(pos)[1]; + win->w_cursor.lnum = NUM2LONG(lnum); + win->w_cursor.col = NUM2UINT(col); + check_cursor(); /* put cursor on an existing line */ +*************** +*** 924,930 **** + if (i > 0) rb_str_cat(str, ", ", 2); + rb_str_concat(str, rb_inspect(argv[i])); + } +! MSG(RSTRING(str)->ptr); + return Qnil; + } + +--- 1055,1061 ---- + if (i > 0) rb_str_cat(str, ", ", 2); + rb_str_concat(str, rb_inspect(argv[i])); + } +! MSG(RSTRING_PTR(str)); + return Qnil; + } + +*** ../vim-7.2.360/src/version.c 2010-02-17 15:11:35.000000000 +0100 +--- src/version.c 2010-02-17 15:59:12.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 361, + /**/ + +-- +"Marriage is when a man and woman become as one; the trouble starts +when they try to decide which one" + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.362 b/source/ap/vim/patches/7.2.362 new file mode 100644 index 000000000..2f62cf624 --- /dev/null +++ b/source/ap/vim/patches/7.2.362 @@ -0,0 +1,95 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.362 (extra) +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.362 (extra, after 7.2.352) +Problem: Win64: Vim doesn't work when cross-compiled with MingW libraries. +Solution: Instead of handling WM_NCCREATE, create wide text area window + class if the parent window iw side. (Sergey Khorev) +Files: src/gui_w32.c, src/gui_w48.c + + +*** ../vim-7.2.361/src/gui_w32.c 2009-12-24 16:11:24.000000000 +0100 +--- src/gui_w32.c 2010-02-17 16:26:58.000000000 +0100 +*************** +*** 1329,1334 **** +--- 1329,1335 ---- + WNDCLASS wndclass; + #ifdef FEAT_MBYTE + const WCHAR szVimWndClassW[] = VIM_CLASSW; ++ const WCHAR szTextAreaClassW[] = L"VimTextArea"; + WNDCLASSW wndclassw; + #endif + #ifdef GLOBAL_IME +*************** +*** 1479,1484 **** +--- 1480,1507 ---- + #endif + + /* Create the text area window */ ++ #ifdef FEAT_MBYTE ++ if (wide_WindowProc) ++ { ++ if (GetClassInfoW(s_hinst, szTextAreaClassW, &wndclassw) == 0) ++ { ++ wndclassw.style = CS_OWNDC; ++ wndclassw.lpfnWndProc = _TextAreaWndProc; ++ wndclassw.cbClsExtra = 0; ++ wndclassw.cbWndExtra = 0; ++ wndclassw.hInstance = s_hinst; ++ wndclassw.hIcon = NULL; ++ wndclassw.hCursor = LoadCursor(NULL, IDC_ARROW); ++ wndclassw.hbrBackground = NULL; ++ wndclassw.lpszMenuName = NULL; ++ wndclassw.lpszClassName = szTextAreaClassW; ++ ++ if (RegisterClassW(&wndclassw) == 0) ++ return FAIL; ++ } ++ } ++ else ++ #endif + if (GetClassInfo(s_hinst, szTextAreaClass, &wndclass) == 0) + { + wndclass.style = CS_OWNDC; +*** ../vim-7.2.361/src/gui_w48.c 2010-02-03 12:23:16.000000000 +0100 +--- src/gui_w48.c 2010-02-17 16:27:21.000000000 +0100 +*************** +*** 1084,1096 **** + case WM_NOTIFY: Handle_WM_Notify(hwnd, (LPNMHDR)lParam); + return TRUE; + #endif +- /* Workaround for the problem that MyWindowProc() returns FALSE on 64 +- * bit windows when cross-compiled using Mingw libraries. (Andy +- * Kittner) */ +- case WM_NCCREATE: +- MyWindowProc(hwnd, uMsg, wParam, lParam); +- return TRUE; +- + default: + return MyWindowProc(hwnd, uMsg, wParam, lParam); + } +--- 1084,1089 ---- +*** ../vim-7.2.361/src/version.c 2010-02-17 16:23:03.000000000 +0100 +--- src/version.c 2010-02-17 16:30:52.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 362, + /**/ + +-- +"Marriage is the process of finding out what kind of man your wife +would have preferred" + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.363 b/source/ap/vim/patches/7.2.363 new file mode 100644 index 000000000..2447103ba --- /dev/null +++ b/source/ap/vim/patches/7.2.363 @@ -0,0 +1,70 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.363 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.363 +Problem: Can't dynamically load Perl 5.10. +Solution: Add the function Perl_croak_xs_usage. (Sergey Khorev) +Files: src/if_perl.xs + + +*** ../vim-7.2.362/src/if_perl.xs 2009-11-11 14:45:36.000000000 +0100 +--- src/if_perl.xs 2010-02-17 16:33:16.000000000 +0100 +*************** +*** 93,98 **** +--- 93,101 ---- + # define perl_free dll_perl_free + # define Perl_get_context dll_Perl_get_context + # define Perl_croak dll_Perl_croak ++ # if (PERL_REVISION == 5) && (PERL_VERSION >= 10) ++ # define Perl_croak_xs_usage dll_Perl_croak_xs_usage ++ # endif + # ifndef PROTO + # define Perl_croak_nocontext dll_Perl_croak_nocontext + # define Perl_call_argv dll_Perl_call_argv +*************** +*** 202,207 **** +--- 205,213 ---- + static int (*perl_parse)(PerlInterpreter*, XSINIT_t, int, char**, char**); + static void* (*Perl_get_context)(void); + static void (*Perl_croak)(pTHX_ const char*, ...); ++ #if (PERL_REVISION == 5) && (PERL_VERSION >= 10) ++ static void (*Perl_croak_xs_usage)(pTHX_ const CV *const, const char *const params); ++ #endif + static void (*Perl_croak_nocontext)(const char*, ...); + static I32 (*Perl_dowantarray)(pTHX); + static void (*Perl_free_tmps)(pTHX); +*************** +*** 306,311 **** +--- 312,320 ---- + {"perl_parse", (PERL_PROC*)&perl_parse}, + {"Perl_get_context", (PERL_PROC*)&Perl_get_context}, + {"Perl_croak", (PERL_PROC*)&Perl_croak}, ++ #if (PERL_REVISION == 5) && (PERL_VERSION >= 10) ++ {"Perl_croak_xs_usage", (PERL_PROC*)&Perl_croak_xs_usage}, ++ #endif + {"Perl_croak_nocontext", (PERL_PROC*)&Perl_croak_nocontext}, + {"Perl_dowantarray", (PERL_PROC*)&Perl_dowantarray}, + {"Perl_free_tmps", (PERL_PROC*)&Perl_free_tmps}, +*** ../vim-7.2.362/src/version.c 2010-02-17 16:31:27.000000000 +0100 +--- src/version.c 2010-02-17 16:35:39.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 363, + /**/ + +-- +If you're sending someone Styrofoam, what do you pack it in? + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.364 b/source/ap/vim/patches/7.2.364 new file mode 100644 index 000000000..c3c6e8b63 --- /dev/null +++ b/source/ap/vim/patches/7.2.364 @@ -0,0 +1,91 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.364 (extra) +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.364 (extra) +Problem: Can't build gvimext.dll on Win 7 x64 using MinGW (John Marriott) +Solution: Check if _MSC_VER is defined. (Andy Kittner) +Files: src/GvimExt/gvimext.h + + +*** ../vim-7.2.363/src/GvimExt/gvimext.h 2006-04-24 21:23:03.000000000 +0200 +--- src/GvimExt/gvimext.h 2010-02-17 17:20:00.000000000 +0100 +*************** +*** 14,22 **** + #if !defined(AFX_STDAFX_H__3389658B_AD83_11D3_9C1E_0090278BBD99__INCLUDED_) + #define AFX_STDAFX_H__3389658B_AD83_11D3_9C1E_0090278BBD99__INCLUDED_ + +! #if _MSC_VER > 1000 + #pragma once +! #endif // _MSC_VER > 1000 + + // Insert your headers here + // #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers +--- 14,22 ---- + #if !defined(AFX_STDAFX_H__3389658B_AD83_11D3_9C1E_0090278BBD99__INCLUDED_) + #define AFX_STDAFX_H__3389658B_AD83_11D3_9C1E_0090278BBD99__INCLUDED_ + +! #if defined(_MSC_VER) && _MSC_VER > 1000 + #pragma once +! #endif + + // Insert your headers here + // #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers +*************** +*** 34,40 **** + #define INC_OLE2 // WIN32, get ole2 from windows.h + + /* Visual Studio 2005 has 'deprecated' many of the standard CRT functions */ +! #if _MSC_VER >= 1400 + # define _CRT_SECURE_NO_DEPRECATE + # define _CRT_NONSTDC_NO_DEPRECATE + #endif +--- 34,40 ---- + #define INC_OLE2 // WIN32, get ole2 from windows.h + + /* Visual Studio 2005 has 'deprecated' many of the standard CRT functions */ +! #if defined(_MSC_VER) && _MSC_VER >= 1400 + # define _CRT_SECURE_NO_DEPRECATE + # define _CRT_NONSTDC_NO_DEPRECATE + #endif +*************** +*** 44,50 **** + #include <shlobj.h> + + /* Accommodate old versions of VC that don't have a modern Platform SDK */ +! #if _MSC_VER < 1300 + # undef UINT_PTR + # define UINT_PTR UINT + #endif +--- 44,50 ---- + #include <shlobj.h> + + /* Accommodate old versions of VC that don't have a modern Platform SDK */ +! #if defined(_MSC_VER) && _MSC_VER < 1300 + # undef UINT_PTR + # define UINT_PTR UINT + #endif +*** ../vim-7.2.363/src/version.c 2010-02-17 16:40:47.000000000 +0100 +--- src/version.c 2010-02-17 17:23:15.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 364, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +245. You use Real Audio to listen to a radio station from a distant + city rather than turn on your stereo system. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.365 b/source/ap/vim/patches/7.2.365 new file mode 100644 index 000000000..e48990b92 --- /dev/null +++ b/source/ap/vim/patches/7.2.365 @@ -0,0 +1,71 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.365 (extra) +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.365 (extra) +Problem: MS-Windows with MingW: "File->Save As" does not work. (John + Marriott) +Solution: Correctly fill in structure size. (Andy Kittner) +Files: src/gui_w48.c + + +*** ../vim-7.2.364/src/gui_w48.c 2010-02-17 16:31:27.000000000 +0100 +--- src/gui_w48.c 2010-02-17 17:30:15.000000000 +0100 +*************** +*** 3345,3351 **** + #ifdef OPENFILENAME_SIZE_VERSION_400 + /* be compatible with Windows NT 4.0 */ + /* TODO: what to use for OPENFILENAMEW??? */ +! fileStruct.lStructSize = sizeof(OPENFILENAME_SIZE_VERSION_400); + #else + fileStruct.lStructSize = sizeof(fileStruct); + #endif +--- 3345,3351 ---- + #ifdef OPENFILENAME_SIZE_VERSION_400 + /* be compatible with Windows NT 4.0 */ + /* TODO: what to use for OPENFILENAMEW??? */ +! fileStruct.lStructSize = OPENFILENAME_SIZE_VERSION_400; + #else + fileStruct.lStructSize = sizeof(fileStruct); + #endif +*************** +*** 3506,3512 **** + memset(&fileStruct, 0, sizeof(OPENFILENAME)); + #ifdef OPENFILENAME_SIZE_VERSION_400 + /* be compatible with Windows NT 4.0 */ +! fileStruct.lStructSize = sizeof(OPENFILENAME_SIZE_VERSION_400); + #else + fileStruct.lStructSize = sizeof(fileStruct); + #endif +--- 3506,3512 ---- + memset(&fileStruct, 0, sizeof(OPENFILENAME)); + #ifdef OPENFILENAME_SIZE_VERSION_400 + /* be compatible with Windows NT 4.0 */ +! fileStruct.lStructSize = OPENFILENAME_SIZE_VERSION_400; + #else + fileStruct.lStructSize = sizeof(fileStruct); + #endif +*** ../vim-7.2.364/src/version.c 2010-02-17 17:24:23.000000000 +0100 +--- src/version.c 2010-02-17 17:31:54.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 365, + /**/ + + +-- +hundred-and-one symptoms of being an internet addict: +246. You use up your free 100 hours in less than a week. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.366 b/source/ap/vim/patches/7.2.366 new file mode 100644 index 000000000..952a0f2f2 --- /dev/null +++ b/source/ap/vim/patches/7.2.366 @@ -0,0 +1,134 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.366 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.366 +Problem: CTRL-B doesn't go back to the first line of the buffer. +Solution: Avoid an overflow when adding MAXCOL. +Files: src/move.c + + +*** ../vim-7.2.365/src/move.c 2010-02-03 17:42:59.000000000 +0100 +--- src/move.c 2010-02-17 17:49:34.000000000 +0100 +*************** +*** 1610,1616 **** + * Add one line above "lp->lnum". This can be a filler line, a closed fold or + * a (wrapped) text line. Uses and sets "lp->fill". + * Returns the height of the added line in "lp->height". +! * Lines above the first one are incredibly high. + */ + static void + topline_back(lp) +--- 1610,1616 ---- + * Add one line above "lp->lnum". This can be a filler line, a closed fold or + * a (wrapped) text line. Uses and sets "lp->fill". + * Returns the height of the added line in "lp->height". +! * Lines above the first one are incredibly high: MAXCOL. + */ + static void + topline_back(lp) +*************** +*** 1942,1948 **** + { + loff.lnum = curwin->w_topline; + topline_back(&loff); +! if (used + loff.height > curwin->w_height) + break; + used += loff.height; + #ifdef FEAT_DIFF +--- 1942,1948 ---- + { + loff.lnum = curwin->w_topline; + topline_back(&loff); +! if (loff.height == MAXCOL || used + loff.height > curwin->w_height) + break; + used += loff.height; + #ifdef FEAT_DIFF +*************** +*** 2021,2027 **** + + /* Add one line above */ + topline_back(&loff); +! used += loff.height; + if (used > curwin->w_height) + break; + if (loff.lnum >= curwin->w_botline +--- 2021,2030 ---- + + /* Add one line above */ + topline_back(&loff); +! if (loff.height == MAXCOL) +! used = MAXCOL; +! else +! used += loff.height; + if (used > curwin->w_height) + break; + if (loff.lnum >= curwin->w_botline +*************** +*** 2175,2181 **** + if (below > above) /* add a line above the cursor */ + { + topline_back(&loff); +! used += loff.height; + if (used > curwin->w_height) + break; + above += loff.height; +--- 2178,2187 ---- + if (below > above) /* add a line above the cursor */ + { + topline_back(&loff); +! if (loff.height == MAXCOL) +! used = MAXCOL; +! else +! used += loff.height; + if (used > curwin->w_height) + break; + above += loff.height; +*************** +*** 2472,2480 **** + while (n <= curwin->w_height && loff.lnum >= 1) + { + topline_back(&loff); +! n += loff.height; + } +! if (n <= curwin->w_height) /* at begin of file */ + { + curwin->w_topline = 1; + #ifdef FEAT_DIFF +--- 2478,2489 ---- + while (n <= curwin->w_height && loff.lnum >= 1) + { + topline_back(&loff); +! if (loff.height == MAXCOL) +! n = MAXCOL; +! else +! n += loff.height; + } +! if (loff.lnum < 1) /* at begin of file */ + { + curwin->w_topline = 1; + #ifdef FEAT_DIFF +*** ../vim-7.2.365/src/version.c 2010-02-17 17:34:38.000000000 +0100 +--- src/version.c 2010-02-17 18:13:22.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 366, + /**/ + +-- +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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.367 b/source/ap/vim/patches/7.2.367 new file mode 100644 index 000000000..6d461c987 --- /dev/null +++ b/source/ap/vim/patches/7.2.367 @@ -0,0 +1,77 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.367 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.367 +Problem: "xxd -r -p" doesn't work as documented. +Solution: Skip white space. (James Vega) +Files: src/xxd/xxd.c + + +*** ../vim-7.2.366/src/xxd/xxd.c 2009-06-16 18:29:37.000000000 +0200 +--- src/xxd/xxd.c 2010-02-17 18:25:11.000000000 +0100 +*************** +*** 231,237 **** + fprintf(stderr, " or\n %s -r [-s [-]offset] [-c cols] [-ps] [infile [outfile]]\n", pname); + fprintf(stderr, "Options:\n"); + fprintf(stderr, " -a toggle autoskip: A single '*' replaces nul-lines. Default off.\n"); +! fprintf(stderr, " -b binary digit dump (incompatible with -p,-i,-r). Default hex.\n"); + fprintf(stderr, " -c cols format <cols> octets per line. Default 16 (-i: 12, -ps: 30).\n"); + fprintf(stderr, " -E show characters in EBCDIC. Default ASCII.\n"); + fprintf(stderr, " -g number of octets per group in normal output. Default 2.\n"); +--- 231,237 ---- + fprintf(stderr, " or\n %s -r [-s [-]offset] [-c cols] [-ps] [infile [outfile]]\n", pname); + fprintf(stderr, "Options:\n"); + fprintf(stderr, " -a toggle autoskip: A single '*' replaces nul-lines. Default off.\n"); +! fprintf(stderr, " -b binary digit dump (incompatible with -ps,-i,-r). Default hex.\n"); + fprintf(stderr, " -c cols format <cols> octets per line. Default 16 (-i: 12, -ps: 30).\n"); + fprintf(stderr, " -E show characters in EBCDIC. Default ASCII.\n"); + fprintf(stderr, " -g number of octets per group in normal output. Default 2.\n"); +*************** +*** 276,286 **** + if (c == '\r') /* Doze style input file? */ + continue; + +! #if 0 /* this doesn't work when there is normal text after the hex codes in +! the last line that looks like hex */ +! if (c == ' ' || c == '\n' || c == '\t') /* allow multiple spaces */ + continue; +- #endif + + n3 = n2; + n2 = n1; +--- 276,286 ---- + if (c == '\r') /* Doze style input file? */ + continue; + +! /* Allow multiple spaces. This doesn't work when there is normal text +! * after the hex codes in the last line that looks like hex, thus only +! * use it for PostScript format. */ +! if (hextype == HEX_POSTSCRIPT && (c == ' ' || c == '\n' || c == '\t')) + continue; + + n3 = n2; + n2 = n1; +*** ../vim-7.2.366/src/version.c 2010-02-17 18:20:23.000000000 +0100 +--- src/version.c 2010-02-17 18:26:35.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 367, + /**/ + +-- +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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.368 b/source/ap/vim/patches/7.2.368 new file mode 100644 index 000000000..43107699b --- /dev/null +++ b/source/ap/vim/patches/7.2.368 @@ -0,0 +1,52 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.368 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.368 (after 7.2.361) +Problem: Ruby interface: Appending line doesn't work. (Michael Henry) +Solution: Reverse check for NULL line. (James Vega) +Files: src/if_ruby.c + + +*** ../vim-7.2.367/src/if_ruby.c 2010-02-17 16:23:03.000000000 +0100 +--- src/if_ruby.c 2010-02-18 15:47:42.000000000 +0100 +*************** +*** 869,875 **** + long n = NUM2LONG(num); + aco_save_T aco; + +! if (line != NULL) { + rb_raise(rb_eIndexError, "NULL line"); + } + else if (n >= 0 && n <= buf->b_ml.ml_line_count) +--- 869,875 ---- + long n = NUM2LONG(num); + aco_save_T aco; + +! if (line == NULL) { + rb_raise(rb_eIndexError, "NULL line"); + } + else if (n >= 0 && n <= buf->b_ml.ml_line_count) +*** ../vim-7.2.367/src/version.c 2010-02-17 18:28:06.000000000 +0100 +--- src/version.c 2010-02-18 15:48:09.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 368, + /**/ + +-- +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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.369 b/source/ap/vim/patches/7.2.369 new file mode 100644 index 000000000..adcab24e9 --- /dev/null +++ b/source/ap/vim/patches/7.2.369 @@ -0,0 +1,55 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.369 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.369 +Problem: Error message is not easy to understand. +Solution: Add quotes. (SungHyun Nam) +Files: src/ex_cmds2.c + + +*** ../vim-7.2.368/src/ex_cmds2.c 2010-02-03 15:14:15.000000000 +0100 +--- src/ex_cmds2.c 2010-02-18 21:16:20.000000000 +0100 +*************** +*** 1092,1098 **** + set_vim_var_nr(VV_PROFILING, 1L); + } + else if (do_profiling == PROF_NONE) +! EMSG(_("E750: First use :profile start <fname>")); + else if (STRCMP(eap->arg, "pause") == 0) + { + if (do_profiling == PROF_YES) +--- 1092,1098 ---- + set_vim_var_nr(VV_PROFILING, 1L); + } + else if (do_profiling == PROF_NONE) +! EMSG(_("E750: First use \":profile start {fname}\"")); + else if (STRCMP(eap->arg, "pause") == 0) + { + if (do_profiling == PROF_YES) +*** ../vim-7.2.368/src/version.c 2010-02-18 15:51:25.000000000 +0100 +--- src/version.c 2010-02-24 13:58:28.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 369, + /**/ + +-- +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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.370 b/source/ap/vim/patches/7.2.370 new file mode 100644 index 000000000..3e8457e0c --- /dev/null +++ b/source/ap/vim/patches/7.2.370 @@ -0,0 +1,156 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.370 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.370 (after 7.2.356) +Problem: A redraw may cause folds to be closed. +Solution: Revert part of the previous patch. Add a test. (Lech Lorens) +Files: src/diff.c, src/fold.c, src/option.c, src/testdir/test45.in, + src/testdir/test45.ok + + +*** ../vim-7.2.369/src/diff.c 2009-07-22 16:22:33.000000000 +0200 +--- src/diff.c 2010-02-24 14:31:12.000000000 +0100 +*************** +*** 1117,1142 **** + win_T *wp; + int addbuf; /* Add buffer to diff. */ + { + wp->w_p_diff = TRUE; + wp->w_p_scb = TRUE; + wp->w_p_wrap = FALSE; + # ifdef FEAT_FOLDING +! { +! win_T *old_curwin = curwin; +! +! curwin = wp; +! curbuf = curwin->w_buffer; +! set_string_option_direct((char_u *)"fdm", -1, (char_u *)"diff", + OPT_LOCAL|OPT_FREE, 0); +! curwin = old_curwin; +! curbuf = curwin->w_buffer; +! wp->w_p_fdc = diff_foldcolumn; +! wp->w_p_fen = TRUE; +! wp->w_p_fdl = 0; +! foldUpdateAll(wp); +! /* make sure topline is not halfway a fold */ +! changed_window_setting_win(wp); +! } + # endif + #ifdef FEAT_SCROLLBIND + if (vim_strchr(p_sbo, 'h') == NULL) +--- 1117,1147 ---- + win_T *wp; + int addbuf; /* Add buffer to diff. */ + { ++ # ifdef FEAT_FOLDING ++ win_T *old_curwin = curwin; ++ ++ /* close the manually opened folds */ ++ curwin = wp; ++ newFoldLevel(); ++ curwin = old_curwin; ++ # endif ++ + wp->w_p_diff = TRUE; + wp->w_p_scb = TRUE; + wp->w_p_wrap = FALSE; + # ifdef FEAT_FOLDING +! curwin = wp; +! curbuf = curwin->w_buffer; +! set_string_option_direct((char_u *)"fdm", -1, (char_u *)"diff", + OPT_LOCAL|OPT_FREE, 0); +! curwin = old_curwin; +! curbuf = curwin->w_buffer; +! wp->w_p_fdc = diff_foldcolumn; +! wp->w_p_fen = TRUE; +! wp->w_p_fdl = 0; +! foldUpdateAll(wp); +! /* make sure topline is not halfway a fold */ +! changed_window_setting_win(wp); + # endif + #ifdef FEAT_SCROLLBIND + if (vim_strchr(p_sbo, 'h') == NULL) +*** ../vim-7.2.369/src/fold.c 2010-02-03 18:14:41.000000000 +0100 +--- src/fold.c 2010-02-24 13:09:04.000000000 +0100 +*************** +*** 854,865 **** + && fp->fd_top < bot) + { + fp->fd_small = MAYBE; +- +- /* Not sure if this is the right place to reset fd_flags (suggested by +- * Lech Lorens). */ +- if (wp->w_foldinvalid) +- fp->fd_flags = FD_LEVEL; +- + ++fp; + } + +--- 854,859 ---- +*** ../vim-7.2.369/src/option.c 2010-02-11 17:02:04.000000000 +0100 +--- src/option.c 2010-02-24 13:09:44.000000000 +0100 +*************** +*** 6586,6592 **** +--- 6586,6596 ---- + || *curwin->w_p_fdm == NUL) + errmsg = e_invarg; + else ++ { + foldUpdateAll(curwin); ++ if (foldmethodIsDiff(curwin)) ++ newFoldLevel(); ++ } + } + # ifdef FEAT_EVAL + /* 'foldexpr' */ +*** ../vim-7.2.369/src/testdir/test45.in 2009-11-03 14:46:35.000000000 +0100 +--- src/testdir/test45.in 2010-02-24 13:02:39.000000000 +0100 +*************** +*** 36,41 **** +--- 36,43 ---- + k:call append("$", getline(".")) + jAcommentstart Acommentend:set fdl=1 + 3j:call append("$", getline(".")) ++ :set fdl=0 ++ zOj:call append("$", getline(".")) + :" test expression folding + :fun Flvl() + let l = getline(v:lnum) +*** ../vim-7.2.369/src/testdir/test45.ok 2009-11-03 14:46:35.000000000 +0100 +--- src/testdir/test45.ok 2010-02-24 12:58:55.000000000 +0100 +*************** +*** 11,16 **** +--- 11,17 ---- + folding 9 ii + 3 cc + 7 gg ++ 8 hh + expr 2 + 1 + 2 +*** ../vim-7.2.369/src/version.c 2010-02-24 13:59:09.000000000 +0100 +--- src/version.c 2010-02-24 14:28:20.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 370, + /**/ + +-- +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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.371 b/source/ap/vim/patches/7.2.371 new file mode 100644 index 000000000..db875b624 --- /dev/null +++ b/source/ap/vim/patches/7.2.371 @@ -0,0 +1,322 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.371 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.371 +Problem: Build problems on Tandem NonStop. +Solution: A few changes to #ifdefs (Joachim Schmitz) +Files: src/auto/configure, src/configure.in, src/config.h.in, src/vim.h, + src/if_cscope.c, src/osdef1.h.in, src/tag.c + + +*** ../vim-7.2.370/src/auto/configure 2010-02-17 16:23:03.000000000 +0100 +--- src/auto/configure 2010-02-24 14:27:00.000000000 +0100 +*************** +*** 14038,14046 **** + + + +! +! +! for ac_func in bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \ + getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \ + memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \ + setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \ +--- 14038,14044 ---- + + + +! for ac_func in bcmp fchdir fchown fsync getcwd getpseudotty \ + getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \ + memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \ + setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \ +*************** +*** 14146,14151 **** +--- 14144,14281 ---- + fi + done + ++ { $as_echo "$as_me:$LINENO: checking for _LARGEFILE_SOURCE value needed for large files" >&5 ++ $as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; } ++ if test "${ac_cv_sys_largefile_source+set}" = set; then ++ $as_echo_n "(cached) " >&6 ++ else ++ while :; do ++ cat >conftest.$ac_ext <<_ACEOF ++ /* confdefs.h. */ ++ _ACEOF ++ cat confdefs.h >>conftest.$ac_ext ++ cat >>conftest.$ac_ext <<_ACEOF ++ /* end confdefs.h. */ ++ #include <sys/types.h> /* for off_t */ ++ #include <stdio.h> ++ int ++ main () ++ { ++ int (*fp) (FILE *, off_t, int) = fseeko; ++ return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); ++ ; ++ return 0; ++ } ++ _ACEOF ++ rm -f conftest.$ac_objext conftest$ac_exeext ++ if { (ac_try="$ac_link" ++ case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++ esac ++ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" ++ $as_echo "$ac_try_echo") >&5 ++ (eval "$ac_link") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest$ac_exeext && { ++ test "$cross_compiling" = yes || ++ $as_test_x conftest$ac_exeext ++ }; then ++ ac_cv_sys_largefile_source=no; break ++ else ++ $as_echo "$as_me: failed program was:" >&5 ++ sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ++ fi ++ ++ rm -rf conftest.dSYM ++ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ ++ conftest$ac_exeext conftest.$ac_ext ++ cat >conftest.$ac_ext <<_ACEOF ++ /* confdefs.h. */ ++ _ACEOF ++ cat confdefs.h >>conftest.$ac_ext ++ cat >>conftest.$ac_ext <<_ACEOF ++ /* end confdefs.h. */ ++ #define _LARGEFILE_SOURCE 1 ++ #include <sys/types.h> /* for off_t */ ++ #include <stdio.h> ++ int ++ main () ++ { ++ int (*fp) (FILE *, off_t, int) = fseeko; ++ return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); ++ ; ++ return 0; ++ } ++ _ACEOF ++ rm -f conftest.$ac_objext conftest$ac_exeext ++ if { (ac_try="$ac_link" ++ case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++ esac ++ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" ++ $as_echo "$ac_try_echo") >&5 ++ (eval "$ac_link") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest$ac_exeext && { ++ test "$cross_compiling" = yes || ++ $as_test_x conftest$ac_exeext ++ }; then ++ ac_cv_sys_largefile_source=1; break ++ else ++ $as_echo "$as_me: failed program was:" >&5 ++ sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ++ fi ++ ++ rm -rf conftest.dSYM ++ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ ++ conftest$ac_exeext conftest.$ac_ext ++ ac_cv_sys_largefile_source=unknown ++ break ++ done ++ fi ++ { $as_echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_source" >&5 ++ $as_echo "$ac_cv_sys_largefile_source" >&6; } ++ case $ac_cv_sys_largefile_source in #( ++ no | unknown) ;; ++ *) ++ cat >>confdefs.h <<_ACEOF ++ #define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source ++ _ACEOF ++ ;; ++ esac ++ rm -rf conftest* ++ ++ # We used to try defining _XOPEN_SOURCE=500 too, to work around a bug ++ # in glibc 2.1.3, but that breaks too many other things. ++ # If you want fseeko and ftello with glibc, upgrade to a fixed glibc. ++ if test $ac_cv_sys_largefile_source != unknown; then ++ ++ cat >>confdefs.h <<\_ACEOF ++ #define HAVE_FSEEKO 1 ++ _ACEOF ++ ++ fi ++ + + { $as_echo "$as_me:$LINENO: checking for st_blksize" >&5 + $as_echo_n "checking for st_blksize... " >&6; } +*** ../vim-7.2.370/src/configure.in 2010-02-17 16:23:03.000000000 +0100 +--- src/configure.in 2010-02-24 14:18:49.000000000 +0100 +*************** +*** 2642,2655 **** + AC_DEFINE(BAD_GETCWD) + fi + +! dnl Check for functions in one big call, to reduce the size of configure +! AC_CHECK_FUNCS(bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \ + getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \ + memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \ + setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \ + sigvec strcasecmp strerror strftime stricmp strncasecmp \ + strnicmp strpbrk strtol tgetent towlower towupper iswupper \ + usleep utime utimes) + + dnl fstatfs() can take 2 to 4 arguments, try to use st_blksize if possible + AC_MSG_CHECKING(for st_blksize) +--- 2642,2657 ---- + AC_DEFINE(BAD_GETCWD) + fi + +! dnl Check for functions in one big call, to reduce the size of configure. +! dnl Can only be used for functions that do not require any include. +! AC_CHECK_FUNCS(bcmp fchdir fchown fsync getcwd getpseudotty \ + getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \ + memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \ + setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \ + sigvec strcasecmp strerror strftime stricmp strncasecmp \ + strnicmp strpbrk strtol tgetent towlower towupper iswupper \ + usleep utime utimes) ++ AC_FUNC_FSEEKO + + dnl fstatfs() can take 2 to 4 arguments, try to use st_blksize if possible + AC_MSG_CHECKING(for st_blksize) +*** ../vim-7.2.370/src/config.h.in 2009-11-17 17:13:03.000000000 +0100 +--- src/config.h.in 2010-02-24 14:20:26.000000000 +0100 +*************** +*** 144,150 **** + #undef HAVE_FCHOWN + #undef HAVE_FSEEKO + #undef HAVE_FSYNC +- #undef HAVE_FTELLO + #undef HAVE_GETCWD + #undef HAVE_GETPSEUDOTTY + #undef HAVE_GETPWNAM +--- 144,149 ---- +*** ../vim-7.2.370/src/vim.h 2010-02-03 15:14:15.000000000 +0100 +--- src/vim.h 2010-02-24 14:08:14.000000000 +0100 +*************** +*** 52,58 **** + + /* user ID of root is usually zero, but not for everybody */ + #ifdef __TANDEM +! # define _TANDEM_SOURCE + # include <floss.h> + # define ROOT_UID 65535 + #else +--- 52,60 ---- + + /* user ID of root is usually zero, but not for everybody */ + #ifdef __TANDEM +! # ifndef _TANDEM_SOURCE +! # define _TANDEM_SOURCE +! # endif + # include <floss.h> + # define ROOT_UID 65535 + #else +*** ../vim-7.2.370/src/if_cscope.c 2010-01-19 14:59:14.000000000 +0100 +--- src/if_cscope.c 2010-02-24 14:10:21.000000000 +0100 +*************** +*** 2278,2284 **** +--- 2278,2288 ---- + /* Use sigaction() to limit the waiting time to two seconds. */ + sigemptyset(&sa.sa_mask); + sa.sa_handler = sig_handler; ++ # ifdef SA_NODEFER + sa.sa_flags = SA_NODEFER; ++ # else ++ sa.sa_flags = 0; ++ # endif + sigaction(SIGALRM, &sa, &old); + alarm(2); /* 2 sec timeout */ + +*** ../vim-7.2.370/src/osdef1.h.in 2007-02-27 16:47:59.000000000 +0100 +--- src/osdef1.h.in 2010-02-24 14:20:50.000000000 +0100 +*************** +*** 25,31 **** + extern int fseeko __ARGS((FILE *, off_t, int)); + #endif + extern long ftell __ARGS((FILE *)); +! #ifdef HAVE_FTELLO + extern off_t ftello __ARGS((FILE *)); + #endif + extern void rewind __ARGS((FILE *)); +--- 25,31 ---- + extern int fseeko __ARGS((FILE *, off_t, int)); + #endif + extern long ftell __ARGS((FILE *)); +! #ifdef HAVE_FSEEKO + extern off_t ftello __ARGS((FILE *)); + #endif + extern void rewind __ARGS((FILE *)); +*** ../vim-7.2.370/src/tag.c 2009-05-17 13:30:58.000000000 +0200 +--- src/tag.c 2010-02-24 14:20:12.000000000 +0100 +*************** +*** 90,97 **** + /* + * We use ftello() here, if available. It returns off_t instead of long, + * which helps if long is 32 bit and off_t is 64 bit. + */ +! #ifdef HAVE_FTELLO + # define ftell ftello + #endif + +--- 90,98 ---- + /* + * We use ftello() here, if available. It returns off_t instead of long, + * which helps if long is 32 bit and off_t is 64 bit. ++ * We assume that when fseeko() is available then ftello() is too. + */ +! #ifdef HAVE_FSEEKO + # define ftell ftello + #endif + +*** ../vim-7.2.370/src/version.c 2010-02-24 14:34:10.000000000 +0100 +--- src/version.c 2010-02-24 14:45:37.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 371, + /**/ + +-- + 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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.372 b/source/ap/vim/patches/7.2.372 new file mode 100644 index 000000000..064893c81 --- /dev/null +++ b/source/ap/vim/patches/7.2.372 @@ -0,0 +1,303 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.372 (extra) +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.372 (extra) +Problem: Cross-compiling GvimExt and xxd doesn't work. +Solution: Change the build files. (Markus Heidelberg) +Files: src/INSTALLpc.txt, src/GvimExt/Make_ming.mak, src/Make_cyg.mak, + src/Make_ming.mak, src/xxd/Make_cyg.mak + + +*** ../vim-7.2.371/src/INSTALLpc.txt 2008-07-13 19:20:53.000000000 +0200 +--- src/INSTALLpc.txt 2010-01-19 12:37:03.000000000 +0100 +*************** +*** 215,222 **** + + You should not need to do *any* editing of any files to get vim compiled this + way. If, for some reason, you want the console-mode-only version of vim (this +! is NOT recommended on Win32, especially on '95/'98!!!), you need only change +! the 'gvim.exe' to 'vim.exe' in the 'make' commands given above. + + If you are dismayed by how big the EXE is, I strongly recommend you get 'UPX' + (also free!) and compress the file (typical compression is 50%). UPX can be +--- 215,223 ---- + + You should not need to do *any* editing of any files to get vim compiled this + way. If, for some reason, you want the console-mode-only version of vim (this +! is NOT recommended on Win32, especially on '95/'98!!!), you can use: +! +! make -f Make_ming.mak GUI=no vim.exe + + If you are dismayed by how big the EXE is, I strongly recommend you get 'UPX' + (also free!) and compress the file (typical compression is 50%). UPX can be +*************** +*** 240,246 **** + The Cygnus one many not fully work yet. + With Cygnus gcc you can use the Unix Makefile instead (you need to get the + Unix archive then). Then you get a Cygwin application (feels like Vim is +! runnin on Unix), while with Make_cyg.mak you get a Windows application (like + with the other makefiles). + + +--- 241,247 ---- + The Cygnus one many not fully work yet. + With Cygnus gcc you can use the Unix Makefile instead (you need to get the + Unix archive then). Then you get a Cygwin application (feels like Vim is +! running on Unix), while with Make_cyg.mak you get a Windows application (like + with the other makefiles). + + +*************** +*** 259,268 **** +--- 260,272 ---- + If you like, you can compile the 'mingw' Win32 version from the comfort of + your Linux (or other unix) box. To do this, you need to follow a few steps: + 1) Install the mingw32 cross-compiler. See ++ http://www.mingw.org/wiki/LinuxCrossMinGW + http://www.libsdl.org/extras/win32/cross/README.txt + 2) Get and unpack both the Unix sources and the extra archive + 3) in 'Make_ming.mak', set 'CROSS' to 'yes' instead of 'no'. + Make further changes to 'Make_ming.mak' as you wish. ++ If your cross-compiler prefix differs from the predefined value, ++ set 'CROSS_COMPILE' corresponding. + 4) make -f Make_ming.mak gvim.exe + + Now you have created the Windows binary from your Linux box! Have fun... +*** ../vim-7.2.371/src/GvimExt/Make_ming.mak 2005-01-09 22:15:44.000000000 +0100 +--- src/GvimExt/Make_ming.mak 2010-02-24 14:56:37.000000000 +0100 +*************** +*** 20,36 **** + ifeq ($(CROSS),yes) + DEL = rm + ifeq ($(MINGWOLD),yes) +- CXX = i586-mingw32msvc-g++ + CXXFLAGS := -O2 -mno-cygwin -fvtable-thunks +- WINDRES = i586-mingw32msvc-windres + else +- CXX = i386-mingw32msvc-g++ + CXXFLAGS := -O2 -mno-cygwin +- WINDRES = i386-mingw32msvc-windres + endif + else +- CXX := g++ +- WINDRES := windres + CXXFLAGS := -O2 -mno-cygwin + ifneq (sh.exe, $(SHELL)) + DEL = rm +--- 20,30 ---- +*************** +*** 38,43 **** +--- 32,39 ---- + DEL = del + endif + endif ++ CXX := $(CROSS_COMPILE)g++ ++ WINDRES := $(CROSS_COMPILE)windres + LIBS := -luuid + RES := gvimext.res + DEFFILE = gvimext_ming.def +*** ../vim-7.2.371/src/Make_cyg.mak 2009-09-11 12:48:56.000000000 +0200 +--- src/Make_cyg.mak 2010-02-24 14:59:02.000000000 +0100 +*************** +*** 1,6 **** + # + # Makefile for VIM on Win32, using Cygnus gcc +! # Last updated by Dan Sharp. Last Change: 2007 Sep 29 + # + # Also read INSTALLpc.txt! + # +--- 1,6 ---- + # + # Makefile for VIM on Win32, using Cygnus gcc +! # Last updated by Dan Sharp. Last Change: 2010 Feb 24 + # + # Also read INSTALLpc.txt! + # +*************** +*** 32,40 **** + # OLE no or yes: set to yes to make OLE gvim (no) + # DEBUG no or yes: set to yes if you wish a DEBUGging build (no) + # CPUNR No longer supported, use ARCH. +! # ARCH i386 through pentium4: select -march argument to compile with (i386) + # USEDLL no or yes: set to yes to use the Runtime library DLL (no) + # For USEDLL=yes the cygwin1.dll is required to run Vim. + # POSTSCRIPT no or yes: set to yes for PostScript printing (no) + # FEATURES TINY, SMALL, NORMAL, BIG or HUGE (BIG) + # WINVER Lowest Win32 version to support. (0x0400) +--- 32,43 ---- + # OLE no or yes: set to yes to make OLE gvim (no) + # DEBUG no or yes: set to yes if you wish a DEBUGging build (no) + # CPUNR No longer supported, use ARCH. +! # ARCH i386 through pentium4: select -march argument to compile with +! # (i386) + # USEDLL no or yes: set to yes to use the Runtime library DLL (no) + # For USEDLL=yes the cygwin1.dll is required to run Vim. ++ # "no" does not work with latest version of Cygwin, use ++ # Make_ming.mak instead. Or set CC to gcc-3. + # POSTSCRIPT no or yes: set to yes for PostScript printing (no) + # FEATURES TINY, SMALL, NORMAL, BIG or HUGE (BIG) + # WINVER Lowest Win32 version to support. (0x0400) +*************** +*** 99,104 **** +--- 102,108 ---- + INCLUDES = -march=$(ARCH) -Iproto + + #>>>>> name of the compiler and linker, name of lib directory ++ CROSS_COMPILE = + CC = gcc + RC = windres + +*************** +*** 467,476 **** + $(CC) $(CFLAGS) -o $(EXE) $(OBJ) $(LIBS) -luuid -lole32 $(EXTRA_LIBS) + + xxd/xxd.exe: xxd/xxd.c +! $(MAKE) -C xxd -f Make_cyg.mak USEDLL=$(USEDLL) + + GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h +! $(MAKE) -C GvimExt -f Make_ming.mak + + vimrun.exe: vimrun.c + $(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIBS) +--- 471,480 ---- + $(CC) $(CFLAGS) -o $(EXE) $(OBJ) $(LIBS) -luuid -lole32 $(EXTRA_LIBS) + + xxd/xxd.exe: xxd/xxd.c +! $(MAKE) -C xxd -f Make_cyg.mak CC=$(CC) USEDLL=$(USEDLL) + + GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h +! $(MAKE) -C GvimExt -f Make_ming.mak CROSS_COMPILE=$(CROSS_COMPILE) + + vimrun.exe: vimrun.c + $(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIBS) +*** ../vim-7.2.371/src/Make_ming.mak 2009-09-11 12:48:56.000000000 +0200 +--- src/Make_ming.mak 2010-02-24 15:01:31.000000000 +0100 +*************** +*** 241,255 **** + DEFINES=-DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \ + -DHAVE_PATHDEF -DFEAT_$(FEATURES) + ifeq ($(CROSS),yes) +! # cross-compiler: +! CC = i586-pc-mingw32msvc-gcc + DEL = rm + MKDIR = mkdir -p +! WINDRES = i586-pc-mingw32msvc-windres + else + # normal (Windows) compilation: +- CC = gcc + ifneq (sh.exe, $(SHELL)) + DEL = rm + MKDIR = mkdir -p + DIRSLASH = / +--- 241,255 ---- + DEFINES=-DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \ + -DHAVE_PATHDEF -DFEAT_$(FEATURES) + ifeq ($(CROSS),yes) +! # cross-compiler prefix: +! CROSS_COMPILE = i586-pc-mingw32msvc- + DEL = rm + MKDIR = mkdir -p +! DIRSLASH = / + else + # normal (Windows) compilation: + ifneq (sh.exe, $(SHELL)) ++ CROSS_COMPILE = + DEL = rm + MKDIR = mkdir -p + DIRSLASH = / +*************** +*** 258,265 **** + MKDIR = mkdir + DIRSLASH = \\ + endif +- WINDRES = windres + endif + + #>>>>> end of choices + ########################################################################### +--- 258,266 ---- + MKDIR = mkdir + DIRSLASH = \\ + endif + endif ++ CC := $(CROSS_COMPILE)gcc ++ WINDRES := $(CROSS_COMPILE)windres + + #>>>>> end of choices + ########################################################################### +*************** +*** 549,558 **** + upx vim.exe + + xxd/xxd.exe: xxd/xxd.c +! $(MAKE) -C xxd -f Make_cyg.mak + + GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h + $(MAKE) -C GvimExt -f Make_ming.mak + + clean: + -$(DEL) $(OUTDIR)$(DIRSLASH)*.o +--- 550,560 ---- + upx vim.exe + + xxd/xxd.exe: xxd/xxd.c +! $(MAKE) -C xxd -f Make_cyg.mak CC=$(CC) + + GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h + $(MAKE) -C GvimExt -f Make_ming.mak ++ $(MAKE) -C GvimExt -f Make_ming.mak CROSS=$(CROSS) CROSS_COMPILE=$(CROSS_COMPILE) + + clean: + -$(DEL) $(OUTDIR)$(DIRSLASH)*.o +*** ../vim-7.2.371/src/xxd/Make_cyg.mak 2004-06-13 17:48:52.000000000 +0200 +--- src/xxd/Make_cyg.mak 2010-02-24 15:05:24.000000000 +0100 +*************** +*** 12,17 **** +--- 12,18 ---- + LIBS = + endif + ++ CC = gcc + CFLAGS = -O2 -Wall -DWIN32 $(DEFINES) + + ifneq (sh.exe, $(SHELL)) +*************** +*** 21,27 **** + endif + + xxd.exe: xxd.c +! gcc $(CFLAGS) -s -o xxd.exe xxd.c $(LIBS) + + clean: + -$(DEL) xxd.exe +--- 22,28 ---- + endif + + xxd.exe: xxd.c +! $(CC) $(CFLAGS) -s -o xxd.exe xxd.c $(LIBS) + + clean: + -$(DEL) xxd.exe +*** ../vim-7.2.371/src/version.c 2010-02-24 14:46:58.000000000 +0100 +--- src/version.c 2010-02-24 15:05:48.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 372, + /**/ + +-- +Ten bugs in the hand is better than one as yet undetected. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.373 b/source/ap/vim/patches/7.2.373 new file mode 100644 index 000000000..1bb4773d9 --- /dev/null +++ b/source/ap/vim/patches/7.2.373 @@ -0,0 +1,54 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.373 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.373 +Problem: Gcc 4.5 adds more error messages. (Chris Indy) +Solution: Update default 'errorformat'. +Files: src/option.h + + +*** ../vim-7.2.372/src/option.h 2008-06-24 23:59:49.000000000 +0200 +--- src/option.h 2010-02-24 15:20:03.000000000 +0100 +*************** +*** 33,39 **** + # ifdef EBCDIC + #define DFLT_EFM "%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m" + # else +! #define DFLT_EFM "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%D%*\\a: Entering directory `%f',%X%*\\a: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m" + # endif + # endif + # endif +--- 33,39 ---- + # ifdef EBCDIC + #define DFLT_EFM "%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m" + # else +! #define DFLT_EFM "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-Gfrom %f:%l:%c,%-Gfrom %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%D%*\\a: Entering directory `%f',%X%*\\a: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m" + # endif + # endif + # endif +*** ../vim-7.2.372/src/version.c 2010-02-24 15:07:45.000000000 +0100 +--- src/version.c 2010-02-24 15:24:43.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 373, + /**/ + +-- +ARTHUR: Right! Knights! Forward! + ARTHUR leads a charge toward the castle. Various shots of them battling on, + despite being hit by a variety of farm animals. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.374 b/source/ap/vim/patches/7.2.374 new file mode 100644 index 000000000..50d3e74d2 --- /dev/null +++ b/source/ap/vim/patches/7.2.374 @@ -0,0 +1,168 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.374 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.374 +Problem: Ruby eval() doesn't understand Vim types. +Solution: Add the vim_to_ruby() function. (George Gensure) +Files: src/eval.c, src/if_ruby.c + + +*** ../vim-7.2.373/src/eval.c 2010-01-19 15:51:29.000000000 +0100 +--- src/eval.c 2010-02-24 15:36:40.000000000 +0100 +*************** +*** 5872,5878 **** + return item1 == NULL && item2 == NULL; + } + +! #if defined(FEAT_PYTHON) || defined(FEAT_MZSCHEME) || defined(PROTO) + /* + * Return the dictitem that an entry in a hashtable points to. + */ +--- 5872,5879 ---- + return item1 == NULL && item2 == NULL; + } + +! #if defined(FEAT_RUBY) || defined(FEAT_PYTHON) || defined(FEAT_MZSCHEME) \ +! || defined(PROTO) + /* + * Return the dictitem that an entry in a hashtable points to. + */ +*** ../vim-7.2.373/src/if_ruby.c 2010-02-18 15:51:25.000000000 +0100 +--- src/if_ruby.c 2010-02-24 15:45:15.000000000 +0100 +*************** +*** 660,679 **** + return Qnil; + } + + static VALUE vim_evaluate(VALUE self UNUSED, VALUE str) + { + #ifdef FEAT_EVAL +! char_u *value = eval_to_string((char_u *)StringValuePtr(str), NULL, TRUE); + +! if (value != NULL) + { +! VALUE val = rb_str_new2((char *)value); +! vim_free(value); +! return val; + } +! else + #endif +- return Qnil; + } + + static VALUE buffer_new(buf_T *buf) +--- 660,747 ---- + return Qnil; + } + ++ #ifdef FEAT_EVAL ++ static VALUE vim_to_ruby(typval_T *tv) ++ { ++ VALUE result = Qnil; ++ ++ if (tv->v_type == VAR_STRING) ++ { ++ result = rb_str_new2((char *)tv->vval.v_string); ++ } ++ else if (tv->v_type == VAR_NUMBER) ++ { ++ result = INT2NUM(tv->vval.v_number); ++ } ++ # ifdef FEAT_FLOAT ++ else if (tv->v_type == VAR_FLOAT) ++ { ++ result = rb_float_new(tv->vval.v_float); ++ } ++ # endif ++ else if (tv->v_type == VAR_LIST) ++ { ++ list_T *list = tv->vval.v_list; ++ listitem_T *curr; ++ ++ result = rb_ary_new(); ++ ++ if (list != NULL) ++ { ++ for (curr = list->lv_first; curr != NULL; curr = curr->li_next) ++ { ++ rb_ary_push(result, vim_to_ruby(&curr->li_tv)); ++ } ++ } ++ } ++ else if (tv->v_type == VAR_DICT) ++ { ++ result = rb_hash_new(); ++ ++ if (tv->vval.v_dict != NULL) ++ { ++ hashtab_T *ht = &tv->vval.v_dict->dv_hashtab; ++ long_u todo = ht->ht_used; ++ hashitem_T *hi; ++ dictitem_T *di; ++ ++ for (hi = ht->ht_array; todo > 0; ++hi) ++ { ++ if (!HASHITEM_EMPTY(hi)) ++ { ++ --todo; ++ ++ di = dict_lookup(hi); ++ rb_hash_aset(result, rb_str_new2((char *)hi->hi_key), ++ vim_to_ruby(&di->di_tv)); ++ } ++ } ++ } ++ } /* else return Qnil; */ ++ ++ return result; ++ } ++ #endif ++ + static VALUE vim_evaluate(VALUE self UNUSED, VALUE str) + { + #ifdef FEAT_EVAL +! typval_T *tv; +! VALUE result; + +! tv = eval_expr((char_u *)StringValuePtr(str), NULL); +! if (tv == NULL) + { +! return Qnil; + } +! result = vim_to_ruby(tv); +! +! free_tv(tv); +! +! return result; +! #else +! return Qnil; + #endif + } + + static VALUE buffer_new(buf_T *buf) +*** ../vim-7.2.373/src/version.c 2010-02-24 15:25:13.000000000 +0100 +--- src/version.c 2010-02-24 15:46:57.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 374, + /**/ + +-- +ARTHUR: (as the MAN next to him is squashed by a sheep) Knights! Run away! + Midst echoing shouts of "run away" the KNIGHTS retreat to cover with the odd + cow or goose hitting them still. The KNIGHTS crouch down under cover. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.375 b/source/ap/vim/patches/7.2.375 new file mode 100644 index 000000000..3374cd1b8 --- /dev/null +++ b/source/ap/vim/patches/7.2.375 @@ -0,0 +1,64 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.375 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.375 +Problem: ml_get errors when using ":bprevious" in a BufEnter autocmd. + (Dominique Pelle) +Solution: Clear w_valid when entering another buffer. +Files: src/buffer.c + + +*** ../vim-7.2.374/src/buffer.c 2010-01-19 14:59:14.000000000 +0100 +--- src/buffer.c 2010-02-24 16:29:22.000000000 +0100 +*************** +*** 115,121 **** + #endif + + /* mark cursor position as being invalid */ +! changed_line_abv_curs(); + + if (curbuf->b_ffname != NULL + #ifdef FEAT_NETBEANS_INTG +--- 115,121 ---- + #endif + + /* mark cursor position as being invalid */ +! curwin->w_valid = 0; + + if (curbuf->b_ffname != NULL + #ifdef FEAT_NETBEANS_INTG +*************** +*** 1399,1404 **** +--- 1399,1407 ---- + curwin->w_topline_was_set = FALSE; + #endif + ++ /* mark cursor position as being invalid */ ++ curwin->w_valid = 0; ++ + /* Make sure the buffer is loaded. */ + if (curbuf->b_ml.ml_mfp == NULL) /* need to load the file */ + { +*** ../vim-7.2.374/src/version.c 2010-02-24 15:47:58.000000000 +0100 +--- src/version.c 2010-02-24 16:30:03.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 375, + /**/ + +-- +Error:015 - Unable to exit Windows. Try the door. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.376 b/source/ap/vim/patches/7.2.376 new file mode 100644 index 000000000..718875b26 --- /dev/null +++ b/source/ap/vim/patches/7.2.376 @@ -0,0 +1,50 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.376 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.376 +Problem: ml_get error when using SiSU syntax. (Nathan Thomas) +Solution: If the match ends below the last line move it to the end of the + last line. +Files: src/syntax.c + + +*** ../vim-7.2.375/src/syntax.c 2010-01-19 14:59:14.000000000 +0100 +--- src/syntax.c 2010-02-24 17:14:13.000000000 +0100 +*************** +*** 3086,3091 **** +--- 3086,3097 ---- + col = regmatch->startpos[0].col; + off = spp->sp_offsets[idx]; + } ++ if (result->lnum > syn_buf->b_ml.ml_line_count) ++ { ++ /* a "\n" at the end of the pattern may take us below the last line */ ++ result->lnum = syn_buf->b_ml.ml_line_count; ++ col = STRLEN(ml_get_buf(syn_buf, result->lnum, FALSE)); ++ } + if (off != 0) + { + base = ml_get_buf(syn_buf, result->lnum, FALSE); +*** ../vim-7.2.375/src/version.c 2010-02-24 16:58:30.000000000 +0100 +--- src/version.c 2010-02-24 17:15:48.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 376, + /**/ + +-- +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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.377 b/source/ap/vim/patches/7.2.377 new file mode 100644 index 000000000..e854ce717 --- /dev/null +++ b/source/ap/vim/patches/7.2.377 @@ -0,0 +1,66 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.377 (extra) +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.377 (extra, after 7.2.372) +Problem: Misplaced assignment. Duplicate build line for gvimext.dll. +Solution: Move setting CROSS_COMPILE to before ifneq. Remove the wrong + build line. (Markus Heidelberg) +Files: src/Make_ming.mak + + +*** ../vim-7.2.376/src/Make_ming.mak 2010-02-24 15:07:45.000000000 +0100 +--- src/Make_ming.mak 2010-02-26 22:01:07.000000000 +0100 +*************** +*** 248,255 **** + DIRSLASH = / + else + # normal (Windows) compilation: +- ifneq (sh.exe, $(SHELL)) + CROSS_COMPILE = + DEL = rm + MKDIR = mkdir -p + DIRSLASH = / +--- 248,255 ---- + DIRSLASH = / + else + # normal (Windows) compilation: + CROSS_COMPILE = ++ ifneq (sh.exe, $(SHELL)) + DEL = rm + MKDIR = mkdir -p + DIRSLASH = / +*************** +*** 553,559 **** + $(MAKE) -C xxd -f Make_cyg.mak CC=$(CC) + + GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h +- $(MAKE) -C GvimExt -f Make_ming.mak + $(MAKE) -C GvimExt -f Make_ming.mak CROSS=$(CROSS) CROSS_COMPILE=$(CROSS_COMPILE) + + clean: +--- 553,558 ---- +*** ../vim-7.2.376/src/version.c 2010-02-24 17:22:14.000000000 +0100 +--- src/version.c 2010-02-26 22:01:45.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 377, + /**/ + +-- +FIRST HEAD: All right! All right! We'll kill him first and then have tea and + biscuits. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.378 b/source/ap/vim/patches/7.2.378 new file mode 100644 index 000000000..de2251f44 --- /dev/null +++ b/source/ap/vim/patches/7.2.378 @@ -0,0 +1,69 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.378 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.378 +Problem: C function declaration indented too much. (Rui) +Solution: Don't see a line containing { or } as a type. (Matt Wozniski) +Files: src/misc1.c + + +*** ../vim-7.2.377/src/misc1.c 2010-01-06 17:46:03.000000000 +0100 +--- src/misc1.c 2010-02-26 22:36:50.000000000 +0100 +*************** +*** 7727,7737 **** + /* + * If the NEXT line is a function declaration, the current + * line needs to be indented as a function type spec. +! * Don't do this if the current line looks like a comment +! * or if the current line is terminated, ie. ends in ';'. + */ + else if (cur_curpos.lnum < curbuf->b_ml.ml_line_count + && !cin_nocode(theline) + && !cin_ends_in(theline, (char_u *)":", NULL) + && !cin_ends_in(theline, (char_u *)",", NULL) + && cin_isfuncdecl(NULL, cur_curpos.lnum + 1) +--- 7727,7740 ---- + /* + * If the NEXT line is a function declaration, the current + * line needs to be indented as a function type spec. +! * Don't do this if the current line looks like a comment or if the +! * current line is terminated, ie. ends in ';', or if the current line +! * contains { or }: "void f() {\n if (1)" + */ + else if (cur_curpos.lnum < curbuf->b_ml.ml_line_count + && !cin_nocode(theline) ++ && vim_strchr(theline, '{') == NULL ++ && vim_strchr(theline, '}') == NULL + && !cin_ends_in(theline, (char_u *)":", NULL) + && !cin_ends_in(theline, (char_u *)",", NULL) + && cin_isfuncdecl(NULL, cur_curpos.lnum + 1) +*** ../vim-7.2.377/src/version.c 2010-02-26 22:05:17.000000000 +0100 +--- src/version.c 2010-03-02 12:30:30.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 378, + /**/ + +-- + An extraordinary TALL KNIGHT in all black (possibly John with Mike on his + shoulders) walks out from the dark trees. He is extremely fierce and + gruesome countenance. He walks towards KING ARTHUR and PATSY, who are + wazzing like mad. (Salopian slang, meaning very scared. almost to the + point of wetting oneself, e.g. before an important football match or + prior to a postering. Salopian slang meaning a beating by the school + praeposters. Sorry about the Salopian slant to this stage direction - Ed.) + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.379 b/source/ap/vim/patches/7.2.379 new file mode 100644 index 000000000..8a600e9eb --- /dev/null +++ b/source/ap/vim/patches/7.2.379 @@ -0,0 +1,55 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.379 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.379 +Problem: 'eventignore' is set to an invalid value inside ":doau". (Antony + Scriven) +Solution: Don't include the leading comma when the option was empty. +Files: src/fileio.c + + +*** ../vim-7.2.378/src/fileio.c 2010-01-19 14:59:14.000000000 +0100 +--- src/fileio.c 2010-03-01 21:01:04.000000000 +0100 +*************** +*** 7925,7931 **** + new_ei = vim_strnsave(p_ei, (int)(STRLEN(p_ei) + STRLEN(what))); + if (new_ei != NULL) + { +! STRCAT(new_ei, what); + set_string_option_direct((char_u *)"ei", -1, new_ei, + OPT_FREE, SID_NONE); + vim_free(new_ei); +--- 7925,7934 ---- + new_ei = vim_strnsave(p_ei, (int)(STRLEN(p_ei) + STRLEN(what))); + if (new_ei != NULL) + { +! if (*what == ',' && *p_ei == NUL) +! STRCPY(new_ei, what + 1); +! else +! STRCAT(new_ei, what); + set_string_option_direct((char_u *)"ei", -1, new_ei, + OPT_FREE, SID_NONE); + vim_free(new_ei); +*** ../vim-7.2.378/src/version.c 2010-03-02 12:37:01.000000000 +0100 +--- src/version.c 2010-03-02 12:46:45.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 379, + /**/ + +-- +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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.380 b/source/ap/vim/patches/7.2.380 new file mode 100644 index 000000000..2cdd8318e --- /dev/null +++ b/source/ap/vim/patches/7.2.380 @@ -0,0 +1,104 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.380 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.380 (after 7.2.363) +Problem: Perl interface builds with 5.10.1 but not with 5.10.0. +Solution: Change the #ifdefs. (Sergey Khorev) +Files: src/if_perl.xs + + +*** ../vim-7.2.379/src/if_perl.xs 2010-02-17 16:40:47.000000000 +0100 +--- src/if_perl.xs 2010-03-02 15:07:01.000000000 +0100 +*************** +*** 62,67 **** +--- 62,72 ---- + # define PERL589_OR_LATER + #endif + ++ #if (PERL_REVISION == 5) && ((PERL_VERSION > 10) || \ ++ (PERL_VERSION == 10) && (PERL_SUBVERSION >= 1)) ++ # define PERL5101_OR_LATER ++ #endif ++ + #ifndef pTHX + # define pTHX void + # define pTHX_ +*************** +*** 93,99 **** + # define perl_free dll_perl_free + # define Perl_get_context dll_Perl_get_context + # define Perl_croak dll_Perl_croak +! # if (PERL_REVISION == 5) && (PERL_VERSION >= 10) + # define Perl_croak_xs_usage dll_Perl_croak_xs_usage + # endif + # ifndef PROTO +--- 98,104 ---- + # define perl_free dll_perl_free + # define Perl_get_context dll_Perl_get_context + # define Perl_croak dll_Perl_croak +! # ifdef PERL5101_OR_LATER + # define Perl_croak_xs_usage dll_Perl_croak_xs_usage + # endif + # ifndef PROTO +*************** +*** 205,211 **** + static int (*perl_parse)(PerlInterpreter*, XSINIT_t, int, char**, char**); + static void* (*Perl_get_context)(void); + static void (*Perl_croak)(pTHX_ const char*, ...); +! #if (PERL_REVISION == 5) && (PERL_VERSION >= 10) + static void (*Perl_croak_xs_usage)(pTHX_ const CV *const, const char *const params); + #endif + static void (*Perl_croak_nocontext)(const char*, ...); +--- 210,216 ---- + static int (*perl_parse)(PerlInterpreter*, XSINIT_t, int, char**, char**); + static void* (*Perl_get_context)(void); + static void (*Perl_croak)(pTHX_ const char*, ...); +! #ifdef PERL5101_OR_LATER + static void (*Perl_croak_xs_usage)(pTHX_ const CV *const, const char *const params); + #endif + static void (*Perl_croak_nocontext)(const char*, ...); +*************** +*** 312,318 **** + {"perl_parse", (PERL_PROC*)&perl_parse}, + {"Perl_get_context", (PERL_PROC*)&Perl_get_context}, + {"Perl_croak", (PERL_PROC*)&Perl_croak}, +! #if (PERL_REVISION == 5) && (PERL_VERSION >= 10) + {"Perl_croak_xs_usage", (PERL_PROC*)&Perl_croak_xs_usage}, + #endif + {"Perl_croak_nocontext", (PERL_PROC*)&Perl_croak_nocontext}, +--- 317,323 ---- + {"perl_parse", (PERL_PROC*)&perl_parse}, + {"Perl_get_context", (PERL_PROC*)&Perl_get_context}, + {"Perl_croak", (PERL_PROC*)&Perl_croak}, +! #ifdef PERL5101_OR_LATER + {"Perl_croak_xs_usage", (PERL_PROC*)&Perl_croak_xs_usage}, + #endif + {"Perl_croak_nocontext", (PERL_PROC*)&Perl_croak_nocontext}, +*** ../vim-7.2.379/src/version.c 2010-03-02 12:47:58.000000000 +0100 +--- src/version.c 2010-03-02 15:13:21.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 380, + /**/ + +-- +FATHER: Make sure the Prince doesn't leave this room until I come and + get him. +FIRST GUARD: Not ... to leave the room ... even if you come and get him. +FATHER: No. Until I come and get him. +SECOND GUARD: Hic. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.381 b/source/ap/vim/patches/7.2.381 new file mode 100644 index 000000000..977a8ecd5 --- /dev/null +++ b/source/ap/vim/patches/7.2.381 @@ -0,0 +1,218 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.381 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.381 +Problem: No completion for :behave. +Solution: Add :behave completion. Minor related fixes. (Dominique Pelle) +Files: src/ex_docmd.c, src/ex_getln.c, src/proto/ex_docmd.pro, src/vim.h + + +*** ../vim-7.2.380/src/ex_docmd.c 2010-02-03 15:14:15.000000000 +0100 +--- src/ex_docmd.c 2010-03-02 15:55:05.000000000 +0100 +*************** +*** 26,35 **** + long_u uc_argt; /* The argument type */ + char_u *uc_rep; /* The command's replacement string */ + long uc_def; /* The default value for a range/count */ +- scid_T uc_scriptID; /* SID where the command was defined */ + int uc_compl; /* completion type */ +! # if defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL) + char_u *uc_compl_arg; /* completion argument if any */ + # endif + } ucmd_T; + +--- 26,37 ---- + long_u uc_argt; /* The argument type */ + char_u *uc_rep; /* The command's replacement string */ + long uc_def; /* The default value for a range/count */ + int uc_compl; /* completion type */ +! # ifdef FEAT_EVAL +! scid_T uc_scriptID; /* SID where the command was defined */ +! # ifdef FEAT_CMDL_COMPL + char_u *uc_compl_arg; /* completion argument if any */ ++ # endif + # endif + } ucmd_T; + +*************** +*** 3156,3172 **** + return NULL; + } + for (ea.cmdidx = (cmdidx_T)0; (int)ea.cmdidx < (int)CMD_SIZE; +! ea.cmdidx = (cmdidx_T)((int)ea.cmdidx + 1)) +! if (STRNCMP(cmdnames[(int)ea.cmdidx].cmd_name, cmd, (size_t)len) == 0) + break; + + #ifdef FEAT_USR_CMDS + if (cmd[0] >= 'A' && cmd[0] <= 'Z') +- { + while (ASCII_ISALNUM(*p) || *p == '*') /* Allow * wild card */ + ++p; +- len = (int)(p - cmd); +- } + #endif + } + +--- 3158,3172 ---- + return NULL; + } + for (ea.cmdidx = (cmdidx_T)0; (int)ea.cmdidx < (int)CMD_SIZE; +! ea.cmdidx = (cmdidx_T)((int)ea.cmdidx + 1)) +! if (STRNCMP(cmdnames[(int)ea.cmdidx].cmd_name, cmd, +! (size_t)len) == 0) + break; + + #ifdef FEAT_USR_CMDS + if (cmd[0] >= 'A' && cmd[0] <= 'Z') + while (ASCII_ISALNUM(*p) || *p == '*') /* Allow * wild card */ + ++p; + #endif + } + +*************** +*** 3809,3814 **** +--- 3809,3817 ---- + set_context_in_profile_cmd(xp, arg); + break; + #endif ++ case CMD_behave: ++ xp->xp_context = EXPAND_BEHAVE; ++ break; + + #endif /* FEAT_CMDL_COMPL */ + +*************** +*** 10847,10852 **** +--- 10850,10873 ---- + EMSG2(_(e_invarg2), eap->arg); + } + ++ #if defined(FEAT_CMDL_COMPL) || defined(PROTO) ++ /* ++ * Function given to ExpandGeneric() to obtain the possible arguments of the ++ * ":behave {mswin,xterm}" command. ++ */ ++ char_u * ++ get_behave_arg(xp, idx) ++ expand_T *xp UNUSED; ++ int idx; ++ { ++ if (idx == 0) ++ return (char_u *)"mswin"; ++ if (idx == 1) ++ return (char_u *)"xterm"; ++ return NULL; ++ } ++ #endif ++ + #ifdef FEAT_AUTOCMD + static int filetype_detect = FALSE; + static int filetype_plugin = FALSE; +*** ../vim-7.2.380/src/ex_getln.c 2010-02-03 15:14:15.000000000 +0100 +--- src/ex_getln.c 2010-03-02 15:28:13.000000000 +0100 +*************** +*** 4492,4497 **** +--- 4492,4498 ---- + } tab[] = + { + {EXPAND_COMMANDS, get_command_name, FALSE}, ++ {EXPAND_BEHAVE, get_behave_arg, TRUE}, + #ifdef FEAT_USR_CMDS + {EXPAND_USER_COMMANDS, get_user_commands, FALSE}, + {EXPAND_USER_CMD_FLAGS, get_user_cmd_flags, FALSE}, +*** ../vim-7.2.380/src/proto/ex_docmd.pro 2008-07-04 11:43:13.000000000 +0200 +--- src/proto/ex_docmd.pro 2010-03-02 15:37:37.000000000 +0100 +*************** +*** 52,55 **** +--- 52,56 ---- + int put_eol __ARGS((FILE *fd)); + int put_line __ARGS((FILE *fd, char *s)); + void dialog_msg __ARGS((char_u *buff, char *format, char_u *fname)); ++ char_u *get_behave_arg __ARGS((expand_T *xp, int idx)); + /* vim: set ft=c : */ +*** ../vim-7.2.380/src/vim.h 2010-02-24 14:46:58.000000000 +0100 +--- src/vim.h 2010-03-02 15:30:13.000000000 +0100 +*************** +*** 595,601 **** + + /* + * Terminal highlighting attribute bits. +! * Attibutes above HL_ALL are used for syntax highlighting. + */ + #define HL_NORMAL 0x00 + #define HL_INVERSE 0x01 +--- 595,601 ---- + + /* + * Terminal highlighting attribute bits. +! * Attributes above HL_ALL are used for syntax highlighting. + */ + #define HL_NORMAL 0x00 + #define HL_INVERSE 0x01 +*************** +*** 721,726 **** +--- 721,727 ---- + #define EXPAND_CSCOPE 33 + #define EXPAND_SIGN 34 + #define EXPAND_PROFILE 35 ++ #define EXPAND_BEHAVE 36 + + /* Values for exmode_active (0 is no exmode) */ + #define EXMODE_NORMAL 1 +*************** +*** 1262,1268 **** + } hlf_T; + + /* The HL_FLAGS must be in the same order as the HLF_ enums! +! * When chainging this also adjust the default for 'highlight'. */ + #define HL_FLAGS {'8', '@', 'd', 'e', 'h', 'i', 'l', 'm', 'M', \ + 'n', 'r', 's', 'S', 'c', 't', 'v', 'V', 'w', 'W', \ + 'f', 'F', 'A', 'C', 'D', 'T', '>', \ +--- 1263,1269 ---- + } hlf_T; + + /* The HL_FLAGS must be in the same order as the HLF_ enums! +! * When changing this also adjust the default for 'highlight'. */ + #define HL_FLAGS {'8', '@', 'd', 'e', 'h', 'i', 'l', 'm', 'M', \ + 'n', 'r', 's', 'S', 'c', 't', 'v', 'V', 'w', 'W', \ + 'f', 'F', 'A', 'C', 'D', 'T', '>', \ +*************** +*** 1430,1436 **** + #ifdef FEAT_MBYTE + /* We need to call mb_stricmp() even when we aren't dealing with a multi-byte + * encoding because mb_stricmp() takes care of all ascii and non-ascii +! * encodings, including characters with umluats in latin1, etc., while + * STRICMP() only handles the system locale version, which often does not + * handle non-ascii properly. */ + +--- 1431,1437 ---- + #ifdef FEAT_MBYTE + /* We need to call mb_stricmp() even when we aren't dealing with a multi-byte + * encoding because mb_stricmp() takes care of all ascii and non-ascii +! * encodings, including characters with umlauts in latin1, etc., while + * STRICMP() only handles the system locale version, which often does not + * handle non-ascii properly. */ + +*** ../vim-7.2.380/src/version.c 2010-03-02 15:14:22.000000000 +0100 +--- src/version.c 2010-03-02 15:51:24.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 381, + /**/ + +-- +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/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.382 b/source/ap/vim/patches/7.2.382 new file mode 100644 index 000000000..56fcfa44d --- /dev/null +++ b/source/ap/vim/patches/7.2.382 @@ -0,0 +1,58 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.382 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.382 +Problem: Accessing freed memory when closing the cmdline window when + 'bufhide' is set to "wipe". +Solution: Check if the buffer still exists before invoking close_buffer() + (Dominique Pelle) +Files: src/ex_getln.c + + +*** ../vim-7.2.381/src/ex_getln.c 2010-03-02 15:55:51.000000000 +0100 +--- src/ex_getln.c 2010-03-02 16:29:38.000000000 +0100 +*************** +*** 6252,6258 **** + bp = curbuf; + win_goto(old_curwin); + win_close(wp, TRUE); +! close_buffer(NULL, bp, DOBUF_WIPE); + + /* Restore window sizes. */ + win_size_restore(&winsizes); +--- 6252,6262 ---- + bp = curbuf; + win_goto(old_curwin); + win_close(wp, TRUE); +! +! /* win_close() may have already wiped the buffer when 'bh' is +! * set to 'wipe' */ +! if (buf_valid(bp)) +! close_buffer(NULL, bp, DOBUF_WIPE); + + /* Restore window sizes. */ + win_size_restore(&winsizes); +*** ../vim-7.2.381/src/version.c 2010-03-02 15:55:51.000000000 +0100 +--- src/version.c 2010-03-02 17:22:11.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 382, + /**/ + +-- +You had connectors? Eeee, when I were a lad we 'ad to carry the +bits between the computer and the terminal with a spoon... + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.383 b/source/ap/vim/patches/7.2.383 new file mode 100644 index 000000000..25fa7142b --- /dev/null +++ b/source/ap/vim/patches/7.2.383 @@ -0,0 +1,101 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.383 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.383 +Problem: Vim doesn't build cleanly with MSVC 2010. +Solution: Change a few types. (George Reilly) +Files: src/ex_cmds2.c, src/if_python.c, src/syntax.c + + +*** ../vim-7.2.382/src/ex_cmds2.c 2010-02-24 13:59:08.000000000 +0100 +--- src/ex_cmds2.c 2010-03-02 17:42:54.000000000 +0100 +*************** +*** 1165,1171 **** + char_u *arg; + { + char_u *end_subcmd; +- int len; + + /* Default: expand subcommands. */ + xp->xp_context = EXPAND_PROFILE; +--- 1165,1170 ---- +*************** +*** 1176,1183 **** + if (*end_subcmd == NUL) + return; + +! len = end_subcmd - arg; +! if (len == 5 && STRNCMP(arg, "start", 5) == 0) + { + xp->xp_context = EXPAND_FILES; + xp->xp_pattern = skipwhite(end_subcmd); +--- 1175,1181 ---- + if (*end_subcmd == NUL) + return; + +! if (end_subcmd - arg == 5 && STRNCMP(arg, "start", 5) == 0) + { + xp->xp_context = EXPAND_FILES; + xp->xp_pattern = skipwhite(end_subcmd); +*** ../vim-7.2.382/src/if_python.c 2009-11-11 15:06:59.000000000 +0100 +--- src/if_python.c 2010-03-02 17:43:39.000000000 +0100 +*************** +*** 2080,2086 **** + return -1; + + /* When column is out of range silently correct it. */ +! len = STRLEN(ml_get_buf(this->win->w_buffer, lnum, FALSE)); + if (col > len) + col = len; + +--- 2080,2086 ---- + return -1; + + /* When column is out of range silently correct it. */ +! len = (long)STRLEN(ml_get_buf(this->win->w_buffer, lnum, FALSE)); + if (col > len) + col = len; + +*** ../vim-7.2.382/src/syntax.c 2010-02-24 17:22:14.000000000 +0100 +--- src/syntax.c 2010-03-02 17:45:25.000000000 +0100 +*************** +*** 3090,3096 **** + { + /* a "\n" at the end of the pattern may take us below the last line */ + result->lnum = syn_buf->b_ml.ml_line_count; +! col = STRLEN(ml_get_buf(syn_buf, result->lnum, FALSE)); + } + if (off != 0) + { +--- 3090,3096 ---- + { + /* a "\n" at the end of the pattern may take us below the last line */ + result->lnum = syn_buf->b_ml.ml_line_count; +! col = (int)STRLEN(ml_get_buf(syn_buf, result->lnum, FALSE)); + } + if (off != 0) + { +*** ../vim-7.2.382/src/version.c 2010-03-02 17:23:10.000000000 +0100 +--- src/version.c 2010-03-02 17:48:50.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 383, + /**/ + +-- +You were lucky to have a LAKE! There were a hundred and sixty of +us living in a small shoebox in the middle of the road. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.384 b/source/ap/vim/patches/7.2.384 new file mode 100644 index 000000000..24fc68075 --- /dev/null +++ b/source/ap/vim/patches/7.2.384 @@ -0,0 +1,59 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.384 (extra) +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.384 (extra) +Problem: Vim doesn't build properly with MSVC 2010. +Solution: Add the nmake version to the build file. (George Reilly) +Files: src/Make_mvc.mak, src/testdir/Make_dos.mak + + +*** ../vim-7.2.383/src/Make_mvc.mak 2009-09-11 12:48:56.000000000 +0200 +--- src/Make_mvc.mak 2010-03-02 17:44:22.000000000 +0100 +*************** +*** 361,366 **** +--- 361,369 ---- + !if "$(_NMAKE_VER)" == "10.00.20506.01" + MSVCVER = 10.0 + !endif ++ !if "$(_NMAKE_VER)" == "10.00.30128.01" ++ MSVCVER = 10.0 ++ !endif + !endif + + # Abort bulding VIM if version of VC is unrecognised. +*** ../vim-7.2.383/src/testdir/Make_dos.mak 2010-01-19 15:51:29.000000000 +0100 +--- src/testdir/Make_dos.mak 2010-03-02 17:45:48.000000000 +0100 +*************** +*** 56,61 **** +--- 56,62 ---- + -if exist small.vim del small.vim + -if exist tiny.vim del tiny.vim + -if exist mbyte.vim del mbyte.vim ++ -if exist mzscheme.vim del mzscheme.vim + -del X* + -if exist viminfo del viminfo + +*** ../vim-7.2.383/src/version.c 2010-03-02 17:50:30.000000000 +0100 +--- src/version.c 2010-03-02 17:59:09.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 384, + /**/ + +-- +Yah, well, we had to carve our electrons out of driftwood we'd +find. In the winter. Uphill. Both ways. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.385 b/source/ap/vim/patches/7.2.385 new file mode 100644 index 000000000..9f9a9178e --- /dev/null +++ b/source/ap/vim/patches/7.2.385 @@ -0,0 +1,63 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.385 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.385 +Problem: When in the command line window dragging status line only works + for last-but-one window. (Jean Johner) +Solution: Remove the code that disallows this. +Files: src/ui.c + + +*** ../vim-7.2.384/src/ui.c 2010-01-19 14:59:14.000000000 +0100 +--- src/ui.c 2010-03-02 18:06:30.000000000 +0100 +*************** +*** 2598,2611 **** + if (cmdwin_type != 0 && wp != curwin) + { + /* A click outside the command-line window: Use modeless +! * selection if possible. Allow dragging the status line of +! * windows just above the command-line window. */ +! if (wp->w_winrow + wp->w_height +! != curwin->w_prev->w_winrow + curwin->w_prev->w_height) +! { +! on_status_line = 0; +! dragwin = NULL; +! } + # ifdef FEAT_VERTSPLIT + on_sep_line = 0; + # endif +--- 2598,2604 ---- + if (cmdwin_type != 0 && wp != curwin) + { + /* A click outside the command-line window: Use modeless +! * selection if possible. Allow dragging the status lines. */ + # ifdef FEAT_VERTSPLIT + on_sep_line = 0; + # endif +*** ../vim-7.2.384/src/version.c 2010-03-02 17:59:39.000000000 +0100 +--- src/version.c 2010-03-02 18:14:29.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 385, + /**/ + +-- +You were lucky. We lived for three months in a brown paper bag in a +septic tank. We used to have to get up at six o'clock in the morning, +clean the bag, eat a crust of stale bread, go to work down mill for +fourteen hours a day week in-week out. When we got home, our Dad +would thrash us to sleep with his belt! + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.386 b/source/ap/vim/patches/7.2.386 new file mode 100644 index 000000000..7212b27c7 --- /dev/null +++ b/source/ap/vim/patches/7.2.386 @@ -0,0 +1,61 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.386 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.386 +Problem: Focus hack for KDE 3.1 causes problems for other window managers. +Solution: Remove the hack. (forwarded by Joel Bradshaw) +Files: src/gui_gtk.c + + +*** ../vim-7.2.385/src/gui_gtk.c 2009-05-17 16:23:20.000000000 +0200 +--- src/gui_gtk.c 2010-03-10 12:07:59.000000000 +0100 +*************** +*** 2313,2331 **** + gtk_widget_destroy(dialog); + } + +- /* Terrible hack: When the text area still has focus when we remove the +- * dialog, somehow gvim loses window focus. This is with "point to type" +- * in the KDE 3.1 window manager. Warp the mouse pointer to outside the +- * window and back to avoid that. */ +- if (!gui.in_focus) +- { +- int x, y; +- +- gdk_window_get_pointer(gui.drawarea->window, &x, &y, NULL); +- gui_mch_setmouse(-100, -100); +- gui_mch_setmouse(x, y); +- } +- + return response > 0 ? response : 0; + } + +--- 2313,2318 ---- +*** ../vim-7.2.385/src/version.c 2010-03-02 18:15:47.000000000 +0100 +--- src/version.c 2010-03-10 12:09:00.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 386, + /**/ + +-- +ARTHUR: Well, I AM king... +DENNIS: Oh king, eh, very nice. An' how'd you get that, eh? By exploitin' + the workers -- by 'angin' on to outdated imperialist dogma which + perpetuates the economic an' social differences in our society! If + there's ever going to be any progress-- + The Quest for the Holy Grail (Monty Python) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.387 b/source/ap/vim/patches/7.2.387 new file mode 100644 index 000000000..ccbd6e4c0 --- /dev/null +++ b/source/ap/vim/patches/7.2.387 @@ -0,0 +1,238 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.387 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.387 +Problem: Ruby with MingW still doesn't build all versions. +Solution: More #ifdefs for the Ruby code. (Sergey Khorev) +Files: src/if_ruby.c + + +*** ../vim-7.2.386/src/if_ruby.c 2010-02-24 15:47:58.000000000 +0100 +--- src/if_ruby.c 2010-03-10 12:40:30.000000000 +0100 +*************** +*** 39,46 **** + # define rb_cTrueClass (*dll_rb_cTrueClass) + # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 + /* +! * On ver 1.8, all Ruby functions are exported with "__declspce(dllimport)" +! * in ruby.h. But it cause trouble for these variables, because it is + * defined in this file. When defined this RUBY_EXPORT it modified to + * "extern" and be able to avoid this problem. + */ +--- 39,46 ---- + # define rb_cTrueClass (*dll_rb_cTrueClass) + # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 + /* +! * On ver 1.8, all Ruby functions are exported with "__declspec(dllimport)" +! * in ruby.h. But it causes trouble for these variables, because it is + * defined in this file. When defined this RUBY_EXPORT it modified to + * "extern" and be able to avoid this problem. + */ +*************** +*** 53,58 **** +--- 53,65 ---- + # undef _WIN32_WINNT + #endif + ++ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 ++ /* Ruby 1.9 defines a number of static functions which use rb_num2long and ++ * rb_int2big */ ++ # define rb_num2long rb_num2long_stub ++ # define rb_int2big rb_int2big_stub ++ #endif ++ + #include <ruby.h> + #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 + # include <ruby/encoding.h> +*************** +*** 159,165 **** + #define rb_str_concat dll_rb_str_concat + #define rb_str_new dll_rb_str_new + #define rb_str_new2 dll_rb_str_new2 +! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 + # define rb_errinfo dll_rb_errinfo + #else + # define ruby_errinfo (*dll_ruby_errinfo) +--- 166,179 ---- + #define rb_str_concat dll_rb_str_concat + #define rb_str_new dll_rb_str_new + #define rb_str_new2 dll_rb_str_new2 +! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 +! # define rb_string_value_ptr dll_rb_string_value_ptr +! # define rb_float_new dll_rb_float_new +! # define rb_ary_new dll_rb_ary_new +! # define rb_ary_push dll_rb_ary_push +! #endif +! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 \ +! || defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 + # define rb_errinfo dll_rb_errinfo + #else + # define ruby_errinfo (*dll_ruby_errinfo) +*************** +*** 226,232 **** + static VALUE (*dll_rb_str_concat) (VALUE, VALUE); + static VALUE (*dll_rb_str_new) (const char*, long); + static VALUE (*dll_rb_str_new2) (const char*); +! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 + static VALUE (*dll_rb_errinfo) (void); + #else + static VALUE *dll_ruby_errinfo; +--- 240,247 ---- + static VALUE (*dll_rb_str_concat) (VALUE, VALUE); + static VALUE (*dll_rb_str_new) (const char*, long); + static VALUE (*dll_rb_str_new2) (const char*); +! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 \ +! || defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 + static VALUE (*dll_rb_errinfo) (void); + #else + static VALUE *dll_ruby_errinfo; +*************** +*** 235,240 **** +--- 250,264 ---- + static void (*dll_ruby_init_loadpath) (void); + static void (*dll_NtInitialize) (int*, char***); + #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 ++ static char * (*dll_rb_string_value_ptr) (volatile VALUE*); ++ static VALUE (*dll_rb_float_new) (double); ++ static VALUE (*dll_rb_ary_new) (void); ++ static VALUE (*dll_rb_ary_push) (VALUE, VALUE); ++ #endif ++ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 ++ static VALUE (*dll_rb_int2big)(SIGNED_VALUE); ++ #endif ++ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 + static int (*dll_rb_w32_snprintf)(char*, size_t, const char*, ...); + #endif + +*************** +*** 246,251 **** +--- 270,286 ---- + static VALUE (*dll_rb_sprintf) (const char*, ...); + #endif + ++ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 ++ static SIGNED_VALUE rb_num2long_stub(VALUE x) ++ { ++ return dll_rb_num2long(x); ++ } ++ static VALUE rb_int2big_stub(SIGNED_VALUE x) ++ { ++ return dll_rb_int2big(x); ++ } ++ #endif ++ + static HINSTANCE hinstRuby = 0; /* Instance of ruby.dll */ + + /* +*************** +*** 301,317 **** + {"rb_str_concat", (RUBY_PROC*)&dll_rb_str_concat}, + {"rb_str_new", (RUBY_PROC*)&dll_rb_str_new}, + {"rb_str_new2", (RUBY_PROC*)&dll_rb_str_new2}, +! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 + {"rb_errinfo", (RUBY_PROC*)&dll_rb_errinfo}, + #else + {"ruby_errinfo", (RUBY_PROC*)&dll_ruby_errinfo}, + #endif + {"ruby_init", (RUBY_PROC*)&dll_ruby_init}, + {"ruby_init_loadpath", (RUBY_PROC*)&dll_ruby_init_loadpath}, +! {"NtInitialize", (RUBY_PROC*)&dll_NtInitialize}, + #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 + {"rb_w32_snprintf", (RUBY_PROC*)&dll_rb_w32_snprintf}, + #endif + #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 + {"ruby_script", (RUBY_PROC*)&dll_ruby_script}, + {"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index}, +--- 336,368 ---- + {"rb_str_concat", (RUBY_PROC*)&dll_rb_str_concat}, + {"rb_str_new", (RUBY_PROC*)&dll_rb_str_new}, + {"rb_str_new2", (RUBY_PROC*)&dll_rb_str_new2}, +! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 \ +! || defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 + {"rb_errinfo", (RUBY_PROC*)&dll_rb_errinfo}, + #else + {"ruby_errinfo", (RUBY_PROC*)&dll_ruby_errinfo}, + #endif + {"ruby_init", (RUBY_PROC*)&dll_ruby_init}, + {"ruby_init_loadpath", (RUBY_PROC*)&dll_ruby_init_loadpath}, +! { +! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER < 19 +! "NtInitialize", +! #else +! "ruby_sysinit", +! #endif +! (RUBY_PROC*)&dll_NtInitialize}, + #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 + {"rb_w32_snprintf", (RUBY_PROC*)&dll_rb_w32_snprintf}, + #endif ++ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 ++ {"rb_string_value_ptr", (RUBY_PROC*)&dll_rb_string_value_ptr}, ++ {"rb_float_new", (RUBY_PROC*)&dll_rb_float_new}, ++ {"rb_ary_new", (RUBY_PROC*)&dll_rb_ary_new}, ++ {"rb_ary_push", (RUBY_PROC*)&dll_rb_ary_push}, ++ #endif ++ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 ++ {"rb_int2big", (RUBY_PROC*)&dll_rb_int2big}, ++ #endif + #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 + {"ruby_script", (RUBY_PROC*)&dll_ruby_script}, + {"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index}, +*************** +*** 569,575 **** + static void error_print(int state) + { + #ifndef DYNAMIC_RUBY +! #if !(defined(RUBY_VERSION) && RUBY_VERSION >= 19) + RUBYEXTERN VALUE ruby_errinfo; + #endif + #endif +--- 620,627 ---- + static void error_print(int state) + { + #ifndef DYNAMIC_RUBY +! #if !(defined(RUBY_VERSION) && RUBY_VERSION >= 19) \ +! && !(defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19) + RUBYEXTERN VALUE ruby_errinfo; + #endif + #endif +*************** +*** 605,611 **** + break; + case TAG_RAISE: + case TAG_FATAL: +! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 + eclass = CLASS_OF(rb_errinfo()); + einfo = rb_obj_as_string(rb_errinfo()); + #else +--- 657,664 ---- + break; + case TAG_RAISE: + case TAG_FATAL: +! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 \ +! || defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 + eclass = CLASS_OF(rb_errinfo()); + einfo = rb_obj_as_string(rb_errinfo()); + #else +*** ../vim-7.2.386/src/version.c 2010-03-10 12:24:44.000000000 +0100 +--- src/version.c 2010-03-10 12:45:55.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 387, + /**/ + +-- +Vim is like Emacs without all the typing. (John "Johann" Spetz) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.388 b/source/ap/vim/patches/7.2.388 new file mode 100644 index 000000000..1a8a7a88c --- /dev/null +++ b/source/ap/vim/patches/7.2.388 @@ -0,0 +1,86 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.388 (extra) +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.388 (extra part of 7.2.387) +Problem: Ruby with MingW still doesn't build all versions. +Solution: Different approach to build file. (Sergey Khorev) +Files: src/Make_ming.mak + + +*** ../vim-7.2.387/src/Make_ming.mak 2010-02-26 22:05:17.000000000 +0100 +--- src/Make_ming.mak 2010-03-10 12:34:25.000000000 +0100 +*************** +*** 212,234 **** + RUBY_VER_LONG = 1.6 + endif + +- ifeq ($(RUBY_VER), 16) + ifndef RUBY_PLATFORM + RUBY_PLATFORM = i586-mswin32 +! endif +! ifndef RUBY_INSTALL_NAME +! RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_VER) +! endif + else +- ifndef RUBY_PLATFORM + RUBY_PLATFORM = i386-mswin32 + endif + ifndef RUBY_INSTALL_NAME + RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_VER) + endif + endif + +! RUBYINC =-I $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/$(RUBY_PLATFORM) + ifeq (no, $(DYNAMIC_RUBY)) + RUBYLIB = -L$(RUBY)/lib -l$(RUBY_INSTALL_NAME) + endif +--- 212,236 ---- + RUBY_VER_LONG = 1.6 + endif + + ifndef RUBY_PLATFORM ++ ifeq ($(RUBY_VER), 16) + RUBY_PLATFORM = i586-mswin32 +! else ifneq ("X$(wildcard, $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/i386-mingw32)", X) +! RUBY_PLATFORM = i386-mingw32 + else + RUBY_PLATFORM = i386-mswin32 + endif ++ endif ++ + 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 + +! RUBYINC =-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) + ifeq (no, $(DYNAMIC_RUBY)) + RUBYLIB = -L$(RUBY)/lib -l$(RUBY_INSTALL_NAME) + endif +*** ../vim-7.2.387/src/version.c 2010-03-10 12:46:38.000000000 +0100 +--- src/version.c 2010-03-10 13:18:38.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 388, + /**/ + +-- +Q: Is selling software the same as selling hardware? +A: No, good hardware is sold new, good software has already been used by many. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.389 b/source/ap/vim/patches/7.2.389 new file mode 100644 index 000000000..a4af355fb --- /dev/null +++ b/source/ap/vim/patches/7.2.389 @@ -0,0 +1,161 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.389 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.389 +Problem: synIDattr() cannot return the font. +Solution: Support the "font" argument. (Christian Brabandt) +Files: runtime/doc/eval.txt, src/eval.c, src/syntax.c + + +*** ../vim-7.2.388/runtime/doc/eval.txt 2010-01-19 15:51:29.000000000 +0100 +--- runtime/doc/eval.txt 2010-03-10 12:52:12.000000000 +0100 +*************** +*** 5370,5375 **** +--- 5388,5395 ---- + the color, cterm: color number as a string, + term: empty string) + "bg" background color (as with "fg") ++ "font" font name (only available in the GUI) ++ |highlight-font| + "sp" special color (as with "fg") |highlight-guisp| + "fg#" like "fg", but for the GUI and the GUI is + running the name in "#RRGGBB" form +*************** +*** 5379,5384 **** +--- 5399,5405 ---- + "italic" "1" if italic + "reverse" "1" if reverse + "inverse" "1" if inverse (= reverse) ++ "standout" "1" if standout + "underline" "1" if underlined + "undercurl" "1" if undercurled + +*** ../vim-7.2.388/src/eval.c 2010-02-24 15:47:58.000000000 +0100 +--- src/eval.c 2010-03-10 12:54:27.000000000 +0100 +*************** +*** 16627,16633 **** + p = highlight_has_attr(id, HL_BOLD, modec); + break; + +! case 'f': /* fg[#] */ + p = highlight_color(id, what, modec); + break; + +--- 16627,16633 ---- + p = highlight_has_attr(id, HL_BOLD, modec); + break; + +! case 'f': /* fg[#] or font */ + p = highlight_color(id, what, modec); + break; + +*** ../vim-7.2.388/src/syntax.c 2010-03-02 17:50:30.000000000 +0100 +--- src/syntax.c 2010-03-10 13:05:39.000000000 +0100 +*************** +*** 8326,8332 **** + char_u * + highlight_color(id, what, modec) + int id; +! char_u *what; /* "fg", "bg", "sp", "fg#", "bg#" or "sp#" */ + int modec; /* 'g' for GUI, 'c' for cterm, 't' for term */ + { + static char_u name[20]; +--- 8326,8332 ---- + char_u * + highlight_color(id, what, modec) + int id; +! char_u *what; /* "font", "fg", "bg", "sp", "fg#", "bg#" or "sp#" */ + int modec; /* 'g' for GUI, 'c' for cterm, 't' for term */ + { + static char_u name[20]; +*************** +*** 8334,8353 **** + int fg = FALSE; + # ifdef FEAT_GUI + int sp = FALSE; + # endif + + if (id <= 0 || id > highlight_ga.ga_len) + return NULL; + +! if (TOLOWER_ASC(what[0]) == 'f') + fg = TRUE; + # ifdef FEAT_GUI +! else if (TOLOWER_ASC(what[0]) == 's') + sp = TRUE; + if (modec == 'g') + { + /* return #RRGGBB form (only possible when GUI is running) */ +! if (gui.in_use && what[1] && what[2] == '#') + { + guicolor_T color; + long_u rgb; +--- 8334,8363 ---- + int fg = FALSE; + # ifdef FEAT_GUI + int sp = FALSE; ++ int font = FALSE; + # endif + + if (id <= 0 || id > highlight_ga.ga_len) + return NULL; + +! if (TOLOWER_ASC(what[0]) == 'f' && TOLOWER_ASC(what[1]) == 'g') + fg = TRUE; + # ifdef FEAT_GUI +! else if (TOLOWER_ASC(what[0]) == 'f' && TOLOWER_ASC(what[1]) == 'o' +! && TOLOWER_ASC(what[2]) == 'n' && TOLOWER_ASC(what[3]) == 't') +! font = TRUE; +! else if (TOLOWER_ASC(what[0]) == 's' && TOLOWER_ASC(what[1]) == 'p') + sp = TRUE; ++ else if (!(TOLOWER_ASC(what[0]) == 'b' && TOLOWER_ASC(what[1]) == 'g')) ++ return NULL; + if (modec == 'g') + { ++ /* return font name */ ++ if (font) ++ return HL_TABLE()[id - 1].sg_font_name; ++ + /* return #RRGGBB form (only possible when GUI is running) */ +! if (gui.in_use && what[2] == '#') + { + guicolor_T color; + long_u rgb; +*************** +*** 8374,8379 **** +--- 8384,8391 ---- + return (HL_TABLE()[id - 1].sg_gui_sp_name); + return (HL_TABLE()[id - 1].sg_gui_bg_name); + } ++ if (font || sp) ++ return NULL; + # endif + if (modec == 'c') + { +*** ../vim-7.2.388/src/version.c 2010-03-10 13:19:28.000000000 +0100 +--- src/version.c 2010-03-10 13:33:25.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 389, + /**/ + +-- +WOMAN: Dennis, there's some lovely filth down here. Oh -- how d'you do? +ARTHUR: How do you do, good lady. I am Arthur, King of the Britons. + Who's castle is that? +WOMAN: King of the who? + The Quest for the Holy Grail (Monty Python) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.390 b/source/ap/vim/patches/7.2.390 new file mode 100644 index 000000000..d10ed2a44 --- /dev/null +++ b/source/ap/vim/patches/7.2.390 @@ -0,0 +1,72 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.390 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.390 +Problem: In some situations the popup menu can be displayed wrong. +Solution: Remove the popup menu if the cursor moved. (Lech Lorens) +Files: src/edit.c + + +*** ../vim-7.2.389/src/edit.c 2010-01-19 14:59:14.000000000 +0100 +--- src/edit.c 2010-03-10 14:09:56.000000000 +0100 +*************** +*** 4684,4689 **** +--- 4684,4690 ---- + int startcol = 0; /* column where searched text starts */ + colnr_T curs_col; /* cursor column */ + int n; ++ int save_w_wrow; + + compl_direction = ins_compl_key2dir(c); + if (!compl_started) +*************** +*** 5067,5072 **** +--- 5068,5074 ---- + /* + * Find next match (and following matches). + */ ++ save_w_wrow = curwin->w_wrow; + n = ins_compl_next(TRUE, ins_compl_key2count(c), ins_compl_use_match(c)); + + /* may undisplay the popup menu */ +*************** +*** 5220,5225 **** +--- 5222,5233 ---- + /* RedrawingDisabled may be set when invoked through complete(). */ + n = RedrawingDisabled; + RedrawingDisabled = 0; ++ ++ /* If the cursor moved we need to remove the pum first. */ ++ setcursor(); ++ if (save_w_wrow != curwin->w_wrow) ++ ins_compl_del_pum(); ++ + ins_compl_show_pum(); + setcursor(); + RedrawingDisabled = n; +*** ../vim-7.2.389/src/version.c 2010-03-10 13:43:22.000000000 +0100 +--- src/version.c 2010-03-10 14:13:55.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 390, + /**/ + +-- +`When any government, or any church for that matter, undertakes to say to + its subjects, "This you may not read, this you must not see, this you are + forbidden to know," the end result is tyranny and oppression no matter how + holy the motives' -- Robert A Heinlein, "If this goes on --" + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.391 b/source/ap/vim/patches/7.2.391 new file mode 100644 index 000000000..731408de8 --- /dev/null +++ b/source/ap/vim/patches/7.2.391 @@ -0,0 +1,121 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.391 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.391 +Problem: Internal alloc(0) error when doing "CTRL-V $ c". (Martti Kuparinen) +Solution: Fix computations in getvcol(). (partly by Lech Lorens) +Files: src/charset.c, src/memline.c + + +*** ../vim-7.2.390/src/charset.c 2009-11-03 16:03:59.000000000 +0100 +--- src/charset.c 2010-03-10 14:38:14.000000000 +0100 +*************** +*** 1255,1261 **** + + vcol = 0; + ptr = ml_get_buf(wp->w_buffer, pos->lnum, FALSE); +! posptr = ptr + pos->col; + + /* + * This function is used very often, do some speed optimizations. +--- 1255,1264 ---- + + vcol = 0; + ptr = ml_get_buf(wp->w_buffer, pos->lnum, FALSE); +! if (pos->col == MAXCOL) +! posptr = NULL; /* continue until the NUL */ +! else +! posptr = ptr + pos->col; + + /* + * This function is used very often, do some speed optimizations. +*************** +*** 1313,1319 **** + incr = CHARSIZE(c); + } + +! if (ptr >= posptr) /* character at pos->col */ + break; + + vcol += incr; +--- 1316,1322 ---- + incr = CHARSIZE(c); + } + +! if (posptr != NULL && ptr >= posptr) /* character at pos->col */ + break; + + vcol += incr; +*************** +*** 1334,1340 **** + break; + } + +! if (ptr >= posptr) /* character at pos->col */ + break; + + vcol += incr; +--- 1337,1343 ---- + break; + } + +! if (posptr != NULL && ptr >= posptr) /* character at pos->col */ + break; + + vcol += incr; +*** ../vim-7.2.390/src/memline.c 2010-02-11 18:54:38.000000000 +0100 +--- src/memline.c 2010-03-10 14:38:25.000000000 +0100 +*************** +*** 2113,2124 **** + if (buf->b_ml.ml_mfp == NULL) /* there are no lines */ + return (char_u *)""; + +! /* +! * See if it is the same line as requested last time. +! * Otherwise may need to flush last used line. +! * Don't use the last used line when 'swapfile' is reset, need to load all +! * blocks. +! */ + if (buf->b_ml.ml_line_lnum != lnum || mf_dont_release) + { + ml_flush_line(buf); +--- 2113,2124 ---- + if (buf->b_ml.ml_mfp == NULL) /* there are no lines */ + return (char_u *)""; + +! /* +! * See if it is the same line as requested last time. +! * Otherwise may need to flush last used line. +! * Don't use the last used line when 'swapfile' is reset, need to load all +! * blocks. +! */ + if (buf->b_ml.ml_line_lnum != lnum || mf_dont_release) + { + ml_flush_line(buf); +*** ../vim-7.2.390/src/version.c 2010-03-10 14:15:28.000000000 +0100 +--- src/version.c 2010-03-10 14:31:02.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 391, + /**/ + +-- +WOMAN: King of the who? +ARTHUR: The Britons. +WOMAN: Who are the Britons? +ARTHUR: Well, we all are. we're all Britons and I am your king. + The Quest for the Holy Grail (Monty Python) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.392 b/source/ap/vim/patches/7.2.392 new file mode 100644 index 000000000..c253d91b5 --- /dev/null +++ b/source/ap/vim/patches/7.2.392 @@ -0,0 +1,184 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.392 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.392 +Problem: Netbeans hangs reading from a socket at the maximum block size. +Solution: Use select() or poll(). (Xavier de Gaye) +Files: src/vim.h, src/os_unixx.h, src/if_xcmdsrv.c, src/netbeans.c + + +*** ../vim-7.2.391/src/vim.h 2010-03-02 15:55:51.000000000 +0100 +--- src/vim.h 2010-03-10 15:14:03.000000000 +0100 +*************** +*** 477,482 **** +--- 477,499 ---- + # include <stdarg.h> + #endif + ++ # if defined(HAVE_SYS_SELECT_H) && \ ++ (!defined(HAVE_SYS_TIME_H) || defined(SYS_SELECT_WITH_SYS_TIME)) ++ # include <sys/select.h> ++ # endif ++ ++ # ifndef HAVE_SELECT ++ # ifdef HAVE_SYS_POLL_H ++ # include <sys/poll.h> ++ # define HAVE_POLL ++ # else ++ # ifdef HAVE_POLL_H ++ # include <poll.h> ++ # define HAVE_POLL ++ # endif ++ # endif ++ # endif ++ + /* ================ end of the header file puzzle =============== */ + + /* +*** ../vim-7.2.391/src/os_unixx.h 2006-03-25 22:48:00.000000000 +0100 +--- src/os_unixx.h 2010-03-10 15:14:49.000000000 +0100 +*************** +*** 28,38 **** + # include <sys/wait.h> + # endif + +- # if defined(HAVE_SYS_SELECT_H) && \ +- (!defined(HAVE_SYS_TIME_H) || defined(SYS_SELECT_WITH_SYS_TIME)) +- # include <sys/select.h> +- # endif +- + # ifndef WEXITSTATUS + # ifdef HAVE_UNION_WAIT + # define WEXITSTATUS(stat_val) ((stat_val).w_T.w_Retcode) +--- 28,33 ---- +*************** +*** 65,80 **** + # include <string.h> + #endif + +- #ifndef HAVE_SELECT +- # ifdef HAVE_SYS_POLL_H +- # include <sys/poll.h> +- # else +- # ifdef HAVE_POLL_H +- # include <poll.h> +- # endif +- # endif +- #endif +- + #ifdef HAVE_SYS_STREAM_H + # include <sys/stream.h> + #endif +--- 60,65 ---- +*** ../vim-7.2.391/src/if_xcmdsrv.c 2009-05-16 17:29:37.000000000 +0200 +--- src/if_xcmdsrv.c 2010-03-10 15:14:09.000000000 +0100 +*************** +*** 21,41 **** + # include <X11/Xatom.h> + # endif + +- # if defined(HAVE_SYS_SELECT_H) && \ +- (!defined(HAVE_SYS_TIME_H) || defined(SYS_SELECT_WITH_SYS_TIME)) +- # include <sys/select.h> +- # endif +- +- # ifndef HAVE_SELECT +- # ifdef HAVE_SYS_POLL_H +- # include <sys/poll.h> +- # else +- # ifdef HAVE_POLL_H +- # include <poll.h> +- # endif +- # endif +- # endif +- + /* + * This file provides procedures that implement the command server + * functionality of Vim when in contact with an X11 server. +--- 21,26 ---- +*** ../vim-7.2.391/src/netbeans.c 2010-01-19 15:12:33.000000000 +0100 +--- src/netbeans.c 2010-03-10 15:21:37.000000000 +0100 +*************** +*** 736,741 **** +--- 736,749 ---- + #ifndef FEAT_GUI_GTK + static int level = 0; + #endif ++ #ifdef HAVE_SELECT ++ struct timeval tval; ++ fd_set rfds; ++ #else ++ # ifdef HAVE_POLL ++ struct pollfd fds; ++ # endif ++ #endif + + if (sd < 0) + { +*************** +*** 755,763 **** + return; /* out of memory! */ + } + +! /* Keep on reading for as long as there is something to read. */ + for (;;) + { + len = sock_read(sd, buf, MAXMSGSIZE); + if (len <= 0) + break; /* error or nothing more to read */ +--- 763,788 ---- + return; /* out of memory! */ + } + +! /* Keep on reading for as long as there is something to read. +! * Use select() or poll() to avoid blocking on a message that is exactly +! * MAXMSGSIZE long. */ + for (;;) + { ++ #ifdef HAVE_SELECT ++ FD_ZERO(&rfds); ++ FD_SET(sd, &rfds); ++ tval.tv_sec = 0; ++ tval.tv_usec = 0; ++ if (select(sd + 1, &rfds, NULL, NULL, &tval) <= 0) ++ break; ++ #else ++ # ifdef HAVE_POLL ++ fds.fd = sd; ++ fds.events = POLLIN; ++ if (poll(&fds, 1, 0) <= 0) ++ break; ++ # endif ++ #endif + len = sock_read(sd, buf, MAXMSGSIZE); + if (len <= 0) + break; /* error or nothing more to read */ +*** ../vim-7.2.391/src/version.c 2010-03-10 14:46:21.000000000 +0100 +--- src/version.c 2010-03-10 16:10:48.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 392, + /**/ + +-- +WOMAN: I didn't know we had a king. I thought we were an autonomous + collective. +DENNIS: You're fooling yourself. We're living in a dictatorship. A + self-perpetuating autocracy in which the working classes-- +WOMAN: Oh there you go, bringing class into it again. +DENNIS: That's what it's all about if only people would-- + The Quest for the Holy Grail (Monty Python) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.393 b/source/ap/vim/patches/7.2.393 new file mode 100644 index 000000000..796f65487 --- /dev/null +++ b/source/ap/vim/patches/7.2.393 @@ -0,0 +1,281 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.393 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.393 +Problem: Mac: Can't build with different Xcode developer tools directory. +Solution: make "Developer" directory name configurable. (Rainer Muller) +Files: src/configure.in, src/auto/configure + + +*** ../vim-7.2.392/src/configure.in 2010-02-24 14:46:58.000000000 +0100 +--- src/configure.in 2010-03-10 16:16:48.000000000 +0100 +*************** +*** 116,121 **** +--- 116,137 ---- + MACARCH="$withval"; AC_MSG_RESULT($MACARCH), + MACARCH="current"; AC_MSG_RESULT(defaulting to $MACARCH)) + ++ AC_MSG_CHECKING(--with-developer-dir argument) ++ AC_ARG_WITH(developer-dir, [ --with-developer-dir=PATH use PATH as location for Xcode developer tools], ++ DEVELOPER_DIR="$withval"; AC_MSG_RESULT($DEVELOPER_DIR), ++ DEVELOPER_DIR=""; AC_MSG_RESULT(not present)) ++ ++ if test "x$DEVELOPER_DIR" = "x"; then ++ AC_PATH_PROG(XCODE_SELECT, xcode-select) ++ if test "x$XCODE_SELECT" != "x"; then ++ AC_MSG_CHECKING(for developer dir using xcode-select) ++ DEVELOPER_DIR=`$XCODE_SELECT -print-path` ++ AC_MSG_RESULT([$DEVELOPER_DIR]) ++ else ++ DEVELOPER_DIR=/Developer ++ fi ++ fi ++ + if test "x$MACARCH" = "xboth"; then + AC_MSG_CHECKING(for 10.4 universal SDK) + dnl There is a terrible inconsistency (but we appear to get away with it): +*************** +*** 127,133 **** + save_cppflags="$CPPFLAGS" + save_cflags="$CFLAGS" + save_ldflags="$LDFLAGS" +! CFLAGS="$CFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" + AC_TRY_LINK([ ], [ ], + AC_MSG_RESULT(found, will make universal binary), + +--- 143,149 ---- + save_cppflags="$CPPFLAGS" + save_cflags="$CFLAGS" + save_ldflags="$LDFLAGS" +! CFLAGS="$CFLAGS -isysroot $DEVELOPER_DIR/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" + AC_TRY_LINK([ ], [ ], + AC_MSG_RESULT(found, will make universal binary), + +*************** +*** 157,165 **** + dnl TODO: use -arch i386 on Intel machines + CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp" + if test "x$MACARCH" = "xboth"; then +! CPPFLAGS="$CPPFLAGS -I/Developer/SDKs/MacOSX10.4u.sdk/Developer/Headers/FlatCarbon" + else +! CPPFLAGS="$CPPFLAGS -I/Developer/Headers/FlatCarbon" + fi + + dnl If Carbon is found, assume we don't want X11 +--- 173,181 ---- + dnl TODO: use -arch i386 on Intel machines + CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp" + if test "x$MACARCH" = "xboth"; then +! CPPFLAGS="$CPPFLAGS -I$DEVELOPER_DIR/SDKs/MacOSX10.4u.sdk/Developer/Headers/FlatCarbon" + else +! CPPFLAGS="$CPPFLAGS -I$DEVELOPER_DIR/Headers/FlatCarbon" + fi + + dnl If Carbon is found, assume we don't want X11 +*************** +*** 3233,3239 **** + fi + fi + if test "x$MACARCH" = "xboth"; then +! LDFLAGS="$LDFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" + fi + + dnl gcc 3.1 changed the meaning of -MM. The only solution appears to be to +--- 3249,3255 ---- + fi + fi + if test "x$MACARCH" = "xboth"; then +! LDFLAGS="$LDFLAGS -isysroot $DEVELOPER_DIR/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" + fi + + dnl gcc 3.1 changed the meaning of -MM. The only solution appears to be to +*** ../vim-7.2.392/src/auto/configure 2010-02-24 14:46:58.000000000 +0100 +--- src/auto/configure 2010-03-10 16:19:47.000000000 +0100 +*************** +*** 718,723 **** +--- 718,724 ---- + VIMNAME + OS_EXTRA_OBJ + OS_EXTRA_SRC ++ XCODE_SELECT + CPP_MM + STRIP + AWK +*************** +*** 774,779 **** +--- 775,781 ---- + enable_option_checking + enable_darwin + with_mac_arch ++ with_developer_dir + with_local_dir + with_vim_name + with_ex_name +*************** +*** 1492,1497 **** +--- 1494,1500 ---- + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-mac-arch=ARCH current, intel, ppc or both ++ --with-developer-dir=PATH use PATH as location for Xcode developer tools + --with-local-dir=PATH search PATH instead of /usr/local for local libraries. + --without-local-dir do not search /usr/local for local libraries. + --with-vim-name=NAME what to call the Vim executable +*************** +*** 3833,3845 **** + fi + + + if test "x$MACARCH" = "xboth"; then + { $as_echo "$as_me:$LINENO: checking for 10.4 universal SDK" >&5 + $as_echo_n "checking for 10.4 universal SDK... " >&6; } + save_cppflags="$CPPFLAGS" + save_cflags="$CFLAGS" + save_ldflags="$LDFLAGS" +! CFLAGS="$CFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF +--- 3836,3913 ---- + fi + + ++ { $as_echo "$as_me:$LINENO: checking --with-developer-dir argument" >&5 ++ $as_echo_n "checking --with-developer-dir argument... " >&6; } ++ ++ # Check whether --with-developer-dir was given. ++ if test "${with_developer_dir+set}" = set; then ++ withval=$with_developer_dir; DEVELOPER_DIR="$withval"; { $as_echo "$as_me:$LINENO: result: $DEVELOPER_DIR" >&5 ++ $as_echo "$DEVELOPER_DIR" >&6; } ++ else ++ DEVELOPER_DIR=""; { $as_echo "$as_me:$LINENO: result: not present" >&5 ++ $as_echo "not present" >&6; } ++ fi ++ ++ ++ if test "x$DEVELOPER_DIR" = "x"; then ++ # Extract the first word of "xcode-select", so it can be a program name with args. ++ set dummy xcode-select; ac_word=$2 ++ { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 ++ $as_echo_n "checking for $ac_word... " >&6; } ++ if test "${ac_cv_path_XCODE_SELECT+set}" = set; then ++ $as_echo_n "(cached) " >&6 ++ else ++ case $XCODE_SELECT in ++ [\\/]* | ?:[\\/]*) ++ ac_cv_path_XCODE_SELECT="$XCODE_SELECT" # Let the user override the test with a path. ++ ;; ++ *) ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++ for as_dir in $PATH ++ do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ++ ac_cv_path_XCODE_SELECT="$as_dir/$ac_word$ac_exec_ext" ++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++ done ++ done ++ IFS=$as_save_IFS ++ ++ ;; ++ esac ++ fi ++ XCODE_SELECT=$ac_cv_path_XCODE_SELECT ++ if test -n "$XCODE_SELECT"; then ++ { $as_echo "$as_me:$LINENO: result: $XCODE_SELECT" >&5 ++ $as_echo "$XCODE_SELECT" >&6; } ++ else ++ { $as_echo "$as_me:$LINENO: result: no" >&5 ++ $as_echo "no" >&6; } ++ fi ++ ++ ++ if test "x$XCODE_SELECT" != "x"; then ++ { $as_echo "$as_me:$LINENO: checking for developer dir using xcode-select" >&5 ++ $as_echo_n "checking for developer dir using xcode-select... " >&6; } ++ DEVELOPER_DIR=`$XCODE_SELECT -print-path` ++ { $as_echo "$as_me:$LINENO: result: $DEVELOPER_DIR" >&5 ++ $as_echo "$DEVELOPER_DIR" >&6; } ++ else ++ DEVELOPER_DIR=/Developer ++ fi ++ fi ++ + if test "x$MACARCH" = "xboth"; then + { $as_echo "$as_me:$LINENO: checking for 10.4 universal SDK" >&5 + $as_echo_n "checking for 10.4 universal SDK... " >&6; } + save_cppflags="$CPPFLAGS" + save_cflags="$CFLAGS" + save_ldflags="$LDFLAGS" +! CFLAGS="$CFLAGS -isysroot $DEVELOPER_DIR/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF +*************** +*** 3960,3968 **** + OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o" + CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp" + if test "x$MACARCH" = "xboth"; then +! CPPFLAGS="$CPPFLAGS -I/Developer/SDKs/MacOSX10.4u.sdk/Developer/Headers/FlatCarbon" + else +! CPPFLAGS="$CPPFLAGS -I/Developer/Headers/FlatCarbon" + fi + + # On IRIX 5.3, sys/types and inttypes.h are conflicting. +--- 4028,4036 ---- + OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o" + CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp" + if test "x$MACARCH" = "xboth"; then +! CPPFLAGS="$CPPFLAGS -I$DEVELOPER_DIR/SDKs/MacOSX10.4u.sdk/Developer/Headers/FlatCarbon" + else +! CPPFLAGS="$CPPFLAGS -I$DEVELOPER_DIR/Headers/FlatCarbon" + fi + + # On IRIX 5.3, sys/types and inttypes.h are conflicting. +*************** +*** 17319,17325 **** + fi + fi + if test "x$MACARCH" = "xboth"; then +! LDFLAGS="$LDFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" + fi + + DEPEND_CFLAGS_FILTER= +--- 17387,17393 ---- + fi + fi + if test "x$MACARCH" = "xboth"; then +! LDFLAGS="$LDFLAGS -isysroot $DEVELOPER_DIR/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" + fi + + DEPEND_CFLAGS_FILTER= +*** ../vim-7.2.392/src/version.c 2010-03-10 16:11:57.000000000 +0100 +--- src/version.c 2010-03-10 16:26:00.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 393, + /**/ + +-- +There are 2 kinds of people in my world: those who know Unix, Perl, Vim, GNU, +Linux, etc, and those who know COBOL. It gets very difficult for me at +parties, not knowing which group to socialise with :-) + Sitaram Chamarty + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.394 b/source/ap/vim/patches/7.2.394 new file mode 100644 index 000000000..50235e04d --- /dev/null +++ b/source/ap/vim/patches/7.2.394 @@ -0,0 +1,99 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.394 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.394 +Problem: .lzma and .xz files are not supported. +Solution: Recognize .lzma and .xz files so that they can be edited. +Files: runtime/plugin/gzip.vim + + +*** ../vim-7.2.393/runtime/plugin/gzip.vim 2005-07-27 23:12:49.000000000 +0200 +--- runtime/plugin/gzip.vim 2010-03-10 17:07:22.000000000 +0100 +*************** +*** 1,6 **** + " Vim plugin for editing compressed files. + " Maintainer: Bram Moolenaar <Bram@vim.org> +! " Last Change: 2005 Jul 26 + + " Exit quickly when: + " - this plugin was already loaded +--- 1,6 ---- + " Vim plugin for editing compressed files. + " Maintainer: Bram Moolenaar <Bram@vim.org> +! " Last Change: 2010 Mar 10 + + " Exit quickly when: + " - this plugin was already loaded +*************** +*** 20,36 **** + " + " Set binary mode before reading the file. + " Use "gzip -d", gunzip isn't always available. +! autocmd BufReadPre,FileReadPre *.gz,*.bz2,*.Z setlocal bin + autocmd BufReadPost,FileReadPost *.gz call gzip#read("gzip -dn") + autocmd BufReadPost,FileReadPost *.bz2 call gzip#read("bzip2 -d") + autocmd BufReadPost,FileReadPost *.Z call gzip#read("uncompress") + autocmd BufWritePost,FileWritePost *.gz call gzip#write("gzip") + autocmd BufWritePost,FileWritePost *.bz2 call gzip#write("bzip2") + autocmd BufWritePost,FileWritePost *.Z call gzip#write("compress -f") + autocmd FileAppendPre *.gz call gzip#appre("gzip -dn") + autocmd FileAppendPre *.bz2 call gzip#appre("bzip2 -d") + autocmd FileAppendPre *.Z call gzip#appre("uncompress") + autocmd FileAppendPost *.gz call gzip#write("gzip") + autocmd FileAppendPost *.bz2 call gzip#write("bzip2") + autocmd FileAppendPost *.Z call gzip#write("compress -f") + augroup END +--- 20,44 ---- + " + " Set binary mode before reading the file. + " Use "gzip -d", gunzip isn't always available. +! autocmd BufReadPre,FileReadPre *.gz,*.bz2,*.Z,*.lzma,*.xz setlocal bin + autocmd BufReadPost,FileReadPost *.gz call gzip#read("gzip -dn") + autocmd BufReadPost,FileReadPost *.bz2 call gzip#read("bzip2 -d") + autocmd BufReadPost,FileReadPost *.Z call gzip#read("uncompress") ++ autocmd BufReadPost,FileReadPost *.lzma call gzip#read("lzma -d") ++ autocmd BufReadPost,FileReadPost *.xz call gzip#read("xz -d") + autocmd BufWritePost,FileWritePost *.gz call gzip#write("gzip") + autocmd BufWritePost,FileWritePost *.bz2 call gzip#write("bzip2") + autocmd BufWritePost,FileWritePost *.Z call gzip#write("compress -f") ++ autocmd BufWritePost,FileWritePost *.lzma call gzip#write("lzma -z") ++ autocmd BufWritePost,FileWritePost *.xz call gzip#write("xz -z") + autocmd FileAppendPre *.gz call gzip#appre("gzip -dn") + autocmd FileAppendPre *.bz2 call gzip#appre("bzip2 -d") + autocmd FileAppendPre *.Z call gzip#appre("uncompress") ++ autocmd FileAppendPre *.lzma call gzip#appre("lzma -d") ++ autocmd FileAppendPre *.xz call gzip#appre("xz -d") + autocmd FileAppendPost *.gz call gzip#write("gzip") + autocmd FileAppendPost *.bz2 call gzip#write("bzip2") + autocmd FileAppendPost *.Z call gzip#write("compress -f") ++ autocmd FileAppendPost *.lzma call gzip#write("lzma -z") ++ autocmd FileAppendPost *.xz call gzip#write("xz -z") + augroup END +*** ../vim-7.2.393/src/version.c 2010-03-10 16:27:27.000000000 +0100 +--- src/version.c 2010-03-10 17:12:43.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 394, + /**/ + +-- +ARTHUR: Be quiet! +DENNIS: --but by a two-thirds majority in the case of more-- +ARTHUR: Be quiet! I order you to be quiet! +WOMAN: Order, eh -- who does he think he is? +ARTHUR: I am your king! + The Quest for the Holy Grail (Monty Python) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.395 b/source/ap/vim/patches/7.2.395 new file mode 100644 index 000000000..1b5b1bae8 --- /dev/null +++ b/source/ap/vim/patches/7.2.395 @@ -0,0 +1,60 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.395 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.395 +Problem: In help CTRL=] on g?g? escapes the ?, causing it to fail. (Tony + Mechelynck) +Solution: Don't escape ? for a help command. (Sergey Khorev) +Files: src/normal.c + + +*** ../vim-7.2.394/src/normal.c 2010-01-19 15:23:38.000000000 +0100 +--- src/normal.c 2010-03-13 13:04:46.000000000 +0100 +*************** +*** 5526,5536 **** + break; + + default: + if (curbuf->b_help) + STRCPY(buf, "he! "); + else + { +- tag_cmd = TRUE; + if (g_cmd) + STRCPY(buf, "tj "); + else +--- 5526,5536 ---- + break; + + default: ++ tag_cmd = TRUE; + if (curbuf->b_help) + STRCPY(buf, "he! "); + else + { + if (g_cmd) + STRCPY(buf, "tj "); + else +*** ../vim-7.2.394/src/version.c 2010-03-10 17:14:07.000000000 +0100 +--- src/version.c 2010-03-17 13:05:11.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 395, + /**/ + +-- +There are three kinds of people: Those who can count & those who can't. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.396 b/source/ap/vim/patches/7.2.396 new file mode 100644 index 000000000..f12692311 --- /dev/null +++ b/source/ap/vim/patches/7.2.396 @@ -0,0 +1,51 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.396 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.396 +Problem: Get E38 errors. (Dasn) +Solution: Set cursor to line 1 instead of 0. (Dominique Pelle) +Files: src/popupmnu.c + + +*** ../vim-7.2.395/src/popupmnu.c 2010-01-19 18:05:05.000000000 +0100 +--- src/popupmnu.c 2010-03-17 12:59:01.000000000 +0100 +*************** +*** 640,646 **** + + curbuf->b_changed = 0; + curbuf->b_p_ma = FALSE; +! curwin->w_cursor.lnum = 0; + curwin->w_cursor.col = 0; + + if (curwin != curwin_save && win_valid(curwin_save)) +--- 640,646 ---- + + curbuf->b_changed = 0; + curbuf->b_p_ma = FALSE; +! curwin->w_cursor.lnum = 1; + curwin->w_cursor.col = 0; + + if (curwin != curwin_save && win_valid(curwin_save)) +*** ../vim-7.2.395/src/version.c 2010-03-17 13:07:01.000000000 +0100 +--- src/version.c 2010-03-17 14:47:30.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 396, + /**/ + +-- +There are 10 kinds of people: Those who understand binary and those who don't. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.397 b/source/ap/vim/patches/7.2.397 new file mode 100644 index 000000000..218a069a4 --- /dev/null +++ b/source/ap/vim/patches/7.2.397 @@ -0,0 +1,67 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.397 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.397 +Problem: Redundant check for w_lines_valid. +Solution: Remove the if. (Lech Lorens) +Files: src/fold.c + + +*** ../vim-7.2.396/src/fold.c 2010-02-24 14:34:10.000000000 +0100 +--- src/fold.c 2010-03-17 13:03:00.000000000 +0100 +*************** +*** 1053,1067 **** + { + int i; + +! if (win->w_lines_valid > 0) +! for (i = 0; i < win->w_lines_valid; ++i) +! if (win->w_lines[i].wl_valid) +! { +! if (lnum < win->w_lines[i].wl_lnum) +! return -1; +! if (lnum <= win->w_lines[i].wl_lastlnum) +! return i; +! } + return -1; + } + +--- 1053,1066 ---- + { + int i; + +! for (i = 0; i < win->w_lines_valid; ++i) +! if (win->w_lines[i].wl_valid) +! { +! if (lnum < win->w_lines[i].wl_lnum) +! return -1; +! if (lnum <= win->w_lines[i].wl_lastlnum) +! return i; +! } + return -1; + } + +*** ../vim-7.2.396/src/version.c 2010-03-17 14:47:56.000000000 +0100 +--- src/version.c 2010-03-17 16:43:34.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 397, + /**/ + +-- +Did you ever stop to think... and forget to start again? + -- Steven Wright + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.398 b/source/ap/vim/patches/7.2.398 new file mode 100644 index 000000000..a0ccc96c3 --- /dev/null +++ b/source/ap/vim/patches/7.2.398 @@ -0,0 +1,152 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.398 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.398 +Problem: When moving windows the cursor ends up in the wrong line. +Solution: Set the window width and height properly. (Lech Lorens) +Files: src/window.c + + +*** ../vim-7.2.397/src/window.c 2010-01-27 20:26:41.000000000 +0100 +--- src/window.c 2010-03-17 16:40:06.000000000 +0100 +*************** +*** 991,1018 **** + wp->w_p_scr = curwin->w_p_scr; + if (need_status) + { +! --oldwin->w_height; + oldwin->w_status_height = need_status; + } + if (flags & (WSP_TOP | WSP_BOT)) + { + /* set height and row of new window to full height */ + wp->w_winrow = tabline_height(); +! wp->w_height = curfrp->fr_height - (p_ls > 0); + wp->w_status_height = (p_ls > 0); + } + else + { + /* height and row of new window is same as current window */ + wp->w_winrow = oldwin->w_winrow; +! wp->w_height = oldwin->w_height; + wp->w_status_height = oldwin->w_status_height; + } + frp->fr_height = curfrp->fr_height; + + /* "new_size" of the current window goes to the new window, use + * one column for the vertical separator */ +! wp->w_width = new_size; + if (before) + wp->w_vsep_width = 1; + else +--- 991,1018 ---- + wp->w_p_scr = curwin->w_p_scr; + if (need_status) + { +! win_new_height(oldwin, oldwin->w_height - 1); + oldwin->w_status_height = need_status; + } + if (flags & (WSP_TOP | WSP_BOT)) + { + /* set height and row of new window to full height */ + wp->w_winrow = tabline_height(); +! win_new_height(wp, curfrp->fr_height - (p_ls > 0)); + wp->w_status_height = (p_ls > 0); + } + else + { + /* height and row of new window is same as current window */ + wp->w_winrow = oldwin->w_winrow; +! win_new_height(wp, oldwin->w_height); + wp->w_status_height = oldwin->w_status_height; + } + frp->fr_height = curfrp->fr_height; + + /* "new_size" of the current window goes to the new window, use + * one column for the vertical separator */ +! win_new_width(wp, new_size); + if (before) + wp->w_vsep_width = 1; + else +*************** +*** 1049,1061 **** + if (flags & (WSP_TOP | WSP_BOT)) + { + wp->w_wincol = 0; +! wp->w_width = Columns; + wp->w_vsep_width = 0; + } + else + { + wp->w_wincol = oldwin->w_wincol; +! wp->w_width = oldwin->w_width; + wp->w_vsep_width = oldwin->w_vsep_width; + } + frp->fr_width = curfrp->fr_width; +--- 1049,1061 ---- + if (flags & (WSP_TOP | WSP_BOT)) + { + wp->w_wincol = 0; +! win_new_width(wp, Columns); + wp->w_vsep_width = 0; + } + else + { + wp->w_wincol = oldwin->w_wincol; +! win_new_width(wp, oldwin->w_width); + wp->w_vsep_width = oldwin->w_vsep_width; + } + frp->fr_width = curfrp->fr_width; +*************** +*** 1111,1117 **** + } + + /* +! * make the new window the current window and redraw + */ + if (do_equal || dir != 0) + win_equal(wp, TRUE, +--- 1111,1117 ---- + } + + /* +! * equalize the window sizes. + */ + if (do_equal || dir != 0) + win_equal(wp, TRUE, +*************** +*** 1143,1148 **** +--- 1143,1152 ---- + if (size != 0) + p_wh = size; + } ++ ++ /* ++ * make the new window the current window ++ */ + win_enter(wp, FALSE); + #ifdef FEAT_VERTSPLIT + if (flags & WSP_VERT) +*** ../vim-7.2.397/src/version.c 2010-03-17 16:45:04.000000000 +0100 +--- src/version.c 2010-03-17 16:53:51.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 398, + /**/ + +-- +It's not hard to meet expenses, they're everywhere. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.399 b/source/ap/vim/patches/7.2.399 new file mode 100644 index 000000000..16ffa0f41 --- /dev/null +++ b/source/ap/vim/patches/7.2.399 @@ -0,0 +1,63 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.399 (extra) +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.399 (extra, after 7.2.388) +Problem: Cannot compile on MingW. +Solution: Move ifneq to separate line. (Vlad Sandrini, Dominique Pelle) +Files: src/Make_ming.mak + + +*** ../vim-7.2.398/src/Make_ming.mak 2010-03-10 13:19:28.000000000 +0100 +--- src/Make_ming.mak 2010-03-17 17:23:31.000000000 +0100 +*************** +*** 215,226 **** + ifndef RUBY_PLATFORM + ifeq ($(RUBY_VER), 16) + RUBY_PLATFORM = i586-mswin32 +! else ifneq ("X$(wildcard, $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/i386-mingw32)", X) + RUBY_PLATFORM = i386-mingw32 + else + RUBY_PLATFORM = i386-mswin32 + endif + endif + + ifndef RUBY_INSTALL_NAME + ifeq ($(RUBY_VER), 16) +--- 215,228 ---- + ifndef RUBY_PLATFORM + ifeq ($(RUBY_VER), 16) + RUBY_PLATFORM = i586-mswin32 +! else +! ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/i386-mingw32),) + RUBY_PLATFORM = i386-mingw32 + else + RUBY_PLATFORM = i386-mswin32 + endif + endif ++ endif + + ifndef RUBY_INSTALL_NAME + ifeq ($(RUBY_VER), 16) +*** ../vim-7.2.398/src/version.c 2010-03-17 16:54:51.000000000 +0100 +--- src/version.c 2010-03-17 17:23:40.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 399, + /**/ + +-- +Life is a gift, living is an art. (Bram Moolenaar) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.400 b/source/ap/vim/patches/7.2.400 new file mode 100644 index 000000000..0c3c5487d --- /dev/null +++ b/source/ap/vim/patches/7.2.400 @@ -0,0 +1,454 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.400 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.400 (after 7.2.387) +Problem: Dynamic Ruby is not initialised properly for version 1.9.1. + Ruby cannot create strings from NULL. +Solution: Cleanup #ifdefs. Handle NULL like an empty string. Add + ruby_init_stack. (Sergey Khorev) +Files: src/if_ruby.c + + +*** ../vim-7.2.399/src/if_ruby.c 2010-03-10 12:46:38.000000000 +0100 +--- src/if_ruby.c 2010-03-17 17:37:53.000000000 +0100 +*************** +*** 53,58 **** +--- 53,63 ---- + # undef _WIN32_WINNT + #endif + ++ #if (defined(RUBY_VERSION) && RUBY_VERSION >= 19) \ ++ || (defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19) ++ # define RUBY19_OR_LATER 1 ++ #endif ++ + #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 + /* Ruby 1.9 defines a number of static functions which use rb_num2long and + * rb_int2big */ +*************** +*** 61,67 **** + #endif + + #include <ruby.h> +! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 + # include <ruby/encoding.h> + #endif + +--- 66,72 ---- + #endif + + #include <ruby.h> +! #ifdef RUBY19_OR_LATER + # include <ruby/encoding.h> + #endif + +*************** +*** 172,179 **** + # define rb_ary_new dll_rb_ary_new + # define rb_ary_push dll_rb_ary_push + #endif +! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 \ +! || defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 + # define rb_errinfo dll_rb_errinfo + #else + # define ruby_errinfo (*dll_ruby_errinfo) +--- 177,183 ---- + # define rb_ary_new dll_rb_ary_new + # define rb_ary_push dll_rb_ary_push + #endif +! #ifdef RUBY19_OR_LATER + # define rb_errinfo dll_rb_errinfo + #else + # define ruby_errinfo (*dll_ruby_errinfo) +*************** +*** 185,196 **** + # define rb_w32_snprintf dll_rb_w32_snprintf + #endif + +! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 + # define ruby_script dll_ruby_script + # define rb_enc_find_index dll_rb_enc_find_index + # define rb_enc_find dll_rb_enc_find + # define rb_enc_str_new dll_rb_enc_str_new + # define rb_sprintf dll_rb_sprintf + #endif + + /* +--- 189,201 ---- + # define rb_w32_snprintf dll_rb_w32_snprintf + #endif + +! #ifdef RUBY19_OR_LATER + # define ruby_script dll_ruby_script + # define rb_enc_find_index dll_rb_enc_find_index + # define rb_enc_find dll_rb_enc_find + # define rb_enc_str_new dll_rb_enc_str_new + # define rb_sprintf dll_rb_sprintf ++ # define ruby_init_stack dll_ruby_init_stack + #endif + + /* +*************** +*** 240,247 **** + static VALUE (*dll_rb_str_concat) (VALUE, VALUE); + static VALUE (*dll_rb_str_new) (const char*, long); + static VALUE (*dll_rb_str_new2) (const char*); +! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 \ +! || defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 + static VALUE (*dll_rb_errinfo) (void); + #else + static VALUE *dll_ruby_errinfo; +--- 245,251 ---- + static VALUE (*dll_rb_str_concat) (VALUE, VALUE); + static VALUE (*dll_rb_str_new) (const char*, long); + static VALUE (*dll_rb_str_new2) (const char*); +! #ifdef RUBY19_OR_LATER + static VALUE (*dll_rb_errinfo) (void); + #else + static VALUE *dll_ruby_errinfo; +*************** +*** 255,276 **** + static VALUE (*dll_rb_ary_new) (void); + static VALUE (*dll_rb_ary_push) (VALUE, VALUE); + #endif +! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 + static VALUE (*dll_rb_int2big)(SIGNED_VALUE); + #endif + #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 + static int (*dll_rb_w32_snprintf)(char*, size_t, const char*, ...); + #endif + +! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 + static void (*dll_ruby_script) (const char*); + static int (*dll_rb_enc_find_index) (const char*); + static rb_encoding* (*dll_rb_enc_find) (const char*); + static VALUE (*dll_rb_enc_str_new) (const char*, long, rb_encoding*); + static VALUE (*dll_rb_sprintf) (const char*, ...); + #endif + +! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 + static SIGNED_VALUE rb_num2long_stub(VALUE x) + { + return dll_rb_num2long(x); +--- 259,281 ---- + static VALUE (*dll_rb_ary_new) (void); + static VALUE (*dll_rb_ary_push) (VALUE, VALUE); + #endif +! #ifdef RUBY19_OR_LATER + static VALUE (*dll_rb_int2big)(SIGNED_VALUE); + #endif + #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 + static int (*dll_rb_w32_snprintf)(char*, size_t, const char*, ...); + #endif + +! #ifdef RUBY19_OR_LATER + static void (*dll_ruby_script) (const char*); + static int (*dll_rb_enc_find_index) (const char*); + static rb_encoding* (*dll_rb_enc_find) (const char*); + static VALUE (*dll_rb_enc_str_new) (const char*, long, rb_encoding*); + static VALUE (*dll_rb_sprintf) (const char*, ...); ++ static void (*ruby_init_stack)(VALUE*); + #endif + +! #ifdef RUBY19_OR_LATER + static SIGNED_VALUE rb_num2long_stub(VALUE x) + { + return dll_rb_num2long(x); +*************** +*** 336,343 **** + {"rb_str_concat", (RUBY_PROC*)&dll_rb_str_concat}, + {"rb_str_new", (RUBY_PROC*)&dll_rb_str_new}, + {"rb_str_new2", (RUBY_PROC*)&dll_rb_str_new2}, +! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 \ +! || defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 + {"rb_errinfo", (RUBY_PROC*)&dll_rb_errinfo}, + #else + {"ruby_errinfo", (RUBY_PROC*)&dll_ruby_errinfo}, +--- 341,347 ---- + {"rb_str_concat", (RUBY_PROC*)&dll_rb_str_concat}, + {"rb_str_new", (RUBY_PROC*)&dll_rb_str_new}, + {"rb_str_new2", (RUBY_PROC*)&dll_rb_str_new2}, +! #ifdef RUBY19_OR_LATER + {"rb_errinfo", (RUBY_PROC*)&dll_rb_errinfo}, + #else + {"ruby_errinfo", (RUBY_PROC*)&dll_ruby_errinfo}, +*************** +*** 360,374 **** + {"rb_ary_new", (RUBY_PROC*)&dll_rb_ary_new}, + {"rb_ary_push", (RUBY_PROC*)&dll_rb_ary_push}, + #endif +! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 + {"rb_int2big", (RUBY_PROC*)&dll_rb_int2big}, +- #endif +- #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 + {"ruby_script", (RUBY_PROC*)&dll_ruby_script}, + {"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index}, + {"rb_enc_find", (RUBY_PROC*)&dll_rb_enc_find}, + {"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new}, + {"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf}, + #endif + {"", NULL}, + }; +--- 364,377 ---- + {"rb_ary_new", (RUBY_PROC*)&dll_rb_ary_new}, + {"rb_ary_push", (RUBY_PROC*)&dll_rb_ary_push}, + #endif +! #ifdef RUBY19_OR_LATER + {"rb_int2big", (RUBY_PROC*)&dll_rb_int2big}, + {"ruby_script", (RUBY_PROC*)&dll_ruby_script}, + {"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index}, + {"rb_enc_find", (RUBY_PROC*)&dll_rb_enc_find}, + {"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new}, + {"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf}, ++ {"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack}, + #endif + {"", NULL}, + }; +*************** +*** 467,473 **** + static VALUE + vim_str2rb_enc_str(const char *s) + { +! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 + int isnum; + long lval; + char_u *sval; +--- 470,476 ---- + static VALUE + vim_str2rb_enc_str(const char *s) + { +! #ifdef RUBY19_OR_LATER + int isnum; + long lval; + char_u *sval; +*************** +*** 489,495 **** + static VALUE + eval_enc_string_protect(const char *str, int *state) + { +! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 + int isnum; + long lval; + char_u *sval; +--- 492,498 ---- + static VALUE + eval_enc_string_protect(const char *str, int *state) + { +! #ifdef RUBY19_OR_LATER + int isnum; + long lval; + char_u *sval; +*************** +*** 591,606 **** + char *argv[] = {"gvim.exe"}; + NtInitialize(&argc, &argv); + #endif +! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 + RUBY_INIT_STACK; + #endif + ruby_init(); +! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 + ruby_script("vim-ruby"); + #endif + ruby_init_loadpath(); + ruby_io_init(); +! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 + rb_enc_find_index("encdb"); + #endif + ruby_vim_init(); +--- 594,609 ---- + char *argv[] = {"gvim.exe"}; + NtInitialize(&argc, &argv); + #endif +! #ifdef RUBY19_OR_LATER + RUBY_INIT_STACK; + #endif + ruby_init(); +! #ifdef RUBY19_OR_LATER + ruby_script("vim-ruby"); + #endif + ruby_init_loadpath(); + ruby_io_init(); +! #ifdef RUBY19_OR_LATER + rb_enc_find_index("encdb"); + #endif + ruby_vim_init(); +*************** +*** 657,664 **** + break; + case TAG_RAISE: + case TAG_FATAL: +! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 \ +! || defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 + eclass = CLASS_OF(rb_errinfo()); + einfo = rb_obj_as_string(rb_errinfo()); + #else +--- 660,666 ---- + break; + case TAG_RAISE: + case TAG_FATAL: +! #ifdef RUBY19_OR_LATER + eclass = CLASS_OF(rb_errinfo()); + einfo = rb_obj_as_string(rb_errinfo()); + #else +*************** +*** 720,775 **** + + if (tv->v_type == VAR_STRING) + { +! result = rb_str_new2((char *)tv->vval.v_string); + } + else if (tv->v_type == VAR_NUMBER) + { +! result = INT2NUM(tv->vval.v_number); + } + # ifdef FEAT_FLOAT + else if (tv->v_type == VAR_FLOAT) + { +! result = rb_float_new(tv->vval.v_float); + } + # endif + else if (tv->v_type == VAR_LIST) + { +! list_T *list = tv->vval.v_list; +! listitem_T *curr; + +! result = rb_ary_new(); + +! if (list != NULL) +! { +! for (curr = list->lv_first; curr != NULL; curr = curr->li_next) +! { +! rb_ary_push(result, vim_to_ruby(&curr->li_tv)); +! } +! } + } + else if (tv->v_type == VAR_DICT) + { +! result = rb_hash_new(); + +! if (tv->vval.v_dict != NULL) +! { +! hashtab_T *ht = &tv->vval.v_dict->dv_hashtab; +! long_u todo = ht->ht_used; +! hashitem_T *hi; +! dictitem_T *di; +! +! for (hi = ht->ht_array; todo > 0; ++hi) +! { +! if (!HASHITEM_EMPTY(hi)) +! { +! --todo; + +! di = dict_lookup(hi); +! rb_hash_aset(result, rb_str_new2((char *)hi->hi_key), + vim_to_ruby(&di->di_tv)); +! } +! } +! } + } /* else return Qnil; */ + + return result; +--- 722,778 ---- + + if (tv->v_type == VAR_STRING) + { +! result = rb_str_new2((char *)(tv->vval.v_string == NULL +! ? "" : tv->vval.v_string)); + } + else if (tv->v_type == VAR_NUMBER) + { +! result = INT2NUM(tv->vval.v_number); + } + # ifdef FEAT_FLOAT + else if (tv->v_type == VAR_FLOAT) + { +! result = rb_float_new(tv->vval.v_float); + } + # endif + else if (tv->v_type == VAR_LIST) + { +! list_T *list = tv->vval.v_list; +! listitem_T *curr; + +! result = rb_ary_new(); + +! if (list != NULL) +! { +! for (curr = list->lv_first; curr != NULL; curr = curr->li_next) +! { +! rb_ary_push(result, vim_to_ruby(&curr->li_tv)); +! } +! } + } + else if (tv->v_type == VAR_DICT) + { +! result = rb_hash_new(); + +! if (tv->vval.v_dict != NULL) +! { +! hashtab_T *ht = &tv->vval.v_dict->dv_hashtab; +! long_u todo = ht->ht_used; +! hashitem_T *hi; +! dictitem_T *di; +! +! for (hi = ht->ht_array; todo > 0; ++hi) +! { +! if (!HASHITEM_EMPTY(hi)) +! { +! --todo; + +! di = dict_lookup(hi); +! rb_hash_aset(result, rb_str_new2((char *)hi->hi_key), + vim_to_ruby(&di->di_tv)); +! } +! } +! } + } /* else return Qnil; */ + + return result; +*************** +*** 785,791 **** + tv = eval_expr((char_u *)StringValuePtr(str), NULL); + if (tv == NULL) + { +! return Qnil; + } + result = vim_to_ruby(tv); + +--- 788,794 ---- + tv = eval_expr((char_u *)StringValuePtr(str), NULL); + if (tv == NULL) + { +! return Qnil; + } + result = vim_to_ruby(tv); + +*** ../vim-7.2.399/src/version.c 2010-03-17 17:24:58.000000000 +0100 +--- src/version.c 2010-03-17 18:14:31.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 400, + /**/ + +-- +Q: What do you call a fish without an eye? +A: fsh! +Q: What do you call a deer with no eyes? +A: no eye deer. +Q: What do you call a deer with no eyes and no legs? +A: still no eye deer. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.401 b/source/ap/vim/patches/7.2.401 new file mode 100644 index 000000000..032076abd --- /dev/null +++ b/source/ap/vim/patches/7.2.401 @@ -0,0 +1,61 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.401 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.401 +Problem: ":e dir<Tab>" with 'wildmode' set to "list" doesn't highlight + directory names with a space. (Alexandre Provencio) +Solution: Remove the backslash before checking if the name is a directory. + (Dominique Pelle) +Files: src/ex_getln.c + + +*** ../vim-7.2.400/src/ex_getln.c 2010-03-02 17:23:10.000000000 +0100 +--- src/ex_getln.c 2010-03-17 19:00:54.000000000 +0100 +*************** +*** 3948,3955 **** + || xp->xp_context == EXPAND_SHELLCMD + || xp->xp_context == EXPAND_BUFFERS) + { +! /* highlight directories */ +! j = (mch_isdir(files_found[k])); + if (showtail) + p = L_SHOWFILE(k); + else +--- 3948,3959 ---- + || xp->xp_context == EXPAND_SHELLCMD + || xp->xp_context == EXPAND_BUFFERS) + { +! char_u *halved_slash; +! +! /* highlight directories */ +! halved_slash = backslash_halve_save(files_found[k]); +! j = mch_isdir(halved_slash); +! vim_free(halved_slash); + if (showtail) + p = L_SHOWFILE(k); + else +*** ../vim-7.2.400/src/version.c 2010-03-17 18:15:17.000000000 +0100 +--- src/version.c 2010-03-17 19:12:22.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 401, + /**/ + +-- +Two cows are standing together in a field. One asks the other: +"So what do you think about this Mad Cow Disease?" +The other replies: "That doesn't concern me. I'm a helicopter." + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.402 b/source/ap/vim/patches/7.2.402 new file mode 100644 index 000000000..7c256bb16 --- /dev/null +++ b/source/ap/vim/patches/7.2.402 @@ -0,0 +1,91 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.402 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.402 +Problem: This gives a #705 error: let X = function('haslocaldir') + let X = function('getcwd') +Solution: Don't give E705 when the name is found in the hashtab. (Sergey + Khorev) +Files: src/eval.c + + +*** ../vim-7.2.401/src/eval.c 2010-03-10 13:43:22.000000000 +0100 +--- src/eval.c 2010-03-17 19:35:01.000000000 +0100 +*************** +*** 19103,19108 **** +--- 19103,19116 ---- + hashtab_T *ht; + char_u *p; + ++ ht = find_var_ht(name, &varname); ++ if (ht == NULL || *varname == NUL) ++ { ++ EMSG2(_(e_illvar), name); ++ return; ++ } ++ v = find_var_in_ht(ht, varname, TRUE); ++ + if (tv->v_type == VAR_FUNC) + { + if (!(vim_strchr((char_u *)"wbs", name[0]) != NULL && name[1] == ':') +*************** +*** 19112,19118 **** + EMSG2(_("E704: Funcref variable name must start with a capital: %s"), name); + return; + } +! if (function_exists(name)) + { + EMSG2(_("E705: Variable name conflicts with existing function: %s"), + name); +--- 19120,19129 ---- + EMSG2(_("E704: Funcref variable name must start with a capital: %s"), name); + return; + } +! /* Don't allow hiding a function. When "v" is not NULL we migth be +! * assigning another function to the same var, the type is checked +! * below. */ +! if (v == NULL && function_exists(name)) + { + EMSG2(_("E705: Variable name conflicts with existing function: %s"), + name); +*************** +*** 19120,19133 **** + } + } + +- ht = find_var_ht(name, &varname); +- if (ht == NULL || *varname == NUL) +- { +- EMSG2(_(e_illvar), name); +- return; +- } +- +- v = find_var_in_ht(ht, varname, TRUE); + if (v != NULL) + { + /* existing variable, need to clear the value */ +--- 19131,19136 ---- +*** ../vim-7.2.401/src/version.c 2010-03-17 19:13:19.000000000 +0100 +--- src/version.c 2010-03-17 19:36:09.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 402, + /**/ + +-- +Michael: There is no such thing as a dump question. +Bernard: Sure there is. For example "what is a core dump?" + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.403 b/source/ap/vim/patches/7.2.403 new file mode 100644 index 000000000..d2949dbc0 --- /dev/null +++ b/source/ap/vim/patches/7.2.403 @@ -0,0 +1,53 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.403 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.403 (after 7.2.400) +Problem: Compiler warning for pointer type. (Tony Mechelynck) +Solution: Move type cast to the right place. +Files: src/if_ruby.c + + +*** ../vim-7.2.402/src/if_ruby.c 2010-03-17 18:15:17.000000000 +0100 +--- src/if_ruby.c 2010-03-19 23:08:06.000000000 +0100 +*************** +*** 722,729 **** + + if (tv->v_type == VAR_STRING) + { +! result = rb_str_new2((char *)(tv->vval.v_string == NULL +! ? "" : tv->vval.v_string)); + } + else if (tv->v_type == VAR_NUMBER) + { +--- 722,729 ---- + + if (tv->v_type == VAR_STRING) + { +! result = rb_str_new2(tv->vval.v_string == NULL +! ? "" : (char *)(tv->vval.v_string)); + } + else if (tv->v_type == VAR_NUMBER) + { +*** ../vim-7.2.402/src/version.c 2010-03-17 19:53:44.000000000 +0100 +--- src/version.c 2010-03-19 23:07:13.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 403, + /**/ + +-- +If "R" is Reverse, how come "D" is FORWARD? + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.404 b/source/ap/vim/patches/7.2.404 new file mode 100644 index 000000000..fa1a0b6b4 --- /dev/null +++ b/source/ap/vim/patches/7.2.404 @@ -0,0 +1,54 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.404 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.404 +Problem: Pointers for composing characters are not properly initialized. +Solution: Compute the size of the pointer, not what it points to. (Yukihiro + Nakadaira) +Files: src/screen.c + + +*** ../vim-7.2.403/src/screen.c 2010-02-03 15:47:59.000000000 +0100 +--- src/screen.c 2010-03-23 13:48:05.000000000 +0100 +*************** +*** 7536,7542 **** + new_ScreenLines = (schar_T *)lalloc((long_u)( + (Rows + 1) * Columns * sizeof(schar_T)), FALSE); + #ifdef FEAT_MBYTE +! vim_memset(new_ScreenLinesC, 0, sizeof(u8char_T) * MAX_MCO); + if (enc_utf8) + { + new_ScreenLinesUC = (u8char_T *)lalloc((long_u)( +--- 7536,7542 ---- + new_ScreenLines = (schar_T *)lalloc((long_u)( + (Rows + 1) * Columns * sizeof(schar_T)), FALSE); + #ifdef FEAT_MBYTE +! vim_memset(new_ScreenLinesC, 0, sizeof(u8char_T *) * MAX_MCO); + if (enc_utf8) + { + new_ScreenLinesUC = (u8char_T *)lalloc((long_u)( +*** ../vim-7.2.403/src/version.c 2010-03-19 23:08:22.000000000 +0100 +--- src/version.c 2010-03-23 13:54:47.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 404, + /**/ + +-- +LAUNCELOT: Isn't there a St. Aaaaarrrrrrggghhh's in Cornwall? +ARTHUR: No, that's Saint Ives. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.405 b/source/ap/vim/patches/7.2.405 new file mode 100644 index 000000000..b79a19aa9 --- /dev/null +++ b/source/ap/vim/patches/7.2.405 @@ -0,0 +1,48 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.405 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.405 +Problem: When built with small features the matching text is not + highlighted for ":s/pat/repl/c". +Solution: Remove the #ifdef for IncSearch. (James Vega) +Files: src/syntax.c + + +*** ../vim-7.2.404/src/syntax.c 2010-03-10 13:43:22.000000000 +0100 +--- src/syntax.c 2010-03-23 14:36:10.000000000 +0100 +*************** +*** 6205,6214 **** + { + CENT("ErrorMsg term=standout ctermbg=DarkRed ctermfg=White", + "ErrorMsg term=standout ctermbg=DarkRed ctermfg=White guibg=Red guifg=White"), +- #ifdef FEAT_SEARCH_EXTRA + CENT("IncSearch term=reverse cterm=reverse", + "IncSearch term=reverse cterm=reverse gui=reverse"), +- #endif + CENT("ModeMsg term=bold cterm=bold", + "ModeMsg term=bold cterm=bold gui=bold"), + CENT("NonText term=bold ctermfg=Blue", +--- 6205,6212 ---- +*** ../vim-7.2.404/src/version.c 2010-03-23 13:56:53.000000000 +0100 +--- src/version.c 2010-03-23 14:37:08.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 405, + /**/ + +-- +Dreams are free, but there's a small charge for alterations. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.406 b/source/ap/vim/patches/7.2.406 new file mode 100644 index 000000000..cff265f52 --- /dev/null +++ b/source/ap/vim/patches/7.2.406 @@ -0,0 +1,123 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.406 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.406 +Problem: Patch 7.2.119 introduces uninit mem read. (Dominique Pelle) +Solution: Only used ScreeenLinesC when ScreeenLinesUC is not zero. (Yukihiro + Nakadaira) Also clear ScreeenLinesC when allocating. +Files: src/screen.c + + +*** ../vim-7.2.405/src/screen.c 2010-03-23 13:56:53.000000000 +0100 +--- src/screen.c 2010-03-23 15:26:44.000000000 +0100 +*************** +*** 25,34 **** + * one character which occupies two display cells. + * For UTF-8 a multi-byte character is converted to Unicode and stored in + * ScreenLinesUC[]. ScreenLines[] contains the first byte only. For an ASCII +! * character without composing chars ScreenLinesUC[] will be 0. When the +! * character occupies two display cells the next byte in ScreenLines[] is 0. + * ScreenLinesC[][] contain up to 'maxcombine' composing characters +! * (drawn on top of the first character). They are 0 when not used. + * ScreenLines2[] is only used for euc-jp to store the second byte if the + * first byte is 0x8e (single-width character). + * +--- 25,35 ---- + * one character which occupies two display cells. + * For UTF-8 a multi-byte character is converted to Unicode and stored in + * ScreenLinesUC[]. ScreenLines[] contains the first byte only. For an ASCII +! * character without composing chars ScreenLinesUC[] will be 0 and +! * ScreenLinesC[][] is not used. When the character occupies two display +! * cells the next byte in ScreenLines[] is 0. + * ScreenLinesC[][] contain up to 'maxcombine' composing characters +! * (drawn on top of the first character). There is 0 after the last one used. + * ScreenLines2[] is only used for euc-jp to store the second byte if the + * first byte is 0x8e (single-width character). + * +*************** +*** 4893,4898 **** +--- 4894,4900 ---- + + /* + * Return if the composing characters at "off_from" and "off_to" differ. ++ * Only to be used when ScreenLinesUC[off_from] != 0. + */ + static int + comp_char_differs(off_from, off_to) +*************** +*** 6281,6286 **** +--- 6283,6289 ---- + /* + * Return TRUE if composing characters for screen posn "off" differs from + * composing characters in "u8cc". ++ * Only to be used when ScreenLinesUC[off] != 0. + */ + static int + screen_comp_differs(off, u8cc) +*************** +*** 6461,6468 **** + && c == 0x8e + && ScreenLines2[off] != ptr[1]) + || (enc_utf8 +! && (ScreenLinesUC[off] != (u8char_T)(c >= 0x80 ? u8c : 0) +! || screen_comp_differs(off, u8cc))) + #endif + || ScreenAttrs[off] != attr + || exmode_active; +--- 6464,6473 ---- + && c == 0x8e + && ScreenLines2[off] != ptr[1]) + || (enc_utf8 +! && (ScreenLinesUC[off] != +! (u8char_T)(c < 0x80 && u8cc[0] == 0 ? 0 : u8c) +! || (ScreenLinesUC[off] != 0 +! && screen_comp_differs(off, u8cc)))) + #endif + || ScreenAttrs[off] != attr + || exmode_active; +*************** +*** 7542,7548 **** + new_ScreenLinesUC = (u8char_T *)lalloc((long_u)( + (Rows + 1) * Columns * sizeof(u8char_T)), FALSE); + for (i = 0; i < p_mco; ++i) +! new_ScreenLinesC[i] = (u8char_T *)lalloc((long_u)( + (Rows + 1) * Columns * sizeof(u8char_T)), FALSE); + } + if (enc_dbcs == DBCS_JPNU) +--- 7547,7553 ---- + new_ScreenLinesUC = (u8char_T *)lalloc((long_u)( + (Rows + 1) * Columns * sizeof(u8char_T)), FALSE); + for (i = 0; i < p_mco; ++i) +! new_ScreenLinesC[i] = (u8char_T *)lalloc_clear((long_u)( + (Rows + 1) * Columns * sizeof(u8char_T)), FALSE); + } + if (enc_dbcs == DBCS_JPNU) +*** ../vim-7.2.405/src/version.c 2010-03-23 14:39:07.000000000 +0100 +--- src/version.c 2010-03-23 15:34:11.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 406, + /**/ + +-- +VOICE OVER: As the horrendous Black Beast lunged forward, escape for Arthur + and his knights seemed hopeless, when, suddenly ... the animator + suffered a fatal heart attack. +ANIMATOR: Aaaaagh! +VOICE OVER: The cartoon peril was no more ... The Quest for Holy Grail could + continue. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.407 b/source/ap/vim/patches/7.2.407 new file mode 100644 index 000000000..0237a9d13 --- /dev/null +++ b/source/ap/vim/patches/7.2.407 @@ -0,0 +1,69 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.407 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.407 +Problem: When using an expression in ":s" backslashes in the result are + dropped. (Sergey Goldgaber, Christian Brabandt) +Solution: Double backslashes. +Files: src/regexp.c + + +*** ../vim-7.2.406/src/regexp.c 2009-11-26 20:41:19.000000000 +0100 +--- src/regexp.c 2010-03-23 16:22:35.000000000 +0100 +*************** +*** 6963,6968 **** +--- 6963,6970 ---- + eval_result = eval_to_string(source + 2, NULL, TRUE); + if (eval_result != NULL) + { ++ int had_backslash = FALSE; ++ + for (s = eval_result; *s != NUL; mb_ptr_adv(s)) + { + /* Change NL to CR, so that it becomes a line break. +*************** +*** 6970,6976 **** +--- 6972,6991 ---- + if (*s == NL) + *s = CAR; + else if (*s == '\\' && s[1] != NUL) ++ { + ++s; ++ had_backslash = TRUE; ++ } ++ } ++ if (had_backslash && backslash) ++ { ++ /* Backslashes will be consumed, need to double them. */ ++ s = vim_strsave_escaped(eval_result, (char_u *)"\\"); ++ if (s != NULL) ++ { ++ vim_free(eval_result); ++ eval_result = s; ++ } + } + + dst += STRLEN(eval_result); +*** ../vim-7.2.406/src/version.c 2010-03-23 15:36:29.000000000 +0100 +--- src/version.c 2010-03-23 16:26:22.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 407, + /**/ + +-- +Sorry, no fortune today. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.408 b/source/ap/vim/patches/7.2.408 new file mode 100644 index 000000000..25ac3a9c3 --- /dev/null +++ b/source/ap/vim/patches/7.2.408 @@ -0,0 +1,73 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.408 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.408 +Problem: With ":g/the/s/foo/bar/" the '[ and '] marks can be set to a line + that was not changed. +Solution: Only set '[ and '] marks when a substitution was done. +Files: src/ex_cmds.c + + +*** ../vim-7.2.407/src/ex_cmds.c 2009-07-09 20:06:30.000000000 +0200 +--- src/ex_cmds.c 2010-03-23 17:31:17.000000000 +0100 +*************** +*** 4238,4243 **** +--- 4238,4244 ---- + char_u *sub_firstline; /* allocated copy of first sub line */ + int endcolumn = FALSE; /* cursor in last column when done */ + pos_T old_cursor = curwin->w_cursor; ++ int start_nsubs; + + cmd = eap->arg; + if (!global_busy) +*************** +*** 4245,4250 **** +--- 4246,4252 ---- + sub_nsubs = 0; + sub_nlines = 0; + } ++ start_nsubs = sub_nsubs; + + if (eap->cmdidx == CMD_tilde) + which_pat = RE_LAST; /* use last used regexp */ +*************** +*** 5106,5112 **** + if (do_count) + curwin->w_cursor = old_cursor; + +! if (sub_nsubs) + { + /* Set the '[ and '] marks. */ + curbuf->b_op_start.lnum = eap->line1; +--- 5108,5114 ---- + if (do_count) + curwin->w_cursor = old_cursor; + +! if (sub_nsubs > start_nsubs) + { + /* Set the '[ and '] marks. */ + curbuf->b_op_start.lnum = eap->line1; +*** ../vim-7.2.407/src/version.c 2010-03-23 16:27:15.000000000 +0100 +--- src/version.c 2010-03-23 17:35:40.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 408, + /**/ + +-- +Permission is granted to read this message out aloud on Kings Cross Road, +London, under the condition that the orator is properly dressed. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.409 b/source/ap/vim/patches/7.2.409 new file mode 100644 index 000000000..fdda4a001 --- /dev/null +++ b/source/ap/vim/patches/7.2.409 @@ -0,0 +1,60 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.409 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.409 +Problem: Summary of number of substitutes is incorrect for ":folddo". (Jean + Johner) +Solution: Reset sub_nsubs and sub_nlines in global_exe(). +Files: src/ex_cmds.c + + +*** ../vim-7.2.408/src/ex_cmds.c 2010-03-23 17:36:24.000000000 +0100 +--- src/ex_cmds.c 2010-03-23 17:42:49.000000000 +0100 +*************** +*** 5238,5245 **** + type = *eap->cmd; + cmd = eap->arg; + which_pat = RE_LAST; /* default: use last used regexp */ +- sub_nsubs = 0; +- sub_nlines = 0; + + /* + * undocumented vi feature: +--- 5238,5243 ---- +*************** +*** 5343,5348 **** +--- 5341,5348 ---- + /* When the command writes a message, don't overwrite the command. */ + msg_didout = TRUE; + ++ sub_nsubs = 0; ++ sub_nlines = 0; + global_need_beginline = FALSE; + global_busy = 1; + old_lcount = curbuf->b_ml.ml_line_count; +*** ../vim-7.2.408/src/version.c 2010-03-23 17:36:24.000000000 +0100 +--- src/version.c 2010-03-23 17:47:53.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 409, + /**/ + +-- +BRIDGEKEEPER: What is your favorite colour? +LAUNCELOT: Blue. +BRIDGEKEEPER: Right. Off you go. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.410 b/source/ap/vim/patches/7.2.410 new file mode 100644 index 000000000..660b06810 --- /dev/null +++ b/source/ap/vim/patches/7.2.410 @@ -0,0 +1,78 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.410 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.410 +Problem: Highlighting directories for completion doesn't work properly. +Solution: Don't halve backslashes when not needed, expaned "~/". + (Dominique Pelle) +Files: src/ex_getln.c + + +*** ../vim-7.2.409/src/ex_getln.c 2010-03-17 19:13:19.000000000 +0100 +--- src/ex_getln.c 2010-03-23 18:00:56.000000000 +0100 +*************** +*** 3948,3959 **** + || xp->xp_context == EXPAND_SHELLCMD + || xp->xp_context == EXPAND_BUFFERS) + { +- char_u *halved_slash; +- + /* highlight directories */ +! halved_slash = backslash_halve_save(files_found[k]); +! j = mch_isdir(halved_slash); +! vim_free(halved_slash); + if (showtail) + p = L_SHOWFILE(k); + else +--- 3948,3973 ---- + || xp->xp_context == EXPAND_SHELLCMD + || xp->xp_context == EXPAND_BUFFERS) + { + /* highlight directories */ +! if (xp->xp_numfiles != -1) +! { +! char_u *halved_slash; +! char_u *exp_path; +! +! /* Expansion was done before and special characters +! * were escaped, need to halve backslashes. Also +! * $HOME has been replaced with ~/. */ +! exp_path = expand_env_save_opt(files_found[k], TRUE); +! halved_slash = backslash_halve_save( +! exp_path != NULL ? exp_path : files_found[k]); +! j = mch_isdir(halved_slash != NULL ? halved_slash +! : files_found[k]); +! vim_free(exp_path); +! vim_free(halved_slash); +! } +! else +! /* Expansion was done here, file names are literal. */ +! j = mch_isdir(files_found[k]); + if (showtail) + p = L_SHOWFILE(k); + else +*** ../vim-7.2.409/src/version.c 2010-03-23 17:49:19.000000000 +0100 +--- src/version.c 2010-03-23 18:04:25.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 410, + /**/ + +-- +BRIDGEKEEPER: What is your favorite colour? +GAWAIN: Blue ... No yelloooooww! + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.411 b/source/ap/vim/patches/7.2.411 new file mode 100644 index 000000000..4a619ee7d --- /dev/null +++ b/source/ap/vim/patches/7.2.411 @@ -0,0 +1,47 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.411 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.411 +Problem: When parsing 'cino' a comma isn't skipped properly. +Solution: Skip the comma. (Lech Lorens) +Files: src/misc1.c + + +*** ../vim-7.2.410/src/misc1.c 2010-03-02 12:37:01.000000000 +0100 +--- src/misc1.c 2010-03-23 18:18:15.000000000 +0100 +*************** +*** 6270,6275 **** +--- 6270,6277 ---- + case 'l': ind_keep_case_label = n; break; + case '#': ind_hash_comment = n; break; + } ++ if (*options == ',') ++ ++options; + } + + /* remember where the cursor was when we started */ +*** ../vim-7.2.410/src/version.c 2010-03-23 18:06:47.000000000 +0100 +--- src/version.c 2010-03-23 18:22:13.000000000 +0100 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 411, + /**/ + +-- +BRIDGEKEEPER: What is your favorite editor? +GAWAIN: Emacs ... No, Viiiiiiiiiiimmmmmmm! + "Monty Python and the Holy editor wars" PYTHON (MONTY) SOFTWARE LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.412 b/source/ap/vim/patches/7.2.412 new file mode 100644 index 000000000..d46769504 --- /dev/null +++ b/source/ap/vim/patches/7.2.412 @@ -0,0 +1,85 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.412 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.412 +Problem: [ or ] followed by mouse click doesn't work. +Solution: Reverse check for key being a mouse event. (Dominique Pelle) +Files: src/normal.c + + +*** ../vim-7.2.411/src/normal.c 2010-03-17 13:07:01.000000000 +0100 +--- src/normal.c 2010-05-07 15:46:54.000000000 +0200 +*************** +*** 3196,3202 **** + * There are a few special cases where we want certain combinations of + * characters to be considered as a single word. These are things like + * "->", "/ *", "*=", "+=", "&=", "<=", ">=", "!=" etc. Otherwise, each +! * character is in it's own class. + */ + if (c != NUL && vim_strchr((char_u *)"-+*/%<>&|^!=", c) != NULL) + return 1; +--- 3196,3202 ---- + * There are a few special cases where we want certain combinations of + * characters to be considered as a single word. These are things like + * "->", "/ *", "*=", "+=", "&=", "<=", ">=", "!=" etc. Otherwise, each +! * character is in its own class. + */ + if (c != NUL && vim_strchr((char_u *)"-+*/%<>&|^!=", c) != NULL) + return 1; +*************** +*** 4085,4091 **** + /* + * Command character that's ignored. + * Used for CTRL-Q and CTRL-S to avoid problems with terminals that use +! * xon/xoff + */ + static void + nv_ignore(cap) +--- 4085,4091 ---- + /* + * Command character that's ignored. + * Used for CTRL-Q and CTRL-S to avoid problems with terminals that use +! * xon/xoff. + */ + static void + nv_ignore(cap) +*************** +*** 6523,6529 **** + * [ or ] followed by a middle mouse click: put selected text with + * indent adjustment. Any other button just does as usual. + */ +! else if (cap->nchar >= K_LEFTMOUSE && cap->nchar <= K_RIGHTRELEASE) + { + (void)do_mouse(cap->oap, cap->nchar, + (cap->cmdchar == ']') ? FORWARD : BACKWARD, +--- 6523,6529 ---- + * [ or ] followed by a middle mouse click: put selected text with + * indent adjustment. Any other button just does as usual. + */ +! else if (cap->nchar >= K_RIGHTRELEASE && cap->nchar <= K_LEFTMOUSE) + { + (void)do_mouse(cap->oap, cap->nchar, + (cap->cmdchar == ']') ? FORWARD : BACKWARD, +*** ../vim-7.2.411/src/version.c 2010-03-23 18:22:40.000000000 +0100 +--- src/version.c 2010-05-07 15:51:35.000000000 +0200 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 412, + /**/ + +-- +I have a drinking problem -- I don't have a drink! + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.413 b/source/ap/vim/patches/7.2.413 new file mode 100644 index 000000000..40a659257 --- /dev/null +++ b/source/ap/vim/patches/7.2.413 @@ -0,0 +1,452 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.413 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.413 +Problem: Large file support is incorrect. +Solution: Add AC_SYS_LARGEFILE to configure. (James Vega) +Files: src/configure.in, src/config.h.in, src/auto/configure + + +*** ../vim-7.2.412/src/configure.in 2010-03-10 16:27:27.000000000 +0100 +--- src/configure.in 2010-04-01 15:06:04.000000000 +0200 +*************** +*** 2669,2674 **** +--- 2669,2678 ---- + usleep utime utimes) + AC_FUNC_FSEEKO + ++ dnl define _LARGE_FILES, _FILE_OFFSET_BITS and _LARGEFILE_SOURCE when ++ dnl appropriate, so that off_t is 64 bits when needed. ++ AC_SYS_LARGEFILE ++ + dnl fstatfs() can take 2 to 4 arguments, try to use st_blksize if possible + AC_MSG_CHECKING(for st_blksize) + AC_TRY_COMPILE( +*** ../vim-7.2.412/src/config.h.in 2010-02-24 14:46:58.000000000 +0100 +--- src/config.h.in 2010-04-01 15:10:49.000000000 +0200 +*************** +*** 196,201 **** +--- 196,206 ---- + #undef HAVE_UTIME + #undef HAVE_BIND_TEXTDOMAIN_CODESET + ++ /* Define, if needed, for accessing large files. */ ++ #undef _LARGE_FILES ++ #undef _FILE_OFFSET_BITS ++ #undef _LARGEFILE_SOURCE ++ + /* Define if you do not have utime(), but do have the utimes() function. */ + #undef HAVE_UTIMES + +*** ../vim-7.2.412/src/auto/configure 2010-03-10 16:27:27.000000000 +0100 +--- src/auto/configure 2010-05-07 16:01:08.000000000 +0200 +*************** +*** 821,826 **** +--- 821,827 ---- + with_gnome + with_motif_lib + with_tlib ++ enable_largefile + enable_acl + enable_gpm + enable_sysmouse +*************** +*** 1485,1490 **** +--- 1486,1492 ---- + --enable-nextaw-check If auto-select GUI, check for neXtaw default=yes + --enable-carbon-check If auto-select GUI, check for Carbon default=yes + --disable-gtktest Do not try to compile and run a test GTK program ++ --disable-largefile omit support for large files + --disable-acl Don't check for ACL support. + --disable-gpm Don't use gpm (Linux mouse daemon). + --disable-sysmouse Don't use sysmouse (mouse in *BSD console). +*************** +*** 14345,14350 **** +--- 14347,14709 ---- + fi + + ++ # Check whether --enable-largefile was given. ++ if test "${enable_largefile+set}" = set; then ++ enableval=$enable_largefile; ++ fi ++ ++ if test "$enable_largefile" != no; then ++ ++ { $as_echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5 ++ $as_echo_n "checking for special C compiler options needed for large files... " >&6; } ++ if test "${ac_cv_sys_largefile_CC+set}" = set; then ++ $as_echo_n "(cached) " >&6 ++ else ++ ac_cv_sys_largefile_CC=no ++ if test "$GCC" != yes; then ++ ac_save_CC=$CC ++ while :; do ++ # IRIX 6.2 and later do not support large files by default, ++ # so use the C compiler's -n32 option if that helps. ++ cat >conftest.$ac_ext <<_ACEOF ++ /* confdefs.h. */ ++ _ACEOF ++ cat confdefs.h >>conftest.$ac_ext ++ cat >>conftest.$ac_ext <<_ACEOF ++ /* end confdefs.h. */ ++ #include <sys/types.h> ++ /* Check that off_t can represent 2**63 - 1 correctly. ++ We can't simply define LARGE_OFF_T to be 9223372036854775807, ++ since some C++ compilers masquerading as C compilers ++ incorrectly reject 9223372036854775807. */ ++ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) ++ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 ++ && LARGE_OFF_T % 2147483647 == 1) ++ ? 1 : -1]; ++ int ++ main () ++ { ++ ++ ; ++ return 0; ++ } ++ _ACEOF ++ rm -f conftest.$ac_objext ++ if { (ac_try="$ac_compile" ++ case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++ esac ++ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" ++ $as_echo "$ac_try_echo") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ break ++ else ++ $as_echo "$as_me: failed program was:" >&5 ++ sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ++ fi ++ ++ rm -f core conftest.err conftest.$ac_objext ++ CC="$CC -n32" ++ rm -f conftest.$ac_objext ++ if { (ac_try="$ac_compile" ++ case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++ esac ++ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" ++ $as_echo "$ac_try_echo") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_cv_sys_largefile_CC=' -n32'; break ++ else ++ $as_echo "$as_me: failed program was:" >&5 ++ sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ++ fi ++ ++ rm -f core conftest.err conftest.$ac_objext ++ break ++ done ++ CC=$ac_save_CC ++ rm -f conftest.$ac_ext ++ fi ++ fi ++ { $as_echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5 ++ $as_echo "$ac_cv_sys_largefile_CC" >&6; } ++ if test "$ac_cv_sys_largefile_CC" != no; then ++ CC=$CC$ac_cv_sys_largefile_CC ++ fi ++ ++ { $as_echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5 ++ $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } ++ if test "${ac_cv_sys_file_offset_bits+set}" = set; then ++ $as_echo_n "(cached) " >&6 ++ else ++ while :; do ++ cat >conftest.$ac_ext <<_ACEOF ++ /* confdefs.h. */ ++ _ACEOF ++ cat confdefs.h >>conftest.$ac_ext ++ cat >>conftest.$ac_ext <<_ACEOF ++ /* end confdefs.h. */ ++ #include <sys/types.h> ++ /* Check that off_t can represent 2**63 - 1 correctly. ++ We can't simply define LARGE_OFF_T to be 9223372036854775807, ++ since some C++ compilers masquerading as C compilers ++ incorrectly reject 9223372036854775807. */ ++ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) ++ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 ++ && LARGE_OFF_T % 2147483647 == 1) ++ ? 1 : -1]; ++ int ++ main () ++ { ++ ++ ; ++ return 0; ++ } ++ _ACEOF ++ rm -f conftest.$ac_objext ++ if { (ac_try="$ac_compile" ++ case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++ esac ++ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" ++ $as_echo "$ac_try_echo") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_cv_sys_file_offset_bits=no; break ++ else ++ $as_echo "$as_me: failed program was:" >&5 ++ sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ++ fi ++ ++ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ cat >conftest.$ac_ext <<_ACEOF ++ /* confdefs.h. */ ++ _ACEOF ++ cat confdefs.h >>conftest.$ac_ext ++ cat >>conftest.$ac_ext <<_ACEOF ++ /* end confdefs.h. */ ++ #define _FILE_OFFSET_BITS 64 ++ #include <sys/types.h> ++ /* Check that off_t can represent 2**63 - 1 correctly. ++ We can't simply define LARGE_OFF_T to be 9223372036854775807, ++ since some C++ compilers masquerading as C compilers ++ incorrectly reject 9223372036854775807. */ ++ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) ++ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 ++ && LARGE_OFF_T % 2147483647 == 1) ++ ? 1 : -1]; ++ int ++ main () ++ { ++ ++ ; ++ return 0; ++ } ++ _ACEOF ++ rm -f conftest.$ac_objext ++ if { (ac_try="$ac_compile" ++ case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++ esac ++ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" ++ $as_echo "$ac_try_echo") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_cv_sys_file_offset_bits=64; break ++ else ++ $as_echo "$as_me: failed program was:" >&5 ++ sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ++ fi ++ ++ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ ac_cv_sys_file_offset_bits=unknown ++ break ++ done ++ fi ++ { $as_echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5 ++ $as_echo "$ac_cv_sys_file_offset_bits" >&6; } ++ case $ac_cv_sys_file_offset_bits in #( ++ no | unknown) ;; ++ *) ++ cat >>confdefs.h <<_ACEOF ++ #define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits ++ _ACEOF ++ ;; ++ esac ++ rm -rf conftest* ++ if test $ac_cv_sys_file_offset_bits = unknown; then ++ { $as_echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5 ++ $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } ++ if test "${ac_cv_sys_large_files+set}" = set; then ++ $as_echo_n "(cached) " >&6 ++ else ++ while :; do ++ cat >conftest.$ac_ext <<_ACEOF ++ /* confdefs.h. */ ++ _ACEOF ++ cat confdefs.h >>conftest.$ac_ext ++ cat >>conftest.$ac_ext <<_ACEOF ++ /* end confdefs.h. */ ++ #include <sys/types.h> ++ /* Check that off_t can represent 2**63 - 1 correctly. ++ We can't simply define LARGE_OFF_T to be 9223372036854775807, ++ since some C++ compilers masquerading as C compilers ++ incorrectly reject 9223372036854775807. */ ++ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) ++ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 ++ && LARGE_OFF_T % 2147483647 == 1) ++ ? 1 : -1]; ++ int ++ main () ++ { ++ ++ ; ++ return 0; ++ } ++ _ACEOF ++ rm -f conftest.$ac_objext ++ if { (ac_try="$ac_compile" ++ case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++ esac ++ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" ++ $as_echo "$ac_try_echo") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_cv_sys_large_files=no; break ++ else ++ $as_echo "$as_me: failed program was:" >&5 ++ sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ++ fi ++ ++ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ cat >conftest.$ac_ext <<_ACEOF ++ /* confdefs.h. */ ++ _ACEOF ++ cat confdefs.h >>conftest.$ac_ext ++ cat >>conftest.$ac_ext <<_ACEOF ++ /* end confdefs.h. */ ++ #define _LARGE_FILES 1 ++ #include <sys/types.h> ++ /* Check that off_t can represent 2**63 - 1 correctly. ++ We can't simply define LARGE_OFF_T to be 9223372036854775807, ++ since some C++ compilers masquerading as C compilers ++ incorrectly reject 9223372036854775807. */ ++ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) ++ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 ++ && LARGE_OFF_T % 2147483647 == 1) ++ ? 1 : -1]; ++ int ++ main () ++ { ++ ++ ; ++ return 0; ++ } ++ _ACEOF ++ rm -f conftest.$ac_objext ++ if { (ac_try="$ac_compile" ++ case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++ esac ++ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" ++ $as_echo "$ac_try_echo") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_cv_sys_large_files=1; break ++ else ++ $as_echo "$as_me: failed program was:" >&5 ++ sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ++ fi ++ ++ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ ac_cv_sys_large_files=unknown ++ break ++ done ++ fi ++ { $as_echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5 ++ $as_echo "$ac_cv_sys_large_files" >&6; } ++ case $ac_cv_sys_large_files in #( ++ no | unknown) ;; ++ *) ++ cat >>confdefs.h <<_ACEOF ++ #define _LARGE_FILES $ac_cv_sys_large_files ++ _ACEOF ++ ;; ++ esac ++ rm -rf conftest* ++ fi ++ fi ++ ++ + { $as_echo "$as_me:$LINENO: checking for st_blksize" >&5 + $as_echo_n "checking for st_blksize... " >&6; } + cat >conftest.$ac_ext <<_ACEOF +*** ../vim-7.2.412/src/version.c 2010-05-07 15:51:59.000000000 +0200 +--- src/version.c 2010-05-07 16:04:29.000000000 +0200 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 413, + /**/ + +-- +How To Keep A Healthy Level Of Insanity: +2. Page yourself over the intercom. Don't disguise your voice. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.414 b/source/ap/vim/patches/7.2.414 new file mode 100644 index 000000000..9d5666c34 --- /dev/null +++ b/source/ap/vim/patches/7.2.414 @@ -0,0 +1,93 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.414 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.414 +Problem: CTRK-K <space> <space> does not produce 0xa0 as expected. (Tony + Mechelynck) +Solution: Remove the Unicode range 0xe000 - 0xefff from digraphs, these are + not valid characters. +Files: src/digraph.c + + +*** ../vim-7.2.413/src/digraph.c 2009-05-13 14:12:14.000000000 +0200 +--- src/digraph.c 2010-04-11 17:28:22.000000000 +0200 +*************** +*** 1933,1977 **** + {'7', 'c', 0x3226}, + {'8', 'c', 0x3227}, + {'9', 'c', 0x3228}, +! {' ', ' ', 0xe000}, +! {'/', 'c', 0xe001}, +! {'U', 'A', 0xe002}, +! {'U', 'B', 0xe003}, +! {'"', '3', 0xe004}, +! {'"', '1', 0xe005}, +! {'"', '!', 0xe006}, +! {'"', '\'', 0xe007}, +! {'"', '>', 0xe008}, +! {'"', '?', 0xe009}, +! {'"', '-', 0xe00a}, +! {'"', '(', 0xe00b}, +! {'"', '.', 0xe00c}, +! {'"', ':', 0xe00d}, +! {'"', '0', 0xe00e}, +! {'"', '"', 0xe00f}, +! {'"', '<', 0xe010}, +! {'"', ',', 0xe011}, +! {'"', ';', 0xe012}, +! {'"', '_', 0xe013}, +! {'"', '=', 0xe014}, +! {'"', '/', 0xe015}, +! {'"', 'i', 0xe016}, +! {'"', 'd', 0xe017}, +! {'"', 'p', 0xe018}, +! {';', ';', 0xe019}, +! {',', ',', 0xe01a}, +! {'b', '3', 0xe01b}, +! {'C', 'i', 0xe01c}, +! {'f', '(', 0xe01d}, +! {'e', 'd', 0xe01e}, +! {'a', 'm', 0xe01f}, +! {'p', 'm', 0xe020}, +! {'F', 'l', 0xe023}, +! {'G', 'F', 0xe024}, +! {'>', 'V', 0xe025}, +! {'!', '*', 0xe026}, +! {'?', '*', 0xe027}, +! {'J', '<', 0xe028}, + {'f', 'f', 0xfb00}, + {'f', 'i', 0xfb01}, + {'f', 'l', 0xfb02}, +--- 1933,1940 ---- + {'7', 'c', 0x3226}, + {'8', 'c', 0x3227}, + {'9', 'c', 0x3228}, +! /* code points 0xe000 - 0xefff excluded, they have no assigned +! * characters, only used in proposals. */ + {'f', 'f', 0xfb00}, + {'f', 'i', 0xfb01}, + {'f', 'l', 0xfb02}, +*** ../vim-7.2.413/src/version.c 2010-05-07 16:05:48.000000000 +0200 +--- src/version.c 2010-05-07 16:17:26.000000000 +0200 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 414, + /**/ + +-- +How To Keep A Healthy Level Of Insanity: +4. Put your garbage can on your desk and label it "in". + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.415 b/source/ap/vim/patches/7.2.415 new file mode 100644 index 000000000..87e7c0b59 --- /dev/null +++ b/source/ap/vim/patches/7.2.415 @@ -0,0 +1,69 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.415 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.415 +Problem: Win32: Can't open a remote file when starting Vim. +Solution: Don't invoke cygwin_conv_path() for URLs. (Tomoya Adachi) +Files: src/main.c + + +*** ../vim-7.2.414/src/main.c 2009-12-16 18:27:29.000000000 +0100 +--- src/main.c 2010-04-12 20:57:44.000000000 +0200 +*************** +*** 1477,1483 **** + ++initstr; + } + +! /* Avoid using evim mode for "editor". */ + if (TOLOWER_ASC(initstr[0]) == 'e' + && (TOLOWER_ASC(initstr[1]) == 'v' + || TOLOWER_ASC(initstr[1]) == 'g')) +--- 1477,1483 ---- + ++initstr; + } + +! /* Use evim mode for "evim" and "egvim", not for "editor". */ + if (TOLOWER_ASC(initstr[0]) == 'e' + && (TOLOWER_ASC(initstr[1]) == 'v' + || TOLOWER_ASC(initstr[1]) == 'g')) +*************** +*** 2262,2268 **** + * Look for evidence of non-Cygwin paths before we bother. + * This is only for when using the Unix files. + */ +! if (strpbrk(p, "\\:") != NULL) + { + char posix_path[PATH_MAX]; + +--- 2262,2268 ---- + * Look for evidence of non-Cygwin paths before we bother. + * This is only for when using the Unix files. + */ +! if (strpbrk(p, "\\:") != NULL && !path_with_url(p)) + { + char posix_path[PATH_MAX]; + +*** ../vim-7.2.414/src/version.c 2010-05-07 16:18:08.000000000 +0200 +--- src/version.c 2010-05-07 16:34:22.000000000 +0200 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 415, + /**/ + +-- +How To Keep A Healthy Level Of Insanity: +6. In the memo field of all your checks, write "for sexual favors". + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/source/ap/vim/patches/7.2.416 b/source/ap/vim/patches/7.2.416 new file mode 100644 index 000000000..67bb80808 --- /dev/null +++ b/source/ap/vim/patches/7.2.416 @@ -0,0 +1,69 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.416 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.416 +Problem: Logtalk.dict is not installed. +Solution: Add it to the install target. (Markus Heidelberg) +Files: src/Makefile + + +*** ../vim-7.2.415/src/Makefile 2010-05-07 16:35:12.000000000 +0200 +--- src/Makefile 2010-04-06 20:19:48.000000000 +0200 +*************** +*** 30,36 **** + # want to disable using X11 libraries. This speeds up starting Vim, + # but the window title will not be set and the X11 selection can not + # used. +! # - Uncomment the line "CONF_OPT_XSMP = --without-xsmp" if you have the + # X11 Session Management Protocol (XSMP) library (libSM) but do not + # want to use it. + # This can speedup Vim startup but Vim loses the ability to catch the +--- 30,36 ---- + # want to disable using X11 libraries. This speeds up starting Vim, + # but the window title will not be set and the X11 selection can not + # used. +! # - Uncomment the line "CONF_OPT_XSMP = --disable-xsmp" if you have the + # X11 Session Management Protocol (XSMP) library (libSM) but do not + # want to use it. + # This can speedup Vim startup but Vim loses the ability to catch the +*************** +*** 1882,1888 **** + cd $(PLUGSOURCE); $(INSTALL_DATA) *.vim README.txt $(DEST_PLUG) + cd $(DEST_PLUG); chmod $(HELPMOD) *.vim README.txt + # install the ftplugin files +! cd $(FTPLUGSOURCE); $(INSTALL_DATA) *.vim README.txt $(DEST_FTP) + cd $(DEST_FTP); chmod $(HELPMOD) *.vim README.txt + # install the compiler files + cd $(COMPSOURCE); $(INSTALL_DATA) *.vim README.txt $(DEST_COMP) +--- 1882,1888 ---- + cd $(PLUGSOURCE); $(INSTALL_DATA) *.vim README.txt $(DEST_PLUG) + cd $(DEST_PLUG); chmod $(HELPMOD) *.vim README.txt + # install the ftplugin files +! cd $(FTPLUGSOURCE); $(INSTALL_DATA) *.vim README.txt logtalk.dict $(DEST_FTP) + cd $(DEST_FTP); chmod $(HELPMOD) *.vim README.txt + # install the compiler files + cd $(COMPSOURCE); $(INSTALL_DATA) *.vim README.txt $(DEST_COMP) +*** ../vim-7.2.415/src/version.c 2010-05-07 16:34:59.000000000 +0200 +--- src/version.c 2010-05-07 16:53:17.000000000 +0200 +*************** +*** 683,684 **** +--- 683,686 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 416, + /**/ + +-- +How To Keep A Healthy Level Of Insanity: +8. Don't use any punctuation marks. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |