From 2d88d39a57f9d6e639f20c82c2a04b375c3380b7 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Tue, 29 Sep 2009 07:16:25 +0000 Subject: [PATCH 001/103] Initialize branch F-12 for vim --- branch | 1 + 1 file changed, 1 insertion(+) create mode 100644 branch diff --git a/branch b/branch new file mode 100644 index 00000000..06de2d20 --- /dev/null +++ b/branch @@ -0,0 +1 @@ +F-12 From a7e91fa9d66ad85b1e1b18246998873e38cf515f Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Thu, 26 Nov 2009 01:14:05 +0000 Subject: [PATCH 002/103] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index e93db5a4..8482b06e 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ NAME := vim SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From bcd06b3f1eb9229209c4e3540e51d769b0eca46d Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 3 Dec 2009 13:40:06 +0000 Subject: [PATCH 003/103] - patchlevel 315 - fix vimrc location in man page (#456992) - correct syntax highlighting of httpd config files in /etc/httpd (#499123) - Buildrequire ruby, ruby-devel (#503872) - Remove check for static gravity (#510307) - sort tags file (#517725) - use one gvim to open multiple file selections from nautilus (#519265) - use elinks -source instead of elinks -dump (#518791) - add ext4 keyword to /etc/fstab syntax highlighting (#498290) --- 7.2.246 | 53 ++ 7.2.247 | 86 +++ 7.2.248 | 158 ++++++ 7.2.249 | 47 ++ 7.2.250 | 55 ++ 7.2.251 | 71 +++ 7.2.252 | 51 ++ 7.2.253 | 143 +++++ 7.2.254 | 52 ++ 7.2.255 | 71 +++ 7.2.256 | 59 ++ 7.2.257 | 61 ++ 7.2.258 | 74 +++ 7.2.259 | 160 ++++++ 7.2.260 | 155 +++++ 7.2.261 | 83 +++ 7.2.262 | 189 +++++++ 7.2.263 | 87 +++ 7.2.264 | 168 ++++++ 7.2.265 | 56 ++ 7.2.266 | 244 ++++++++ 7.2.267 | 47 ++ 7.2.268 | 80 +++ 7.2.269 | 261 +++++++++ 7.2.270 | 72 +++ 7.2.271 | 92 +++ 7.2.272 | 82 +++ 7.2.273 | 130 +++++ 7.2.274 | 130 +++++ 7.2.275 | 95 ++++ 7.2.276 | 63 +++ 7.2.277 | 66 +++ 7.2.278 | 74 +++ 7.2.279 | 120 ++++ 7.2.280 | 251 +++++++++ 7.2.281 | 81 +++ 7.2.282 | 47 ++ 7.2.283 | 73 +++ 7.2.284 | 52 ++ 7.2.285 | 56 ++ 7.2.286 | 227 ++++++++ 7.2.287 | 54 ++ 7.2.288 | 52 ++ 7.2.289 | 120 ++++ 7.2.290 | 157 ++++++ 7.2.291 | 53 ++ 7.2.292 | 55 ++ 7.2.293 | 66 +++ 7.2.294 | 285 ++++++++++ 7.2.295 | 142 +++++ 7.2.296 | 53 ++ 7.2.297 | 70 +++ 7.2.298 | 48 ++ 7.2.299 | 54 ++ 7.2.300 | 201 +++++++ 7.2.301 | 777 ++++++++++++++++++++++++++ 7.2.302 | 140 +++++ 7.2.303 | 70 +++ 7.2.304 | 58 ++ 7.2.305 | 105 ++++ 7.2.306 | 48 ++ 7.2.307 | 181 ++++++ 7.2.308 | 182 ++++++ 7.2.309 | 48 ++ 7.2.310 | 63 +++ 7.2.311 | 52 ++ 7.2.312 | 312 +++++++++++ 7.2.313 | 117 ++++ 7.2.314 | 56 ++ 7.2.315 | 134 +++++ gvim.desktop | 2 +- vim-7.2-elinks-parameter-518791.patch | 12 + vim-7.2-fstabsyntax.patch | 2 +- vim-7.2-httpfiletype-499123.patch | 12 + vim.spec | 190 ++++++- vimrc | 2 +- 76 files changed, 8178 insertions(+), 17 deletions(-) create mode 100644 7.2.246 create mode 100644 7.2.247 create mode 100644 7.2.248 create mode 100644 7.2.249 create mode 100644 7.2.250 create mode 100644 7.2.251 create mode 100644 7.2.252 create mode 100644 7.2.253 create mode 100644 7.2.254 create mode 100644 7.2.255 create mode 100644 7.2.256 create mode 100644 7.2.257 create mode 100644 7.2.258 create mode 100644 7.2.259 create mode 100644 7.2.260 create mode 100644 7.2.261 create mode 100644 7.2.262 create mode 100644 7.2.263 create mode 100644 7.2.264 create mode 100644 7.2.265 create mode 100644 7.2.266 create mode 100644 7.2.267 create mode 100644 7.2.268 create mode 100644 7.2.269 create mode 100644 7.2.270 create mode 100644 7.2.271 create mode 100644 7.2.272 create mode 100644 7.2.273 create mode 100644 7.2.274 create mode 100644 7.2.275 create mode 100644 7.2.276 create mode 100644 7.2.277 create mode 100644 7.2.278 create mode 100644 7.2.279 create mode 100644 7.2.280 create mode 100644 7.2.281 create mode 100644 7.2.282 create mode 100644 7.2.283 create mode 100644 7.2.284 create mode 100644 7.2.285 create mode 100644 7.2.286 create mode 100644 7.2.287 create mode 100644 7.2.288 create mode 100644 7.2.289 create mode 100644 7.2.290 create mode 100644 7.2.291 create mode 100644 7.2.292 create mode 100644 7.2.293 create mode 100644 7.2.294 create mode 100644 7.2.295 create mode 100644 7.2.296 create mode 100644 7.2.297 create mode 100644 7.2.298 create mode 100644 7.2.299 create mode 100644 7.2.300 create mode 100644 7.2.301 create mode 100644 7.2.302 create mode 100644 7.2.303 create mode 100644 7.2.304 create mode 100644 7.2.305 create mode 100644 7.2.306 create mode 100644 7.2.307 create mode 100644 7.2.308 create mode 100644 7.2.309 create mode 100644 7.2.310 create mode 100644 7.2.311 create mode 100644 7.2.312 create mode 100644 7.2.313 create mode 100644 7.2.314 create mode 100644 7.2.315 create mode 100644 vim-7.2-elinks-parameter-518791.patch create mode 100644 vim-7.2-httpfiletype-499123.patch diff --git a/7.2.246 b/7.2.246 new file mode 100644 index 00000000..5b1c9786 --- /dev/null +++ b/7.2.246 @@ -0,0 +1,53 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.246 +Fcc: outbox +From: Bram Moolenaar +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 . 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 . 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/7.2.247 b/7.2.247 new file mode 100644 index 00000000..e18926d9 --- /dev/null +++ b/7.2.247 @@ -0,0 +1,86 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.247 +Fcc: outbox +From: Bram Moolenaar +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/7.2.248 b/7.2.248 new file mode 100644 index 00000000..2254101e --- /dev/null +++ b/7.2.248 @@ -0,0 +1,158 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.248 (extra) +Fcc: outbox +From: Bram Moolenaar +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/7.2.249 b/7.2.249 new file mode 100644 index 00000000..33169f77 --- /dev/null +++ b/7.2.249 @@ -0,0 +1,47 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.249 +Fcc: outbox +From: Bram Moolenaar +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/7.2.250 b/7.2.250 new file mode 100644 index 00000000..2f30a240 --- /dev/null +++ b/7.2.250 @@ -0,0 +1,55 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.250 (extra) +Fcc: outbox +From: Bram Moolenaar +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/7.2.251 b/7.2.251 new file mode 100644 index 00000000..00cf0f0f --- /dev/null +++ b/7.2.251 @@ -0,0 +1,71 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.251 +Fcc: outbox +From: Bram Moolenaar +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/7.2.252 b/7.2.252 new file mode 100644 index 00000000..b7dc7022 --- /dev/null +++ b/7.2.252 @@ -0,0 +1,51 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.252 +Fcc: outbox +From: Bram Moolenaar +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/7.2.253 b/7.2.253 new file mode 100644 index 00000000..354d444d --- /dev/null +++ b/7.2.253 @@ -0,0 +1,143 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.253 +Fcc: outbox +From: Bram Moolenaar +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/7.2.254 b/7.2.254 new file mode 100644 index 00000000..c8c57aff --- /dev/null +++ b/7.2.254 @@ -0,0 +1,52 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.254 +Fcc: outbox +From: Bram Moolenaar +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/7.2.255 b/7.2.255 new file mode 100644 index 00000000..1bb85b15 --- /dev/null +++ b/7.2.255 @@ -0,0 +1,71 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.255 +Fcc: outbox +From: Bram Moolenaar +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/7.2.256 b/7.2.256 new file mode 100644 index 00000000..17361fbf --- /dev/null +++ b/7.2.256 @@ -0,0 +1,59 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.256 +Fcc: outbox +From: Bram Moolenaar +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/7.2.257 b/7.2.257 new file mode 100644 index 00000000..a856a3ac --- /dev/null +++ b/7.2.257 @@ -0,0 +1,61 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.257 +Fcc: outbox +From: Bram Moolenaar +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/7.2.258 b/7.2.258 new file mode 100644 index 00000000..98ddab58 --- /dev/null +++ b/7.2.258 @@ -0,0 +1,74 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.258 +Fcc: outbox +From: Bram Moolenaar +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/7.2.259 b/7.2.259 new file mode 100644 index 00000000..0bf0ba13 --- /dev/null +++ b/7.2.259 @@ -0,0 +1,160 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.259 +Fcc: outbox +From: Bram Moolenaar +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 "", special handling is needed which uses curbuf */ + /* for pattern ", fnamecmp() will work fine */ +! if (STRICMP(pattern, "") == 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 "", special handling is needed which uses curbuf */ + /* for pattern ", fnamecmp() will work fine */ +! if (pattern != NULL && STRICMP(pattern, "") == 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#: " . exists("#BufEnter#")) ++ :au BufEnter let g:entered=1 ++ :call add(results, "#BufEnter#: " . exists("#BufEnter#")) ++ :edit testfile2.test ++ :call add(results, "#BufEnter#: " . exists("#BufEnter#")) ++ :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#: 0 ++ #BufEnter#: 1 ++ #BufEnter#: 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/7.2.260 b/7.2.260 new file mode 100644 index 00000000..46d4365c --- /dev/null +++ b/7.2.260 @@ -0,0 +1,155 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.260 (extra) +Fcc: outbox +From: Bram Moolenaar +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, + # Sandor Kopanyi, + # +! # 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, + # Sandor Kopanyi, + # +! # 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/7.2.261 b/7.2.261 new file mode 100644 index 00000000..4f8e72d7 --- /dev/null +++ b/7.2.261 @@ -0,0 +1,83 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.261 +Fcc: outbox +From: Bram Moolenaar +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/7.2.262 b/7.2.262 new file mode 100644 index 00000000..dc73c07b --- /dev/null +++ b/7.2.262 @@ -0,0 +1,189 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.262 +Fcc: outbox +From: Bram Moolenaar +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/7.2.263 b/7.2.263 new file mode 100644 index 00000000..fdbfa406 --- /dev/null +++ b/7.2.263 @@ -0,0 +1,87 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.263 +Fcc: outbox +From: Bram Moolenaar +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/7.2.264 b/7.2.264 new file mode 100644 index 00000000..808f2916 --- /dev/null +++ b/7.2.264 @@ -0,0 +1,168 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.264 +Fcc: outbox +From: Bram Moolenaar +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/7.2.265 b/7.2.265 new file mode 100644 index 00000000..46851502 --- /dev/null +++ b/7.2.265 @@ -0,0 +1,56 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.265 +Fcc: outbox +From: Bram Moolenaar +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/7.2.266 b/7.2.266 new file mode 100644 index 00000000..3a5ba774 --- /dev/null +++ b/7.2.266 @@ -0,0 +1,244 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.266 +Fcc: outbox +From: Bram Moolenaar +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/7.2.267 b/7.2.267 new file mode 100644 index 00000000..6df92c94 --- /dev/null +++ b/7.2.267 @@ -0,0 +1,47 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.267 +Fcc: outbox +From: Bram Moolenaar +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/7.2.268 b/7.2.268 new file mode 100644 index 00000000..89c50b04 --- /dev/null +++ b/7.2.268 @@ -0,0 +1,80 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.268 +Fcc: outbox +From: Bram Moolenaar +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/7.2.269 b/7.2.269 new file mode 100644 index 00000000..ec15f454 --- /dev/null +++ b/7.2.269 @@ -0,0 +1,261 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.269 +Fcc: outbox +From: Bram Moolenaar +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/7.2.270 b/7.2.270 new file mode 100644 index 00000000..7ad6458f --- /dev/null +++ b/7.2.270 @@ -0,0 +1,72 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.270 +Fcc: outbox +From: Bram Moolenaar +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/7.2.271 b/7.2.271 new file mode 100644 index 00000000..07427981 --- /dev/null +++ b/7.2.271 @@ -0,0 +1,92 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.271 +Fcc: outbox +From: Bram Moolenaar +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 + * +! * 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 + * +! * 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/7.2.272 b/7.2.272 new file mode 100644 index 00000000..22bebbcc --- /dev/null +++ b/7.2.272 @@ -0,0 +1,82 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.272 +Fcc: outbox +From: Bram Moolenaar +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/7.2.273 b/7.2.273 new file mode 100644 index 00000000..ac00afaa --- /dev/null +++ b/7.2.273 @@ -0,0 +1,130 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.273 +Fcc: outbox +From: Bram Moolenaar +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/7.2.274 b/7.2.274 new file mode 100644 index 00000000..809cedcf --- /dev/null +++ b/7.2.274 @@ -0,0 +1,130 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.274 +Fcc: outbox +From: Bram Moolenaar +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/7.2.275 b/7.2.275 new file mode 100644 index 00000000..c6c63264 --- /dev/null +++ b/7.2.275 @@ -0,0 +1,95 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.275 +Fcc: outbox +From: Bram Moolenaar +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/7.2.276 b/7.2.276 new file mode 100644 index 00000000..15dc68b0 --- /dev/null +++ b/7.2.276 @@ -0,0 +1,63 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.276 +Fcc: outbox +From: Bram Moolenaar +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/7.2.277 b/7.2.277 new file mode 100644 index 00000000..ed3caf4d --- /dev/null +++ b/7.2.277 @@ -0,0 +1,66 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.277 +Fcc: outbox +From: Bram Moolenaar +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/7.2.278 b/7.2.278 new file mode 100644 index 00000000..edf4e58a --- /dev/null +++ b/7.2.278 @@ -0,0 +1,74 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.278 +Fcc: outbox +From: Bram Moolenaar +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/7.2.279 b/7.2.279 new file mode 100644 index 00000000..bdf58fc8 --- /dev/null +++ b/7.2.279 @@ -0,0 +1,120 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.279 +Fcc: outbox +From: Bram Moolenaar +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/7.2.280 b/7.2.280 new file mode 100644 index 00000000..6223ac45 --- /dev/null +++ b/7.2.280 @@ -0,0 +1,251 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.280 +Fcc: outbox +From: Bram Moolenaar +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/7.2.281 b/7.2.281 new file mode 100644 index 00000000..f73d7a54 --- /dev/null +++ b/7.2.281 @@ -0,0 +1,81 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.281 +Fcc: outbox +From: Bram Moolenaar +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/7.2.282 b/7.2.282 new file mode 100644 index 00000000..dd4dc647 --- /dev/null +++ b/7.2.282 @@ -0,0 +1,47 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.282 +Fcc: outbox +From: Bram Moolenaar +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/7.2.283 b/7.2.283 new file mode 100644 index 00000000..0d6f6058 --- /dev/null +++ b/7.2.283 @@ -0,0 +1,73 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.283 +Fcc: outbox +From: Bram Moolenaar +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/7.2.284 b/7.2.284 new file mode 100644 index 00000000..5b4336b1 --- /dev/null +++ b/7.2.284 @@ -0,0 +1,52 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.284 +Fcc: outbox +From: Bram Moolenaar +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/7.2.285 b/7.2.285 new file mode 100644 index 00000000..2a34e17e --- /dev/null +++ b/7.2.285 @@ -0,0 +1,56 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.285 +Fcc: outbox +From: Bram Moolenaar +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/7.2.286 b/7.2.286 new file mode 100644 index 00000000..7577502f --- /dev/null +++ b/7.2.286 @@ -0,0 +1,227 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.286 +Fcc: outbox +From: Bram Moolenaar +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=" argument is not consistent with other + arguments. +Solution: Use "--startuptime ". 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 " 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 \tSend to/become the Vim server ")); + #endif ++ #ifdef STARTUPTIME ++ main_msg(_("--startuptime=\tWrite startup timing messages to ")); ++ #endif + #ifdef FEAT_VIMINFO + main_msg(_("-i \t\tUse 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/7.2.287 b/7.2.287 new file mode 100644 index 00000000..0f8e170c --- /dev/null +++ b/7.2.287 @@ -0,0 +1,54 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.287 +Fcc: outbox +From: Bram Moolenaar +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/7.2.288 b/7.2.288 new file mode 100644 index 00000000..ab9ecdaf --- /dev/null +++ b/7.2.288 @@ -0,0 +1,52 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.288 +Fcc: outbox +From: Bram Moolenaar +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/7.2.289 b/7.2.289 new file mode 100644 index 00000000..4009bb9b --- /dev/null +++ b/7.2.289 @@ -0,0 +1,120 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.289 +Fcc: outbox +From: Bram Moolenaar +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/7.2.290 b/7.2.290 new file mode 100644 index 00000000..ba4fd62d --- /dev/null +++ b/7.2.290 @@ -0,0 +1,157 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.290 +Fcc: outbox +From: Bram Moolenaar +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/7.2.291 b/7.2.291 new file mode 100644 index 00000000..bab6e3bf --- /dev/null +++ b/7.2.291 @@ -0,0 +1,53 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.291 +Fcc: outbox +From: Bram Moolenaar +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/7.2.292 b/7.2.292 new file mode 100644 index 00000000..c5761904 --- /dev/null +++ b/7.2.292 @@ -0,0 +1,55 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.292 +Fcc: outbox +From: Bram Moolenaar +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/7.2.293 b/7.2.293 new file mode 100644 index 00000000..0f41435a --- /dev/null +++ b/7.2.293 @@ -0,0 +1,66 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.293 +Fcc: outbox +From: Bram Moolenaar +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/7.2.294 b/7.2.294 new file mode 100644 index 00000000..fef1e6bf --- /dev/null +++ b/7.2.294 @@ -0,0 +1,285 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.294 +Fcc: outbox +From: Bram Moolenaar +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/7.2.295 b/7.2.295 new file mode 100644 index 00000000..331498ff --- /dev/null +++ b/7.2.295 @@ -0,0 +1,142 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.295 +Fcc: outbox +From: Bram Moolenaar +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/7.2.296 b/7.2.296 new file mode 100644 index 00000000..5fc3cb3c --- /dev/null +++ b/7.2.296 @@ -0,0 +1,53 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.296 +Fcc: outbox +From: Bram Moolenaar +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 \tSend to/become the Vim server ")); + #endif + #ifdef STARTUPTIME +! main_msg(_("--startuptime=\tWrite startup timing messages to ")); + #endif + #ifdef FEAT_VIMINFO + main_msg(_("-i \t\tUse instead of .viminfo")); +--- 3151,3157 ---- + main_msg(_("--servername \tSend to/become the Vim server ")); + #endif + #ifdef STARTUPTIME +! main_msg(_("--startuptime \tWrite startup timing messages to ")); + #endif + #ifdef FEAT_VIMINFO + main_msg(_("-i \t\tUse 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/7.2.297 b/7.2.297 new file mode 100644 index 00000000..cc8d7899 --- /dev/null +++ b/7.2.297 @@ -0,0 +1,70 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.297 +Fcc: outbox +From: Bram Moolenaar +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/7.2.298 b/7.2.298 new file mode 100644 index 00000000..0aabd7ac --- /dev/null +++ b/7.2.298 @@ -0,0 +1,48 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.298 +Fcc: outbox +From: Bram Moolenaar +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/7.2.299 b/7.2.299 new file mode 100644 index 00000000..88f9e705 --- /dev/null +++ b/7.2.299 @@ -0,0 +1,54 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.299 +Fcc: outbox +From: Bram Moolenaar +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/7.2.300 b/7.2.300 new file mode 100644 index 00000000..f88035e6 --- /dev/null +++ b/7.2.300 @@ -0,0 +1,201 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.300 +Fcc: outbox +From: Bram Moolenaar +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 ++ #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 ++ #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 ], [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/7.2.301 b/7.2.301 new file mode 100644 index 00000000..e63cc088 --- /dev/null +++ b/7.2.301 @@ -0,0 +1,777 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.301 +Fcc: outbox +From: Bram Moolenaar +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/7.2.302 b/7.2.302 new file mode 100644 index 00000000..c4d5a99d --- /dev/null +++ b/7.2.302 @@ -0,0 +1,140 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.302 (extra) +Fcc: outbox +From: Bram Moolenaar +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/7.2.303 b/7.2.303 new file mode 100644 index 00000000..b53d1981 --- /dev/null +++ b/7.2.303 @@ -0,0 +1,70 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.303 +Fcc: outbox +From: Bram Moolenaar +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/7.2.304 b/7.2.304 new file mode 100644 index 00000000..8a138c04 --- /dev/null +++ b/7.2.304 @@ -0,0 +1,58 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.304 +Fcc: outbox +From: Bram Moolenaar +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/7.2.305 b/7.2.305 new file mode 100644 index 00000000..c8ad7084 --- /dev/null +++ b/7.2.305 @@ -0,0 +1,105 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.305 +Fcc: outbox +From: Bram Moolenaar +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/7.2.306 b/7.2.306 new file mode 100644 index 00000000..d54e90d3 --- /dev/null +++ b/7.2.306 @@ -0,0 +1,48 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.306 +Fcc: outbox +From: Bram Moolenaar +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/7.2.307 b/7.2.307 new file mode 100644 index 00000000..23504e2c --- /dev/null +++ b/7.2.307 @@ -0,0 +1,181 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.307 +Fcc: outbox +From: Bram Moolenaar +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/7.2.308 b/7.2.308 new file mode 100644 index 00000000..1e19b21d --- /dev/null +++ b/7.2.308 @@ -0,0 +1,182 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.308 +Fcc: outbox +From: Bram Moolenaar +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/7.2.309 b/7.2.309 new file mode 100644 index 00000000..a1713b75 --- /dev/null +++ b/7.2.309 @@ -0,0 +1,48 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.309 +Fcc: outbox +From: Bram Moolenaar +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/7.2.310 b/7.2.310 new file mode 100644 index 00000000..52734ddf --- /dev/null +++ b/7.2.310 @@ -0,0 +1,63 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.310 +Fcc: outbox +From: Bram Moolenaar +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("") !~ 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/7.2.311 b/7.2.311 new file mode 100644 index 00000000..9e27a739 --- /dev/null +++ b/7.2.311 @@ -0,0 +1,52 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.311 +Fcc: outbox +From: Bram Moolenaar +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 /* for SSIZE_MAX */ + #endif + +--- 21,27 ---- + + #include "vim.h" + +! #if defined(__TANDEM) || defined(__MINT__) + # include /* 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/7.2.312 b/7.2.312 new file mode 100644 index 00000000..8b95868d --- /dev/null +++ b/7.2.312 @@ -0,0 +1,312 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.312 +Fcc: outbox +From: Bram Moolenaar +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 . */ + 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 . */ + 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/7.2.313 b/7.2.313 new file mode 100644 index 00000000..77b9103a --- /dev/null +++ b/7.2.313 @@ -0,0 +1,117 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.313 +Fcc: outbox +From: Bram Moolenaar +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/7.2.314 b/7.2.314 new file mode 100644 index 00000000..490605d0 --- /dev/null +++ b/7.2.314 @@ -0,0 +1,56 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.314 +Fcc: outbox +From: Bram Moolenaar +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/7.2.315 b/7.2.315 new file mode 100644 index 00000000..6a5e7c7b --- /dev/null +++ b/7.2.315 @@ -0,0 +1,134 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.315 +Fcc: outbox +From: Bram Moolenaar +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/gvim.desktop b/gvim.desktop index 01385186..4f0d294e 100644 --- a/gvim.desktop +++ b/gvim.desktop @@ -55,7 +55,7 @@ Comment[tr]=Güçlü vi düzenleyicisi Comment[uk]=Потужний редактор vi Comment[zh_CN.GB2312]=功能强大的 vi 编辑器 MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++; -Exec=gvim -f %f +Exec=gvim -f %F Icon=gvim Type=Application Terminal=0 diff --git a/vim-7.2-elinks-parameter-518791.patch b/vim-7.2-elinks-parameter-518791.patch new file mode 100644 index 00000000..839ea095 --- /dev/null +++ b/vim-7.2-elinks-parameter-518791.patch @@ -0,0 +1,12 @@ +diff -up vim72/runtime/autoload/netrw.vim.elinksparm vim72/runtime/autoload/netrw.vim +--- vim72/runtime/autoload/netrw.vim.elinksparm 2009-12-03 13:08:10.000000000 +0100 ++++ vim72/runtime/autoload/netrw.vim 2009-12-03 13:08:27.000000000 +0100 +@@ -88,7 +88,7 @@ if !exists("g:netrw_http_cmd") + if executable("elinks") + let g:netrw_http_cmd = "elinks" + if !exists("g:netrw_http_xcmd") +- let g:netrw_http_xcmd= "-dump >" ++ let g:netrw_http_xcmd= "-source >" + endif + elseif executable("links") + let g:netrw_http_cmd = "links" diff --git a/vim-7.2-fstabsyntax.patch b/vim-7.2-fstabsyntax.patch index 5acfe960..d20df37b 100644 --- a/vim-7.2-fstabsyntax.patch +++ b/vim-7.2-fstabsyntax.patch @@ -6,7 +6,7 @@ diff -up vim72/runtime/syntax/fstab.vim.fstabsyntax vim72/runtime/syntax/fstab.v syn cluster fsTypeCluster contains=fsTypeKeyword,fsTypeUnknown syn match fsTypeUnknown /\s\+\zs\w\+/ contained -syn keyword fsTypeKeyword contained adfs ados affs atfs audiofs auto autofs befs bfs cd9660 cfs cifs coda cramfs devfs devpts e2compr efs ext2 ext2fs ext3 fdesc ffs filecore fuse hfs hpfs iso9660 jffs jffs2 jfs kernfs lfs linprocfs mfs minix msdos ncpfs nfs none ntfs null nwfs overlay ovlfs portal proc procfs ptyfs qnx4 reiserfs romfs shm smbfs sshfs std subfs swap sysfs sysv tcfs tmpfs udf ufs umap umsdos union usbfs userfs vfat vs3fs vxfs wrapfs wvfs xfs zisofs -+syn keyword fsTypeKeyword contained adfs ados affs atfs audiofs auto autofs befs bfs binfmt_misc cd9660 cfs cifs coda cramfs devfs devpts e2compr efs ext2 ext2fs ext3 fdesc ffs filecore fuse hfs hpfs iso9660 jffs jffs2 jfs kernfs lfs linprocfs mfs minix msdos ncpfs nfs none ntfs null nwfs overlay ovlfs portal proc procfs ptyfs qnx4 reiserfs romfs rpc_pipefs shm smbfs sshfs std subfs swap sysfs sysv tcfs tmpfs udf ufs umap umsdos union usbfs userfs vfat vs3fs vxfs wrapfs wvfs xfs zisofs ++syn keyword fsTypeKeyword contained adfs ados affs atfs audiofs auto autofs befs bfs binfmt_misc cd9660 cfs cifs coda cramfs devfs devpts e2compr efs ext2 ext2fs ext3 ext4 fdesc ffs filecore fuse hfs hpfs iso9660 jffs jffs2 jfs kernfs lfs linprocfs mfs minix msdos ncpfs nfs none ntfs null nwfs overlay ovlfs portal proc procfs ptyfs qnx4 reiserfs romfs rpc_pipefs shm smbfs sshfs std subfs swap sysfs sysv tcfs tmpfs udf ufs umap umsdos union usbfs userfs vfat vs3fs vxfs wrapfs wvfs xfs zisofs " Options " ------- diff --git a/vim-7.2-httpfiletype-499123.patch b/vim-7.2-httpfiletype-499123.patch new file mode 100644 index 00000000..6fb27481 --- /dev/null +++ b/vim-7.2-httpfiletype-499123.patch @@ -0,0 +1,12 @@ +diff -up vim72/runtime/filetype.vim.499123 vim72/runtime/filetype.vim +--- vim72/runtime/filetype.vim.499123 2009-12-02 17:42:47.000000000 +0100 ++++ vim72/runtime/filetype.vim 2009-12-02 17:43:52.000000000 +0100 +@@ -111,7 +111,7 @@ au BufNewFile,BufRead proftpd.conf* cal + + " Apache config file + au BufNewFile,BufRead .htaccess setf apache +-au BufNewFile,BufRead httpd.conf*,srm.conf*,access.conf*,apache.conf*,apache2.conf*,/etc/apache2/*.conf*,auth_mysql.conf*,auth_pgsql.conf*,ssl.conf*,perl.conf*,php.conf*,python.conf*,squirrelmail.conf* call s:StarSetf('apache') ++au BufNewFile,BufRead httpd.conf*,srm.conf*,access.conf*,apache.conf*,apache2.conf*,/etc/httpd/*.conf*,auth_mysql.conf*,auth_pgsql.conf*,ssl.conf*,perl.conf*,php.conf*,python.conf*,squirrelmail.conf* call s:StarSetf('apache') + + " XA65 MOS6510 cross assembler + au BufNewFile,BufRead *.a65 setf a65 diff --git a/vim.spec b/vim.spec index 86efc10b..a5363bdc 100644 --- a/vim.spec +++ b/vim.spec @@ -18,13 +18,13 @@ #used for pre-releases: %define beta %{nil} %define vimdir vim72%{?beta} -%define patchlevel 245 +%define patchlevel 315 Summary: The VIM editor URL: http://www.vim.org/ Name: vim Version: %{baseversion}.%{beta}%{patchlevel} -Release: 3%{?dist} +Release: 1%{?dist} License: Vim Group: Applications/Editors Source0: ftp://ftp.vim.org/pub/vim/unix/vim-%{baseversion}%{?beta}%{?CVSDATE}.tar.bz2 @@ -311,6 +311,76 @@ Patch242: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.242 Patch243: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.243 Patch244: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.244 Patch245: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.245 +Patch246: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.246 +Patch247: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.247 +Patch248: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.248 +Patch249: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.249 +Patch250: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.250 +Patch251: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.251 +Patch252: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.252 +Patch253: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.253 +Patch254: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.254 +Patch255: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.255 +Patch256: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.256 +Patch257: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.257 +Patch258: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.258 +Patch259: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.259 +Patch260: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.260 +Patch261: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.261 +Patch262: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.262 +Patch263: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.263 +Patch264: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.264 +Patch265: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.265 +Patch266: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.266 +Patch267: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.267 +Patch268: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.268 +Patch269: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.269 +Patch270: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.270 +Patch271: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.271 +Patch272: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.272 +Patch273: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.273 +Patch274: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.274 +Patch275: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.275 +Patch276: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.276 +Patch277: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.277 +Patch278: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.278 +Patch279: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.279 +Patch280: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.280 +Patch281: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.281 +Patch282: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.282 +Patch283: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.283 +Patch284: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.284 +Patch285: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.285 +Patch286: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.286 +Patch287: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.287 +Patch288: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.288 +Patch289: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.289 +Patch290: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.290 +Patch291: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.291 +Patch292: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.292 +Patch293: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.293 +Patch294: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.294 +Patch295: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.295 +Patch296: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.296 +Patch297: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.297 +Patch298: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.298 +Patch299: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.299 +Patch300: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.300 +Patch301: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.301 +Patch302: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.302 +Patch303: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.303 +Patch304: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.304 +Patch305: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.305 +Patch306: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.306 +Patch307: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.307 +Patch308: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.308 +Patch309: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.309 +Patch310: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.310 +Patch311: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.311 +Patch312: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.312 +Patch313: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.313 +Patch314: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.314 +Patch315: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.315 Patch3000: vim-7.0-syntax.patch Patch3002: vim-7.1-nowarnings.patch @@ -318,11 +388,12 @@ Patch3003: vim-6.1-rh3.patch Patch3004: vim-7.0-rclocation.patch Patch3006: vim-6.4-checkhl.patch Patch3007: vim-7.2-fstabsyntax.patch -Patch3008: vim-7.1-lib64.patch -Patch3009: vim-7.0-warning.patch -Patch3010: vim-7.0-syncolor.patch -Patch3011: vim-7.0-specedit.patch -Patch3012: vim72-rh514717.patch +Patch3008: vim-7.0-warning.patch +Patch3009: vim-7.0-syncolor.patch +Patch3010: vim-7.0-specedit.patch +Patch3011: vim72-rh514717.patch +Patch3012: vim-7.2-httpfiletype-499123.patch +Patch3013: vim-7.2-elinks-parameter-518791.patch Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python-devel ncurses-devel gettext perl-devel @@ -331,6 +402,9 @@ BuildRequires: libacl-devel gpm-devel autoconf %if %{WITH_SELINUX} BuildRequires: libselinux-devel %endif +%if "%{withruby}" == "1" +Buildrequires: ruby-devel ruby +%endif %if %{desktop_file} # for /usr/bin/desktop-file-install Requires: desktop-file-utils @@ -690,6 +764,76 @@ perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk %patch243 -p0 %patch244 -p0 %patch245 -p0 +%patch246 -p0 +%patch247 -p0 +%patch248 -p0 +%patch249 -p0 +%patch250 -p0 +%patch251 -p0 +%patch252 -p0 +%patch253 -p0 +%patch254 -p0 +%patch255 -p0 +%patch256 -p0 +%patch257 -p0 +%patch258 -p0 +%patch259 -p0 +%patch260 -p0 +%patch261 -p0 +%patch262 -p0 +%patch263 -p0 +%patch264 -p0 +%patch265 -p0 +%patch266 -p0 +%patch267 -p0 +%patch268 -p0 +%patch269 -p0 +%patch270 -p0 +%patch271 -p0 +%patch272 -p0 +%patch273 -p0 +%patch274 -p0 +%patch275 -p0 +%patch276 -p0 +%patch277 -p0 +%patch278 -p0 +%patch279 -p0 +%patch280 -p0 +%patch281 -p0 +%patch282 -p0 +%patch283 -p0 +%patch284 -p0 +%patch285 -p0 +%patch286 -p0 +%patch287 -p0 +%patch288 -p0 +%patch289 -p0 +%patch290 -p0 +%patch291 -p0 +%patch292 -p0 +%patch293 -p0 +%patch294 -p0 +%patch295 -p0 +%patch296 -p0 +%patch297 -p0 +%patch298 -p0 +%patch299 -p0 +%patch300 -p0 +%patch301 -p0 +%patch302 -p0 +%patch303 -p0 +%patch304 -p0 +%patch305 -p0 +%patch306 -p0 +%patch307 -p0 +%patch308 -p0 +%patch309 -p0 +%patch310 -p0 +%patch311 -p0 +%patch312 -p0 +%patch313 -p0 +%patch314 -p0 +%patch315 -p0 # install spell files @@ -719,12 +863,15 @@ cp -f %{SOURCE20} runtime/autoload/tar.vim cp -f %{SOURCE21} runtime/autoload/netrwFileHandlers.vim cp -f %{SOURCE22} runtime/autoload/netrw.vim cp -f %{SOURCE23} runtime/autoload/netrwSettings.vim - +%patch3013 -p1 %build cd src autoconf +sed -e "s+VIMRCLOC = \$(VIMLOC)+VIMRCLOC = /etc+" Makefile > Makefile.tmp +mv -f Makefile.tmp Makefile + export CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2" export CXXFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2" @@ -751,7 +898,7 @@ export CXXFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_ --disable-rubyinterp \ %endif -make %{?_smp_mflags} +make VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir} %{?_smp_mflags} cp vim gvim make clean @@ -777,7 +924,7 @@ make clean --disable-rubyinterp \ %endif -make %{?_smp_mflags} +make VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir} %{?_smp_mflags} cp vim enhanced-vim make clean @@ -796,7 +943,7 @@ perl -pi -e "s/\/etc\/vimrc/\/etc\/virc/" os_unix.h --with-compiledby="" \ --with-modified-by="" -make %{?_smp_mflags} +make VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir} %{?_smp_mflags} %install rm -rf $RPM_BUILD_ROOT @@ -812,8 +959,8 @@ rm -f README*.info cd src -make install DESTDIR=$RPM_BUILD_ROOT BINDIR=/bin -make installgtutorbin DESTDIR=$RPM_BUILD_ROOT BINDIR=/bin +make install DESTDIR=$RPM_BUILD_ROOT BINDIR=/bin VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir} +make installgtutorbin DESTDIR=$RPM_BUILD_ROOT BINDIR=/bin VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir} mv $RPM_BUILD_ROOT/bin/xxd $RPM_BUILD_ROOT/%{_bindir}/xxd mv $RPM_BUILD_ROOT/bin/gvimtutor $RPM_BUILD_ROOT/%{_bindir}/gvimtutor mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/{16x16,32x32,48x48,64x64}/apps @@ -853,8 +1000,8 @@ install -m755 enhanced-vim $RPM_BUILD_ROOT/%{_bindir}/vim mkdir -p $RPM_BUILD_ROOT/%{_datadir}/applications desktop-file-install --vendor fedora \ --dir $RPM_BUILD_ROOT/%{_datadir}/applications \ - --add-category "Development;TextEditor;X-Red-Hat-Base" \ %{SOURCE3} + # --add-category "Development;TextEditor;X-Red-Hat-Base" D\ %else mkdir -p ./%{_sysconfdir}/X11/applnk/Applications cp %{SOURCE3} ./%{_sysconfdir}/X11/applnk/Applications/gvim.desktop @@ -922,6 +1069,7 @@ vi-Bram.txt vi_help.txt /*vi-Bram* vi-Moolenaar.txt vi_help.txt /*vi-Moolenaar* vi-credits.txt vi_help.txt /*vi-credits* EOF +LANG=C sort tags > tags.tmp; mv tags.tmp tags ) (cd ../runtime; rm -rf doc; ln -svf ../../vim/%{vimdir}/doc docs;) rm -f $RPM_BUILD_ROOT/%{_datadir}/vim/%{vimdir}/macros/maze/maze*.c @@ -1150,6 +1298,20 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/icons/hicolor/*/apps/* %changelog +* Wed Dec 03 2009 Karsten Hopp 7.2.315-1 +- patchlevel 315 +- fix vimrc location in man page (#456992) +- correct syntax highlighting of httpd config files in /etc/httpd (#499123) +- Buildrequire ruby, ruby-devel (#503872) +- Remove check for static gravity (#510307) +- sort tags file (#517725) +- use one gvim to open multiple file selections from nautilus (#519265) +- use elinks -source instead of elinks -dump (#518791) +- add ext4 keyword to /etc/fstab syntax highlighting (#498290) + +* Mon Nov 09 2009 Karsten Hopp 7.2.284-1 +- patchlevel 284 + * Thu Aug 20 2009 Karsten Hopp 7.2.245-3 - change range of system ids in /etc/profile.d/vim/* (#518555) diff --git a/vimrc b/vimrc index ddb34839..b02134df 100644 --- a/vimrc +++ b/vimrc @@ -16,7 +16,7 @@ if has("autocmd") augroup fedora autocmd! " In text files, always limit the width of text to 78 characters - autocmd BufRead *.txt set tw=78 + " autocmd BufRead *.txt set tw=78 " When editing a file, always jump to the last cursor position autocmd BufReadPost * \ if line("'\"") > 0 && line ("'\"") <= line("$") | From 2077ab5484802c10a5a31c68acd8ef00659fe930 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:44:45 +0000 Subject: [PATCH 004/103] - patchlevel 316 --- 7.2.316 | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 7.2.316 diff --git a/7.2.316 b/7.2.316 new file mode 100644 index 00000000..34e629fe --- /dev/null +++ b/7.2.316 @@ -0,0 +1,83 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.316 +Fcc: outbox +From: Bram Moolenaar +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 /// From d6eae6e533d07c2b4a194e85d57cec070f5e463b Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:44:59 +0000 Subject: [PATCH 005/103] - patchlevel 317 --- 7.2.317 | 148 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 7.2.317 diff --git a/7.2.317 b/7.2.317 new file mode 100644 index 00000000..bc0ceeea --- /dev/null +++ b/7.2.317 @@ -0,0 +1,148 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.317 +Fcc: outbox +From: Bram Moolenaar +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 /// From 8666a102f5f7c6e4d8db5635fc27d95c0e1ba150 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:45:12 +0000 Subject: [PATCH 006/103] - patchlevel 318 --- 7.2.318 | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 7.2.318 diff --git a/7.2.318 b/7.2.318 new file mode 100644 index 00000000..43018360 --- /dev/null +++ b/7.2.318 @@ -0,0 +1,91 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.318 +Fcc: outbox +From: Bram Moolenaar +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 /// From 7655359065146d52b4c6bbeb9df9b0ae1fa30ca0 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:45:25 +0000 Subject: [PATCH 007/103] - patchlevel 319 --- 7.2.319 | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 7.2.319 diff --git a/7.2.319 b/7.2.319 new file mode 100644 index 00000000..3cbfd42e --- /dev/null +++ b/7.2.319 @@ -0,0 +1,63 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.319 +Fcc: outbox +From: Bram Moolenaar +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 /// From 67c1a66a9e5c2aed1fc5e317f291f92bf59bd3c9 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:45:38 +0000 Subject: [PATCH 008/103] - patchlevel 320 --- 7.2.320 | 199 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 199 insertions(+) create mode 100644 7.2.320 diff --git a/7.2.320 b/7.2.320 new file mode 100644 index 00000000..73f62247 --- /dev/null +++ b/7.2.320 @@ -0,0 +1,199 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.320 +Fcc: outbox +From: Bram Moolenaar +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 /// From 0cfe74a00d1baad1f675ec0ac6b538a653926a40 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:45:50 +0000 Subject: [PATCH 009/103] - patchlevel 321 --- 7.2.321 | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 7.2.321 diff --git a/7.2.321 b/7.2.321 new file mode 100644 index 00000000..69c08f48 --- /dev/null +++ b/7.2.321 @@ -0,0 +1,59 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.321 +Fcc: outbox +From: Bram Moolenaar +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 /// From 272ddd8974055deec56c0324ea90c4a2677ab732 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:46:03 +0000 Subject: [PATCH 010/103] - patchlevel 322 --- 7.2.322 | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 7.2.322 diff --git a/7.2.322 b/7.2.322 new file mode 100644 index 00000000..57f27fcd --- /dev/null +++ b/7.2.322 @@ -0,0 +1,49 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.322 +Fcc: outbox +From: Bram Moolenaar +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 /// From 852dbff2c9779cc6187047ff2a72d4097f89ff19 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:46:15 +0000 Subject: [PATCH 011/103] - patchlevel 323 --- 7.2.323 | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 7.2.323 diff --git a/7.2.323 b/7.2.323 new file mode 100644 index 00000000..fc432461 --- /dev/null +++ b/7.2.323 @@ -0,0 +1,95 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.323 (extra) +Fcc: outbox +From: Bram Moolenaar +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 ++ + 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 +- + 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 /// From 87964d7b30de31ea229066831eaaa8793aa00e8b Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:46:28 +0000 Subject: [PATCH 012/103] - patchlevel 324 --- 7.2.324 | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 7.2.324 diff --git a/7.2.324 b/7.2.324 new file mode 100644 index 00000000..8f61b8ac --- /dev/null +++ b/7.2.324 @@ -0,0 +1,66 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.324 +Fcc: outbox +From: Bram Moolenaar +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 /// From 33ffe73d667c23208aa08d289cd40fdc79f91472 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:46:41 +0000 Subject: [PATCH 013/103] - patchlevel 325 --- 7.2.325 | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 7.2.325 diff --git a/7.2.325 b/7.2.325 new file mode 100644 index 00000000..77a6e089 --- /dev/null +++ b/7.2.325 @@ -0,0 +1,52 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.325 +Fcc: outbox +From: Bram Moolenaar +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 /// From 6f988a890d540d5ccd1f91959ec44704288f18b2 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:46:54 +0000 Subject: [PATCH 014/103] - patchlevel 326 --- 7.2.326 | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 7.2.326 diff --git a/7.2.326 b/7.2.326 new file mode 100644 index 00000000..8e988a8d --- /dev/null +++ b/7.2.326 @@ -0,0 +1,54 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.326 +Fcc: outbox +From: Bram Moolenaar +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 /// From 578a5e39d26ba272d025d9cc3c50a5421de36417 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:47:07 +0000 Subject: [PATCH 015/103] - patchlevel 327 --- 7.2.327 | 323 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 323 insertions(+) create mode 100644 7.2.327 diff --git a/7.2.327 b/7.2.327 new file mode 100644 index 00000000..4bfb077c --- /dev/null +++ b/7.2.327 @@ -0,0 +1,323 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.327 +Fcc: outbox +From: Bram Moolenaar +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 /// From ac2a6fddbcf4d6308a55d6de2efc2d10a9069110 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:47:20 +0000 Subject: [PATCH 016/103] - patchlevel 328 --- 7.2.328 | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 7.2.328 diff --git a/7.2.328 b/7.2.328 new file mode 100644 index 00000000..f547fb94 --- /dev/null +++ b/7.2.328 @@ -0,0 +1,52 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.328 +Fcc: outbox +From: Bram Moolenaar +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 /// From c00f5b9b6ff4c59e6030297f02b4f370739358b5 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:47:33 +0000 Subject: [PATCH 017/103] - patchlevel 329 --- 7.2.329 | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 7.2.329 diff --git a/7.2.329 b/7.2.329 new file mode 100644 index 00000000..f92bc655 --- /dev/null +++ b/7.2.329 @@ -0,0 +1,48 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.329 +Fcc: outbox +From: Bram Moolenaar +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 /// From 7573242303dd491718f6253626062b8dc5f0b93d Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:47:46 +0000 Subject: [PATCH 018/103] - patchlevel 330 --- 7.2.330 | 1531 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1531 insertions(+) create mode 100644 7.2.330 diff --git a/7.2.330 b/7.2.330 new file mode 100644 index 00000000..0d9c3f1e --- /dev/null +++ b/7.2.330 @@ -0,0 +1,1531 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.330 +Fcc: outbox +From: Bram Moolenaar +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 ++ " ++ " 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 /// From fbf2fa4ff2028e2ae260de076592a53b35d6068d Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:47:59 +0000 Subject: [PATCH 019/103] - patchlevel 331 --- 7.2.331 | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 7.2.331 diff --git a/7.2.331 b/7.2.331 new file mode 100644 index 00000000..82f40a26 --- /dev/null +++ b/7.2.331 @@ -0,0 +1,47 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.331 +Fcc: outbox +From: Bram Moolenaar +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 /// From cd9377b70ac311b82d04326c8fb8a1718c56b9f9 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:48:12 +0000 Subject: [PATCH 020/103] - patchlevel 332 --- 7.2.332 | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 7.2.332 diff --git a/7.2.332 b/7.2.332 new file mode 100644 index 00000000..7956d1ed --- /dev/null +++ b/7.2.332 @@ -0,0 +1,101 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.332 +Fcc: outbox +From: Bram Moolenaar +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 /// From caeead3459e07488a802c8ff04745fe295739c4f Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:48:25 +0000 Subject: [PATCH 021/103] - patchlevel 333 --- 7.2.333 | 371 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 371 insertions(+) create mode 100644 7.2.333 diff --git a/7.2.333 b/7.2.333 new file mode 100644 index 00000000..02273b64 --- /dev/null +++ b/7.2.333 @@ -0,0 +1,371 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.333 +Fcc: outbox +From: Bram Moolenaar +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 /// From 153eb6c2d8511ed152321d4a5742fdb95a30daa0 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:48:38 +0000 Subject: [PATCH 022/103] - patchlevel 334 --- 7.2.334 | 347 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 347 insertions(+) create mode 100644 7.2.334 diff --git a/7.2.334 b/7.2.334 new file mode 100644 index 00000000..1b88bbd6 --- /dev/null +++ b/7.2.334 @@ -0,0 +1,347 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.334 +Fcc: outbox +From: Bram Moolenaar +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 /// From 05b1a25411a96811a587845de96c09bf33d2afe5 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:48:50 +0000 Subject: [PATCH 023/103] - patchlevel 335 --- 7.2.335 | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 7.2.335 diff --git a/7.2.335 b/7.2.335 new file mode 100644 index 00000000..df7f641c --- /dev/null +++ b/7.2.335 @@ -0,0 +1,103 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.335 +Fcc: outbox +From: Bram Moolenaar +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 /// From 08d32362d083b8677ac6c79054fcb5ffac9dc1b6 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:49:03 +0000 Subject: [PATCH 024/103] - patchlevel 336 --- 7.2.336 | 841 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 841 insertions(+) create mode 100644 7.2.336 diff --git a/7.2.336 b/7.2.336 new file mode 100644 index 00000000..a6765922 --- /dev/null +++ b/7.2.336 @@ -0,0 +1,841 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.336 +Fcc: outbox +From: Bram Moolenaar +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 /// From 92b7a06c779172e57ca68107ca087cb422c648a1 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:49:16 +0000 Subject: [PATCH 025/103] - patchlevel 337 --- 7.2.337 | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 7.2.337 diff --git a/7.2.337 b/7.2.337 new file mode 100644 index 00000000..e7452854 --- /dev/null +++ b/7.2.337 @@ -0,0 +1,112 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.337 +Fcc: outbox +From: Bram Moolenaar +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 "); + } +! 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 "); + } +! 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 /// From 52f978837b297e41d38e2d78516407cbc4278d03 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:49:29 +0000 Subject: [PATCH 026/103] - patchlevel 338 --- 7.2.338 | 129 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 7.2.338 diff --git a/7.2.338 b/7.2.338 new file mode 100644 index 00000000..ac0223f2 --- /dev/null +++ b/7.2.338 @@ -0,0 +1,129 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.338 +Fcc: outbox +From: Bram Moolenaar +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 /// From f1188b705ced0492498661de7bad5f0175e0d120 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:49:42 +0000 Subject: [PATCH 027/103] - patchlevel 339 --- 7.2.339 | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 7.2.339 diff --git a/7.2.339 b/7.2.339 new file mode 100644 index 00000000..77aa94db --- /dev/null +++ b/7.2.339 @@ -0,0 +1,78 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.339 +Fcc: outbox +From: Bram Moolenaar +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 /// From 0e3f8cb4d6566bde1dbd04d7d958079402765206 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:49:54 +0000 Subject: [PATCH 028/103] - patchlevel 340 --- 7.2.340 | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 7.2.340 diff --git a/7.2.340 b/7.2.340 new file mode 100644 index 00000000..b0f4babb --- /dev/null +++ b/7.2.340 @@ -0,0 +1,54 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.340 +Fcc: outbox +From: Bram Moolenaar +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 /// From ab4870a56227a531eadf443f421c494ce0acaf29 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:50:07 +0000 Subject: [PATCH 029/103] - patchlevel 341 --- 7.2.341 | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 7.2.341 diff --git a/7.2.341 b/7.2.341 new file mode 100644 index 00000000..67d5e81d --- /dev/null +++ b/7.2.341 @@ -0,0 +1,69 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.341 +Fcc: outbox +From: Bram Moolenaar +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 /// From 9e2a427ea6a1451cd45b797e9e751558f7a86bb1 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:50:19 +0000 Subject: [PATCH 030/103] - patchlevel 342 --- 7.2.342 | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 7.2.342 diff --git a/7.2.342 b/7.2.342 new file mode 100644 index 00000000..72bf253e --- /dev/null +++ b/7.2.342 @@ -0,0 +1,95 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.342 +Fcc: outbox +From: Bram Moolenaar +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 /// From c5a350850c873a1cdc167407210093315fd7deab Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:50:32 +0000 Subject: [PATCH 031/103] - patchlevel 343 --- 7.2.343 | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 7.2.343 diff --git a/7.2.343 b/7.2.343 new file mode 100644 index 00000000..22031519 --- /dev/null +++ b/7.2.343 @@ -0,0 +1,51 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.343 +Fcc: outbox +From: Bram Moolenaar +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 /// From a60b2322236603434c00898ef27da7dfaf069906 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:50:45 +0000 Subject: [PATCH 032/103] - patchlevel 344 --- 7.2.344 | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 7.2.344 diff --git a/7.2.344 b/7.2.344 new file mode 100644 index 00000000..788bbc41 --- /dev/null +++ b/7.2.344 @@ -0,0 +1,60 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.344 +Fcc: outbox +From: Bram Moolenaar +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 /// From 8e2222b51d6f3e1f6d52b266752b4da089476776 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:50:58 +0000 Subject: [PATCH 033/103] - patchlevel 345 --- 7.2.345 | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 7.2.345 diff --git a/7.2.345 b/7.2.345 new file mode 100644 index 00000000..a3b7acf7 --- /dev/null +++ b/7.2.345 @@ -0,0 +1,47 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.345 +Fcc: outbox +From: Bram Moolenaar +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 /// From a1c0bccf1618fc93ab0062ac602259588262618e Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:51:11 +0000 Subject: [PATCH 034/103] - patchlevel 346 --- 7.2.346 | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 7.2.346 diff --git a/7.2.346 b/7.2.346 new file mode 100644 index 00000000..479aac63 --- /dev/null +++ b/7.2.346 @@ -0,0 +1,110 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.346 +Fcc: outbox +From: Bram Moolenaar +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 /// From f9196de243a702eda37fa6ce3889e03de226e147 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:51:24 +0000 Subject: [PATCH 035/103] - patchlevel 347 --- 7.2.347 | 138 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 7.2.347 diff --git a/7.2.347 b/7.2.347 new file mode 100644 index 00000000..e5fa17d4 --- /dev/null +++ b/7.2.347 @@ -0,0 +1,138 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.347 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.347 +Problem: Crash when executing 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 ": 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 /// From 019f9e26aa0b5bb7169d6dd2d36db95a328db3a5 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:51:37 +0000 Subject: [PATCH 036/103] - patchlevel 348 --- 7.2.348 | 254 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 254 insertions(+) create mode 100644 7.2.348 diff --git a/7.2.348 b/7.2.348 new file mode 100644 index 00000000..5f4ffbd0 --- /dev/null +++ b/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 +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 */ +! 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 */ +! 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 /// From 024faf8e1af467a3394a7190d17e51258f52eb5c Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:51:50 +0000 Subject: [PATCH 037/103] - patchlevel 349 --- 7.2.349 | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 7.2.349 diff --git a/7.2.349 b/7.2.349 new file mode 100644 index 00000000..7d0be020 --- /dev/null +++ b/7.2.349 @@ -0,0 +1,53 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.349 +Fcc: outbox +From: Bram Moolenaar +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 /// From 76f3bec15981e30bf89ddb9729336df0f89abe1f Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:52:05 +0000 Subject: [PATCH 038/103] - patchlevel 350 --- 7.2.350 | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 7.2.350 diff --git a/7.2.350 b/7.2.350 new file mode 100644 index 00000000..7715eb30 --- /dev/null +++ b/7.2.350 @@ -0,0 +1,86 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.350 +Fcc: outbox +From: Bram Moolenaar +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 /// From cb3bd99cbd6e7363f3c236c6438497d74f514b2a Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:52:17 +0000 Subject: [PATCH 039/103] - patchlevel 351 --- 7.2.351 | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 7.2.351 diff --git a/7.2.351 b/7.2.351 new file mode 100644 index 00000000..55b28f6a --- /dev/null +++ b/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 +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 /// From 8b9e97a1334c5df081f71bb57f8420562afab959 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:52:30 +0000 Subject: [PATCH 040/103] - patchlevel 352 --- 7.2.352 | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 7.2.352 diff --git a/7.2.352 b/7.2.352 new file mode 100644 index 00000000..d2e22f2d --- /dev/null +++ b/7.2.352 @@ -0,0 +1,62 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.352 +Fcc: outbox +From: Bram Moolenaar +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 /// From b8eddd9781b90f776f7a29f5fc262669dbbd6f95 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:52:43 +0000 Subject: [PATCH 041/103] - patchlevel 353 --- 7.2.353 | 173 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 7.2.353 diff --git a/7.2.353 b/7.2.353 new file mode 100644 index 00000000..06f9f171 --- /dev/null +++ b/7.2.353 @@ -0,0 +1,173 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.353 +Fcc: outbox +From: Bram Moolenaar +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 /// From fac22a5449927f75815579078743e3917777cc28 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:52:56 +0000 Subject: [PATCH 042/103] - patchlevel 354 --- 7.2.354 | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 7.2.354 diff --git a/7.2.354 b/7.2.354 new file mode 100644 index 00000000..b4f50664 --- /dev/null +++ b/7.2.354 @@ -0,0 +1,78 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.354 +Fcc: outbox +From: Bram Moolenaar +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 /// From 5605b8a398b78c81e2b1657b076d743f4df3f3aa Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:53:09 +0000 Subject: [PATCH 043/103] - patchlevel 355 --- 7.2.355 | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 7.2.355 diff --git a/7.2.355 b/7.2.355 new file mode 100644 index 00000000..b23d44ae --- /dev/null +++ b/7.2.355 @@ -0,0 +1,88 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.355 +Fcc: outbox +From: Bram Moolenaar +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 /// From 009c326fc171025e4103a3be636c1b08f71d1c23 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:53:22 +0000 Subject: [PATCH 044/103] - patchlevel 356 --- 7.2.356 | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 7.2.356 diff --git a/7.2.356 b/7.2.356 new file mode 100644 index 00000000..51b646cd --- /dev/null +++ b/7.2.356 @@ -0,0 +1,69 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.356 +Fcc: outbox +From: Bram Moolenaar +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 /// From ce54ccd1e9af2e62afda1a973ee7a974d0f2118d Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:53:35 +0000 Subject: [PATCH 045/103] - patchlevel 357 --- 7.2.357 | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 7.2.357 diff --git a/7.2.357 b/7.2.357 new file mode 100644 index 00000000..e1998a8f --- /dev/null +++ b/7.2.357 @@ -0,0 +1,49 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.357 +Fcc: outbox +From: Bram Moolenaar +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 /// From 496efe133d6eea804a2e7ee00b114a2a680dc23a Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:53:48 +0000 Subject: [PATCH 046/103] - patchlevel 358 --- 7.2.358 | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 7.2.358 diff --git a/7.2.358 b/7.2.358 new file mode 100644 index 00000000..524049d6 --- /dev/null +++ b/7.2.358 @@ -0,0 +1,78 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.358 +Fcc: outbox +From: Bram Moolenaar +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 /// From 1d30b7bd2f13ab4d2b02518e3a9dba12461af76e Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:54:01 +0000 Subject: [PATCH 047/103] - patchlevel 359 --- 7.2.359 | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 7.2.359 diff --git a/7.2.359 b/7.2.359 new file mode 100644 index 00000000..eb7ade2a --- /dev/null +++ b/7.2.359 @@ -0,0 +1,68 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.359 +Fcc: outbox +From: Bram Moolenaar +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 /// From 0d8e2ade72c3097e0ad74e49afdfb7fbbff0206b Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:54:14 +0000 Subject: [PATCH 048/103] - patchlevel 360 --- 7.2.360 | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 7.2.360 diff --git a/7.2.360 b/7.2.360 new file mode 100644 index 00000000..7cf46205 --- /dev/null +++ b/7.2.360 @@ -0,0 +1,96 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.360 +Fcc: outbox +From: Bram Moolenaar +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 + + #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 /// From b124e9d76be126ad43bfc5ca8d2935cf254c12f2 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:54:28 +0000 Subject: [PATCH 049/103] - patchlevel 361 --- 7.2.361 | 763 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 763 insertions(+) create mode 100644 7.2.361 diff --git a/7.2.361 b/7.2.361 new file mode 100644 index 00000000..ddc58579 --- /dev/null +++ b/7.2.361 @@ -0,0 +1,763 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.361 +Fcc: outbox +From: Bram Moolenaar +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 ++ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 ++ # include ++ #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 /// From e061efe0a1c34404e9a7fcbecbf0fb4b7cc9b374 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:54:41 +0000 Subject: [PATCH 050/103] - patchlevel 362 --- 7.2.362 | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 7.2.362 diff --git a/7.2.362 b/7.2.362 new file mode 100644 index 00000000..2f62cf62 --- /dev/null +++ b/7.2.362 @@ -0,0 +1,95 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.362 (extra) +Fcc: outbox +From: Bram Moolenaar +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 /// From 940c9f0e144e4749bdd18115354c1dd7c6c5fd40 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:54:54 +0000 Subject: [PATCH 051/103] - patchlevel 363 --- 7.2.363 | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 7.2.363 diff --git a/7.2.363 b/7.2.363 new file mode 100644 index 00000000..2447103b --- /dev/null +++ b/7.2.363 @@ -0,0 +1,70 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.363 +Fcc: outbox +From: Bram Moolenaar +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 /// From 704925b6dd0a72fbabe7b68303c48e7328f7c0a5 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:55:06 +0000 Subject: [PATCH 052/103] - patchlevel 364 --- 7.2.364 | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 7.2.364 diff --git a/7.2.364 b/7.2.364 new file mode 100644 index 00000000..c3c6e8b6 --- /dev/null +++ b/7.2.364 @@ -0,0 +1,91 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.364 (extra) +Fcc: outbox +From: Bram Moolenaar +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 + + /* 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 + + /* 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 /// From f6c277dc9dfcdf037c94674fdb873acfaadc57f8 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:55:19 +0000 Subject: [PATCH 053/103] - patchlevel 365 --- 7.2.365 | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 7.2.365 diff --git a/7.2.365 b/7.2.365 new file mode 100644 index 00000000..e48990b9 --- /dev/null +++ b/7.2.365 @@ -0,0 +1,71 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.365 (extra) +Fcc: outbox +From: Bram Moolenaar +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 /// From a478a319b41594d66eacaa4ecb2b564086d46d9d Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:55:32 +0000 Subject: [PATCH 054/103] - patchlevel 366 --- 7.2.366 | 134 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 7.2.366 diff --git a/7.2.366 b/7.2.366 new file mode 100644 index 00000000..952a0f2f --- /dev/null +++ b/7.2.366 @@ -0,0 +1,134 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.366 +Fcc: outbox +From: Bram Moolenaar +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 /// From 6a7d0722c883513eadf885aac9a40a390b48b73b Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:55:45 +0000 Subject: [PATCH 055/103] - patchlevel 367 --- 7.2.367 | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 7.2.367 diff --git a/7.2.367 b/7.2.367 new file mode 100644 index 00000000..6d461c98 --- /dev/null +++ b/7.2.367 @@ -0,0 +1,77 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.367 +Fcc: outbox +From: Bram Moolenaar +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 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 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 /// From 5e5dae5b0ac5ffabdbf69e1edf466bf7cb6b488c Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:55:58 +0000 Subject: [PATCH 056/103] - patchlevel 368 --- 7.2.368 | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 7.2.368 diff --git a/7.2.368 b/7.2.368 new file mode 100644 index 00000000..43107699 --- /dev/null +++ b/7.2.368 @@ -0,0 +1,52 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.368 +Fcc: outbox +From: Bram Moolenaar +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 /// From f0b8bf96c6d214ebb840c168e68c2296dbff7198 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:56:11 +0000 Subject: [PATCH 057/103] - patchlevel 369 --- 7.2.369 | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 7.2.369 diff --git a/7.2.369 b/7.2.369 new file mode 100644 index 00000000..adcab24e --- /dev/null +++ b/7.2.369 @@ -0,0 +1,55 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.369 +Fcc: outbox +From: Bram Moolenaar +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 ")); + 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 /// From 0a191ecccc9a38c2f736b2babe53a612861dc3f1 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:56:24 +0000 Subject: [PATCH 058/103] - patchlevel 370 --- 7.2.370 | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 7.2.370 diff --git a/7.2.370 b/7.2.370 new file mode 100644 index 00000000..3e8457e0 --- /dev/null +++ b/7.2.370 @@ -0,0 +1,156 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.370 +Fcc: outbox +From: Bram Moolenaar +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 ++ zO j: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 /// From f4a31efb581341fafa6ab6b921b3cbd713ddc6d8 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:56:38 +0000 Subject: [PATCH 059/103] - patchlevel 371 --- 7.2.371 | 322 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 322 insertions(+) create mode 100644 7.2.371 diff --git a/7.2.371 b/7.2.371 new file mode 100644 index 00000000..db875b62 --- /dev/null +++ b/7.2.371 @@ -0,0 +1,322 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.371 +Fcc: outbox +From: Bram Moolenaar +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 /* for off_t */ ++ #include ++ 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 /* for off_t */ ++ #include ++ 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 + # 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 + # 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 /// From 1e305379ee3d83ff869e0242e7c280990bea27fe Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:56:52 +0000 Subject: [PATCH 060/103] - patchlevel 372 --- 7.2.372 | 303 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 303 insertions(+) create mode 100644 7.2.372 diff --git a/7.2.372 b/7.2.372 new file mode 100644 index 00000000..064893c8 --- /dev/null +++ b/7.2.372 @@ -0,0 +1,303 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.372 (extra) +Fcc: outbox +From: Bram Moolenaar +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 /// From 278e0392af2f036f0432679445fde828295aa321 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:57:04 +0000 Subject: [PATCH 061/103] - patchlevel 373 --- 7.2.373 | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 7.2.373 diff --git a/7.2.373 b/7.2.373 new file mode 100644 index 00000000..1bb4773d --- /dev/null +++ b/7.2.373 @@ -0,0 +1,54 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.373 +Fcc: outbox +From: Bram Moolenaar +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 /// From 3c71714f8ab304c5ea5e7c645f6306eb6e13e921 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:57:17 +0000 Subject: [PATCH 062/103] - patchlevel 374 --- 7.2.374 | 168 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 168 insertions(+) create mode 100644 7.2.374 diff --git a/7.2.374 b/7.2.374 new file mode 100644 index 00000000..50d3e74d --- /dev/null +++ b/7.2.374 @@ -0,0 +1,168 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.374 +Fcc: outbox +From: Bram Moolenaar +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 /// From 52b3380e22ca107d29ebad78cac69e56a179c5a9 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:57:31 +0000 Subject: [PATCH 063/103] - patchlevel 375 --- 7.2.375 | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 7.2.375 diff --git a/7.2.375 b/7.2.375 new file mode 100644 index 00000000..3374cd1b --- /dev/null +++ b/7.2.375 @@ -0,0 +1,64 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.375 +Fcc: outbox +From: Bram Moolenaar +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 /// From 5f53f17a860baf3e092386a7c4a36b99ad77241b Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:57:44 +0000 Subject: [PATCH 064/103] - patchlevel 376 --- 7.2.376 | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 7.2.376 diff --git a/7.2.376 b/7.2.376 new file mode 100644 index 00000000..718875b2 --- /dev/null +++ b/7.2.376 @@ -0,0 +1,50 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.376 +Fcc: outbox +From: Bram Moolenaar +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 /// From 354d6895cc9a600773523454fd80f4058f0b8ba1 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:57:58 +0000 Subject: [PATCH 065/103] - patchlevel 377 --- 7.2.377 | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 7.2.377 diff --git a/7.2.377 b/7.2.377 new file mode 100644 index 00000000..e854ce71 --- /dev/null +++ b/7.2.377 @@ -0,0 +1,66 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.377 (extra) +Fcc: outbox +From: Bram Moolenaar +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 /// From 29042bbfdac7a3110b1a038911e3fe8b10fe0380 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:58:12 +0000 Subject: [PATCH 066/103] - patchlevel 378 --- 7.2.378 | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 7.2.378 diff --git a/7.2.378 b/7.2.378 new file mode 100644 index 00000000..de2251f4 --- /dev/null +++ b/7.2.378 @@ -0,0 +1,69 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.378 +Fcc: outbox +From: Bram Moolenaar +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 /// From a29d7be6f8386970538e9820b2ab8074700a6ca1 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:58:25 +0000 Subject: [PATCH 067/103] - patchlevel 379 --- 7.2.379 | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 7.2.379 diff --git a/7.2.379 b/7.2.379 new file mode 100644 index 00000000..8a600e9e --- /dev/null +++ b/7.2.379 @@ -0,0 +1,55 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.379 +Fcc: outbox +From: Bram Moolenaar +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 /// From fa0a0122ad5cedf792ba1b1e23e37099f37cc71b Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:58:38 +0000 Subject: [PATCH 068/103] - patchlevel 380 --- 7.2.380 | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 7.2.380 diff --git a/7.2.380 b/7.2.380 new file mode 100644 index 00000000..2cdd8318 --- /dev/null +++ b/7.2.380 @@ -0,0 +1,104 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.380 +Fcc: outbox +From: Bram Moolenaar +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 /// From 161843475d29cf7c52878e58001ee210c1065416 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:58:51 +0000 Subject: [PATCH 069/103] - patchlevel 381 --- 7.2.381 | 218 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 218 insertions(+) create mode 100644 7.2.381 diff --git a/7.2.381 b/7.2.381 new file mode 100644 index 00000000..977a8ecd --- /dev/null +++ b/7.2.381 @@ -0,0 +1,218 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.381 +Fcc: outbox +From: Bram Moolenaar +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 /// From 1cd41881d9adb01c7c2038678931e95240999df3 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:59:04 +0000 Subject: [PATCH 070/103] - patchlevel 382 --- 7.2.382 | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 7.2.382 diff --git a/7.2.382 b/7.2.382 new file mode 100644 index 00000000..56fcfa44 --- /dev/null +++ b/7.2.382 @@ -0,0 +1,58 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.382 +Fcc: outbox +From: Bram Moolenaar +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 /// From 6f7c6753d8cccb4c2821f4bc7bc127d639f7e882 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:59:17 +0000 Subject: [PATCH 071/103] - patchlevel 383 --- 7.2.383 | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 7.2.383 diff --git a/7.2.383 b/7.2.383 new file mode 100644 index 00000000..25fa7142 --- /dev/null +++ b/7.2.383 @@ -0,0 +1,101 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.383 +Fcc: outbox +From: Bram Moolenaar +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 /// From 373f78a4c18059dec1becf07168d1f6c1cd1b66d Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:59:30 +0000 Subject: [PATCH 072/103] - patchlevel 384 --- 7.2.384 | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 7.2.384 diff --git a/7.2.384 b/7.2.384 new file mode 100644 index 00000000..24fc6807 --- /dev/null +++ b/7.2.384 @@ -0,0 +1,59 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.384 (extra) +Fcc: outbox +From: Bram Moolenaar +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 /// From 59ba3a16a4a02ec4604dbbd0c205302533a31143 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:59:43 +0000 Subject: [PATCH 073/103] - patchlevel 385 --- 7.2.385 | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 7.2.385 diff --git a/7.2.385 b/7.2.385 new file mode 100644 index 00000000..9f9a9178 --- /dev/null +++ b/7.2.385 @@ -0,0 +1,63 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.385 +Fcc: outbox +From: Bram Moolenaar +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 /// From f7238efc507cdb45abf4a300f4d6305f16043e21 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 17:59:57 +0000 Subject: [PATCH 074/103] - patchlevel 386 --- 7.2.386 | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 7.2.386 diff --git a/7.2.386 b/7.2.386 new file mode 100644 index 00000000..7212b27c --- /dev/null +++ b/7.2.386 @@ -0,0 +1,61 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.386 +Fcc: outbox +From: Bram Moolenaar +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 /// From f2af5ff1e48ddd2d63b8056370b24838e53eda32 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 18:00:11 +0000 Subject: [PATCH 075/103] - patchlevel 387 --- 7.2.387 | 238 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 238 insertions(+) create mode 100644 7.2.387 diff --git a/7.2.387 b/7.2.387 new file mode 100644 index 00000000..ccbd6e4c --- /dev/null +++ b/7.2.387 @@ -0,0 +1,238 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.387 +Fcc: outbox +From: Bram Moolenaar +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 + #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 + # include +*************** +*** 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 /// From 85e1b04e9e6a225a6b1fa75f613621102315d9a0 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 18:00:24 +0000 Subject: [PATCH 076/103] - patchlevel 388 --- 7.2.388 | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 7.2.388 diff --git a/7.2.388 b/7.2.388 new file mode 100644 index 00000000..1a8a7a88 --- /dev/null +++ b/7.2.388 @@ -0,0 +1,86 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.388 (extra) +Fcc: outbox +From: Bram Moolenaar +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 /// From e8c969aff0fae7a26f77a5d085dcc82e45300122 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 18:00:37 +0000 Subject: [PATCH 077/103] - patchlevel 389 --- 7.2.389 | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 161 insertions(+) create mode 100644 7.2.389 diff --git a/7.2.389 b/7.2.389 new file mode 100644 index 00000000..a4af355f --- /dev/null +++ b/7.2.389 @@ -0,0 +1,161 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.389 +Fcc: outbox +From: Bram Moolenaar +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 /// From d5107da85e51e36851d5aecb964eb7d5e7990867 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 18:00:50 +0000 Subject: [PATCH 078/103] - patchlevel 390 --- 7.2.390 | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 7.2.390 diff --git a/7.2.390 b/7.2.390 new file mode 100644 index 00000000..d10ed2a4 --- /dev/null +++ b/7.2.390 @@ -0,0 +1,72 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.390 +Fcc: outbox +From: Bram Moolenaar +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 /// From 2f823cc8409fc399e42a3af6c4de64e830d7b3f8 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 18:01:02 +0000 Subject: [PATCH 079/103] - patchlevel 391 --- 7.2.391 | 121 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 7.2.391 diff --git a/7.2.391 b/7.2.391 new file mode 100644 index 00000000..731408de --- /dev/null +++ b/7.2.391 @@ -0,0 +1,121 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.391 +Fcc: outbox +From: Bram Moolenaar +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 /// From 0c3c8dfba028502eb7a574b16838a20ecea75360 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 18:01:15 +0000 Subject: [PATCH 080/103] - patchlevel 392 --- 7.2.392 | 184 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 7.2.392 diff --git a/7.2.392 b/7.2.392 new file mode 100644 index 00000000..c253d91b --- /dev/null +++ b/7.2.392 @@ -0,0 +1,184 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.392 +Fcc: outbox +From: Bram Moolenaar +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 + #endif + ++ # if defined(HAVE_SYS_SELECT_H) && \ ++ (!defined(HAVE_SYS_TIME_H) || defined(SYS_SELECT_WITH_SYS_TIME)) ++ # include ++ # endif ++ ++ # ifndef HAVE_SELECT ++ # ifdef HAVE_SYS_POLL_H ++ # include ++ # define HAVE_POLL ++ # else ++ # ifdef HAVE_POLL_H ++ # include ++ # 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 + # endif + +- # if defined(HAVE_SYS_SELECT_H) && \ +- (!defined(HAVE_SYS_TIME_H) || defined(SYS_SELECT_WITH_SYS_TIME)) +- # include +- # endif +- + # ifndef WEXITSTATUS + # ifdef HAVE_UNION_WAIT + # define WEXITSTATUS(stat_val) ((stat_val).w_T.w_Retcode) +--- 28,33 ---- +*************** +*** 65,80 **** + # include + #endif + +- #ifndef HAVE_SELECT +- # ifdef HAVE_SYS_POLL_H +- # include +- # else +- # ifdef HAVE_POLL_H +- # include +- # endif +- # endif +- #endif +- + #ifdef HAVE_SYS_STREAM_H + # include + #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 + # endif + +- # if defined(HAVE_SYS_SELECT_H) && \ +- (!defined(HAVE_SYS_TIME_H) || defined(SYS_SELECT_WITH_SYS_TIME)) +- # include +- # endif +- +- # ifndef HAVE_SELECT +- # ifdef HAVE_SYS_POLL_H +- # include +- # else +- # ifdef HAVE_POLL_H +- # include +- # 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 /// From dcd884fe25d90514294009db138584a009c0fe47 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 18:01:28 +0000 Subject: [PATCH 081/103] - patchlevel 393 --- 7.2.393 | 281 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 281 insertions(+) create mode 100644 7.2.393 diff --git a/7.2.393 b/7.2.393 new file mode 100644 index 00000000..796f6548 --- /dev/null +++ b/7.2.393 @@ -0,0 +1,281 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.393 +Fcc: outbox +From: Bram Moolenaar +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 /// From 5587038bfba8ec9f20b2bdb92fcc686134bf2166 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 18:01:41 +0000 Subject: [PATCH 082/103] - patchlevel 394 --- 7.2.394 | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 7.2.394 diff --git a/7.2.394 b/7.2.394 new file mode 100644 index 00000000..50235e04 --- /dev/null +++ b/7.2.394 @@ -0,0 +1,99 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.394 +Fcc: outbox +From: Bram Moolenaar +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 +! " Last Change: 2005 Jul 26 + + " Exit quickly when: + " - this plugin was already loaded +--- 1,6 ---- + " Vim plugin for editing compressed files. + " Maintainer: Bram Moolenaar +! " 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 /// From 212e6b7f73b1e92525b15101db01bf3cce255e6e Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 18:01:54 +0000 Subject: [PATCH 083/103] - patchlevel 395 --- 7.2.395 | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 7.2.395 diff --git a/7.2.395 b/7.2.395 new file mode 100644 index 00000000..1b5b1bae --- /dev/null +++ b/7.2.395 @@ -0,0 +1,60 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.395 +Fcc: outbox +From: Bram Moolenaar +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 /// From f6a4ca8298ca50b246a70a1250615b8675c63855 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 18:02:08 +0000 Subject: [PATCH 084/103] - patchlevel 396 --- 7.2.396 | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 7.2.396 diff --git a/7.2.396 b/7.2.396 new file mode 100644 index 00000000..f1269231 --- /dev/null +++ b/7.2.396 @@ -0,0 +1,51 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.396 +Fcc: outbox +From: Bram Moolenaar +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 /// From 9cb7a2ee4d7e4801aaf468880fe52a7c4fbeb049 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 18:02:20 +0000 Subject: [PATCH 085/103] - patchlevel 397 --- 7.2.397 | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 7.2.397 diff --git a/7.2.397 b/7.2.397 new file mode 100644 index 00000000..218a069a --- /dev/null +++ b/7.2.397 @@ -0,0 +1,67 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.397 +Fcc: outbox +From: Bram Moolenaar +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 /// From 8d08d267b79b8d1d7c2b8734a8faa37b297a3e59 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 18:02:33 +0000 Subject: [PATCH 086/103] - patchlevel 398 --- 7.2.398 | 152 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 7.2.398 diff --git a/7.2.398 b/7.2.398 new file mode 100644 index 00000000..a0ccc96c --- /dev/null +++ b/7.2.398 @@ -0,0 +1,152 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.398 +Fcc: outbox +From: Bram Moolenaar +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 /// From 3dbb4ec3ce1cdd4727e2e4e764f0bc4e45dcfcd5 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 18:02:45 +0000 Subject: [PATCH 087/103] - patchlevel 399 --- 7.2.399 | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 7.2.399 diff --git a/7.2.399 b/7.2.399 new file mode 100644 index 00000000..16ffa0f4 --- /dev/null +++ b/7.2.399 @@ -0,0 +1,63 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.399 (extra) +Fcc: outbox +From: Bram Moolenaar +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 /// From 471762a348cb5738afcad8a1a418f8d507171a8c Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 18:02:59 +0000 Subject: [PATCH 088/103] - patchlevel 400 --- 7.2.400 | 454 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 454 insertions(+) create mode 100644 7.2.400 diff --git a/7.2.400 b/7.2.400 new file mode 100644 index 00000000..0c3c5487 --- /dev/null +++ b/7.2.400 @@ -0,0 +1,454 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.400 +Fcc: outbox +From: Bram Moolenaar +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 +! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 + # include + #endif + +--- 66,72 ---- + #endif + + #include +! #ifdef RUBY19_OR_LATER + # include + #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 /// From cd234d8cdac219e25dc60f7a561ce0b85c993027 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 18:03:13 +0000 Subject: [PATCH 089/103] - patchlevel 401 --- 7.2.401 | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 7.2.401 diff --git a/7.2.401 b/7.2.401 new file mode 100644 index 00000000..032076ab --- /dev/null +++ b/7.2.401 @@ -0,0 +1,61 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.401 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.401 +Problem: ":e dir" 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 /// From 3c08778571c32584612ba7babd33e9e6f6ba04df Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 18:03:26 +0000 Subject: [PATCH 090/103] - patchlevel 402 --- 7.2.402 | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 7.2.402 diff --git a/7.2.402 b/7.2.402 new file mode 100644 index 00000000..7c256bb1 --- /dev/null +++ b/7.2.402 @@ -0,0 +1,91 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.402 +Fcc: outbox +From: Bram Moolenaar +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 /// From e13bc63f701fb2b96cc1c2d7493f14dfcbf96a8b Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 18:03:38 +0000 Subject: [PATCH 091/103] - patchlevel 403 --- 7.2.403 | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 7.2.403 diff --git a/7.2.403 b/7.2.403 new file mode 100644 index 00000000..d2949dbc --- /dev/null +++ b/7.2.403 @@ -0,0 +1,53 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.403 +Fcc: outbox +From: Bram Moolenaar +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 /// From 6322f82f1b7b37e909d0f76627aedc4de48eb12e Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 18:03:51 +0000 Subject: [PATCH 092/103] - patchlevel 404 --- 7.2.404 | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 7.2.404 diff --git a/7.2.404 b/7.2.404 new file mode 100644 index 00000000..fa1a0b6b --- /dev/null +++ b/7.2.404 @@ -0,0 +1,54 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.404 +Fcc: outbox +From: Bram Moolenaar +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 /// From 6c57e9b1dc1f2dfbb1511170bc18a53400846cd6 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 18:04:05 +0000 Subject: [PATCH 093/103] - patchlevel 405 --- 7.2.405 | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 7.2.405 diff --git a/7.2.405 b/7.2.405 new file mode 100644 index 00000000..b79a19aa --- /dev/null +++ b/7.2.405 @@ -0,0 +1,48 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.405 +Fcc: outbox +From: Bram Moolenaar +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 /// From 2aa7086bb92a4d4e868d989735c4bbdb4317f31b Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 18:04:18 +0000 Subject: [PATCH 094/103] - patchlevel 406 --- 7.2.406 | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 7.2.406 diff --git a/7.2.406 b/7.2.406 new file mode 100644 index 00000000..cff265f5 --- /dev/null +++ b/7.2.406 @@ -0,0 +1,123 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.406 +Fcc: outbox +From: Bram Moolenaar +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 /// From 33a7c23f052cf805841ec8f27016427f3dc3b9a0 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 18:04:32 +0000 Subject: [PATCH 095/103] - patchlevel 407 --- 7.2.407 | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 7.2.407 diff --git a/7.2.407 b/7.2.407 new file mode 100644 index 00000000..0237a9d1 --- /dev/null +++ b/7.2.407 @@ -0,0 +1,69 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.407 +Fcc: outbox +From: Bram Moolenaar +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 /// From 9c34fb0fdf2d51334c4752b84da7baa0ed1ca908 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 18:04:44 +0000 Subject: [PATCH 096/103] - patchlevel 408 --- 7.2.408 | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 7.2.408 diff --git a/7.2.408 b/7.2.408 new file mode 100644 index 00000000..25ac3a9c --- /dev/null +++ b/7.2.408 @@ -0,0 +1,73 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.408 +Fcc: outbox +From: Bram Moolenaar +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 /// From 1b74a17b100f581be50a32fecde9a333a4a4c0ad Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 18:04:57 +0000 Subject: [PATCH 097/103] - patchlevel 409 --- 7.2.409 | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 7.2.409 diff --git a/7.2.409 b/7.2.409 new file mode 100644 index 00000000..fdda4a00 --- /dev/null +++ b/7.2.409 @@ -0,0 +1,60 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.409 +Fcc: outbox +From: Bram Moolenaar +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 /// From e00d9c41238d69e231b336b5b3ac16d21f8777f8 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 18:05:10 +0000 Subject: [PATCH 098/103] - patchlevel 410 --- 7.2.410 | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 7.2.410 diff --git a/7.2.410 b/7.2.410 new file mode 100644 index 00000000..660b0681 --- /dev/null +++ b/7.2.410 @@ -0,0 +1,78 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.410 +Fcc: outbox +From: Bram Moolenaar +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 /// From f317085d4e3e94681189a834d19f9fa68fae4c1c Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 25 Mar 2010 18:05:34 +0000 Subject: [PATCH 099/103] - patchlevel 411 --- 7.2.411 | 47 ++++++++++++ README.patches | 168 +++++++++++++++++++++++++++++++++++++++++ vim.spec | 197 ++++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 411 insertions(+), 1 deletion(-) create mode 100644 7.2.411 diff --git a/7.2.411 b/7.2.411 new file mode 100644 index 00000000..4a619ee7 --- /dev/null +++ b/7.2.411 @@ -0,0 +1,47 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.411 +Fcc: outbox +From: Bram Moolenaar +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/README.patches b/README.patches index 45a51010..b7fbf3ba 100644 --- a/README.patches +++ b/README.patches @@ -26,6 +26,8 @@ Collection of patches for Vim 7.2: SIZE NAME INCLUDES 108889 7.2.001-100.gz patches 7.2.001 to 7.2.100, gzip'ed 208102 7.2.101-200.gz patches 7.2.101 to 7.2.200, gzip'ed + 82163 7.2.201-300.gz patches 7.2.201 to 7.2.300, gzip'ed + 94475 7.2.301-400.gz patches 7.2.301 to 7.2.400, gzip'ed Individual patches for Vim 7.2: @@ -275,3 +277,169 @@ Individual patches for Vim 7.2: 1918 7.2.243 memory leak when using :vimgrep and resizing 4757 7.2.244 insufficient info for a conversion error from utf-8 to latin1 5093 7.2.245 wrong conversion when writing Unicode encoded files + 1848 7.2.246 Cscope home page link is wrong + 2561 7.2.247 Mzscheme interface minor problem + 4408 7.2.248 (extra) Win32: Mzscheme interface building minor problems + 1555 7.2.249 script that checks .po files can't handle '%' in plural forms + 1693 7.2.250 (extra) possible buffer overflow in GvimExt + 2802 7.2.251 compiler adds invalid memory bounds check + 1495 7.2.252 when 'enc' is multi-byte 'iskeyword' can't contain chars > 128 + 4223 7.2.253 netbeans interface: getLength always uses current buffer + 1654 7.2.254 compiler warning for assigning size_t to int + 1870 7.2.255 (after 7.2.242) cursor column may be wrong after :set + 1783 7.2.256 GTK font dialog doesn't have a default when 'guifont' not set + 2092 7.2.257 GTK 2.17: lots of assertion error messages + 1989 7.2.258 v:beval_col and b:beval_text are wrong in UTF-8 text + 5393 7.2.259 exists() doesn't work properly for an empty aucmd group + 5431 7.2.260 (extra part of 7.2.259) + 2515 7.2.261 E38 may appear when deleting folded lines + 5652 7.2.262 string passed to user cmd custom completion can be too long + 2634 7.2.263 GTK2: Vim window in wrong position using the -geom argument + 5161 7.2.264 GTK2: When Vim window maximized, set 'columns' doesn't work + 1892 7.2.265 with ":silent broken" inside try/catch silency may persist + 6560 7.2.266 in an expression abbreviation the typed character is unknown + 1461 7.2.267 crash for narrow window and double-width character + 2274 7.2.268 crash when using Python to set cursor beyond end of line + 7128 7.2.269 add --startuptime so that slow startup can be analysed + 2281 7.2.270 ":@c" does not execute everything if the c register has a CR + 2649 7.2.271 Motif GUI: Using freed memory when making a choice + 2582 7.2.272 "_.svz" is not recognized as a swap file + 3404 7.2.273 crash when redirirecting to unknown array + 3749 7.2.274 syntax folding doesn't work properly when adding a comment + 2717 7.2.275 warning for unused argument and comparing signed and unsigned + 1875 7.2.276 crash when setting 'isprint' to a small bullet + 1937 7.2.277 CTRL-Y in a diff'ed window may move cursor outside of window + 2312 7.2.278 using magic number in the folding code + 3413 7.2.279 invalid memory read with visual mode "r" + 6656 7.2.280 a redraw in a custom statusline with %! may cause a crash + 2241 7.2.281 'cursorcolumn' highlighting is wrong in diff mode + 1584 7.2.282 a fold can't be closed + 2030 7.2.283 GTK: changing font doesn't keep the window maximized + 1572 7.2.284 two windows on a buffer + folding: display error after change + 1931 7.2.285 (after 7.2.169) CTRL-U in Insert mode also deletes indent + 7058 7.2.286 (after 7.2.269) --startuptime argument is not consistent + 1733 7.2.287 warning from gcc 3.4 about uninitialized variable + 1680 7.2.288 Python 2.6 pyconfig.h redefines macros + 3979 7.2.289 checking wrong struct member + 5344 7.2.290 not freeing memory from ":lmap", ":xmap" and ":menutranslate" + 1498 7.2.291 reading uninitialised memory in arabic mode + 1518 7.2.292 block right-shift wrong with multibyte encoding and 'list' set + 1954 7.2.293 when setting 'comments' option it may be used in a wrong way + 8992 7.2.294 when using TEMPDIRS dir name could get too long + 4053 7.2.295 in map() on a List the index is not known, set v:key to index + 1809 7.2.296 (after 7.2.286) help message about startuptime is wrong + 1846 7.2.297 reading freed memory when writing ":reg" output to a register + 1608 7.2.298 ":vimgrep" crashes with an autocommand that sets w: variable + 1733 7.2.299 crash when comment middle is longer than start + 5886 7.2.300 file descriptors not closed when executing external command + 14601 7.2.301 formatting is wrong when 'tw' is set to a small value + 4941 7.2.302 (extra, after 7.2.301) extra part of the 7.2.301 tests + 2073 7.2.303 (after 7.2.294) can't build on MS-Windows + 1831 7.2.304 compiler warning for bad pointer cast + 2727 7.2.305 recursively redrawing causes a memory leak + 1541 7.2.306 shellescape("10%%", 1) only escapes first % + 4869 7.2.307 crash with a very long syntax match statement + 5504 7.2.308 submatch() in "\=" of ":s" command returns empty string + 1533 7.2.309 (after 7.2.308) warning for missing function prototype + 1874 7.2.310 ftdetect plugin using ":setf" doesn't work with # comment + 1408 7.2.311 can't compile with FreeMiNT + 9769 7.2.312 iconv() returns invalid char sequence when conversion fails + 3744 7.2.313 command line completion doesn't work after "%:h" and similar + 1620 7.2.314 small build broken after 7.2.313 + 4605 7.2.315 Python libs can't be found on 64 bit system + 3370 7.2.316 may get multiple _FORTIFY_SOURCE arguments + 5249 7.2.317 memory leak when adding a highlight group resulting in E669 + 2637 7.2.318 wrong locale value breaks floating point numbers for gvim + 1846 7.2.319 Motif: accessing freed memory when cancelling font dialog + 6269 7.2.320 unused function in Mzscheme interface + 1899 7.2.321 histadd() and "*" fail to add entry to empty history + 1517 7.2.322 wrong indenting in virtual replace for CTRL-Y and a short line + 2424 7.2.323 (extra) balloon evaluation crashes on Win64 + 1901 7.2.324 a negative column argument in setpos() may cause a crash + 1616 7.2.325 stray "w" in the startup vimrc file makes edited file empty + 1790 7.2.326 Win32: $HOME doesn't work when %HOMEPATH% is not defined + 7899 7.2.327 unused functions in Workshop + 1453 7.2.328 has("win64") does not return 1 on 64 bit MS-Windows version + 1390 7.2.329 cursor pos wrong after "g_" in Visual mode and excl. selection + 45468 7.2.330 tables for Unicode case operators are outdated + 1385 7.2.331 can't interrupt "echo list" for a very long list + 3492 7.2.332 crash if spell correcting triggers autocmd to reload a buffer + 10075 7.2.333 warnings from static code analysis + 9095 7.2.334 postponing keys in Netbeans interface does not work properly + 2802 7.2.335 the CTRL-] command escapes too many characters + 26204 7.2.336 MzScheme interface can't evaluate an expression + 3828 7.2.337 ":compiler" doesn't function properly in a function + 3535 7.2.338 (after 7.2.300) part of FD_CLOEXEC change is missing + 1977 7.2.339 (after 7.2.269) part of --startuptime patch is missing + 1587 7.2.340 gcc warning for condition that can never be true + 2072 7.2.341 popup menu wraps to next line if wide character doesn't fit + 2507 7.2.342 popup menu wrong in 'rightleft' mode with multi-byte chars + 1370 7.2.343 (after 7.2.338) can't compile on Win32 + 1728 7.2.344 (after 7.2.338) can't compile on some systems + 1324 7.2.345 tab line is not updated when the value of 'bt' is changed + 2895 7.2.346 repeating a command with @: causes mapping to be applied twice + 3784 7.2.347 crash when executing mapping redefines that mapping + 7230 7.2.348 (after 7.2.330) Unicode double width table is outdated + 1714 7.2.349 CTRL-W gf puts the new tab in the wrong place + 2766 7.2.350 Win32: When changing font window may jump to another screen + 2195 7.2.351 (after 7.2.347) compilation fails with some compilers + 1825 7.2.352 Win64: Vim doesn't work when cross-compiled with MingW libs + 4764 7.2.353 no command line completion for ":profile" + 2270 7.2.354 Japanese single-width double-byte chars not handled correctly + 2663 7.2.355 popup menu in wrong position when 'number' is set + 2166 7.2.356 not all folds are closed when 'foldmethod' is changed + 1565 7.2.357 CR displayed wrong when changing 'fileformat' from/to "mac" + 2384 7.2.358 compiler warnings on VMS + 1805 7.2.359 crash when using the Netbeans join command + 2839 7.2.360 Ruby on MS-Windows: can't use sockets + 23442 7.2.361 Ruby 1.9 is not supported + 2964 7.2.362 (extra, after 7.2.352) Win64 cross-compile problems + 2521 7.2.363 Perl 5.10 dynamic loading doesn't work + 2958 7.2.364 (extra) can't build gvimext.dll on Win 7 x64 using MinGW + 2390 7.2.365 (extra) MS-Windows with MingW: "File->Save As" does not work + 3802 7.2.366 CTRL-B doesn't go back to the first line of the buffer + 3236 7.2.367 "xxd -r -p" doesn't work as documented + 1623 7.2.368 (after 7.2.361) append line with Ruby interface doesn't work + 1872 7.2.369 error message for :profile is not easy to understand + 4352 7.2.370 (after 7.2.356) a redraw may cause folds to be closed + 10029 7.2.371 build problems on Tandem NonStop + 9674 7.2.372 (extra) cross-compiling GvimExt and xxd doesn't work. + 2901 7.2.373 new messages from gcc 4.5 are not in 'errorformat' + 4434 7.2.374 Ruby eval() doesn't understand Vim types + 1794 7.2.375 ml_get errors when using ":bprevious" in a BufEnter autocmd + 1577 7.2.376 ml_get error when using SiSU syntax + 1983 7.2.377 (extra, after 7.2.372) small mistakes in Ming build file + 2832 7.2.378 C function declaration indented too much + 1758 7.2.379 'eventignore' is set to an invalid value inside ":doau" + 3699 7.2.380 (after 7.2.363) Perl builds with 5.10.1 but not with 5.10.0 + 6835 7.2.381 no completion for :behave + 1766 7.2.382 close cmdline window when 'bufhide' is "wipe" uses freed mem + 3021 7.2.383 Vim doesn't build cleanly with MSVC 2010 + 1849 7.2.384 (extra) Vim doesn't build properly with MSVC 2010 + 2147 7.2.385 can't drag status line when in the command line window + 2051 7.2.386 KDE 3.1 focus hack causes problems for other window managers + 8233 7.2.387 Ruby with MingW still doesn't build all versions + 2486 7.2.388 (extra part of 7.2.387) Ruby with MingW + 4805 7.2.389 synIDattr() cannot return the font + 2302 7.2.390 in some situations the popup menu can be displayed wrong + 3426 7.2.391 internal alloc(0) error when doing "CTRL-V $ c" + 4898 7.2.392 netbeans hangs reading from a socket at the maximum block size + 9605 7.2.393 Mac: Can't build with different Xcode developer tools dir + 4298 7.2.394 .lzma and .xz files are not supported + 1554 7.2.395 in help CTRL=] on g?g? escapes the ?, causing it to fail + 1554 7.2.396 get E38 errors + 1722 7.2.397 redundant check for w_lines_valid + 4127 7.2.398 when moving windows the cursor ends up in the wrong line + 1784 7.2.399 (extra, after 7.2.388) cannot compile on MingW + 12865 7.2.400 (after 7.2.387) Ruby problems with init and empty string + 1982 7.2.401 wildmode list doesn't highlight directory names with a space + 2649 7.2.402 error 705 when re-using funcref variable + 1548 7.2.403 (after 7.2.400) compiler warning for pointer type + 1880 7.2.404 pointers for composing characters are not properly initialized + 1636 7.2.405 with small features match is not highlighted for ":s/p/r/c" + 4701 7.2.406 (after 7.2.119) uninit memory read + 1916 7.2.407 when using :s with an expression backslashes are dropped + 2152 7.2.408 ":g/the/s/a/b/" can set '[ and '] marks to an unchanged line + 1814 7.2.409 summary of number of substitutes is incorrect for ":folddo" + 2526 7.2.410 highlighting directories for completion doesn't work properly + 1462 7.2.411 when parsing 'cino' a comma isn't skipped properly diff --git a/vim.spec b/vim.spec index a5363bdc..5c690d13 100644 --- a/vim.spec +++ b/vim.spec @@ -18,7 +18,7 @@ #used for pre-releases: %define beta %{nil} %define vimdir vim72%{?beta} -%define patchlevel 315 +%define patchlevel 411 Summary: The VIM editor URL: http://www.vim.org/ @@ -381,6 +381,102 @@ Patch312: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.312 Patch313: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.313 Patch314: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.314 Patch315: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.315 +Patch316: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.316 +Patch317: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.317 +Patch318: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.318 +Patch319: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.319 +Patch320: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.320 +Patch321: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.321 +Patch322: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.322 +Patch323: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.323 +Patch324: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.324 +Patch325: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.325 +Patch326: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.326 +Patch327: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.327 +Patch328: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.328 +Patch329: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.329 +Patch330: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.330 +Patch331: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.331 +Patch332: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.332 +Patch333: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.333 +Patch334: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.334 +Patch335: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.335 +Patch336: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.336 +Patch337: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.337 +Patch338: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.338 +Patch339: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.339 +Patch340: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.340 +Patch341: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.341 +Patch342: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.342 +Patch343: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.343 +Patch344: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.344 +Patch345: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.345 +Patch346: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.346 +Patch347: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.347 +Patch348: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.348 +Patch349: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.349 +Patch350: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.350 +Patch351: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.351 +Patch352: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.352 +Patch353: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.353 +Patch354: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.354 +Patch355: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.355 +Patch356: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.356 +Patch357: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.357 +Patch358: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.358 +Patch359: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.359 +Patch360: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.360 +Patch361: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.361 +Patch362: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.362 +Patch363: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.363 +Patch364: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.364 +Patch365: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.365 +Patch366: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.366 +Patch367: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.367 +Patch368: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.368 +Patch369: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.369 +Patch370: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.370 +Patch371: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.371 +Patch372: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.372 +Patch373: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.373 +Patch374: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.374 +Patch375: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.375 +Patch376: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.376 +Patch377: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.377 +Patch378: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.378 +Patch379: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.379 +Patch380: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.380 +Patch381: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.381 +Patch382: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.382 +Patch383: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.383 +Patch384: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.384 +Patch385: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.385 +Patch386: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.386 +Patch387: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.387 +Patch388: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.388 +Patch389: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.389 +Patch390: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.390 +Patch391: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.391 +Patch392: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.392 +Patch393: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.393 +Patch394: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.394 +Patch395: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.395 +Patch396: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.396 +Patch397: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.397 +Patch398: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.398 +Patch399: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.399 +Patch400: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.400 +Patch401: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.401 +Patch402: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.402 +Patch403: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.403 +Patch404: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.404 +Patch405: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.405 +Patch406: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.406 +Patch407: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.407 +Patch408: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.408 +Patch409: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.409 +Patch410: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.410 +Patch411: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.411 Patch3000: vim-7.0-syntax.patch Patch3002: vim-7.1-nowarnings.patch @@ -834,6 +930,102 @@ perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk %patch313 -p0 %patch314 -p0 %patch315 -p0 +%patch316 -p0 +%patch317 -p0 +%patch318 -p0 +%patch319 -p0 +%patch320 -p0 +%patch321 -p0 +%patch322 -p0 +%patch323 -p0 +%patch324 -p0 +%patch325 -p0 +%patch326 -p0 +%patch327 -p0 +%patch328 -p0 +%patch329 -p0 +%patch330 -p0 +%patch331 -p0 +%patch332 -p0 +%patch333 -p0 +%patch334 -p0 +%patch335 -p0 +%patch336 -p0 +%patch337 -p0 +%patch338 -p0 +%patch339 -p0 +%patch340 -p0 +%patch341 -p0 +%patch342 -p0 +%patch343 -p0 +%patch344 -p0 +%patch345 -p0 +%patch346 -p0 +%patch347 -p0 +%patch348 -p0 +%patch349 -p0 +%patch350 -p0 +%patch351 -p0 +%patch352 -p0 +%patch353 -p0 +%patch354 -p0 +%patch355 -p0 +%patch356 -p0 +%patch357 -p0 +%patch358 -p0 +%patch359 -p0 +%patch360 -p0 +%patch361 -p0 +%patch362 -p0 +%patch363 -p0 +%patch364 -p0 +%patch365 -p0 +%patch366 -p0 +%patch367 -p0 +%patch368 -p0 +%patch369 -p0 +%patch370 -p0 +%patch371 -p0 +%patch372 -p0 +%patch373 -p0 +%patch374 -p0 +%patch375 -p0 +%patch376 -p0 +%patch377 -p0 +%patch378 -p0 +%patch379 -p0 +%patch380 -p0 +%patch381 -p0 +%patch382 -p0 +%patch383 -p0 +%patch384 -p0 +%patch385 -p0 +%patch386 -p0 +%patch387 -p0 +%patch388 -p0 +%patch389 -p0 +%patch390 -p0 +%patch391 -p0 +%patch392 -p0 +%patch393 -p0 +%patch394 -p0 +%patch395 -p0 +%patch396 -p0 +%patch397 -p0 +%patch398 -p0 +%patch399 -p0 +%patch400 -p0 +%patch401 -p0 +%patch402 -p0 +%patch403 -p0 +%patch404 -p0 +%patch405 -p0 +%patch406 -p0 +%patch407 -p0 +%patch408 -p0 +%patch409 -p0 +%patch410 -p0 +%patch411 -p0 # install spell files @@ -1298,6 +1490,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/icons/hicolor/*/apps/* %changelog +* Thu Mar 25 2010 Karsten Hopp 7.2.411-1 +- patchlevel 411 + * Wed Dec 03 2009 Karsten Hopp 7.2.315-1 - patchlevel 315 - fix vimrc location in man page (#456992) From e71a303d34b71b2c4d68d10153c6d7dc296070f4 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Tue, 20 Apr 2010 10:17:24 +0000 Subject: [PATCH 100/103] - fix rvim manpage (#583180) --- vim.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/vim.spec b/vim.spec index 5c690d13..1068904d 100644 --- a/vim.spec +++ b/vim.spec @@ -1289,7 +1289,7 @@ for i in fr.UTF-8 it.UTF-8 pl.UTF-8; do rm -rf $RPM_BUILD_ROOT/%{_mandir}/$i done -for i in rvim gvim.1 gvimdiff.1; do +for i in rvim.1 gvim.1 gvimdiff.1; do echo ".so man1/vim.1" > $RPM_BUILD_ROOT/%{_mandir}/man1/$i done @@ -1490,6 +1490,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/icons/hicolor/*/apps/* %changelog +* Tue Apr 20 2010 Karsten Hopp 7.2.411-1 +- fix rvim manpage (#583180) + * Thu Mar 25 2010 Karsten Hopp 7.2.411-1 - patchlevel 411 From 1b5e1df4e7e70e04ace73efdb89a2313bd27904d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 29 Jul 2010 15:01:08 +0000 Subject: [PATCH 101/103] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- branch | 1 - 3 files changed, 22 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile delete mode 100644 branch diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index 8482b06e..00000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: vim -# $Id$ -NAME := vim -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attempt a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/branch b/branch deleted file mode 100644 index 06de2d20..00000000 --- a/branch +++ /dev/null @@ -1 +0,0 @@ -F-12 From bfc7484aa0ca9b4c01ae816c54c9919a54e17c90 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Wed, 20 Oct 2010 18:10:12 +0200 Subject: [PATCH 102/103] - patchlevel 030 --- 7.3.030 | 366 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 366 insertions(+) create mode 100644 7.3.030 diff --git a/7.3.030 b/7.3.030 new file mode 100644 index 00000000..8d6a5f1b --- /dev/null +++ b/7.3.030 @@ -0,0 +1,366 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.030 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.3.030 +Problem: Cannot store Dict and List in viminfo file. +Solution: Add support for this. (Christian Brabandt) +Files: runtime/doc/options.txt, src/eval.c, src/testdir/Make_amiga.mak, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, + src/testdir/Makefile, src/testdir/main.aap, src/testdir/test74.in, + src/testdir/test74.ok + + +*** ../vim-7.3.029/runtime/doc/options.txt 2010-08-15 21:57:17.000000000 +0200 +--- runtime/doc/options.txt 2010-10-20 17:41:18.000000000 +0200 +*************** +*** 7530,7537 **** + ! When included, save and restore global variables that start + with an uppercase letter, and don't contain a lowercase + letter. Thus "KEEPTHIS and "K_L_M" are stored, but "KeepThis" +! and "_K_L_M" are not. Only String and Number types are +! stored. + " Maximum number of lines saved for each register. Old name of + the '<' item, with the disadvantage that you need to put a + backslash before the ", otherwise it will be recognized as the +--- 7530,7538 ---- + ! When included, save and restore global variables that start + with an uppercase letter, and don't contain a lowercase + letter. Thus "KEEPTHIS and "K_L_M" are stored, but "KeepThis" +! and "_K_L_M" are not. Nested List and Dict items may not be +! read back correctly, you end up with a string representation +! instead. + " Maximum number of lines saved for each register. Old name of + the '<' item, with the disadvantage that you need to put a + backslash before the ", otherwise it will be recognized as the +*** ../vim-7.3.029/src/eval.c 2010-09-14 12:47:30.000000000 +0200 +--- src/eval.c 2010-10-20 16:25:54.000000000 +0200 +*************** +*** 22520,22537 **** + if (tab != NULL) + { + *tab++ = '\0'; /* isolate the variable name */ +! if (*tab == 'S') /* string var */ +! type = VAR_STRING; + #ifdef FEAT_FLOAT +! else if (*tab == 'F') +! type = VAR_FLOAT; + #endif + + tab = vim_strchr(tab, '\t'); + if (tab != NULL) + { + tv.v_type = type; +! if (type == VAR_STRING) + tv.vval.v_string = viminfo_readstring(virp, + (int)(tab - virp->vir_line + 1), TRUE); + #ifdef FEAT_FLOAT +--- 22520,22540 ---- + if (tab != NULL) + { + *tab++ = '\0'; /* isolate the variable name */ +! switch (*tab) +! { +! case 'S': type = VAR_STRING; break; + #ifdef FEAT_FLOAT +! case 'F': type = VAR_FLOAT; break; + #endif ++ case 'D': type = VAR_DICT; break; ++ case 'L': type = VAR_LIST; break; ++ } + + tab = vim_strchr(tab, '\t'); + if (tab != NULL) + { + tv.v_type = type; +! if (type == VAR_STRING || type == VAR_DICT || type == VAR_LIST) + tv.vval.v_string = viminfo_readstring(virp, + (int)(tab - virp->vir_line + 1), TRUE); + #ifdef FEAT_FLOAT +*************** +*** 22540,22548 **** + #endif + else + tv.vval.v_number = atol((char *)tab + 1); + set_var(virp->vir_line + 1, &tv, FALSE); +! if (type == VAR_STRING) + vim_free(tv.vval.v_string); + } + } + } +--- 22543,22569 ---- + #endif + else + tv.vval.v_number = atol((char *)tab + 1); ++ if (type == VAR_DICT || type == VAR_LIST) ++ { ++ typval_T *etv = eval_expr(tv.vval.v_string, NULL); ++ ++ if (etv == NULL) ++ /* Failed to parse back the dict or list, use it as a ++ * string. */ ++ tv.v_type = VAR_STRING; ++ else ++ { ++ vim_free(tv.vval.v_string); ++ tv = *etv; ++ } ++ } ++ + set_var(virp->vir_line + 1, &tv, FALSE); +! +! if (tv.v_type == VAR_STRING) + vim_free(tv.vval.v_string); ++ else if (tv.v_type == VAR_DICT || tv.v_type == VAR_LIST) ++ clear_tv(&tv); + } + } + } +*************** +*** 22584,22591 **** + case VAR_STRING: s = "STR"; break; + case VAR_NUMBER: s = "NUM"; break; + #ifdef FEAT_FLOAT +! case VAR_FLOAT: s = "FLO"; break; + #endif + default: continue; + } + fprintf(fp, "!%s\t%s\t", this_var->di_key, s); +--- 22605,22614 ---- + case VAR_STRING: s = "STR"; break; + case VAR_NUMBER: s = "NUM"; break; + #ifdef FEAT_FLOAT +! case VAR_FLOAT: s = "FLO"; break; + #endif ++ case VAR_DICT: s = "DIC"; break; ++ case VAR_LIST: s = "LIS"; break; + default: continue; + } + fprintf(fp, "!%s\t%s\t", this_var->di_key, s); +*** ../vim-7.3.029/src/testdir/Make_amiga.mak 2010-08-15 21:57:29.000000000 +0200 +--- src/testdir/Make_amiga.mak 2010-10-20 16:27:19.000000000 +0200 +*************** +*** 27,33 **** + 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 \ +! test71.out test72.out test73.out + + .SUFFIXES: .in .out + +--- 27,33 ---- + 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 \ +! test71.out test72.out test73.out test74.out + + .SUFFIXES: .in .out + +*************** +*** 120,122 **** +--- 120,123 ---- + test71.out: test71.in + test72.out: test72.in + test73.out: test73.in ++ test74.out: test74.in +*** ../vim-7.3.029/src/testdir/Make_dos.mak 2010-08-15 21:57:29.000000000 +0200 +--- src/testdir/Make_dos.mak 2010-10-20 16:13:35.000000000 +0200 +*************** +*** 27,33 **** + 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 test71.out test72.out test73.out + + SCRIPTS32 = test50.out test70.out + +--- 27,34 ---- + 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 test71.out test72.out test73.out \ +! test74.out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.3.029/src/testdir/Make_ming.mak 2010-08-15 21:57:29.000000000 +0200 +--- src/testdir/Make_ming.mak 2010-10-20 16:26:54.000000000 +0200 +*************** +*** 47,53 **** + 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 test71.out test72.out test72.out + + SCRIPTS32 = test50.out test70.out + +--- 47,54 ---- + 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 test71.out test72.out test73.out \ +! test74.out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.3.029/src/testdir/Make_os2.mak 2010-08-15 21:57:29.000000000 +0200 +--- src/testdir/Make_os2.mak 2010-10-20 16:13:35.000000000 +0200 +*************** +*** 27,33 **** + 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 \ +! test71.out test72.out test73.out + + .SUFFIXES: .in .out + +--- 27,33 ---- + 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 \ +! test71.out test72.out test73.out test74.out + + .SUFFIXES: .in .out + +*** ../vim-7.3.029/src/testdir/Make_vms.mms 2010-08-15 21:57:29.000000000 +0200 +--- src/testdir/Make_vms.mms 2010-10-20 16:13:35.000000000 +0200 +*************** +*** 74,80 **** + test56.out test57.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ + test66.out test67.out test68.out test69.out \ +! test71.out test72.out + + # Known problems: + # Test 30: a problem around mac format - unknown reason +--- 74,80 ---- + test56.out test57.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ + test66.out test67.out test68.out test69.out \ +! test71.out test72.out test74.out + + # Known problems: + # Test 30: a problem around mac format - unknown reason +*** ../vim-7.3.029/src/testdir/Makefile 2010-09-14 12:47:30.000000000 +0200 +--- src/testdir/Makefile 2010-10-20 16:13:35.000000000 +0200 +*************** +*** 10,15 **** +--- 10,16 ---- + # This will make testing about 10 times as slow. + # VALGRIND = valgrind --tool=memcheck --leak-check=yes --num-callers=15 --log-file=valgrind.$* + ++ + SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \ + test7.out test8.out test9.out test10.out test11.out \ + test12.out test13.out test14.out test15.out test17.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 test71.out test72.out test73.out + + SCRIPTS_GUI = test16.out + +--- 24,31 ---- + 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 test71.out test72.out test73.out \ +! test74.out + + SCRIPTS_GUI = test16.out + +*** ../vim-7.3.029/src/testdir/main.aap 2010-08-15 21:57:29.000000000 +0200 +--- src/testdir/main.aap 2010-10-20 16:13:35.000000000 +0200 +*************** +*** 13,19 **** + test33.out test34.out test35.out test36.out test37.out + test38.out test39.out test40.out test41.out test42.out + test43.out test44.out test45.out test46.out test47.out +! test48.out test49.out + + ScriptsGUI = test16.out + +--- 13,19 ---- + test33.out test34.out test35.out test36.out test37.out + test38.out test39.out test40.out test41.out test42.out + test43.out test44.out test45.out test46.out test47.out +! test48.out test49.out test74.out + + ScriptsGUI = test16.out + +*** ../vim-7.3.029/src/testdir/test74.in 2010-10-20 17:41:30.000000000 +0200 +--- src/testdir/test74.in 2010-10-20 17:37:52.000000000 +0200 +*************** +*** 0 **** +--- 1,36 ---- ++ " Tests for storing global variables in the .viminfo file vim: set ft=vim: ++ ++ STARTTEST ++ :so small.vim ++ :" Do all test in a separate window to avoid E211 when we recursively ++ :" delete the Xfind directory during cleanup ++ :" ++ :" This will cause a few errors, do it silently. ++ :set visualbell ++ :set nocp viminfo+=!,nviminfo ++ :let MY_GLOBAL_DICT={'foo': 1, 'bar': 0, 'longvarible': 1000} ++ :" store a really long list, so line wrapping will occur in viminfo file ++ :let MY_GLOBAL_LIST=range(1,100) ++ :wv! Xviminfo ++ :unlet MY_GLOBAL_DICT ++ :unlet MY_GLOBAL_LIST ++ :rv! Xviminfo ++ :call delete('Xviminfo') ++ :if exists("MY_GLOBAL_DICT") ++ :redir >> test.out ++ :echo MY_GLOBAL_DICT ++ :redir end ++ :endif ++ :if exists("MY_GLOBAL_LIST") ++ :redir >> test.out ++ :echo MY_GLOBAL_LIST ++ :redir end ++ :endif ++ :redir >> test.out ++ :echo "foobar" ++ :redir end ++ :endif ++ :qa! ++ ENDTEST ++ ++ eof +*** ../vim-7.3.029/src/testdir/test74.ok 2010-10-20 17:41:30.000000000 +0200 +--- src/testdir/test74.ok 2010-10-20 17:36:57.000000000 +0200 +*************** +*** 0 **** +--- 1,5 ---- ++ ++ {'foo': 1, 'longvarible': 1000, 'bar': 0} ++ [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100] ++ ++ foobar +*** ../vim-7.3.029/src/version.c 2010-10-15 20:20:00.000000000 +0200 +--- src/version.c 2010-10-20 17:23:54.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 30, + /**/ + +-- +Not too long ago, cut and paste was done with scissors and glue... + + /// 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 /// From 51b9621f3a6aab1782dd4953a5ca69dc93e778b0 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Wed, 20 Oct 2010 18:10:13 +0200 Subject: [PATCH 103/103] - patchlevel 30 --- README.patches | 1 + vim.spec | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/README.patches b/README.patches index 33fc3f94..66d706a2 100644 --- a/README.patches +++ b/README.patches @@ -55,3 +55,4 @@ Individual patches for Vim 7.3: 2668 7.3.027 MS-Windows: Opening a file on a network share is very slow 5065 7.3.028 (after 7.3.024) signs don't show up 4623 7.3.029 ":sort n" sorts lines without a number as number zero + 12512 7.3.030 cannot store Dict and List in viminfo file diff --git a/vim.spec b/vim.spec index 2a23efa5..62ab98a3 100644 --- a/vim.spec +++ b/vim.spec @@ -18,7 +18,7 @@ #used for pre-releases: %define beta %{nil} %define vimdir vim73%{?beta} -%define patchlevel 029 +%define patchlevel 030 Summary: The VIM editor URL: http://www.vim.org/ @@ -93,6 +93,7 @@ Patch026: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.026 Patch027: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.027 Patch028: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.028 Patch029: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.029 +Patch030: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.030 Patch3000: vim-7.3-syntax.patch Patch3002: vim-7.1-nowarnings.patch @@ -266,6 +267,7 @@ perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk %patch027 -p0 %patch028 -p0 %patch029 -p0 +%patch030 -p0 # install spell files %if %{withvimspell} @@ -732,6 +734,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/icons/hicolor/*/apps/* %changelog +* Wed Oct 20 2010 Karsten Hopp 7.3.030-1 +- patchlevel 030 + * Sat Oct 16 2010 Karsten Hopp 7.3.029-1 - patchlevel 029