changeset 379:c6a17bba1da3 build-170

7038754 vim 7.3 6932665 vim/gvim should have python support (and likely others like ruby etc) turned on
author Danek Duvall <danek.duvall@oracle.com>
date Tue, 10 May 2011 08:58:55 -0700
parents f0b61ed1d10d
children e92b3b4a1c66
files components/vim/Makefile components/vim/gvim.p5m components/vim/patches/vim-help.patch components/vim/vim-core.p5m components/vim/vim.p5m components/vim/vim72-patches/7.2.001 components/vim/vim72-patches/7.2.002 components/vim/vim72-patches/7.2.003 components/vim/vim72-patches/7.2.004 components/vim/vim72-patches/7.2.005 components/vim/vim72-patches/7.2.006 components/vim/vim72-patches/7.2.008 components/vim/vim72-patches/7.2.009 components/vim/vim72-patches/7.2.010 components/vim/vim72-patches/7.2.011 components/vim/vim72-patches/7.2.012 components/vim/vim72-patches/7.2.013 components/vim/vim72-patches/7.2.014 components/vim/vim72-patches/7.2.015 components/vim/vim72-patches/7.2.016 components/vim/vim72-patches/7.2.017 components/vim/vim72-patches/7.2.018 components/vim/vim72-patches/7.2.019 components/vim/vim72-patches/7.2.020 components/vim/vim72-patches/7.2.021 components/vim/vim72-patches/7.2.022 components/vim/vim72-patches/7.2.023 components/vim/vim72-patches/7.2.024 components/vim/vim72-patches/7.2.025 components/vim/vim72-patches/7.2.026 components/vim/vim72-patches/7.2.027 components/vim/vim72-patches/7.2.028 components/vim/vim72-patches/7.2.029 components/vim/vim72-patches/7.2.030 components/vim/vim72-patches/7.2.031 components/vim/vim72-patches/7.2.032 components/vim/vim72-patches/7.2.033 components/vim/vim72-patches/7.2.034 components/vim/vim72-patches/7.2.035 components/vim/vim72-patches/7.2.037 components/vim/vim72-patches/7.2.038 components/vim/vim72-patches/7.2.039 components/vim/vim72-patches/7.2.040 components/vim/vim72-patches/7.2.041 components/vim/vim72-patches/7.2.042 components/vim/vim72-patches/7.2.043 components/vim/vim72-patches/7.2.044 components/vim/vim72-patches/7.2.045 components/vim/vim72-patches/7.2.046 components/vim/vim72-patches/7.2.047 components/vim/vim72-patches/7.2.048 components/vim/vim72-patches/7.2.050 components/vim/vim72-patches/7.2.051 components/vim/vim72-patches/7.2.052 components/vim/vim72-patches/7.2.053 components/vim/vim72-patches/7.2.054 components/vim/vim72-patches/7.2.055 components/vim/vim72-patches/7.2.056 components/vim/vim72-patches/7.2.057 components/vim/vim72-patches/7.2.058 components/vim/vim72-patches/7.2.059 components/vim/vim72-patches/7.2.060 components/vim/vim72-patches/7.2.061 components/vim/vim72-patches/7.2.062 components/vim/vim72-patches/7.2.063 components/vim/vim72-patches/7.2.064 components/vim/vim72-patches/7.2.065 components/vim/vim72-patches/7.2.066 components/vim/vim72-patches/7.2.067 components/vim/vim72-patches/7.2.068 components/vim/vim72-patches/7.2.069 components/vim/vim72-patches/7.2.070 components/vim/vim72-patches/7.2.073 components/vim/vim72-patches/7.2.075 components/vim/vim72-patches/7.2.076 components/vim/vim72-patches/7.2.077 components/vim/vim72-patches/7.2.078 components/vim/vim72-patches/7.2.079 components/vim/vim72-patches/7.2.080 components/vim/vim72-patches/7.2.081 components/vim/vim72-patches/7.2.082 components/vim/vim72-patches/7.2.083 components/vim/vim72-patches/7.2.084 components/vim/vim72-patches/7.2.085 components/vim/vim72-patches/7.2.086 components/vim/vim72-patches/7.2.087 components/vim/vim72-patches/7.2.090 components/vim/vim72-patches/7.2.091 components/vim/vim72-patches/7.2.092 components/vim/vim72-patches/7.2.094 components/vim/vim72-patches/7.2.095 components/vim/vim72-patches/7.2.096 components/vim/vim72-patches/7.2.097 components/vim/vim72-patches/7.2.098 components/vim/vim72-patches/7.2.099 components/vim/vim72-patches/7.2.100 components/vim/vim72-patches/7.2.102 components/vim/vim72-patches/7.2.103 components/vim/vim72-patches/7.2.104 components/vim/vim72-patches/7.2.105 components/vim/vim72-patches/7.2.106 components/vim/vim72-patches/7.2.107 components/vim/vim72-patches/7.2.108 components/vim/vim72-patches/7.2.109 components/vim/vim72-patches/7.2.110 components/vim/vim72-patches/7.2.111 components/vim/vim72-patches/7.2.112 components/vim/vim72-patches/7.2.113 components/vim/vim72-patches/7.2.114 components/vim/vim72-patches/7.2.115 components/vim/vim72-patches/7.2.116 components/vim/vim72-patches/7.2.117 components/vim/vim72-patches/7.2.118 components/vim/vim72-patches/7.2.119 components/vim/vim72-patches/7.2.120 components/vim/vim72-patches/7.2.121 components/vim/vim72-patches/7.2.122 components/vim/vim72-patches/7.2.123 components/vim/vim72-patches/7.2.124 components/vim/vim72-patches/7.2.125 components/vim/vim72-patches/7.2.126 components/vim/vim72-patches/7.2.127 components/vim/vim72-patches/7.2.128 components/vim/vim72-patches/7.2.129 components/vim/vim72-patches/7.2.130 components/vim/vim72-patches/7.2.131 components/vim/vim72-patches/7.2.132 components/vim/vim72-patches/7.2.133 components/vim/vim72-patches/7.2.134 components/vim/vim72-patches/7.2.135 components/vim/vim72-patches/7.2.136 components/vim/vim72-patches/7.2.137 components/vim/vim72-patches/7.2.139 components/vim/vim72-patches/7.2.140 components/vim/vim72-patches/7.2.141 components/vim/vim72-patches/7.2.142 components/vim/vim72-patches/7.2.143 components/vim/vim72-patches/7.2.144 components/vim/vim72-patches/7.2.145 components/vim/vim72-patches/7.2.146 components/vim/vim72-patches/7.2.147 components/vim/vim72-patches/7.2.148 components/vim/vim72-patches/7.2.149 components/vim/vim72-patches/7.2.151 components/vim/vim72-patches/7.2.152 components/vim/vim72-patches/7.2.153 components/vim/vim72-patches/7.2.154 components/vim/vim72-patches/7.2.155 components/vim/vim72-patches/7.2.156 components/vim/vim72-patches/7.2.157 components/vim/vim72-patches/7.2.158 components/vim/vim72-patches/7.2.159 components/vim/vim72-patches/7.2.160 components/vim/vim72-patches/7.2.161 components/vim/vim72-patches/7.2.162 components/vim/vim72-patches/7.2.163 components/vim/vim72-patches/7.2.164 components/vim/vim72-patches/7.2.165 components/vim/vim72-patches/7.2.166 components/vim/vim72-patches/7.2.167 components/vim/vim72-patches/7.2.168 components/vim/vim72-patches/7.2.169 components/vim/vim72-patches/7.2.170 components/vim/vim72-patches/7.2.171 components/vim/vim72-patches/7.2.173 components/vim/vim72-patches/7.2.174 components/vim/vim72-patches/7.2.175 components/vim/vim72-patches/7.2.176 components/vim/vim72-patches/7.2.177 components/vim/vim72-patches/7.2.178 components/vim/vim72-patches/7.2.179 components/vim/vim72-patches/7.2.180 components/vim/vim72-patches/7.2.181 components/vim/vim72-patches/7.2.182 components/vim/vim72-patches/7.2.183 components/vim/vim72-patches/7.2.184 components/vim/vim72-patches/7.2.185 components/vim/vim72-patches/7.2.186 components/vim/vim72-patches/7.2.187 components/vim/vim72-patches/7.2.188 components/vim/vim72-patches/7.2.189 components/vim/vim72-patches/7.2.190 components/vim/vim72-patches/7.2.191 components/vim/vim72-patches/7.2.192 components/vim/vim72-patches/7.2.193 components/vim/vim72-patches/7.2.195 components/vim/vim72-patches/7.2.196 components/vim/vim72-patches/7.2.197 components/vim/vim72-patches/7.2.198 components/vim/vim72-patches/7.2.199 components/vim/vim72-patches/7.2.200 components/vim/vim72-patches/7.2.201 components/vim/vim72-patches/7.2.202 components/vim/vim72-patches/7.2.203 components/vim/vim72-patches/7.2.206 components/vim/vim72-patches/7.2.207 components/vim/vim72-patches/7.2.208 components/vim/vim72-patches/7.2.209 components/vim/vim72-patches/7.2.210 components/vim/vim72-patches/7.2.211 components/vim/vim72-patches/7.2.213 components/vim/vim72-patches/7.2.214 components/vim/vim72-patches/7.2.215 components/vim/vim72-patches/7.2.216 components/vim/vim72-patches/7.2.217 components/vim/vim72-patches/7.2.218 components/vim/vim72-patches/7.2.220 components/vim/vim72-patches/7.2.221 components/vim/vim72-patches/7.2.222 components/vim/vim72-patches/7.2.223 components/vim/vim72-patches/7.2.224 components/vim/vim72-patches/7.2.225 components/vim/vim72-patches/7.2.226 components/vim/vim72-patches/7.2.227 components/vim/vim72-patches/7.2.228 components/vim/vim72-patches/7.2.229 components/vim/vim72-patches/7.2.230 components/vim/vim72-patches/7.2.231 components/vim/vim72-patches/7.2.232 components/vim/vim72-patches/7.2.234 components/vim/vim72-patches/7.2.235 components/vim/vim72-patches/7.2.236 components/vim/vim72-patches/7.2.237 components/vim/vim72-patches/7.2.238 components/vim/vim72-patches/7.2.239 components/vim/vim72-patches/7.2.240 components/vim/vim72-patches/7.2.241 components/vim/vim72-patches/7.2.242 components/vim/vim72-patches/7.2.243 components/vim/vim72-patches/7.2.244 components/vim/vim72-patches/7.2.245 components/vim/vim72-patches/7.2.246 components/vim/vim72-patches/7.2.247 components/vim/vim72-patches/7.2.251 components/vim/vim72-patches/7.2.252 components/vim/vim72-patches/7.2.253 components/vim/vim72-patches/7.2.254 components/vim/vim72-patches/7.2.255 components/vim/vim72-patches/7.2.256 components/vim/vim72-patches/7.2.257 components/vim/vim72-patches/7.2.258 components/vim/vim72-patches/7.2.259 components/vim/vim72-patches/7.2.261 components/vim/vim72-patches/7.2.262 components/vim/vim72-patches/7.2.263 components/vim/vim72-patches/7.2.264 components/vim/vim72-patches/7.2.265 components/vim/vim72-patches/7.2.266 components/vim/vim72-patches/7.2.267 components/vim/vim72-patches/7.2.268 components/vim/vim72-patches/7.2.269 components/vim/vim72-patches/7.2.270 components/vim/vim72-patches/7.2.271 components/vim/vim72-patches/7.2.272 components/vim/vim72-patches/7.2.273 components/vim/vim72-patches/7.2.274 components/vim/vim72-patches/7.2.275 components/vim/vim72-patches/7.2.276 components/vim/vim72-patches/7.2.277 components/vim/vim72-patches/7.2.278 components/vim/vim72-patches/7.2.279 components/vim/vim72-patches/7.2.280 components/vim/vim72-patches/7.2.281 components/vim/vim72-patches/7.2.282 components/vim/vim72-patches/7.2.283 components/vim/vim72-patches/7.2.284 components/vim/vim72-patches/7.2.285 components/vim/vim72-patches/7.2.286 components/vim/vim72-patches/7.2.287 components/vim/vim72-patches/7.2.288 components/vim/vim72-patches/7.2.289 components/vim/vim72-patches/7.2.290 components/vim/vim72-patches/7.2.291 components/vim/vim72-patches/7.2.292 components/vim/vim72-patches/7.2.293 components/vim/vim72-patches/7.2.294 components/vim/vim72-patches/7.2.295 components/vim/vim72-patches/7.2.296 components/vim/vim72-patches/7.2.297 components/vim/vim72-patches/7.2.298 components/vim/vim72-patches/7.2.299 components/vim/vim72-patches/7.2.300 components/vim/vim72-patches/7.2.301 components/vim/vim72-patches/7.2.303 components/vim/vim72-patches/7.2.304 components/vim/vim72-patches/7.2.305 components/vim/vim72-patches/7.2.306 components/vim/vim72-patches/7.2.307 components/vim/vim72-patches/7.2.308 components/vim/vim72-patches/7.2.309 components/vim/vim72-patches/7.2.310 components/vim/vim72-patches/7.2.311 components/vim/vim72-patches/7.2.312 components/vim/vim72-patches/7.2.313 components/vim/vim72-patches/7.2.314 components/vim/vim72-patches/7.2.315 components/vim/vim72-patches/7.2.316 components/vim/vim72-patches/7.2.317 components/vim/vim72-patches/7.2.318 components/vim/vim72-patches/7.2.319 components/vim/vim72-patches/7.2.320 components/vim/vim72-patches/7.2.321 components/vim/vim72-patches/7.2.322 components/vim/vim72-patches/7.2.324 components/vim/vim72-patches/7.2.325 components/vim/vim72-patches/7.2.326 components/vim/vim72-patches/7.2.327 components/vim/vim72-patches/7.2.328 components/vim/vim72-patches/7.2.329 components/vim/vim72-patches/7.2.330 components/vim/vim72-patches/7.2.331 components/vim/vim72-patches/7.2.332 components/vim/vim72-patches/7.2.333 components/vim/vim72-patches/7.2.334 components/vim/vim72-patches/7.2.335 components/vim/vim72-patches/7.2.336 components/vim/vim72-patches/7.2.337 components/vim/vim72-patches/7.2.338 components/vim/vim72-patches/7.2.339 components/vim/vim72-patches/7.2.340 components/vim/vim72-patches/7.2.341 components/vim/vim72-patches/7.2.342 components/vim/vim72-patches/7.2.343 components/vim/vim72-patches/7.2.344 components/vim/vim72-patches/7.2.345 components/vim/vim72-patches/7.2.346 components/vim/vim72-patches/7.2.347 components/vim/vim72-patches/7.2.348 components/vim/vim72-patches/7.2.349 components/vim/vim72-patches/7.2.350 components/vim/vim72-patches/7.2.351 components/vim/vim72-patches/7.2.353 components/vim/vim72-patches/7.2.354 components/vim/vim72-patches/7.2.355 components/vim/vim72-patches/7.2.356 components/vim/vim72-patches/7.2.357 components/vim/vim72-patches/7.2.358 components/vim/vim72-patches/7.2.359 components/vim/vim72-patches/7.2.360 components/vim/vim72-patches/7.2.361 components/vim/vim72-patches/7.2.363 components/vim/vim72-patches/7.2.366 components/vim/vim72-patches/7.2.367 components/vim/vim72-patches/7.2.368 components/vim/vim72-patches/7.2.369 components/vim/vim72-patches/7.2.370 components/vim/vim72-patches/7.2.371 components/vim/vim72-patches/7.2.373 components/vim/vim72-patches/7.2.374 components/vim/vim72-patches/7.2.375 components/vim/vim72-patches/7.2.376 components/vim/vim72-patches/7.2.378 components/vim/vim72-patches/7.2.379 components/vim/vim72-patches/7.2.380 components/vim/vim72-patches/7.2.381 components/vim/vim72-patches/7.2.382 components/vim/vim72-patches/7.2.383 components/vim/vim72-patches/7.2.385 components/vim/vim72-patches/7.2.386 components/vim/vim72-patches/7.2.387 components/vim/vim72-patches/7.2.389 components/vim/vim72-patches/7.2.390 components/vim/vim72-patches/7.2.391 components/vim/vim72-patches/7.2.392 components/vim/vim72-patches/7.2.393 components/vim/vim72-patches/7.2.394 components/vim/vim72-patches/7.2.395 components/vim/vim72-patches/7.2.396 components/vim/vim72-patches/7.2.397 components/vim/vim72-patches/7.2.398 components/vim/vim72-patches/7.2.400 components/vim/vim72-patches/7.2.401 components/vim/vim72-patches/7.2.402 components/vim/vim72-patches/7.2.403 components/vim/vim72-patches/7.2.404 components/vim/vim72-patches/7.2.405 components/vim/vim72-patches/7.2.406 components/vim/vim72-patches/7.2.407 components/vim/vim72-patches/7.2.408 components/vim/vim72-patches/7.2.409 components/vim/vim72-patches/7.2.410 components/vim/vim72-patches/7.2.411 components/vim/vim72-patches/7.2.412 components/vim/vim72-patches/7.2.413 components/vim/vim72-patches/7.2.414 components/vim/vim72-patches/7.2.415 components/vim/vim72-patches/7.2.416 components/vim/vim72-patches/7.2.417 components/vim/vim72-patches/7.2.418 components/vim/vim72-patches/7.2.419 components/vim/vim72-patches/7.2.420 components/vim/vim72-patches/7.2.421 components/vim/vim72-patches/7.2.422 components/vim/vim72-patches/7.2.423 components/vim/vim72-patches/7.2.424 components/vim/vim72-patches/7.2.425 components/vim/vim72-patches/7.2.426 components/vim/vim72-patches/7.2.427 components/vim/vim72-patches/7.2.428 components/vim/vim72-patches/7.2.429 components/vim/vim72-patches/7.2.430 components/vim/vim72-patches/7.2.431 components/vim/vim72-patches/7.2.432 components/vim/vim72-patches/7.2.433 components/vim/vim72-patches/7.2.434 components/vim/vim72-patches/7.2.435 components/vim/vim72-patches/7.2.436 components/vim/vim72-patches/7.2.437 components/vim/vim72-patches/7.2.438 components/vim/vim72-patches/7.2.439 components/vim/vim72-patches/7.2.440 components/vim/vim72-patches/7.2.441 components/vim/vim72-patches/7.2.442 components/vim/vim72-patches/7.2.443 components/vim/vim72-patches/7.2.444 components/vim/vim72-patches/7.2.445 components/vim/vim72-patches/7.2.446 components/vim/vim72-patches/runtime.patch components/vim/vim72-patches/vim-help.patch make-rules/ips.mk tools/userland-mangler
diffstat 421 files changed, 272 insertions(+), 139407 deletions(-) [+]
line wrap: on
line diff
--- a/components/vim/Makefile	Thu Jul 07 19:05:29 2011 -0700
+++ b/components/vim/Makefile	Tue May 10 08:58:55 2011 -0700
@@ -28,26 +28,42 @@
 PATH=/usr/bin:/usr/gnu/bin
 
 COMPONENT_NAME=		vim
-COMPONENT_VERSION=	7.2
-IPS_COMPONENT_VERSION=	$(shell find $(PATCH_DIR) -name $(PATCH_PATTERN) | \
-				sort | tail -1 | cut -d/ -f2)
-COMPONENT_SRC=		vim72
+COMPONENT_VERSION=	7.3
+IPS_COMPONENT_VERSION=	$(shell echo $(COMPONENT_HG_REV) | sed -e 's/-/./g' -e 's/v//')
+COMPONENT_SRC=		vim-$(COMPONENT_HG_REV)
 COMPONENT_PROJECT_URL=	http://www.vim.org/
-COMPONENT_ARCHIVE=	vim-$(COMPONENT_VERSION).tar.bz2
-COMPONENT_ARCHIVE_HASH=	sha1:a4b6641ca528fada71ea77c998a441495ed4984c
-COMPONENT_ARCHIVE_URL=	ftp://ftp.vim.org/pub/vim/unix/$(COMPONENT_ARCHIVE)
-
-PATCH_DIR =	$(COMPONENT_SRC)-patches
-PATCH_PATTERN =	$(COMPONENT_VERSION).*
-EXTRA_PATCHES =	$(PATCH_DIR)/runtime.patch $(PATCH_DIR)/vim-help.patch
+COMPONENT_ARCHIVE=	vim-$(COMPONENT_HG_REV).tar.bz2
+COMPONENT_ARCHIVE_URL=	$(EXTERNAL_ARCHIVE_MIRROR)/$(COMPONENT_ARCHIVE)
+COMPONENT_ARCHIVE_HASH=	sha1:c6458484b1cdcf6a54f5c686db8a68fa221ba3a2
+COMPONENT_HG_URL=	https://vim.googlecode.com/hg
+COMPONENT_HG_REV=	v7-3-244
 
 include ../../make-rules/prep.mk
 include ../../make-rules/configure.mk
 include ../../make-rules/ips.mk
 
+HGREPODIR=		$(COMPONENT_NAME).hg
+TARBALLDIR=		$(COMPONENT_NAME)-$(COMPONENT_HG_REV)
+
+$(HGREPODIR)/.hg:
+	hg clone -U $(COMPONENT_HG_URL) $(@D)
+
+# Create the tarball.  It should contain the working directory of the repo at
+# the desired revision, but not the .hg directory.  Note that the digest will
+# be different every time because .hg doesn't set the timestamps of the files
+# in the working directory.
+hgball: $(HGREPODIR)/.hg
+	hg -R $(HGREPODIR) pull
+	hg -R $(HGREPODIR) tags | awk '$$1 ~ /^v7-/ {print $$1; exit}'
+	rm -rf $(TARBALLDIR)
+	hg clone -u $(COMPONENT_HG_REV) $(HGREPODIR) $(TARBALLDIR)
+	rm -rf $(TARBALLDIR)/.hg
+	tar jcf $(COMPONENT_ARCHIVE) $(TARBALLDIR)
+	digest -a sha1 $(COMPONENT_ARCHIVE)
+
 PATCH_LEVEL =	0
 
-PKG_MACROS +=	VIMVER=$(COMPONENT_SRC)
+PKG_MACROS +=	VIMVER=vim73
 
 X_VARIANT =	$(BUILD_DIR)/$(MACH32)-gvim
 NOX_VARIANT =	$(BUILD_DIR)/$(MACH32)-vim
@@ -65,6 +81,20 @@
 TEST_32 = 	$(NOX_VARIANT)/.tested
 
 CONFIGURE_OPTIONS +=	--with-features=huge
+CONFIGURE_OPTIONS +=	--with-compiledby="the Solaris Userland build environment"
+CONFIGURE_OPTIONS +=	--with-modified-by="Solaris Userland <userland-discuss@opensolaris.org>"
+CONFIGURE_OPTIONS +=	--enable-luainterp=dynamic
+# XXX Perl compilation fails, for some reason.
+# - Perl_croak_nocontext is redefined (embed.h, line 5157), having something to
+#   do with PERL_IMPLICIT_CONTEXT, which is discussed in perlguts(1).  This is
+#   just a warning, but looks like it might have nasty consequences.
+# - The declaration of Perl_Gthr_key_ptr() has a problem with its argument of
+#   type pTHX.  if_perl.xs defines that to void if it's not already defined,
+#   but perl.h probably does something else to it, not sure what yet.  This
+#   also appears to have something to do with PERL_IMPLICIT_CONTEXT.
+# CONFIGURE_OPTIONS +=	--enable-perlinterp=dynamic
+CONFIGURE_OPTIONS +=	--enable-pythoninterp=dynamic
+CONFIGURE_OPTIONS +=	--enable-rubyinterp=dynamic
 
 # We build two variants: with and without X support.
 $(NOX_VARIANT)/.configured:	CONFIGURE_OPTIONS += --without-x
--- a/components/vim/gvim.p5m	Thu Jul 07 19:05:29 2011 -0700
+++ b/components/vim/gvim.p5m	Tue May 10 08:58:55 2011 -0700
@@ -29,7 +29,8 @@
 set name=info.classification \
     value=org.opensolaris.category.2008:Development/Editors \
     value="org.opensolaris.category.2008:System/Text Tools"
-set name=info.source_url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.repository_url value=$(COMPONENT_HG_URL)
+set name=info.repository_changeset value=$(COMPONENT_HG_REV)
 set name=info.upstream_url value=http://www.vim.org/
 set name=info.upstream value="vim-dev@vim.org"
 set name=opensolaris.arc_url \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/vim/patches/vim-help.patch	Tue May 10 08:58:55 2011 -0700
@@ -0,0 +1,107 @@
+--- src/ex_cmds.c	Thu Apr 21 16:23:08 2011
++++ src/ex_cmds.c	Thu Apr 21 16:23:08 2011
+@@ -5525,6 +5525,8 @@
+     int		len;
+     char_u	*lang;
+ #endif
++    int		nohelp = FALSE, nominhelp = FALSE;
++    char_u	*mhf = NULL;
+ 
+     if (eap != NULL)
+     {
+@@ -5576,6 +5578,23 @@
+     n = find_help_tags(arg, &num_matches, &matches,
+ 						 eap != NULL && eap->forceit);
+ 
++    /*
++     * If we didn't find the help topic, check to see whether 'helpfile'
++     * (typically $VIMRUNTIME/doc/help.txt) exists.  If not, then we'll send the
++     * user to the minimized help file delivered with the core vim package which
++     * explains why there's no help and how to get it.
++     */
++    if (num_matches == 0 && mch_access((char *)p_hf, F_OK) < 0) {
++	nohelp = TRUE;
++	mhf = alloc(MAXPATHL);
++	STRNCPY(mhf, p_hf, MAXPATHL - 1);
++	mhf[STRLEN(mhf) - 8] = '\0';
++	STRNCAT(mhf, "help_minimized.txt", MAXPATHL - STRLEN(mhf) - 1);
++
++	if (mch_access((char *)mhf, F_OK) < 0)
++	    nominhelp = TRUE;
++    }
++
+     i = 0;
+ #ifdef FEAT_MULTI_LANG
+     if (n != FAIL && lang != NULL)
+@@ -5588,7 +5607,7 @@
+ 		break;
+ 	}
+ #endif
+-    if (i >= num_matches || n == FAIL)
++    if (!nohelp && i >= num_matches || n == FAIL)
+     {
+ #ifdef FEAT_MULTI_LANG
+ 	if (lang != NULL)
+@@ -5601,9 +5620,11 @@
+ 	return;
+     }
+ 
+-    /* The first match (in the requested language) is the best match. */
+-    tag = vim_strsave(matches[i]);
+-    FreeWild(num_matches, matches);
++    if (!nohelp) {
++	/* The first match (in the requested language) is the best match. */
++	tag = vim_strsave(matches[i]);
++	FreeWild(num_matches, matches);
++    }
+ 
+ #ifdef FEAT_GUI
+     need_mouse_correct = TRUE;
+@@ -5635,12 +5656,14 @@
+ 	     * There is no help window yet.
+ 	     * Try to open the file specified by the "helpfile" option.
+ 	     */
+-	    if ((helpfd = mch_fopen((char *)p_hf, READBIN)) == NULL)
+-	    {
+-		smsg((char_u *)_("Sorry, help file \"%s\" not found"), p_hf);
+-		goto erret;
++	    if (!nohelp || nominhelp) {
++		if ((helpfd = mch_fopen((char *)p_hf, READBIN)) == NULL)
++		{
++		    smsg((char_u *)_("Sorry, help file \"%s\" not found"), p_hf);
++		    goto erret;
++		}
++		fclose(helpfd);
+ 	    }
+-	    fclose(helpfd);
+ 
+ #ifdef FEAT_WINDOWS
+ 	    /* Split off help window; put it at far top if no position
+@@ -5671,7 +5694,7 @@
+ 	     * Set the alternate file to the previously edited file.
+ 	     */
+ 	    alt_fnum = curbuf->b_fnum;
+-	    (void)do_ecmd(0, NULL, NULL, NULL, ECMD_LASTL,
++	    (void)do_ecmd(0, mhf, NULL, NULL, ECMD_LASTL,
+ 			  ECMD_HIDE + ECMD_SET_HELP,
+ #ifdef FEAT_WINDOWS
+ 			  NULL  /* buffer is still open, don't store info */
+@@ -5688,7 +5711,7 @@
+     if (!p_im)
+ 	restart_edit = 0;	    /* don't want insert mode in help file */
+ 
+-    if (tag != NULL)
++    if (!nohelp && tag != NULL)
+ 	do_tag(tag, DT_HELP, 1, FALSE, TRUE);
+ 
+     /* Delete the empty buffer if we're not using it.  Careful: autocommands
+@@ -5706,7 +5729,8 @@
+ 	curwin->w_alt_fnum = alt_fnum;
+ 
+ erret:
+-    vim_free(tag);
++    if (!nohelp)
++	vim_free(tag);
+ }
+ 
+ 
--- a/components/vim/vim-core.p5m	Thu Jul 07 19:05:29 2011 -0700
+++ b/components/vim/vim-core.p5m	Tue May 10 08:58:55 2011 -0700
@@ -31,7 +31,8 @@
 set name=info.classification \
     value=org.opensolaris.category.2008:Development/Editors \
     value="org.opensolaris.category.2008:System/Text Tools"
-set name=info.source_url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.repository_url value=$(COMPONENT_HG_URL)
+set name=info.repository_changeset value=$(COMPONENT_HG_REV)
 set name=info.upstream_url value=http://www.vim.org/
 set name=info.upstream value="vim-dev@vim.org"
 set name=opensolaris.arc_url \
--- a/components/vim/vim.p5m	Thu Jul 07 19:05:29 2011 -0700
+++ b/components/vim/vim.p5m	Tue May 10 08:58:55 2011 -0700
@@ -31,7 +31,8 @@
 set name=info.classification \
     value=org.opensolaris.category.2008:Development/Editors \
     value="org.opensolaris.category.2008:System/Text Tools"
-set name=info.source_url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.repository_url value=$(COMPONENT_HG_URL)
+set name=info.repository_changeset value=$(COMPONENT_HG_REV)
 set name=info.upstream_url value=http://www.vim.org/
 set name=info.upstream value="vim-dev@vim.org"
 set name=opensolaris.arc_url \
@@ -76,6 +77,60 @@
 dir path=usr/share/vim/$(VIMVER)/indent
 dir path=usr/share/vim/$(VIMVER)/keymap
 dir path=usr/share/vim/$(VIMVER)/lang
+dir path=usr/share/vim/$(VIMVER)/lang/af
+dir path=usr/share/vim/$(VIMVER)/lang/af/LC_MESSAGES
+dir path=usr/share/vim/$(VIMVER)/lang/ca
+dir path=usr/share/vim/$(VIMVER)/lang/ca/LC_MESSAGES
+dir path=usr/share/vim/$(VIMVER)/lang/cs
+dir path=usr/share/vim/$(VIMVER)/lang/cs/LC_MESSAGES
+dir path=usr/share/vim/$(VIMVER)/lang/de
+dir path=usr/share/vim/$(VIMVER)/lang/de/LC_MESSAGES
+dir path=usr/share/vim/$(VIMVER)/lang/en_GB
+dir path=usr/share/vim/$(VIMVER)/lang/en_GB/LC_MESSAGES
+dir path=usr/share/vim/$(VIMVER)/lang/eo
+dir path=usr/share/vim/$(VIMVER)/lang/eo/LC_MESSAGES
+dir path=usr/share/vim/$(VIMVER)/lang/es
+dir path=usr/share/vim/$(VIMVER)/lang/es/LC_MESSAGES
+dir path=usr/share/vim/$(VIMVER)/lang/fi
+dir path=usr/share/vim/$(VIMVER)/lang/fi/LC_MESSAGES
+dir path=usr/share/vim/$(VIMVER)/lang/fr
+dir path=usr/share/vim/$(VIMVER)/lang/fr/LC_MESSAGES
+dir path=usr/share/vim/$(VIMVER)/lang/ga
+dir path=usr/share/vim/$(VIMVER)/lang/ga/LC_MESSAGES
+dir path=usr/share/vim/$(VIMVER)/lang/it
+dir path=usr/share/vim/$(VIMVER)/lang/it/LC_MESSAGES
+dir path=usr/share/vim/$(VIMVER)/lang/ja
+dir path=usr/share/vim/$(VIMVER)/lang/ja/LC_MESSAGES
+dir path=usr/share/vim/$(VIMVER)/lang/ko
+dir path=usr/share/vim/$(VIMVER)/lang/ko/LC_MESSAGES
+dir path=usr/share/vim/$(VIMVER)/lang/ko.UTF-8
+dir path=usr/share/vim/$(VIMVER)/lang/ko.UTF-8/LC_MESSAGES
+dir path=usr/share/vim/$(VIMVER)/lang/nb
+dir path=usr/share/vim/$(VIMVER)/lang/nb/LC_MESSAGES
+dir path=usr/share/vim/$(VIMVER)/lang/no
+dir path=usr/share/vim/$(VIMVER)/lang/no/LC_MESSAGES
+dir path=usr/share/vim/$(VIMVER)/lang/pl
+dir path=usr/share/vim/$(VIMVER)/lang/pl/LC_MESSAGES
+dir path=usr/share/vim/$(VIMVER)/lang/pt_BR
+dir path=usr/share/vim/$(VIMVER)/lang/pt_BR/LC_MESSAGES
+dir path=usr/share/vim/$(VIMVER)/lang/ru
+dir path=usr/share/vim/$(VIMVER)/lang/ru/LC_MESSAGES
+dir path=usr/share/vim/$(VIMVER)/lang/sk
+dir path=usr/share/vim/$(VIMVER)/lang/sk/LC_MESSAGES
+dir path=usr/share/vim/$(VIMVER)/lang/sv
+dir path=usr/share/vim/$(VIMVER)/lang/sv/LC_MESSAGES
+dir path=usr/share/vim/$(VIMVER)/lang/uk
+dir path=usr/share/vim/$(VIMVER)/lang/uk/LC_MESSAGES
+dir path=usr/share/vim/$(VIMVER)/lang/vi
+dir path=usr/share/vim/$(VIMVER)/lang/vi/LC_MESSAGES
+dir path=usr/share/vim/$(VIMVER)/lang/zh_CN
+dir path=usr/share/vim/$(VIMVER)/lang/zh_CN/LC_MESSAGES
+dir path=usr/share/vim/$(VIMVER)/lang/zh_CN.UTF-8
+dir path=usr/share/vim/$(VIMVER)/lang/zh_CN.UTF-8/LC_MESSAGES
+dir path=usr/share/vim/$(VIMVER)/lang/zh_TW
+dir path=usr/share/vim/$(VIMVER)/lang/zh_TW/LC_MESSAGES
+dir path=usr/share/vim/$(VIMVER)/lang/zh_TW.UTF-8
+dir path=usr/share/vim/$(VIMVER)/lang/zh_TW.UTF-8/LC_MESSAGES
 dir path=usr/share/vim/$(VIMVER)/macros
 dir path=usr/share/vim/$(VIMVER)/macros/hanoi
 dir path=usr/share/vim/$(VIMVER)/macros/life
@@ -153,6 +208,7 @@
 file path=usr/share/vim/$(VIMVER)/autoload/netrwSettings.vim
 file path=usr/share/vim/$(VIMVER)/autoload/paste.vim
 file path=usr/share/vim/$(VIMVER)/autoload/phpcomplete.vim
+file path=usr/share/vim/$(VIMVER)/autoload/python3complete.vim
 file path=usr/share/vim/$(VIMVER)/autoload/pythoncomplete.vim
 file path=usr/share/vim/$(VIMVER)/autoload/rubycomplete.vim
 file path=usr/share/vim/$(VIMVER)/autoload/spellfile.vim
@@ -201,6 +257,7 @@
 file path=usr/share/vim/$(VIMVER)/compiler/bdf.vim
 file path=usr/share/vim/$(VIMVER)/compiler/checkstyle.vim
 file path=usr/share/vim/$(VIMVER)/compiler/cs.vim
+file path=usr/share/vim/$(VIMVER)/compiler/cucumber.vim
 file path=usr/share/vim/$(VIMVER)/compiler/decada.vim
 file path=usr/share/vim/$(VIMVER)/compiler/dot.vim
 file path=usr/share/vim/$(VIMVER)/compiler/eruby.vim
@@ -210,10 +267,13 @@
 file path=usr/share/vim/$(VIMVER)/compiler/fortran_g77.vim
 file path=usr/share/vim/$(VIMVER)/compiler/fortran_lf95.vim
 file path=usr/share/vim/$(VIMVER)/compiler/fpc.vim
+file path=usr/share/vim/$(VIMVER)/compiler/g95.vim
 file path=usr/share/vim/$(VIMVER)/compiler/gcc.vim
+file path=usr/share/vim/$(VIMVER)/compiler/gfortran.vim
 file path=usr/share/vim/$(VIMVER)/compiler/gnat.vim
 file path=usr/share/vim/$(VIMVER)/compiler/hp_acc.vim
 file path=usr/share/vim/$(VIMVER)/compiler/icc.vim
+file path=usr/share/vim/$(VIMVER)/compiler/ifort.vim
 file path=usr/share/vim/$(VIMVER)/compiler/intel.vim
 file path=usr/share/vim/$(VIMVER)/compiler/irix5_c.vim
 file path=usr/share/vim/$(VIMVER)/compiler/irix5_cpp.vim
@@ -269,6 +329,7 @@
 file path=usr/share/vim/$(VIMVER)/doc/helphelp.txt
 file path=usr/share/vim/$(VIMVER)/doc/howto.txt
 file path=usr/share/vim/$(VIMVER)/doc/if_cscop.txt
+file path=usr/share/vim/$(VIMVER)/doc/if_lua.txt
 file path=usr/share/vim/$(VIMVER)/doc/if_mzsch.txt
 file path=usr/share/vim/$(VIMVER)/doc/if_ole.txt
 file path=usr/share/vim/$(VIMVER)/doc/if_perl.txt
@@ -379,7 +440,6 @@
 file path=usr/share/vim/$(VIMVER)/filetype.vim
 file path=usr/share/vim/$(VIMVER)/ftoff.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin.vim
-file path=usr/share/vim/$(VIMVER)/ftplugin/AppendMatchGroup.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/README.txt
 file path=usr/share/vim/$(VIMVER)/ftplugin/a2ps.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/aap.vim
@@ -418,6 +478,7 @@
 file path=usr/share/vim/$(VIMVER)/ftplugin/dictdconf.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/diff.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/dircolors.vim
+file path=usr/share/vim/$(VIMVER)/ftplugin/docbk.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/dosbatch.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/dosini.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/dtd.vim
@@ -425,6 +486,7 @@
 file path=usr/share/vim/$(VIMVER)/ftplugin/elinks.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/eruby.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/eterm.vim
+file path=usr/share/vim/$(VIMVER)/ftplugin/falcon.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/fetchmail.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/flexwiki.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/fortran.vim
@@ -460,6 +522,7 @@
 file path=usr/share/vim/$(VIMVER)/ftplugin/limits.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/liquid.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/lisp.vim
+file path=usr/share/vim/$(VIMVER)/ftplugin/logcheck.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/loginaccess.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/logindefs.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/logtalk.dict
@@ -481,7 +544,6 @@
 file path=usr/share/vim/$(VIMVER)/ftplugin/mplayerconf.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/mrxvtrc.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/msmessages.vim
-file path=usr/share/vim/$(VIMVER)/ftplugin/mupad.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/muttrc.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/nanorc.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/netrc.vim
@@ -494,6 +556,7 @@
 file path=usr/share/vim/$(VIMVER)/ftplugin/passwd.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/pdf.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/perl.vim
+file path=usr/share/vim/$(VIMVER)/ftplugin/perl6.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/php.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/pinfo.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/plaintex.vim
@@ -503,6 +566,7 @@
 file path=usr/share/vim/$(VIMVER)/ftplugin/protocols.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/pyrex.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/python.vim
+file path=usr/share/vim/$(VIMVER)/ftplugin/qf.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/quake.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/racc.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/readline.vim
@@ -514,6 +578,7 @@
 file path=usr/share/vim/$(VIMVER)/ftplugin/sass.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/scheme.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/screen.vim
+file path=usr/share/vim/$(VIMVER)/ftplugin/scss.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/sensors.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/services.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/setserial.vim
@@ -533,6 +598,7 @@
 file path=usr/share/vim/$(VIMVER)/ftplugin/tcsh.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/terminfo.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/tex.vim
+file path=usr/share/vim/$(VIMVER)/ftplugin/treetop.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/udevconf.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/udevperm.vim
 file path=usr/share/vim/$(VIMVER)/ftplugin/udevrules.vim
@@ -555,7 +621,6 @@
 file path=usr/share/vim/$(VIMVER)/ftplugof.vim
 file path=usr/share/vim/$(VIMVER)/gvimrc_example.vim
 file path=usr/share/vim/$(VIMVER)/indent.vim
-file path=usr/share/vim/$(VIMVER)/indent/GenericIndent.vim
 file path=usr/share/vim/$(VIMVER)/indent/README.txt
 file path=usr/share/vim/$(VIMVER)/indent/aap.vim
 file path=usr/share/vim/$(VIMVER)/indent/ada.vim
@@ -588,6 +653,7 @@
 file path=usr/share/vim/$(VIMVER)/indent/erlang.vim
 file path=usr/share/vim/$(VIMVER)/indent/eruby.vim
 file path=usr/share/vim/$(VIMVER)/indent/eterm.vim
+file path=usr/share/vim/$(VIMVER)/indent/falcon.vim
 file path=usr/share/vim/$(VIMVER)/indent/fortran.vim
 file path=usr/share/vim/$(VIMVER)/indent/framescript.vim
 file path=usr/share/vim/$(VIMVER)/indent/gitconfig.vim
@@ -611,7 +677,6 @@
 file path=usr/share/vim/$(VIMVER)/indent/matlab.vim
 file path=usr/share/vim/$(VIMVER)/indent/mma.vim
 file path=usr/share/vim/$(VIMVER)/indent/mp.vim
-file path=usr/share/vim/$(VIMVER)/indent/mupad.vim
 file path=usr/share/vim/$(VIMVER)/indent/objc.vim
 file path=usr/share/vim/$(VIMVER)/indent/ocaml.vim
 file path=usr/share/vim/$(VIMVER)/indent/occam.vim
@@ -630,6 +695,7 @@
 file path=usr/share/vim/$(VIMVER)/indent/ruby.vim
 file path=usr/share/vim/$(VIMVER)/indent/sass.vim
 file path=usr/share/vim/$(VIMVER)/indent/scheme.vim
+file path=usr/share/vim/$(VIMVER)/indent/scss.vim
 file path=usr/share/vim/$(VIMVER)/indent/sdl.vim
 file path=usr/share/vim/$(VIMVER)/indent/sh.vim
 file path=usr/share/vim/$(VIMVER)/indent/sml.vim
@@ -639,6 +705,7 @@
 file path=usr/share/vim/$(VIMVER)/indent/tcsh.vim
 file path=usr/share/vim/$(VIMVER)/indent/tf.vim
 file path=usr/share/vim/$(VIMVER)/indent/tilde.vim
+file path=usr/share/vim/$(VIMVER)/indent/treetop.vim
 file path=usr/share/vim/$(VIMVER)/indent/vb.vim
 file path=usr/share/vim/$(VIMVER)/indent/verilog.vim
 file path=usr/share/vim/$(VIMVER)/indent/vhdl.vim
@@ -718,6 +785,20 @@
 file path=usr/share/vim/$(VIMVER)/keymap/ukrainian-jcuken.vim
 file path=usr/share/vim/$(VIMVER)/keymap/vietnamese-viqr_utf-8.vim
 file path=usr/share/vim/$(VIMVER)/lang/README.txt
+file path=usr/share/vim/$(VIMVER)/lang/af/LC_MESSAGES/vim.mo
+file path=usr/share/vim/$(VIMVER)/lang/ca/LC_MESSAGES/vim.mo
+file path=usr/share/vim/$(VIMVER)/lang/cs/LC_MESSAGES/vim.mo
+file path=usr/share/vim/$(VIMVER)/lang/de/LC_MESSAGES/vim.mo
+file path=usr/share/vim/$(VIMVER)/lang/en_GB/LC_MESSAGES/vim.mo
+file path=usr/share/vim/$(VIMVER)/lang/eo/LC_MESSAGES/vim.mo
+file path=usr/share/vim/$(VIMVER)/lang/es/LC_MESSAGES/vim.mo
+file path=usr/share/vim/$(VIMVER)/lang/fi/LC_MESSAGES/vim.mo
+file path=usr/share/vim/$(VIMVER)/lang/fr/LC_MESSAGES/vim.mo
+file path=usr/share/vim/$(VIMVER)/lang/ga/LC_MESSAGES/vim.mo
+file path=usr/share/vim/$(VIMVER)/lang/it/LC_MESSAGES/vim.mo
+file path=usr/share/vim/$(VIMVER)/lang/ja/LC_MESSAGES/vim.mo
+file path=usr/share/vim/$(VIMVER)/lang/ko.UTF-8/LC_MESSAGES/vim.mo
+file path=usr/share/vim/$(VIMVER)/lang/ko/LC_MESSAGES/vim.mo
 file path=usr/share/vim/$(VIMVER)/lang/menu_af.latin1.vim
 file path=usr/share/vim/$(VIMVER)/lang/menu_af.utf-8.vim
 file path=usr/share/vim/$(VIMVER)/lang/menu_af_af.latin1.vim
@@ -849,6 +930,19 @@
 file path=usr/share/vim/$(VIMVER)/lang/menu_zh_tw.big5.vim
 file path=usr/share/vim/$(VIMVER)/lang/menu_zh_tw.cp950.vim
 file path=usr/share/vim/$(VIMVER)/lang/menu_zh_tw.utf-8.vim
+file path=usr/share/vim/$(VIMVER)/lang/nb/LC_MESSAGES/vim.mo
+file path=usr/share/vim/$(VIMVER)/lang/no/LC_MESSAGES/vim.mo
+file path=usr/share/vim/$(VIMVER)/lang/pl/LC_MESSAGES/vim.mo
+file path=usr/share/vim/$(VIMVER)/lang/pt_BR/LC_MESSAGES/vim.mo
+file path=usr/share/vim/$(VIMVER)/lang/ru/LC_MESSAGES/vim.mo
+file path=usr/share/vim/$(VIMVER)/lang/sk/LC_MESSAGES/vim.mo
+file path=usr/share/vim/$(VIMVER)/lang/sv/LC_MESSAGES/vim.mo
+file path=usr/share/vim/$(VIMVER)/lang/uk/LC_MESSAGES/vim.mo
+file path=usr/share/vim/$(VIMVER)/lang/vi/LC_MESSAGES/vim.mo
+file path=usr/share/vim/$(VIMVER)/lang/zh_CN.UTF-8/LC_MESSAGES/vim.mo
+file path=usr/share/vim/$(VIMVER)/lang/zh_CN/LC_MESSAGES/vim.mo
+file path=usr/share/vim/$(VIMVER)/lang/zh_TW.UTF-8/LC_MESSAGES/vim.mo
+file path=usr/share/vim/$(VIMVER)/lang/zh_TW/LC_MESSAGES/vim.mo
 file path=usr/share/vim/$(VIMVER)/macros/README.txt
 file path=usr/share/vim/$(VIMVER)/macros/dvorak
 file path=usr/share/vim/$(VIMVER)/macros/editexisting.vim
@@ -1035,6 +1129,7 @@
 file path=usr/share/vim/$(VIMVER)/syntax/cynlib.vim
 file path=usr/share/vim/$(VIMVER)/syntax/cynpp.vim
 file path=usr/share/vim/$(VIMVER)/syntax/d.vim
+file path=usr/share/vim/$(VIMVER)/syntax/datascript.vim
 file path=usr/share/vim/$(VIMVER)/syntax/dcd.vim
 file path=usr/share/vim/$(VIMVER)/syntax/dcl.vim
 file path=usr/share/vim/$(VIMVER)/syntax/debchangelog.vim
@@ -1048,9 +1143,11 @@
 file path=usr/share/vim/$(VIMVER)/syntax/dictdconf.vim
 file path=usr/share/vim/$(VIMVER)/syntax/diff.vim
 file path=usr/share/vim/$(VIMVER)/syntax/dircolors.vim
+file path=usr/share/vim/$(VIMVER)/syntax/dirpager.vim
 file path=usr/share/vim/$(VIMVER)/syntax/diva.vim
 file path=usr/share/vim/$(VIMVER)/syntax/django.vim
 file path=usr/share/vim/$(VIMVER)/syntax/dns.vim
+file path=usr/share/vim/$(VIMVER)/syntax/dnsmasq.vim
 file path=usr/share/vim/$(VIMVER)/syntax/docbk.vim
 file path=usr/share/vim/$(VIMVER)/syntax/docbksgml.vim
 file path=usr/share/vim/$(VIMVER)/syntax/docbkxml.vim
@@ -1082,6 +1179,7 @@
 file path=usr/share/vim/$(VIMVER)/syntax/exim.vim
 file path=usr/share/vim/$(VIMVER)/syntax/expect.vim
 file path=usr/share/vim/$(VIMVER)/syntax/exports.vim
+file path=usr/share/vim/$(VIMVER)/syntax/falcon.vim
 file path=usr/share/vim/$(VIMVER)/syntax/fan.vim
 file path=usr/share/vim/$(VIMVER)/syntax/fasm.vim
 file path=usr/share/vim/$(VIMVER)/syntax/fdcc.vim
@@ -1107,6 +1205,7 @@
 file path=usr/share/vim/$(VIMVER)/syntax/gitrebase.vim
 file path=usr/share/vim/$(VIMVER)/syntax/gitsendemail.vim
 file path=usr/share/vim/$(VIMVER)/syntax/gkrellmrc.vim
+file path=usr/share/vim/$(VIMVER)/syntax/gnash.vim
 file path=usr/share/vim/$(VIMVER)/syntax/gnuplot.vim
 file path=usr/share/vim/$(VIMVER)/syntax/gp.vim
 file path=usr/share/vim/$(VIMVER)/syntax/gpg.vim
@@ -1130,6 +1229,7 @@
 file path=usr/share/vim/$(VIMVER)/syntax/hitest.vim
 file path=usr/share/vim/$(VIMVER)/syntax/hog.vim
 file path=usr/share/vim/$(VIMVER)/syntax/hostconf.vim
+file path=usr/share/vim/$(VIMVER)/syntax/hostsaccess.vim
 file path=usr/share/vim/$(VIMVER)/syntax/html.vim
 file path=usr/share/vim/$(VIMVER)/syntax/htmlcheetah.vim
 file path=usr/share/vim/$(VIMVER)/syntax/htmldjango.vim
@@ -1158,6 +1258,7 @@
 file path=usr/share/vim/$(VIMVER)/syntax/javascript.vim
 file path=usr/share/vim/$(VIMVER)/syntax/jess.vim
 file path=usr/share/vim/$(VIMVER)/syntax/jgraph.vim
+file path=usr/share/vim/$(VIMVER)/syntax/jovial.vim
 file path=usr/share/vim/$(VIMVER)/syntax/jproperties.vim
 file path=usr/share/vim/$(VIMVER)/syntax/jsp.vim
 file path=usr/share/vim/$(VIMVER)/syntax/kconfig.vim
@@ -1328,6 +1429,7 @@
 file path=usr/share/vim/$(VIMVER)/syntax/scheme.vim
 file path=usr/share/vim/$(VIMVER)/syntax/scilab.vim
 file path=usr/share/vim/$(VIMVER)/syntax/screen.vim
+file path=usr/share/vim/$(VIMVER)/syntax/scss.vim
 file path=usr/share/vim/$(VIMVER)/syntax/sd.vim
 file path=usr/share/vim/$(VIMVER)/syntax/sdc.vim
 file path=usr/share/vim/$(VIMVER)/syntax/sdl.vim
@@ -1414,6 +1516,7 @@
 file path=usr/share/vim/$(VIMVER)/syntax/tli.vim
 file path=usr/share/vim/$(VIMVER)/syntax/tpp.vim
 file path=usr/share/vim/$(VIMVER)/syntax/trasys.vim
+file path=usr/share/vim/$(VIMVER)/syntax/treetop.vim
 file path=usr/share/vim/$(VIMVER)/syntax/trustees.vim
 file path=usr/share/vim/$(VIMVER)/syntax/tsalt.vim
 file path=usr/share/vim/$(VIMVER)/syntax/tsscl.vim
@@ -1425,6 +1528,7 @@
 file path=usr/share/vim/$(VIMVER)/syntax/udevrules.vim
 file path=usr/share/vim/$(VIMVER)/syntax/uil.vim
 file path=usr/share/vim/$(VIMVER)/syntax/updatedb.vim
+file path=usr/share/vim/$(VIMVER)/syntax/upstart.vim
 file path=usr/share/vim/$(VIMVER)/syntax/valgrind.vim
 file path=usr/share/vim/$(VIMVER)/syntax/vb.vim
 file path=usr/share/vim/$(VIMVER)/syntax/vera.vim
@@ -1494,8 +1598,8 @@
 file path=usr/share/vim/$(VIMVER)/tutor/README.el.txt
 file path=usr/share/vim/$(VIMVER)/tutor/README.txt
 file path=usr/share/vim/$(VIMVER)/tutor/tutor
-file path=usr/share/vim/$(VIMVER)/tutor/tutor.bj
-file path=usr/share/vim/$(VIMVER)/tutor/tutor.bj.utf-8
+file path=usr/share/vim/$(VIMVER)/tutor/tutor.bar
+file path=usr/share/vim/$(VIMVER)/tutor/tutor.bar.utf-8
 file path=usr/share/vim/$(VIMVER)/tutor/tutor.ca
 file path=usr/share/vim/$(VIMVER)/tutor/tutor.ca.utf-8
 file path=usr/share/vim/$(VIMVER)/tutor/tutor.cs
@@ -1532,6 +1636,8 @@
 file path=usr/share/vim/$(VIMVER)/tutor/tutor.pl
 file path=usr/share/vim/$(VIMVER)/tutor/tutor.pl.cp1250
 file path=usr/share/vim/$(VIMVER)/tutor/tutor.pl.utf-8
+file path=usr/share/vim/$(VIMVER)/tutor/tutor.pt
+file path=usr/share/vim/$(VIMVER)/tutor/tutor.pt.utf-8
 file path=usr/share/vim/$(VIMVER)/tutor/tutor.ru
 file path=usr/share/vim/$(VIMVER)/tutor/tutor.ru.cp1251
 file path=usr/share/vim/$(VIMVER)/tutor/tutor.ru.utf-8
--- a/components/vim/vim72-patches/7.2.001	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.001
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.001
-Problem:    Mac: pseudo-ttys don't work properly on Leopard, resulting in the
-            shell not to have a prompt, CTRL-C not working, etc.
-Solution:   Don't use SVR4 compatible ptys, even though they are detected.
-            (Ben Schmidt)
-Files:      src/pty.c
-
-
-*** ../vim-7.2.000/src/pty.c	Wed Aug  6 19:04:29 2008
---- src/pty.c	Fri Aug 15 04:00:34 2008
-***************
-*** 270,278 ****
-  }
-  #endif
-  
-! #if defined(HAVE_SVR4_PTYS) && !defined(PTY_DONE) && !defined(hpux)
-  
-! /* NOTE: Even though HPUX can have /dev/ptmx, the code below doesn't work! */
-  #define PTY_DONE
-      int
-  OpenPTY(ttyn)
---- 270,279 ----
-  }
-  #endif
-  
-! #if defined(HAVE_SVR4_PTYS) && !defined(PTY_DONE) && !defined(hpux) && !defined(MACOS_X)
-  
-! /* NOTE: Even though HPUX can have /dev/ptmx, the code below doesn't work!
-!  * Same for Mac OS X Leopard. */
-  #define PTY_DONE
-      int
-  OpenPTY(ttyn)
-*** ../vim-7.2.000/src/version.c	Sat Aug  9 19:37:37 2008
---- src/version.c	Sun Aug 17 22:56:25 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     1,
-  /**/
-
--- 
-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    ///
--- a/components/vim/vim72-patches/7.2.002	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.002
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.002
-Problem:    Leaking memory when displaying menus.
-Solution:   Free allocated memory. (Dominique Pelle)
-Files:      src/menu.c
-
-
-*** ../vim-7.2.001/src/menu.c	Wed Jun 25 00:19:17 2008
---- src/menu.c	Sat Aug 16 05:38:45 2008
-***************
-*** 1120,1125 ****
---- 1120,1126 ----
-  	parent = menu;
-  	menu = menu->children;
-      }
-+     vim_free(path_name);
-  
-      /* Now we have found the matching menu, and we list the mappings */
-  						    /* Highlight title */
-*** ../vim-7.2.001/src/version.c	Sun Aug 17 23:01:21 2008
---- src/version.c	Sun Aug 17 23:42:53 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     2,
-  /**/
-
--- 
-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    ///
--- a/components/vim/vim72-patches/7.2.003	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.003
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.003
-Problem:    Typo in translated message.  Message not translated.
-Solution:   Correct spelling. Add _(). (Dominique Pelle)
-Files:      src/spell.c, src/version.c
-
-
-*** ../vim-7.2.002/src/spell.c	Tue Jun 24 22:21:31 2008
---- src/spell.c	Sun Aug 10 12:51:38 2008
-***************
-*** 77,83 ****
-  
-  /*
-   * Do the opposite: based on a maximum end score and a known sound score,
-!  * compute the the maximum word score that can be used.
-   */
-  #define MAXSCORE(word_score, sound_score) ((4 * word_score - sound_score) / 3)
-  
---- 77,83 ----
-  
-  /*
-   * Do the opposite: based on a maximum end score and a known sound score,
-!  * compute the maximum word score that can be used.
-   */
-  #define MAXSCORE(word_score, sound_score) ((4 * word_score - sound_score) / 3)
-  
-***************
-*** 625,631 ****
-  /* TRUE if a word appears in the list of banned words.  */
-  #define WAS_BANNED(su, word) (!HASHITEM_EMPTY(hash_find(&su->su_banned, word)))
-  
-! /* Number of suggestions kept when cleaning up.  we need to keep more than
-   * what is displayed, because when rescore_suggestions() is called the score
-   * may change and wrong suggestions may be removed later. */
-  #define SUG_CLEAN_COUNT(su)    ((su)->su_maxcount < 130 ? 150 : (su)->su_maxcount + 20)
---- 625,631 ----
-  /* TRUE if a word appears in the list of banned words.  */
-  #define WAS_BANNED(su, word) (!HASHITEM_EMPTY(hash_find(&su->su_banned, word)))
-  
-! /* Number of suggestions kept when cleaning up.  We need to keep more than
-   * what is displayed, because when rescore_suggestions() is called the score
-   * may change and wrong suggestions may be removed later. */
-  #define SUG_CLEAN_COUNT(su)    ((su)->su_maxcount < 130 ? 150 : (su)->su_maxcount + 20)
-***************
-*** 5980,5986 ****
-  	else if (spin->si_newprefID == 0 || spin->si_newprefID == 127)
-  	    MSG(_("Too many compound flags"));
-  	else
-! 	    MSG(_("Too many posponed prefixes and/or compound flags"));
-      }
-  
-      if (syllable != NULL)
---- 5980,5986 ----
-  	else if (spin->si_newprefID == 0 || spin->si_newprefID == 127)
-  	    MSG(_("Too many compound flags"));
-  	else
-! 	    MSG(_("Too many postponed prefixes and/or compound flags"));
-      }
-  
-      if (syllable != NULL)
-*** ../vim-7.2.002/src/version.c	Sun Aug 17 23:43:53 2008
---- src/version.c	Mon Aug 25 04:06:52 2008
-***************
-*** 790,796 ****
-      MSG_PUTS(_("\nRISC OS version"));
-  #endif
-  #ifdef VMS
-!     MSG_PUTS("\nOpenVMS version");
-  # ifdef HAVE_PATHDEF
-      if (*compiled_arch != NUL)
-      {
---- 792,798 ----
-      MSG_PUTS(_("\nRISC OS version"));
-  #endif
-  #ifdef VMS
-!     MSG_PUTS(_("\nOpenVMS version"));
-  # ifdef HAVE_PATHDEF
-      if (*compiled_arch != NUL)
-      {
-*** ../vim-7.2.002/src/version.c	Sun Aug 17 23:43:53 2008
---- src/version.c	Mon Aug 25 04:06:52 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     3,
-  /**/
-
--- 
-I learned the customs and mannerisms of engineers by observing them, much the
-way Jane Goodall learned about the great apes, but without the hassle of
-grooming.
-				(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    ///
--- a/components/vim/vim72-patches/7.2.004	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.004
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.004
-Problem:    Cscope help message is not translated.
-Solution:   Put it in _(). (Dominique Pelle)
-Files:      src/if_cscope.c, src/if_cscope.h
-
-
-*** ../vim-7.2.003/src/if_cscope.c	Tue Jun 24 23:52:06 2008
---- src/if_cscope.c	Mon Aug 25 04:34:19 2008
-***************
-*** 74,80 ****
-      { "add",	cs_add,
-  		N_("Add a new database"),     "add file|dir [pre-path] [flags]", 0 },
-      { "find",	cs_find,
-! 		N_("Query for a pattern"),    FIND_USAGE, 1 },
-      { "help",	cs_help,
-  		N_("Show this message"),      "help", 0 },
-      { "kill",	cs_kill,
---- 74,80 ----
-      { "add",	cs_add,
-  		N_("Add a new database"),     "add file|dir [pre-path] [flags]", 0 },
-      { "find",	cs_find,
-! 		N_("Query for a pattern"),    "find c|d|e|f|g|i|s|t name", 1 },
-      { "help",	cs_help,
-  		N_("Show this message"),      "help", 0 },
-      { "kill",	cs_kill,
-***************
-*** 1180,1186 ****
-  	(void)smsg((char_u *)_("%-5s: %-30s (Usage: %s)"),
-  				      cmdp->name, _(cmdp->help), cmdp->usage);
-  	if (strcmp(cmdp->name, "find") == 0)
-! 	    MSG_PUTS(FIND_HELP);
-  	cmdp++;
-      }
-  
---- 1180,1195 ----
-  	(void)smsg((char_u *)_("%-5s: %-30s (Usage: %s)"),
-  				      cmdp->name, _(cmdp->help), cmdp->usage);
-  	if (strcmp(cmdp->name, "find") == 0)
-! 	    MSG_PUTS(_("\n"
-! 		       "       c: Find functions calling this function\n"
-! 		       "       d: Find functions called by this function\n"
-! 		       "       e: Find this egrep pattern\n"
-! 		       "       f: Find this file\n"
-! 		       "       g: Find this definition\n"
-! 		       "       i: Find files #including this file\n"
-! 		       "       s: Find this C symbol\n"
-! 		       "       t: Find assignments to\n"));
-! 
-  	cmdp++;
-      }
-  
-*** ../vim-7.2.003/src/if_cscope.h	Thu Sep  6 17:38:58 2007
---- src/if_cscope.h	Mon Aug 25 04:34:17 2008
-***************
-*** 42,58 ****
-   * f 7name	Find this file
-   * i 8name	Find files #including this file
-   */
-- #define	FIND_USAGE "find c|d|e|f|g|i|s|t name"
-- #define FIND_HELP "\n\
--        c: Find functions calling this function\n\
--        d: Find functions called by this function\n\
--        e: Find this egrep pattern\n\
--        f: Find this file\n\
--        g: Find this definition\n\
--        i: Find files #including this file\n\
--        s: Find this C symbol\n\
--        t: Find assignments to\n"
-- 
-  
-  typedef struct {
-      char *  name;
---- 42,47 ----
-*** ../vim-7.2.003/src/version.c	Mon Aug 25 04:12:38 2008
---- src/version.c	Mon Aug 25 04:29:53 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     4,
-  /**/
-
--- 
-If someone questions your market projections, simply point out that your
-target market is "People who are nuts" and "People who will buy any damn
-thing".  Nobody is going to tell you there aren't enough of those people
-to go around.
-				(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    ///
--- a/components/vim/vim72-patches/7.2.005	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.005
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.005
-Problem:    A few problems when profiling.  Using flag pointer instead of flag
-            value.  Allocating zero bytes.  Not freeing used memory.
-Solution:   Remove wrong '&' characters.  Skip dumping when there is nothing
-            to dump.  Free used memory. (Dominique Pelle)
-Files:      src/eval.c
-
-
-*** ../vim-7.2.004/src/eval.c	Fri Aug  8 12:36:31 2008
---- src/eval.c	Mon Aug 25 04:40:11 2008
-***************
-*** 3657,3664 ****
-  }
-  
-  /*
-!  * Return TRUE if typeval "tv" is locked: Either tha value is locked itself or
-!  * it refers to a List or Dictionary that is locked.
-   */
-      static int
-  tv_islocked(tv)
---- 3657,3664 ----
-  }
-  
-  /*
-!  * Return TRUE if typeval "tv" is locked: Either that value is locked itself
-!  * or it refers to a List or Dictionary that is locked.
-   */
-      static int
-  tv_islocked(tv)
-***************
-*** 15838,15847 ****
-      if (res == FAIL)
-  	res = ITEM_COMPARE_FAIL;
-      else
-- 	/* return value has wrong type */
-  	res = get_tv_number_chk(&rettv, &item_compare_func_err);
-      if (item_compare_func_err)
-! 	res = ITEM_COMPARE_FAIL;
-      clear_tv(&rettv);
-      return res;
-  }
---- 15838,15846 ----
-      if (res == FAIL)
-  	res = ITEM_COMPARE_FAIL;
-      else
-  	res = get_tv_number_chk(&rettv, &item_compare_func_err);
-      if (item_compare_func_err)
-! 	res = ITEM_COMPARE_FAIL;  /* return value has wrong type */
-      clear_tv(&rettv);
-      return res;
-  }
-***************
-*** 20590,20595 ****
---- 20589,20597 ----
-      int		st_len = 0;
-  
-      todo = (int)func_hashtab.ht_used;
-+     if (todo == 0)
-+ 	return;     /* nothing to dump */
-+ 
-      sorttab = (ufunc_T **)alloc((unsigned)(sizeof(ufunc_T) * todo));
-  
-      for (hi = func_hashtab.ht_array; todo > 0; ++hi)
-***************
-*** 20638,20643 ****
---- 20640,20647 ----
-  							      prof_self_cmp);
-  	prof_sort_list(fd, sorttab, st_len, "SELF", TRUE);
-      }
-+ 
-+     vim_free(sorttab);
-  }
-  
-      static void
-***************
-*** 21204,21210 ****
-  	if (!fp->uf_profiling && has_profiling(FALSE, fp->uf_name, NULL))
-  	    func_do_profile(fp);
-  	if (fp->uf_profiling
-! 		       || (fc.caller != NULL && &fc.caller->func->uf_profiling))
-  	{
-  	    ++fp->uf_tm_count;
-  	    profile_start(&call_start);
---- 21208,21214 ----
-  	if (!fp->uf_profiling && has_profiling(FALSE, fp->uf_name, NULL))
-  	    func_do_profile(fp);
-  	if (fp->uf_profiling
-! 		       || (fc.caller != NULL && fc.caller->func->uf_profiling))
-  	{
-  	    ++fp->uf_tm_count;
-  	    profile_start(&call_start);
-***************
-*** 21235,21247 ****
-  
-  #ifdef FEAT_PROFILE
-      if (do_profiling == PROF_YES && (fp->uf_profiling
-! 		    || (fc.caller != NULL && &fc.caller->func->uf_profiling)))
-      {
-  	profile_end(&call_start);
-  	profile_sub_wait(&wait_start, &call_start);
-  	profile_add(&fp->uf_tm_total, &call_start);
-  	profile_self(&fp->uf_tm_self, &call_start, &fp->uf_tm_children);
-! 	if (fc.caller != NULL && &fc.caller->func->uf_profiling)
-  	{
-  	    profile_add(&fc.caller->func->uf_tm_children, &call_start);
-  	    profile_add(&fc.caller->func->uf_tml_children, &call_start);
---- 21239,21251 ----
-  
-  #ifdef FEAT_PROFILE
-      if (do_profiling == PROF_YES && (fp->uf_profiling
-! 		    || (fc.caller != NULL && fc.caller->func->uf_profiling)))
-      {
-  	profile_end(&call_start);
-  	profile_sub_wait(&wait_start, &call_start);
-  	profile_add(&fp->uf_tm_total, &call_start);
-  	profile_self(&fp->uf_tm_self, &call_start, &fp->uf_tm_children);
-! 	if (fc.caller != NULL && fc.caller->func->uf_profiling)
-  	{
-  	    profile_add(&fc.caller->func->uf_tm_children, &call_start);
-  	    profile_add(&fc.caller->func->uf_tml_children, &call_start);
-*** ../vim-7.2.004/src/version.c	Mon Aug 25 04:35:13 2008
---- src/version.c	Mon Aug 25 04:46:44 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     5,
-  /**/
-
--- 
-The process for understanding customers primarily involves sitting around with
-other marketing people and talking about what you would to if you were dumb
-enough to be a customer.
-				(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    ///
--- a/components/vim/vim72-patches/7.2.006	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.006
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.006
-Problem:    HTML files are not recognized by contents.
-Solution:   Add a rule to the scripts file. (Nico Weber)
-Files:      runtime/scripts.vim
-
-
-*** ../vim-7.2.005/runtime/scripts.vim	Sat Aug  9 19:37:09 2008
---- runtime/scripts.vim	Sat Aug 16 04:05:34 2008
-***************
-*** 234,239 ****
---- 234,243 ----
-    elseif s:line1 =~ '\<DTD\s\+XHTML\s'
-      set ft=xhtml
-  
-+     " HTML (e.g.: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN")
-+   elseif s:line1 =~? '\<DOCTYPE\s\+html\>'
-+     set ft=html
-+ 
-      " PDF
-    elseif s:line1 =~ '^%PDF-'
-      set ft=pdf
-*** ../vim-7.2.005/src/version.c	Mon Aug 25 04:48:21 2008
---- src/version.c	Mon Aug 25 05:02:34 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     6,
-  /**/
-
--- 
-Never enter the boss's office unless it's absolutely necessary.  Every boss
-saves one corner of the desk for useless assignments that are doled out like
-Halloween candy to each visitor.
-				(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    ///
--- a/components/vim/vim72-patches/7.2.008	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.008
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.008
-Problem:    With a BufHidden autocommand that invokes ":bunload" the window
-	    count for a buffer can be wrong. (Bob Hiestand)
-Solution:   Don't call enter_buffer() when already in that buffer.
-Files:	    src/buffer.c
-
-
-*** ../vim-7.2.007/src/buffer.c	Wed Aug  6 18:32:40 2008
---- src/buffer.c	Mon Sep  1 14:25:45 2008
-***************
-*** 1351,1361 ****
-  	}
-      }
-  #ifdef FEAT_AUTOCMD
-  # ifdef FEAT_EVAL
-!     /* An autocommand may have deleted buf or aborted the script processing! */
-!     if (buf_valid(buf) && !aborting())
-  # else
-!     if (buf_valid(buf))	    /* an autocommand may have deleted buf! */
-  # endif
-  #endif
-  	enter_buffer(buf);
---- 1351,1362 ----
-  	}
-      }
-  #ifdef FEAT_AUTOCMD
-+     /* An autocommand may have deleted "buf", already entered it (e.g., when
-+      * it did ":bunload") or aborted the script processing! */
-  # ifdef FEAT_EVAL
-!     if (buf_valid(buf) && buf != curbuf && !aborting())
-  # else
-!     if (buf_valid(buf) && buf != curbuf)
-  # endif
-  #endif
-  	enter_buffer(buf);
-*** ../vim-7.2.007/src/version.c	Mon Sep  1 16:50:09 2008
---- src/version.c	Mon Sep  1 17:31:28 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     8,
-  /**/
-
--- 
-If Pacman had affected us as kids we'd be running around in dark rooms,
-munching pills and listening to repetitive music.
-                       -- Marcus Brigstocke
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.009	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.009
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.009
-Problem:    Can't compile with Perl 5.10 on MS-Windows. (Cesar Romani)
-Solution:   Add the Perl_sv_free2 function for dynamic loading. (Dan Sharp)
-Files:	    src/if_perl.xs
-
-
-*** ../vim-7.2.008/src/if_perl.xs	Thu Jul 24 16:24:15 2008
---- src/if_perl.xs	Mon Sep  1 14:58:37 2008
-***************
-*** 136,141 ****
---- 136,144 ----
-  #  define Perl_newXS_flags dll_Perl_newXS_flags
-  #endif
-  # define Perl_sv_free dll_Perl_sv_free
-+ # if (PERL_REVISION == 5) && (PERL_VERSION >= 10)
-+ #  define Perl_sv_free2 dll_Perl_sv_free2
-+ # endif
-  # define Perl_sv_isa dll_Perl_sv_isa
-  # define Perl_sv_magic dll_Perl_sv_magic
-  # define Perl_sv_setiv dll_Perl_sv_setiv
-***************
-*** 268,273 ****
---- 271,277 ----
-  static void (*boot_DynaLoader)_((pTHX_ CV*));
-  
-  #if (PERL_REVISION == 5) && (PERL_VERSION >= 10)
-+ static void (*Perl_sv_free2)(pTHX_ SV*);
-  static void (*Perl_sys_init3)(int* argc, char*** argv, char*** env);
-  static void (*Perl_sys_term)(void);
-  static SV** (*Perl_ISv_ptr)(register PerlInterpreter*);
-***************
-*** 367,372 ****
---- 371,377 ----
-      {"Perl_TXpv_ptr", (PERL_PROC*)&Perl_TXpv_ptr},
-      {"Perl_Tna_ptr", (PERL_PROC*)&Perl_Tna_ptr},
-  #else
-+     {"Perl_sv_free2", (PERL_PROC*)&Perl_sv_free2},
-      {"Perl_sys_init3", (PERL_PROC*)&Perl_sys_init3},
-      {"Perl_sys_term", (PERL_PROC*)&Perl_sys_term},
-      {"Perl_ISv_ptr", (PERL_PROC*)&Perl_ISv_ptr},
-*** ../vim-7.2.008/src/version.c	Mon Sep  1 17:32:40 2008
---- src/version.c	Mon Sep  1 17:55:24 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     9,
-  /**/
-
--- 
-How To Keep A Healthy Level Of Insanity:
-11. Specify that your drive-through order is "to go".
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.010	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,206 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.010
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.010
-Problem:    When using "K" in Visual mode not all characters are properly
-	    escaped. (Ben Schmidt)
-Solution:   Use a function with the functionality of shellescape(). (Jan
-	    Minar)
-Files:	    src/mbyte.c, src/misc2.c, src/normal.c
-
-
-*** ../vim-7.2.009/src/mbyte.c	Wed Aug  6 18:45:36 2008
---- src/mbyte.c	Wed Sep  3 22:34:48 2008
-***************
-*** 2540,2546 ****
-      return (int)(p - q);
-  }
-  
-- #if defined(FEAT_EVAL) || defined(PROTO)
-  /*
-   * Copy a character from "*fp" to "*tp" and advance the pointers.
-   */
---- 2540,2545 ----
-***************
-*** 2555,2561 ****
-      *tp += l;
-      *fp += l;
-  }
-- #endif
-  
-  /*
-   * Return the offset from "p" to the first byte of a character.  When "p" is
---- 2554,2559 ----
-*** ../vim-7.2.009/src/misc2.c	Thu Jul 24 20:28:58 2008
---- src/misc2.c	Wed Sep  3 22:05:21 2008
-***************
-*** 1257,1263 ****
-      return escaped_string;
-  }
-  
-- #if !defined(BACKSLASH_IN_FILENAME) || defined(FEAT_EVAL) || defined(PROTO)
-  /*
-   * Return TRUE when 'shell' has "csh" in the tail.
-   */
---- 1257,1262 ----
-***************
-*** 1266,1274 ****
-  {
-      return (strstr((char *)gettail(p_sh), "csh") != NULL);
-  }
-- #endif
-  
-- #if defined(FEAT_EVAL) || defined(PROTO)
-  /*
-   * Escape "string" for use as a shell argument with system().
-   * This uses single quotes, except when we know we need to use double qoutes
---- 1265,1271 ----
-***************
-*** 1391,1397 ****
-  
-      return escaped_string;
-  }
-- #endif
-  
-  /*
-   * Like vim_strsave(), but make all characters uppercase.
---- 1388,1393 ----
-*** ../vim-7.2.009/src/normal.c	Thu Jul 31 22:03:54 2008
---- src/normal.c	Sat Sep  6 15:06:07 2008
-***************
-*** 5469,5474 ****
---- 5469,5479 ----
-  		STRCPY(buf, "he! ");
-  	    else
-  	    {
-+ 		/* An external command will probably use an argument starting
-+ 		 * with "-" as an option.  To avoid trouble we skip the "-". */
-+ 		while (*ptr == '-')
-+ 		    ++ptr;
-+ 
-  		/* When a count is given, turn it into a range.  Is this
-  		 * really what we want? */
-  		isman = (STRCMP(kp, "man") == 0);
-***************
-*** 5511,5547 ****
-      /*
-       * Now grab the chars in the identifier
-       */
-!     if (cmdchar == '*')
-! 	aux_ptr = (char_u *)(p_magic ? "/.*~[^$\\" : "/^$\\");
-!     else if (cmdchar == '#')
-! 	aux_ptr = (char_u *)(p_magic ? "/?.*~[^$\\" : "/?^$\\");
-!     else if (cmdchar == 'K' && !kp_help)
-! 	aux_ptr = (char_u *)" \t\\\"|!";
-!     else
-! 	/* Don't escape spaces and Tabs in a tag with a backslash */
-! 	aux_ptr = (char_u *)"\\|\"";
-! 
-!     p = buf + STRLEN(buf);
-!     while (n-- > 0)
-!     {
-! 	/* put a backslash before \ and some others */
-! 	if (vim_strchr(aux_ptr, *ptr) != NULL)
-! 	    *p++ = '\\';
-! #ifdef FEAT_MBYTE
-! 	/* When current byte is a part of multibyte character, copy all bytes
-! 	 * of that character. */
-! 	if (has_mbyte)
-  	{
-! 	    int i;
-! 	    int len = (*mb_ptr2len)(ptr) - 1;
-! 
-! 	    for (i = 0; i < len && n >= 1; ++i, --n)
-! 		*p++ = *ptr++;
-  	}
-  #endif
-! 	*p++ = *ptr++;
-      }
--     *p = NUL;
-  
-      /*
-       * Execute the command.
---- 5516,5572 ----
-      /*
-       * Now grab the chars in the identifier
-       */
-!     if (cmdchar == 'K' && !kp_help)
-!     {
-! 	/* Escape the argument properly for a shell command */
-! 	p = vim_strsave_shellescape(ptr, TRUE);
-! 	if (p == NULL)
-  	{
-! 	    vim_free(buf);
-! 	    return;
-  	}
-+ 	buf = (char_u *)vim_realloc(buf, STRLEN(buf) + STRLEN(p) + 1);
-+ 	if (buf == NULL)
-+ 	{
-+ 	    vim_free(buf);
-+ 	    vim_free(p);
-+ 	    return;
-+ 	}
-+ 	STRCAT(buf, p);
-+ 	vim_free(p);
-+     }
-+     else
-+     {
-+ 	if (cmdchar == '*')
-+ 	    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);
-+ 	while (n-- > 0)
-+ 	{
-+ 	    /* put a backslash before \ and some others */
-+ 	    if (vim_strchr(aux_ptr, *ptr) != NULL)
-+ 		*p++ = '\\';
-+ #ifdef FEAT_MBYTE
-+ 	    /* When current byte is a part of multibyte character, copy all
-+ 	     * bytes of that character. */
-+ 	    if (has_mbyte)
-+ 	    {
-+ 		int i;
-+ 		int len = (*mb_ptr2len)(ptr) - 1;
-+ 
-+ 		for (i = 0; i < len && n >= 1; ++i, --n)
-+ 		    *p++ = *ptr++;
-+ 	    }
-  #endif
-! 	    *p++ = *ptr++;
-! 	}
-! 	*p = NUL;
-      }
-  
-      /*
-       * Execute the command.
-*** ../vim-7.2.009/src/version.c	Mon Sep  1 17:56:05 2008
---- src/version.c	Sat Sep  6 16:26:42 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     10,
-  /**/
-
--- 
-Q. What happens to programmers when they die?
-A: MS-Windows programmers are reinstalled.  C++ programmers become undefined,
-   anyone who refers to them will die as well.  Java programmers reincarnate
-   after being garbage collected.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.011	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.011
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.011
-Problem:    Get an error when inserting a float value from the expression
-	    register.
-Solution:   Convert the Float to a String automatically in the same place
-	    where a List would be converted to a String.
-Files:	    src/eval.c
-
-
-*** ../vim-7.2.010/src/eval.c	Mon Aug 25 04:48:21 2008
---- src/eval.c	Sun Sep  7 13:50:38 2008
-***************
-*** 1256,1278 ****
-  
-  /*
-   * Top level evaluation function, returning a string.
-   * Return pointer to allocated memory, or NULL for failure.
-   */
-      char_u *
-! eval_to_string(arg, nextcmd, dolist)
-      char_u	*arg;
-      char_u	**nextcmd;
-!     int		dolist;		/* turn List into sequence of lines */
-  {
-      typval_T	tv;
-      char_u	*retval;
-      garray_T	ga;
-  
-      if (eval0(arg, &tv, nextcmd, TRUE) == FAIL)
-  	retval = NULL;
-      else
-      {
-! 	if (dolist && tv.v_type == VAR_LIST)
-  	{
-  	    ga_init2(&ga, (int)sizeof(char), 80);
-  	    if (tv.vval.v_list != NULL)
---- 1256,1281 ----
-  
-  /*
-   * Top level evaluation function, returning a string.
-+  * When "convert" is TRUE convert a List into a sequence of lines and convert
-+  * a Float to a String.
-   * Return pointer to allocated memory, or NULL for failure.
-   */
-      char_u *
-! eval_to_string(arg, nextcmd, convert)
-      char_u	*arg;
-      char_u	**nextcmd;
-!     int		convert;
-  {
-      typval_T	tv;
-      char_u	*retval;
-      garray_T	ga;
-+     char_u	numbuf[NUMBUFLEN];
-  
-      if (eval0(arg, &tv, nextcmd, TRUE) == FAIL)
-  	retval = NULL;
-      else
-      {
-! 	if (convert && tv.v_type == VAR_LIST)
-  	{
-  	    ga_init2(&ga, (int)sizeof(char), 80);
-  	    if (tv.vval.v_list != NULL)
-***************
-*** 1280,1285 ****
---- 1283,1295 ----
-  	    ga_append(&ga, NUL);
-  	    retval = (char_u *)ga.ga_data;
-  	}
-+ #ifdef FEAT_FLOAT
-+ 	else if (convert && tv.v_type == VAR_FLOAT)
-+ 	{
-+ 	    vim_snprintf((char *)numbuf, NUMBUFLEN, "%g", tv.vval.v_float);
-+ 	    retval = vim_strsave(numbuf);
-+ 	}
-+ #endif
-  	else
-  	    retval = vim_strsave(get_tv_string(&tv));
-  	clear_tv(&tv);
-*** ../vim-7.2.010/src/version.c	Sat Sep  6 16:44:06 2008
---- src/version.c	Sun Sep  7 13:52:00 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     11,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-34. You laugh at people with 14400 baud modems.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.012	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.012
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.012
-Problem:    Compiler warnings when building with startup timing.
-Solution:   Add type casts.
-Files:	    src/ex_cmds2.c
-
-
-*** ../vim-7.2.011/src/ex_cmds2.c	Sun Jul 13 19:36:09 2008
---- src/ex_cmds2.c	Tue Sep  2 11:14:41 2008
-***************
-*** 3145,3152 ****
-  	verbose_leave();
-      }
-  #ifdef STARTUPTIME
-!     vim_snprintf(IObuff, IOSIZE, "sourcing %s", fname);
-!     time_msg(IObuff, &tv_start);
-      time_pop(&tv_rel);
-  #endif
-  
---- 3145,3152 ----
-  	verbose_leave();
-      }
-  #ifdef STARTUPTIME
-!     vim_snprintf((char *)IObuff, IOSIZE, "sourcing %s", fname);
-!     time_msg((char *)IObuff, &tv_start);
-      time_pop(&tv_rel);
-  #endif
-  
-*** ../vim-7.2.011/src/version.c	Sun Sep  7 13:54:31 2008
---- src/version.c	Sun Sep  7 15:49:00 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     12,
-  /**/
-
--- 
-He who laughs last, thinks slowest.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.013	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.013
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.013
-Problem:    While waiting for the X selection Vim consumes a lot of CPU time
-	    and hangs until a response is received.
-Solution:   Sleep a bit when the selection event hasn't been received yet.
-	    Time out after a couple of seconds to avoid a hang when the
-	    selection owner isn't responding.
-Files:	    src/ui.c
-
-
-*** ../vim-7.2.012/src/ui.c	Mon Jul 14 21:47:49 2008
---- src/ui.c	Sun Sep  7 16:54:35 2008
-***************
-*** 2110,2115 ****
---- 2110,2117 ----
-      int		i;
-      int		nbytes = 0;
-      char_u	*buffer;
-+     time_t	start_time;
-+     int		timed_out = FALSE;
-  
-      for (i =
-  #ifdef FEAT_MBYTE
-***************
-*** 2129,2134 ****
---- 2131,2137 ----
-  	    case 3:  type = text_atom;		break;
-  	    default: type = XA_STRING;
-  	}
-+ 	success = FALSE;
-  	XtGetSelectionValue(myShell, cbd->sel_atom, type,
-  	    clip_x11_request_selection_cb, (XtPointer)&success, CurrentTime);
-  
-***************
-*** 2141,2167 ****
-  	 * characters, then they will appear before the one that requested the
-  	 * paste!  Don't worry, we will catch up with any other events later.
-  	 */
-  	for (;;)
-  	{
-  	    if (XCheckTypedEvent(dpy, SelectionNotify, &event))
-  		break;
-  	    if (XCheckTypedEvent(dpy, SelectionRequest, &event))
-  		/* We may get a SelectionRequest here and if we don't handle
-  		 * it we hang.  KDE klipper does this, for example. */
-  		XtDispatchEvent(&event);
-  
-  	    /* Do we need this?  Probably not. */
-  	    XSync(dpy, False);
-  
-! 	    /* Bernhard Walle solved a slow paste response in an X terminal by
-! 	     * adding: usleep(10000); here. */
-  	}
-  
-- 	/* this is where clip_x11_request_selection_cb() is actually called */
-- 	XtDispatchEvent(&event);
-- 
-  	if (success)
-  	    return;
-      }
-  
-      /* Final fallback position - use the X CUT_BUFFER0 store */
---- 2144,2189 ----
-  	 * characters, then they will appear before the one that requested the
-  	 * paste!  Don't worry, we will catch up with any other events later.
-  	 */
-+ 	start_time = time(NULL);
-  	for (;;)
-  	{
-  	    if (XCheckTypedEvent(dpy, SelectionNotify, &event))
-+ 	    {
-+ 		/* this is where clip_x11_request_selection_cb() is actually
-+ 		 * called */
-+ 		XtDispatchEvent(&event);
-  		break;
-+ 	    }
-  	    if (XCheckTypedEvent(dpy, SelectionRequest, &event))
-  		/* We may get a SelectionRequest here and if we don't handle
-  		 * it we hang.  KDE klipper does this, for example. */
-  		XtDispatchEvent(&event);
-  
-+ 	    /* Time out after 2 to 3 seconds to avoid that we hang when the
-+ 	     * other process doesn't respond.  Note that the SelectionNotify
-+ 	     * event may still come later when the selection owner comes back
-+ 	     * to life and the text gets inserted unexpectedly (by xterm).
-+ 	     * Don't know how to avoid that :-(. */
-+ 	    if (time(NULL) > start_time + 2)
-+ 	    {
-+ 		timed_out = TRUE;
-+ 		break;
-+ 	    }
-+ 
-  	    /* Do we need this?  Probably not. */
-  	    XSync(dpy, False);
-  
-! 	    /* Wait for 1 msec to avoid that we eat up all CPU time. */
-! 	    ui_delay(1L, TRUE);
-  	}
-  
-  	if (success)
-  	    return;
-+ 
-+ 	/* don't do a retry with another type after timing out, otherwise we
-+ 	 * hang for 15 seconds. */
-+ 	if (timed_out)
-+ 	    break;
-      }
-  
-      /* Final fallback position - use the X CUT_BUFFER0 store */
-*** ../vim-7.2.012/src/version.c	Sun Sep  7 15:49:45 2008
---- src/version.c	Sun Sep  7 21:45:55 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     13,
-  /**/
-
--- 
-The users that I support would double-click on a landmine to find out
-what happens.				-- A system administrator
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.014	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.014
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.014
-Problem:    synstack() doesn't work in an emptly line.
-Solution:   Accept column zero as a valid position.
-Files:	    src/eval.c
-
-
-*** ../vim-7.2.013/src/eval.c	Sun Sep  7 13:54:31 2008
---- src/eval.c	Sun Sep  7 13:50:38 2008
-***************
-*** 16667,16673 ****
-      col = get_tv_number(&argvars[1]) - 1;	/* -1 on type error */
-  
-      if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count
-! 	    && col >= 0 && col < (long)STRLEN(ml_get(lnum))
-  	    && rettv_list_alloc(rettv) != FAIL)
-      {
-  	(void)syn_get_id(curwin, lnum, (colnr_T)col, FALSE, NULL, TRUE);
---- 16667,16673 ----
-      col = get_tv_number(&argvars[1]) - 1;	/* -1 on type error */
-  
-      if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count
-! 	    && col >= 0 && (col == 0 || col < (long)STRLEN(ml_get(lnum)))
-  	    && rettv_list_alloc(rettv) != FAIL)
-      {
-  	(void)syn_get_id(curwin, lnum, (colnr_T)col, FALSE, NULL, TRUE);
-*** ../vim-7.2.013/src/version.c	Sun Sep  7 21:47:51 2008
---- src/version.c	Wed Sep 10 15:36:52 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     14,
-  /**/
-
--- 
-Everybody lies, but it doesn't matter since nobody listens.
-                                -- Lieberman's Law
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.015	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.015
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.015
-Problem:    "make all test install" doesn't stop when the test fails. (Daniel
-	    Shahaf)
-Solution:   When test.log contains failures exit with non-zero status.
-Files:	    src/testdir/Makefile
-
-
-*** ../vim-7.2.014/src/testdir/Makefile	Wed Jun 25 00:22:53 2008
---- src/testdir/Makefile	Sun Sep  7 21:31:49 2008
-***************
-*** 26,40 ****
-  
-  .SUFFIXES: .in .out
-  
-! nongui:	nolog $(SCRIPTS)
-! 	@echo
-! 	@cat test.log
-! 	@echo ALL DONE
-  
-! gui:	nolog $(SCRIPTS) $(SCRIPTS_GUI)
-  	@echo
-! 	@cat test.log
-! 	@echo ALL DONE
-  
-  $(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG)
-  
---- 26,42 ----
-  
-  .SUFFIXES: .in .out
-  
-! nongui:	nolog $(SCRIPTS) report
-! 
-! gui:	nolog $(SCRIPTS) $(SCRIPTS_GUI) report
-  
-! report:
-  	@echo
-! 	@echo 'Test results:'
-! 	@/bin/sh -c "if test -f test.log; \
-! 		then cat test.log; echo TEST FAILURE; exit 1; \
-! 		else echo ALL DONE; \
-! 		fi"
-  
-  $(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG)
-  
-***************
-*** 71,74 ****
-  test60.out: test60.vim
-  
-  nolog:
-! 	-echo Test results: >test.log
---- 73,76 ----
-  test60.out: test60.vim
-  
-  nolog:
-! 	-rm -f test.log
-*** ../vim-7.2.014/src/version.c	Wed Sep 10 15:38:13 2008
---- src/version.c	Wed Sep 10 18:23:38 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     15,
-  /**/
-
--- 
-Light travels faster than sound.  This is why some people
-appear bright until you hear them speak
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.016	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.016
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.016
-Problem:    The pattern being completed may be in freed memory when the
-	    command line is being reallocated. (Dominique Pelle)
-Solution:   Keep a pointer to the expand_T in the command line structure.
-	    Don't use <S-Tab> as CTRL-P when there are no results.  Clear the
-	    completion when using a command line from the history.
-Files:	    src/ex_getln.c
-
-
-*** ../vim-7.2.015/src/ex_getln.c	Fri Aug  8 12:58:59 2008
---- src/ex_getln.c	Wed Sep 10 22:43:41 2008
-***************
-*** 31,36 ****
---- 31,38 ----
-      int		cmdattr;	/* attributes for prompt */
-      int		overstrike;	/* Typing mode on the command line.  Shared by
-  				   getcmdline() and put_on_cmdline(). */
-+     expand_T	*xpc;		/* struct being used for expansion, xp_pattern
-+ 				   may point into cmdbuff */
-      int		xp_context;	/* type of expansion */
-  # ifdef FEAT_EVAL
-      char_u	*xp_arg;	/* user-defined expansion arg */
-***************
-*** 38,44 ****
-  # endif
-  };
-  
-! static struct cmdline_info ccline;	/* current cmdline_info */
-  
-  static int	cmd_showtail;		/* Only show path tail in lists ? */
-  
---- 40,50 ----
-  # endif
-  };
-  
-! /* The current cmdline_info.  It is initialized in getcmdline() and after that
-!  * used by other functions.  When invoking getcmdline() recursively it needs
-!  * to be saved with save_cmdline() and restored with restore_cmdline().
-!  * TODO: make it local to getcmdline() and pass it around. */
-! static struct cmdline_info ccline;
-  
-  static int	cmd_showtail;		/* Only show path tail in lists ? */
-  
-***************
-*** 238,243 ****
---- 244,250 ----
-      }
-  
-      ExpandInit(&xpc);
-+     ccline.xpc = &xpc;
-  
-  #ifdef FEAT_RIGHTLEFT
-      if (curwin->w_p_rl && *curwin->w_p_rlc == 's'
-***************
-*** 408,416 ****
-  #endif
-  
-  	/*
-! 	 * <S-Tab> works like CTRL-P (unless 'wc' is <S-Tab>).
-  	 */
-! 	if (c != p_wc && c == K_S_TAB && xpc.xp_numfiles != -1)
-  	    c = Ctrl_P;
-  
-  #ifdef FEAT_WILDMENU
---- 415,424 ----
-  #endif
-  
-  	/*
-! 	 * When there are matching completions to select <S-Tab> works like
-! 	 * CTRL-P (unless 'wc' is <S-Tab>).
-  	 */
-! 	if (c != p_wc && c == K_S_TAB && xpc.xp_numfiles > 0)
-  	    c = Ctrl_P;
-  
-  #ifdef FEAT_WILDMENU
-***************
-*** 1513,1518 ****
---- 1521,1527 ----
-  		    int		old_firstc;
-  
-  		    vim_free(ccline.cmdbuff);
-+ 		    xpc.xp_context = EXPAND_NOTHING;
-  		    if (hiscnt == hislen)
-  			p = lookfor;	/* back to the old one */
-  		    else
-***************
-*** 1839,1844 ****
---- 1848,1854 ----
-  #endif
-  
-      ExpandCleanup(&xpc);
-+     ccline.xpc = NULL;
-  
-  #ifdef FEAT_SEARCH_EXTRA
-      if (did_incsearch)
-***************
-*** 2508,2513 ****
---- 2518,2537 ----
-      }
-      mch_memmove(ccline.cmdbuff, p, (size_t)ccline.cmdlen + 1);
-      vim_free(p);
-+ 
-+     if (ccline.xpc != NULL
-+ 	    && ccline.xpc->xp_pattern != NULL
-+ 	    && ccline.xpc->xp_context != EXPAND_NOTHING
-+ 	    && ccline.xpc->xp_context != EXPAND_UNSUCCESSFUL)
-+     {
-+ 	int i = ccline.xpc->xp_pattern - p;
-+ 
-+ 	/* If xp_pattern points inside the old cmdbuff it needs to be adjusted
-+ 	 * to point into the newly allocated memory. */
-+ 	if (i >= 0 && i <= ccline.cmdlen)
-+ 	    ccline.xpc->xp_pattern = ccline.cmdbuff + i;
-+     }
-+ 
-      return OK;
-  }
-  
-***************
-*** 2875,2880 ****
---- 2899,2905 ----
-      prev_ccline = ccline;
-      ccline.cmdbuff = NULL;
-      ccline.cmdprompt = NULL;
-+     ccline.xpc = NULL;
-  }
-  
-  /*
-***************
-*** 3582,3587 ****
---- 3607,3613 ----
-  ExpandInit(xp)
-      expand_T	*xp;
-  {
-+     xp->xp_pattern = NULL;
-      xp->xp_backslash = XP_BS_NONE;
-  #ifndef BACKSLASH_IN_FILENAME
-      xp->xp_shell = FALSE;
-*** ../vim-7.2.015/src/version.c	Wed Sep 10 18:25:18 2008
---- src/version.c	Sun Sep 14 14:38:47 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     16,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-53. To find out what time it is, you send yourself an e-mail and check the
-    "Date:" field.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.017	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.017
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.017
-Problem:    strlen() used on text that may not end in a NUL. (Dominique Pelle)
-	    Pasting a very big selection doesn't work.
-Solution:   Use the length passed to the XtSelectionCallbackProc() function.
-	    After getting the SelectionNotify event continue dispatching
-	    events until the callback is actually called.  Also dispatch the
-	    PropertyNotify event.
-Files:	    src/ui.c
-
-
-*** ../vim-7.2.016/src/ui.c	Sun Sep  7 21:47:51 2008
---- src/ui.c	Sun Sep 14 15:52:19 2008
-***************
-*** 2020,2026 ****
-  
-      if (value == NULL || *length == 0)
-      {
-! 	clip_free_selection(cbd);	/* ???  [what's the query?] */
-  	*(int *)success = FALSE;
-  	return;
-      }
---- 2020,2026 ----
-  
-      if (value == NULL || *length == 0)
-      {
-! 	clip_free_selection(cbd);	/* nothing received, clear register */
-  	*(int *)success = FALSE;
-  	return;
-      }
-***************
-*** 2076,2082 ****
-  	text_prop.value = (unsigned char *)value;
-  	text_prop.encoding = *type;
-  	text_prop.format = *format;
-! 	text_prop.nitems = STRLEN(value);
-  	status = XmbTextPropertyToTextList(X_DISPLAY, &text_prop,
-  							 &text_list, &n_text);
-  	if (status != Success || n_text < 1)
---- 2076,2082 ----
-  	text_prop.value = (unsigned char *)value;
-  	text_prop.encoding = *type;
-  	text_prop.format = *format;
-! 	text_prop.nitems = len;
-  	status = XmbTextPropertyToTextList(X_DISPLAY, &text_prop,
-  							 &text_list, &n_text);
-  	if (status != Success || n_text < 1)
-***************
-*** 2131,2137 ****
-  	    case 3:  type = text_atom;		break;
-  	    default: type = XA_STRING;
-  	}
-! 	success = FALSE;
-  	XtGetSelectionValue(myShell, cbd->sel_atom, type,
-  	    clip_x11_request_selection_cb, (XtPointer)&success, CurrentTime);
-  
---- 2131,2137 ----
-  	    case 3:  type = text_atom;		break;
-  	    default: type = XA_STRING;
-  	}
-! 	success = MAYBE;
-  	XtGetSelectionValue(myShell, cbd->sel_atom, type,
-  	    clip_x11_request_selection_cb, (XtPointer)&success, CurrentTime);
-  
-***************
-*** 2145,2169 ****
-  	 * paste!  Don't worry, we will catch up with any other events later.
-  	 */
-  	start_time = time(NULL);
-! 	for (;;)
-  	{
-! 	    if (XCheckTypedEvent(dpy, SelectionNotify, &event))
-  	    {
-! 		/* this is where clip_x11_request_selection_cb() is actually
-! 		 * called */
-  		XtDispatchEvent(&event);
-! 		break;
-  	    }
-- 	    if (XCheckTypedEvent(dpy, SelectionRequest, &event))
-- 		/* We may get a SelectionRequest here and if we don't handle
-- 		 * it we hang.  KDE klipper does this, for example. */
-- 		XtDispatchEvent(&event);
-  
-  	    /* Time out after 2 to 3 seconds to avoid that we hang when the
-  	     * other process doesn't respond.  Note that the SelectionNotify
-  	     * event may still come later when the selection owner comes back
-! 	     * to life and the text gets inserted unexpectedly (by xterm).
-! 	     * Don't know how to avoid that :-(. */
-  	    if (time(NULL) > start_time + 2)
-  	    {
-  		timed_out = TRUE;
---- 2145,2171 ----
-  	 * paste!  Don't worry, we will catch up with any other events later.
-  	 */
-  	start_time = time(NULL);
-! 	while (success == MAYBE)
-  	{
-! 	    if (XCheckTypedEvent(dpy, SelectionNotify, &event)
-! 		    || XCheckTypedEvent(dpy, SelectionRequest, &event)
-! 		    || XCheckTypedEvent(dpy, PropertyNotify, &event))
-  	    {
-! 		/* This is where clip_x11_request_selection_cb() should be
-! 		 * called.  It may actually happen a bit later, so we loop
-! 		 * until "success" changes.
-! 		 * We may get a SelectionRequest here and if we don't handle
-! 		 * it we hang.  KDE klipper does this, for example.
-! 		 * We need to handle a PropertyNotify for large selections. */
-  		XtDispatchEvent(&event);
-! 		continue;
-  	    }
-  
-  	    /* Time out after 2 to 3 seconds to avoid that we hang when the
-  	     * other process doesn't respond.  Note that the SelectionNotify
-  	     * event may still come later when the selection owner comes back
-! 	     * to life and the text gets inserted unexpectedly.  Don't know
-! 	     * why that happens or how to avoid that :-(. */
-  	    if (time(NULL) > start_time + 2)
-  	    {
-  		timed_out = TRUE;
-***************
-*** 2177,2183 ****
-  	    ui_delay(1L, TRUE);
-  	}
-  
-! 	if (success)
-  	    return;
-  
-  	/* don't do a retry with another type after timing out, otherwise we
---- 2179,2185 ----
-  	    ui_delay(1L, TRUE);
-  	}
-  
-! 	if (success == TRUE)
-  	    return;
-  
-  	/* don't do a retry with another type after timing out, otherwise we
-*** ../vim-7.2.016/src/version.c	Sun Sep 14 14:41:44 2008
---- src/version.c	Sun Sep 14 15:55:34 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     17,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-54. You start tilting your head sideways to smile. :-)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.018	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.018
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.018
-Problem:    Memory leak when substitute is aborted.
-Solution:   Free the buffer allocated for the new text. (Dominique Pelle)
-Files:	    src/ex_cmds.c
-
-
-*** ../vim-7.2.017/src/ex_cmds.c	Wed Aug  6 15:03:07 2008
---- src/ex_cmds.c	Sun Sep 14 13:45:03 2008
-***************
-*** 5059,5064 ****
---- 5059,5065 ----
-  
-  	    if (did_sub)
-  		++sub_nlines;
-+ 	    vim_free(new_start);	/* for when substitute was cancelled */
-  	    vim_free(sub_firstline);	/* free the copy of the original line */
-  	    sub_firstline = NULL;
-  	}
-*** ../vim-7.2.017/src/version.c	Sun Sep 14 15:57:54 2008
---- src/version.c	Sun Sep 14 21:38:25 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     18,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-55. You ask your doctor to implant a gig in your brain.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.019	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.019
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.019
-Problem:    Completion of ":noautocmd" doesn't work and exists(":noautocmd")
-	    returns zero. (Ben Fritz)
-Solution:   Add "noautocmd" to the list of modifiers and commands.
-Files:	    src/ex_cmds.h, src/ex_docmd.c
-
-
-*** ../vim-7.2.018/src/ex_cmds.h	Wed Jun 25 00:44:40 2008
---- src/ex_cmds.h	Sat Sep 13 18:37:25 2008
-***************
-*** 635,640 ****
---- 635,642 ----
-  			RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
-  EX(CMD_noremap,		"noremap",	ex_map,
-  			BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
-+ EX(CMD_noautocmd,	"noautocmd",	ex_wrongmodifier,
-+ 			NEEDARG|EXTRA|NOTRLCOM),
-  EX(CMD_nohlsearch,	"nohlsearch",	ex_nohlsearch,
-  			TRLBAR|SBOXOK|CMDWIN),
-  EX(CMD_noreabbrev,	"noreabbrev",	ex_abbreviate,
-*** ../vim-7.2.018/src/ex_docmd.c	Sat Jul 26 16:04:39 2008
---- src/ex_docmd.c	Mon Sep 15 20:04:53 2008
-***************
-*** 2978,2983 ****
---- 2979,2985 ----
-      {"keepmarks", 3, FALSE},
-      {"leftabove", 5, FALSE},
-      {"lockmarks", 3, FALSE},
-+     {"noautocmd", 3, FALSE},
-      {"rightbelow", 6, FALSE},
-      {"sandbox", 3, FALSE},
-      {"silent", 3, FALSE},
-*** ../vim-7.2.018/src/version.c	Sun Sep 14 21:40:26 2008
---- src/version.c	Thu Sep 18 12:39:56 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     19,
-  /**/
-
--- 
-Proof techniques #2: Proof by Oddity.
-	SAMPLE: To prove that horses have an infinite number of legs.
-(1) Horses have an even number of legs.
-(2) They have two legs in back and fore legs in front.
-(3) This makes a total of six legs, which certainly is an odd number of
-    legs for a horse.
-(4) But the only number that is both odd and even is infinity.
-(5) Therefore, horses must have an infinite number of legs.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.020	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.020
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.020
-Problem:    Starting the GUI when the executable starts with 'k', but the KDE
-	    version no longer exists.
-Solution:   Don't have "kvim" start the GUI.
-Files:	    src/main.c
-
-
-*** ../vim-7.2.019/src/main.c	Thu Jul 24 19:34:23 2008
---- src/main.c	Sun Sep 14 13:26:10 2008
-***************
-*** 1457,1463 ****
-  	++initstr;
-      }
-  
-!     if (TOLOWER_ASC(initstr[0]) == 'g' || initstr[0] == 'k')
-      {
-  	main_start_gui();
-  #ifdef FEAT_GUI
---- 1458,1465 ----
-  	++initstr;
-      }
-  
-!     /* "gvim" starts the GUI.  Also accept "Gvim" for MS-Windows. */
-!     if (TOLOWER_ASC(initstr[0]) == 'g')
-      {
-  	main_start_gui();
-  #ifdef FEAT_GUI
-*** ../vim-7.2.019/src/version.c	Thu Sep 18 12:43:21 2008
---- src/version.c	Thu Sep 18 20:54:10 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     20,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-90. Instead of calling you to dinner, your spouse sends 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    ///
--- a/components/vim/vim72-patches/7.2.021	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.021
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.021
-Problem:    When executing autocommands getting the full file name may be
-	    slow. (David Kotchan)
-Solution:   Postpone calling FullName_save() until autocmd_fname is used.
-Files:	    src/ex_docmd.c, src/fileio.c, src/globals.h
-
-
-*** ../vim-7.2.020/src/ex_docmd.c	Thu Sep 18 12:43:21 2008
---- src/ex_docmd.c	Mon Sep 15 20:04:53 2008
-***************
-*** 9542,9547 ****
---- 9569,9583 ----
-  #ifdef FEAT_AUTOCMD
-  	case SPEC_AFILE:	/* file name for autocommand */
-  		result = autocmd_fname;
-+ 		if (result != NULL && !autocmd_fname_full)
-+ 		{
-+ 		    /* Still need to turn the fname into a full path.  It is
-+ 		     * postponed to avoid a delay when <afile> is not used. */
-+ 		    autocmd_fname_full = TRUE;
-+ 		    result = FullName_save(autocmd_fname, FALSE);
-+ 		    vim_free(autocmd_fname);
-+ 		    autocmd_fname = result;
-+ 		}
-  		if (result == NULL)
-  		{
-  		    *errormsg = (char_u *)_("E495: no autocommand file name to substitute for \"<afile>\"");
-*** ../vim-7.2.020/src/fileio.c	Wed Aug  6 18:43:07 2008
---- src/fileio.c	Tue Sep 16 21:24:26 2008
-***************
-*** 8523,8528 ****
---- 8523,8529 ----
-      char_u	*save_sourcing_name;
-      linenr_T	save_sourcing_lnum;
-      char_u	*save_autocmd_fname;
-+     int		save_autocmd_fname_full;
-      int		save_autocmd_bufnr;
-      char_u	*save_autocmd_match;
-      int		save_autocmd_busy;
-***************
-*** 8601,8606 ****
---- 8602,8608 ----
-       * Save the autocmd_* variables and info about the current buffer.
-       */
-      save_autocmd_fname = autocmd_fname;
-+     save_autocmd_fname_full = autocmd_fname_full;
-      save_autocmd_bufnr = autocmd_bufnr;
-      save_autocmd_match = autocmd_match;
-      save_autocmd_busy = autocmd_busy;
-***************
-*** 8618,8631 ****
-  	if (fname != NULL && *fname != NUL)
-  	    autocmd_fname = fname;
-  	else if (buf != NULL)
-! 	    autocmd_fname = buf->b_fname;
-  	else
-  	    autocmd_fname = NULL;
-      }
-      else
-  	autocmd_fname = fname_io;
-      if (autocmd_fname != NULL)
-! 	autocmd_fname = FullName_save(autocmd_fname, FALSE);
-  
-      /*
-       * Set the buffer number to be used for <abuf>.
---- 8620,8634 ----
-  	if (fname != NULL && *fname != NUL)
-  	    autocmd_fname = fname;
-  	else if (buf != NULL)
-! 	    autocmd_fname = buf->b_ffname;
-  	else
-  	    autocmd_fname = NULL;
-      }
-      else
-  	autocmd_fname = fname_io;
-      if (autocmd_fname != NULL)
-! 	autocmd_fname = vim_strsave(autocmd_fname);
-!     autocmd_fname_full = FALSE; /* call FullName_save() later */
-  
-      /*
-       * Set the buffer number to be used for <abuf>.
-***************
-*** 8810,8815 ****
---- 8813,8819 ----
-      sourcing_lnum = save_sourcing_lnum;
-      vim_free(autocmd_fname);
-      autocmd_fname = save_autocmd_fname;
-+     autocmd_fname_full = save_autocmd_fname_full;
-      autocmd_bufnr = save_autocmd_bufnr;
-      autocmd_match = save_autocmd_match;
-  #ifdef FEAT_EVAL
-***************
-*** 8918,8924 ****
-      {
-  	apc->curpat = NULL;
-  
-! 	/* only use a pattern when it has not been removed, has commands and
-  	 * the group matches. For buffer-local autocommands only check the
-  	 * buffer number. */
-  	if (ap->pat != NULL && ap->cmds != NULL
---- 8922,8928 ----
-      {
-  	apc->curpat = NULL;
-  
-! 	/* Only use a pattern when it has not been removed, has commands and
-  	 * the group matches. For buffer-local autocommands only check the
-  	 * buffer number. */
-  	if (ap->pat != NULL && ap->cmds != NULL
-*** ../vim-7.2.020/src/globals.h	Sat Jul 26 16:04:49 2008
---- src/globals.h	Mon Sep 15 19:59:28 2008
-***************
-*** 1022,1027 ****
---- 1022,1028 ----
-  #endif
-  #ifdef FEAT_AUTOCMD
-  EXTERN char_u	*autocmd_fname INIT(= NULL); /* fname for <afile> on cmdline */
-+ EXTERN int	autocmd_fname_full;	     /* autocmd_fname is full path */
-  EXTERN int	autocmd_bufnr INIT(= 0);     /* fnum for <abuf> on cmdline */
-  EXTERN char_u	*autocmd_match INIT(= NULL); /* name for <amatch> on cmdline */
-  EXTERN int	did_cursorhold INIT(= FALSE); /* set when CursorHold t'gerd */
-*** ../vim-7.2.020/src/version.c	Thu Sep 18 20:55:19 2008
---- src/version.c	Thu Sep 18 21:24:30 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     21,
-  /**/
-
--- 
-From "know your smileys":
- :----}  You lie like Pinocchio
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.022	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.022 (extra)
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.022 (extra)
-Problem:    Testing is not possible when compiling with MingW.
-Solution:   Add a MingW specific test Makefile. (Bill McCarthy)
-Files:	    Filelist, src/testdir/Make_ming.mak
-
-
-*** ../vim-7.2.021/Filelist	Sun Jul 13 19:33:31 2008
---- Filelist	Sun Sep 14 21:47:01 2008
-***************
-*** 285,290 ****
---- 285,291 ----
-  		src/proto/os_win32.pro \
-  		src/proto/os_mswin.pro \
-  		src/testdir/Make_dos.mak \
-+ 		src/testdir/Make_ming.mak \
-  		src/testdir/dos.vim \
-  		src/uninstal.c \
-  		src/vim.def \
-*** ../vim-7.2.021/src/testdir/Make_ming.mak	Sat Sep 20 16:25:06 2008
---- src/testdir/Make_ming.mak	Sat Sep 20 16:25:58 2008
-***************
-*** 0 ****
---- 1,91 ----
-+ # Makefile to run tests for Vim, on Dos-like machines
-+ # with sh.exe or zsh.exe in the path or not.
-+ #
-+ # Author: Bill McCarthy
-+ #
-+ # Note that test54 has been removed until it is fixed.
-+ #
-+ # Requires a set of Unix tools: echo, diff, etc.
-+ 
-+ ifneq (sh.exe, $(SHELL))
-+ DEL = rm -f
-+ MV = mv
-+ CP = cp
-+ DIRSLASH = /
-+ else
-+ DEL = del
-+ MV = rename
-+ CP = copy
-+ DIRSLASH = \\
-+ endif
-+ 
-+ VIMPROG = ..$(DIRSLASH)vim
-+ 
-+ # Omitted:
-+ # test2		"\\tmp" doesn't work.
-+ # test10	'errorformat' is different
-+ # test12	can't unlink a swap file
-+ # test25	uses symbolic link
-+ # test27	can't edit file with "*" in file name
-+ # test31	16 bit version runs out of memory...
-+ 
-+ SCRIPTS16 =	test1.out test19.out test20.out test22.out \
-+ 		test23.out test24.out test28.out test29.out \
-+ 		test35.out test36.out test43.out \
-+ 		test44.out test45.out test46.out test47.out \
-+ 		test48.out test51.out test53.out            \
-+ 		test55.out test56.out test57.out test58.out test59.out \
-+ 		test60.out test61.out test62.out test63.out test64.out
-+ 
-+ # Had to remove test54 which doesn't work yet.
-+ #		                                 test54.out
-+ 
-+ SCRIPTS =	test3.out test4.out test5.out test6.out test7.out \
-+ 		test8.out test9.out test11.out test13.out test14.out \
-+ 		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
-+ 
-+ SCRIPTS32 =	test50.out
-+ 
-+ SCRIPTS_GUI = test16.out
-+ 
-+ .SUFFIXES: .in .out
-+ 
-+ vimall:	fixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS_GUI) $(SCRIPTS32)
-+ 	echo ALL DONE
-+ 
-+ nongui:	fixff $(SCRIPTS16) $(SCRIPTS)
-+ 	echo ALL DONE
-+ 
-+ small:
-+ 	echo ALL DONE
-+ 
-+ gui:	fixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS_GUI)
-+ 	echo ALL DONE
-+ 
-+ win32:	fixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS32)
-+ 	echo ALL DONE
-+ 
-+ fixff:
-+ 	-$(VIMPROG) -u dos.vim --noplugin "+argdo set ff=dos|upd" +q *.in *.ok
-+ 
-+ clean:
-+ 	-$(DEL) *.out
-+ 	-$(DEL) test.ok
-+ 	-$(DEL) small.vim
-+ 	-$(DEL) tiny.vim
-+ 	-$(DEL) mbyte.vim
-+ 	-$(DEL) X*
-+ 	-$(DEL) viminfo
-+ 
-+ .in.out:
-+ 	$(CP) $*.ok test.ok
-+ 	$(VIMPROG) -u dos.vim -U NONE --noplugin -s dotest.in $*.in
-+ 	diff test.out $*.ok
-+ 	-$(DEL) $*.out
-+ 	$(MV) test.out $*.out
-+ 	-$(DEL) X*
-+ 	-$(DEL) test.ok
-+ 	-$(DEL) viminfo
-*** ../vim-7.2.021/src/version.c	Thu Sep 18 21:29:07 2008
---- src/version.c	Sat Sep 20 16:25:16 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     22,
-  /**/
-
--- 
-Where do you want to crash today?
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.023	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.023
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.023
-Problem:    'cursorcolumn' is in the wrong place in a closed fold when the
-	    display is shifted left. (Gary Johnson)
-Solution:   Subtract w_skipcol or w_leftcol when needed.
-Files:	    src/screen.c
-
-
-*** ../vim-7.2.022/src/screen.c	Thu Jul 24 20:29:09 2008
---- src/screen.c	Fri Sep 26 21:23:06 2008
-***************
-*** 2439,2447 ****
-  
-  #ifdef FEAT_SYN_HL
-      /* Show 'cursorcolumn' in the fold line. */
-!     if (wp->w_p_cuc && (int)wp->w_virtcol + txtcol < W_WIDTH(wp))
-! 	ScreenAttrs[off + wp->w_virtcol + txtcol] = hl_combine_attr(
-! 		 ScreenAttrs[off + wp->w_virtcol + txtcol], hl_attr(HLF_CUC));
-  #endif
-  
-      SCREEN_LINE(row + W_WINROW(wp), W_WINCOL(wp), (int)W_WIDTH(wp),
---- 2439,2455 ----
-  
-  #ifdef FEAT_SYN_HL
-      /* Show 'cursorcolumn' in the fold line. */
-!     if (wp->w_p_cuc)
-!     {
-! 	txtcol += wp->w_virtcol;
-! 	if (wp->w_p_wrap)
-! 	    txtcol -= wp->w_skipcol;
-! 	else
-! 	    txtcol -= wp->w_leftcol;
-! 	if (txtcol >= 0 && txtcol < W_WIDTH(wp))
-! 	    ScreenAttrs[off + txtcol] = hl_combine_attr(
-! 				 ScreenAttrs[off + txtcol], hl_attr(HLF_CUC));
-!     }
-  #endif
-  
-      SCREEN_LINE(row + W_WINROW(wp), W_WINCOL(wp), (int)W_WIDTH(wp),
-*** ../vim-7.2.022/src/version.c	Sat Sep 20 16:26:10 2008
---- src/version.c	Wed Oct  1 21:07:31 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     23,
-  /**/
-
--- 
-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    ///
--- a/components/vim/vim72-patches/7.2.024	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.024
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.024
-Problem:    It's possible to set 'history' to a negative value and that causes
-	    an out-of-memory error.
-Solution:   Check that 'history' has a positive value. (Doug Kearns)
-Files:	    src/option.c
-
-
-*** ../vim-7.2.023/src/option.c	Thu Jul 24 18:45:15 2008
---- src/option.c	Fri Sep 26 22:20:20 2008
-***************
-*** 7974,7979 ****
---- 7974,7984 ----
-  	else /* curwin->w_p_scr > curwin->w_height */
-  	    curwin->w_p_scr = curwin->w_height;
-      }
-+     if (p_hi < 0)
-+     {
-+ 	errmsg = e_positive;
-+ 	p_hi = 0;
-+     }
-      if (p_report < 0)
-      {
-  	errmsg = e_positive;
-*** ../vim-7.2.023/src/version.c	Wed Oct  1 21:09:02 2008
---- src/version.c	Thu Oct  2 22:47:22 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     24,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-127. You bring your laptop and cellular phone to church.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.025	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.025
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.025
-Problem:    When a CursorHold event invokes system() it is retriggered over
-	    and over again.
-Solution:   Don't reset did_cursorhold when getting K_IGNORE.
-Files:	    src/normal.c
-
-
-*** ../vim-7.2.024/src/normal.c	Sat Sep  6 16:44:06 2008
---- src/normal.c	Sat Sep 27 13:03:34 2008
-***************
-*** 1132,1138 ****
-  	out_flush();
-  #endif
-  #ifdef FEAT_AUTOCMD
-!     did_cursorhold = FALSE;
-  #endif
-  
-      State = NORMAL;
---- 1132,1139 ----
-  	out_flush();
-  #endif
-  #ifdef FEAT_AUTOCMD
-!     if (ca.cmdchar != K_IGNORE)
-! 	did_cursorhold = FALSE;
-  #endif
-  
-      State = NORMAL;
-*** ../vim-7.2.024/src/version.c	Thu Oct  2 22:48:01 2008
---- src/version.c	Thu Oct  2 22:54:41 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     25,
-  /**/
-
--- 
-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    ///
--- a/components/vim/vim72-patches/7.2.026	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.026
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.026 (after 7.2.010)
-Problem:    "K" doesn't use the length of the identifier but uses the rest of
-	    the line.
-Solution:   Copy the desired number of characters first.
-Files:	    src/normal.c
-
-
-*** ../vim-7.2.025/src/normal.c	Thu Oct  2 22:55:17 2008
---- src/normal.c	Sat Nov  1 13:41:03 2008
-***************
-*** 183,188 ****
---- 183,190 ----
-  static void	nv_cursorhold __ARGS((cmdarg_T *cap));
-  #endif
-  
-+ static char *e_noident = N_("E349: No identifier under cursor");
-+ 
-  /*
-   * Function to be called for a Normal or Visual mode command.
-   * The argument is a cmdarg_T.
-***************
-*** 3510,3516 ****
-  	if (find_type & FIND_STRING)
-  	    EMSG(_("E348: No string under cursor"));
-  	else
-! 	    EMSG(_("E349: No identifier under cursor"));
-  	return 0;
-      }
-      ptr += col;
---- 3512,3518 ----
-  	if (find_type & FIND_STRING)
-  	    EMSG(_("E348: No string under cursor"));
-  	else
-! 	    EMSG(_(e_noident));
-  	return 0;
-      }
-      ptr += col;
-***************
-*** 5472,5479 ****
-  	    {
-  		/* An external command will probably use an argument starting
-  		 * with "-" as an option.  To avoid trouble we skip the "-". */
-! 		while (*ptr == '-')
-  		    ++ptr;
-  
-  		/* When a count is given, turn it into a range.  Is this
-  		 * really what we want? */
---- 5474,5490 ----
-  	    {
-  		/* An external command will probably use an argument starting
-  		 * with "-" as an option.  To avoid trouble we skip the "-". */
-! 		while (*ptr == '-' && n > 0)
-! 		{
-  		    ++ptr;
-+ 		    --n;
-+ 		}
-+ 		if (n == 0)
-+ 		{
-+ 		    EMSG(_(e_noident));	 /* found dashes only */
-+ 		    vim_free(buf);
-+ 		    return;
-+ 		}
-  
-  		/* When a count is given, turn it into a range.  Is this
-  		 * really what we want? */
-***************
-*** 5520,5526 ****
---- 5531,5539 ----
-      if (cmdchar == 'K' && !kp_help)
-      {
-  	/* Escape the argument properly for a shell command */
-+ 	ptr = vim_strnsave(ptr, n);
-  	p = vim_strsave_shellescape(ptr, TRUE);
-+ 	vim_free(ptr);
-  	if (p == NULL)
-  	{
-  	    vim_free(buf);
-*** ../vim-7.2.025/src/version.c	Thu Oct  2 22:55:17 2008
---- src/version.c	Sat Nov  1 13:50:53 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     26,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-161. You get up before the sun rises to check your e-mail, and you
-     find yourself in the very same chair long after the sun has set.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.027	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.027
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.027
-Problem:    Can use cscope commands in the sandbox.
-Solution:   Disallow them, they might not be safe.
-Files:	    src/ex_cmds.h
-
-
-*** ../vim-7.2.026/src/ex_cmds.h	Thu Sep 18 12:43:21 2008
---- src/ex_cmds.h	Thu Sep 18 22:18:14 2008
-***************
-*** 278,284 ****
-  EX(CMD_crewind,		"crewind",	ex_cc,
-  			RANGE|NOTADR|COUNT|TRLBAR|BANG),
-  EX(CMD_cscope,		"cscope",	do_cscope,
-! 			EXTRA|NOTRLCOM|SBOXOK|XFILE),
-  EX(CMD_cstag,		"cstag",	do_cstag,
-  			BANG|TRLBAR|WORD1),
-  EX(CMD_cunmap,		"cunmap",	ex_unmap,
---- 278,284 ----
-  EX(CMD_crewind,		"crewind",	ex_cc,
-  			RANGE|NOTADR|COUNT|TRLBAR|BANG),
-  EX(CMD_cscope,		"cscope",	do_cscope,
-! 			EXTRA|NOTRLCOM|XFILE),
-  EX(CMD_cstag,		"cstag",	do_cstag,
-  			BANG|TRLBAR|WORD1),
-  EX(CMD_cunmap,		"cunmap",	ex_unmap,
-***************
-*** 506,512 ****
-  EX(CMD_lclose,		"lclose",	ex_cclose,
-  			RANGE|NOTADR|COUNT|TRLBAR),
-  EX(CMD_lcscope,		"lcscope",	do_cscope,
-! 			EXTRA|NOTRLCOM|SBOXOK|XFILE),
-  EX(CMD_left,		"left",		ex_align,
-  			TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
-  EX(CMD_leftabove,	"leftabove",	ex_wrongmodifier,
---- 506,512 ----
-  EX(CMD_lclose,		"lclose",	ex_cclose,
-  			RANGE|NOTADR|COUNT|TRLBAR),
-  EX(CMD_lcscope,		"lcscope",	do_cscope,
-! 			EXTRA|NOTRLCOM|XFILE),
-  EX(CMD_left,		"left",		ex_align,
-  			TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
-  EX(CMD_leftabove,	"leftabove",	ex_wrongmodifier,
-***************
-*** 653,658 ****
---- 653,660 ----
-  			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
-  EX(CMD_open,		"open",		ex_open,
-  			RANGE|EXTRA),
-+ EX(CMD_oldfiles,	"oldfiles",	ex_oldfiles,
-+ 			BANG|TRLBAR|SBOXOK|CMDWIN),
-  EX(CMD_omap,		"omap",		ex_map,
-  			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
-  EX(CMD_omapclear,	"omapclear",	ex_mapclear,
-***************
-*** 804,810 ****
-  EX(CMD_scriptencoding,	"scriptencoding", ex_scriptencoding,
-  			WORD1|TRLBAR|CMDWIN),
-  EX(CMD_scscope,		"scscope",	do_scscope,
-! 			EXTRA|NOTRLCOM|SBOXOK),
-  EX(CMD_set,		"set",		ex_set,
-  			TRLBAR|EXTRA|CMDWIN|SBOXOK),
-  EX(CMD_setfiletype,	"setfiletype",	ex_setfiletype,
---- 806,812 ----
-  EX(CMD_scriptencoding,	"scriptencoding", ex_scriptencoding,
-  			WORD1|TRLBAR|CMDWIN),
-  EX(CMD_scscope,		"scscope",	do_scscope,
-! 			EXTRA|NOTRLCOM),
-  EX(CMD_set,		"set",		ex_set,
-  			TRLBAR|EXTRA|CMDWIN|SBOXOK),
-  EX(CMD_setfiletype,	"setfiletype",	ex_setfiletype,
-*** ../vim-7.2.026/src/version.c	Sat Nov  1 13:51:57 2008
---- src/version.c	Thu Nov  6 10:21:21 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     27,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-179. You wonder why your household garbage can doesn't have an
-     "empty recycle bin" button.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.028	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.028
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.028
-Problem:    Confusing error message for missing ().
-Solution:   Change "braces" to "parentheses". (Gary Johnson)
-Files:	    src/eval.c
-
-
-*** ../vim-7.2.027/src/eval.c	Wed Sep 10 15:38:13 2008
---- src/eval.c	Tue Sep 30 21:43:38 2008
-***************
-*** 3287,3293 ****
-  
-      if (*startarg != '(')
-      {
-! 	EMSG2(_("E107: Missing braces: %s"), eap->arg);
-  	goto end;
-      }
-  
---- 3293,3299 ----
-  
-      if (*startarg != '(')
-      {
-! 	EMSG2(_("E107: Missing parentheses: %s"), eap->arg);
-  	goto end;
-      }
-  
-*** ../vim-7.2.027/src/version.c	Thu Nov  6 10:23:03 2008
---- src/version.c	Thu Nov  6 11:02:51 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     28,
-  /**/
-
--- 
-Wizards had always known that the act of observation changed the thing that
-was observed, and sometimes forgot that it also changed the observer too.
-			Terry Pratchett  -  Interesting times
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.029	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.029
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.029
-Problem:    No completion for ":doautoall".
-Solution:   Complete ":doautoall" like ":doautocmd".  (Doug Kearns)
-Files:	    src/ex_docmd.c
-
-
-*** ../vim-7.2.028/src/ex_docmd.c	Thu Sep 18 21:29:07 2008
---- src/ex_docmd.c	Mon Nov  3 21:21:17 2008
-***************
-*** 3609,3614 ****
---- 3610,3616 ----
-  	    return set_context_in_autocmd(xp, arg, FALSE);
-  
-  	case CMD_doautocmd:
-+ 	case CMD_doautoall:
-  	    return set_context_in_autocmd(xp, arg, TRUE);
-  #endif
-  	case CMD_set:
-*** ../vim-7.2.028/src/version.c	Thu Nov  6 11:04:50 2008
---- src/version.c	Thu Nov  6 17:14:58 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     29,
-  /**/
-
--- 
-Press any key to continue, press any other key to quit.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.030	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.030
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.030 (after 7.2.027)
-Problem:    Can't compile.
-Solution:   Remove prematurely added ex_oldfiles.
-Files:	    src/ex_cmds.h
-
-
-*** ../vim-7.2.029/src/ex_cmds.h	Thu Nov  6 10:23:03 2008
---- src/ex_cmds.h	Thu Nov  6 20:45:07 2008
-***************
-*** 653,660 ****
-  			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
-  EX(CMD_open,		"open",		ex_open,
-  			RANGE|EXTRA),
-- EX(CMD_oldfiles,	"oldfiles",	ex_oldfiles,
-- 			BANG|TRLBAR|SBOXOK|CMDWIN),
-  EX(CMD_omap,		"omap",		ex_map,
-  			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
-  EX(CMD_omapclear,	"omapclear",	ex_mapclear,
---- 653,658 ----
-*** ../vim-7.2.029/src/version.c	Thu Nov  6 17:16:06 2008
---- src/version.c	Thu Nov  6 20:46:11 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     30,
-  /**/
-
--- 
-% cat /usr/include/sys/errno.h
-#define	EPERM		1		/* Operation not permitted */
-#define	ENOENT		2		/* No such file or directory */
-#define	ESRCH		3		/* No such process */
-[...]
-#define EMACS		666		/* Too many macros */
-%
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.031	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1281 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.031
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.031
-Problem:    Information in the viminfo file about previously edited files is
-	    not available to the user.  There is no way to get a complete list
-	    of files edited in previous Vim sessions.
-Solution:   Add v:oldfiles and fill it with the list of old file names when
-	    first reading the viminfo file.  Add the ":oldfiles" command,
-	    ":browse oldfiles" and the "#<123" special file name.  Increase
-	    the default value for 'viminfo' from '20 to '100.
-Files:	    runtime/doc/cmdline.txt, runtime/doc/eval.txt,
-	    runtime/doc/starting.txt, runtime/doc/usr_21.txt, src/eval.c,
-	    src/ex_cmds.c, src/ex_cmds.h, src/ex_docmd.c, src/feature.h,
-	    src/fileio.c, src/main.c, src/mark.c, src/misc1.c,
-	    src/proto/eval.pro, src/proto/ex_cmds.pro, src/proto/mark.pro,
-	    src/option.c, src/structs.h, src/vim.h
-
-
-*** ../vim-7.2.030/runtime/doc/cmdline.txt	Sat Aug  9 19:36:46 2008
---- runtime/doc/cmdline.txt	Thu Sep 18 22:55:27 2008
-***************
-*** 1,4 ****
-! *cmdline.txt*   For Vim version 7.2.  Last change: 2008 Jul 29
-  
-  
-  		  VIM REFERENCE MANUAL    by Bram Moolenaar
---- 1,4 ----
-! *cmdline.txt*   For Vim version 7.2.  Last change: 2008 Sep 18
-  
-  
-  		  VIM REFERENCE MANUAL    by Bram Moolenaar
-***************
-*** 157,162 ****
---- 157,167 ----
-  				(doesn't work at the expression prompt; some
-  				things such as changing the buffer or current
-  				window are not allowed to avoid side effects)
-+ 				When the result is a |List| the items are used
-+ 				as lines.  They can have line breaks inside
-+ 				too.
-+ 				When the result is a Float it's automatically
-+ 				converted to a String.
-  		See |registers| about registers.  {not in Vi}
-  		Implementation detail: When using the |expression| register
-  		and invoking setcmdpos(), this sets the position before
-***************
-*** 730,748 ****
-  In Ex commands, at places where a file name can be used, the following
-  characters have a special meaning.  These can also be used in the expression
-  function expand() |expand()|.
-! 	%	is replaced with the current file name			*:_%*
-! 	#	is replaced with the alternate file name		*:_#*
-  	#n	(where n is a number) is replaced with the file name of
-! 		buffer n.  "#0" is the same as "#"
-! 	##	is replaced with all names in the argument list		*:_##*
-  		concatenated, separated by spaces.  Each space in a name
-  		is preceded with a backslash.
-! Note that these give the file name as it was typed.  If an absolute path is
-! needed (when using the file name from a different directory), you need to add
-! ":p".  See |filename-modifiers|.
-  Note that backslashes are inserted before spaces, so that the command will
-  correctly interpret the file name.  But this doesn't happen for shell
-! commands.  For those you probably have to use quotes: >
-  	:!ls "%"
-  	:r !spell "%"
-  
---- 735,763 ----
-  In Ex commands, at places where a file name can be used, the following
-  characters have a special meaning.  These can also be used in the expression
-  function expand() |expand()|.
-! 	%	Is replaced with the current file name.		  *:_%* *c_%*
-! 	#	Is replaced with the alternate file name.	  *:_#* *c_#*
-  	#n	(where n is a number) is replaced with the file name of
-! 		buffer n.  "#0" is the same as "#".
-! 	##	Is replaced with all names in the argument list	  *:_##* *c_##*
-  		concatenated, separated by spaces.  Each space in a name
-  		is preceded with a backslash.
-! 	#<n	(where n is a number > 0) is replaced with old	  *:_#<* *c_#<*
-! 		file name n.  See |:oldfiles| or |v:oldfiles| to get the
-! 		number.							*E809*
-! 		{only when compiled with the +eval and +viminfo features}
-! 
-! Note that these, except "#<n", give the file name as it was typed.  If an
-! absolute path is needed (when using the file name from a different directory),
-! you need to add ":p".  See |filename-modifiers|.
-! 
-! The "#<n" item returns an absolute path, but it will start with "~/" for files
-! below your home directory.
-! 
-  Note that backslashes are inserted before spaces, so that the command will
-  correctly interpret the file name.  But this doesn't happen for shell
-! commands.  For those you probably have to use quotes (this fails for files
-! that contain a quote and wildcards): >
-  	:!ls "%"
-  	:r !spell "%"
-  
-*** ../vim-7.2.030/runtime/doc/eval.txt	Sat Aug  9 19:36:47 2008
---- runtime/doc/eval.txt	Sun Nov  2 14:25:38 2008
-***************
-*** 1,4 ****
-! *eval.txt*	For Vim version 7.2.  Last change: 2008 Aug 09
-  
-  
-  		  VIM REFERENCE MANUAL	  by Bram Moolenaar
---- 1,4 ----
-! *eval.txt*	For Vim version 7.2.  Last change: 2008 Nov 02
-  
-  
-  		  VIM REFERENCE MANUAL	  by Bram Moolenaar
-***************
-*** 1484,1489 ****
---- 1484,1500 ----
-  		This is the screen column number, like with |virtcol()|.  The
-  		value is zero when there was no mouse button click.
-  
-+ 					*v:oldfiles* *oldfiles-variable*
-+ v:oldfiles	List of file names that is loaded from the |viminfo| file on
-+ 		startup.  These are the files that Vim remembers marks for.
-+ 		The length of the List is limited by the ' argument of the
-+ 		'viminfo' option (default is 100).
-+ 		Also see |:oldfiles| and |c_#<|.
-+ 		The List can be modified, but this has no effect on what is
-+ 		stored in the |viminfo| file later.  If you use values other
-+ 		than String this will cause trouble.
-+ 		{only when compiled with the +viminfo feature}
-+ 
-  					*v:operator* *operator-variable*
-  v:operator	The last operator given in Normal mode.  This is a single
-  		character except for commands starting with <g> or <z>,
-*** ../vim-7.2.030/runtime/doc/starting.txt	Sat Aug  9 19:36:52 2008
---- runtime/doc/starting.txt	Sun Nov  9 12:12:19 2008
-***************
-*** 1,4 ****
-! *starting.txt*  For Vim version 7.2.  Last change: 2008 Jun 21
-  
-  
-  		  VIM REFERENCE MANUAL    by Bram Moolenaar
---- 1,4 ----
-! *starting.txt*  For Vim version 7.2.  Last change: 2008 Nov 09
-  
-  
-  		  VIM REFERENCE MANUAL    by Bram Moolenaar
-***************
-*** 1337,1344 ****
-  							*viminfo-read*
-  When Vim is started and the 'viminfo' option is non-empty, the contents of
-  the viminfo file are read and the info can be used in the appropriate places.
-! The marks are not read in at startup (but file marks are).  See
-! |initialization| for how to set the 'viminfo' option upon startup.
-  
-  							*viminfo-write*
-  When Vim exits and 'viminfo' is non-empty, the info is stored in the viminfo
---- 1335,1343 ----
-  							*viminfo-read*
-  When Vim is started and the 'viminfo' option is non-empty, the contents of
-  the viminfo file are read and the info can be used in the appropriate places.
-! The |v:oldfiles| variable is filled.  The marks are not read in at startup
-! (but file marks are).  See |initialization| for how to set the 'viminfo'
-! option upon startup.
-  
-  							*viminfo-write*
-  When Vim exits and 'viminfo' is non-empty, the info is stored in the viminfo
-***************
-*** 1372,1377 ****
---- 1371,1378 ----
-  that start with any string given with the "r" flag in 'viminfo'.  This can be
-  used to avoid saving marks for files on removable media (for MS-DOS you would
-  use "ra:,rb:", for Amiga "rdf0:,rdf1:,rdf2:").
-+ The |v:oldfiles| variable is filled with the file names that the viminfo file
-+ has marks for.
-  
-  							*viminfo-file-marks*
-  Uppercase marks ('A to 'Z) are stored when writing the viminfo file.  The
-***************
-*** 1463,1470 ****
-  						   *:rv* *:rviminfo* *E195*
-  :rv[iminfo][!] [file]	Read from viminfo file [file] (default: see above).
-  			If [!] is given, then any information that is
-! 			already set (registers, marks, etc.) will be
-! 			overwritten.  {not in Vi}
-  
-  					*:wv* *:wviminfo* *E137* *E138* *E574*
-  :wv[iminfo][!] [file]	Write to viminfo file [file] (default: see above).
---- 1464,1471 ----
-  						   *:rv* *:rviminfo* *E195*
-  :rv[iminfo][!] [file]	Read from viminfo file [file] (default: see above).
-  			If [!] is given, then any information that is
-! 			already set (registers, marks, |v:oldfiles|, etc.)
-! 			will be overwritten   {not in Vi}
-  
-  					*:wv* *:wviminfo* *E137* *E138* *E574*
-  :wv[iminfo][!] [file]	Write to viminfo file [file] (default: see above).
-***************
-*** 1479,1482 ****
---- 1480,1499 ----
-  			the .viminfo file.
-  			{not in Vi}
-  
-+ 						*:ol* *:oldfiles*
-+ :ol[dfiles]		List the files that have marks stored in the viminfo
-+ 			file.  This list is read on startup and only changes
-+ 			afterwards with ":rviminfo!".  Also see |v:oldfiles|.
-+ 			The number can be used with |c_#<|.
-+ 			{not in Vi, only when compiled with the +eval feature}
-+ 
-+ :bro[wse] ol[dfiles][!]
-+ 			List file names as with |:oldfiles|, and then prompt
-+ 			for a number.  When the number is valid that file from
-+ 			the list is edited.
-+ 			If you get the |press-enter| prompt you can press "q"
-+ 			and still get the prompt to enter a file number.
-+ 			Use ! to abondon a modified buffer. |abandon|
-+ 			{not when compiled with tiny or small features}
-+ 
-   vim:tw=78:ts=8:ft=help:norl:
-*** ../vim-7.2.030/runtime/doc/usr_21.txt	Sat Aug  9 19:36:53 2008
---- runtime/doc/usr_21.txt	Sun Nov  9 12:14:10 2008
-***************
-*** 1,4 ****
-! *usr_21.txt*	For Vim version 7.2.  Last change: 2007 May 01
-  
-  		     VIM USER MANUAL - by Bram Moolenaar
-  
---- 1,4 ----
-! *usr_21.txt*	For Vim version 7.2.  Last change: 2008 Nov 09
-  
-  		     VIM USER MANUAL - by Bram Moolenaar
-  
-***************
-*** 153,159 ****
-  to be lost.  Each item can be remembered only once.
-  
-  
-! GETTING BACK TO WHERE YOU WERE
-  
-  You are halfway editing a file and it's time to leave for holidays.  You exit
-  Vim and go enjoy yourselves, forgetting all about your work.  After a couple
---- 153,159 ----
-  to be lost.  Each item can be remembered only once.
-  
-  
-! GETTING BACK TO WHERE YOU STOPPED VIM
-  
-  You are halfway editing a file and it's time to leave for holidays.  You exit
-  Vim and go enjoy yourselves, forgetting all about your work.  After a couple
-***************
-*** 168,173 ****
---- 168,215 ----
-     The |:marks| command is useful to find out where '0 to '9 will take you.
-  
-  
-+ GETTING BACK TO SOME FILE
-+ 
-+ If you want to go back to a file that you edited recently, but not when
-+ exiting Vim, there is a slightly more complicated way.  You can see a list of
-+ files by typing the command: >
-+ 
-+ 	:oldfiles
-+ <	1: ~/.viminfo ~
-+ 	2: ~/text/resume.txt ~
-+ 	3: /tmp/draft ~
-+ 
-+ Now you would like to edit the second file, which is in the list preceded by
-+ "2:".  You type: >
-+ 
-+ 	:e #<2
-+ 
-+ Instead of ":e" you can use any command that has a file name argument, the
-+ "#<2" item works in the same place as "%" (current file name) and "#"
-+ (alternate file name).  So you can also split the window to edit the third
-+ file: >
-+ 
-+ 	:split #<3
-+ 
-+ That #<123 thing is a bit complicated when you just want to edit a file.
-+ Fortunately there is a simpler way: >
-+ 
-+ 	:browse oldfiles
-+ <	1: ~/.viminfo ~
-+ 	2: ~/text/resume.txt ~
-+ 	3: /tmp/draft ~
-+ 	-- More --
-+ 
-+ You get the same list of files as with |:oldfiles|.  If you want to edit
-+ "resume.txt" first press "q" to stop the listing.  You will get a prompt:
-+ 
-+ 	Type number and <Enter> (empty cancels): ~
-+ 
-+ Type "2" and press <Enter> to edit the second file.
-+ 
-+ More info at |:oldfiles|, |v:oldfiles| and |c_#<|.
-+ 
-+ 
-  MOVE INFO FROM ONE VIM TO ANOTHER
-  
-  You can use the ":wviminfo" and ":rviminfo" commands to save and restore the
-*** ../vim-7.2.030/src/eval.c	Thu Nov  6 11:04:50 2008
---- src/eval.c	Sun Nov  9 11:59:39 2008
-***************
-*** 348,353 ****
---- 348,354 ----
-      {VV_NAME("mouse_col",	 VAR_NUMBER), 0},
-      {VV_NAME("operator",	 VAR_STRING), VV_RO},
-      {VV_NAME("searchforward",	 VAR_NUMBER), 0},
-+     {VV_NAME("oldfiles",	 VAR_LIST), 0},
-  };
-  
-  /* shorthand */
-***************
-*** 355,360 ****
---- 356,362 ----
-  #define vv_nr		vv_di.di_tv.vval.v_number
-  #define vv_float	vv_di.di_tv.vval.v_float
-  #define vv_str		vv_di.di_tv.vval.v_string
-+ #define vv_list		vv_di.di_tv.vval.v_list
-  #define vv_tv		vv_di.di_tv
-  
-  /*
-***************
-*** 426,432 ****
-  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_string __ARGS((list_T *l, char_u *str, int len));
-  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));
---- 428,433 ----
-***************
-*** 845,852 ****
-  	p = &vimvars[i];
-  	if (p->vv_di.di_tv.v_type == VAR_STRING)
-  	{
-! 	    vim_free(p->vv_di.di_tv.vval.v_string);
-! 	    p->vv_di.di_tv.vval.v_string = NULL;
-  	}
-      }
-      hash_clear(&vimvarht);
---- 846,858 ----
-  	p = &vimvars[i];
-  	if (p->vv_di.di_tv.v_type == VAR_STRING)
-  	{
-! 	    vim_free(p->vv_string);
-! 	    p->vv_string = NULL;
-! 	}
-! 	else if (p->vv_di.di_tv.v_type == VAR_LIST)
-! 	{
-! 	    list_unref(p->vv_list);
-! 	    p->vv_list = NULL;
-  	}
-      }
-      hash_clear(&vimvarht);
-***************
-*** 6057,6062 ****
---- 6063,6087 ----
-  }
-  
-  /*
-+  * Get list item "l[idx - 1]" as a string.  Returns NULL for failure.
-+  */
-+     char_u *
-+ list_find_str(l, idx)
-+     list_T	*l;
-+     long	idx;
-+ {
-+     listitem_T	*li;
-+ 
-+     li = list_find(l, idx - 1);
-+     if (li == NULL)
-+     {
-+ 	EMSGN(_(e_listidx), idx);
-+ 	return NULL;
-+     }
-+     return get_tv_string(&li->li_tv);
-+ }
-+ 
-+ /*
-   * Locate "item" list "l" and return its index.
-   * Returns -1 when "item" is not in the list.
-   */
-***************
-*** 6147,6153 ****
-   * When "len" >= 0 use "str[len]".
-   * Returns FAIL when out of memory.
-   */
-!     static int
-  list_append_string(l, str, len)
-      list_T	*l;
-      char_u	*str;
---- 6172,6178 ----
-   * When "len" >= 0 use "str[len]".
-   * Returns FAIL when out of memory.
-   */
-!     int
-  list_append_string(l, str, len)
-      list_T	*l;
-      char_u	*str;
-***************
-*** 6507,6512 ****
---- 6532,6540 ----
-  	set_ref_in_ht(&fc->l_avars.dv_hashtab, copyID);
-      }
-  
-+     /* v: vars */
-+     set_ref_in_ht(&vimvarht, copyID);
-+ 
-      /*
-       * 2. Go through the list of dicts and free items without the copyID.
-       */
-***************
-*** 6597,6603 ****
-      {
-  	case VAR_DICT:
-  	    dd = tv->vval.v_dict;
-! 	    if (dd->dv_copyID != copyID)
-  	    {
-  		/* Didn't see this dict yet. */
-  		dd->dv_copyID = copyID;
---- 6625,6631 ----
-      {
-  	case VAR_DICT:
-  	    dd = tv->vval.v_dict;
-! 	    if (dd != NULL && dd->dv_copyID != copyID)
-  	    {
-  		/* Didn't see this dict yet. */
-  		dd->dv_copyID = copyID;
-***************
-*** 6607,6613 ****
-  
-  	case VAR_LIST:
-  	    ll = tv->vval.v_list;
-! 	    if (ll->lv_copyID != copyID)
-  	    {
-  		/* Didn't see this list yet. */
-  		ll->lv_copyID = copyID;
---- 6635,6641 ----
-  
-  	case VAR_LIST:
-  	    ll = tv->vval.v_list;
-! 	    if (ll != NULL && ll->lv_copyID != copyID)
-  	    {
-  		/* Didn't see this list yet. */
-  		ll->lv_copyID = copyID;
-***************
-*** 18106,18111 ****
---- 18134,18150 ----
-  }
-  
-  /*
-+  * Get List v: variable value.  Caller must take care of reference count when
-+  * needed.
-+  */
-+     list_T *
-+ get_vim_var_list(idx)
-+     int		idx;
-+ {
-+     return vimvars[idx].vv_list;
-+ }
-+ 
-+ /*
-   * Set v:count, v:count1 and v:prevcount.
-   */
-      void
-***************
-*** 18141,18146 ****
---- 18180,18199 ----
-  }
-  
-  /*
-+  * Set List v: variable to "val".
-+  */
-+     void
-+ set_vim_var_list(idx, val)
-+     int		idx;
-+     list_T	*val;
-+ {
-+     list_unref(vimvars[idx].vv_list);
-+     vimvars[idx].vv_list = val;
-+     if (val != NULL)
-+ 	++val->lv_refcount;
-+ }
-+ 
-+ /*
-   * Set v:register if needed.
-   */
-      void
-***************
-*** 21900,21905 ****
---- 21953,22014 ----
-      }
-  }
-  
-+ /*
-+  * List v:oldfiles in a nice way.
-+  */
-+ /*ARGSUSED*/
-+     void
-+ ex_oldfiles(eap)
-+     exarg_T	*eap;
-+ {
-+     list_T	*l = vimvars[VV_OLDFILES].vv_list;
-+     listitem_T	*li;
-+     int		nr = 0;
-+ 
-+     if (l == NULL)
-+ 	msg((char_u *)_("No old files"));
-+     else
-+     {
-+ 	msg_start();
-+ 	msg_scroll = TRUE;
-+ 	for (li = l->lv_first; li != NULL && !got_int; li = li->li_next)
-+ 	{
-+ 	    msg_outnum((long)++nr);
-+ 	    MSG_PUTS(": ");
-+ 	    msg_outtrans(get_tv_string(&li->li_tv));
-+ 	    msg_putchar('\n');
-+ 	    out_flush();	    /* output one line at a time */
-+ 	    ui_breakcheck();
-+ 	}
-+ 	/* Assume "got_int" was set to truncate the listing. */
-+ 	got_int = FALSE;
-+ 
-+ #ifdef FEAT_BROWSE_CMD
-+ 	if (cmdmod.browse)
-+ 	{
-+ 	    quit_more = FALSE;
-+ 	    nr = prompt_for_number(FALSE);
-+ 	    msg_starthere();
-+ 	    if (nr > 0)
-+ 	    {
-+ 		char_u *p = list_find_str(get_vim_var_list(VV_OLDFILES),
-+ 								    (long)nr);
-+ 
-+ 		if (p != NULL)
-+ 		{
-+ 		    p = expand_env_save(p);
-+ 		    eap->arg = p;
-+ 		    eap->cmdidx = CMD_edit;
-+ 		    cmdmod.browse = FALSE;
-+ 		    do_exedit(eap, NULL);
-+ 		    vim_free(p);
-+ 		}
-+ 	    }
-+ 	}
-+ #endif
-+     }
-+ }
-+ 
-  #endif /* FEAT_EVAL */
-  
-  
-*** ../vim-7.2.030/src/ex_cmds.c	Sun Sep 14 21:40:26 2008
---- src/ex_cmds.c	Sun Sep 14 13:45:03 2008
-***************
-*** 24,30 ****
-  static void do_filter __ARGS((linenr_T line1, linenr_T line2, exarg_T *eap, char_u *cmd, int do_in, int do_out));
-  #ifdef FEAT_VIMINFO
-  static char_u *viminfo_filename __ARGS((char_u	*));
-! static void do_viminfo __ARGS((FILE *fp_in, FILE *fp_out, int want_info, int want_marks, int force_read));
-  static int viminfo_encoding __ARGS((vir_T *virp));
-  static int read_viminfo_up_to_marks __ARGS((vir_T *virp, int forceit, int writing));
-  #endif
---- 24,30 ----
-  static void do_filter __ARGS((linenr_T line1, linenr_T line2, exarg_T *eap, char_u *cmd, int do_in, int do_out));
-  #ifdef FEAT_VIMINFO
-  static char_u *viminfo_filename __ARGS((char_u	*));
-! static void do_viminfo __ARGS((FILE *fp_in, FILE *fp_out, int flags));
-  static int viminfo_encoding __ARGS((vir_T *virp));
-  static int read_viminfo_up_to_marks __ARGS((vir_T *virp, int forceit, int writing));
-  #endif
-***************
-*** 1676,1689 ****
-  
-  /*
-   * read_viminfo() -- Read the viminfo file.  Registers etc. which are already
-!  * set are not over-written unless force is TRUE. -- webb
-   */
-      int
-! read_viminfo(file, want_info, want_marks, forceit)
-!     char_u	*file;
-!     int		want_info;
-!     int		want_marks;
-!     int		forceit;
-  {
-      FILE	*fp;
-      char_u	*fname;
---- 1676,1687 ----
-  
-  /*
-   * read_viminfo() -- Read the viminfo file.  Registers etc. which are already
-!  * set are not over-written unless "flags" includes VIF_FORCEIT. -- webb
-   */
-      int
-! read_viminfo(file, flags)
-!     char_u	*file;	    /* file name or NULL to use default name */
-!     int		flags;	    /* VIF_WANT_INFO et al. */
-  {
-      FILE	*fp;
-      char_u	*fname;
-***************
-*** 1691,1697 ****
-      if (no_viminfo())
-  	return FAIL;
-  
-!     fname = viminfo_filename(file);	    /* may set to default if NULL */
-      if (fname == NULL)
-  	return FAIL;
-      fp = mch_fopen((char *)fname, READBIN);
---- 1689,1695 ----
-      if (no_viminfo())
-  	return FAIL;
-  
-!     fname = viminfo_filename(file);	/* get file name in allocated buffer */
-      if (fname == NULL)
-  	return FAIL;
-      fp = mch_fopen((char *)fname, READBIN);
-***************
-*** 1701,1708 ****
-  	verbose_enter();
-  	smsg((char_u *)_("Reading viminfo file \"%s\"%s%s%s"),
-  		fname,
-! 		want_info ? _(" info") : "",
-! 		want_marks ? _(" marks") : "",
-  		fp == NULL ? _(" FAILED") : "");
-  	verbose_leave();
-      }
---- 1699,1707 ----
-  	verbose_enter();
-  	smsg((char_u *)_("Reading viminfo file \"%s\"%s%s%s"),
-  		fname,
-! 		(flags & VIF_WANT_INFO) ? _(" info") : "",
-! 		(flags & VIF_WANT_MARKS) ? _(" marks") : "",
-! 		(flags & VIF_GET_OLDFILES) ? _(" oldfiles") : "",
-  		fp == NULL ? _(" FAILED") : "");
-  	verbose_leave();
-      }
-***************
-*** 1712,1721 ****
-  	return FAIL;
-  
-      viminfo_errcnt = 0;
-!     do_viminfo(fp, NULL, want_info, want_marks, forceit);
-  
-      fclose(fp);
-- 
-      return OK;
-  }
-  
---- 1711,1719 ----
-  	return FAIL;
-  
-      viminfo_errcnt = 0;
-!     do_viminfo(fp, NULL, flags);
-  
-      fclose(fp);
-      return OK;
-  }
-  
-***************
-*** 1968,1974 ****
-      }
-  
-      viminfo_errcnt = 0;
-!     do_viminfo(fp_in, fp_out, !forceit, !forceit, FALSE);
-  
-      fclose(fp_out);	    /* errors are ignored !? */
-      if (fp_in != NULL)
---- 1966,1972 ----
-      }
-  
-      viminfo_errcnt = 0;
-!     do_viminfo(fp_in, fp_out, forceit ? 0 : (VIF_WANT_INFO | VIF_WANT_MARKS));
-  
-      fclose(fp_out);	    /* errors are ignored !? */
-      if (fp_in != NULL)
-***************
-*** 2041,2052 ****
-   * do_viminfo() -- Should only be called from read_viminfo() & write_viminfo().
-   */
-      static void
-! do_viminfo(fp_in, fp_out, want_info, want_marks, force_read)
-      FILE	*fp_in;
-      FILE	*fp_out;
-!     int		want_info;
-!     int		want_marks;
-!     int		force_read;
-  {
-      int		count = 0;
-      int		eof = FALSE;
---- 2039,2048 ----
-   * do_viminfo() -- Should only be called from read_viminfo() & write_viminfo().
-   */
-      static void
-! do_viminfo(fp_in, fp_out, flags)
-      FILE	*fp_in;
-      FILE	*fp_out;
-!     int		flags;
-  {
-      int		count = 0;
-      int		eof = FALSE;
-***************
-*** 2061,2068 ****
-  
-      if (fp_in != NULL)
-      {
-! 	if (want_info)
-! 	    eof = read_viminfo_up_to_marks(&vir, force_read, fp_out != NULL);
-  	else
-  	    /* Skip info, find start of marks */
-  	    while (!(eof = viminfo_readline(&vir))
---- 2057,2065 ----
-  
-      if (fp_in != NULL)
-      {
-! 	if (flags & VIF_WANT_INFO)
-! 	    eof = read_viminfo_up_to_marks(&vir,
-! 					 flags & VIF_FORCEIT, fp_out != NULL);
-  	else
-  	    /* Skip info, find start of marks */
-  	    while (!(eof = viminfo_readline(&vir))
-***************
-*** 2092,2099 ****
-  	write_viminfo_bufferlist(fp_out);
-  	count = write_viminfo_marks(fp_out);
-      }
-!     if (fp_in != NULL && want_marks)
-! 	copy_viminfo_marks(&vir, fp_out, count, eof);
-  
-      vim_free(vir.vir_line);
-  #ifdef FEAT_MBYTE
---- 2089,2097 ----
-  	write_viminfo_bufferlist(fp_out);
-  	count = write_viminfo_marks(fp_out);
-      }
-!     if (fp_in != NULL
-! 	    && (flags & (VIF_WANT_MARKS | VIF_GET_OLDFILES | VIF_FORCEIT)))
-! 	copy_viminfo_marks(&vir, fp_out, count, eof, flags);
-  
-      vim_free(vir.vir_line);
-  #ifdef FEAT_MBYTE
-*** ../vim-7.2.030/src/ex_cmds.h	Thu Nov  6 20:47:00 2008
---- src/ex_cmds.h	Thu Sep 18 22:18:14 2008
-***************
-*** 653,658 ****
---- 653,660 ----
-  			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
-  EX(CMD_open,		"open",		ex_open,
-  			RANGE|EXTRA),
-+ EX(CMD_oldfiles,	"oldfiles",	ex_oldfiles,
-+ 			BANG|TRLBAR|SBOXOK|CMDWIN),
-  EX(CMD_omap,		"omap",		ex_map,
-  			EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
-  EX(CMD_omapclear,	"omapclear",	ex_mapclear,
-*** ../vim-7.2.030/src/ex_docmd.c	Thu Nov  6 17:16:06 2008
---- src/ex_docmd.c	Mon Nov  3 21:21:17 2008
-***************
-*** 364,369 ****
---- 364,370 ----
-  # define ex_function		ex_ni
-  # define ex_delfunction		ex_ni
-  # define ex_return		ex_ni
-+ # define ex_oldfiles		ex_ni
-  #endif
-  static char_u	*arg_all __ARGS((void));
-  #ifdef FEAT_SESSION
-***************
-*** 1770,1776 ****
-  			}
-  			if (checkforcmd(&ea.cmd, "browse", 3))
-  			{
-! #ifdef FEAT_BROWSE
-  			    cmdmod.browse = TRUE;
-  #endif
-  			    continue;
---- 1771,1777 ----
-  			}
-  			if (checkforcmd(&ea.cmd, "browse", 3))
-  			{
-! #ifdef FEAT_BROWSE_CMD
-  			    cmdmod.browse = TRUE;
-  #endif
-  			    continue;
-***************
-*** 9508,9531 ****
-  		    break;
-  		}
-  		s = src + 1;
-  		i = (int)getdigits(&s);
-  		*usedlen = (int)(s - src); /* length of what we expand */
-  
-! 		buf = buflist_findnr(i);
-! 		if (buf == NULL)
-  		{
-! 		    *errormsg = (char_u *)_("E194: No alternate file name to substitute for '#'");
-  		    return NULL;
-  		}
-! 		if (lnump != NULL)
-! 		    *lnump = ECMD_LAST;
-! 		if (buf->b_fname == NULL)
-  		{
-! 		    result = (char_u *)"";
-! 		    valid = 0;	    /* Must have ":p:h" to be valid */
-  		}
-- 		else
-- 		    result = buf->b_fname;
-  		break;
-  
-  #ifdef FEAT_SEARCHPATH
---- 9509,9558 ----
-  		    break;
-  		}
-  		s = src + 1;
-+ 		if (*s == '<')		/* "#<99" uses v:oldfiles */
-+ 		    ++s;
-  		i = (int)getdigits(&s);
-  		*usedlen = (int)(s - src); /* length of what we expand */
-  
-! 		if (src[1] == '<')
-  		{
-! 		    if (*usedlen < 2)
-! 		    {
-! 			/* Should we give an error message for #<text? */
-! 			*usedlen = 1;
-! 			return NULL;
-! 		    }
-! #ifdef FEAT_EVAL
-! 		    result = list_find_str(get_vim_var_list(VV_OLDFILES),
-! 								     (long)i);
-! 		    if (result == NULL)
-! 		    {
-! 			*errormsg = (char_u *)"";
-! 			return NULL;
-! 		    }
-! #else
-! 		    *errormsg = (char_u *)_("E809: #< is not available without the +eval feature");
-  		    return NULL;
-+ #endif
-  		}
-! 		else
-  		{
-! 		    buf = buflist_findnr(i);
-! 		    if (buf == NULL)
-! 		    {
-! 			*errormsg = (char_u *)_("E194: No alternate file name to substitute for '#'");
-! 			return NULL;
-! 		    }
-! 		    if (lnump != NULL)
-! 			*lnump = ECMD_LAST;
-! 		    if (buf->b_fname == NULL)
-! 		    {
-! 			result = (char_u *)"";
-! 			valid = 0;	    /* Must have ":p:h" to be valid */
-! 		    }
-! 		    else
-! 			result = buf->b_fname;
-  		}
-  		break;
-  
-  #ifdef FEAT_SEARCHPATH
-***************
-*** 10700,10706 ****
-  	p_viminfo = (char_u *)"'100";
-      if (eap->cmdidx == CMD_rviminfo)
-      {
-! 	if (read_viminfo(eap->arg, TRUE, TRUE, eap->forceit) == FAIL)
-  	    EMSG(_("E195: Cannot open viminfo file for reading"));
-      }
-      else
---- 10727,10734 ----
-  	p_viminfo = (char_u *)"'100";
-      if (eap->cmdidx == CMD_rviminfo)
-      {
-! 	if (read_viminfo(eap->arg, VIF_WANT_INFO | VIF_WANT_MARKS
-! 				  | (eap->forceit ? VIF_FORCEIT : 0)) == FAIL)
-  	    EMSG(_("E195: Cannot open viminfo file for reading"));
-      }
-      else
-*** ../vim-7.2.030/src/feature.h	Wed Aug  6 18:45:07 2008
---- src/feature.h	Fri Sep 19 19:14:22 2008
-***************
-*** 767,775 ****
-  
-  /*
-   * +browse		":browse" command.
-   */
-! #if defined(FEAT_NORMAL) && (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MAC))
-! # define FEAT_BROWSE
-  #endif
-  
-  /*
---- 767,779 ----
-  
-  /*
-   * +browse		":browse" command.
-+  *			or just the ":browse" command modifier
-   */
-! #if defined(FEAT_NORMAL)
-! # define FEAT_BROWSE_CMD
-! # if defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MAC)
-! #  define FEAT_BROWSE
-! # endif
-  #endif
-  
-  /*
-*** ../vim-7.2.030/src/fileio.c	Thu Sep 18 21:29:07 2008
---- src/fileio.c	Mon Nov  3 21:21:47 2008
-***************
-*** 2711,2717 ****
-  {
-      if (!curbuf->b_marks_read && get_viminfo_parameter('\'') > 0
-  						  && curbuf->b_ffname != NULL)
-! 	read_viminfo(NULL, FALSE, TRUE, FALSE);
-  
-      /* Always set b_marks_read; needed when 'viminfo' is changed to include
-       * the ' parameter after opening a buffer. */
---- 2711,2717 ----
-  {
-      if (!curbuf->b_marks_read && get_viminfo_parameter('\'') > 0
-  						  && curbuf->b_ffname != NULL)
-! 	read_viminfo(NULL, VIF_WANT_MARKS);
-  
-      /* Always set b_marks_read; needed when 'viminfo' is changed to include
-       * the ' parameter after opening a buffer. */
-***************
-*** 9108,9114 ****
-  set_context_in_autocmd(xp, arg, doautocmd)
-      expand_T	*xp;
-      char_u	*arg;
-!     int		doautocmd;	/* TRUE for :doautocmd, FALSE for :autocmd */
-  {
-      char_u	*p;
-      int		group;
---- 9109,9115 ----
-  set_context_in_autocmd(xp, arg, doautocmd)
-      expand_T	*xp;
-      char_u	*arg;
-!     int		doautocmd;	/* TRUE for :doauto*, FALSE for :autocmd */
-  {
-      char_u	*p;
-      int		group;
-*** ../vim-7.2.030/src/main.c	Thu Sep 18 20:55:19 2008
---- src/main.c	Sun Sep 14 13:26:10 2008
-***************
-*** 645,655 ****
-  
-  #ifdef FEAT_VIMINFO
-      /*
-!      * Read in registers, history etc, but not marks, from the viminfo file
-       */
-      if (*p_viminfo != NUL)
-      {
-! 	read_viminfo(NULL, TRUE, FALSE, FALSE);
-  	TIME_MSG("reading viminfo");
-      }
-  #endif
---- 645,656 ----
-  
-  #ifdef FEAT_VIMINFO
-      /*
-!      * Read in registers, history etc, but not marks, from the viminfo file.
-!      * This is where v:oldfiles gets filled.
-       */
-      if (*p_viminfo != NUL)
-      {
-! 	read_viminfo(NULL, VIF_WANT_INFO | VIF_GET_OLDFILES);
-  	TIME_MSG("reading viminfo");
-      }
-  #endif
-*** ../vim-7.2.030/src/mark.c	Sat Aug  9 19:37:29 2008
---- src/mark.c	Sun Sep 14 13:46:19 2008
-***************
-*** 1627,1641 ****
-  
-  /*
-   * Handle marks in the viminfo file:
-!  * fp_out == NULL   read marks for current buffer only
-!  * fp_out != NULL   copy marks for buffers not in buffer list
-   */
-      void
-! copy_viminfo_marks(virp, fp_out, count, eof)
-      vir_T	*virp;
-      FILE	*fp_out;
-      int		count;
-      int		eof;
-  {
-      char_u	*line = virp->vir_line;
-      buf_T	*buf;
---- 1627,1643 ----
-  
-  /*
-   * Handle marks in the viminfo file:
-!  * fp_out != NULL: copy marks for buffers not in buffer list
-!  * fp_out == NULL && (flags & VIF_WANT_MARKS): read marks for curbuf only
-!  * fp_out == NULL && (flags & VIF_GET_OLDFILES | VIF_FORCEIT): fill v:oldfiles
-   */
-      void
-! copy_viminfo_marks(virp, fp_out, count, eof, flags)
-      vir_T	*virp;
-      FILE	*fp_out;
-      int		count;
-      int		eof;
-+     int		flags;
-  {
-      char_u	*line = virp->vir_line;
-      buf_T	*buf;
-***************
-*** 1647,1656 ****
---- 1649,1671 ----
-      char_u	*p;
-      char_u	*name_buf;
-      pos_T	pos;
-+ #ifdef FEAT_EVAL
-+     list_T	*list = NULL;
-+ #endif
-  
-      if ((name_buf = alloc(LSIZE)) == NULL)
-  	return;
-      *name_buf = NUL;
-+ 
-+ #ifdef FEAT_EVAL
-+     if (fp_out == NULL && (flags & (VIF_GET_OLDFILES | VIF_FORCEIT)))
-+     {
-+ 	list = list_alloc();
-+ 	if (list != NULL)
-+ 	    set_vim_var_list(VV_OLDFILES, list);
-+     }
-+ #endif
-+ 
-      num_marked_files = get_viminfo_parameter('\'');
-      while (!eof && (count < num_marked_files || fp_out == NULL))
-      {
-***************
-*** 1681,1686 ****
---- 1696,1706 ----
-  	    p++;
-  	*p = NUL;
-  
-+ #ifdef FEAT_EVAL
-+ 	if (list != NULL)
-+ 	    list_append_string(list, str, -1);
-+ #endif
-+ 
-  	/*
-  	 * If fp_out == NULL, load marks for current buffer.
-  	 * If fp_out != NULL, copy marks for buffers not in buflist.
-***************
-*** 1688,1694 ****
-  	load_marks = copy_marks_out = FALSE;
-  	if (fp_out == NULL)
-  	{
-! 	    if (curbuf->b_ffname != NULL)
-  	    {
-  		if (*name_buf == NUL)	    /* only need to do this once */
-  		    home_replace(NULL, curbuf->b_ffname, name_buf, LSIZE, TRUE);
---- 1708,1714 ----
-  	load_marks = copy_marks_out = FALSE;
-  	if (fp_out == NULL)
-  	{
-! 	    if ((flags & VIF_WANT_MARKS) && curbuf->b_ffname != NULL)
-  	    {
-  		if (*name_buf == NUL)	    /* only need to do this once */
-  		    home_replace(NULL, curbuf->b_ffname, name_buf, LSIZE, TRUE);
-*** ../vim-7.2.030/src/misc1.c	Wed Jun 25 00:24:52 2008
---- src/misc1.c	Sun Nov  9 11:47:00 2008
-***************
-*** 3245,3253 ****
-  
-      /* When using ":silent" assume that <CR> was entered. */
-      if (mouse_used != NULL)
-! 	MSG_PUTS(_("Type number or click with mouse (<Enter> cancels): "));
-      else
-! 	MSG_PUTS(_("Choice number (<Enter> cancels): "));
-  
-      /* Set the state such that text can be selected/copied/pasted and we still
-       * get mouse events. */
---- 3245,3253 ----
-  
-      /* When using ":silent" assume that <CR> was entered. */
-      if (mouse_used != NULL)
-! 	MSG_PUTS(_("Type number and <Enter> or click with mouse (empty cancels): "));
-      else
-! 	MSG_PUTS(_("Type number and <Enter> (empty cancels): "));
-  
-      /* Set the state such that text can be selected/copied/pasted and we still
-       * get mouse events. */
-*** ../vim-7.2.030/src/proto/eval.pro	Sun Jan  6 20:06:30 2008
---- src/proto/eval.pro	Sun Nov  9 12:05:56 2008
-***************
-*** 17,23 ****
-  int eval_to_bool __ARGS((char_u *arg, int *error, char_u **nextcmd, int skip));
-  char_u *eval_to_string_skip __ARGS((char_u *arg, char_u **nextcmd, int skip));
-  int skip_expr __ARGS((char_u **pp));
-! char_u *eval_to_string __ARGS((char_u *arg, char_u **nextcmd, int dolist));
-  char_u *eval_to_string_safe __ARGS((char_u *arg, char_u **nextcmd, int use_sandbox));
-  int eval_to_number __ARGS((char_u *expr));
-  list_T *eval_spell_expr __ARGS((char_u *badword, char_u *expr));
---- 17,23 ----
-  int eval_to_bool __ARGS((char_u *arg, int *error, char_u **nextcmd, int skip));
-  char_u *eval_to_string_skip __ARGS((char_u *arg, char_u **nextcmd, int skip));
-  int skip_expr __ARGS((char_u **pp));
-! char_u *eval_to_string __ARGS((char_u *arg, char_u **nextcmd, int convert));
-  char_u *eval_to_string_safe __ARGS((char_u *arg, char_u **nextcmd, int use_sandbox));
-  int eval_to_number __ARGS((char_u *expr));
-  list_T *eval_spell_expr __ARGS((char_u *badword, char_u *expr));
-***************
-*** 46,52 ****
---- 46,54 ----
-  void list_unref __ARGS((list_T *l));
-  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_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));
-  int dict_add_nr_str __ARGS((dict_T *d, char *key, long nr, char_u *str));
-***************
-*** 58,65 ****
---- 60,69 ----
-  void set_vim_var_nr __ARGS((int idx, long val));
-  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_vcount __ARGS((long count, long count1));
-  void set_vim_var_string __ARGS((int idx, char_u *val, int len));
-+ void set_vim_var_list __ARGS((int idx, list_T *val));
-  void set_reg_var __ARGS((int c));
-  char_u *v_exception __ARGS((char_u *oldval));
-  char_u *v_throwpoint __ARGS((char_u *oldval));
-***************
-*** 94,99 ****
---- 98,104 ----
-  void write_viminfo_varlist __ARGS((FILE *fp));
-  int store_session_globals __ARGS((FILE *fd));
-  void last_set_msg __ARGS((scid_T scriptID));
-+ void ex_oldfiles __ARGS((exarg_T *eap));
-  int modify_fname __ARGS((char_u *src, int *usedlen, char_u **fnamep, char_u **bufp, int *fnamelen));
-  char_u *do_string_sub __ARGS((char_u *str, char_u *pat, char_u *sub, char_u *flags));
-  /* vim: set ft=c : */
-*** ../vim-7.2.030/src/proto/ex_cmds.pro	Sat May  5 20:13:58 2007
---- src/proto/ex_cmds.pro	Sat Sep 13 17:27:21 2008
-***************
-*** 11,17 ****
-  char_u *make_filter_cmd __ARGS((char_u *cmd, char_u *itmp, char_u *otmp));
-  void append_redir __ARGS((char_u *buf, char_u *opt, char_u *fname));
-  int viminfo_error __ARGS((char *errnum, char *message, char_u *line));
-! int read_viminfo __ARGS((char_u *file, int want_info, int want_marks, int forceit));
-  void write_viminfo __ARGS((char_u *file, int forceit));
-  int viminfo_readline __ARGS((vir_T *virp));
-  char_u *viminfo_readstring __ARGS((vir_T *virp, int off, int convert));
---- 11,17 ----
-  char_u *make_filter_cmd __ARGS((char_u *cmd, char_u *itmp, char_u *otmp));
-  void append_redir __ARGS((char_u *buf, char_u *opt, char_u *fname));
-  int viminfo_error __ARGS((char *errnum, char *message, char_u *line));
-! int read_viminfo __ARGS((char_u *file, int flags));
-  void write_viminfo __ARGS((char_u *file, int forceit));
-  int viminfo_readline __ARGS((vir_T *virp));
-  char_u *viminfo_readstring __ARGS((vir_T *virp, int off, int convert));
-*** ../vim-7.2.030/src/proto/mark.pro	Sat May  5 19:29:37 2007
---- src/proto/mark.pro	Sat Sep 13 18:06:20 2008
-***************
-*** 26,30 ****
-  void write_viminfo_filemarks __ARGS((FILE *fp));
-  int removable __ARGS((char_u *name));
-  int write_viminfo_marks __ARGS((FILE *fp_out));
-! void copy_viminfo_marks __ARGS((vir_T *virp, FILE *fp_out, int count, int eof));
-  /* vim: set ft=c : */
---- 26,30 ----
-  void write_viminfo_filemarks __ARGS((FILE *fp));
-  int removable __ARGS((char_u *name));
-  int write_viminfo_marks __ARGS((FILE *fp_out));
-! void copy_viminfo_marks __ARGS((vir_T *virp, FILE *fp_out, int count, int eof, int flags));
-  /* vim: set ft=c : */
-*** ../vim-7.2.030/src/option.c	Thu Oct  2 22:48:01 2008
---- src/option.c	Fri Sep 26 22:20:20 2008
-***************
-*** 2593,2605 ****
-  #ifdef FEAT_VIMINFO
-  			    (char_u *)&p_viminfo, PV_NONE,
-  #if defined(MSDOS) || defined(MSWIN) || defined(OS2)
-! 			    {(char_u *)"", (char_u *)"'20,<50,s10,h,rA:,rB:"}
-  #else
-  # ifdef AMIGA
-  			    {(char_u *)"",
-! 				 (char_u *)"'20,<50,s10,h,rdf0:,rdf1:,rdf2:"}
-  # else
-! 			    {(char_u *)"", (char_u *)"'20,<50,s10,h"}
-  # endif
-  #endif
-  #else
---- 2593,2605 ----
-  #ifdef FEAT_VIMINFO
-  			    (char_u *)&p_viminfo, PV_NONE,
-  #if defined(MSDOS) || defined(MSWIN) || defined(OS2)
-! 			    {(char_u *)"", (char_u *)"'100,<50,s10,h,rA:,rB:"}
-  #else
-  # ifdef AMIGA
-  			    {(char_u *)"",
-! 				 (char_u *)"'100,<50,s10,h,rdf0:,rdf1:,rdf2:"}
-  # else
-! 			    {(char_u *)"", (char_u *)"'100,<50,s10,h"}
-  # endif
-  #endif
-  #else
-*** ../vim-7.2.030/src/structs.h	Thu Jul 31 22:04:27 2008
---- src/structs.h	Fri Sep 19 19:15:18 2008
-***************
-*** 459,465 ****
-  typedef struct
-  {
-      int		hide;			/* TRUE when ":hide" was used */
-! # ifdef FEAT_BROWSE
-      int		browse;			/* TRUE to invoke file dialog */
-  # endif
-  # ifdef FEAT_WINDOWS
---- 459,465 ----
-  typedef struct
-  {
-      int		hide;			/* TRUE when ":hide" was used */
-! # ifdef FEAT_BROWSE_CMD
-      int		browse;			/* TRUE to invoke file dialog */
-  # endif
-  # ifdef FEAT_WINDOWS
-*** ../vim-7.2.030/src/vim.h	Sat Aug  9 19:37:40 2008
---- src/vim.h	Sat Sep 13 17:41:24 2008
-***************
-*** 1728,1734 ****
-  #define VV_MOUSE_COL	51
-  #define VV_OP		52
-  #define VV_SEARCHFORWARD 53
-! #define VV_LEN		54	/* number of v: vars */
-  
-  #ifdef FEAT_CLIPBOARD
-  
---- 1728,1735 ----
-  #define VV_MOUSE_COL	51
-  #define VV_OP		52
-  #define VV_SEARCHFORWARD 53
-! #define VV_OLDFILES	54
-! #define VV_LEN		55	/* number of v: vars */
-  
-  #ifdef FEAT_CLIPBOARD
-  
-***************
-*** 2054,2057 ****
---- 2055,2064 ----
-  #define DOSO_VIMRC	1	/* loading vimrc file */
-  #define DOSO_GVIMRC	2	/* loading gvimrc file */
-  
-+ /* flags for read_viminfo() and children */
-+ #define VIF_WANT_INFO		1	/* load non-mark info */
-+ #define VIF_WANT_MARKS		2	/* load file marks */
-+ #define VIF_FORCEIT		4	/* overwrite info already read */
-+ #define VIF_GET_OLDFILES	8	/* load v:oldfiles */
-+ 
-  #endif /* VIM__H */
-*** ../vim-7.2.030/src/version.c	Thu Nov  6 20:47:00 2008
---- src/version.c	Sun Nov  9 13:39:19 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     31,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-217. Your sex life has drastically improved...so what if it's only cyber-sex!
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.032	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.032
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.032 (after 7.2.031)
-Problem:    Can't build with EXITFREE defined. (Dominique Pelle)
-Solution:   Change vv_string to vv_str.
-Files:	    src/eval.c
-
-
-*** ../vim-7.2.031/src/eval.c	Sun Nov  9 13:43:25 2008
---- src/eval.c	Sun Nov  9 17:16:06 2008
-***************
-*** 846,853 ****
-  	p = &vimvars[i];
-  	if (p->vv_di.di_tv.v_type == VAR_STRING)
-  	{
-! 	    vim_free(p->vv_string);
-! 	    p->vv_string = NULL;
-  	}
-  	else if (p->vv_di.di_tv.v_type == VAR_LIST)
-  	{
---- 846,853 ----
-  	p = &vimvars[i];
-  	if (p->vv_di.di_tv.v_type == VAR_STRING)
-  	{
-! 	    vim_free(p->vv_str);
-! 	    p->vv_str = NULL;
-  	}
-  	else if (p->vv_di.di_tv.v_type == VAR_LIST)
-  	{
-*** ../vim-7.2.031/src/version.c	Sun Nov  9 13:43:25 2008
---- src/version.c	Sun Nov  9 17:21:00 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     32,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-218. Your spouse hands you a gift wrapped magnet with your PC's name
-     on it and you accuse him or her of genocide.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.033	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.033
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.033
-Problem:    When detecting a little endian BOM "ucs-2le" is used, but the text
-	    might be "utf-16le".
-Solution:   Default to "utf-16le", it also works for "ucs-2le". (Jia Yanwei)
-Files:	    src/fileio.c, src/testdir/test42.ok
-
-
-*** ../vim-7.2.032/src/fileio.c	Sun Nov  9 13:43:25 2008
---- src/fileio.c	Mon Nov  3 21:21:47 2008
-***************
-*** 5550,5558 ****
-  	    name = "ucs-4le";	/* FF FE 00 00 */
-  	    len = 4;
-  	}
-! 	else if (flags == FIO_ALL || flags == (FIO_UCS2 | FIO_ENDIAN_L))
-  	    name = "ucs-2le";	/* FF FE */
-! 	else if (flags == (FIO_UTF16 | FIO_ENDIAN_L))
-  	    name = "utf-16le";	/* FF FE */
-      }
-      else if (p[0] == 0xfe && p[1] == 0xff
---- 5550,5559 ----
-  	    name = "ucs-4le";	/* FF FE 00 00 */
-  	    len = 4;
-  	}
-! 	else if (flags == (FIO_UCS2 | FIO_ENDIAN_L))
-  	    name = "ucs-2le";	/* FF FE */
-! 	else if (flags == FIO_ALL || flags == (FIO_UTF16 | FIO_ENDIAN_L))
-! 	    /* utf-16le is preferred, it also works for ucs-2le text */
-  	    name = "utf-16le";	/* FF FE */
-      }
-      else if (p[0] == 0xfe && p[1] == 0xff
-*** ../vim-7.2.032/src/testdir/test42.ok	Sat Mar  1 13:49:21 2008
---- src/testdir/test42.ok	Sat Nov  1 17:09:29 2008
-***************
-*** 20,26 ****
-  ucs-2
-  
-  
-!   fileencoding=ucs-2le
-    bomb
-  ucs-2le
-  
---- 20,26 ----
-  ucs-2
-  
-  
-!   fileencoding=utf-16le
-    bomb
-  ucs-2le
-  
-*** ../vim-7.2.032/src/version.c	Sun Nov  9 17:21:10 2008
---- src/version.c	Tue Nov 11 21:54:14 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     33,
-  /**/
-
--- 
-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    ///
--- a/components/vim/vim72-patches/7.2.034	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.034
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.034
-Problem:    Memory leak in spell info when deleting buffer.
-Solution:   Free the memory. (Dominique Pelle)
-Files:	    src/buffer.c
-
-
-*** ../vim-7.2.033/src/buffer.c	Mon Sep  1 17:32:40 2008
---- src/buffer.c	Wed Nov 12 11:21:49 2008
-***************
-*** 647,652 ****
---- 647,655 ----
-      vim_free(buf->b_start_fenc);
-      buf->b_start_fenc = NULL;
-  #endif
-+ #ifdef FEAT_SPELL
-+     ga_clear(&buf->b_langp);
-+ #endif
-  }
-  
-  /*
-***************
-*** 1237,1243 ****
-  	 * "buf" if one exists */
-  	if ((swb_flags & SWB_USEOPEN) && buf_jump_open_win(buf))
-  	    return OK;
-! 	/* If 'switchbuf' contians "usetab": jump to first window in any tab
-  	 * page containing "buf" if one exists */
-  	if ((swb_flags & SWB_USETAB) && buf_jump_open_tab(buf))
-  	    return OK;
---- 1240,1246 ----
-  	 * "buf" if one exists */
-  	if ((swb_flags & SWB_USEOPEN) && buf_jump_open_win(buf))
-  	    return OK;
-! 	/* If 'switchbuf' contains "usetab": jump to first window in any tab
-  	 * page containing "buf" if one exists */
-  	if ((swb_flags & SWB_USETAB) && buf_jump_open_tab(buf))
-  	    return OK;
-***************
-*** 3964,3970 ****
-      width = vim_strsize(out);
-      if (maxwidth > 0 && width > maxwidth)
-      {
-! 	/* Result is too long, must trunctate somewhere. */
-  	l = 0;
-  	if (itemcnt == 0)
-  	    s = out;
---- 3967,3973 ----
-      width = vim_strsize(out);
-      if (maxwidth > 0 && width > maxwidth)
-      {
-! 	/* Result is too long, must truncate somewhere. */
-  	l = 0;
-  	if (itemcnt == 0)
-  	    s = out;
-*** ../vim-7.2.033/src/version.c	Tue Nov 11 21:55:29 2008
---- src/version.c	Wed Nov 12 12:51:21 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     34,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-236. You start saving URL's in your digital 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    ///
--- a/components/vim/vim72-patches/7.2.035	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.035
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.035
-Problem:    Mismatches between alloc/malloc, free/vim_free,
-	    realloc/vim_realloc.
-Solution:   Use the right function. (Dominique Pelle)
-Files:	    src/gui_x11.c, src/mbyte.c, src/misc2.c, src/os_unix.c
-
-
-*** ../vim-7.2.034/src/gui_x11.c	Fri Jun 20 11:59:25 2008
---- src/gui_x11.c	Wed Nov 12 11:47:03 2008
-***************
-*** 2450,2456 ****
-  	*colorPtr = colortable[closest];
-      }
-  
-!     free(colortable);
-      return OK;
-  }
-  
---- 2450,2456 ----
-  	*colorPtr = colortable[closest];
-      }
-  
-!     vim_free(colortable);
-      return OK;
-  }
-  
-*** ../vim-7.2.034/src/mbyte.c	Sat Sep  6 16:44:06 2008
---- src/mbyte.c	Wed Nov 12 11:24:14 2008
-***************
-*** 5384,5390 ****
-  			draw_feedback = (char *)alloc(draw_data->chg_first
-  							      + text->length);
-  		    else
-! 			draw_feedback = realloc(draw_feedback,
-  					 draw_data->chg_first + text->length);
-  		    if (draw_feedback != NULL)
-  		    {
---- 5384,5390 ----
-  			draw_feedback = (char *)alloc(draw_data->chg_first
-  							      + text->length);
-  		    else
-! 			draw_feedback = vim_realloc(draw_feedback,
-  					 draw_data->chg_first + text->length);
-  		    if (draw_feedback != NULL)
-  		    {
-*** ../vim-7.2.034/src/misc2.c	Sat Sep  6 16:44:06 2008
---- src/misc2.c	Wed Nov 12 11:42:51 2008
-***************
-*** 873,879 ****
-  	    /* 3. check for available memory: call mch_avail_mem() */
-  	    if (mch_avail_mem(TRUE) < KEEP_ROOM && !releasing)
-  	    {
-! 		vim_free((char *)p);	/* System is low... no go! */
-  		p = NULL;
-  	    }
-  	    else
---- 873,879 ----
-  	    /* 3. check for available memory: call mch_avail_mem() */
-  	    if (mch_avail_mem(TRUE) < KEEP_ROOM && !releasing)
-  	    {
-! 		free((char *)p);	/* System is low... no go! */
-  		p = NULL;
-  	    }
-  	    else
-*** ../vim-7.2.034/src/os_unix.c	Wed Aug  6 18:45:01 2008
---- src/os_unix.c	Wed Nov 12 11:55:33 2008
-***************
-*** 2905,2911 ****
-       * Ignore any errors.
-       */
-  #if defined(HAVE_SIGALTSTACK) || defined(HAVE_SIGSTACK)
-!     signal_stack = malloc(SIGSTKSZ);
-      init_signal_stack();
-  #endif
-  }
---- 2905,2911 ----
-       * Ignore any errors.
-       */
-  #if defined(HAVE_SIGALTSTACK) || defined(HAVE_SIGSTACK)
-!     signal_stack = (char *)alloc(SIGSTKSZ);
-      init_signal_stack();
-  #endif
-  }
-***************
-*** 6814,6820 ****
-      if (xsmp_icefd != -1)
-      {
-  	SmcCloseConnection(xsmp.smcconn, 0, NULL);
-! 	vim_free(xsmp.clientid);
-  	xsmp.clientid = NULL;
-  	xsmp_icefd = -1;
-      }
---- 6815,6822 ----
-      if (xsmp_icefd != -1)
-      {
-  	SmcCloseConnection(xsmp.smcconn, 0, NULL);
-! 	if (xsmp.clientid != NULL)
-! 	    free(xsmp.clientid);
-  	xsmp.clientid = NULL;
-  	xsmp_icefd = -1;
-      }
-*** ../vim-7.2.034/src/version.c	Wed Nov 12 12:51:38 2008
---- src/version.c	Wed Nov 12 13:05:40 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     35,
-  /**/
-
--- 
-You can tune a file system, but you can't tuna fish
-							-- man tunefs
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.037	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.037
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.037
-Problem:    Double free with GTK 1 and compiled with EXITFREE.
-Solution:   Don't close display. (Dominique Pelle)
-Files:	    src/os_unix.c
-
-
-*** ../vim-7.2.036/src/os_unix.c	Wed Nov 12 13:07:48 2008
---- src/os_unix.c	Wed Nov 12 11:55:33 2008
-***************
-*** 2936,2942 ****
-      }
-  #  endif
-  # endif
-! # ifdef FEAT_X11
-      if (x11_display != NULL
-  #  ifdef FEAT_XCLIPBOARD
-  	    && x11_display != xterm_dpy
---- 2936,2943 ----
-      }
-  #  endif
-  # endif
-!     /* Don't close the display for GTK 1, it is done in exit(). */
-! # if defined(FEAT_X11) && (!defined(FEAT_GUI_GTK) || defined(HAVE_GTK2))
-      if (x11_display != NULL
-  #  ifdef FEAT_XCLIPBOARD
-  	    && x11_display != xterm_dpy
-*** ../vim-7.2.036/src/version.c	Wed Nov 12 13:35:31 2008
---- src/version.c	Wed Nov 12 14:08:56 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     37,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-240. You think Webster's Dictionary is a directory of WEB sites.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.038	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.038
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.038
-Problem:    Overlapping arguments to memcpy().
-Solution:   Use mch_memmove(). (Dominique Pelle)
-Files:	    src/if_xcmdsrv.c
-
-
-*** ../vim-7.2.037/src/if_xcmdsrv.c	Wed Aug  6 18:38:13 2008
---- src/if_xcmdsrv.c	Wed Nov 12 12:09:01 2008
-***************
-*** 736,742 ****
-  		+ serverReply.ga_len;
-  	    e.id = w;
-  	    ga_init2(&e.strings, 1, 100);
-! 	    memcpy(p, &e, sizeof(e));
-  	    serverReply.ga_len++;
-  	}
-      }
---- 736,742 ----
-  		+ serverReply.ga_len;
-  	    e.id = w;
-  	    ga_init2(&e.strings, 1, 100);
-! 	    mch_memmove(p, &e, sizeof(e));
-  	    serverReply.ga_len++;
-  	}
-      }
-***************
-*** 1018,1024 ****
-  	p++;
-  	count = numItems - (p - regProp);
-  	if (count > 0)
-! 	    memcpy(entry, p, count);
-  	XChangeProperty(dpy, RootWindow(dpy, 0), registryProperty, XA_STRING,
-  			8, PropModeReplace, regProp,
-  			(int)(numItems - (p - entry)));
---- 1018,1024 ----
-  	p++;
-  	count = numItems - (p - regProp);
-  	if (count > 0)
-! 	    mch_memmove(entry, p, count);
-  	XChangeProperty(dpy, RootWindow(dpy, 0), registryProperty, XA_STRING,
-  			8, PropModeReplace, regProp,
-  			(int)(numItems - (p - entry)));
-***************
-*** 1072,1078 ****
-  		p++;
-  		lastHalf = numItems - (p - regProp);
-  		if (lastHalf > 0)
-! 		    memcpy(entry, p, lastHalf);
-  		numItems = (entry - regProp) + lastHalf;
-  		p = entry;
-  		continue;
---- 1072,1078 ----
-  		p++;
-  		lastHalf = numItems - (p - regProp);
-  		if (lastHalf > 0)
-! 		    mch_memmove(entry, p, lastHalf);
-  		numItems = (entry - regProp) + lastHalf;
-  		p = entry;
-  		continue;
-*** ../vim-7.2.037/src/version.c	Wed Nov 12 14:09:38 2008
---- src/version.c	Wed Nov 12 14:51:00 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     38,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-241. You try to look for Net Search even when you're in File Manager.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.039	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.039
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.039
-Problem:    Accessing freed memory on exit when EXITFREE is defined.
-Solution:   Call hash_init() on the v: hash table.
-Files:	    src/eval.c
-
-
-*** ../vim-7.2.038/src/eval.c	Sun Nov  9 17:21:10 2008
---- src/eval.c	Wed Nov 12 12:15:14 2008
-***************
-*** 856,861 ****
---- 856,862 ----
-  	}
-      }
-      hash_clear(&vimvarht);
-+     hash_init(&vimvarht);  /* garbage_collect() will access it */
-      hash_clear(&compat_hashtab);
-  
-      /* script-local variables */
-*** ../vim-7.2.038/src/version.c	Wed Nov 12 14:52:11 2008
---- src/version.c	Wed Nov 12 15:09:39 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     39,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-242. You turn down a better-paying job because it doesn't come with
-     a free e-mail account.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.040	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.040
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.040
-Problem:    When using ":e ++ff=dos fname" and the file contains a NL without
-	    a CR before it and 'ffs' contains "unix" then the fileformat
-	    becomes unix.
-Solution:   Ignore 'ffs' when using the ++ff argument. (Ben Schmidt)
-	    Also remove unreachable code.
-Files:	    src/fileio.c
-
-
-*** ../vim-7.2.039/src/fileio.c	Tue Nov 11 21:55:29 2008
---- src/fileio.c	Wed Nov 12 13:19:42 2008
-***************
-*** 932,938 ****
---- 932,941 ----
-      else
-      {
-  	if (eap != NULL && eap->force_ff != 0)
-+ 	{
-  	    fileformat = get_fileformat_force(curbuf, eap);
-+ 	    try_unix = try_dos = try_mac = FALSE;
-+ 	}
-  	else if (curbuf->b_p_bin)
-  	    fileformat = EOL_UNIX;		/* binary: use Unix format */
-  	else if (*p_ffs == NUL)
-***************
-*** 2341,2351 ****
-  		STRCAT(IObuff, _("[CR missing]"));
-  		c = TRUE;
-  	    }
-- 	    if (ff_error == EOL_MAC)
-- 	    {
-- 		STRCAT(IObuff, _("[NL found]"));
-- 		c = TRUE;
-- 	    }
-  	    if (split)
-  	    {
-  		STRCAT(IObuff, _("[long lines split]"));
---- 2344,2349 ----
-*** ../vim-7.2.039/src/version.c	Wed Nov 12 15:28:37 2008
---- src/version.c	Wed Nov 12 16:03:44 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     40,
-  /**/
-
--- 
-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    ///
--- a/components/vim/vim72-patches/7.2.041	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,709 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.041
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.041
-Problem:    In diff mode, when using two tabs, each with two diffed buffers,
-	    editing a buffer of the other tab messes up the diff.  (Matt
-	    Mzyzik)
-Solution:   Only copy options from a window where the buffer was edited that
-	    doesn't have 'diff' set or is for the current tab page.
-	    Also fix that window options for a buffer are stored with the
-	    wrong window.
-Files:	    src/buffer.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c,
-	    src/ex_getln.c, src/if_sniff.c, src/main.c, src/netbeans.c,
-	    src/normal.c, src/popupmnu.c, src/proto/buffer.pro,
-	    src/proto/ex_cmds.pro src/quickfix.c, src/window.c
-
-
-*** ../vim-7.2.040/src/buffer.c	Wed Nov 12 12:51:38 2008
---- src/buffer.c	Wed Nov 12 17:45:01 2008
-***************
-*** 33,39 ****
-  static char_u	*fname_match __ARGS((regprog_T *prog, char_u *name));
-  #endif
-  static void	buflist_setfpos __ARGS((buf_T *buf, win_T *win, linenr_T lnum, colnr_T col, int copy_options));
-! static wininfo_T *find_wininfo __ARGS((buf_T *buf));
-  #ifdef UNIX
-  static buf_T	*buflist_findname_stat __ARGS((char_u *ffname, struct stat *st));
-  static int	otherfile_buf __ARGS((buf_T *buf, char_u *ffname, struct stat *stp));
---- 33,39 ----
-  static char_u	*fname_match __ARGS((regprog_T *prog, char_u *name));
-  #endif
-  static void	buflist_setfpos __ARGS((buf_T *buf, win_T *win, linenr_T lnum, colnr_T col, int copy_options));
-! static wininfo_T *find_wininfo __ARGS((buf_T *buf, int skip_diff_buffer));
-  #ifdef UNIX
-  static buf_T	*buflist_findname_stat __ARGS((char_u *ffname, struct stat *st));
-  static int	otherfile_buf __ARGS((buf_T *buf, char_u *ffname, struct stat *stp));
-***************
-*** 1093,1099 ****
-  #endif
-  	    setpcmark();
-  	    retval = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE,
-! 						  forceit ? ECMD_FORCEIT : 0);
-  
-  	    /*
-  	     * do_ecmd() may create a new buffer, then we have to delete
---- 1093,1099 ----
-  #endif
-  	    setpcmark();
-  	    retval = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE,
-! 					  forceit ? ECMD_FORCEIT : 0, curwin);
-  
-  	    /*
-  	     * do_ecmd() may create a new buffer, then we have to delete
-***************
-*** 1316,1322 ****
-      setpcmark();
-      if (!cmdmod.keepalt)
-  	curwin->w_alt_fnum = curbuf->b_fnum; /* remember alternate file */
-!     buflist_altfpos();			 /* remember curpos */
-  
-  #ifdef FEAT_VISUAL
-      /* Don't restart Select mode after switching to another buffer. */
---- 1316,1322 ----
-      setpcmark();
-      if (!cmdmod.keepalt)
-  	curwin->w_alt_fnum = curbuf->b_fnum; /* remember alternate file */
-!     buflist_altfpos(curwin);			 /* remember curpos */
-  
-  #ifdef FEAT_VISUAL
-      /* Don't restart Select mode after switching to another buffer. */
-***************
-*** 2404,2425 ****
-      return;
-  }
-  
-  /*
-   * Find info for the current window in buffer "buf".
-   * If not found, return the info for the most recently used window.
-   * Returns NULL when there isn't any info.
-   */
-      static wininfo_T *
-! find_wininfo(buf)
-      buf_T	*buf;
-  {
-      wininfo_T	*wip;
-  
-      for (wip = buf->b_wininfo; wip != NULL; wip = wip->wi_next)
-! 	if (wip->wi_win == curwin)
-  	    break;
-!     if (wip == NULL)	/* if no fpos for curwin, use the first in the list */
-! 	wip = buf->b_wininfo;
-      return wip;
-  }
-  
---- 2404,2473 ----
-      return;
-  }
-  
-+ #ifdef FEAT_DIFF
-+ static int wininfo_other_tab_diff __ARGS((wininfo_T *wip));
-+ 
-+ /*
-+  * Return TRUE when "wip" has 'diff' set and the diff is only for another tab
-+  * page.  That's because a diff is local to a tab page.
-+  */
-+     static int
-+ wininfo_other_tab_diff(wip)
-+     wininfo_T	*wip;
-+ {
-+     win_T	*wp;
-+ 
-+     if (wip->wi_opt.wo_diff)
-+     {
-+ 	for (wp = firstwin; wp != NULL; wp = wp->w_next)
-+ 	    /* return FALSE when it's a window in the current tab page, thus
-+ 	     * the buffer was in diff mode here */
-+ 	    if (wip->wi_win == wp)
-+ 		return FALSE;
-+ 	return TRUE;
-+     }
-+     return FALSE;
-+ }
-+ #endif
-+ 
-  /*
-   * Find info for the current window in buffer "buf".
-   * If not found, return the info for the most recently used window.
-+  * When "skip_diff_buffer" is TRUE avoid windows with 'diff' set that is in
-+  * another tab page.
-   * Returns NULL when there isn't any info.
-   */
-+ /*ARGSUSED*/
-      static wininfo_T *
-! find_wininfo(buf, skip_diff_buffer)
-      buf_T	*buf;
-+     int		skip_diff_buffer;
-  {
-      wininfo_T	*wip;
-  
-      for (wip = buf->b_wininfo; wip != NULL; wip = wip->wi_next)
-! 	if (wip->wi_win == curwin
-! #ifdef FEAT_DIFF
-! 		&& (!skip_diff_buffer || !wininfo_other_tab_diff(wip))
-! #endif
-! 	   )
-  	    break;
-! 
-!     /* If no wininfo for curwin, use the first in the list (that doesn't have
-!      * 'diff' set and is in another tab page). */
-!     if (wip == NULL)
-!     {
-! #ifdef FEAT_DIFF
-! 	if (skip_diff_buffer)
-! 	{
-! 	    for (wip = buf->b_wininfo; wip != NULL; wip = wip->wi_next)
-! 		if (!wininfo_other_tab_diff(wip))
-! 		    break;
-! 	}
-! 	else
-! #endif
-! 	    wip = buf->b_wininfo;
-!     }
-      return wip;
-  }
-  
-***************
-*** 2440,2446 ****
-      clearFolding(curwin);
-  #endif
-  
-!     wip = find_wininfo(buf);
-      if (wip != NULL && wip->wi_optset)
-      {
-  	copy_winopt(&wip->wi_opt, &curwin->w_onebuf_opt);
---- 2488,2494 ----
-      clearFolding(curwin);
-  #endif
-  
-!     wip = find_wininfo(buf, TRUE);
-      if (wip != NULL && wip->wi_optset)
-      {
-  	copy_winopt(&wip->wi_opt, &curwin->w_onebuf_opt);
-***************
-*** 2472,2478 ****
-      wininfo_T	*wip;
-      static pos_T no_position = {1, 0};
-  
-!     wip = find_wininfo(buf);
-      if (wip != NULL)
-  	return &(wip->wi_fpos);
-      else
---- 2520,2526 ----
-      wininfo_T	*wip;
-      static pos_T no_position = {1, 0};
-  
-!     wip = find_wininfo(buf, FALSE);
-      if (wip != NULL)
-  	return &(wip->wi_fpos);
-      else
-***************
-*** 2793,2806 ****
-  #endif
-  
-  /*
-!  * Set alternate cursor position for current window.
-   * Also save the local window option values.
-   */
-      void
-! buflist_altfpos()
-  {
-!     buflist_setfpos(curbuf, curwin, curwin->w_cursor.lnum,
-! 						  curwin->w_cursor.col, TRUE);
-  }
-  
-  /*
---- 2841,2854 ----
-  #endif
-  
-  /*
-!  * Set alternate cursor position for the current buffer and window "win".
-   * Also save the local window option values.
-   */
-      void
-! buflist_altfpos(win)
-!     win_T *win;
-  {
-!     buflist_setfpos(curbuf, win, win->w_cursor.lnum, win->w_cursor.col, TRUE);
-  }
-  
-  /*
-***************
-*** 4492,4498 ****
-  		      ECMD_ONE,
-  		      ((P_HID(curwin->w_buffer)
-  			   || bufIsChanged(curwin->w_buffer)) ? ECMD_HIDE : 0)
-! 							       + ECMD_OLDBUF);
-  #ifdef FEAT_AUTOCMD
-  	    if (use_firstwin)
-  		++autocmd_no_leave;
---- 4540,4546 ----
-  		      ECMD_ONE,
-  		      ((P_HID(curwin->w_buffer)
-  			   || bufIsChanged(curwin->w_buffer)) ? ECMD_HIDE : 0)
-! 						       + ECMD_OLDBUF, curwin);
-  #ifdef FEAT_AUTOCMD
-  	    if (use_firstwin)
-  		++autocmd_no_leave;
-*** ../vim-7.2.040/src/ex_cmds.c	Sun Nov  9 13:43:25 2008
---- src/ex_cmds.c	Wed Nov 12 22:41:41 2008
-***************
-*** 3052,3058 ****
-  	retval = 0;	/* it's in the same file */
-      }
-      else if (do_ecmd(fnum, ffname, sfname, NULL, lnum,
-! 		(P_HID(curbuf) ? ECMD_HIDE : 0) + (forceit ? ECMD_FORCEIT : 0)) == OK)
-  	retval = -1;	/* opened another file */
-      else
-  	retval = 1;	/* error encountered */
---- 3052,3059 ----
-  	retval = 0;	/* it's in the same file */
-      }
-      else if (do_ecmd(fnum, ffname, sfname, NULL, lnum,
-! 		(P_HID(curbuf) ? ECMD_HIDE : 0) + (forceit ? ECMD_FORCEIT : 0),
-! 		curwin) == OK)
-  	retval = -1;	/* opened another file */
-      else
-  	retval = 1;	/* error encountered */
-***************
-*** 3085,3101 ****
-   *	 ECMD_OLDBUF: use existing buffer if it exists
-   *	ECMD_FORCEIT: ! used for Ex command
-   *	 ECMD_ADDBUF: don't edit, just add to buffer list
-   *
-   * return FAIL for failure, OK otherwise
-   */
-      int
-! do_ecmd(fnum, ffname, sfname, eap, newlnum, flags)
-      int		fnum;
-      char_u	*ffname;
-      char_u	*sfname;
-      exarg_T	*eap;			/* can be NULL! */
-      linenr_T	newlnum;
-      int		flags;
-  {
-      int		other_file;		/* TRUE if editing another file */
-      int		oldbuf;			/* TRUE if using existing buffer */
---- 3086,3106 ----
-   *	 ECMD_OLDBUF: use existing buffer if it exists
-   *	ECMD_FORCEIT: ! used for Ex command
-   *	 ECMD_ADDBUF: don't edit, just add to buffer list
-+  *   oldwin: Should be "curwin" when editing a new buffer in the current
-+  *           window, NULL when splitting the window first.  When not NULL info
-+  *           of the previous buffer for "oldwin" is stored.
-   *
-   * return FAIL for failure, OK otherwise
-   */
-      int
-! do_ecmd(fnum, ffname, sfname, eap, newlnum, flags, oldwin)
-      int		fnum;
-      char_u	*ffname;
-      char_u	*sfname;
-      exarg_T	*eap;			/* can be NULL! */
-      linenr_T	newlnum;
-      int		flags;
-+     win_T	*oldwin;
-  {
-      int		other_file;		/* TRUE if editing another file */
-      int		oldbuf;			/* TRUE if using existing buffer */
-***************
-*** 3267,3273 ****
-  	{
-  	    if (!cmdmod.keepalt)
-  		curwin->w_alt_fnum = curbuf->b_fnum;
-! 	    buflist_altfpos();
-  	}
-  
-  	if (fnum)
---- 3272,3279 ----
-  	{
-  	    if (!cmdmod.keepalt)
-  		curwin->w_alt_fnum = curbuf->b_fnum;
-! 	    if (oldwin != NULL)
-! 		buflist_altfpos(oldwin);
-  	}
-  
-  	if (fnum)
-***************
-*** 3371,3377 ****
-  
-  		/* close the link to the current buffer */
-  		u_sync(FALSE);
-! 		close_buffer(curwin, curbuf,
-  				      (flags & ECMD_HIDE) ? 0 : DOBUF_UNLOAD);
-  
-  #ifdef FEAT_AUTOCMD
---- 3377,3383 ----
-  
-  		/* close the link to the current buffer */
-  		u_sync(FALSE);
-! 		close_buffer(oldwin, curbuf,
-  				      (flags & ECMD_HIDE) ? 0 : DOBUF_UNLOAD);
-  
-  #ifdef FEAT_AUTOCMD
-***************
-*** 5609,5615 ****
-  	     */
-  	    alt_fnum = curbuf->b_fnum;
-  	    (void)do_ecmd(0, NULL, NULL, NULL, ECMD_LASTL,
-! 						   ECMD_HIDE + ECMD_SET_HELP);
-  	    if (!cmdmod.keepalt)
-  		curwin->w_alt_fnum = alt_fnum;
-  	    empty_fnum = curbuf->b_fnum;
---- 5615,5627 ----
-  	     */
-  	    alt_fnum = curbuf->b_fnum;
-  	    (void)do_ecmd(0, NULL, NULL, NULL, ECMD_LASTL,
-! 			  ECMD_HIDE + ECMD_SET_HELP,
-! #ifdef FEAT_WINDOWS
-! 			  NULL  /* buffer is still open, don't store info */
-! #else
-! 			  curwin
-! #endif
-! 		    );
-  	    if (!cmdmod.keepalt)
-  		curwin->w_alt_fnum = alt_fnum;
-  	    empty_fnum = curbuf->b_fnum;
-*** ../vim-7.2.040/src/ex_cmds2.c	Sun Sep  7 15:49:45 2008
---- src/ex_cmds2.c	Wed Nov 12 17:46:41 2008
-***************
-*** 2132,2139 ****
-  	 * argument index. */
-  	if (do_ecmd(0, alist_name(&ARGLIST[curwin->w_arg_idx]), NULL,
-  		      eap, ECMD_LAST,
-! 		      (P_HID(curwin->w_buffer) ? ECMD_HIDE : 0) +
-! 				   (eap->forceit ? ECMD_FORCEIT : 0)) == FAIL)
-  	    curwin->w_arg_idx = old_arg_idx;
-  	/* like Vi: set the mark where the cursor is in the file. */
-  	else if (eap->cmdidx != CMD_argdo)
---- 2132,2139 ----
-  	 * argument index. */
-  	if (do_ecmd(0, alist_name(&ARGLIST[curwin->w_arg_idx]), NULL,
-  		      eap, ECMD_LAST,
-! 		      (P_HID(curwin->w_buffer) ? ECMD_HIDE : 0)
-! 			 + (eap->forceit ? ECMD_FORCEIT : 0), curwin) == FAIL)
-  	    curwin->w_arg_idx = old_arg_idx;
-  	/* like Vi: set the mark where the cursor is in the file. */
-  	else if (eap->cmdidx != CMD_argdo)
-*** ../vim-7.2.040/src/ex_docmd.c	Sun Nov  9 13:43:25 2008
---- src/ex_docmd.c	Wed Nov 12 18:04:22 2008
-***************
-*** 7488,7494 ****
-  	/* ":new" or ":tabnew" without argument: edit an new empty buffer */
-  	setpcmark();
-  	(void)do_ecmd(0, NULL, NULL, eap, ECMD_ONE,
-! 			       ECMD_HIDE + (eap->forceit ? ECMD_FORCEIT : 0));
-      }
-      else if ((eap->cmdidx != CMD_split
-  #ifdef FEAT_VERTSPLIT
---- 7488,7495 ----
-  	/* ":new" or ":tabnew" without argument: edit an new empty buffer */
-  	setpcmark();
-  	(void)do_ecmd(0, NULL, NULL, eap, ECMD_ONE,
-! 		      ECMD_HIDE + (eap->forceit ? ECMD_FORCEIT : 0),
-! 		      old_curwin == NULL ? curwin : NULL);
-      }
-      else if ((eap->cmdidx != CMD_split
-  #ifdef FEAT_VERTSPLIT
-***************
-*** 7525,7531 ****
-  #ifdef FEAT_LISTCMDS
-  		    + (eap->cmdidx == CMD_badd ? ECMD_ADDBUF : 0 )
-  #endif
-! 		    ) == FAIL)
-  	{
-  	    /* Editing the file failed.  If the window was split, close it. */
-  #ifdef FEAT_WINDOWS
---- 7526,7532 ----
-  #ifdef FEAT_LISTCMDS
-  		    + (eap->cmdidx == CMD_badd ? ECMD_ADDBUF : 0 )
-  #endif
-! 		    , old_curwin == NULL ? curwin : NULL) == FAIL)
-  	{
-  	    /* Editing the file failed.  If the window was split, close it. */
-  #ifdef FEAT_WINDOWS
-*** ../vim-7.2.040/src/ex_getln.c	Sun Sep 14 14:41:44 2008
---- src/ex_getln.c	Wed Nov 12 18:06:25 2008
-***************
-*** 6051,6057 ****
-  	cmdwin_type = '-';
-  
-      /* Create the command-line buffer empty. */
-!     (void)do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE);
-      (void)setfname(curbuf, (char_u *)"[Command Line]", NULL, TRUE);
-      set_option_value((char_u *)"bt", 0L, (char_u *)"nofile", OPT_LOCAL);
-      set_option_value((char_u *)"swf", 0L, NULL, OPT_LOCAL);
---- 6051,6057 ----
-  	cmdwin_type = '-';
-  
-      /* Create the command-line buffer empty. */
-!     (void)do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE, NULL);
-      (void)setfname(curbuf, (char_u *)"[Command Line]", NULL, TRUE);
-      set_option_value((char_u *)"bt", 0L, (char_u *)"nofile", OPT_LOCAL);
-      set_option_value((char_u *)"swf", 0L, NULL, OPT_LOCAL);
-*** ../vim-7.2.040/src/main.c	Sun Nov  9 13:43:25 2008
---- src/main.c	Wed Nov 12 17:49:06 2008
-***************
-*** 2588,2594 ****
-  # endif
-  	    (void)do_ecmd(0, arg_idx < GARGCOUNT
-  			  ? alist_name(&GARGLIST[arg_idx]) : NULL,
-! 			  NULL, NULL, ECMD_LASTL, ECMD_HIDE);
-  # ifdef HAS_SWAP_EXISTS_ACTION
-  	    if (swap_exists_did_quit)
-  	    {
---- 2588,2594 ----
-  # endif
-  	    (void)do_ecmd(0, arg_idx < GARGCOUNT
-  			  ? alist_name(&GARGLIST[arg_idx]) : NULL,
-! 			  NULL, NULL, ECMD_LASTL, ECMD_HIDE, curwin);
-  # ifdef HAS_SWAP_EXISTS_ACTION
-  	    if (swap_exists_did_quit)
-  	    {
-*** ../vim-7.2.040/src/netbeans.c	Sun Jul 13 19:18:03 2008
---- src/netbeans.c	Wed Nov 12 17:49:40 2008
-***************
-*** 1795,1801 ****
-  	    buf->displayname = NULL;
-  
-  	    netbeansReadFile = 0; /* don't try to open disk file */
-! 	    do_ecmd(0, NULL, 0, 0, ECMD_ONE, ECMD_HIDE + ECMD_OLDBUF);
-  	    netbeansReadFile = 1;
-  	    buf->bufp = curbuf;
-  	    maketitle();
---- 1795,1801 ----
-  	    buf->displayname = NULL;
-  
-  	    netbeansReadFile = 0; /* don't try to open disk file */
-! 	    do_ecmd(0, NULL, 0, 0, ECMD_ONE, ECMD_HIDE + ECMD_OLDBUF, curwin);
-  	    netbeansReadFile = 1;
-  	    buf->bufp = curbuf;
-  	    maketitle();
-***************
-*** 1960,1966 ****
-  
-  	    netbeansReadFile = 0; /* don't try to open disk file */
-  	    do_ecmd(0, (char_u *)buf->displayname, 0, 0, ECMD_ONE,
-! 						     ECMD_HIDE + ECMD_OLDBUF);
-  	    netbeansReadFile = 1;
-  	    buf->bufp = curbuf;
-  	    maketitle();
---- 1960,1966 ----
-  
-  	    netbeansReadFile = 0; /* don't try to open disk file */
-  	    do_ecmd(0, (char_u *)buf->displayname, 0, 0, ECMD_ONE,
-! 					     ECMD_HIDE + ECMD_OLDBUF, curwin);
-  	    netbeansReadFile = 1;
-  	    buf->bufp = curbuf;
-  	    maketitle();
-***************
-*** 1979,1985 ****
-  	    vim_free(buf->displayname);
-  	    buf->displayname = nb_unquote(args, NULL);
-  	    do_ecmd(0, (char_u *)buf->displayname, NULL, NULL, ECMD_ONE,
-! 						     ECMD_HIDE + ECMD_OLDBUF);
-  	    buf->bufp = curbuf;
-  	    buf->initDone = TRUE;
-  	    doupdate = 1;
---- 1979,1985 ----
-  	    vim_free(buf->displayname);
-  	    buf->displayname = nb_unquote(args, NULL);
-  	    do_ecmd(0, (char_u *)buf->displayname, NULL, NULL, ECMD_ONE,
-! 					     ECMD_HIDE + ECMD_OLDBUF, curwin);
-  	    buf->bufp = curbuf;
-  	    buf->initDone = TRUE;
-  	    doupdate = 1;
-*** ../vim-7.2.040/src/normal.c	Sat Nov  1 13:51:57 2008
---- src/normal.c	Wed Nov 12 17:49:50 2008
-***************
-*** 6050,6056 ****
-  	    autowrite(curbuf, FALSE);
-  	setpcmark();
-  	(void)do_ecmd(0, ptr, NULL, NULL, ECMD_LAST,
-! 					       P_HID(curbuf) ? ECMD_HIDE : 0);
-  	if (cap->nchar == 'F' && lnum >= 0)
-  	{
-  	    curwin->w_cursor.lnum = lnum;
---- 6050,6056 ----
-  	    autowrite(curbuf, FALSE);
-  	setpcmark();
-  	(void)do_ecmd(0, ptr, NULL, NULL, ECMD_LAST,
-! 				       P_HID(curbuf) ? ECMD_HIDE : 0, curwin);
-  	if (cap->nchar == 'F' && lnum >= 0)
-  	{
-  	    curwin->w_cursor.lnum = lnum;
-*** ../vim-7.2.040/src/popupmnu.c	Sun Jul 13 19:33:51 2008
---- src/popupmnu.c	Wed Nov 12 18:08:07 2008
-***************
-*** 573,579 ****
-  		{
-  		    /* Don't want to sync undo in the current buffer. */
-  		    ++no_u_sync;
-! 		    res = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, 0);
-  		    --no_u_sync;
-  		    if (res == OK)
-  		    {
---- 573,579 ----
-  		{
-  		    /* Don't want to sync undo in the current buffer. */
-  		    ++no_u_sync;
-! 		    res = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, 0, NULL);
-  		    --no_u_sync;
-  		    if (res == OK)
-  		    {
-*** ../vim-7.2.040/src/proto/buffer.pro	Sun May  6 13:57:53 2007
---- src/proto/buffer.pro	Wed Nov 12 17:43:39 2008
-***************
-*** 33,39 ****
-  char_u *getaltfname __ARGS((int errmsg));
-  int buflist_add __ARGS((char_u *fname, int flags));
-  void buflist_slash_adjust __ARGS((void));
-! void buflist_altfpos __ARGS((void));
-  int otherfile __ARGS((char_u *ffname));
-  void buf_setino __ARGS((buf_T *buf));
-  void fileinfo __ARGS((int fullname, int shorthelp, int dont_truncate));
---- 33,39 ----
-  char_u *getaltfname __ARGS((int errmsg));
-  int buflist_add __ARGS((char_u *fname, int flags));
-  void buflist_slash_adjust __ARGS((void));
-! void buflist_altfpos __ARGS((win_T *win));
-  int otherfile __ARGS((char_u *ffname));
-  void buf_setino __ARGS((buf_T *buf));
-  void fileinfo __ARGS((int fullname, int shorthelp, int dont_truncate));
-*** ../vim-7.2.040/src/proto/ex_cmds.pro	Sun Nov  9 13:43:25 2008
---- src/proto/ex_cmds.pro	Wed Nov 12 17:44:27 2008
-***************
-*** 27,33 ****
-  void do_wqall __ARGS((exarg_T *eap));
-  int not_writing __ARGS((void));
-  int getfile __ARGS((int fnum, char_u *ffname, char_u *sfname, int setpm, linenr_T lnum, int forceit));
-! int do_ecmd __ARGS((int fnum, char_u *ffname, char_u *sfname, exarg_T *eap, linenr_T newlnum, int flags));
-  void ex_append __ARGS((exarg_T *eap));
-  void ex_change __ARGS((exarg_T *eap));
-  void ex_z __ARGS((exarg_T *eap));
---- 27,33 ----
-  void do_wqall __ARGS((exarg_T *eap));
-  int not_writing __ARGS((void));
-  int getfile __ARGS((int fnum, char_u *ffname, char_u *sfname, int setpm, linenr_T lnum, int forceit));
-! int do_ecmd __ARGS((int fnum, char_u *ffname, char_u *sfname, exarg_T *eap, linenr_T newlnum, int flags, win_T *oldwin));
-  void ex_append __ARGS((exarg_T *eap));
-  void ex_change __ARGS((exarg_T *eap));
-  void ex_z __ARGS((exarg_T *eap));
-*** ../vim-7.2.040/src/quickfix.c	Thu Jul 24 18:44:59 2008
---- src/quickfix.c	Wed Nov 12 18:12:00 2008
-***************
-*** 1420,1425 ****
---- 1420,1426 ----
-      win_T		*win;
-      win_T		*altwin;
-  #endif
-+     win_T		*oldwin = curwin;
-      int			print_message = TRUE;
-      int			len;
-  #ifdef FEAT_FOLDING
-***************
-*** 1744,1750 ****
-  	    }
-  	    else
-  		ok = do_ecmd(qf_ptr->qf_fnum, NULL, NULL, NULL, (linenr_T)1,
-! 						   ECMD_HIDE + ECMD_SET_HELP);
-  	}
-  	else
-  	    ok = buflist_getfile(qf_ptr->qf_fnum,
---- 1745,1752 ----
-  	    }
-  	    else
-  		ok = do_ecmd(qf_ptr->qf_fnum, NULL, NULL, NULL, (linenr_T)1,
-! 					   ECMD_HIDE + ECMD_SET_HELP,
-! 					   oldwin == curwin ? curwin : NULL);
-  	}
-  	else
-  	    ok = buflist_getfile(qf_ptr->qf_fnum,
-***************
-*** 2267,2272 ****
---- 2269,2275 ----
-      win_T	*win;
-      tabpage_T	*prevtab = curtab;
-      buf_T	*qf_buf;
-+     win_T	*oldwin = curwin;
-  
-      if (eap->cmdidx == CMD_lopen || eap->cmdidx == CMD_lwindow)
-      {
-***************
-*** 2326,2339 ****
-  	    win->w_llist->qf_refcount++;
-  	}
-  
-  	if (qf_buf != NULL)
-  	    /* Use the existing quickfix buffer */
-  	    (void)do_ecmd(qf_buf->b_fnum, NULL, NULL, NULL, ECMD_ONE,
-! 						     ECMD_HIDE + ECMD_OLDBUF);
-  	else
-  	{
-  	    /* Create a new quickfix buffer */
-! 	    (void)do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE);
-  	    /* switch off 'swapfile' */
-  	    set_option_value((char_u *)"swf", 0L, NULL, OPT_LOCAL);
-  	    set_option_value((char_u *)"bt", 0L, (char_u *)"quickfix",
---- 2329,2344 ----
-  	    win->w_llist->qf_refcount++;
-  	}
-  
-+ 	if (oldwin != curwin)
-+ 	    oldwin = NULL;  /* don't store info when in another window */
-  	if (qf_buf != NULL)
-  	    /* Use the existing quickfix buffer */
-  	    (void)do_ecmd(qf_buf->b_fnum, NULL, NULL, NULL, ECMD_ONE,
-! 					     ECMD_HIDE + ECMD_OLDBUF, oldwin);
-  	else
-  	{
-  	    /* Create a new quickfix buffer */
-! 	    (void)do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE, oldwin);
-  	    /* switch off 'swapfile' */
-  	    set_option_value((char_u *)"swf", 0L, NULL, OPT_LOCAL);
-  	    set_option_value((char_u *)"bt", 0L, (char_u *)"quickfix",
-*** ../vim-7.2.040/src/window.c	Wed Aug  6 18:32:11 2008
---- src/window.c	Wed Nov 12 18:12:37 2008
-***************
-*** 531,537 ****
-  # ifdef FEAT_SCROLLBIND
-  			curwin->w_p_scb = FALSE;
-  # endif
-! 			(void)do_ecmd(0, ptr, NULL, NULL, ECMD_LASTL, ECMD_HIDE);
-  			if (nchar == 'F' && lnum >= 0)
-  			{
-  			    curwin->w_cursor.lnum = lnum;
---- 531,538 ----
-  # ifdef FEAT_SCROLLBIND
-  			curwin->w_p_scb = FALSE;
-  # endif
-! 			(void)do_ecmd(0, ptr, NULL, NULL, ECMD_LASTL,
-! 							   ECMD_HIDE, NULL);
-  			if (nchar == 'F' && lnum >= 0)
-  			{
-  			    curwin->w_cursor.lnum = lnum;
-*** ../vim-7.2.040/src/version.c	Wed Nov 12 16:04:43 2008
---- src/version.c	Wed Nov 12 16:54:35 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     41,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-260. Co-workers have to E-mail you about the fire alarm to get
-     you out of the building.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.042	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.042
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.042
-Problem:    When using winrestview() in a BufWinEnter autocommand the window
-	    is scrolled anyway. (Matt Zyzik)
-Solution:   Don't recompute topline when above 'scrolloff' from the bottom.
-	    Don't always put the cursor halfway when entering a buffer.  Add
-	    "w_topline_was_set".
-Files:	    src/buffer.c, src/move.c, src/structs.h
-
-
-*** ../vim-7.2.041/src/buffer.c	Sat Nov 15 14:10:23 2008
---- src/buffer.c	Sat Nov 15 14:58:52 2008
-***************
-*** 1401,1406 ****
---- 1401,1409 ----
-      curwin->w_cursor.coladd = 0;
-  #endif
-      curwin->w_set_curswant = TRUE;
-+ #ifdef FEAT_AUTOCMD
-+     curwin->w_topline_was_set = FALSE;
-+ #endif
-  
-      /* Make sure the buffer is loaded. */
-      if (curbuf->b_ml.ml_mfp == NULL)	/* need to load the file */
-***************
-*** 1440,1446 ****
-      maketitle();
-  #endif
-  #ifdef FEAT_AUTOCMD
-!     if (curwin->w_topline == 1)		/* when autocmds didn't change it */
-  #endif
-  	scroll_cursor_halfway(FALSE);	/* redisplay at correct position */
-  
---- 1443,1450 ----
-      maketitle();
-  #endif
-  #ifdef FEAT_AUTOCMD
-! 	/* when autocmds didn't change it */
-!     if (curwin->w_topline == 1 && !curwin->w_topline_was_set)
-  #endif
-  	scroll_cursor_halfway(FALSE);	/* redisplay at correct position */
-  
-*** ../vim-7.2.041/src/move.c	Sun Jul 13 19:25:23 2008
---- src/move.c	Sat Nov 15 14:56:47 2008
-***************
-*** 280,297 ****
-  
-  	if (curwin->w_botline <= curbuf->b_ml.ml_line_count)
-  	{
-! 	    if (curwin->w_cursor.lnum < curwin->w_botline
-! 		    && ((long)curwin->w_cursor.lnum
-  					     >= (long)curwin->w_botline - p_so
-  #ifdef FEAT_FOLDING
-  			|| hasAnyFolding(curwin)
-  #endif
-  			))
-! 	    {
-  		lineoff_T	loff;
-  
-! 		/* Cursor is above botline, check if there are 'scrolloff'
-! 		 * window lines below the cursor.  If not, need to scroll. */
-  		n = curwin->w_empty_rows;
-  		loff.lnum = curwin->w_cursor.lnum;
-  #ifdef FEAT_FOLDING
---- 280,299 ----
-  
-  	if (curwin->w_botline <= curbuf->b_ml.ml_line_count)
-  	{
-! 	    if (curwin->w_cursor.lnum < curwin->w_botline)
-! 	    {
-! 	      if (((long)curwin->w_cursor.lnum
-  					     >= (long)curwin->w_botline - p_so
-  #ifdef FEAT_FOLDING
-  			|| hasAnyFolding(curwin)
-  #endif
-  			))
-! 	      {
-  		lineoff_T	loff;
-  
-! 		/* Cursor is (a few lines) above botline, check if there are
-! 		 * 'scrolloff' window lines below the cursor.  If not, need to
-! 		 * scroll. */
-  		n = curwin->w_empty_rows;
-  		loff.lnum = curwin->w_cursor.lnum;
-  #ifdef FEAT_FOLDING
-***************
-*** 317,322 ****
---- 319,328 ----
-  		if (n >= p_so)
-  		    /* sufficient context, no need to scroll */
-  		    check_botline = FALSE;
-+ 	      }
-+ 	      else
-+ 		  /* sufficient context, no need to scroll */
-+ 		  check_botline = FALSE;
-  	    }
-  	    if (check_botline)
-  	    {
-***************
-*** 509,514 ****
---- 515,523 ----
-      /* Approximate the value of w_botline */
-      wp->w_botline += lnum - wp->w_topline;
-      wp->w_topline = lnum;
-+ #ifdef FEAT_AUTOCMD
-+     wp->w_topline_was_set = TRUE;
-+ #endif
-  #ifdef FEAT_DIFF
-      wp->w_topfill = 0;
-  #endif
-*** ../vim-7.2.041/src/structs.h	Sun Nov  9 13:43:25 2008
---- src/structs.h	Sat Nov 15 14:56:42 2008
-***************
-*** 1784,1793 ****
-  #endif
-  
-      /*
-!      * The next three specify the offsets for displaying the buffer:
-       */
-      linenr_T	w_topline;	    /* buffer line number of the line at the
-  				       top of the window */
-  #ifdef FEAT_DIFF
-      int		w_topfill;	    /* number of filler lines above w_topline */
-      int		w_old_topfill;	    /* w_topfill at last redraw */
---- 1784,1798 ----
-  #endif
-  
-      /*
-!      * "w_topline", "w_leftcol" and "w_skipcol" specify the offsets for
-!      * displaying the buffer.
-       */
-      linenr_T	w_topline;	    /* buffer line number of the line at the
-  				       top of the window */
-+ #ifdef FEAT_AUTOCMD
-+     char	w_topline_was_set;  /* flag set to TRUE when topline is set,
-+ 				       e.g. by winrestview() */
-+ #endif
-  #ifdef FEAT_DIFF
-      int		w_topfill;	    /* number of filler lines above w_topline */
-      int		w_old_topfill;	    /* w_topfill at last redraw */
-*** ../vim-7.2.041/src/version.c	Sat Nov 15 14:10:23 2008
---- src/version.c	Sat Nov 15 16:01:29 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     42,
-  /**/
-
--- 
-hundred-and-one symptoms of being an internet addict:
-261. You find diskettes in your pockets when doing laundry.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.043	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.043
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.043
-Problem:    VMS: Too many characters are escaped in filename and shell
-	    commands.
-Solution:   Escape fewer characters. (Zoltan Arpadffy)
-Files:	    src/vim.h
-
-
-*** ../vim-7.2.042/src/vim.h	Sun Nov  9 13:43:25 2008
---- src/vim.h	Fri Nov 14 21:41:17 2008
-***************
-*** 341,348 ****
-  #ifdef BACKSLASH_IN_FILENAME
-  # define PATH_ESC_CHARS ((char_u *)" \t\n*?[{`%#'\"|!<")
-  #else
-! # define PATH_ESC_CHARS ((char_u *)" \t\n*?[{`$\\%#'\"|!<")
-! # define SHELL_ESC_CHARS ((char_u *)" \t\n*?[{`$\\%#'\"|!<>();&")
-  #endif
-  
-  #define NUMBUFLEN 30	    /* length of a buffer to store a number in ASCII */
---- 341,354 ----
-  #ifdef BACKSLASH_IN_FILENAME
-  # define PATH_ESC_CHARS ((char_u *)" \t\n*?[{`%#'\"|!<")
-  #else
-! # ifdef VMS
-!     /* VMS allows a lot of characters in the file name */
-! #  define PATH_ESC_CHARS ((char_u *)" \t\n*?{`\\%#'\"|!")
-! #  define SHELL_ESC_CHARS ((char_u *)" \t\n*?{`\\%#'|!()&")
-! # else
-! #  define PATH_ESC_CHARS ((char_u *)" \t\n*?[{`$\\%#'\"|!<")
-! #  define SHELL_ESC_CHARS ((char_u *)" \t\n*?[{`$\\%#'\"|!<>();&")
-! # endif
-  #endif
-  
-  #define NUMBUFLEN 30	    /* length of a buffer to store a number in ASCII */
-***************
-*** 370,376 ****
-     * Define __w64 as an empty token for everything but MSVC 7.x or later.
-     */
-  # if !defined(_MSC_VER)	|| (_MSC_VER < 1300)
-! #  define __w64 
-  # endif
-  typedef unsigned long __w64	long_u;
-  typedef		 long __w64     long_i;
---- 376,382 ----
-     * Define __w64 as an empty token for everything but MSVC 7.x or later.
-     */
-  # if !defined(_MSC_VER)	|| (_MSC_VER < 1300)
-! #  define __w64
-  # endif
-  typedef unsigned long __w64	long_u;
-  typedef		 long __w64     long_i;
-*** ../vim-7.2.042/src/version.c	Sat Nov 15 16:05:30 2008
---- src/version.c	Thu Nov 20 10:23:51 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     43,
-  /**/
-
--- 
-In his lifetime van Gogh painted 486 oil paintings. Oddly enough, 8975
-of them are to be found in the United States.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.044	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.044
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.044
-Problem:    Crash because of STRCPY() being over protective of the destination
-	    size. (Dominique Pelle)
-Solution:   Add -D_FORTIFY_SOURCE=1 to CFLAGS.  Use an intermediate variable
-	    for the pointer to avoid a warning.
-Files:	    src/auto/configure, src/configure.in, src/eval.c
-
-
-*** ../vim-7.2.043/src/auto/configure	Thu Jul 24 17:20:50 2008
---- src/auto/configure	Sun Nov 16 17:08:44 2008
-***************
-*** 16819,16839 ****
-    LDFLAGS="$LDFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
-  fi
-  
-- { $as_echo "$as_me:$LINENO: checking for GCC 3 or later" >&5
-- $as_echo_n "checking for GCC 3 or later... " >&6; }
-  DEPEND_CFLAGS_FILTER=
-  if test "$GCC" = yes; then
-    gccmajor=`echo "$gccversion" | sed -e 's/^\([1-9]\)\..*$/\1/g'`
-    if test "$gccmajor" -gt "2"; then
-      DEPEND_CFLAGS_FILTER="| sed 's+-I */+-isystem /+g'"
-!   fi
-! fi
-! if test "$DEPEND_CFLAGS_FILTER" = ""; then
-!   { $as_echo "$as_me:$LINENO: result: no" >&5
-  $as_echo "no" >&6; }
-! else
-!   { $as_echo "$as_me:$LINENO: result: yes" >&5
-  $as_echo "yes" >&6; }
-  fi
-  
-  
---- 16819,16847 ----
-    LDFLAGS="$LDFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
-  fi
-  
-  DEPEND_CFLAGS_FILTER=
-  if test "$GCC" = yes; then
-+   { $as_echo "$as_me:$LINENO: checking for GCC 3 or later" >&5
-+ $as_echo_n "checking for GCC 3 or later... " >&6; }
-    gccmajor=`echo "$gccversion" | sed -e 's/^\([1-9]\)\..*$/\1/g'`
-    if test "$gccmajor" -gt "2"; then
-      DEPEND_CFLAGS_FILTER="| sed 's+-I */+-isystem /+g'"
-!     { $as_echo "$as_me:$LINENO: result: yes" >&5
-! $as_echo "yes" >&6; }
-!   else
-!     { $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="$CFLAGS -D_FORTIFY_SOURCE=1"
-!     { $as_echo "$as_me:$LINENO: result: yes" >&5
-  $as_echo "yes" >&6; }
-+   else
-+     { $as_echo "$as_me:$LINENO: result: no" >&5
-+ $as_echo "no" >&6; }
-+   fi
-  fi
-  
-  
-*** ../vim-7.2.043/src/configure.in	Thu Jul 24 17:20:31 2008
---- src/configure.in	Sun Nov 16 17:08:40 2008
-***************
-*** 3152,3169 ****
-  dnl But only when making dependencies, cproto and lint don't take "-isystem".
-  dnl Mac gcc returns "powerpc-apple-darwin8-gcc-4.0.1 (GCC)...", need to allow
-  dnl the number before the version number.
-- AC_MSG_CHECKING(for GCC 3 or later)
-  DEPEND_CFLAGS_FILTER=
-  if test "$GCC" = yes; then
-    gccmajor=`echo "$gccversion" | sed -e 's/^\([[1-9]]\)\..*$/\1/g'`
-    if test "$gccmajor" -gt "2"; then
-      DEPEND_CFLAGS_FILTER="| sed 's+-I */+-isystem /+g'"
-    fi
-- fi
-- if test "$DEPEND_CFLAGS_FILTER" = ""; then
--   AC_MSG_RESULT(no)
-- else
--   AC_MSG_RESULT(yes)
-  fi
-  AC_SUBST(DEPEND_CFLAGS_FILTER)
-  
---- 3152,3176 ----
-  dnl But only when making dependencies, cproto and lint don't take "-isystem".
-  dnl Mac gcc returns "powerpc-apple-darwin8-gcc-4.0.1 (GCC)...", need to allow
-  dnl the number before the version number.
-  DEPEND_CFLAGS_FILTER=
-  if test "$GCC" = yes; then
-+   AC_MSG_CHECKING(for GCC 3 or later)
-    gccmajor=`echo "$gccversion" | sed -e 's/^\([[1-9]]\)\..*$/\1/g'`
-    if test "$gccmajor" -gt "2"; then
-      DEPEND_CFLAGS_FILTER="| sed 's+-I */+-isystem /+g'"
-+     AC_MSG_RESULT(yes)
-+   else
-+     AC_MSG_RESULT(no)
-+   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="$CFLAGS -D_FORTIFY_SOURCE=1"
-+     AC_MSG_RESULT(yes)
-+   else
-+     AC_MSG_RESULT(no)
-    fi
-  fi
-  AC_SUBST(DEPEND_CFLAGS_FILTER)
-  
-*** ../vim-7.2.043/src/eval.c	Wed Nov 12 15:28:37 2008
---- src/eval.c	Sun Nov 16 20:46:28 2008
-***************
-*** 21150,21157 ****
-      init_var_dict(&fc.l_avars, &fc.l_avars_var);
-      add_nr_var(&fc.l_avars, &fc.fixvar[fixvar_idx++].var, "0",
-  				(varnumber_T)(argcount - fp->uf_args.ga_len));
-      v = &fc.fixvar[fixvar_idx++].var;
-!     STRCPY(v->di_key, "000");
-      v->di_flags = DI_FLAGS_RO | DI_FLAGS_FIX;
-      hash_add(&fc.l_avars.dv_hashtab, DI2HIKEY(v));
-      v->di_tv.v_type = VAR_LIST;
---- 21150,21160 ----
-      init_var_dict(&fc.l_avars, &fc.l_avars_var);
-      add_nr_var(&fc.l_avars, &fc.fixvar[fixvar_idx++].var, "0",
-  				(varnumber_T)(argcount - fp->uf_args.ga_len));
-+     /* Use "name" to avoid a warning from some compiler that checks the
-+      * destination size. */
-      v = &fc.fixvar[fixvar_idx++].var;
-!     name = v->di_key;
-!     STRCPY(name, "000");
-      v->di_flags = DI_FLAGS_RO | DI_FLAGS_FIX;
-      hash_add(&fc.l_avars.dv_hashtab, DI2HIKEY(v));
-      v->di_tv.v_type = VAR_LIST;
-*** ../vim-7.2.043/src/version.c	Thu Nov 20 10:26:19 2008
---- src/version.c	Thu Nov 20 10:34:31 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     44,
-  /**/
-
--- 
-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    ///
--- a/components/vim/vim72-patches/7.2.045	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.045
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.045
-Problem:    The Python interface has an empty entry in sys.path.
-Solution:   Filter out the empty entry. (idea from James Vega)
-Files:	    src/if_python.c
-
-
-*** ../vim-7.2.044/src/if_python.c	Thu Jul 24 16:24:48 2008
---- src/if_python.c	Thu Nov 20 11:03:53 2008
-***************
-*** 531,536 ****
---- 531,542 ----
-  	if (PythonMod_Init())
-  	    goto fail;
-  
-+ 	/* Remove the element from sys.path that was added because of our
-+ 	 * argv[0] value in PythonMod_Init().  Previously we used an empty
-+ 	 * string, but dependinding on the OS we then get an empty entry or
-+ 	 * the current directory in sys.path. */
-+ 	PyRun_SimpleString("import sys; sys.path = filter(lambda x: x != '/must>not&exist', sys.path)");
-+ 
-  	/* the first python thread is vim's, release the lock */
-  	Python_SaveThread();
-  
-***************
-*** 2345,2351 ****
-  {
-      PyObject *mod;
-      PyObject *dict;
-!     static char *(argv[2]) = {"", NULL};
-  
-      /* Fixups... */
-      BufferType.ob_type = &PyType_Type;
---- 2351,2358 ----
-  {
-      PyObject *mod;
-      PyObject *dict;
-!     /* The special value is removed from sys.path in Python_Init(). */
-!     static char *(argv[2]) = {"/must>not&exist/foo", NULL};
-  
-      /* Fixups... */
-      BufferType.ob_type = &PyType_Type;
-*** ../vim-7.2.044/src/version.c	Thu Nov 20 10:36:04 2008
---- src/version.c	Thu Nov 20 10:58:11 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     45,
-  /**/
-
--- 
-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    ///
--- a/components/vim/vim72-patches/7.2.046	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.046
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.046
-Problem:    Wrong check for filling buffer with encoding. (Danek Duvall)
-Solution:   Remove pointers. (Dominique Pelle)
-Files:	    src/mbyte.c
-
-
-*** ../vim-7.2.045/src/mbyte.c	Wed Nov 12 13:07:48 2008
---- src/mbyte.c	Wed Nov 19 21:44:50 2008
-***************
-*** 3131,3137 ****
-  	else
-  	    s = p + 1;
-      }
-!     for (i = 0; s[i] != NUL && s + i < buf + sizeof(buf) - 1; ++i)
-      {
-  	if (s[i] == '_' || s[i] == '-')
-  	    buf[i] = '-';
---- 3131,3137 ----
-  	else
-  	    s = p + 1;
-      }
-!     for (i = 0; s[i] != NUL && i < sizeof(buf) - 1; ++i)
-      {
-  	if (s[i] == '_' || s[i] == '-')
-  	    buf[i] = '-';
-*** ../vim-7.2.045/src/version.c	Thu Nov 20 11:04:01 2008
---- src/version.c	Thu Nov 20 11:54:23 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     46,
-  /**/
-
--- 
-       He was not in the least bit scared to be mashed into a pulp
-       Or to have his eyes gouged out and his elbows broken;
-       To have his kneecaps split and his body burned away
-       And his limbs all hacked and mangled, brave Sir Robin.
-                 "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    ///
--- a/components/vim/vim72-patches/7.2.047	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.047
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.047
-Problem:    Starting Vim with the -nb argument while it's not supported causes
-	    the other side to hang.
-Solution:   When -nb is used while it's not supported exit Vim. (Xavier de
-	    Gaye)
-Files:	    src/main.c, src/vim.h
-
-
-*** ../vim-7.2.046/src/main.c	Sat Nov 15 14:10:23 2008
---- src/main.c	Thu Nov 20 14:09:27 2008
-***************
-*** 1510,1516 ****
-  early_arg_scan(parmp)
-      mparm_T	*parmp;
-  {
-! #if defined(FEAT_XCLIPBOARD) || defined(FEAT_CLIENTSERVER)
-      int		argc = parmp->argc;
-      char	**argv = parmp->argv;
-      int		i;
---- 1510,1517 ----
-  early_arg_scan(parmp)
-      mparm_T	*parmp;
-  {
-! #if defined(FEAT_XCLIPBOARD) || defined(FEAT_CLIENTSERVER) \
-! 	|| !defined(FEAT_NETBEANS_INTG)
-      int		argc = parmp->argc;
-      char	**argv = parmp->argv;
-      int		i;
-***************
-*** 1582,1587 ****
---- 1583,1596 ----
-  	else if (STRICMP(argv[i], "--echo-wid") == 0)
-  	    echo_wid_arg = TRUE;
-  # endif
-+ # ifndef FEAT_NETBEANS_INTG
-+ 	else if (strncmp(argv[i], "-nb", (size_t)3) == 0)
-+         {
-+             mch_errmsg(_("'-nb' cannot be used: not enabled at compile time\n"));
-+             mch_exit(2);
-+         }
-+ # endif
-+ 
-      }
-  #endif
-  }
-*** ../vim-7.2.046/src/vim.h	Thu Nov 20 10:26:19 2008
---- src/vim.h	Thu Nov 20 12:06:14 2008
-***************
-*** 1986,1991 ****
---- 1986,1994 ----
-  # endif
-  #endif
-  
-+ #ifndef FEAT_NETBEANS_INTG
-+ # undef NBDEBUG
-+ #endif
-  #ifdef NBDEBUG /* Netbeans debugging. */
-  # include "nbdebug.h"
-  #else
-*** ../vim-7.2.046/src/version.c	Thu Nov 20 11:55:53 2008
---- src/version.c	Thu Nov 20 14:07:57 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     47,
-  /**/
-
--- 
-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    ///
--- a/components/vim/vim72-patches/7.2.048	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.048
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.048
-Problem:    v:prevcount is changed too often.  Counts are not multiplied when
-	    setting v:count.
-Solution:   Set v:prevcount properly.  Multiply counts. (idea by Ben Schmidt)
-Files:	    src/eval.c, src/normal.c, src/proto/eval.pro
-
-
-*** ../vim-7.2.047/src/eval.c	Thu Nov 20 10:36:04 2008
---- src/eval.c	Thu Nov 20 15:53:47 2008
-***************
-*** 18146,18159 ****
-  }
-  
-  /*
-!  * Set v:count, v:count1 and v:prevcount.
-   */
-      void
-! set_vcount(count, count1)
-      long	count;
-      long	count1;
-  {
-!     vimvars[VV_PREVCOUNT].vv_nr = vimvars[VV_COUNT].vv_nr;
-      vimvars[VV_COUNT].vv_nr = count;
-      vimvars[VV_COUNT1].vv_nr = count1;
-  }
---- 18146,18162 ----
-  }
-  
-  /*
-!  * Set v:count to "count" and v:count1 to "count1".
-!  * When "set_prevcount" is TRUE first set v:prevcount from v:count.
-   */
-      void
-! set_vcount(count, count1, set_prevcount)
-      long	count;
-      long	count1;
-+     int		set_prevcount;
-  {
-!     if (set_prevcount)
-! 	vimvars[VV_PREVCOUNT].vv_nr = vimvars[VV_COUNT].vv_nr;
-      vimvars[VV_COUNT].vv_nr = count;
-      vimvars[VV_COUNT1].vv_nr = count1;
-  }
-*** ../vim-7.2.047/src/normal.c	Sat Nov 15 14:10:23 2008
---- src/normal.c	Thu Nov 20 16:04:44 2008
-***************
-*** 580,585 ****
---- 580,588 ----
-      static int	old_mapped_len = 0;
-  #endif
-      int		idx;
-+ #ifdef FEAT_EVAL
-+     int		set_prevcount = FALSE;
-+ #endif
-  
-      vim_memset(&ca, 0, sizeof(ca));	/* also resets ca.retval */
-      ca.oap = oap;
-***************
-*** 615,621 ****
---- 618,629 ----
-      /* When not finishing an operator and no register name typed, reset the
-       * count. */
-      if (!finish_op && !oap->regname)
-+     {
-  	ca.opcount = 0;
-+ #ifdef FEAT_EVAL
-+ 	set_prevcount = TRUE;
-+ #endif
-+     }
-  
-  #ifdef FEAT_AUTOCMD
-      /* Restore counts from before receiving K_CURSORHOLD.  This means after
-***************
-*** 719,725 ****
-  	     * command, so that v:count can be used in an expression mapping
-  	     * right after the count. */
-  	    if (toplevel && stuff_empty())
-! 		set_vcount(ca.count0, ca.count0 == 0 ? 1 : ca.count0);
-  #endif
-  	    if (ctrl_w)
-  	    {
---- 727,741 ----
-  	     * command, so that v:count can be used in an expression mapping
-  	     * right after the count. */
-  	    if (toplevel && stuff_empty())
-! 	    {
-! 		long count = ca.count0;
-! 
-! 		/* multiply with ca.opcount the same way as below */
-! 		if (ca.opcount != 0)
-! 		    count = ca.opcount * (count == 0 ? 1 : count);
-! 		set_vcount(count, count == 0 ? 1 : count, set_prevcount);
-! 		set_prevcount = FALSE;  /* only set v:prevcount once */
-! 	    }
-  #endif
-  	    if (ctrl_w)
-  	    {
-***************
-*** 806,812 ****
-       * Only set v:count when called from main() and not a stuffed command.
-       */
-      if (toplevel && stuff_empty())
-! 	set_vcount(ca.count0, ca.count1);
-  #endif
-  
-      /*
---- 822,828 ----
-       * Only set v:count when called from main() and not a stuffed command.
-       */
-      if (toplevel && stuff_empty())
-! 	set_vcount(ca.count0, ca.count1, set_prevcount);
-  #endif
-  
-      /*
-*** ../vim-7.2.047/src/proto/eval.pro	Sun Nov  9 13:43:25 2008
---- src/proto/eval.pro	Thu Nov 20 15:53:54 2008
-***************
-*** 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_vcount __ARGS((long count, long count1));
-  void set_vim_var_string __ARGS((int idx, char_u *val, int len));
-  void set_vim_var_list __ARGS((int idx, list_T *val));
-  void set_reg_var __ARGS((int c));
---- 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_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));
-  void set_reg_var __ARGS((int c));
-*** ../vim-7.2.047/src/version.c	Thu Nov 20 14:11:47 2008
---- src/version.c	Thu Nov 20 16:08:19 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     48,
-  /**/
-
--- 
-Microsoft's definition of a boolean: TRUE, FALSE, MAYBE
-"Embrace and extend"...?
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.050	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,316 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.050
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.050
-Problem:    Warnings for not checking return value of fwrite(). (Chip Campbell)
-Solution:   Use the return value.
-Files:	    src/spell.c
-
-
-*** ../vim-7.2.049/src/spell.c	Mon Aug 25 04:12:38 2008
---- src/spell.c	Thu Nov 20 17:28:01 2008
-***************
-*** 7926,7931 ****
---- 7926,7933 ----
-      char_u	*p;
-      int		rr;
-      int		retval = OK;
-+     int		fwv = 1;  /* collect return value of fwrite() to avoid
-+ 			     warnings from picky compiler */
-  
-      fd = mch_fopen((char *)fname, "w");
-      if (fd == NULL)
-***************
-*** 7936,7946 ****
-  
-      /* <HEADER>: <fileID> <versionnr> */
-  							    /* <fileID> */
-!     if (fwrite(VIMSPELLMAGIC, VIMSPELLMAGICL, (size_t)1, fd) != 1)
-!     {
-! 	EMSG(_(e_write));
-! 	retval = FAIL;
-!     }
-      putc(VIMSPELLVERSION, fd);				    /* <versionnr> */
-  
-      /*
---- 7938,7944 ----
-  
-      /* <HEADER>: <fileID> <versionnr> */
-  							    /* <fileID> */
-!     fwv &= fwrite(VIMSPELLMAGIC, VIMSPELLMAGICL, (size_t)1, fd);
-      putc(VIMSPELLVERSION, fd);				    /* <versionnr> */
-  
-      /*
-***************
-*** 7955,7961 ****
-  
-  	i = (int)STRLEN(spin->si_info);
-  	put_bytes(fd, (long_u)i, 4);			/* <sectionlen> */
-! 	fwrite(spin->si_info, (size_t)i, (size_t)1, fd); /* <infotext> */
-      }
-  
-      /* SN_REGION: <regionname> ...
---- 7953,7959 ----
-  
-  	i = (int)STRLEN(spin->si_info);
-  	put_bytes(fd, (long_u)i, 4);			/* <sectionlen> */
-! 	fwv &= fwrite(spin->si_info, (size_t)i, (size_t)1, fd); /* <infotext> */
-      }
-  
-      /* SN_REGION: <regionname> ...
-***************
-*** 7966,7972 ****
-  	putc(SNF_REQUIRED, fd);				/* <sectionflags> */
-  	l = spin->si_region_count * 2;
-  	put_bytes(fd, (long_u)l, 4);			/* <sectionlen> */
-! 	fwrite(spin->si_region_name, (size_t)l, (size_t)1, fd);
-  							/* <regionname> ... */
-  	regionmask = (1 << spin->si_region_count) - 1;
-      }
---- 7964,7970 ----
-  	putc(SNF_REQUIRED, fd);				/* <sectionflags> */
-  	l = spin->si_region_count * 2;
-  	put_bytes(fd, (long_u)l, 4);			/* <sectionlen> */
-! 	fwv &= fwrite(spin->si_region_name, (size_t)l, (size_t)1, fd);
-  							/* <regionname> ... */
-  	regionmask = (1 << spin->si_region_count) - 1;
-      }
-***************
-*** 8016,8022 ****
-  	}
-  
-  	put_bytes(fd, (long_u)l, 2);			/* <folcharslen> */
-! 	fwrite(folchars, (size_t)l, (size_t)1, fd);	/* <folchars> */
-      }
-  
-      /* SN_MIDWORD: <midword> */
---- 8014,8020 ----
-  	}
-  
-  	put_bytes(fd, (long_u)l, 2);			/* <folcharslen> */
-! 	fwv &= fwrite(folchars, (size_t)l, (size_t)1, fd); /* <folchars> */
-      }
-  
-      /* SN_MIDWORD: <midword> */
-***************
-*** 8027,8033 ****
-  
-  	i = (int)STRLEN(spin->si_midword);
-  	put_bytes(fd, (long_u)i, 4);			/* <sectionlen> */
-! 	fwrite(spin->si_midword, (size_t)i, (size_t)1, fd); /* <midword> */
-      }
-  
-      /* SN_PREFCOND: <prefcondcnt> <prefcond> ... */
---- 8025,8032 ----
-  
-  	i = (int)STRLEN(spin->si_midword);
-  	put_bytes(fd, (long_u)i, 4);			/* <sectionlen> */
-! 	fwv &= fwrite(spin->si_midword, (size_t)i, (size_t)1, fd);
-! 							/* <midword> */
-      }
-  
-      /* SN_PREFCOND: <prefcondcnt> <prefcond> ... */
-***************
-*** 8113,8119 ****
-  		p = rr == 1 ? ftp->ft_from : ftp->ft_to;
-  		l = (int)STRLEN(p);
-  		putc(l, fd);
-! 		fwrite(p, l, (size_t)1, fd);
-  	    }
-  	}
-  
---- 8112,8118 ----
-  		p = rr == 1 ? ftp->ft_from : ftp->ft_to;
-  		l = (int)STRLEN(p);
-  		putc(l, fd);
-! 		fwv &= fwrite(p, l, (size_t)1, fd);
-  	    }
-  	}
-  
-***************
-*** 8131,8141 ****
-  							/* <sectionlen> */
-  
-  	put_bytes(fd, (long_u)l, 2);			/* <sofofromlen> */
-! 	fwrite(spin->si_sofofr, l, (size_t)1, fd);	/* <sofofrom> */
-  
-  	l = (int)STRLEN(spin->si_sofoto);
-  	put_bytes(fd, (long_u)l, 2);			/* <sofotolen> */
-! 	fwrite(spin->si_sofoto, l, (size_t)1, fd);	/* <sofoto> */
-      }
-  
-      /* SN_WORDS: <word> ...
---- 8130,8140 ----
-  							/* <sectionlen> */
-  
-  	put_bytes(fd, (long_u)l, 2);			/* <sofofromlen> */
-! 	fwv &= fwrite(spin->si_sofofr, l, (size_t)1, fd); /* <sofofrom> */
-  
-  	l = (int)STRLEN(spin->si_sofoto);
-  	put_bytes(fd, (long_u)l, 2);			/* <sofotolen> */
-! 	fwv &= fwrite(spin->si_sofoto, l, (size_t)1, fd); /* <sofoto> */
-      }
-  
-      /* SN_WORDS: <word> ...
-***************
-*** 8160,8166 ****
-  		    l = (int)STRLEN(hi->hi_key) + 1;
-  		    len += l;
-  		    if (round == 2)			/* <word> */
-! 			fwrite(hi->hi_key, (size_t)l, (size_t)1, fd);
-  		    --todo;
-  		}
-  	    if (round == 1)
---- 8159,8165 ----
-  		    l = (int)STRLEN(hi->hi_key) + 1;
-  		    len += l;
-  		    if (round == 2)			/* <word> */
-! 			fwv &= fwrite(hi->hi_key, (size_t)l, (size_t)1, fd);
-  		    --todo;
-  		}
-  	    if (round == 1)
-***************
-*** 8176,8182 ****
-  	putc(0, fd);					/* <sectionflags> */
-  	l = spin->si_map.ga_len;
-  	put_bytes(fd, (long_u)l, 4);			/* <sectionlen> */
-! 	fwrite(spin->si_map.ga_data, (size_t)l, (size_t)1, fd);
-  							/* <mapstr> */
-      }
-  
---- 8175,8181 ----
-  	putc(0, fd);					/* <sectionflags> */
-  	l = spin->si_map.ga_len;
-  	put_bytes(fd, (long_u)l, 4);			/* <sectionlen> */
-! 	fwv &= fwrite(spin->si_map.ga_data, (size_t)l, (size_t)1, fd);
-  							/* <mapstr> */
-      }
-  
-***************
-*** 8232,8241 ****
-  	{
-  	    p = ((char_u **)(spin->si_comppat.ga_data))[i];
-  	    putc((int)STRLEN(p), fd);			/* <comppatlen> */
-! 	    fwrite(p, (size_t)STRLEN(p), (size_t)1, fd);/* <comppattext> */
-  	}
-  							/* <compflags> */
-! 	fwrite(spin->si_compflags, (size_t)STRLEN(spin->si_compflags),
-  							       (size_t)1, fd);
-      }
-  
---- 8231,8241 ----
-  	{
-  	    p = ((char_u **)(spin->si_comppat.ga_data))[i];
-  	    putc((int)STRLEN(p), fd);			/* <comppatlen> */
-! 	    fwv &= fwrite(p, (size_t)STRLEN(p), (size_t)1, fd);
-! 							/* <comppattext> */
-  	}
-  							/* <compflags> */
-! 	fwv &= fwrite(spin->si_compflags, (size_t)STRLEN(spin->si_compflags),
-  							       (size_t)1, fd);
-      }
-  
-***************
-*** 8259,8265 ****
-  
-  	l = (int)STRLEN(spin->si_syllable);
-  	put_bytes(fd, (long_u)l, 4);			/* <sectionlen> */
-! 	fwrite(spin->si_syllable, (size_t)l, (size_t)1, fd); /* <syllable> */
-      }
-  
-      /* end of <SECTIONS> */
---- 8259,8266 ----
-  
-  	l = (int)STRLEN(spin->si_syllable);
-  	put_bytes(fd, (long_u)l, 4);			/* <sectionlen> */
-! 	fwv &= fwrite(spin->si_syllable, (size_t)l, (size_t)1, fd);
-! 							/* <syllable> */
-      }
-  
-      /* end of <SECTIONS> */
-***************
-*** 8295,8307 ****
-  	(void)put_node(fd, tree, 0, regionmask, round == 3);
-      }
-  
-!     /* Write another byte to check for errors. */
-      if (putc(0, fd) == EOF)
-  	retval = FAIL;
-  
-      if (fclose(fd) == EOF)
-  	retval = FAIL;
-  
-      return retval;
-  }
-  
---- 8296,8313 ----
-  	(void)put_node(fd, tree, 0, regionmask, round == 3);
-      }
-  
-!     /* Write another byte to check for errors (file system full). */
-      if (putc(0, fd) == EOF)
-  	retval = FAIL;
-  
-      if (fclose(fd) == EOF)
-  	retval = FAIL;
-  
-+     if (fwv != 1)
-+ 	retval = FAIL;
-+     if (retval == FAIL)
-+ 	EMSG(_(e_write));
-+ 
-      return retval;
-  }
-  
-***************
-*** 9890,9895 ****
---- 9896,9902 ----
-      char_u	*p;
-      int		len;
-      int		totlen;
-+     int		x = 1;  /* collect return value of fwrite() */
-  
-      if (fd != NULL)
-  	put_bytes(fd, (long_u)gap->ga_len, 2);	    /* <prefcondcnt> */
-***************
-*** 9906,9912 ****
-  	    if (fd != NULL)
-  	    {
-  		fputc(len, fd);
-! 		fwrite(p, (size_t)len, (size_t)1, fd);
-  	    }
-  	    totlen += len;
-  	}
---- 9913,9919 ----
-  	    if (fd != NULL)
-  	    {
-  		fputc(len, fd);
-! 		x &= fwrite(p, (size_t)len, (size_t)1, fd);
-  	    }
-  	    totlen += len;
-  	}
-*** ../vim-7.2.049/src/version.c	Thu Nov 20 17:09:09 2008
---- src/version.c	Fri Nov 28 10:06:13 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     50,
-  /**/
-
--- 
-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    ///
--- a/components/vim/vim72-patches/7.2.051	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,411 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.051
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.051
-Problem:    Can't avoid 'wildignore' and 'suffixes' for glob() and globpath().
-Solution:   Add an extra argument to these functions. (Ingo Karkat)
-Files:	    src/eval.c, src/ex_getln.c, src/proto/ex_getln.pro,
-	    runtime/doc/eval.txt, runtime/doc/options.txt
-
-
-*** ../vim-7.2.050/src/eval.c	Thu Nov 20 16:11:03 2008
---- src/eval.c	Thu Nov 27 22:15:40 2008
-***************
-*** 7564,7571 ****
-      {"getwinposx",	0, 0, f_getwinposx},
-      {"getwinposy",	0, 0, f_getwinposy},
-      {"getwinvar",	2, 2, f_getwinvar},
-!     {"glob",		1, 1, f_glob},
-!     {"globpath",	2, 2, f_globpath},
-      {"has",		1, 1, f_has},
-      {"has_key",		2, 2, f_has_key},
-      {"haslocaldir",	0, 0, f_haslocaldir},
---- 7564,7571 ----
-      {"getwinposx",	0, 0, f_getwinposx},
-      {"getwinposy",	0, 0, f_getwinposy},
-      {"getwinvar",	2, 2, f_getwinvar},
-!     {"glob",		1, 2, f_glob},
-!     {"globpath",	2, 3, f_globpath},
-      {"has",		1, 1, f_has},
-      {"has_key",		2, 2, f_has_key},
-      {"haslocaldir",	0, 0, f_haslocaldir},
-***************
-*** 9557,9563 ****
-      else
-      {
-  	/* When the optional second argument is non-zero, don't remove matches
-! 	 * for 'suffixes' and 'wildignore' */
-  	if (argvars[1].v_type != VAR_UNKNOWN
-  				    && get_tv_number_chk(&argvars[1], &error))
-  	    flags |= WILD_KEEP_ALL;
---- 9557,9563 ----
-      else
-      {
-  	/* When the optional second argument is non-zero, don't remove matches
-! 	 * for 'wildignore' and don't put matches for 'suffixes' at the end. */
-  	if (argvars[1].v_type != VAR_UNKNOWN
-  				    && get_tv_number_chk(&argvars[1], &error))
-  	    flags |= WILD_KEEP_ALL;
-***************
-*** 11323,11335 ****
-      typval_T	*argvars;
-      typval_T	*rettv;
-  {
-      expand_T	xpc;
-  
-!     ExpandInit(&xpc);
-!     xpc.xp_context = EXPAND_FILES;
-!     rettv->v_type = VAR_STRING;
-!     rettv->vval.v_string = ExpandOne(&xpc, get_tv_string(&argvars[0]),
-! 				     NULL, WILD_USE_NL|WILD_SILENT, WILD_ALL);
-  }
-  
-  /*
---- 11323,11347 ----
-      typval_T	*argvars;
-      typval_T	*rettv;
-  {
-+     int		flags = WILD_SILENT|WILD_USE_NL;
-      expand_T	xpc;
-+     int		error = FALSE;
-  
-!     /* When the optional second argument is non-zero, don't remove matches
-!     * for 'wildignore' and don't put matches for 'suffixes' at the end. */
-!     if (argvars[1].v_type != VAR_UNKNOWN
-! 				&& get_tv_number_chk(&argvars[1], &error))
-! 	flags |= WILD_KEEP_ALL;
-!     rettv->v_type = VAR_STRING;
-!     if (!error)
-!     {
-! 	ExpandInit(&xpc);
-! 	xpc.xp_context = EXPAND_FILES;
-! 	rettv->vval.v_string = ExpandOne(&xpc, get_tv_string(&argvars[0]),
-! 						       NULL, flags, WILD_ALL);
-!     }
-!     else
-! 	rettv->vval.v_string = NULL;
-  }
-  
-  /*
-***************
-*** 11340,11353 ****
-      typval_T	*argvars;
-      typval_T	*rettv;
-  {
-      char_u	buf1[NUMBUFLEN];
-      char_u	*file = get_tv_string_buf_chk(&argvars[1], buf1);
-  
-      rettv->v_type = VAR_STRING;
-!     if (file == NULL)
-  	rettv->vval.v_string = NULL;
-      else
-! 	rettv->vval.v_string = globpath(get_tv_string(&argvars[0]), file);
-  }
-  
-  /*
---- 11352,11373 ----
-      typval_T	*argvars;
-      typval_T	*rettv;
-  {
-+     int		flags = 0;
-      char_u	buf1[NUMBUFLEN];
-      char_u	*file = get_tv_string_buf_chk(&argvars[1], buf1);
-+     int		error = FALSE;
-  
-+     /* When the optional second argument is non-zero, don't remove matches
-+     * for 'wildignore' and don't put matches for 'suffixes' at the end. */
-+     if (argvars[2].v_type != VAR_UNKNOWN
-+ 				&& get_tv_number_chk(&argvars[2], &error))
-+ 	flags |= WILD_KEEP_ALL;
-      rettv->v_type = VAR_STRING;
-!     if (file == NULL || error)
-  	rettv->vval.v_string = NULL;
-      else
-! 	rettv->vval.v_string = globpath(get_tv_string(&argvars[0]), file,
-! 								       flags);
-  }
-  
-  /*
-*** ../vim-7.2.050/src/ex_getln.c	Sat Nov 15 14:10:23 2008
---- src/ex_getln.c	Thu Nov 20 18:37:20 2008
-***************
-*** 2524,2530 ****
-  	    && ccline.xpc->xp_context != EXPAND_NOTHING
-  	    && ccline.xpc->xp_context != EXPAND_UNSUCCESSFUL)
-      {
-! 	int i = ccline.xpc->xp_pattern - p;
-  
-  	/* If xp_pattern points inside the old cmdbuff it needs to be adjusted
-  	 * to point into the newly allocated memory. */
---- 2524,2530 ----
-  	    && ccline.xpc->xp_context != EXPAND_NOTHING
-  	    && ccline.xpc->xp_context != EXPAND_UNSUCCESSFUL)
-      {
-! 	int i = (int)(ccline.xpc->xp_pattern - p);
-  
-  	/* If xp_pattern points inside the old cmdbuff it needs to be adjusted
-  	 * to point into the newly allocated memory. */
-***************
-*** 4897,4903 ****
-      if (s == NULL)
-  	return FAIL;
-      sprintf((char *)s, "%s/%s*.vim", dirname, pat);
-!     all = globpath(p_rtp, s);
-      vim_free(s);
-      if (all == NULL)
-  	return FAIL;
---- 4897,4903 ----
-      if (s == NULL)
-  	return FAIL;
-      sprintf((char *)s, "%s/%s*.vim", dirname, pat);
-!     all = globpath(p_rtp, s, 0);
-      vim_free(s);
-      if (all == NULL)
-  	return FAIL;
-***************
-*** 4938,4946 ****
-   * newlines.  Returns NULL for an error or no matches.
-   */
-      char_u *
-! globpath(path, file)
-      char_u	*path;
-      char_u	*file;
-  {
-      expand_T	xpc;
-      char_u	*buf;
---- 4938,4947 ----
-   * newlines.  Returns NULL for an error or no matches.
-   */
-      char_u *
-! globpath(path, file, expand_options)
-      char_u	*path;
-      char_u	*file;
-+     int		expand_options;
-  {
-      expand_T	xpc;
-      char_u	*buf;
-***************
-*** 4969,4978 ****
-  	{
-  	    add_pathsep(buf);
-  	    STRCAT(buf, file);
-! 	    if (ExpandFromContext(&xpc, buf, &num_p, &p, WILD_SILENT) != FAIL
-! 								 && num_p > 0)
-  	    {
-! 		ExpandEscape(&xpc, buf, num_p, p, WILD_SILENT);
-  		for (len = 0, i = 0; i < num_p; ++i)
-  		    len += (int)STRLEN(p[i]) + 1;
-  
---- 4970,4979 ----
-  	{
-  	    add_pathsep(buf);
-  	    STRCAT(buf, file);
-! 	    if (ExpandFromContext(&xpc, buf, &num_p, &p,
-! 			     WILD_SILENT|expand_options) != FAIL && num_p > 0)
-  	    {
-! 		ExpandEscape(&xpc, buf, num_p, p, WILD_SILENT|expand_options);
-  		for (len = 0, i = 0; i < num_p; ++i)
-  		    len += (int)STRLEN(p[i]) + 1;
-  
-*** ../vim-7.2.050/src/proto/ex_getln.pro	Wed May 28 16:49:01 2008
---- src/proto/ex_getln.pro	Thu Nov 20 18:27:57 2008
-***************
-*** 31,37 ****
-  void set_cmd_context __ARGS((expand_T *xp, char_u *str, int len, int col));
-  int expand_cmdline __ARGS((expand_T *xp, char_u *str, int col, int *matchcount, char_u ***matches));
-  int ExpandGeneric __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file, char_u *((*func)(expand_T *, int))));
-! char_u *globpath __ARGS((char_u *path, char_u *file));
-  void init_history __ARGS((void));
-  int get_histtype __ARGS((char_u *name));
-  void add_to_history __ARGS((int histype, char_u *new_entry, int in_map, int sep));
---- 31,37 ----
-  void set_cmd_context __ARGS((expand_T *xp, char_u *str, int len, int col));
-  int expand_cmdline __ARGS((expand_T *xp, char_u *str, int col, int *matchcount, char_u ***matches));
-  int ExpandGeneric __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file, char_u *((*func)(expand_T *, int))));
-! char_u *globpath __ARGS((char_u *path, char_u *file, int expand_options));
-  void init_history __ARGS((void));
-  int get_histtype __ARGS((char_u *name));
-  void add_to_history __ARGS((int histype, char_u *new_entry, int in_map, int sep));
-*** ../vim-7.2.050/runtime/doc/eval.txt	Sun Nov  9 13:43:25 2008
---- runtime/doc/eval.txt	Thu Nov 27 22:17:13 2008
-***************
-*** 1,4 ****
-! *eval.txt*	For Vim version 7.2.  Last change: 2008 Nov 02
-  
-  
-  		  VIM REFERENCE MANUAL	  by Bram Moolenaar
---- 1,4 ----
-! *eval.txt*	For Vim version 7.2.  Last change: 2008 Nov 27
-  
-  
-  		  VIM REFERENCE MANUAL	  by Bram Moolenaar
-***************
-*** 1706,1712 ****
-  exists( {expr})			Number	TRUE if {expr} exists
-  extend({expr1}, {expr2} [, {expr3}])
-  				List/Dict insert items of {expr2} into {expr1}
-! expand( {expr})			String	expand special keywords in {expr}
-  feedkeys( {string} [, {mode}])	Number	add key sequence to typeahead buffer
-  filereadable( {file})		Number	TRUE if {file} is a readable file
-  filewritable( {file})		Number	TRUE if {file} is a writable file
---- 1709,1715 ----
-  exists( {expr})			Number	TRUE if {expr} exists
-  extend({expr1}, {expr2} [, {expr3}])
-  				List/Dict insert items of {expr2} into {expr1}
-! expand( {expr} [, {flag}])	String	expand special keywords in {expr}
-  feedkeys( {string} [, {mode}])	Number	add key sequence to typeahead buffer
-  filereadable( {file})		Number	TRUE if {file} is a readable file
-  filewritable( {file})		Number	TRUE if {file} is a writable file
-***************
-*** 1758,1765 ****
-  getwinposx()			Number	X coord in pixels of GUI Vim window
-  getwinposy()			Number	Y coord in pixels of GUI Vim window
-  getwinvar( {nr}, {varname})	any	variable {varname} in window {nr}
-! glob( {expr})			String	expand file wildcards in {expr}
-! globpath( {path}, {expr})	String	do glob({expr}) for all dirs in {path}
-  has( {feature})			Number	TRUE if feature {feature} supported
-  has_key( {dict}, {key})		Number	TRUE if {dict} has entry {key}
-  haslocaldir()			Number	TRUE if current window executed |:lcd|
---- 1761,1769 ----
-  getwinposx()			Number	X coord in pixels of GUI Vim window
-  getwinposy()			Number	Y coord in pixels of GUI Vim window
-  getwinvar( {nr}, {varname})	any	variable {varname} in window {nr}
-! glob( {expr} [, {flag}])	String	expand file wildcards in {expr}
-! globpath( {path}, {expr} [, {flag}])
-! 				String	do glob({expr}) for all dirs in {path}
-  has( {feature})			Number	TRUE if feature {feature} supported
-  has_key( {dict}, {key})		Number	TRUE if {dict} has entry {key}
-  haslocaldir()			Number	TRUE if current window executed |:lcd|
-***************
-*** 3286,3299 ****
-  			:let list_is_on = getwinvar(2, '&list')
-  			:echo "myvar = " . getwinvar(1, 'myvar')
-  <
-! 							*glob()*
-! glob({expr})	Expand the file wildcards in {expr}.  See |wildcards| for the
-  		use of special characters.
-  		The result is a String.
-  		When there are several matches, they are separated by <NL>
-  		characters.
-! 		The 'wildignore' option applies: Names matching one of the
-! 		patterns in 'wildignore' will be skipped.
-  		If the expansion fails, the result is an empty string.
-  		A name for a non-existing file is not included.
-  
---- 3290,3305 ----
-  			:let list_is_on = getwinvar(2, '&list')
-  			:echo "myvar = " . getwinvar(1, 'myvar')
-  <
-! glob({expr} [, {flag}])					*glob()*
-! 		Expand the file wildcards in {expr}.  See |wildcards| for the
-  		use of special characters.
-  		The result is a String.
-  		When there are several matches, they are separated by <NL>
-  		characters.
-! 		Unless the optional {flag} argument is given and is non-zero,
-! 		the 'suffixes' and 'wildignore' options apply: Names matching
-! 		one of the patterns in 'wildignore' will be skipped and
-! 		'suffixes' affect the ordering of matches.
-  		If the expansion fails, the result is an empty string.
-  		A name for a non-existing file is not included.
-  
-***************
-*** 3307,3326 ****
-  		See |expand()| for expanding special Vim variables.  See
-  		|system()| for getting the raw output of an external command.
-  
-! globpath({path}, {expr})				*globpath()*
-  		Perform glob() on all directories in {path} and concatenate
-  		the results.  Example: >
-  			:echo globpath(&rtp, "syntax/c.vim")
-  <		{path} is a comma-separated list of directory names.  Each
-  		directory name is prepended to {expr} and expanded like with
-! 		glob().  A path separator is inserted when needed.
-  		To add a comma inside a directory name escape it with a
-  		backslash.  Note that on MS-Windows a directory may have a
-  		trailing backslash, remove it if you put a comma after it.
-  		If the expansion fails for one of the directories, there is no
-  		error message.
-! 		The 'wildignore' option applies: Names matching one of the
-! 		patterns in 'wildignore' will be skipped.
-  
-  		The "**" item can be used to search in a directory tree.
-  		For example, to find all "README.txt" files in the directories
---- 3313,3334 ----
-  		See |expand()| for expanding special Vim variables.  See
-  		|system()| for getting the raw output of an external command.
-  
-! globpath({path}, {expr} [, {flag}])			*globpath()*
-  		Perform glob() on all directories in {path} and concatenate
-  		the results.  Example: >
-  			:echo globpath(&rtp, "syntax/c.vim")
-  <		{path} is a comma-separated list of directory names.  Each
-  		directory name is prepended to {expr} and expanded like with
-! 		|glob()|.  A path separator is inserted when needed.
-  		To add a comma inside a directory name escape it with a
-  		backslash.  Note that on MS-Windows a directory may have a
-  		trailing backslash, remove it if you put a comma after it.
-  		If the expansion fails for one of the directories, there is no
-  		error message.
-! 		Unless the optional {flag} argument is given and is non-zero,
-! 		the 'suffixes' and 'wildignore' options apply: Names matching
-! 		one of the patterns in 'wildignore' will be skipped and
-! 		'suffixes' affect the ordering of matches.
-  
-  		The "**" item can be used to search in a directory tree.
-  		For example, to find all "README.txt" files in the directories
-*** ../vim-7.2.050/runtime/doc/options.txt	Sat Aug  9 19:36:49 2008
---- runtime/doc/options.txt	Tue Nov 25 23:43:55 2008
-***************
-*** 1,4 ****
-! *options.txt*	For Vim version 7.2.  Last change: 2008 Aug 06
-  
-  
-  		  VIM REFERENCE MANUAL	  by Bram Moolenaar
---- 1,4 ----
-! *options.txt*	For Vim version 7.2.  Last change: 2008 Nov 25
-  
-  
-  		  VIM REFERENCE MANUAL	  by Bram Moolenaar
-***************
-*** 7472,7478 ****
-  			{not available when compiled without the |+wildignore|
-  			feature}
-  	A list of file patterns.  A file that matches with one of these
-! 	patterns is ignored when completing file or directory names.
-  	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
-  	Also see 'suffixes'.
-  	Example: >
---- 7481,7489 ----
-  			{not available when compiled without the |+wildignore|
-  			feature}
-  	A list of file patterns.  A file that matches with one of these
-! 	patterns is ignored when completing file or directory names, and
-! 	influences the result of |expand()|, |glob()| and |globpath()| unless
-! 	a flag is passed to disable this.
-  	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
-  	Also see 'suffixes'.
-  	Example: >
-*** ../vim-7.2.050/src/version.c	Fri Nov 28 10:08:05 2008
---- src/version.c	Fri Nov 28 10:55:44 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     51,
-  /**/
-
--- 
-Not too long ago, unzipping in public was illegal...
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.052	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.052
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.052
-Problem:    synIDattr() doesn't support "sp" for special color.
-Solution:   Recognize "sp" and "sp#".  (Matt Wozniski)
-Files:	    runtime/doc/eval.txt, src/eval.c
-
-
-*** ../vim-7.2.051/runtime/doc/eval.txt	Fri Nov 28 10:59:57 2008
---- runtime/doc/eval.txt	Thu Nov 27 22:17:13 2008
-***************
-*** 5348,5357 ****
-  		"fg"		foreground color (GUI: color name used to set
-  				the color, cterm: color number as a string,
-  				term: empty string)
-! 		"bg"		background color (like "fg")
-  		"fg#"		like "fg", but for the GUI and the GUI is
-  				running the name in "#RRGGBB" form
-  		"bg#"		like "fg#" for "bg"
-  		"bold"		"1" if bold
-  		"italic"	"1" if italic
-  		"reverse"	"1" if reverse
---- 5359,5370 ----
-  		"fg"		foreground color (GUI: color name used to set
-  				the color, cterm: color number as a string,
-  				term: empty string)
-! 		"bg"		background color (as with "fg")
-! 		"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
-  		"bg#"		like "fg#" for "bg"
-+ 		"sp#"		like "fg#" for "sp"
-  		"bold"		"1" if bold
-  		"italic"	"1" if italic
-  		"reverse"	"1" if reverse
-*** ../vim-7.2.051/src/eval.c	Fri Nov 28 10:59:57 2008
---- src/eval.c	Thu Nov 27 22:15:40 2008
-***************
-*** 16648,16655 ****
-  		p = highlight_has_attr(id, HL_INVERSE, modec);
-  		break;
-  
-! 	case 's':					/* standout */
-! 		p = highlight_has_attr(id, HL_STANDOUT, modec);
-  		break;
-  
-  	case 'u':
---- 16648,16658 ----
-  		p = highlight_has_attr(id, HL_INVERSE, modec);
-  		break;
-  
-! 	case 's':
-! 		if (TOLOWER_ASC(what[1]) == 'p')	/* sp[#] */
-! 		    p = highlight_color(id, what, modec);
-! 		else					/* standout */
-! 		    p = highlight_has_attr(id, HL_STANDOUT, modec);
-  		break;
-  
-  	case 'u':
-*** ../vim-7.2.051/src/version.c	Fri Nov 28 10:59:57 2008
---- src/version.c	Fri Nov 28 11:13:45 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     52,
-  /**/
-
--- 
-Not too long ago, a keyboard was something to make music with...
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.053	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.053
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.053
-Problem:    Crash when using WorkShop command ":ws foo". (Dominique Pelle)
-Solution:   Avoid using a NULL pointer.
-Files:	    src/workshop.c
-
-
-*** ../vim-7.2.052/src/workshop.c	Tue Jun 24 23:34:50 2008
---- src/workshop.c	Thu Nov 27 22:31:27 2008
-***************
-*** 1121,1128 ****
-  				      ? (char *)curbuf->b_sfname : "<None>");
-  #endif
-  
-!     strcpy(ffname, (char *) curbuf->b_ffname);
-!     *filename = ffname;		/* copy so nobody can change b_ffname */
-      *curLine = curwin->w_cursor.lnum;
-      *curCol = curwin->w_cursor.col;
-  
---- 1121,1132 ----
-  				      ? (char *)curbuf->b_sfname : "<None>");
-  #endif
-  
-!     if (curbuf->b_ffname == NULL)
-! 	ffname[0] = NUL;
-!     else
-! 	/* copy so nobody can change b_ffname */
-! 	strcpy(ffname, (char *) curbuf->b_ffname);
-!     *filename = ffname;
-      *curLine = curwin->w_cursor.lnum;
-      *curCol = curwin->w_cursor.col;
-  
-*** ../vim-7.2.052/src/version.c	Fri Nov 28 11:15:10 2008
---- src/version.c	Fri Nov 28 11:44:23 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     53,
-  /**/
-
--- 
-What the word 'politics' means: 'Poli' in Latin meaning 'many' and 'tics'
-meaning 'bloodsucking creatures'.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.054	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.054
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.054
-Problem:    Compilation warnings for format in getchar.c.
-Solution:   Use fputs() instead of fprintf().  (Dominique Pelle)
-Files:	    src/getchar.c
-
-
-*** ../vim-7.2.053/src/getchar.c	Tue Jul 22 18:58:23 2008
---- src/getchar.c	Thu Nov 27 22:38:24 2008
-***************
-*** 4702,4708 ****
-  			return FAIL;
-  		    if (mp->m_noremap != REMAP_YES && fprintf(fd, "nore") < 0)
-  			return FAIL;
-! 		    if (fprintf(fd, cmd) < 0)
-  			return FAIL;
-  		    if (buf != NULL && fputs(" <buffer>", fd) < 0)
-  			return FAIL;
---- 4702,4708 ----
-  			return FAIL;
-  		    if (mp->m_noremap != REMAP_YES && fprintf(fd, "nore") < 0)
-  			return FAIL;
-! 		    if (fputs(cmd, fd) < 0)
-  			return FAIL;
-  		    if (buf != NULL && fputs(" <buffer>", fd) < 0)
-  			return FAIL;
-***************
-*** 4801,4807 ****
-  	    }
-  	    if (IS_SPECIAL(c) || modifiers)	/* special key */
-  	    {
-! 		if (fprintf(fd, (char *)get_special_key_name(c, modifiers)) < 0)
-  		    return FAIL;
-  		continue;
-  	    }
---- 4801,4807 ----
-  	    }
-  	    if (IS_SPECIAL(c) || modifiers)	/* special key */
-  	    {
-! 		if (fputs((char *)get_special_key_name(c, modifiers), fd) < 0)
-  		    return FAIL;
-  		continue;
-  	    }
-*** ../vim-7.2.053/src/version.c	Fri Nov 28 11:47:14 2008
---- src/version.c	Fri Nov 28 12:02:48 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     54,
-  /**/
-
--- 
-Not too long ago, compress was something you did to garbage...
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
-///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\        download, build and distribute -- http://www.A-A-P.org        ///
- \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
--- a/components/vim/vim72-patches/7.2.055	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1271 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.055
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=ISO-8859-1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.2.055
-Problem:    Various compiler warnings with strict checking.
-Solution:   Avoid the warnings by using return values and renaming.
-Files:	    src/diff.c, src/eval.c, src/ex_cmds.c, src/ex_docmd.c,
-	    src/fileio.c, src/fold.c, src/globals.h, src/gui.c,
-	    src/gui_at_sb.c, src/gui_gtk_x11.c, src/gui_xmdlg.c,
-	    src/gui_xmebw.c, src/main.c, src/mbyte.c, src/message.c,
-	    src/netbeans.c, src/option.c, src/os_unix.c, src/spell.c,
-	    src/ui.c, src/window.c
-
-
-*** ../vim-7.2.054/src/diff.c	Fri Jan 18 17:39:32 2008
---- src/diff.c	Fri Nov 28 17:23:35 2008
-***************
-*** 661,666 ****
---- 665,671 ----
-      char_u	*tmp_diff;
-      FILE	*fd;
-      int		ok;
-+     int		io_error = FALSE;
-  
-      /* Delete all diffblocks. */
-      diff_clear(curtab);
-***************
-*** 697,714 ****
-      {
-  	ok = FALSE;
-  	fd = mch_fopen((char *)tmp_orig, "w");
-! 	if (fd != NULL)
-  	{
-! 	    fwrite("line1\n", (size_t)6, (size_t)1, fd);
-  	    fclose(fd);
-  	    fd = mch_fopen((char *)tmp_new, "w");
-! 	    if (fd != NULL)
-  	    {
-! 		fwrite("line2\n", (size_t)6, (size_t)1, fd);
-  		fclose(fd);
-  		diff_file(tmp_orig, tmp_new, tmp_diff);
-  		fd = mch_fopen((char *)tmp_diff, "r");
-! 		if (fd != NULL)
-  		{
-  		    char_u	linebuf[LBUFLEN];
-  
---- 702,727 ----
-      {
-  	ok = FALSE;
-  	fd = mch_fopen((char *)tmp_orig, "w");
-! 	if (fd == NULL)
-! 	    io_error = TRUE;
-! 	else
-  	{
-! 	    if (fwrite("line1\n", (size_t)6, (size_t)1, fd) != 1)
-! 		io_error = TRUE;
-  	    fclose(fd);
-  	    fd = mch_fopen((char *)tmp_new, "w");
-! 	    if (fd == NULL)
-! 		io_error = TRUE;
-! 	    else
-  	    {
-! 		if (fwrite("line2\n", (size_t)6, (size_t)1, fd) != 1)
-! 		    io_error = TRUE;
-  		fclose(fd);
-  		diff_file(tmp_orig, tmp_new, tmp_diff);
-  		fd = mch_fopen((char *)tmp_diff, "r");
-! 		if (fd == NULL)
-! 		    io_error = TRUE;
-! 		else
-  		{
-  		    char_u	linebuf[LBUFLEN];
-  
-***************
-*** 761,766 ****
---- 774,781 ----
-      }
-      if (!ok)
-      {
-+ 	if (io_error)
-+ 	    EMSG(_("E810: Cannot read or write temp files"));
-  	EMSG(_("E97: Cannot create diffs"));
-  	diff_a_works = MAYBE;
-  #if defined(MSWIN) || defined(MSDOS)
-***************
-*** 925,934 ****
-      {
-  # ifdef TEMPDIRNAMES
-  	if (vim_tempdir != NULL)
-! 	    mch_chdir((char *)vim_tempdir);
-  	else
-  # endif
-! 	    mch_chdir("/tmp");
-  	shorten_fnames(TRUE);
-      }
-  #endif
---- 940,949 ----
-      {
-  # ifdef TEMPDIRNAMES
-  	if (vim_tempdir != NULL)
-! 	    ignored = mch_chdir((char *)vim_tempdir);
-  	else
-  # endif
-! 	    ignored = mch_chdir("/tmp");
-  	shorten_fnames(TRUE);
-      }
-  #endif
-*** ../vim-7.2.054/src/eval.c	Fri Nov 28 11:15:10 2008
---- src/eval.c	Fri Nov 28 12:23:13 2008
-***************
-*** 10641,10647 ****
-  # ifdef FEAT_WINDOWS
-  	    win_T	*wp;
-  # endif
-! 	    int		n = 1;
-  
-  	    if (row >= 0 && col >= 0)
-  	    {
---- 10641,10647 ----
-  # ifdef FEAT_WINDOWS
-  	    win_T	*wp;
-  # endif
-! 	    int		winnr = 1;
-  
-  	    if (row >= 0 && col >= 0)
-  	    {
-***************
-*** 10651,10659 ****
-  		(void)mouse_comp_pos(win, &row, &col, &lnum);
-  # ifdef FEAT_WINDOWS
-  		for (wp = firstwin; wp != win; wp = wp->w_next)
-! 		    ++n;
-  # endif
-! 		vimvars[VV_MOUSE_WIN].vv_nr = n;
-  		vimvars[VV_MOUSE_LNUM].vv_nr = lnum;
-  		vimvars[VV_MOUSE_COL].vv_nr = col + 1;
-  	    }
---- 10651,10659 ----
-  		(void)mouse_comp_pos(win, &row, &col, &lnum);
-  # ifdef FEAT_WINDOWS
-  		for (wp = firstwin; wp != win; wp = wp->w_next)
-! 		    ++winnr;
-  # endif
-! 		vimvars[VV_MOUSE_WIN].vv_nr = winnr;
-  		vimvars[VV_MOUSE_LNUM].vv_nr = lnum;
-  		vimvars[VV_MOUSE_COL].vv_nr = col + 1;
-  	    }
-*** ../vim-7.2.054/src/ex_cmds.c	Sat Nov 15 14:10:23 2008
---- src/ex_cmds.c	Fri Nov 28 17:24:08 2008
-***************
-*** 1941,1947 ****
-  	     * root.
-  	     */
-  	    if (fp_out != NULL)
-! 		(void)fchown(fileno(fp_out), st_old.st_uid, st_old.st_gid);
-  #endif
-  	}
-      }
---- 1941,1947 ----
-  	     * root.
-  	     */
-  	    if (fp_out != NULL)
-! 		ignored = fchown(fileno(fp_out), st_old.st_uid, st_old.st_gid);
-  #endif
-  	}
-      }
-*** ../vim-7.2.054/src/ex_docmd.c	Sat Nov 15 14:10:23 2008
---- src/ex_docmd.c	Fri Nov 28 17:26:13 2008
-***************
-*** 8753,8760 ****
-  		else if (*dirnow != NUL
-  			&& (ssop_flags & SSOP_CURDIR) && globaldir != NULL)
-  		{
-! 		    (void)mch_chdir((char *)globaldir);
-! 		    shorten_fnames(TRUE);
-  		}
-  
-  		failed |= (makeopens(fd, dirnow) == FAIL);
---- 8753,8760 ----
-  		else if (*dirnow != NUL
-  			&& (ssop_flags & SSOP_CURDIR) && globaldir != NULL)
-  		{
-! 		    if (mch_chdir((char *)globaldir) == OK)
-! 			shorten_fnames(TRUE);
-  		}
-  
-  		failed |= (makeopens(fd, dirnow) == FAIL);
-*** ../vim-7.2.054/src/fileio.c	Wed Nov 12 16:04:43 2008
---- src/fileio.c	Fri Nov 28 17:35:54 2008
-***************
-*** 2214,2220 ****
-      {
-  	/* Use stderr for stdin, makes shell commands work. */
-  	close(0);
-! 	dup(2);
-      }
-  #endif
-  
---- 2214,2220 ----
-      {
-  	/* Use stderr for stdin, makes shell commands work. */
-  	close(0);
-! 	ignored = dup(2);
-      }
-  #endif
-  
-***************
-*** 3449,3455 ****
-  		{
-  # ifdef UNIX
-  #  ifdef HAVE_FCHOWN
-! 		    fchown(fd, st_old.st_uid, st_old.st_gid);
-  #  endif
-  		    if (mch_stat((char *)IObuff, &st) < 0
-  			    || st.st_uid != st_old.st_uid
---- 3449,3455 ----
-  		{
-  # ifdef UNIX
-  #  ifdef HAVE_FCHOWN
-! 		    ignored = fchown(fd, st_old.st_uid, st_old.st_gid);
-  #  endif
-  		    if (mch_stat((char *)IObuff, &st) < 0
-  			    || st.st_uid != st_old.st_uid
-***************
-*** 4365,4371 ****
-  		|| st.st_uid != st_old.st_uid
-  		|| st.st_gid != st_old.st_gid)
-  	{
-! 	    fchown(fd, st_old.st_uid, st_old.st_gid);
-  	    if (perm >= 0)	/* set permission again, may have changed */
-  		(void)mch_setperm(wfname, perm);
-  	}
---- 4365,4371 ----
-  		|| st.st_uid != st_old.st_uid
-  		|| st.st_gid != st_old.st_gid)
-  	{
-! 	    ignored = fchown(fd, st_old.st_uid, st_old.st_gid);
-  	    if (perm >= 0)	/* set permission again, may have changed */
-  		(void)mch_setperm(wfname, perm);
-  	}
-***************
-*** 6030,6038 ****
-  	{
-  	    tbuf[FGETS_SIZE - 2] = NUL;
-  #ifdef USE_CR
-! 	    fgets_cr((char *)tbuf, FGETS_SIZE, fp);
-  #else
-! 	    fgets((char *)tbuf, FGETS_SIZE, fp);
-  #endif
-  	} while (tbuf[FGETS_SIZE - 2] != NUL && tbuf[FGETS_SIZE - 2] != '\n');
-      }
---- 6030,6038 ----
-  	{
-  	    tbuf[FGETS_SIZE - 2] = NUL;
-  #ifdef USE_CR
-! 	    ignoredp = fgets_cr((char *)tbuf, FGETS_SIZE, fp);
-  #else
-! 	    ignoredp = fgets((char *)tbuf, FGETS_SIZE, fp);
-  #endif
-  	} while (tbuf[FGETS_SIZE - 2] != NUL && tbuf[FGETS_SIZE - 2] != '\n');
-      }
-*** ../vim-7.2.054/src/fold.c	Wed Aug  6 18:59:40 2008
---- src/fold.c	Fri Nov 28 12:24:16 2008
-***************
-*** 48,54 ****
-  static int foldFind __ARGS((garray_T *gap, linenr_T lnum, fold_T **fpp));
-  static int foldLevelWin __ARGS((win_T *wp, linenr_T lnum));
-  static void checkupdate __ARGS((win_T *wp));
-! static void setFoldRepeat __ARGS((linenr_T lnum, long count, int open));
-  static linenr_T setManualFold __ARGS((linenr_T lnum, int opening, int recurse, int *donep));
-  static linenr_T setManualFoldWin __ARGS((win_T *wp, linenr_T lnum, int opening, int recurse, int *donep));
-  static void foldOpenNested __ARGS((fold_T *fpr));
---- 48,54 ----
-  static int foldFind __ARGS((garray_T *gap, linenr_T lnum, fold_T **fpp));
-  static int foldLevelWin __ARGS((win_T *wp, linenr_T lnum));
-  static void checkupdate __ARGS((win_T *wp));
-! static void setFoldRepeat __ARGS((linenr_T lnum, long count, int do_open));
-  static linenr_T setManualFold __ARGS((linenr_T lnum, int opening, int recurse, int *donep));
-  static linenr_T setManualFoldWin __ARGS((win_T *wp, linenr_T lnum, int opening, int recurse, int *donep));
-  static void foldOpenNested __ARGS((fold_T *fpr));
-***************
-*** 1241,1250 ****
-   * Repeat "count" times.
-   */
-      static void
-! setFoldRepeat(lnum, count, open)
-      linenr_T	lnum;
-      long	count;
-!     int		open;
-  {
-      int		done;
-      long	n;
---- 1241,1250 ----
-   * Repeat "count" times.
-   */
-      static void
-! setFoldRepeat(lnum, count, do_open)
-      linenr_T	lnum;
-      long	count;
-!     int		do_open;
-  {
-      int		done;
-      long	n;
-***************
-*** 1252,1258 ****
-      for (n = 0; n < count; ++n)
-      {
-  	done = DONE_NOTHING;
-! 	(void)setManualFold(lnum, open, FALSE, &done);
-  	if (!(done & DONE_ACTION))
-  	{
-  	    /* Only give an error message when no fold could be opened. */
---- 1252,1258 ----
-      for (n = 0; n < count; ++n)
-      {
-  	done = DONE_NOTHING;
-! 	(void)setManualFold(lnum, do_open, FALSE, &done);
-  	if (!(done & DONE_ACTION))
-  	{
-  	    /* Only give an error message when no fold could be opened. */
-*** ../vim-7.2.054/src/globals.h	Thu Sep 18 21:29:07 2008
---- src/globals.h	Fri Nov 28 17:35:50 2008
-***************
-*** 1549,1554 ****
---- 1549,1562 ----
-  EXTERN time_t starttime;
-  
-  /*
-+  * 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
-+  * the warning.
-+  */
-+ EXTERN int ignored;
-+ EXTERN char *ignoredp;
-+ 
-+ /*
-   * Optional Farsi support.  Include it here, so EXTERN and INIT are defined.
-   */
-  #ifdef FEAT_FKMAP
-*** ../vim-7.2.054/src/gui.c	Wed Aug  6 14:37:26 2008
---- src/gui.c	Fri Nov 28 18:48:31 2008
-***************
-*** 139,145 ****
-  		/* The read returns when the child closes the pipe (or when
-  		 * the child dies for some reason). */
-  		close(pipefd[1]);
-! 		(void)read(pipefd[0], &dummy, (size_t)1);
-  		close(pipefd[0]);
-  	    }
-  
---- 139,145 ----
-  		/* The read returns when the child closes the pipe (or when
-  		 * the child dies for some reason). */
-  		close(pipefd[1]);
-! 		ignored = (int)read(pipefd[0], &dummy, (size_t)1);
-  		close(pipefd[0]);
-  	    }
-  
-*** ../vim-7.2.054/src/gui_at_sb.c	Sun Jun 13 21:37:13 2004
---- src/gui_at_sb.c	Fri Nov 28 12:19:19 2008
-***************
-*** 1078,1083 ****
---- 1078,1089 ----
-      Cardinal	*num_params;	/* unused */
-  {
-      ScrollbarWidget sbw = (ScrollbarWidget)w;
-+     /* Use a union to avoid a warning for the weird conversion from float to
-+      * XtPointer.  Comes from Xaw/Scrollbar.c. */
-+     union {
-+ 	XtPointer xtp;
-+ 	float xtf;
-+     } xtpf;
-  
-      if (LookAhead(w, event))
-  	return;
-***************
-*** 1085,1091 ****
-      /* thumbProc is not pretty, but is necessary for backwards
-         compatibility on those architectures for which it work{s,ed};
-         the intent is to pass a (truncated) float by value. */
-!     XtCallCallbacks(w, XtNthumbProc, *(XtPointer*)&sbw->scrollbar.top);
-      XtCallCallbacks(w, XtNjumpProc, (XtPointer)&sbw->scrollbar.top);
-  }
-  
---- 1091,1098 ----
-      /* thumbProc is not pretty, but is necessary for backwards
-         compatibility on those architectures for which it work{s,ed};
-         the intent is to pass a (truncated) float by value. */
-!     xtpf.xtf = sbw->scrollbar.top;
-!     XtCallCallbacks(w, XtNthumbProc, xtpf.xtp);
-      XtCallCallbacks(w, XtNjumpProc, (XtPointer)&sbw->scrollbar.top);
-  }
-  
-*** ../vim-7.2.054/src/gui_gtk_x11.c	Tue Jul  8 12:46:08 2008
---- src/gui_gtk_x11.c	Fri Nov 28 21:06:38 2008
-***************
-*** 4070,4083 ****
-  
-  	if (mask & (XValue | YValue))
-  	{
-! 	    int w, h;
-! 	    gui_mch_get_screen_dimensions(&w, &h);
-! 	    h += p_ghr + get_menu_tool_height();
-! 	    w += get_menu_tool_width();
-  	    if (mask & XNegative)
-! 		x += w - pixel_width;
-  	    if (mask & YNegative)
-! 		y += h - pixel_height;
-  #ifdef HAVE_GTK2
-  	    gtk_window_move(GTK_WINDOW(gui.mainwin), x, y);
-  #else
---- 4070,4083 ----
-  
-  	if (mask & (XValue | YValue))
-  	{
-! 	    int ww, hh;
-! 	    gui_mch_get_screen_dimensions(&ww, &hh);
-! 	    hh += p_ghr + get_menu_tool_height();
-! 	    ww += get_menu_tool_width();
-  	    if (mask & XNegative)
-! 		x += ww - pixel_width;
-  	    if (mask & YNegative)
-! 		y += hh - pixel_height;
-  #ifdef HAVE_GTK2
-  	    gtk_window_move(GTK_WINDOW(gui.mainwin), x, y);
-  #else
-*** ../vim-7.2.054/src/gui_xmdlg.c	Tue Jun 24 23:39:32 2008
---- src/gui_xmdlg.c	Fri Nov 28 21:04:08 2008
-***************
-*** 369,378 ****
-      char	buf[TEMP_BUF_SIZE];
-      XmString	items[MAX_ENTRIES_IN_LIST];
-      int		i;
-!     int		index;
-  
-!     for (index = (int)ENCODING; index < (int)NONE; ++index)
-! 	count[index] = 0;
-  
-      /* First we insert the wild char into every single list. */
-      if (fix != ENCODING)
---- 369,378 ----
-      char	buf[TEMP_BUF_SIZE];
-      XmString	items[MAX_ENTRIES_IN_LIST];
-      int		i;
-!     int		idx;
-  
-!     for (idx = (int)ENCODING; idx < (int)NONE; ++idx)
-! 	count[idx] = 0;
-  
-      /* First we insert the wild char into every single list. */
-      if (fix != ENCODING)
-***************
-*** 503,516 ****
-      /*
-       * Now loop trough the remaining lists and set them up.
-       */
-!     for (index = (int)NAME; index < (int)NONE; ++index)
-      {
-  	Widget w;
-  
-! 	if (fix == (enum ListSpecifier)index)
-  	    continue;
-  
-! 	switch ((enum ListSpecifier)index)
-  	{
-  	    case NAME:
-  		w = data->list[NAME];
---- 503,516 ----
-      /*
-       * Now loop trough the remaining lists and set them up.
-       */
-!     for (idx = (int)NAME; idx < (int)NONE; ++idx)
-      {
-  	Widget w;
-  
-! 	if (fix == (enum ListSpecifier)idx)
-  	    continue;
-  
-! 	switch ((enum ListSpecifier)idx)
-  	{
-  	    case NAME:
-  		w = data->list[NAME];
-***************
-*** 525,545 ****
-  		w = (Widget)0;	/* for lint */
-  	}
-  
-! 	for (i = 0; i < count[index]; ++i)
-  	{
-! 	    items[i] = XmStringCreateLocalized(list[index][i]);
-! 	    XtFree(list[index][i]);
-  	}
-  	XmListDeleteAllItems(w);
-! 	XmListAddItems(w, items, count[index], 1);
-! 	if (data->sel[index])
-  	{
-  	    XmStringFree(items[0]);
-! 	    items[0] = XmStringCreateLocalized(data->sel[index]);
-  	    XmListSelectItem(w, items[0], False);
-  	    XmListSetBottomItem(w, items[0]);
-  	}
-! 	for (i = 0; i < count[index]; ++i)
-  	    XmStringFree(items[i]);
-      }
-  }
---- 525,545 ----
-  		w = (Widget)0;	/* for lint */
-  	}
-  
-! 	for (i = 0; i < count[idx]; ++i)
-  	{
-! 	    items[i] = XmStringCreateLocalized(list[idx][i]);
-! 	    XtFree(list[idx][i]);
-  	}
-  	XmListDeleteAllItems(w);
-! 	XmListAddItems(w, items, count[idx], 1);
-! 	if (data->sel[idx])
-  	{
-  	    XmStringFree(items[0]);
-! 	    items[0] = XmStringCreateLocalized(data->sel[idx]);
-  	    XmListSelectItem(w, items[0], False);
-  	    XmListSetBottomItem(w, items[0]);
-  	}
-! 	for (i = 0; i < count[idx]; ++i)
-  	    XmStringFree(items[i]);
-      }
-  }
-***************
-*** 695,708 ****
-  	int	    n;
-  	XmString    str;
-  	Arg	    args[4];
-! 	char	    *msg = _("no specific match");
-  
-  	n = 0;
-! 	str = XmStringCreateLocalized(msg);
-  	XtSetArg(args[n], XmNlabelString, str); ++n;
-  	XtSetValues(data->sample, args, n);
-  	apply_fontlist(data->sample);
-! 	XmTextSetString(data->name, msg);
-  	XmStringFree(str);
-  
-  	return False;
---- 695,708 ----
-  	int	    n;
-  	XmString    str;
-  	Arg	    args[4];
-! 	char	    *nomatch_msg = _("no specific match");
-  
-  	n = 0;
-! 	str = XmStringCreateLocalized(nomatch_msg);
-  	XtSetArg(args[n], XmNlabelString, str); ++n;
-  	XtSetValues(data->sample, args, n);
-  	apply_fontlist(data->sample);
-! 	XmTextSetString(data->name, nomatch_msg);
-  	XmStringFree(str);
-  
-  	return False;
-***************
-*** 886,906 ****
-      {
-  	int	i;
-  	int	max;
-! 	int	index = 0;
-  	int	size;
-! 	char	str[128];
-  
-  	for (i = 0, max = 0; i < data->num; i++)
-  	{
-! 	    get_part(fn(data, i), 7, str);
-! 	    size = atoi(str);
-  	    if ((size > max) && (size < MAX_DISPLAY_SIZE))
-  	    {
-! 		index = i;
-  		max = size;
-  	    }
-  	}
-! 	strcpy(big_font, fn(data, index));
-      }
-      data->old = XLoadQueryFont(XtDisplay(parent), big_font);
-      data->old_list = gui_motif_create_fontlist(data->old);
---- 886,906 ----
-      {
-  	int	i;
-  	int	max;
-! 	int	idx = 0;
-  	int	size;
-! 	char	buf[128];
-  
-  	for (i = 0, max = 0; i < data->num; i++)
-  	{
-! 	    get_part(fn(data, i), 7, buf);
-! 	    size = atoi(buf);
-  	    if ((size > max) && (size < MAX_DISPLAY_SIZE))
-  	    {
-! 		idx = i;
-  		max = size;
-  	    }
-  	}
-! 	strcpy(big_font, fn(data, idx));
-      }
-      data->old = XLoadQueryFont(XtDisplay(parent), big_font);
-      data->old_list = gui_motif_create_fontlist(data->old);
-***************
-*** 1217,1244 ****
-  
-  	if (i != 0)
-  	{
-! 	    char name[TEMP_BUF_SIZE];
-! 	    char style[TEMP_BUF_SIZE];
-! 	    char size[TEMP_BUF_SIZE];
-! 	    char encoding[TEMP_BUF_SIZE];
-  	    char *found;
-  
-  	    found = names[0];
-  
-! 	    name_part(found, name);
-! 	    style_part(found, style);
-! 	    size_part(found, size, data->in_pixels);
-! 	    encoding_part(found, encoding);
-! 
-! 	    if (strlen(name) > 0
-! 		    && strlen(style) > 0
-! 		    && strlen(size) > 0
-! 		    && strlen(encoding) > 0)
-  	    {
-! 		data->sel[NAME] = XtNewString(name);
-! 		data->sel[STYLE] = XtNewString(style);
-! 		data->sel[SIZE] = XtNewString(size);
-! 		data->sel[ENCODING] = XtNewString(encoding);
-  		data->font_name = XtNewString(names[0]);
-  		display_sample(data);
-  		XmTextSetString(data->name, data->font_name);
---- 1217,1244 ----
-  
-  	if (i != 0)
-  	{
-! 	    char namebuf[TEMP_BUF_SIZE];
-! 	    char stylebuf[TEMP_BUF_SIZE];
-! 	    char sizebuf[TEMP_BUF_SIZE];
-! 	    char encodingbuf[TEMP_BUF_SIZE];
-  	    char *found;
-  
-  	    found = names[0];
-  
-! 	    name_part(found, namebuf);
-! 	    style_part(found, stylebuf);
-! 	    size_part(found, sizebuf, data->in_pixels);
-! 	    encoding_part(found, encodingbuf);
-! 
-! 	    if (strlen(namebuf) > 0
-! 		    && strlen(stylebuf) > 0
-! 		    && strlen(sizebuf) > 0
-! 		    && strlen(encodingbuf) > 0)
-  	    {
-! 		data->sel[NAME] = XtNewString(namebuf);
-! 		data->sel[STYLE] = XtNewString(stylebuf);
-! 		data->sel[SIZE] = XtNewString(sizebuf);
-! 		data->sel[ENCODING] = XtNewString(encodingbuf);
-  		data->font_name = XtNewString(names[0]);
-  		display_sample(data);
-  		XmTextSetString(data->name, data->font_name);
-*** ../vim-7.2.054/src/gui_xmebw.c	Thu Nov  8 20:48:14 2007
---- src/gui_xmebw.c	Fri Nov 28 18:58:53 2008
-***************
-*** 1256,1262 ****
-      }
-      else
-      {
-! 	int adjust = 0;
-  
-  #if !defined(LESSTIF_VERSION) && (XmVersion > 1002)
-  	/*
---- 1256,1262 ----
-      }
-      else
-      {
-! 	adjust = 0;
-  
-  #if !defined(LESSTIF_VERSION) && (XmVersion > 1002)
-  	/*
-***************
-*** 1268,1279 ****
-  	{
-  	    case XmEXTERNAL_HIGHLIGHT:
-  		adjust = (eb->primitive.highlight_thickness -
-! 			(eb->pushbutton.default_button_shadow_thickness ?
-! 			 Xm3D_ENHANCE_PIXEL : 0));
-  		break;
-  
-  	    case XmINTERNAL_HIGHLIGHT:
-- 		adjust = 0;
-  		break;
-  
-  	    default:
---- 1268,1278 ----
-  	{
-  	    case XmEXTERNAL_HIGHLIGHT:
-  		adjust = (eb->primitive.highlight_thickness -
-! 			 (eb->pushbutton.default_button_shadow_thickness
-! 			  ?  Xm3D_ENHANCE_PIXEL : 0));
-  		break;
-  
-  	    case XmINTERNAL_HIGHLIGHT:
-  		break;
-  
-  	    default:
-*** ../vim-7.2.054/src/main.c	Thu Nov 20 14:11:47 2008
---- src/main.c	Fri Nov 28 18:32:48 2008
-***************
-*** 2372,2378 ****
-       * Is there any other system that cannot do this?
-       */
-      close(0);
-!     dup(2);
-  #endif
-  }
-  
---- 2372,2378 ----
-       * Is there any other system that cannot do this?
-       */
-      close(0);
-!     ignored = dup(2);
-  #endif
-  }
-  
-*** ../vim-7.2.054/src/mbyte.c	Thu Nov 20 17:09:09 2008
---- src/mbyte.c	Fri Nov 28 18:44:05 2008
-***************
-*** 717,723 ****
-  		     * where mblen() returns 0 for invalid character.
-  		     * Therefore, following condition includes 0.
-  		     */
-! 		    (void)mblen(NULL, 0);	/* First reset the state. */
-  		    if (mblen(buf, (size_t)1) <= 0)
-  			n = 2;
-  		    else
---- 717,723 ----
-  		     * where mblen() returns 0 for invalid character.
-  		     * Therefore, following condition includes 0.
-  		     */
-! 		    ignored = mblen(NULL, 0);	/* First reset the state. */
-  		    if (mblen(buf, (size_t)1) <= 0)
-  			n = 2;
-  		    else
-***************
-*** 5278,5284 ****
-  
-  /*ARGSUSED*/
-      static void
-! preedit_start_cbproc(XIC xic, XPointer client_data, XPointer call_data)
-  {
-  #ifdef XIM_DEBUG
-      xim_log("xim_decide_input_style()\n");
---- 5278,5284 ----
-  
-  /*ARGSUSED*/
-      static void
-! preedit_start_cbproc(XIC thexic, XPointer client_data, XPointer call_data)
-  {
-  #ifdef XIM_DEBUG
-      xim_log("xim_decide_input_style()\n");
-***************
-*** 5312,5318 ****
-  
-  /*ARGSUSED*/
-      static void
-! preedit_draw_cbproc(XIC xic, XPointer client_data, XPointer call_data)
-  {
-      XIMPreeditDrawCallbackStruct *draw_data;
-      XIMText	*text;
---- 5312,5318 ----
-  
-  /*ARGSUSED*/
-      static void
-! preedit_draw_cbproc(XIC thexic, XPointer client_data, XPointer call_data)
-  {
-      XIMPreeditDrawCallbackStruct *draw_data;
-      XIMText	*text;
-***************
-*** 5453,5459 ****
-  
-  /*ARGSUSED*/
-      static void
-! preedit_caret_cbproc(XIC xic, XPointer client_data, XPointer call_data)
-  {
-  #ifdef XIM_DEBUG
-      xim_log("preedit_caret_cbproc()\n");
---- 5453,5459 ----
-  
-  /*ARGSUSED*/
-      static void
-! preedit_caret_cbproc(XIC thexic, XPointer client_data, XPointer call_data)
-  {
-  #ifdef XIM_DEBUG
-      xim_log("preedit_caret_cbproc()\n");
-***************
-*** 5462,5468 ****
-  
-  /*ARGSUSED*/
-      static void
-! preedit_done_cbproc(XIC xic, XPointer client_data, XPointer call_data)
-  {
-  #ifdef XIM_DEBUG
-      xim_log("preedit_done_cbproc()\n");
---- 5462,5468 ----
-  
-  /*ARGSUSED*/
-      static void
-! preedit_done_cbproc(XIC thexic, XPointer client_data, XPointer call_data)
-  {
-  #ifdef XIM_DEBUG
-      xim_log("preedit_done_cbproc()\n");
-*** ../vim-7.2.054/src/message.c	Sun Jul 13 19:18:44 2008
---- src/message.c	Fri Nov 28 12:26:56 2008
-***************
-*** 4585,4645 ****
-  			if (remove_trailing_zeroes)
-  			{
-  			    int i;
-! 			    char *p;
-  
-  			    /* Using %g or %G: remove superfluous zeroes. */
-  			    if (fmt_spec == 'f')
-! 				p = tmp + str_arg_l - 1;
-  			    else
-  			    {
-! 				p = (char *)vim_strchr((char_u *)tmp,
-  						 fmt_spec == 'e' ? 'e' : 'E');
-! 				if (p != NULL)
-  				{
-  				    /* Remove superfluous '+' and leading
-  				     * zeroes from the exponent. */
-! 				    if (p[1] == '+')
-  				    {
-  					/* Change "1.0e+07" to "1.0e07" */
-! 					STRMOVE(p + 1, p + 2);
-  					--str_arg_l;
-  				    }
-! 				    i = (p[1] == '-') ? 2 : 1;
-! 				    while (p[i] == '0')
-  				    {
-  					/* Change "1.0e07" to "1.0e7" */
-! 					STRMOVE(p + i, p + i + 1);
-  					--str_arg_l;
-  				    }
-! 				    --p;
-  				}
-  			    }
-  
-! 			    if (p != NULL && !precision_specified)
-  				/* Remove trailing zeroes, but keep the one
-  				 * just after a dot. */
-! 				while (p > tmp + 2 && *p == '0' && p[-1] != '.')
-  				{
-! 				    STRMOVE(p, p + 1);
-! 				    --p;
-  				    --str_arg_l;
-  				}
-  			}
-  			else
-  			{
-! 			    char *p;
-  
-  			    /* Be consistent: some printf("%e") use 1.0e+12
-  			     * and some 1.0e+012.  Remove one zero in the last
-  			     * case. */
-! 			    p = (char *)vim_strchr((char_u *)tmp,
-  						 fmt_spec == 'e' ? 'e' : 'E');
-! 			    if (p != NULL && (p[1] == '+' || p[1] == '-')
-! 					  && p[2] == '0'
-! 					  && vim_isdigit(p[3])
-! 					  && vim_isdigit(p[4]))
-  			    {
-! 				STRMOVE(p + 2, p + 3);
-  				--str_arg_l;
-  			    }
-  			}
---- 4585,4646 ----
-  			if (remove_trailing_zeroes)
-  			{
-  			    int i;
-! 			    char *tp;
-  
-  			    /* Using %g or %G: remove superfluous zeroes. */
-  			    if (fmt_spec == 'f')
-! 				tp = tmp + str_arg_l - 1;
-  			    else
-  			    {
-! 				tp = (char *)vim_strchr((char_u *)tmp,
-  						 fmt_spec == 'e' ? 'e' : 'E');
-! 				if (tp != NULL)
-  				{
-  				    /* Remove superfluous '+' and leading
-  				     * zeroes from the exponent. */
-! 				    if (tp[1] == '+')
-  				    {
-  					/* Change "1.0e+07" to "1.0e07" */
-! 					STRMOVE(tp + 1, tp + 2);
-  					--str_arg_l;
-  				    }
-! 				    i = (tp[1] == '-') ? 2 : 1;
-! 				    while (tp[i] == '0')
-  				    {
-  					/* Change "1.0e07" to "1.0e7" */
-! 					STRMOVE(tp + i, tp + i + 1);
-  					--str_arg_l;
-  				    }
-! 				    --tp;
-  				}
-  			    }
-  
-! 			    if (tp != NULL && !precision_specified)
-  				/* Remove trailing zeroes, but keep the one
-  				 * just after a dot. */
-! 				while (tp > tmp + 2 && *tp == '0'
-! 							     && tp[-1] != '.')
-  				{
-! 				    STRMOVE(tp, tp + 1);
-! 				    --tp;
-  				    --str_arg_l;
-  				}
-  			}
-  			else
-  			{
-! 			    char *tp;
-  
-  			    /* Be consistent: some printf("%e") use 1.0e+12
-  			     * and some 1.0e+012.  Remove one zero in the last
-  			     * case. */
-! 			    tp = (char *)vim_strchr((char_u *)tmp,
-  						 fmt_spec == 'e' ? 'e' : 'E');
-! 			    if (tp != NULL && (tp[1] == '+' || tp[1] == '-')
-! 					  && tp[2] == '0'
-! 					  && vim_isdigit(tp[3])
-! 					  && vim_isdigit(tp[4]))
-  			    {
-! 				STRMOVE(tp + 2, tp + 3);
-  				--str_arg_l;
-  			    }
-  			}
-*** ../vim-7.2.054/src/netbeans.c	Sat Nov 15 14:10:23 2008
---- src/netbeans.c	Fri Nov 28 18:51:43 2008
-***************
-*** 1043,1049 ****
-  	nbdebug(("EVT: %s", buf));
-  /*	nb_send(buf, "netbeans_end");    avoid "write failed" messages */
-  	if (sd >= 0)
-! 	    sock_write(sd, buf, (int)STRLEN(buf));  /* ignore errors */
-      }
-  }
-  
---- 1043,1049 ----
-  	nbdebug(("EVT: %s", buf));
-  /*	nb_send(buf, "netbeans_end");    avoid "write failed" messages */
-  	if (sd >= 0)
-! 	    ignored = sock_write(sd, buf, (int)STRLEN(buf));
-      }
-  }
-  
-***************
-*** 2277,2285 ****
-  	    int serNum;
-  	    int localTypeNum;
-  	    int typeNum;
-- # ifdef NBDEBUG
-- 	    int len;
-- # endif
-  	    pos_T *pos;
-  
-  	    if (buf == NULL || buf->bufp == NULL)
---- 2277,2282 ----
-***************
-*** 2303,2315 ****
-  	    pos = get_off_or_lnum(buf->bufp, &args);
-  
-  	    cp = (char *)args;
-! # ifdef NBDEBUG
-! 	    len =
-! # endif
-! 		strtol(cp, &cp, 10);
-  	    args = (char_u *)cp;
-  # ifdef NBDEBUG
-! 	    if (len != -1)
-  	    {
-  		nbdebug(("    partial line annotation -- Not Yet Implemented!\n"));
-  	    }
---- 2300,2309 ----
-  	    pos = get_off_or_lnum(buf->bufp, &args);
-  
-  	    cp = (char *)args;
-! 	    ignored = (int)strtol(cp, &cp, 10);
-  	    args = (char_u *)cp;
-  # ifdef NBDEBUG
-! 	    if (ignored != -1)
-  	    {
-  		nbdebug(("    partial line annotation -- Not Yet Implemented!\n"));
-  	    }
-*** ../vim-7.2.054/src/option.c	Sun Nov  9 13:43:25 2008
---- src/option.c	Fri Nov 28 12:27:34 2008
-***************
-*** 8232,8244 ****
-  	    {
-  		if (number == 0 && string != NULL)
-  		{
-! 		    int index;
-  
-  		    /* Either we are given a string or we are setting option
-  		     * to zero. */
-! 		    for (index = 0; string[index] == '0'; ++index)
-  			;
-! 		    if (string[index] != NUL || index == 0)
-  		    {
-  			/* There's another character after zeros or the string
-  			 * is empty.  In both cases, we are trying to set a
---- 8232,8244 ----
-  	    {
-  		if (number == 0 && string != NULL)
-  		{
-! 		    int idx;
-  
-  		    /* Either we are given a string or we are setting option
-  		     * to zero. */
-! 		    for (idx = 0; string[idx] == '0'; ++idx)
-  			;
-! 		    if (string[idx] != NUL || idx == 0)
-  		    {
-  			/* There's another character after zeros or the string
-  			 * is empty.  In both cases, we are trying to set a
-*** ../vim-7.2.054/src/os_unix.c	Wed Nov 12 14:09:38 2008
---- src/os_unix.c	Fri Nov 28 18:39:55 2008
-***************
-*** 315,326 ****
-      {-1,	    "Unknown!", FALSE}
-  };
-  
-      void
-  mch_write(s, len)
-      char_u	*s;
-      int		len;
-  {
-!     write(1, (char *)s, len);
-      if (p_wd)		/* Unix is too fast, slow down a bit more */
-  	RealWaitForChar(read_cmd_fd, p_wd, NULL);
-  }
---- 315,329 ----
-      {-1,	    "Unknown!", FALSE}
-  };
-  
-+ /*
-+  * Write s[len] to the screen.
-+  */
-      void
-  mch_write(s, len)
-      char_u	*s;
-      int		len;
-  {
-!     ignored = (int)write(1, (char *)s, len);
-      if (p_wd)		/* Unix is too fast, slow down a bit more */
-  	RealWaitForChar(read_cmd_fd, p_wd, NULL);
-  }
-***************
-*** 3927,3935 ****
-  		 */
-  		if (fd >= 0)
-  		{
-! 		    dup(fd); /* To replace stdin  (file descriptor 0) */
-! 		    dup(fd); /* To replace stdout (file descriptor 1) */
-! 		    dup(fd); /* To replace stderr (file descriptor 2) */
-  
-  		    /* Don't need this now that we've duplicated it */
-  		    close(fd);
---- 3930,3938 ----
-  		 */
-  		if (fd >= 0)
-  		{
-! 		    ignored = dup(fd); /* To replace stdin  (fd 0) */
-! 		    ignored = dup(fd); /* To replace stdout (fd 1) */
-! 		    ignored = dup(fd); /* To replace stderr (fd 2) */
-  
-  		    /* Don't need this now that we've duplicated it */
-  		    close(fd);
-***************
-*** 3997,4009 ****
-  
-  		    /* set up stdin/stdout/stderr for the child */
-  		    close(0);
-! 		    dup(pty_slave_fd);
-  		    close(1);
-! 		    dup(pty_slave_fd);
-  		    if (gui.in_use)
-  		    {
-  			close(2);
-! 			dup(pty_slave_fd);
-  		    }
-  
-  		    close(pty_slave_fd);    /* has been dupped, close it now */
---- 4000,4012 ----
-  
-  		    /* set up stdin/stdout/stderr for the child */
-  		    close(0);
-! 		    ignored = dup(pty_slave_fd);
-  		    close(1);
-! 		    ignored = dup(pty_slave_fd);
-  		    if (gui.in_use)
-  		    {
-  			close(2);
-! 			ignored = dup(pty_slave_fd);
-  		    }
-  
-  		    close(pty_slave_fd);    /* has been dupped, close it now */
-***************
-*** 4014,4026 ****
-  		    /* set up stdin for the child */
-  		    close(fd_toshell[1]);
-  		    close(0);
-! 		    dup(fd_toshell[0]);
-  		    close(fd_toshell[0]);
-  
-  		    /* set up stdout for the child */
-  		    close(fd_fromshell[0]);
-  		    close(1);
-! 		    dup(fd_fromshell[1]);
-  		    close(fd_fromshell[1]);
-  
-  # ifdef FEAT_GUI
---- 4017,4029 ----
-  		    /* set up stdin for the child */
-  		    close(fd_toshell[1]);
-  		    close(0);
-! 		    ignored = dup(fd_toshell[0]);
-  		    close(fd_toshell[0]);
-  
-  		    /* set up stdout for the child */
-  		    close(fd_fromshell[0]);
-  		    close(1);
-! 		    ignored = dup(fd_fromshell[1]);
-  		    close(fd_fromshell[1]);
-  
-  # ifdef FEAT_GUI
-***************
-*** 4028,4034 ****
-  		    {
-  			/* set up stderr for the child */
-  			close(2);
-! 			dup(1);
-  		    }
-  # endif
-  		}
---- 4031,4037 ----
-  		    {
-  			/* set up stderr for the child */
-  			close(2);
-! 			ignored = dup(1);
-  		    }
-  # endif
-  		}
-***************
-*** 4159,4165 ****
-  					    && (lnum !=
-  						    curbuf->b_ml.ml_line_count
-  						    || curbuf->b_p_eol)))
-! 				    write(toshell_fd, "\n", (size_t)1);
-  				++lnum;
-  				if (lnum > curbuf->b_op_end.lnum)
-  				{
---- 4162,4169 ----
-  					    && (lnum !=
-  						    curbuf->b_ml.ml_line_count
-  						    || curbuf->b_p_eol)))
-! 				    ignored = write(toshell_fd, "\n",
-! 								   (size_t)1);
-  				++lnum;
-  				if (lnum > curbuf->b_op_end.lnum)
-  				{
-*** ../vim-7.2.054/src/spell.c	Fri Nov 28 10:08:05 2008
---- src/spell.c	Fri Nov 28 12:28:24 2008
-***************
-*** 4950,4956 ****
-  static void put_sugtime __ARGS((spellinfo_T *spin, FILE *fd));
-  static int write_vim_spell __ARGS((spellinfo_T *spin, char_u *fname));
-  static void clear_node __ARGS((wordnode_T *node));
-! static int put_node __ARGS((FILE *fd, wordnode_T *node, int index, int regionmask, int prefixtree));
-  static void spell_make_sugfile __ARGS((spellinfo_T *spin, char_u *wfname));
-  static int sug_filltree __ARGS((spellinfo_T *spin, slang_T *slang));
-  static int sug_maketable __ARGS((spellinfo_T *spin));
---- 4950,4956 ----
-  static void put_sugtime __ARGS((spellinfo_T *spin, FILE *fd));
-  static int write_vim_spell __ARGS((spellinfo_T *spin, char_u *fname));
-  static void clear_node __ARGS((wordnode_T *node));
-! static int put_node __ARGS((FILE *fd, wordnode_T *node, int idx, int regionmask, int prefixtree));
-  static void spell_make_sugfile __ARGS((spellinfo_T *spin, char_u *wfname));
-  static int sug_filltree __ARGS((spellinfo_T *spin, slang_T *slang));
-  static int sug_maketable __ARGS((spellinfo_T *spin));
-*** ../vim-7.2.054/src/ui.c	Sun Sep 14 15:57:54 2008
---- src/ui.c	Fri Nov 28 19:04:36 2008
-***************
-*** 1820,1826 ****
-  #ifdef HAVE_DUP
-  	    /* Use stderr for stdin, also works for shell commands. */
-  	    close(0);
-! 	    dup(2);
-  #else
-  	    read_cmd_fd = 2;	/* read from stderr instead of stdin */
-  #endif
---- 1820,1826 ----
-  #ifdef HAVE_DUP
-  	    /* Use stderr for stdin, also works for shell commands. */
-  	    close(0);
-! 	    ignored = dup(2);
-  #else
-  	    read_cmd_fd = 2;	/* read from stderr instead of stdin */
-  #endif
-*** ../vim-7.2.054/src/window.c	Sat Nov 15 14:10:23 2008
---- src/window.c	Fri Nov 28 18:46:45 2008
-***************
-*** 4029,4042 ****
-  	    if (mch_dirname(cwd, MAXPATHL) == OK)
-  		globaldir = vim_strsave(cwd);
-  	}
-! 	mch_chdir((char *)curwin->w_localdir);
-! 	shorten_fnames(TRUE);
-      }
-      else if (globaldir != NULL)
-      {
-  	/* Window doesn't have a local directory and we are not in the global
-  	 * directory: Change to the global directory. */
-! 	mch_chdir((char *)globaldir);
-  	vim_free(globaldir);
-  	globaldir = NULL;
-  	shorten_fnames(TRUE);
---- 4029,4042 ----
-  	    if (mch_dirname(cwd, MAXPATHL) == OK)
-  		globaldir = vim_strsave(cwd);
-  	}
-! 	if (mch_chdir((char *)curwin->w_localdir) == 0)
-! 	    shorten_fnames(TRUE);
-      }
-      else if (globaldir != NULL)
-      {
-  	/* Window doesn't have a local directory and we are not in the global
-  	 * directory: Change to the global directory. */
-! 	ignored = mch_chdir((char *)globaldir);
-  	vim_free(globaldir);
-  	globaldir = NULL;
-  	shorten_fnames(TRUE);
-*** ../vim-7.2.054/src/version.c	Fri Nov 28 12:05:07 2008
---- src/version.c	Fri Nov 28 21:12:42 2008
-***************
-*** 678,679 ****
---- 678,681 ----
-  {   /* Add new patch number below this line */
-+ /**/
-+     55,
-  /**/
-
--- 
-PRINCE:    He's come to rescue me, father.
-LAUNCELOT: (embarrassed) Well, let's not jump to conclusions ...
-                 "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    ///
--- a/components/vim/vim72-patches/7.2.056	Thu Jul 07 19:05:29 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.2.056
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net></