summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--0ad-svn/0ad.sh3
-rw-r--r--0ad-svn/PKGBUILD129
-rw-r--r--aacplusenc/PKGBUILD19
-rw-r--r--cairo-compmgr/PKGBUILD27
-rw-r--r--cairo-compmgr/cairo-compmgr.install21
-rw-r--r--cdrtools/PKGBUILD17
-rw-r--r--codecs/PKGBUILD25
-rw-r--r--extract/PKGBUILD6
-rw-r--r--firefox-nightly/ChangeLog13
-rw-r--r--firefox-nightly/PKGBUILD8
-rw-r--r--firefox-nightly/README5
-rw-r--r--fontmatrix/PKGBUILD30
-rw-r--r--gajim-otr-bzr/PKGBUILD2
-rw-r--r--gvim/PKGBUILD2
-rw-r--r--gvim/vim-7.2/7.2.19860
-rw-r--r--gvim/vim-7.2/7.2.19952
-rw-r--r--gvim/vim-7.2/7.2.200348
-rw-r--r--gvim/vim-7.2/7.2.201494
-rw-r--r--gvim/vim-7.2/7.2.20262
-rw-r--r--gvim/vim-7.2/7.2.2031496
-rw-r--r--gvim/vim-7.2/7.2.204137
-rw-r--r--gvim/vim-7.2/7.2.20581
-rw-r--r--gvim/vim-7.2/7.2.20646
-rw-r--r--gvim/vim-7.2/7.2.20769
-rw-r--r--gvim/vim-7.2/7.2.20882
-rw-r--r--gvim/vim-7.2/7.2.20982
-rw-r--r--gvim/vim-7.2/7.2.21058
-rw-r--r--gvim/vim-7.2/7.2.21152
-rw-r--r--gvim/vim-7.2/7.2.21262
-rw-r--r--gvim/vim-7.2/7.2.21353
-rw-r--r--gvim/vim-7.2/7.2.21465
-rw-r--r--gvim/vim-7.2/7.2.215310
-rw-r--r--gvim/vim-7.2/7.2.216137
-rw-r--r--gvim/vim-7.2/7.2.21757
-rw-r--r--gvim/vim-7.2/7.2.21852
-rw-r--r--initscripts-git/PKGBUILD2
-rw-r--r--mp4tools/PKGBUILD16
-rw-r--r--mpd-git/PKGBUILD2
-rw-r--r--mplayer-vdpau-nogui/PKGBUILD44
-rw-r--r--mplayer-vdpau-nogui/no_segfault_configure.diff11
-rw-r--r--opencore-amr/PKGBUILD37
-rw-r--r--opencore-amr/opencore-amr-0.1.1-arch-paths.patch28
-rw-r--r--opencore-amr/opencore-amr-0.1.1-gentoo-pic.patch66
-rw-r--r--oss-mercurial/PKGBUILD13
-rw-r--r--pacgraph/PKGBUILD6
-rw-r--r--smplayer-svn/PKGBUILD47
-rw-r--r--smplayer-svn/smplayer-svn.install12
-rw-r--r--tcc-git/PKGBUILD2
-rw-r--r--thunar-notrash/PKGBUILD5
-rw-r--r--vim-nerdtree/PKGBUILD32
-rw-r--r--vim-nerdtree/license.txt8
-rw-r--r--vim-nerdtree/vimdoc.install19
-rw-r--r--vim/PKGBUILD13
-rw-r--r--vim/archlinux.vim28
-rw-r--r--vim/vim-7.2/7.2.21971
-rw-r--r--vim/vim-7.2/7.2.22095
-rw-r--r--vim/vim-7.2/7.2.221247
-rw-r--r--vim/vim-7.2/7.2.22259
-rw-r--r--vim/vim-7.2/7.2.223165
-rw-r--r--vim/vim-7.2/7.2.22488
-rw-r--r--vim/vim-7.2/7.2.22597
-rw-r--r--vim/vim-7.2/7.2.226268
-rw-r--r--vim/vim-7.2/7.2.22752
-rw-r--r--vim/vim-7.2/7.2.228573
-rw-r--r--vim/vim-7.2/7.2.22960
-rw-r--r--vim/vim-7.2/7.2.23087
-rw-r--r--vim/vim-7.2/7.2.23149
-rw-r--r--vim/vim-7.2/7.2.232102
-rw-r--r--vim/vim-7.2/7.2.23396
-rw-r--r--vim/vim-7.2/7.2.234111
-rw-r--r--vim/vimrc16
-rw-r--r--vlc-git/PKGBUILD121
-rw-r--r--warzone-svn/PKGBUILD4
-rw-r--r--wireshark/PKGBUILD29
-rw-r--r--wireshark/wireshark.desktop10
-rw-r--r--wireshark/wireshark.pngbin0 -> 18535 bytes
76 files changed, 6783 insertions, 170 deletions
diff --git a/0ad-svn/0ad.sh b/0ad-svn/0ad.sh
new file mode 100644
index 0000000..539c48b
--- /dev/null
+++ b/0ad-svn/0ad.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+cd /opt/0ad/system
+LD_LIBRARY_PATH=/opt/0ad/system/spidermonkey/ ./pyrogenesis_dbg $*
diff --git a/0ad-svn/PKGBUILD b/0ad-svn/PKGBUILD
index 4f61a83..9036f74 100644
--- a/0ad-svn/PKGBUILD
+++ b/0ad-svn/PKGBUILD
@@ -1,60 +1,103 @@
-# Contributor: Florian Pritz <f-p@gmx.at>
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Jakob "flocke" Nixdorf <flocke@user-helfen-usern.de>
+
pkgname=0ad-svn
-pkgver=7020
+pkgver=7093
pkgrel=1
-pkgdesc="real-time 3D strategy game"
+pkgdesc="Cross-platform, 3D and historically-based real-time strategy game"
arch=('i686' 'x86_64')
-url=""
-license=('GPL')
-groups=()
-depends=('nasm' 'sdl' 'boost' 'libpng' 'libxml2' 'openal' 'libogg' 'libvorbis' 'crypto++' 'spidermonkey' 'wxgtk' 'valgrind' 'enet' 'devil')
-makedepends=('subversion')
-provides=()
-conflicts=()
-replaces=()
-backup=()
-options=()
-install=
-source=()
-noextract=()
-md5sums=()
-
-_svntrunk=http://svn.wildfiregames.com/public/ps/trunk/
-_svnmod=trunk
+url="http://wildfiregames.com/0ad"
+license=('GPL2' 'CCPL')
+depends=('binutils' 'boost' 'crypto++' 'devil' 'enet' 'gamin' 'libogg' 'libpng' 'libvorbis' 'libxml2' 'mesa' 'nspr' 'nasm' 'openal' 'sdl' 'valgrind' 'wxgtk' 'zlib')
+makedepends=('gcc' 'subversion')
+source=(http://ftp.mozilla.org/pub/mozilla.org/js/js-1.60.tar.gz \
+ 0ad.sh)
+
+md5sums=('bd8f021e43a8fbbec55ac2cd3d483243'
+ 'e44fcdb23628a6a2b6232a8171c38d13')
+
+_svntrunk="http://svn.wildfiregames.com/public/ps/trunk"
+_svnmod="trunk"
build() {
- cd "$srcdir"
+ msg "Building SpiderMonkey 1.6..."
+ cd ${srcdir}/js/src
+ [ "$CARCH" = "x86_64" ] && sed -i -e "s:lib64:lib:g" config.mk
+ JS_THREADSAFE=1 INCLUDES=-I/usr/include/nspr OTHER_LIBS=-L/usr/lib make -j1 -f Makefile.ref || return 1
+ make -j1 -f Makefile.ref export || return 1
+ cd ../../dist/Linux_All_DBG.OBJ
+
+ if [ -d ${srcdir}/spidermonkey ]; then
+ rm -rf ${srcdir}/spidermonkey
+ fi
+ install -d ${srcdir}/spidermonkey/lib || return 1
+ cp lib/* ${srcdir}/spidermonkey/lib || return 1
+
+ install -d ${srcdir}/spidermonkey/include/js || return 1
+ cp include/* ${srcdir}/spidermonkey/include/js || return 1
+
+ msg "Starting SVN checkout..."
+ cd ${srcdir}
if [ -d $_svnmod/.svn ]; then
(cd $_svnmod && svn up -r $pkgver)
else
svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
fi
+ msg "SVN checkout done or server timeout"
- msg "SVN checkout done or server timeout"
- msg "Starting make..."
-
- rm -rf "$srcdir/$_svnmod-build"
- cp -r "$srcdir/$_svnmod" "$srcdir/$_svnmod-build"
- cd "$srcdir/$_svnmod-build"
+ msg "Starting make..."
+ if [ -d ${srcdir}/$_svnmod-build ]; then
+ rm -r $_svnmod-build
+ fi
+ cp -r $_svnmod $_svnmod-build
+ cd $_svnmod-build
- #
- # BUILD
- #
- pushd libraries/fcollada/src
+ msg "Building FCollada..."
+ cd ${srcdir}/$_svnmod-build/libraries/fcollada/src || return 1
make || return 1
- popd
- pushd build/premake/src
- make || return 1
- cp bin/premake ..
- popd
- pushd build/workspaces
- ./update-workspaces.sh
- cd gcc
+
+ msg "Building Premake..."
+ cd ${srcdir}/$_svnmod-build/build/premake/src || return 1
make || return 1
- cd ../../binaries/system
- ./pyrogenesis_dbg
+ cp bin/premake .. || return 1
-}
+ msg "Updating Workspaces..."
+ cd ${srcdir}/$_svnmod-build/build/workspaces
+ ./update-workspaces.sh || return 1
+
+ msg "Building 0 AD..."
+ cd ${srcdir}/$_svnmod-build/build/workspaces/gcc || return 1
+ LDFLAGS="-L${srcdir}/spidermonkey/lib -ljs" CFLAGS="-I${srcdir}/spidermonkey/include" make || return 1
+
+ msg "Installing binaries..."
+ install -d ${pkgdir}/opt/0ad || return 1
+ cp -r ${srcdir}/$_svnmod-build/binaries/* ${pkgdir}/opt/0ad || return 1
+ install -d ${pkgdir}/opt/0ad/system/spidermonkey || return 1
+ cp -r ${srcdir}/spidermonkey/lib/* ${pkgdir}/opt/0ad/system/spidermonkey/ || return 1
-# vim:set ts=2 sw=2 et:
+ msg "Removing SVN stuff..."
+ cd ${pkgdir}/opt/0ad || return 1
+ find -name ".svn" -type d -print0 | xargs -0 rm -rf || return 1
+
+ msg "Removing sucky windows stuff..."
+ cd ${pkgdir}/opt/0ad/system || return 1
+ rm *.exe
+ rm *.dll
+ rm *.bat
+ rm Microsoft.VC*
+ rm *.sys
+ rm *.pdb
+ rm -rf ape
+ rm -rf textureconv
+ rm ../data/createzip.bat
+
+ msg "Fixing file permissions..."
+ cd ${pkgdir}/opt/0ad/data || return 1
+ chown -R root:games ${pkgdir}/opt/0ad || return 1
+ chmod -R 664 ${pkgdir}/opt/0ad/data/cache || return 1
+ chmod -R 664 ${pkgdir}/opt/0ad/logs || return 1
+
+ msg "Installing run script..."
+ install -D -m755 ${srcdir}/0ad.sh ${pkgdir}/usr/bin/0ad || return 1
+}
diff --git a/aacplusenc/PKGBUILD b/aacplusenc/PKGBUILD
new file mode 100644
index 0000000..775541d
--- /dev/null
+++ b/aacplusenc/PKGBUILD
@@ -0,0 +1,19 @@
+# Contributor: Lukas Jirkovsky <l.jirkovsky@gmail.com>
+pkgname=aacplusenc
+pkgver=0.17.4
+pkgrel=1
+pkgdesc="An AAC+ encoder which outputs raw AAC"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/~teknoraver/+archive/ppa"
+license=('custom')
+depends=('fftw')
+source=(https://launchpad.net/~teknoraver/+archive/ppa/+files/aacplusenc_$pkgver.tar.gz)
+md5sums=('234141f29add7ddf380ff6e49ec73b43')
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+ make || return 1
+ make INSTDIR="$pkgdir"/usr install
+
+ install -D -m644 COPYRIGHT "$pkgdir"/usr/share/licenses/$pkgname/COPYRIGHT
+}
diff --git a/cairo-compmgr/PKGBUILD b/cairo-compmgr/PKGBUILD
new file mode 100644
index 0000000..ea0c974
--- /dev/null
+++ b/cairo-compmgr/PKGBUILD
@@ -0,0 +1,27 @@
+# Contributor: Your Name <youremail@domain.com>
+pkgname='cairo-compmgr'
+pkgver='0.2.93'
+pkgrel=1
+pkgdesc="Cairo based composite manager"
+arch=('i686' 'x86_64')
+url="http://cairo-compmgr.tuxfamily.org/"
+license=('GPL')
+depends=('cairo' 'libgnomeui' 'libxcomposite' 'gconf')
+install="${pkgname}.install"
+source=("http://download.tuxfamily.org/ccm/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+
+build() {
+ cd "${startdir}/src/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr
+ make || return 1
+ make DESTDIR="${startdir}/pkg" install
+
+ mkdir -p ${startdir}/pkg/usr/share/gconf/schemas/
+ gconf-merge-schema ${startdir}/pkg/usr/share/gconf/schemas/cairo-compmgr.schemas ${startdir}/pkg/etc/gconf/schemas/*.schemas
+ rm -rf ${startdir}/pkg/etc/gconf/schemas/
+}
+
+# vim:set ts=2 sw=2 et:
+md5sums=('7df7d4df1cd91d655dc4f8073d82c1e8')
+sha256sums=('6cd4552cfa572ca1db593e0cbcd4b4089e613e6409e23e28d93bdd2e6243b05c')
diff --git a/cairo-compmgr/cairo-compmgr.install b/cairo-compmgr/cairo-compmgr.install
new file mode 100644
index 0000000..27f8c86
--- /dev/null
+++ b/cairo-compmgr/cairo-compmgr.install
@@ -0,0 +1,21 @@
+post_install() {
+ gconfpkg --install cairo-compmgr
+}
+
+pre_upgrade() {
+ gconfpkg --uninstall cairo-compmgr
+}
+
+post_upgrade() {
+ gconfpkg --install cairo-compmgr
+}
+
+pre_remove() {
+ gconfpkg --uninstall cairo-compmgr
+}
+
+op=$1
+shift
+[ "$(type -t "$op")" = "function" ] && $op "$@"
+
+# vim:set ts=2 sw=2 et:
diff --git a/cdrtools/PKGBUILD b/cdrtools/PKGBUILD
index d99711b..f80773d 100644
--- a/cdrtools/PKGBUILD
+++ b/cdrtools/PKGBUILD
@@ -1,8 +1,8 @@
# Former contributor: Tuxbubling <tuxbubling@jabber.fr>, alejandronova
# Contributor: Lukas Jirkovsky <l.jirkovsky@gmail.com>
pkgname=cdrtools
-pkgver=2.01.01a60
-pkgrel=2
+pkgver=2.01.01a63
+pkgrel=1
pkgdesc="Original cdrtools, supporting CD, DVD and BluRay burning"
arch=('i686' 'x86_64')
url="http://cdrecord.berlios.de/private/cdrecord.html"
@@ -13,24 +13,13 @@ provides=('cdrkit')
backup=('etc/default/cdrecord' 'etc/default/rscsi')
install=cdrtools.install
source=(ftp://ftp.berlios.de/pub/cdrecord/alpha/cdrtools-$pkgver.tar.gz)
-md5sums=('62a2c475d3efefb1792f5ca20dfbb557')
-#source=(ftp://ftp.berlios.de/pub/cdrecord/alpha/cdrtools-$pkgver.tar.gz \
-# ftp://ftp.berlios.de/pub/smake/alpha/smake-1.2a41.tar.gz)
-#md5sums=('62a2c475d3efefb1792f5ca20dfbb557'
-# '1442b147193800e27246ac6d000ba890')
+md5sums=('d565eb3d615ba781e5a225e7bff6ac15')
build() {
-# cd "$srcdir"/smake-1.2/psmake
-# ./MAKE-all
-# cd ..
-# ./psmake/smake
-
cd "$srcdir"/cdrtools-${pkgver%%a*}
sed -i 's|/opt/schily|/usr|g' DEFAULTS/Defaults.linux
sed -i 's|DEFINSGRP=.*|DEFINSGRP=root|' DEFAULTS/Defaults.linux
-# "$srcdir"/smake-1.2/smake/OBJ/*-linux-*/smake || return 1
-# "$srcdir"/smake-1.2/smake/OBJ/*-linux-*/smake INS_BASE="$pkgdir"/usr INS_RBASE="$pkgdir" install
make || return 1
make INS_BASE="$pkgdir"/usr INS_RBASE="$pkgdir" install
mv "$pkgdir"/usr/man "$pkgdir"/usr/share/
diff --git a/codecs/PKGBUILD b/codecs/PKGBUILD
index aae74b6..ee6114d 100644
--- a/codecs/PKGBUILD
+++ b/codecs/PKGBUILD
@@ -2,32 +2,37 @@
pkgname=codecs
pkgver=20071007
-pkgrel=4
-pkgdesc="Non-linux native codec pack. (Win32, Real9, QuickTime)"
+pkgrel=6
+pkgdesc="Non-linux native codec pack."
arch=('i686' 'x86_64')
url="http://www.mplayerhq.hu/design7/dload.html"
license=('unknown')
+conflicts=('codecs-extra')
+replaces=('codecs-extra')
# The codec packages are different
# only the 32 bit package needs legacy libstdc++
[ "$CARCH" = "i686" ] && depends=('libstdc++5')
[ "$CARCH" = "x86_64" ] && depends=('gcc-libs')
-optdepends=('codecs-extra: additional codecs (i686 only)')
options=('!strip')
-
-md5sums=('4ea9c2dbd0945c83af1a8d0dd363993c')
-_arch=""
if [ "${CARCH}" = "x86_64" ]; then
- _arch="-amd64"
+ source=(http://www.mplayerhq.hu/MPlayer/releases/codecs/essential-amd64-${pkgver}.tar.bz2)
md5sums=('8e1ceeec51469f5baac65e56fac709e8')
+else
+ source=(http://www.mplayerhq.hu/MPlayer/releases/codecs/all-${pkgver}.tar.bz2)
+ md5sums=('0407e8ad132e37ccd3f932448ca201c5')
fi
-source=(http://www.mplayerhq.hu/MPlayer/releases/codecs/essential${_arch}-${pkgver}.tar.bz2)
+
build() {
install -d ${pkgdir}/usr/lib/codecs
cd ${pkgdir}/usr/lib
- ln -s codecs win32
- install -m644 ${srcdir}/essential${_arch}-${pkgver}/* ${pkgdir}/usr/lib/codecs
+ if [ "${CARCH}" = "x86_64" ]; then
+ install -m644 ${srcdir}/essential-amd64-${pkgver}/* ${pkgdir}/usr/lib/codecs
+ else
+ ln -s codecs win32
+ install -m644 ${srcdir}/all-${pkgver}/* ${pkgdir}/usr/lib/codecs
+ fi
rm ${pkgdir}/usr/lib/codecs/README
}
diff --git a/extract/PKGBUILD b/extract/PKGBUILD
index fc7e669..db2453d 100644
--- a/extract/PKGBUILD
+++ b/extract/PKGBUILD
@@ -1,14 +1,14 @@
# Contributor: Florian Pritz <f-p@gmx.at>
pkgname=extract
-pkgver=0.2.2.1
+pkgver=0.2.3.0
pkgrel=1
pkgdesc="Script to extract multiple archives"
arch=('i686' 'x86_64')
-url="http://flo.server-speed.net"
+url="http://bluewind.at"
license=('WTFPLv2')
depends=('gzip' 'tar' 'p7zip' 'unrar' 'unzip' 'bzip2' 'file')
-source=("http://flo.server-speed.net/stuff/mirror/$pkgname/$pkgname-$pkgver.tar.gz")
+source=("http://bluewind.at/stuff/mirror/$pkgname/$pkgname-$pkgver.tar.gz")
build() {
cd "${srcdir}/sources"
diff --git a/firefox-nightly/ChangeLog b/firefox-nightly/ChangeLog
index 73c9911..606e7d9 100644
--- a/firefox-nightly/ChangeLog
+++ b/firefox-nightly/ChangeLog
@@ -1,8 +1,17 @@
+firefox-nightly 3.7a1pre-2
+ + Fixed wrong url, thanks to kumyco
+
+firefox-nightly 3.7a1pre-1
+ + Version bump
+
+firefox-nightly 3.6a2pre-1
+ + Version bump
+
firefox-nightly 3.6a1pre-1
- + Update to nightly build 3.6 alpha 1
+ + Version bump
firefox-nightly 3.2a1pre-1
- + Update to nightly build 3.2 alpha 1
+ + Version bump
+ Both x86 and x86_64 pkgs download from latest-trunk dir
firefox-nightly 3.1b2pre-1
diff --git a/firefox-nightly/PKGBUILD b/firefox-nightly/PKGBUILD
index 41bf004..f90f949 100644
--- a/firefox-nightly/PKGBUILD
+++ b/firefox-nightly/PKGBUILD
@@ -6,12 +6,12 @@ license=('MPL' 'GPL' 'LGPL')
md5sums=('940233ba24a2de784ea6c610872f01e4' '488e66c72fb678d2b99a22fe87bc5974' '')
pkgdesc='Standalone web browser from mozilla.org, nightly build.'
pkgname=firefox-nightly
-pkgrel=$(date +%Y_%m_%d_%T)
-pkgver=3.6a1pre
+pkgrel=2
+pkgver=3.7a1pre
if [[ ${CARCH} = 'i686' ]]; then
- source=('firefox-nightly.desktop' 'firefox-nightly-safe.desktop' 'ftp://ftp.mozilla.org/pub/firefox/nightly/latest-trunk/firefox-3.6a1pre.en-US.linux-i686.tar.bz2')
+ source=('firefox-nightly.desktop' 'firefox-nightly-safe.desktop' 'http://ftp.mozilla.org/pub/firefox/nightly/latest-trunk/firefox-3.7a1pre.en-US.linux-i686.tar.bz2')
else
- source=('firefox-nightly.desktop' 'firefox-nightly-safe.desktop' 'ftp://ftp.mozilla.org/pub/firefox/nightly/latest-trunk/firefox-3.6a1pre.en-US.linux-x86_64.tar.bz2')
+ source=('firefox-nightly.desktop' 'firefox-nightly-safe.desktop' 'http://ftp.mozilla.org/pub/firefox/nightly/latest-trunk/firefox-3.7a1pre.en-US.linux-x86_64.tar.bz2')
fi
url='http://www.mozilla.org/projects/firefox'
diff --git a/firefox-nightly/README b/firefox-nightly/README
new file mode 100644
index 0000000..36da254
--- /dev/null
+++ b/firefox-nightly/README
@@ -0,0 +1,5 @@
+This package contains precompiled binaries of Firefox. These are
+NIGHTLY BUILDS. They are completely untested. We don't even know if
+they start up without crashing.
+ + It will be installed mainly in /opt/mozilla/firefox-$pkgver, and you can execute 'firefox-nightly' to run it
+ + Maybe it won't work with 64-bit Input Method modules, such as SCIM and iBus. See http://bbs.archlinux.org/viewtopic.php?id=19387 for details.
diff --git a/fontmatrix/PKGBUILD b/fontmatrix/PKGBUILD
new file mode 100644
index 0000000..3e5c947
--- /dev/null
+++ b/fontmatrix/PKGBUILD
@@ -0,0 +1,30 @@
+# Contributor: Michal Malek <michalm@jabster.pl>
+
+pkgname=fontmatrix
+pkgver=0.6.0
+pkgrel=1
+pkgdesc="Font manager for Linux"
+arch=('i686' 'x86_64')
+url="http://fontmatrix.net/"
+license=('GPL')
+depends=('qt>=4.3.0')
+makedepends=('cmake>=2.4.0')
+source=(http://fontmatrix.net/archives/$pkgname-$pkgver-Source.tar.gz)
+md5sums=('6a00c9448a50d3bab5acb4145f778f2d')
+
+build()
+{
+ export QTDIR=/usr
+ if [ "${CARCH}" = "i686" ]; then
+ export QMAKESPEC=/usr/share/qt/mkspecs/linux-g++-32
+ elif [ "${CARCH}" = "x86_64" ]; then
+ export QMAKESPEC=/usr/share/qt/mkspecs/linux-g++-64
+ fi
+
+ cd $startdir/src/$pkgname-$pkgver-Source
+ mkdir build
+ cd build
+ cmake .. -DCMAKE_INSTALL_PREFIX=/usr || return 1
+ make || return 1
+ make DESTDIR=$startdir/pkg install || return 1
+}
diff --git a/gajim-otr-bzr/PKGBUILD b/gajim-otr-bzr/PKGBUILD
index 0a57ffe..8f993e3 100644
--- a/gajim-otr-bzr/PKGBUILD
+++ b/gajim-otr-bzr/PKGBUILD
@@ -1,7 +1,7 @@
# Contributor: Hannes Rist <cowider@gmail.com>
pkgname=gajim-otr-bzr
-pkgver=8796
+pkgver=8797
pkgrel=1
pkgdesc="Jabber client written in PyGTK, experimental OTR-Branch"
arch=('i686' 'x86_64')
diff --git a/gvim/PKGBUILD b/gvim/PKGBUILD
index ba635c9..6d48d95 100644
--- a/gvim/PKGBUILD
+++ b/gvim/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=gvim
_srcver=7.2
-_patchlevel=197
+_patchlevel=218
pkgver=${_srcver}.${_patchlevel}
pkgrel=1
pkgdesc="the vim text editor with advanced features enabled, such as a gui mode"
diff --git a/gvim/vim-7.2/7.2.198 b/gvim/vim-7.2/7.2.198
new file mode 100644
index 0000000..cae27ac
--- /dev/null
+++ b/gvim/vim-7.2/7.2.198
@@ -0,0 +1,60 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.198
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.198
+Problem: Size of buffer used for tgetent() may be too small.
+Solution: Use the largest known size everywhere.
+Files: src/vim.h
+
+
+*** ../vim-7.2.197/src/vim.h 2009-05-14 22:19:19.000000000 +0200
+--- src/vim.h 2009-06-07 20:37:48.000000000 +0200
+***************
+*** 1345,1355 ****
+ # define MSG_BUF_CLEN MSG_BUF_LEN /* cell length */
+ #endif
+
+! #if defined(AMIGA) || defined(__linux__) || defined(__QNX__) || defined(__CYGWIN32__) || defined(_AIX)
+! # define TBUFSZ 2048 /* buffer size for termcap entry */
+! #else
+! # define TBUFSZ 1024 /* buffer size for termcap entry */
+! #endif
+
+ /*
+ * Maximum length of key sequence to be mapped.
+--- 1345,1355 ----
+ # define MSG_BUF_CLEN MSG_BUF_LEN /* cell length */
+ #endif
+
+! /* Size of the buffer used for tgetent(). Unfortunately this is largely
+! * undocumented, some systems use 1024. Using a buffer that is too small
+! * causes a buffer overrun and a crash. Use the maximum known value to stay
+! * on the safe side. */
+! #define TBUFSZ 2048 /* buffer size for termcap entry */
+
+ /*
+ * Maximum length of key sequence to be mapped.
+*** ../vim-7.2.197/src/version.c 2009-06-10 18:15:49.000000000 +0200
+--- src/version.c 2009-06-16 11:06:45.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 198,
+ /**/
+
+--
+How To Keep A Healthy Level Of Insanity:
+7. Finish all your sentences with "in accordance with the prophecy".
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/gvim/vim-7.2/7.2.199 b/gvim/vim-7.2/7.2.199
new file mode 100644
index 0000000..391ede6
--- /dev/null
+++ b/gvim/vim-7.2/7.2.199
@@ -0,0 +1,52 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.199
+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.199
+Problem: Strange character in comment.
+Solution: Change to "message". (Yongwei Wu)
+Files: src/term.c
+
+
+*** ../vim-7.2.198/src/term.c 2009-05-17 13:30:58.000000000 +0200
+--- src/term.c 2009-06-16 11:16:17.000000000 +0200
+***************
+*** 5555,5561 ****
+ * respects the current B/k/< settings of 'cpoption'.
+ *
+ * This function is called when expanding mappings/abbreviations on the
+! * command-line, and for building the "Ambiguous mapping..." error messæge.
+ *
+ * It uses a growarray to build the translation string since the
+ * latter can be wider than the original description. The caller has to
+--- 5555,5561 ----
+ * respects the current B/k/< settings of 'cpoption'.
+ *
+ * This function is called when expanding mappings/abbreviations on the
+! * command-line, and for building the "Ambiguous mapping..." error message.
+ *
+ * It uses a growarray to build the translation string since the
+ * latter can be wider than the original description. The caller has to
+*** ../vim-7.2.198/src/version.c 2009-06-16 11:08:13.000000000 +0200
+--- src/version.c 2009-06-16 14:31:03.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 199,
+ /**/
+
+--
+How To Keep A Healthy Level Of Insanity:
+10. Ask people what sex they are. Laugh hysterically after they answer.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/gvim/vim-7.2/7.2.200 b/gvim/vim-7.2/7.2.200
new file mode 100644
index 0000000..65cc598
--- /dev/null
+++ b/gvim/vim-7.2/7.2.200
@@ -0,0 +1,348 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.200
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.200
+Problem: Reading past end of string when navigating the menu bar or
+ resizing the window.
+Solution: Add and use mb_ptr2len_len(). (partly by Dominique Pelle)
+ Also add mb_ptr2cells_len() to prevent more trouble.
+Files: src/gui_gtk_x11.c, src/os_unix.c, src/globals.h, src/mbyte.c,
+ src/proto/mbyte.pro
+
+
+*** ../vim-7.2.199/src/gui_gtk_x11.c 2009-06-03 16:20:09.000000000 +0200
+--- src/gui_gtk_x11.c 2009-06-16 14:44:19.000000000 +0200
+***************
+*** 6077,6088 ****
+ # ifdef FEAT_MBYTE
+ if (enc_utf8)
+ {
+! c = utf_ptr2char(p);
+ if (c >= 0x10000) /* show chars > 0xffff as ? */
+ c = 0xbf;
+ buf[textlen].byte1 = c >> 8;
+ buf[textlen].byte2 = c;
+! p += utf_ptr2len(p);
+ width += utf_char2cells(c);
+ }
+ else
+--- 6135,6149 ----
+ # ifdef FEAT_MBYTE
+ if (enc_utf8)
+ {
+! int pcc[MAX_MCO];
+!
+! /* TODO: use the composing characters */
+! c = utfc_ptr2char_len(p, &pcc, len - (p - s));
+ if (c >= 0x10000) /* show chars > 0xffff as ? */
+ c = 0xbf;
+ buf[textlen].byte1 = c >> 8;
+ buf[textlen].byte2 = c;
+! p += utfc_ptr2len_len(p, len - (p - s));
+ width += utf_char2cells(c);
+ }
+ else
+***************
+*** 6106,6113 ****
+ if (has_mbyte)
+ {
+ width = 0;
+! for (p = s; p < s + len; p += (*mb_ptr2len)(p))
+! width += (*mb_ptr2cells)(p);
+ }
+ else
+ # endif
+--- 6167,6174 ----
+ if (has_mbyte)
+ {
+ width = 0;
+! for (p = s; p < s + len; p += (*mb_ptr2len_len)(p, len - (p - s)))
+! width += (*mb_ptr2cells_len)(p, len - (p - s));
+ }
+ else
+ # endif
+*** ../vim-7.2.199/src/os_unix.c 2009-05-17 13:30:58.000000000 +0200
+--- src/os_unix.c 2009-06-03 12:35:59.000000000 +0200
+***************
+*** 4305,4311 ****
+ ta_buf[i] = '\n';
+ # ifdef FEAT_MBYTE
+ if (has_mbyte)
+! i += (*mb_ptr2len)(ta_buf + i) - 1;
+ # endif
+ }
+
+--- 4305,4312 ----
+ ta_buf[i] = '\n';
+ # ifdef FEAT_MBYTE
+ if (has_mbyte)
+! i += (*mb_ptr2len_len)(ta_buf + i,
+! ta_len + len - i) - 1;
+ # endif
+ }
+
+*** ../vim-7.2.199/src/globals.h 2009-06-10 18:15:49.000000000 +0200
+--- src/globals.h 2009-06-12 21:10:30.000000000 +0200
+***************
+*** 810,820 ****
+--- 815,828 ----
+ */
+ /* length of char in bytes, including following composing chars */
+ EXTERN int (*mb_ptr2len) __ARGS((char_u *p)) INIT(= latin_ptr2len);
++ /* idem, with limit on string length */
++ EXTERN int (*mb_ptr2len_len) __ARGS((char_u *p, int size)) INIT(= latin_ptr2len_len);
+ /* byte length of char */
+ EXTERN int (*mb_char2len) __ARGS((int c)) INIT(= latin_char2len);
+ /* convert char to bytes, return the length */
+ EXTERN int (*mb_char2bytes) __ARGS((int c, char_u *buf)) INIT(= latin_char2bytes);
+ EXTERN int (*mb_ptr2cells) __ARGS((char_u *p)) INIT(= latin_ptr2cells);
++ EXTERN int (*mb_ptr2cells_len) __ARGS((char_u *p, int size)) INIT(= latin_ptr2cells_len);
+ EXTERN int (*mb_char2cells) __ARGS((int c)) INIT(= latin_char2cells);
+ EXTERN int (*mb_off2cells) __ARGS((unsigned off, unsigned max_off)) INIT(= latin_off2cells);
+ EXTERN int (*mb_ptr2char) __ARGS((char_u *p)) INIT(= latin_ptr2char);
+*** ../vim-7.2.199/src/mbyte.c 2009-05-17 13:30:58.000000000 +0200
+--- src/mbyte.c 2009-06-16 15:01:30.000000000 +0200
+***************
+*** 127,133 ****
+--- 127,136 ----
+ static int dbcs_char2len __ARGS((int c));
+ static int dbcs_char2bytes __ARGS((int c, char_u *buf));
+ static int dbcs_ptr2len __ARGS((char_u *p));
++ static int dbcs_ptr2len_len __ARGS((char_u *p, int size));
++ static int utf_ptr2cells_len __ARGS((char_u *p, int size));
+ static int dbcs_char2cells __ARGS((int c));
++ static int dbcs_ptr2cells_len __ARGS((char_u *p, int size));
+ static int dbcs_ptr2char __ARGS((char_u *p));
+
+ /* Lookup table to quickly get the length in bytes of a UTF-8 character from
+***************
+*** 606,614 ****
+--- 609,619 ----
+ if (enc_utf8)
+ {
+ mb_ptr2len = utfc_ptr2len;
++ mb_ptr2len_len = utfc_ptr2len_len;
+ mb_char2len = utf_char2len;
+ mb_char2bytes = utf_char2bytes;
+ mb_ptr2cells = utf_ptr2cells;
++ mb_ptr2cells_len = utf_ptr2cells_len;
+ mb_char2cells = utf_char2cells;
+ mb_off2cells = utf_off2cells;
+ mb_ptr2char = utf_ptr2char;
+***************
+*** 617,625 ****
+--- 622,632 ----
+ else if (enc_dbcs != 0)
+ {
+ mb_ptr2len = dbcs_ptr2len;
++ mb_ptr2len_len = dbcs_ptr2len_len;
+ mb_char2len = dbcs_char2len;
+ mb_char2bytes = dbcs_char2bytes;
+ mb_ptr2cells = dbcs_ptr2cells;
++ mb_ptr2cells_len = dbcs_ptr2cells_len;
+ mb_char2cells = dbcs_char2cells;
+ mb_off2cells = dbcs_off2cells;
+ mb_ptr2char = dbcs_ptr2char;
+***************
+*** 628,636 ****
+--- 635,645 ----
+ else
+ {
+ mb_ptr2len = latin_ptr2len;
++ mb_ptr2len_len = latin_ptr2len_len;
+ mb_char2len = latin_char2len;
+ mb_char2bytes = latin_char2bytes;
+ mb_ptr2cells = latin_ptr2cells;
++ mb_ptr2cells_len = latin_ptr2cells_len;
+ mb_char2cells = latin_char2cells;
+ mb_off2cells = latin_off2cells;
+ mb_ptr2char = latin_ptr2char;
+***************
+*** 1069,1075 ****
+ * Get byte length of character at "*p" but stop at a NUL.
+ * For UTF-8 this includes following composing characters.
+ * Returns 0 when *p is NUL.
+- *
+ */
+ int
+ latin_ptr2len(p)
+--- 1078,1083 ----
+***************
+*** 1091,1096 ****
+--- 1099,1138 ----
+ return len;
+ }
+
++ /*
++ * mb_ptr2len_len() function pointer.
++ * Like mb_ptr2len(), but limit to read "size" bytes.
++ * Returns 0 for an empty string.
++ * Returns 1 for an illegal char or an incomplete byte sequence.
++ */
++ int
++ latin_ptr2len_len(p, size)
++ char_u *p;
++ int size;
++ {
++ if (size < 1 || *p == NUL)
++ return 0;
++ return 1;
++ }
++
++ static int
++ dbcs_ptr2len_len(p, size)
++ char_u *p;
++ int size;
++ {
++ int len;
++
++ if (size < 1 || *p == NUL)
++ return 0;
++ if (size == 1)
++ return 1;
++ /* Check that second byte is not missing. */
++ len = MB_BYTE2LEN(*p);
++ if (len == 2 && p[1] == NUL)
++ len = 1;
++ return len;
++ }
++
+ struct interval
+ {
+ unsigned short first;
+***************
+*** 1287,1292 ****
+--- 1329,1383 ----
+ }
+
+ /*
++ * mb_ptr2cells_len() function pointer.
++ * Like mb_ptr2cells(), but limit string length to "size".
++ * For an empty string or truncated character returns 1.
++ */
++ int
++ latin_ptr2cells_len(p, size)
++ char_u *p UNUSED;
++ int size UNUSED;
++ {
++ return 1;
++ }
++
++ static int
++ utf_ptr2cells_len(p, size)
++ char_u *p;
++ int size;
++ {
++ int c;
++
++ /* Need to convert to a wide character. */
++ if (size > 0 && *p >= 0x80)
++ {
++ if (utf_ptr2len_len(p, size) < utf8len_tab[*p])
++ return 1;
++ c = utf_ptr2char(p);
++ /* An illegal byte is displayed as <xx>. */
++ if (utf_ptr2len(p) == 1 || c == NUL)
++ return 4;
++ /* If the char is ASCII it must be an overlong sequence. */
++ if (c < 0x80)
++ return char2cells(c);
++ return utf_char2cells(c);
++ }
++ return 1;
++ }
++
++ static int
++ dbcs_ptr2cells_len(p, size)
++ char_u *p;
++ int size;
++ {
++ /* Number of cells is equal to number of bytes, except for euc-jp when
++ * the first byte is 0x8e. */
++ if (size <= 1 || (enc_dbcs == DBCS_JPNU && *p == 0x8e))
++ return 1;
++ return MB_BYTE2LEN(*p);
++ }
++
++ /*
+ * mb_char2cells() function pointer.
+ * Return the number of display cells character "c" occupies.
+ * Only takes care of multi-byte chars, not "^C" and such.
+***************
+*** 1716,1721 ****
+--- 1807,1813 ----
+ /*
+ * Return the number of bytes the UTF-8 encoding of the character at "p[size]"
+ * takes. This includes following composing characters.
++ * Returns 0 for an empty string.
+ * Returns 1 for an illegal char or an incomplete byte sequence.
+ */
+ int
+***************
+*** 1728,1734 ****
+ int prevlen;
+ #endif
+
+! if (*p == NUL)
+ return 0;
+ if (p[0] < 0x80 && (size == 1 || p[1] < 0x80)) /* be quick for ASCII */
+ return 1;
+--- 1820,1826 ----
+ int prevlen;
+ #endif
+
+! if (size < 1 || *p == NUL)
+ return 0;
+ if (p[0] < 0x80 && (size == 1 || p[1] < 0x80)) /* be quick for ASCII */
+ return 1;
+*** ../vim-7.2.199/src/proto/mbyte.pro 2008-07-13 19:34:19.000000000 +0200
+--- src/proto/mbyte.pro 2009-06-16 14:58:39.000000000 +0200
+***************
+*** 7,16 ****
+--- 7,18 ----
+ int latin_char2len __ARGS((int c));
+ int latin_char2bytes __ARGS((int c, char_u *buf));
+ int latin_ptr2len __ARGS((char_u *p));
++ int latin_ptr2len_len __ARGS((char_u *p, int size));
+ int utf_char2cells __ARGS((int c));
+ int latin_ptr2cells __ARGS((char_u *p));
+ int utf_ptr2cells __ARGS((char_u *p));
+ int dbcs_ptr2cells __ARGS((char_u *p));
++ int latin_ptr2cells_len __ARGS((char_u *p, int size));
+ int latin_char2cells __ARGS((int c));
+ int latin_off2cells __ARGS((unsigned off, unsigned max_off));
+ int dbcs_off2cells __ARGS((unsigned off, unsigned max_off));
+***************
+*** 85,90 ****
+--- 87,93 ----
+ int preedit_get_status __ARGS((void));
+ int im_is_preediting __ARGS((void));
+ int convert_setup __ARGS((vimconv_T *vcp, char_u *from, char_u *to));
++ int convert_setup_ext __ARGS((vimconv_T *vcp, char_u *from, int from_unicode_is_utf8, char_u *to, int to_unicode_is_utf8));
+ int convert_input __ARGS((char_u *ptr, int len, int maxlen));
+ int convert_input_safe __ARGS((char_u *ptr, int len, int maxlen, char_u **restp, int *restlenp));
+ char_u *string_convert __ARGS((vimconv_T *vcp, char_u *ptr, int *lenp));
+*** ../vim-7.2.199/src/version.c 2009-06-16 14:31:56.000000000 +0200
+--- src/version.c 2009-06-16 14:37:38.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 200,
+ /**/
+
+--
+How To Keep A Healthy Level Of Insanity:
+12. Sing along at the opera.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/gvim/vim-7.2/7.2.201 b/gvim/vim-7.2/7.2.201
new file mode 100644
index 0000000..cd2df07
--- /dev/null
+++ b/gvim/vim-7.2/7.2.201
@@ -0,0 +1,494 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.201
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.201
+Problem: Cannot copy/paste HTML to/from Firefox via the clipboard.
+Solution: Implement this for GTK. Add the "html" value to 'clipboard'.
+Files: runtime/doc/options.txt, src/globals.h, src/gui_gtk_x11.c,
+ src/mbyte.c, src/proto/mbyte.pro, src/option.c
+
+
+*** ../vim-7.2.200/runtime/doc/options.txt 2009-02-21 20:27:00.000000000 +0100
+--- runtime/doc/options.txt 2009-06-12 22:25:22.000000000 +0200
+***************
+*** 1443,1448 ****
+--- 1444,1457 ----
+ autoselectml Like "autoselect", but for the modeless selection
+ only. Compare to the 'A' flag in 'guioptions'.
+
++ html When the clipboard contains HTML, use this when
++ pasting. When putting text on the clipboard, mark it
++ as HTML. This works to copy rendered HTML from
++ Firefox, paste it as raw HTML in Vim, select the HTML
++ in Vim and paste it in a rich edit box in Firefox.
++ Only supported for GTK version 2 and later.
++ Only available with the |+multi_byte| feature.
++
+ exclude:{pattern}
+ Defines a pattern that is matched against the name of
+ the terminal 'term'. If there is a match, no
+*** ../vim-7.2.200/src/globals.h 2009-06-16 15:12:11.000000000 +0200
+--- src/globals.h 2009-06-12 21:10:30.000000000 +0200
+***************
+*** 509,514 ****
+--- 509,515 ----
+ EXTERN int clip_unnamed INIT(= FALSE);
+ EXTERN int clip_autoselect INIT(= FALSE);
+ EXTERN int clip_autoselectml INIT(= FALSE);
++ EXTERN int clip_html INIT(= FALSE);
+ EXTERN regprog_T *clip_exclude_prog INIT(= NULL);
+ #endif
+
+*** ../vim-7.2.200/src/gui_gtk_x11.c 2009-06-16 15:12:11.000000000 +0200
+--- src/gui_gtk_x11.c 2009-06-16 14:44:19.000000000 +0200
+***************
+*** 107,112 ****
+--- 107,113 ----
+ TARGET_UTF8_STRING,
+ TARGET_STRING,
+ TARGET_COMPOUND_TEXT,
++ TARGET_HTML,
+ TARGET_TEXT,
+ TARGET_TEXT_URI_LIST,
+ TARGET_TEXT_PLAIN,
+***************
+*** 123,128 ****
+--- 124,130 ----
+ {VIMENC_ATOM_NAME, 0, TARGET_VIMENC},
+ {VIM_ATOM_NAME, 0, TARGET_VIM},
+ #ifdef FEAT_MBYTE
++ {"text/html", 0, TARGET_HTML},
+ {"UTF8_STRING", 0, TARGET_UTF8_STRING},
+ #endif
+ {"COMPOUND_TEXT", 0, TARGET_COMPOUND_TEXT},
+***************
+*** 140,145 ****
+--- 142,148 ----
+ {
+ {"text/uri-list", 0, TARGET_TEXT_URI_LIST},
+ # ifdef FEAT_MBYTE
++ {"text/html", 0, TARGET_HTML},
+ {"UTF8_STRING", 0, TARGET_UTF8_STRING},
+ # endif
+ {"STRING", 0, TARGET_STRING},
+***************
+*** 178,183 ****
+--- 181,187 ----
+ * Atoms used to control/reference X11 selections.
+ */
+ #ifdef FEAT_MBYTE
++ static GdkAtom html_atom = GDK_NONE;
+ static GdkAtom utf8_string_atom = GDK_NONE;
+ #endif
+ #ifndef HAVE_GTK2
+***************
+*** 1364,1369 ****
+--- 1368,1391 ----
+ else
+ text = tmpbuf_utf8;
+ }
++ else if (len >= 2 && text[0] == 0xff && text[1] == 0xfe)
++ {
++ vimconv_T conv;
++
++ /* UTF-16, we get this for HTML */
++ conv.vc_type = CONV_NONE;
++ convert_setup_ext(&conv, (char_u *)"utf-16le", FALSE, p_enc, TRUE);
++
++ if (conv.vc_type != CONV_NONE)
++ {
++ text += 2;
++ len -= 2;
++ tmpbuf = string_convert(&conv, text, &len);
++ convert_setup(&conv, NULL, NULL);
++ }
++ if (tmpbuf != NULL)
++ text = tmpbuf;
++ }
+ }
+ #else /* !HAVE_GTK2 */
+ # ifdef FEAT_MBYTE
+***************
+*** 1451,1456 ****
+--- 1473,1479 ----
+
+ if (info != (guint)TARGET_STRING
+ #ifdef FEAT_MBYTE
++ && (!clip_html || info != (guint)TARGET_HTML)
+ && info != (guint)TARGET_UTF8_STRING
+ && info != (guint)TARGET_VIMENC
+ #endif
+***************
+*** 1486,1491 ****
+--- 1509,1548 ----
+ }
+
+ #ifdef FEAT_MBYTE
++ else if (info == (guint)TARGET_HTML)
++ {
++ vimconv_T conv;
++
++ /* Since we get utf-16, we probably should set it as well. */
++ conv.vc_type = CONV_NONE;
++ convert_setup_ext(&conv, p_enc, TRUE, (char_u *)"utf-16le", FALSE);
++ if (conv.vc_type != CONV_NONE)
++ {
++ tmpbuf = string_convert(&conv, string, &length);
++ convert_setup(&conv, NULL, NULL);
++ vim_free(string);
++ string = tmpbuf;
++ }
++
++ /* Prepend the BOM: "fffe" */
++ if (string != NULL)
++ {
++ tmpbuf = alloc(length + 2);
++ tmpbuf[0] = 0xff;
++ tmpbuf[1] = 0xfe;
++ mch_memmove(tmpbuf + 2, string, (size_t)length);
++ vim_free(string);
++ string = tmpbuf;
++ length += 2;
++
++ selection_data->type = selection_data->target;
++ selection_data->format = 16; /* 16 bits per char */
++ gtk_selection_data_set(selection_data, html_atom, 16,
++ string, length);
++ vim_free(string);
++ }
++ return;
++ }
+ else if (info == (guint)TARGET_VIMENC)
+ {
+ int l = STRLEN(p_enc);
+***************
+*** 3464,3469 ****
+--- 3521,3527 ----
+
+ /* Initialise atoms */
+ #ifdef FEAT_MBYTE
++ html_atom = gdk_atom_intern("text/html", FALSE);
+ utf8_string_atom = gdk_atom_intern("UTF8_STRING", FALSE);
+ #endif
+ #ifndef HAVE_GTK2
+***************
+*** 6665,6670 ****
+--- 6723,6732 ----
+
+ for (i = 0; i < N_SELECTION_TARGETS; ++i)
+ {
++ #ifdef FEAT_MBYTE
++ if (!clip_html && selection_targets[i].info == TARGET_HTML)
++ continue;
++ #endif
+ received_selection = RS_NONE;
+ target = gdk_atom_intern(selection_targets[i].target, FALSE);
+
+*** ../vim-7.2.200/src/mbyte.c 2009-06-16 15:12:11.000000000 +0200
+--- src/mbyte.c 2009-06-16 15:01:30.000000000 +0200
+***************
+*** 3265,3271 ****
+
+ # if defined(USE_ICONV) || defined(PROTO)
+
+! static char_u *iconv_string __ARGS((vimconv_T *vcp, char_u *str, int slen, int *unconvlenp));
+
+ /*
+ * Call iconv_open() with a check if iconv() works properly (there are broken
+--- 3265,3271 ----
+
+ # if defined(USE_ICONV) || defined(PROTO)
+
+! static char_u *iconv_string __ARGS((vimconv_T *vcp, char_u *str, int slen, int *unconvlenp, int *resultlenp));
+
+ /*
+ * Call iconv_open() with a check if iconv() works properly (there are broken
+***************
+*** 3326,3338 ****
+ * If "unconvlenp" is not NULL handle the string ending in an incomplete
+ * sequence and set "*unconvlenp" to the length of it.
+ * Returns the converted string in allocated memory. NULL for an error.
+ */
+ static char_u *
+! iconv_string(vcp, str, slen, unconvlenp)
+ vimconv_T *vcp;
+ char_u *str;
+ int slen;
+ int *unconvlenp;
+ {
+ const char *from;
+ size_t fromlen;
+--- 3326,3340 ----
+ * If "unconvlenp" is not NULL handle the string ending in an incomplete
+ * sequence and set "*unconvlenp" to the length of it.
+ * Returns the converted string in allocated memory. NULL for an error.
++ * If resultlenp is not NULL, sets it to the result length in bytes.
+ */
+ static char_u *
+! iconv_string(vcp, str, slen, unconvlenp, resultlenp)
+ vimconv_T *vcp;
+ char_u *str;
+ int slen;
+ int *unconvlenp;
++ int *resultlenp;
+ {
+ const char *from;
+ size_t fromlen;
+***************
+*** 3418,3423 ****
+--- 3420,3428 ----
+ /* Not enough room or skipping illegal sequence. */
+ done = to - (char *)result;
+ }
++
++ if (resultlenp != NULL)
++ *resultlenp = (int)(to - (char *)result);
+ return result;
+ }
+
+***************
+*** 5837,5844 ****
+--- 5842,5866 ----
+ char_u *from;
+ char_u *to;
+ {
++ return convert_setup_ext(vcp, from, TRUE, to, TRUE);
++ }
++
++ /*
++ * As convert_setup(), but only when from_unicode_is_utf8 is TRUE will all
++ * "from" unicode charsets be considered utf-8. Same for "to".
++ */
++ int
++ convert_setup_ext(vcp, from, from_unicode_is_utf8, to, to_unicode_is_utf8)
++ vimconv_T *vcp;
++ char_u *from;
++ int from_unicode_is_utf8;
++ char_u *to;
++ int to_unicode_is_utf8;
++ {
+ int from_prop;
+ int to_prop;
++ int from_is_utf8;
++ int to_is_utf8;
+
+ /* Reset to no conversion. */
+ # ifdef USE_ICONV
+***************
+*** 5856,5892 ****
+
+ from_prop = enc_canon_props(from);
+ to_prop = enc_canon_props(to);
+! if ((from_prop & ENC_LATIN1) && (to_prop & ENC_UNICODE))
+ {
+ /* Internal latin1 -> utf-8 conversion. */
+ vcp->vc_type = CONV_TO_UTF8;
+ vcp->vc_factor = 2; /* up to twice as long */
+ }
+! else if ((from_prop & ENC_LATIN9) && (to_prop & ENC_UNICODE))
+ {
+ /* Internal latin9 -> utf-8 conversion. */
+ vcp->vc_type = CONV_9_TO_UTF8;
+ vcp->vc_factor = 3; /* up to three as long (euro sign) */
+ }
+! else if ((from_prop & ENC_UNICODE) && (to_prop & ENC_LATIN1))
+ {
+ /* Internal utf-8 -> latin1 conversion. */
+ vcp->vc_type = CONV_TO_LATIN1;
+ }
+! else if ((from_prop & ENC_UNICODE) && (to_prop & ENC_LATIN9))
+ {
+ /* Internal utf-8 -> latin9 conversion. */
+ vcp->vc_type = CONV_TO_LATIN9;
+ }
+ #ifdef WIN3264
+ /* Win32-specific codepage <-> codepage conversion without iconv. */
+! else if (((from_prop & ENC_UNICODE) || encname2codepage(from) > 0)
+! && ((to_prop & ENC_UNICODE) || encname2codepage(to) > 0))
+ {
+ vcp->vc_type = CONV_CODEPAGE;
+ vcp->vc_factor = 2; /* up to twice as long */
+! vcp->vc_cpfrom = (from_prop & ENC_UNICODE) ? 0 : encname2codepage(from);
+! vcp->vc_cpto = (to_prop & ENC_UNICODE) ? 0 : encname2codepage(to);
+ }
+ #endif
+ #ifdef MACOS_X
+--- 5878,5923 ----
+
+ from_prop = enc_canon_props(from);
+ to_prop = enc_canon_props(to);
+! if (from_unicode_is_utf8)
+! from_is_utf8 = from_prop & ENC_UNICODE;
+! else
+! from_is_utf8 = from_prop == ENC_UNICODE;
+! if (to_unicode_is_utf8)
+! to_is_utf8 = to_prop & ENC_UNICODE;
+! else
+! to_is_utf8 = to_prop == ENC_UNICODE;
+!
+! if ((from_prop & ENC_LATIN1) && to_is_utf8)
+ {
+ /* Internal latin1 -> utf-8 conversion. */
+ vcp->vc_type = CONV_TO_UTF8;
+ vcp->vc_factor = 2; /* up to twice as long */
+ }
+! else if ((from_prop & ENC_LATIN9) && to_is_utf8)
+ {
+ /* Internal latin9 -> utf-8 conversion. */
+ vcp->vc_type = CONV_9_TO_UTF8;
+ vcp->vc_factor = 3; /* up to three as long (euro sign) */
+ }
+! else if (from_is_utf8 && (to_prop & ENC_LATIN1))
+ {
+ /* Internal utf-8 -> latin1 conversion. */
+ vcp->vc_type = CONV_TO_LATIN1;
+ }
+! else if (from_is_utf8 && (to_prop & ENC_LATIN9))
+ {
+ /* Internal utf-8 -> latin9 conversion. */
+ vcp->vc_type = CONV_TO_LATIN9;
+ }
+ #ifdef WIN3264
+ /* Win32-specific codepage <-> codepage conversion without iconv. */
+! else if ((from_is_utf8 || encname2codepage(from) > 0)
+! && (to_is_utf8 || encname2codepage(to) > 0))
+ {
+ vcp->vc_type = CONV_CODEPAGE;
+ vcp->vc_factor = 2; /* up to twice as long */
+! vcp->vc_cpfrom = from_is_utf8 ? 0 : encname2codepage(from);
+! vcp->vc_cpto = to_is_utf8 ? 0 : encname2codepage(to);
+ }
+ #endif
+ #ifdef MACOS_X
+***************
+*** 5894,5900 ****
+ {
+ vcp->vc_type = CONV_MAC_LATIN1;
+ }
+! else if ((from_prop & ENC_MACROMAN) && (to_prop & ENC_UNICODE))
+ {
+ vcp->vc_type = CONV_MAC_UTF8;
+ vcp->vc_factor = 2; /* up to twice as long */
+--- 5925,5931 ----
+ {
+ vcp->vc_type = CONV_MAC_LATIN1;
+ }
+! else if ((from_prop & ENC_MACROMAN) && to_is_utf8)
+ {
+ vcp->vc_type = CONV_MAC_UTF8;
+ vcp->vc_factor = 2; /* up to twice as long */
+***************
+*** 5903,5909 ****
+ {
+ vcp->vc_type = CONV_LATIN1_MAC;
+ }
+! else if ((from_prop & ENC_UNICODE) && (to_prop & ENC_MACROMAN))
+ {
+ vcp->vc_type = CONV_UTF8_MAC;
+ }
+--- 5934,5940 ----
+ {
+ vcp->vc_type = CONV_LATIN1_MAC;
+ }
+! else if (from_is_utf8 && (to_prop & ENC_MACROMAN))
+ {
+ vcp->vc_type = CONV_UTF8_MAC;
+ }
+***************
+*** 5913,5920 ****
+ {
+ /* Use iconv() for conversion. */
+ vcp->vc_fd = (iconv_t)my_iconv_open(
+! (to_prop & ENC_UNICODE) ? (char_u *)"utf-8" : to,
+! (from_prop & ENC_UNICODE) ? (char_u *)"utf-8" : from);
+ if (vcp->vc_fd != (iconv_t)-1)
+ {
+ vcp->vc_type = CONV_ICONV;
+--- 5944,5951 ----
+ {
+ /* Use iconv() for conversion. */
+ vcp->vc_fd = (iconv_t)my_iconv_open(
+! to_is_utf8 ? (char_u *)"utf-8" : to,
+! from_is_utf8 ? (char_u *)"utf-8" : from);
+ if (vcp->vc_fd != (iconv_t)-1)
+ {
+ vcp->vc_type = CONV_ICONV;
+***************
+*** 6170,6178 ****
+
+ # ifdef USE_ICONV
+ case CONV_ICONV: /* conversion with output_conv.vc_fd */
+! retval = iconv_string(vcp, ptr, len, unconvlenp);
+! if (retval != NULL && lenp != NULL)
+! *lenp = (int)STRLEN(retval);
+ break;
+ # endif
+ # ifdef WIN3264
+--- 6201,6207 ----
+
+ # ifdef USE_ICONV
+ case CONV_ICONV: /* conversion with output_conv.vc_fd */
+! retval = iconv_string(vcp, ptr, len, unconvlenp, lenp);
+ break;
+ # endif
+ # ifdef WIN3264
+*** ../vim-7.2.200/src/option.c 2009-05-17 13:30:58.000000000 +0200
+--- src/option.c 2009-06-12 21:09:51.000000000 +0200
+***************
+*** 7024,7029 ****
+--- 7024,7030 ----
+ int new_unnamed = FALSE;
+ int new_autoselect = FALSE;
+ int new_autoselectml = FALSE;
++ int new_html = FALSE;
+ regprog_T *new_exclude_prog = NULL;
+ char_u *errmsg = NULL;
+ char_u *p;
+***************
+*** 7047,7052 ****
+--- 7048,7058 ----
+ new_autoselectml = TRUE;
+ p += 12;
+ }
++ else if (STRNCMP(p, "html", 4) == 0 && (p[4] == ',' || p[4] == NUL))
++ {
++ new_html = TRUE;
++ p += 4;
++ }
+ else if (STRNCMP(p, "exclude:", 8) == 0 && new_exclude_prog == NULL)
+ {
+ p += 8;
+***************
+*** 7068,7073 ****
+--- 7074,7080 ----
+ clip_unnamed = new_unnamed;
+ clip_autoselect = new_autoselect;
+ clip_autoselectml = new_autoselectml;
++ clip_html = new_html;
+ vim_free(clip_exclude_prog);
+ clip_exclude_prog = new_exclude_prog;
+ }
+*** ../vim-7.2.200/src/version.c 2009-06-16 15:12:11.000000000 +0200
+--- src/version.c 2009-06-16 15:14:02.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 201,
+ /**/
+
+--
+How To Keep A Healthy Level Of Insanity:
+13. Go to a poetry recital and ask why the poems don't rhyme.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/gvim/vim-7.2/7.2.202 b/gvim/vim-7.2/7.2.202
new file mode 100644
index 0000000..2c24909
--- /dev/null
+++ b/gvim/vim-7.2/7.2.202
@@ -0,0 +1,62 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.202
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.202
+Problem: BufWipeout autocommand that edits another buffer causes problems.
+Solution: Check for the situation, give an error and quit the operation.
+Files: src/fileio.c
+
+
+*** ../vim-7.2.201/src/fileio.c 2009-05-16 17:29:37.000000000 +0200
+--- src/fileio.c 2009-06-11 21:22:37.000000000 +0200
+***************
+*** 4824,4829 ****
+--- 4824,4831 ----
+ char_u *sfname;
+ {
+ #ifdef FEAT_AUTOCMD
++ buf_T *buf = curbuf;
++
+ /* It's like the unnamed buffer is deleted.... */
+ if (curbuf->b_p_bl)
+ apply_autocmds(EVENT_BUFDELETE, NULL, NULL, FALSE, curbuf);
+***************
+*** 4832,4837 ****
+--- 4834,4845 ----
+ if (aborting()) /* autocmds may abort script processing */
+ return FAIL;
+ # endif
++ if (curbuf != buf)
++ {
++ /* We are in another buffer now, don't do the renaming. */
++ EMSG(_(e_auchangedbuf));
++ return FAIL;
++ }
+ #endif
+
+ if (setfname(curbuf, fname, sfname, FALSE) == OK)
+*** ../vim-7.2.201/src/version.c 2009-06-16 15:23:07.000000000 +0200
+--- src/version.c 2009-06-16 15:28:31.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 202,
+ /**/
+
+--
+How To Keep A Healthy Level Of Insanity:
+14. Put mosquito netting around your work area. Play a tape of jungle
+ sounds all day.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/gvim/vim-7.2/7.2.203 b/gvim/vim-7.2/7.2.203
new file mode 100644
index 0000000..c132248
--- /dev/null
+++ b/gvim/vim-7.2/7.2.203
@@ -0,0 +1,1496 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.203
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.203
+Problem: When reloading a buffer or doing anything else with a buffer that
+ is not displayed in a visible window, autocommands may be applied
+ to the current window, folds messed up, etc.
+Solution: Instead of using the current window for the hidden buffer use a
+ special window, splitting the current one temporarily.
+Files: src/fileio.c, src/globals.h, src/gui.c, src/if_perl.xs,
+ src/proto/gui.pro, src/proto/window.pro, src/screen.c,
+ src/structs.h, src/window.c
+
+
+*** ../vim-7.2.202/src/fileio.c 2009-06-16 15:35:46.000000000 +0200
+--- src/fileio.c 2009-06-11 21:22:37.000000000 +0200
+***************
+*** 8365,8371 ****
+
+ /* Execute the modeline settings, but don't set window-local
+ * options if we are using the current window for another buffer. */
+! do_modelines(aco.save_curwin == NULL ? OPT_NOWIN : 0);
+
+ /* restore the current window */
+ aucmd_restbuf(&aco);
+--- 8365,8371 ----
+
+ /* Execute the modeline settings, but don't set window-local
+ * options if we are using the current window for another buffer. */
+! do_modelines(curwin == aucmd_win ? OPT_NOWIN : 0);
+
+ /* restore the current window */
+ aucmd_restbuf(&aco);
+***************
+*** 8381,8388 ****
+
+ /*
+ * Prepare for executing autocommands for (hidden) buffer "buf".
+! * Search a window for the current buffer. Save the cursor position and
+! * screen offset.
+ * Set "curbuf" and "curwin" to match "buf".
+ * When FEAT_AUTOCMD is not defined another version is used, see below.
+ */
+--- 8381,8388 ----
+
+ /*
+ * Prepare for executing autocommands for (hidden) buffer "buf".
+! * Search for a visible window containing the current buffer. If there isn't
+! * one then use "aucmd_win".
+ * Set "curbuf" and "curwin" to match "buf".
+ * When FEAT_AUTOCMD is not defined another version is used, see below.
+ */
+***************
+*** 8392,8399 ****
+ buf_T *buf; /* new curbuf */
+ {
+ win_T *win;
+!
+! aco->new_curbuf = buf;
+
+ /* Find a window that is for the new buffer */
+ if (buf == curbuf) /* be quick when buf is curbuf */
+--- 8392,8400 ----
+ buf_T *buf; /* new curbuf */
+ {
+ win_T *win;
+! #ifdef FEAT_WINDOWS
+! int save_ea;
+! #endif
+
+ /* Find a window that is for the new buffer */
+ if (buf == curbuf) /* be quick when buf is curbuf */
+***************
+*** 8407,8448 ****
+ win = NULL;
+ #endif
+
+! /*
+! * Prefer to use an existing window for the buffer, it has the least side
+! * effects (esp. if "buf" is curbuf).
+! * Otherwise, use curwin for "buf". It might make some items in the
+! * window invalid. At least save the cursor and topline.
+! */
+ if (win != NULL)
+ {
+! /* there is a window for "buf", make it the curwin */
+! aco->save_curwin = curwin;
+ curwin = win;
+- aco->save_buf = win->w_buffer;
+- aco->new_curwin = win;
+ }
+ else
+ {
+! /* there is no window for "buf", use curwin */
+! aco->save_curwin = NULL;
+! aco->save_buf = curbuf;
+! --curbuf->b_nwindows;
+ curwin->w_buffer = buf;
+ ++buf->b_nwindows;
+
+! /* save cursor and topline, set them to safe values */
+! aco->save_cursor = curwin->w_cursor;
+! curwin->w_cursor.lnum = 1;
+! curwin->w_cursor.col = 0;
+! aco->save_topline = curwin->w_topline;
+! curwin->w_topline = 1;
+! #ifdef FEAT_DIFF
+! aco->save_topfill = curwin->w_topfill;
+! curwin->w_topfill = 0;
+ #endif
+ }
+-
+ curbuf = buf;
+ }
+
+ /*
+--- 8408,8460 ----
+ win = NULL;
+ #endif
+
+! /* Allocate "aucmd_win" when needed. If this fails (out of memory) fall
+! * back to using the current window. */
+! if (win == NULL && aucmd_win == NULL)
+! {
+! win_alloc_aucmd_win();
+! if (aucmd_win == NULL)
+! win = curwin;
+! }
+!
+! aco->save_curwin = curwin;
+! aco->save_curbuf = curbuf;
+ if (win != NULL)
+ {
+! /* There is a window for "buf" in the current tab page, make it the
+! * curwin. This is preferred, it has the least side effects (esp. if
+! * "buf" is curbuf). */
+ curwin = win;
+ }
+ else
+ {
+! /* There is no window for "buf", use "aucmd_win". To minimize the side
+! * effects, insert it in a the current tab page.
+! * Anything related to a window (e.g., setting folds) may have
+! * unexpected results. */
+! curwin = aucmd_win;
+ curwin->w_buffer = buf;
+ ++buf->b_nwindows;
+
+! #ifdef FEAT_WINDOWS
+! /* Split the current window, put the aucmd_win in the upper half. */
+! make_snapshot(SNAP_AUCMD_IDX);
+! save_ea = p_ea;
+! p_ea = FALSE;
+! (void)win_split_ins(0, WSP_TOP, aucmd_win, 0);
+! (void)win_comp_pos(); /* recompute window positions */
+! p_ea = save_ea;
+! #endif
+! /* set cursor and topline to safe values */
+! curwin_init();
+! #ifdef FEAT_VERTSPLIT
+! curwin->w_wincol = 0;
+! curwin->w_width = Columns;
+ #endif
+ }
+ curbuf = buf;
++ aco->new_curwin = curwin;
++ aco->new_curbuf = curbuf;
+ }
+
+ /*
+***************
+*** 8454,8474 ****
+ aucmd_restbuf(aco)
+ aco_save_T *aco; /* structure holding saved values */
+ {
+! if (aco->save_curwin != NULL)
+ {
+ /* restore curwin */
+ #ifdef FEAT_WINDOWS
+ if (win_valid(aco->save_curwin))
+ #endif
+ {
+! /* restore the buffer which was previously edited by curwin, if
+! * it's still the same window and it's valid */
+ if (curwin == aco->new_curwin
+! && buf_valid(aco->save_buf)
+! && aco->save_buf->b_ml.ml_mfp != NULL)
+ {
+ --curbuf->b_nwindows;
+! curbuf = aco->save_buf;
+ curwin->w_buffer = curbuf;
+ ++curbuf->b_nwindows;
+ }
+--- 8466,8551 ----
+ aucmd_restbuf(aco)
+ aco_save_T *aco; /* structure holding saved values */
+ {
+! #ifdef FEAT_WINDOWS
+! int dummy;
+! #endif
+!
+! if (aco->new_curwin == aucmd_win)
+! {
+! --curbuf->b_nwindows;
+! #ifdef FEAT_WINDOWS
+! /* Find "aucmd_win", it can't be closed, but it may be in another tab
+! * page. */
+! if (curwin != aucmd_win)
+! {
+! tabpage_T *tp;
+! win_T *wp;
+!
+! FOR_ALL_TAB_WINDOWS(tp, wp)
+! {
+! if (wp == aucmd_win)
+! {
+! if (tp != curtab)
+! goto_tabpage_tp(tp);
+! win_goto(aucmd_win);
+! break;
+! }
+! }
+! }
+!
+! /* Remove the window and frame from the tree of frames. */
+! (void)winframe_remove(curwin, &dummy, NULL);
+! win_remove(curwin, NULL);
+! last_status(FALSE); /* may need to remove last status line */
+! restore_snapshot(SNAP_AUCMD_IDX, FALSE);
+! (void)win_comp_pos(); /* recompute window positions */
+!
+! if (win_valid(aco->save_curwin))
+! curwin = aco->save_curwin;
+! else
+! /* Hmm, original window disappeared. Just use the first one. */
+! curwin = firstwin;
+! # ifdef FEAT_EVAL
+! vars_clear(&aucmd_win->w_vars.dv_hashtab); /* free all w: variables */
+! # endif
+! #else
+! curwin = aco->save_curwin;
+! #endif
+! curbuf = curwin->w_buffer;
+!
+! /* the buffer contents may have changed */
+! check_cursor();
+! if (curwin->w_topline > curbuf->b_ml.ml_line_count)
+! {
+! curwin->w_topline = curbuf->b_ml.ml_line_count;
+! #ifdef FEAT_DIFF
+! curwin->w_topfill = 0;
+! #endif
+! }
+! #if defined(FEAT_GUI)
+! /* Hide the scrollbars from the aucmd_win and update. */
+! gui_mch_enable_scrollbar(&aucmd_win->w_scrollbars[SBAR_LEFT], FALSE);
+! gui_mch_enable_scrollbar(&aucmd_win->w_scrollbars[SBAR_RIGHT], FALSE);
+! gui_may_update_scrollbars();
+! #endif
+! }
+! else
+ {
+ /* restore curwin */
+ #ifdef FEAT_WINDOWS
+ if (win_valid(aco->save_curwin))
+ #endif
+ {
+! /* Restore the buffer which was previously edited by curwin, if
+! * it was chagned, we are still the same window and the buffer is
+! * valid. */
+ if (curwin == aco->new_curwin
+! && curbuf != aco->new_curbuf
+! && buf_valid(aco->new_curbuf)
+! && aco->new_curbuf->b_ml.ml_mfp != NULL)
+ {
+ --curbuf->b_nwindows;
+! curbuf = aco->new_curbuf;
+ curwin->w_buffer = curbuf;
+ ++curbuf->b_nwindows;
+ }
+***************
+*** 8477,8510 ****
+ curbuf = curwin->w_buffer;
+ }
+ }
+- else
+- {
+- /* restore buffer for curwin if it still exists and is loaded */
+- if (buf_valid(aco->save_buf) && aco->save_buf->b_ml.ml_mfp != NULL)
+- {
+- --curbuf->b_nwindows;
+- curbuf = aco->save_buf;
+- curwin->w_buffer = curbuf;
+- ++curbuf->b_nwindows;
+- curwin->w_cursor = aco->save_cursor;
+- check_cursor();
+- /* check topline < line_count, in case lines got deleted */
+- if (aco->save_topline <= curbuf->b_ml.ml_line_count)
+- {
+- curwin->w_topline = aco->save_topline;
+- #ifdef FEAT_DIFF
+- curwin->w_topfill = aco->save_topfill;
+- #endif
+- }
+- else
+- {
+- curwin->w_topline = curbuf->b_ml.ml_line_count;
+- #ifdef FEAT_DIFF
+- curwin->w_topfill = 0;
+- #endif
+- }
+- }
+- }
+ }
+
+ static int autocmd_nested = FALSE;
+--- 8554,8559 ----
+***************
+*** 9419,9427 ****
+ aco_save_T *aco; /* structure to save values in */
+ buf_T *buf; /* new curbuf */
+ {
+! aco->save_buf = curbuf;
+ curbuf = buf;
+ curwin->w_buffer = buf;
+ }
+
+ /*
+--- 9468,9478 ----
+ aco_save_T *aco; /* structure to save values in */
+ buf_T *buf; /* new curbuf */
+ {
+! aco->save_curbuf = curbuf;
+! --curbuf->b_nwindows;
+ curbuf = buf;
+ curwin->w_buffer = buf;
++ ++curbuf->b_nwindows;
+ }
+
+ /*
+***************
+*** 9432,9439 ****
+ aucmd_restbuf(aco)
+ aco_save_T *aco; /* structure holding saved values */
+ {
+! curbuf = aco->save_buf;
+ curwin->w_buffer = curbuf;
+ }
+
+ #endif /* FEAT_AUTOCMD */
+--- 9483,9492 ----
+ aucmd_restbuf(aco)
+ aco_save_T *aco; /* structure holding saved values */
+ {
+! --curbuf->b_nwindows;
+! curbuf = aco->save_curbuf;
+ curwin->w_buffer = curbuf;
++ ++curbuf->b_nwindows;
+ }
+
+ #endif /* FEAT_AUTOCMD */
+*** ../vim-7.2.202/src/globals.h 2009-06-16 15:23:07.000000000 +0200
+--- src/globals.h 2009-06-12 21:10:30.000000000 +0200
+***************
+*** 539,544 ****
+--- 539,548 ----
+
+ EXTERN win_T *curwin; /* currently active window */
+
++ #ifdef FEAT_AUTOCMD
++ EXTERN win_T *aucmd_win; /* window used in aucmd_prepbuf() */
++ #endif
++
+ /*
+ * The window layout is kept in a tree of frames. topframe points to the top
+ * of the tree.
+*** ../vim-7.2.202/src/gui.c 2009-05-21 23:25:38.000000000 +0200
+--- src/gui.c 2009-06-11 20:58:05.000000000 +0200
+***************
+*** 3879,3884 ****
+--- 3879,3899 ----
+ * Scrollbar stuff:
+ */
+
++ /*
++ * Called when something in the window layout has changed.
++ */
++ void
++ gui_may_update_scrollbars()
++ {
++ if (gui.in_use && starting == 0)
++ {
++ out_flush();
++ gui_init_which_components(NULL);
++ gui_update_scrollbars(TRUE);
++ }
++ need_mouse_correct = TRUE;
++ }
++
+ void
+ gui_update_scrollbars(force)
+ int force; /* Force all scrollbars to get updated */
+*** ../vim-7.2.202/src/if_perl.xs 2008-12-03 13:18:16.000000000 +0100
+--- src/if_perl.xs 2009-06-03 17:52:51.000000000 +0200
+***************
+*** 1234,1240 ****
+ {
+ ml_delete(lnum, 0);
+ deleted_lines_mark(lnum, 1L);
+! if (aco.save_buf == curbuf)
+ check_cursor();
+ }
+
+--- 1236,1242 ----
+ {
+ ml_delete(lnum, 0);
+ deleted_lines_mark(lnum, 1L);
+! if (aco.save_curbuf == curbuf)
+ check_cursor();
+ }
+
+*** ../vim-7.2.202/src/proto/gui.pro 2007-05-05 19:42:19.000000000 +0200
+--- src/proto/gui.pro 2009-06-11 20:58:08.000000000 +0200
+***************
+*** 43,48 ****
+--- 43,49 ----
+ void gui_create_scrollbar __ARGS((scrollbar_T *sb, int type, win_T *wp));
+ scrollbar_T *gui_find_scrollbar __ARGS((long ident));
+ void gui_drag_scrollbar __ARGS((scrollbar_T *sb, long value, int still_dragging));
++ void gui_may_update_scrollbars __ARGS((void));
+ void gui_update_scrollbars __ARGS((int force));
+ int gui_do_scroll __ARGS((void));
+ int gui_do_horiz_scroll __ARGS((void));
+*** ../vim-7.2.202/src/proto/window.pro 2007-07-26 22:57:45.000000000 +0200
+--- src/proto/window.pro 2009-06-10 21:20:39.000000000 +0200
+***************
+*** 1,6 ****
+--- 1,7 ----
+ /* window.c */
+ void do_window __ARGS((int nchar, long Prenum, int xchar));
+ int win_split __ARGS((int size, int flags));
++ int win_split_ins __ARGS((int size, int flags, win_T *newwin, int dir));
+ int win_valid __ARGS((win_T *win));
+ int win_count __ARGS((void));
+ int make_windows __ARGS((int count, int vertical));
+***************
+*** 10,18 ****
+--- 11,21 ----
+ void win_close __ARGS((win_T *win, int free_buf));
+ void win_close_othertab __ARGS((win_T *win, int free_buf, tabpage_T *tp));
+ void win_free_all __ARGS((void));
++ win_T *winframe_remove __ARGS((win_T *win, int *dirp, tabpage_T *tp));
+ void close_others __ARGS((int message, int forceit));
+ void curwin_init __ARGS((void));
+ int win_alloc_first __ARGS((void));
++ void win_alloc_aucmd_win __ARGS((void));
+ void win_init_size __ARGS((void));
+ void free_tabpage __ARGS((tabpage_T *tp));
+ int win_new_tabpage __ARGS((int after));
+***************
+*** 30,35 ****
+--- 33,40 ----
+ void win_enter __ARGS((win_T *wp, int undo_sync));
+ win_T *buf_jump_open_win __ARGS((buf_T *buf));
+ win_T *buf_jump_open_tab __ARGS((buf_T *buf));
++ void win_append __ARGS((win_T *after, win_T *wp));
++ void win_remove __ARGS((win_T *wp, tabpage_T *tp));
+ int win_alloc_lines __ARGS((win_T *wp));
+ void win_free_lsize __ARGS((win_T *wp));
+ void shell_new_rows __ARGS((void));
+***************
+*** 58,63 ****
+--- 63,70 ----
+ int min_rows __ARGS((void));
+ int only_one_window __ARGS((void));
+ void check_lnums __ARGS((int do_curwin));
++ void make_snapshot __ARGS((int idx));
++ void restore_snapshot __ARGS((int idx, int close_curwin));
+ int win_hasvertsplit __ARGS((void));
+ int match_add __ARGS((win_T *wp, char_u *grp, char_u *pat, int prio, int id));
+ int match_delete __ARGS((win_T *wp, int id, int perr));
+*** ../vim-7.2.202/src/screen.c 2009-05-17 13:30:58.000000000 +0200
+--- src/screen.c 2009-06-10 16:41:45.000000000 +0200
+***************
+*** 7495,7500 ****
+--- 7495,7504 ----
+ #endif
+ }
+ }
++ #ifdef FEAT_AUTOCMD
++ if (aucmd_win != NULL && win_alloc_lines(aucmd_win) == FAIL)
++ outofmem = TRUE;
++ #endif
+ #ifdef FEAT_WINDOWS
+ give_up:
+ #endif
+*** ../vim-7.2.202/src/structs.h 2009-05-16 16:36:25.000000000 +0200
+--- src/structs.h 2009-06-13 12:51:56.000000000 +0200
+***************
+*** 1621,1626 ****
+--- 1621,1634 ----
+ };
+ #endif
+
++ #define SNAP_HELP_IDX 0
++ #ifdef FEAT_AUTOCMD
++ # define SNAP_AUCMD_IDX 1
++ # define SNAP_COUNT 2
++ #else
++ # define SNAP_COUNT 1
++ #endif
++
+ /*
+ * Tab pages point to the top frame of each tab page.
+ * Note: Most values are NOT valid for the current tab page! Use "curwin",
+***************
+*** 1649,1655 ****
+ buf_T *(tp_diffbuf[DB_COUNT]);
+ int tp_diff_invalid; /* list of diffs is outdated */
+ #endif
+! frame_T *tp_snapshot; /* window layout snapshot */
+ #ifdef FEAT_EVAL
+ dictitem_T tp_winvar; /* variable for "t:" Dictionary */
+ dict_T tp_vars; /* internal variables, local to tab page */
+--- 1657,1663 ----
+ buf_T *(tp_diffbuf[DB_COUNT]);
+ int tp_diff_invalid; /* list of diffs is outdated */
+ #endif
+! frame_T *(tp_snapshot[SNAP_COUNT]); /* window layout snapshots */
+ #ifdef FEAT_EVAL
+ dictitem_T tp_winvar; /* variable for "t:" Dictionary */
+ dict_T tp_vars; /* internal variables, local to tab page */
+***************
+*** 2276,2291 ****
+ */
+ typedef struct
+ {
+! buf_T *save_buf; /* saved curbuf */
+ #ifdef FEAT_AUTOCMD
+! buf_T *new_curbuf; /* buffer to be used */
+! win_T *save_curwin; /* saved curwin, NULL if it didn't change */
+! win_T *new_curwin; /* new curwin if save_curwin != NULL */
+! pos_T save_cursor; /* saved cursor pos of save_curwin */
+! linenr_T save_topline; /* saved topline of save_curwin */
+! # ifdef FEAT_DIFF
+! int save_topfill; /* saved topfill of save_curwin */
+! # endif
+ #endif
+ } aco_save_T;
+
+--- 2284,2294 ----
+ */
+ typedef struct
+ {
+! buf_T *save_curbuf; /* saved curbuf */
+ #ifdef FEAT_AUTOCMD
+! win_T *save_curwin; /* saved curwin */
+! win_T *new_curwin; /* new curwin */
+! buf_T *new_curbuf; /* new curbuf */
+ #endif
+ } aco_save_T;
+
+*** ../vim-7.2.202/src/window.c 2009-05-21 23:25:38.000000000 +0200
+--- src/window.c 2009-06-12 22:29:33.000000000 +0200
+***************
+*** 11,18 ****
+
+ static int path_is_url __ARGS((char_u *p));
+ #if defined(FEAT_WINDOWS) || defined(PROTO)
+- static int win_split_ins __ARGS((int size, int flags, win_T *newwin, int dir));
+ static void win_init __ARGS((win_T *newp, win_T *oldp, int flags));
+ static void frame_comp_pos __ARGS((frame_T *topfrp, int *row, int *col));
+ static void frame_setheight __ARGS((frame_T *curfrp, int height));
+ #ifdef FEAT_VERTSPLIT
+--- 11,18 ----
+
+ static int path_is_url __ARGS((char_u *p));
+ #if defined(FEAT_WINDOWS) || defined(PROTO)
+ static void win_init __ARGS((win_T *newp, win_T *oldp, int flags));
++ static void win_init_some __ARGS((win_T *newp, win_T *oldp));
+ static void frame_comp_pos __ARGS((frame_T *topfrp, int *row, int *col));
+ static void frame_setheight __ARGS((frame_T *curfrp, int height));
+ #ifdef FEAT_VERTSPLIT
+***************
+*** 23,30 ****
+ static void win_totop __ARGS((int size, int flags));
+ static void win_equal_rec __ARGS((win_T *next_curwin, int current, frame_T *topfr, int dir, int col, int row, int width, int height));
+ static int last_window __ARGS((void));
+ static win_T *win_free_mem __ARGS((win_T *win, int *dirp, tabpage_T *tp));
+- static win_T *winframe_remove __ARGS((win_T *win, int *dirp, tabpage_T *tp));
+ static frame_T *win_altframe __ARGS((win_T *win, tabpage_T *tp));
+ static tabpage_T *alt_tabpage __ARGS((void));
+ static win_T *frame2win __ARGS((frame_T *frp));
+--- 23,30 ----
+ static void win_totop __ARGS((int size, int flags));
+ static void win_equal_rec __ARGS((win_T *next_curwin, int current, frame_T *topfr, int dir, int col, int row, int width, int height));
+ static int last_window __ARGS((void));
++ static int one_window __ARGS((void));
+ static win_T *win_free_mem __ARGS((win_T *win, int *dirp, tabpage_T *tp));
+ static frame_T *win_altframe __ARGS((win_T *win, tabpage_T *tp));
+ static tabpage_T *alt_tabpage __ARGS((void));
+ static win_T *frame2win __ARGS((frame_T *frp));
+***************
+*** 41,46 ****
+--- 41,47 ----
+ #endif
+ #endif
+ static int win_alloc_firstwin __ARGS((win_T *oldwin));
++ static void new_frame __ARGS((win_T *wp));
+ #if defined(FEAT_WINDOWS) || defined(PROTO)
+ static tabpage_T *alloc_tabpage __ARGS((void));
+ static int leave_tabpage __ARGS((buf_T *new_curbuf));
+***************
+*** 49,56 ****
+ static int frame_minheight __ARGS((frame_T *topfrp, win_T *next_curwin));
+ static void win_enter_ext __ARGS((win_T *wp, int undo_sync, int no_curwin));
+ static void win_free __ARGS((win_T *wp, tabpage_T *tp));
+- static void win_append __ARGS((win_T *, win_T *));
+- static void win_remove __ARGS((win_T *, tabpage_T *tp));
+ static void frame_append __ARGS((frame_T *after, frame_T *frp));
+ static void frame_insert __ARGS((frame_T *before, frame_T *frp));
+ static void frame_remove __ARGS((frame_T *frp));
+--- 50,55 ----
+***************
+*** 62,78 ****
+ static void frame_add_height __ARGS((frame_T *frp, int n));
+ static void last_status_rec __ARGS((frame_T *fr, int statusline));
+
+- static void make_snapshot __ARGS((void));
+ static void make_snapshot_rec __ARGS((frame_T *fr, frame_T **frp));
+! static void clear_snapshot __ARGS((tabpage_T *tp));
+ static void clear_snapshot_rec __ARGS((frame_T *fr));
+- static void restore_snapshot __ARGS((int close_curwin));
+ static int check_snapshot_rec __ARGS((frame_T *sn, frame_T *fr));
+ static win_T *restore_snapshot_rec __ARGS((frame_T *sn, frame_T *fr));
+
+ #endif /* FEAT_WINDOWS */
+
+! static win_T *win_alloc __ARGS((win_T *after));
+ static void win_new_height __ARGS((win_T *, int));
+
+ #define URL_SLASH 1 /* path_is_url() has found "://" */
+--- 61,75 ----
+ static void frame_add_height __ARGS((frame_T *frp, int n));
+ static void last_status_rec __ARGS((frame_T *fr, int statusline));
+
+ static void make_snapshot_rec __ARGS((frame_T *fr, frame_T **frp));
+! static void clear_snapshot __ARGS((tabpage_T *tp, int idx));
+ static void clear_snapshot_rec __ARGS((frame_T *fr));
+ static int check_snapshot_rec __ARGS((frame_T *sn, frame_T *fr));
+ static win_T *restore_snapshot_rec __ARGS((frame_T *sn, frame_T *fr));
+
+ #endif /* FEAT_WINDOWS */
+
+! static win_T *win_alloc __ARGS((win_T *after, int hidden));
+ static void win_new_height __ARGS((win_T *, int));
+
+ #define URL_SLASH 1 /* path_is_url() has found "://" */
+***************
+*** 259,265 ****
+ /* cursor to previous window with wrap around */
+ case 'W':
+ CHECK_CMDWIN
+! if (lastwin == firstwin && Prenum != 1) /* just one window */
+ beep_flush();
+ else
+ {
+--- 256,262 ----
+ /* cursor to previous window with wrap around */
+ case 'W':
+ CHECK_CMDWIN
+! if (firstwin == lastwin && Prenum != 1) /* just one window */
+ beep_flush();
+ else
+ {
+***************
+*** 343,349 ****
+
+ /* move window to new tab page */
+ case 'T':
+! if (firstwin == lastwin)
+ MSG(_(m_onlyone));
+ else
+ {
+--- 340,346 ----
+
+ /* move window to new tab page */
+ case 'T':
+! if (one_window())
+ MSG(_(m_onlyone));
+ else
+ {
+***************
+*** 679,687 ****
+ /* When creating the help window make a snapshot of the window layout.
+ * Otherwise clear the snapshot, it's now invalid. */
+ if (flags & WSP_HELP)
+! make_snapshot();
+ else
+! clear_snapshot(curtab);
+
+ return win_split_ins(size, flags, NULL, 0);
+ }
+--- 676,684 ----
+ /* When creating the help window make a snapshot of the window layout.
+ * Otherwise clear the snapshot, it's now invalid. */
+ if (flags & WSP_HELP)
+! make_snapshot(SNAP_HELP_IDX);
+ else
+! clear_snapshot(curtab, SNAP_HELP_IDX);
+
+ return win_split_ins(size, flags, NULL, 0);
+ }
+***************
+*** 692,698 ****
+ * top/left/right/bottom.
+ * return FAIL for failure, OK otherwise
+ */
+! static int
+ win_split_ins(size, flags, newwin, dir)
+ int size;
+ int flags;
+--- 689,695 ----
+ * top/left/right/bottom.
+ * return FAIL for failure, OK otherwise
+ */
+! int
+ win_split_ins(size, flags, newwin, dir)
+ int size;
+ int flags;
+***************
+*** 893,906 ****
+ {
+ /* new window below/right of current one */
+ if (newwin == NULL)
+! wp = win_alloc(oldwin);
+ else
+ win_append(oldwin, wp);
+ }
+ else
+ {
+ if (newwin == NULL)
+! wp = win_alloc(oldwin->w_prev);
+ else
+ win_append(oldwin->w_prev, wp);
+ }
+--- 890,903 ----
+ {
+ /* new window below/right of current one */
+ if (newwin == NULL)
+! wp = win_alloc(oldwin, FALSE);
+ else
+ win_append(oldwin, wp);
+ }
+ else
+ {
+ if (newwin == NULL)
+! wp = win_alloc(oldwin->w_prev, FALSE);
+ else
+ win_append(oldwin->w_prev, wp);
+ }
+***************
+*** 910,915 ****
+--- 907,919 ----
+ if (wp == NULL)
+ return FAIL;
+
++ new_frame(wp);
++ if (wp->w_frame == NULL)
++ {
++ win_free(wp, NULL);
++ return FAIL;
++ }
++
+ /* make the contents of the new window the same as the current one */
+ win_init(wp, curwin, flags);
+ }
+***************
+*** 970,982 ****
+ }
+
+ if (newwin == NULL)
+! {
+! /* Create a frame for the new window. */
+! frp = (frame_T *)alloc_clear((unsigned)sizeof(frame_T));
+! frp->fr_layout = FR_LEAF;
+! frp->fr_win = wp;
+! wp->w_frame = frp;
+! }
+ else
+ frp = newwin->w_frame;
+ frp->fr_parent = curfrp->fr_parent;
+--- 974,980 ----
+ }
+
+ if (newwin == NULL)
+! frp = wp->w_frame;
+ else
+ frp = newwin->w_frame;
+ frp->fr_parent = curfrp->fr_parent;
+***************
+*** 1156,1161 ****
+--- 1154,1160 ----
+ return OK;
+ }
+
++
+ /*
+ * Initialize window "newp" from window "oldp".
+ * Used when splitting a window and when creating a new tab page.
+***************
+*** 1204,1217 ****
+ if (oldp->w_localdir != NULL)
+ newp->w_localdir = vim_strsave(oldp->w_localdir);
+
+! /* Use the same argument list. */
+! newp->w_alist = oldp->w_alist;
+! ++newp->w_alist->al_refcount;
+! newp->w_arg_idx = oldp->w_arg_idx;
+!
+! /*
+! * copy tagstack and options from existing window
+! */
+ for (i = 0; i < oldp->w_tagstacklen; i++)
+ {
+ newp->w_tagstack[i] = oldp->w_tagstack[i];
+--- 1203,1209 ----
+ if (oldp->w_localdir != NULL)
+ newp->w_localdir = vim_strsave(oldp->w_localdir);
+
+! /* copy tagstack and folds */
+ for (i = 0; i < oldp->w_tagstacklen; i++)
+ {
+ newp->w_tagstack[i] = oldp->w_tagstack[i];
+***************
+*** 1221,1230 ****
+ }
+ newp->w_tagstackidx = oldp->w_tagstackidx;
+ newp->w_tagstacklen = oldp->w_tagstacklen;
+- win_copy_options(oldp, newp);
+ # ifdef FEAT_FOLDING
+ copyFoldingState(oldp, newp);
+ # endif
+ }
+
+ #endif /* FEAT_WINDOWS */
+--- 1213,1241 ----
+ }
+ newp->w_tagstackidx = oldp->w_tagstackidx;
+ newp->w_tagstacklen = oldp->w_tagstacklen;
+ # ifdef FEAT_FOLDING
+ copyFoldingState(oldp, newp);
+ # endif
++
++ win_init_some(newp, oldp);
++ }
++
++ /*
++ * Initialize window "newp" from window"old".
++ * Only the essential things are copied.
++ */
++ static void
++ win_init_some(newp, oldp)
++ win_T *newp;
++ win_T *oldp;
++ {
++ /* Use the same argument list. */
++ newp->w_alist = oldp->w_alist;
++ ++newp->w_alist->al_refcount;
++ newp->w_arg_idx = oldp->w_arg_idx;
++
++ /* copy options from existing window */
++ win_copy_options(oldp, newp);
+ }
+
+ #endif /* FEAT_WINDOWS */
+***************
+*** 1565,1579 ****
+ #if defined(FEAT_GUI) && defined(FEAT_VERTSPLIT)
+ /* When 'guioptions' includes 'L' or 'R' may have to remove or add
+ * scrollbars. Have to update them anyway. */
+! if (gui.in_use)
+! {
+! out_flush();
+! gui_init_which_components(NULL);
+! gui_update_scrollbars(TRUE);
+! }
+! need_mouse_correct = TRUE;
+ #endif
+-
+ }
+
+ /*
+--- 1576,1583 ----
+ #if defined(FEAT_GUI) && defined(FEAT_VERTSPLIT)
+ /* When 'guioptions' includes 'L' or 'R' may have to remove or add
+ * scrollbars. Have to update them anyway. */
+! gui_may_update_scrollbars();
+ #endif
+ }
+
+ /*
+***************
+*** 2048,2060 ****
+ }
+
+ /*
+! * Return TRUE if the current window is the only window that exists.
+ * Returns FALSE if there is a window, possibly in another tab page.
+ */
+ static int
+ last_window()
+ {
+! return (lastwin == firstwin && first_tabpage->tp_next == NULL);
+ }
+
+ /*
+--- 2052,2091 ----
+ }
+
+ /*
+! * Return TRUE if the current window is the only window that exists (ignoring
+! * "aucmd_win").
+ * Returns FALSE if there is a window, possibly in another tab page.
+ */
+ static int
+ last_window()
+ {
+! return (one_window() && first_tabpage->tp_next == NULL);
+! }
+!
+! /*
+! * Return TRUE if there is only one window other than "aucmd_win" in the
+! * current tab page.
+! */
+! static int
+! one_window()
+! {
+! #ifdef FEAT_AUTOCMD
+! win_T *wp;
+! int seen_one = FALSE;
+!
+! FOR_ALL_WINDOWS(wp)
+! {
+! if (wp != aucmd_win)
+! {
+! if (seen_one)
+! return FALSE;
+! seen_one = TRUE;
+! }
+! }
+! return TRUE;
+! #else
+! return firstwin == lastwin;
+! #endif
+ }
+
+ /*
+***************
+*** 2083,2088 ****
+--- 2114,2132 ----
+ return;
+ }
+
++ #ifdef FEAT_AUTOCMD
++ if (win == aucmd_win)
++ {
++ EMSG(_("E813: Cannot close autocmd window"));
++ return;
++ }
++ if ((firstwin == aucmd_win || lastwin == aucmd_win) && one_window())
++ {
++ EMSG(_("E814: Cannot close window, only autocmd window would remain"));
++ return;
++ }
++ #endif
++
+ /*
+ * When closing the last window in a tab page first go to another tab
+ * page and then close the window and the tab page. This avoids that
+***************
+*** 2112,2118 ****
+ if (win->w_buffer->b_help)
+ help_window = TRUE;
+ else
+! clear_snapshot(curtab);
+
+ #ifdef FEAT_AUTOCMD
+ if (win == curwin)
+--- 2156,2162 ----
+ if (win->w_buffer->b_help)
+ help_window = TRUE;
+ else
+! clear_snapshot(curtab, SNAP_HELP_IDX);
+
+ #ifdef FEAT_AUTOCMD
+ if (win == curwin)
+***************
+*** 2229,2235 ****
+ /* After closing the help window, try restoring the window layout from
+ * before it was opened. */
+ if (help_window)
+! restore_snapshot(close_curwin);
+
+ #if defined(FEAT_GUI) && defined(FEAT_VERTSPLIT)
+ /* When 'guioptions' includes 'L' or 'R' may have to remove scrollbars. */
+--- 2273,2279 ----
+ /* After closing the help window, try restoring the window layout from
+ * before it was opened. */
+ if (help_window)
+! restore_snapshot(SNAP_HELP_IDX, close_curwin);
+
+ #if defined(FEAT_GUI) && defined(FEAT_VERTSPLIT)
+ /* When 'guioptions' includes 'L' or 'R' may have to remove scrollbars. */
+***************
+*** 2344,2349 ****
+--- 2388,2401 ----
+
+ while (firstwin != NULL)
+ (void)win_free_mem(firstwin, &dummy, NULL);
++
++ # ifdef FEAT_AUTOCMD
++ if (aucmd_win != NULL)
++ {
++ (void)win_free_mem(aucmd_win, &dummy, NULL);
++ aucmd_win = NULL;
++ }
++ # endif
+ }
+ #endif
+
+***************
+*** 2351,2357 ****
+ * Remove a window and its frame from the tree of frames.
+ * Returns a pointer to the window that got the freed up space.
+ */
+! static win_T *
+ winframe_remove(win, dirp, tp)
+ win_T *win;
+ int *dirp UNUSED; /* set to 'v' or 'h' for direction if 'ea' */
+--- 2403,2409 ----
+ * Remove a window and its frame from the tree of frames.
+ * Returns a pointer to the window that got the freed up space.
+ */
+! win_T *
+ winframe_remove(win, dirp, tp)
+ win_T *win;
+ int *dirp UNUSED; /* set to 'v' or 'h' for direction if 'ea' */
+***************
+*** 3090,3096 ****
+ win_T *nextwp;
+ int r;
+
+! if (lastwin == firstwin)
+ {
+ if (message
+ #ifdef FEAT_AUTOCMD
+--- 3142,3148 ----
+ win_T *nextwp;
+ int r;
+
+! if (one_window())
+ {
+ if (message
+ #ifdef FEAT_AUTOCMD
+***************
+*** 3194,3202 ****
+--- 3246,3275 ----
+ first_tabpage->tp_topframe = topframe;
+ curtab = first_tabpage;
+ #endif
++
+ return OK;
+ }
+
++ #if defined(FEAT_AUTOCMD) || defined(PROTO)
++ /*
++ * Init "aucmd_win". This can only be done after the first
++ * window is fully initialized, thus it can't be in win_alloc_first().
++ */
++ void
++ win_alloc_aucmd_win()
++ {
++ aucmd_win = win_alloc(NULL, TRUE);
++ if (aucmd_win != NULL)
++ {
++ win_init_some(aucmd_win, curwin);
++ # ifdef FEAT_SCROLLBIND
++ aucmd_win->w_p_scb = FALSE;
++ # endif
++ new_frame(aucmd_win);
++ }
++ }
++ #endif
++
+ /*
+ * Allocate the first window or the first window in a new tab page.
+ * When "oldwin" is NULL create an empty buffer for it.
+***************
+*** 3208,3214 ****
+ win_alloc_firstwin(oldwin)
+ win_T *oldwin;
+ {
+! curwin = win_alloc(NULL);
+ if (oldwin == NULL)
+ {
+ /* Very first window, need to create an empty buffer for it and
+--- 3281,3287 ----
+ win_alloc_firstwin(oldwin)
+ win_T *oldwin;
+ {
+! curwin = win_alloc(NULL, FALSE);
+ if (oldwin == NULL)
+ {
+ /* Very first window, need to create an empty buffer for it and
+***************
+*** 3236,3256 ****
+ }
+ #endif
+
+! topframe = (frame_T *)alloc_clear((unsigned)sizeof(frame_T));
+! if (topframe == NULL)
+ return FAIL;
+! topframe->fr_layout = FR_LEAF;
+ #ifdef FEAT_VERTSPLIT
+ topframe->fr_width = Columns;
+ #endif
+ topframe->fr_height = Rows - p_ch;
+ topframe->fr_win = curwin;
+- curwin->w_frame = topframe;
+
+ return OK;
+ }
+
+ /*
+ * Initialize the window and frame size to the maximum.
+ */
+ void
+--- 3309,3344 ----
+ }
+ #endif
+
+! new_frame(curwin);
+! if (curwin->w_frame == NULL)
+ return FAIL;
+! topframe = curwin->w_frame;
+ #ifdef FEAT_VERTSPLIT
+ topframe->fr_width = Columns;
+ #endif
+ topframe->fr_height = Rows - p_ch;
+ topframe->fr_win = curwin;
+
+ return OK;
+ }
+
+ /*
++ * Create a frame for window "wp".
++ */
++ static void
++ new_frame(win_T *wp)
++ {
++ frame_T *frp = (frame_T *)alloc_clear((unsigned)sizeof(frame_T));
++
++ wp->w_frame = frp;
++ if (frp != NULL)
++ {
++ frp->fr_layout = FR_LEAF;
++ frp->fr_win = wp;
++ }
++ }
++
++ /*
+ * Initialize the window and frame size to the maximum.
+ */
+ void
+***************
+*** 3300,3309 ****
+ free_tabpage(tp)
+ tabpage_T *tp;
+ {
+ # ifdef FEAT_DIFF
+ diff_clear(tp);
+ # endif
+! clear_snapshot(tp);
+ #ifdef FEAT_EVAL
+ vars_clear(&tp->tp_vars.dv_hashtab); /* free all t: variables */
+ #endif
+--- 3388,3400 ----
+ free_tabpage(tp)
+ tabpage_T *tp;
+ {
++ int idx;
++
+ # ifdef FEAT_DIFF
+ diff_clear(tp);
+ # endif
+! for (idx = 0; idx < SNAP_COUNT; ++idx)
+! clear_snapshot(tp, idx);
+ #ifdef FEAT_EVAL
+ vars_clear(&tp->tp_vars.dv_hashtab); /* free all t: variables */
+ #endif
+***************
+*** 3370,3381 ****
+ #if defined(FEAT_GUI)
+ /* When 'guioptions' includes 'L' or 'R' may have to remove or add
+ * scrollbars. Have to update them anyway. */
+! if (gui.in_use && starting == 0)
+! {
+! gui_init_which_components(NULL);
+! gui_update_scrollbars(TRUE);
+! }
+! need_mouse_correct = TRUE;
+ #endif
+
+ redraw_all_later(CLEAR);
+--- 3461,3467 ----
+ #if defined(FEAT_GUI)
+ /* When 'guioptions' includes 'L' or 'R' may have to remove or add
+ * scrollbars. Have to update them anyway. */
+! gui_may_update_scrollbars();
+ #endif
+
+ redraw_all_later(CLEAR);
+***************
+*** 3593,3604 ****
+ #if defined(FEAT_GUI)
+ /* When 'guioptions' includes 'L' or 'R' may have to remove or add
+ * scrollbars. Have to update them anyway. */
+! if (gui.in_use && starting == 0)
+! {
+! gui_init_which_components(NULL);
+! gui_update_scrollbars(TRUE);
+! }
+! need_mouse_correct = TRUE;
+ #endif
+
+ redraw_all_later(CLEAR);
+--- 3679,3685 ----
+ #if defined(FEAT_GUI)
+ /* When 'guioptions' includes 'L' or 'R' may have to remove or add
+ * scrollbars. Have to update them anyway. */
+! gui_may_update_scrollbars();
+ #endif
+
+ redraw_all_later(CLEAR);
+***************
+*** 4150,4160 ****
+ #endif
+
+ /*
+! * allocate a window structure and link it in the window list
+ */
+ static win_T *
+! win_alloc(after)
+ win_T *after UNUSED;
+ {
+ win_T *newwin;
+
+--- 4231,4243 ----
+ #endif
+
+ /*
+! * Allocate a window structure and link it in the window list when "hidden" is
+! * FALSE.
+ */
+ static win_T *
+! win_alloc(after, hidden)
+ win_T *after UNUSED;
++ int hidden UNUSED;
+ {
+ win_T *newwin;
+
+***************
+*** 4180,4186 ****
+ * link the window in the window list
+ */
+ #ifdef FEAT_WINDOWS
+! win_append(after, newwin);
+ #endif
+ #ifdef FEAT_VERTSPLIT
+ newwin->w_wincol = 0;
+--- 4263,4270 ----
+ * link the window in the window list
+ */
+ #ifdef FEAT_WINDOWS
+! if (!hidden)
+! win_append(after, newwin);
+ #endif
+ #ifdef FEAT_VERTSPLIT
+ newwin->w_wincol = 0;
+***************
+*** 4314,4320 ****
+ /*
+ * Append window "wp" in the window list after window "after".
+ */
+! static void
+ win_append(after, wp)
+ win_T *after, *wp;
+ {
+--- 4398,4404 ----
+ /*
+ * Append window "wp" in the window list after window "after".
+ */
+! void
+ win_append(after, wp)
+ win_T *after, *wp;
+ {
+***************
+*** 4340,4346 ****
+ /*
+ * Remove a window from the window list.
+ */
+! static void
+ win_remove(wp, tp)
+ win_T *wp;
+ tabpage_T *tp; /* tab page "win" is in, NULL for current */
+--- 4424,4430 ----
+ /*
+ * Remove a window from the window list.
+ */
+! void
+ win_remove(wp, tp)
+ win_T *wp;
+ tabpage_T *tp; /* tab page "win" is in, NULL for current */
+***************
+*** 6040,6045 ****
+--- 6124,6130 ----
+ /*
+ * Return TRUE if there is only one window (in the current tab page), not
+ * counting a help or preview window, unless it is the current window.
++ * Does not count "aucmd_win".
+ */
+ int
+ only_one_window()
+***************
+*** 6053,6063 ****
+ return FALSE;
+
+ for (wp = firstwin; wp != NULL; wp = wp->w_next)
+! if (!((wp->w_buffer->b_help && !curbuf->b_help)
+ # ifdef FEAT_QUICKFIX
+ || wp->w_p_pvw
+ # endif
+ ) || wp == curwin)
+ ++count;
+ return (count <= 1);
+ #else
+--- 6138,6152 ----
+ return FALSE;
+
+ for (wp = firstwin; wp != NULL; wp = wp->w_next)
+! if ((!((wp->w_buffer->b_help && !curbuf->b_help)
+ # ifdef FEAT_QUICKFIX
+ || wp->w_p_pvw
+ # endif
+ ) || wp == curwin)
++ # ifdef FEAT_AUTOCMD
++ && wp != aucmd_win
++ # endif
++ )
+ ++count;
+ return (count <= 1);
+ #else
+***************
+*** 6112,6122 ****
+ /*
+ * Create a snapshot of the current frame sizes.
+ */
+! static void
+! make_snapshot()
+ {
+! clear_snapshot(curtab);
+! make_snapshot_rec(topframe, &curtab->tp_snapshot);
+ }
+
+ static void
+--- 6201,6212 ----
+ /*
+ * Create a snapshot of the current frame sizes.
+ */
+! void
+! make_snapshot(idx)
+! int idx;
+ {
+! clear_snapshot(curtab, idx);
+! make_snapshot_rec(topframe, &curtab->tp_snapshot[idx]);
+ }
+
+ static void
+***************
+*** 6144,6154 ****
+ * Remove any existing snapshot.
+ */
+ static void
+! clear_snapshot(tp)
+ tabpage_T *tp;
+ {
+! clear_snapshot_rec(tp->tp_snapshot);
+! tp->tp_snapshot = NULL;
+ }
+
+ static void
+--- 6234,6245 ----
+ * Remove any existing snapshot.
+ */
+ static void
+! clear_snapshot(tp, idx)
+ tabpage_T *tp;
++ int idx;
+ {
+! clear_snapshot_rec(tp->tp_snapshot[idx]);
+! tp->tp_snapshot[idx] = NULL;
+ }
+
+ static void
+***************
+*** 6168,6193 ****
+ * This is only done if the screen size didn't change and the window layout is
+ * still the same.
+ */
+! static void
+! restore_snapshot(close_curwin)
+ int close_curwin; /* closing current window */
+ {
+ win_T *wp;
+
+! if (curtab->tp_snapshot != NULL
+ # ifdef FEAT_VERTSPLIT
+! && curtab->tp_snapshot->fr_width == topframe->fr_width
+ # endif
+! && curtab->tp_snapshot->fr_height == topframe->fr_height
+! && check_snapshot_rec(curtab->tp_snapshot, topframe) == OK)
+ {
+! wp = restore_snapshot_rec(curtab->tp_snapshot, topframe);
+ win_comp_pos();
+ if (wp != NULL && close_curwin)
+ win_goto(wp);
+ redraw_all_later(CLEAR);
+ }
+! clear_snapshot(curtab);
+ }
+
+ /*
+--- 6259,6285 ----
+ * This is only done if the screen size didn't change and the window layout is
+ * still the same.
+ */
+! void
+! restore_snapshot(idx, close_curwin)
+! int idx;
+ int close_curwin; /* closing current window */
+ {
+ win_T *wp;
+
+! if (curtab->tp_snapshot[idx] != NULL
+ # ifdef FEAT_VERTSPLIT
+! && curtab->tp_snapshot[idx]->fr_width == topframe->fr_width
+ # endif
+! && curtab->tp_snapshot[idx]->fr_height == topframe->fr_height
+! && check_snapshot_rec(curtab->tp_snapshot[idx], topframe) == OK)
+ {
+! wp = restore_snapshot_rec(curtab->tp_snapshot[idx], topframe);
+ win_comp_pos();
+ if (wp != NULL && close_curwin)
+ win_goto(wp);
+ redraw_all_later(CLEAR);
+ }
+! clear_snapshot(curtab, idx);
+ }
+
+ /*
+*** ../vim-7.2.202/src/version.c 2009-06-16 15:35:46.000000000 +0200
+--- src/version.c 2009-06-16 15:37:16.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 203,
+ /**/
+
+--
+How To Keep A Healthy Level Of Insanity:
+15. Five days in advance, tell your friends you can't attend their
+ party because you're not in the mood.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/gvim/vim-7.2/7.2.204 b/gvim/vim-7.2/7.2.204
new file mode 100644
index 0000000..ef99c51
--- /dev/null
+++ b/gvim/vim-7.2/7.2.204
@@ -0,0 +1,137 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.204 (extra)
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.204 (extra)
+Problem: Win32: Can't build with Visual Studio 2010 beta 1.
+Solution: Fix the makefile. (George Reilly)
+Files: src/Make_mvc.mak
+
+
+*** ../vim-7.2.203/src/Make_mvc.mak 2009-05-26 22:58:43.000000000 +0200
+--- src/Make_mvc.mak 2009-06-16 16:27:59.000000000 +0200
+***************
+*** 1,18 ****
+ # Makefile for Vim on Win32 (Windows NT/2000/XP/2003 and Windows 95/98/Me)
+ # and Win64, using the Microsoft Visual C++ compilers. Known to work with
+ # VC5, VC6 (VS98), VC7.0 (VS2002), VC7.1 (VS2003), VC8 (VS2005),
+! # and VC9 (VS2008).
+ #
+ # To build using other Windows compilers, see INSTALLpc.txt
+ #
+ # This makefile can build the console, GUI, OLE-enable, Perl-enabled and
+! # Python-enabled versions of vim for Win32 platforms.
+ #
+! # The basic command line to build vim is:
+ #
+ # nmake -f Make_mvc.mak
+ #
+! # This will build the console version of vim with no additional interfaces.
+ # To add features, define any of the following:
+ #
+ # !!!! After changing features do "nmake clean" first !!!!
+--- 1,18 ----
+ # Makefile for Vim on Win32 (Windows NT/2000/XP/2003 and Windows 95/98/Me)
+ # and Win64, using the Microsoft Visual C++ compilers. Known to work with
+ # VC5, VC6 (VS98), VC7.0 (VS2002), VC7.1 (VS2003), VC8 (VS2005),
+! # VC9 (VS2008), and VC10 (VS2010).
+ #
+ # To build using other Windows compilers, see INSTALLpc.txt
+ #
+ # This makefile can build the console, GUI, OLE-enable, Perl-enabled and
+! # Python-enabled versions of Vim for Win32 platforms.
+ #
+! # The basic command line to build Vim is:
+ #
+ # nmake -f Make_mvc.mak
+ #
+! # This will build the console version of Vim with no additional interfaces.
+ # To add features, define any of the following:
+ #
+ # !!!! After changing features do "nmake clean" first !!!!
+***************
+*** 358,363 ****
+--- 358,366 ----
+ !if "$(_NMAKE_VER)" == "9.00.30729.01"
+ MSVCVER = 9.0
+ !endif
++ !if "$(_NMAKE_VER)" == "10.00.20506.01"
++ MSVCVER = 10.0
++ !endif
+ !endif
+
+ # Abort bulding VIM if version of VC is unrecognised.
+***************
+*** 372,378 ****
+ !endif
+
+ # Convert processor ID to MVC-compatible number
+! !if ("$(MSVCVER)" != "8.0") && ("$(MSVCVER)" != "9.0")
+ !if "$(CPUNR)" == "i386"
+ CPUARG = /G3
+ !elseif "$(CPUNR)" == "i486"
+--- 375,381 ----
+ !endif
+
+ # Convert processor ID to MVC-compatible number
+! !if ("$(MSVCVER)" != "8.0") && ("$(MSVCVER)" != "9.0") && ("$(MSVCVER)" != "10.0")
+ !if "$(CPUNR)" == "i386"
+ CPUARG = /G3
+ !elseif "$(CPUNR)" == "i486"
+***************
+*** 405,411 ****
+ !else # MAXSPEED
+ OPTFLAG = /Ox
+ !endif
+! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0")
+ # Use link time code generation if not worried about size
+ !if "$(OPTIMIZE)" != "SPACE"
+ OPTFLAG = $(OPTFLAG) /GL
+--- 408,414 ----
+ !else # MAXSPEED
+ OPTFLAG = /Ox
+ !endif
+! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0")
+ # Use link time code generation if not worried about size
+ !if "$(OPTIMIZE)" != "SPACE"
+ OPTFLAG = $(OPTFLAG) /GL
+***************
+*** 793,799 ****
+
+ # Report link time code generation progress if used.
+ !ifdef NODEBUG
+! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0")
+ !if "$(OPTIMIZE)" != "SPACE"
+ LINKARGS1 = $(LINKARGS1) /LTCG:STATUS
+ !endif
+--- 796,802 ----
+
+ # Report link time code generation progress if used.
+ !ifdef NODEBUG
+! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0")
+ !if "$(OPTIMIZE)" != "SPACE"
+ LINKARGS1 = $(LINKARGS1) /LTCG:STATUS
+ !endif
+*** ../vim-7.2.203/src/version.c 2009-06-16 16:01:34.000000000 +0200
+--- src/version.c 2009-06-16 16:32:41.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 204,
+ /**/
+
+--
+How To Keep A Healthy Level Of Insanity:
+16. Have your coworkers address you by your wrestling name, Rock Hard Kim.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/gvim/vim-7.2/7.2.205 b/gvim/vim-7.2/7.2.205
new file mode 100644
index 0000000..2af5067
--- /dev/null
+++ b/gvim/vim-7.2/7.2.205
@@ -0,0 +1,81 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.205 (extra)
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.205 (extra)
+Problem: Win32: No support for High DPI awarenes.
+Solution: Fix the manifest file. (George Reilly)
+Files: src/Make_mvc.mak, src/gvim.exe.mnf
+
+
+*** ../vim-7.2.204/src/Make_mvc.mak 2009-06-16 16:34:12.000000000 +0200
+--- src/Make_mvc.mak 2009-06-16 16:36:32.000000000 +0200
+***************
+*** 1040,1046 ****
+ $(OUTDIR)/xpm_w32.obj: $(OUTDIR) xpm_w32.c
+ $(CC) $(CFLAGS) $(XPM_INC) xpm_w32.c
+
+! $(OUTDIR)/vim.res: $(OUTDIR) vim.rc version.h tools.bmp tearoff.bmp \
+ vim.ico vim_error.ico vim_alert.ico vim_info.ico vim_quest.ico
+ $(RC) /l 0x409 /Fo$(OUTDIR)/vim.res $(RCFLAGS) vim.rc
+
+--- 1040,1046 ----
+ $(OUTDIR)/xpm_w32.obj: $(OUTDIR) xpm_w32.c
+ $(CC) $(CFLAGS) $(XPM_INC) xpm_w32.c
+
+! $(OUTDIR)/vim.res: $(OUTDIR) vim.rc gvim.exe.mnf version.h tools.bmp tearoff.bmp \
+ vim.ico vim_error.ico vim_alert.ico vim_info.ico vim_quest.ico
+ $(RC) /l 0x409 /Fo$(OUTDIR)/vim.res $(RCFLAGS) vim.rc
+
+*** ../vim-7.2.204/src/gvim.exe.mnf 2008-08-09 19:37:29.000000000 +0200
+--- src/gvim.exe.mnf 2009-06-16 16:36:32.000000000 +0200
+***************
+*** 1,5 ****
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+! <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+ <assemblyIdentity
+ processorArchitecture="*"
+ version="7.2.0.0"
+--- 1,5 ----
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+! <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" >
+ <assemblyIdentity
+ processorArchitecture="*"
+ version="7.2.0.0"
+***************
+*** 29,32 ****
+--- 29,38 ----
+ </requestedPrivileges>
+ </security>
+ </trustInfo>
++ <!-- Vista High DPI aware -->
++ <asmv3:application>
++ <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
++ <dpiAware>true</dpiAware>
++ </asmv3:windowsSettings>
++ </asmv3:application>
+ </assembly>
+*** ../vim-7.2.204/src/version.c 2009-06-16 16:34:12.000000000 +0200
+--- src/version.c 2009-06-16 16:43:04.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 205,
+ /**/
+
+--
+How To Keep A Healthy Level Of Insanity:
+17. When the money comes out the ATM, scream "I won!, I won! 3rd
+ time this week!!!!!"
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/gvim/vim-7.2/7.2.206 b/gvim/vim-7.2/7.2.206
new file mode 100644
index 0000000..e16fb7e
--- /dev/null
+++ b/gvim/vim-7.2/7.2.206
@@ -0,0 +1,46 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.206
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.206
+Problem: Win32: Can't build netbeans interface with Visual Studio 2010.
+Solution: Undefine ECONNREFUSED. (George Reilly)
+Files: src/netbeans.c
+
+
+*** ../vim-7.2.205/src/netbeans.c 2009-05-17 23:25:16.000000000 +0200
+--- src/netbeans.c 2009-06-16 16:39:17.000000000 +0200
+***************
+*** 32,37 ****
+--- 32,38 ----
+ /* WinSock API is separated from C API, thus we can't use read(), write(),
+ * errno... */
+ # define sock_errno WSAGetLastError()
++ # undef ECONNREFUSED
+ # define ECONNREFUSED WSAECONNREFUSED
+ # ifdef EINTR
+ # undef EINTR
+*** ../vim-7.2.205/src/version.c 2009-06-16 16:45:14.000000000 +0200
+--- src/version.c 2009-06-16 16:57:45.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 206,
+ /**/
+
+--
+How To Keep A Healthy Level Of Insanity:
+18. When leaving the zoo, start running towards the parking lot,
+ yelling "run for your lives, they're loose!!"
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/gvim/vim-7.2/7.2.207 b/gvim/vim-7.2/7.2.207
new file mode 100644
index 0000000..528d35d
--- /dev/null
+++ b/gvim/vim-7.2/7.2.207
@@ -0,0 +1,69 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.207
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.207
+Problem: Using freed memory with ":redrawstatus" when it works recursively.
+Solution: Prevent recursively updating the status line. (partly by Dominique
+ Pelle)
+Files: src/screen.c
+
+
+*** ../vim-7.2.206/src/screen.c 2009-06-16 16:01:34.000000000 +0200
+--- src/screen.c 2009-06-16 17:04:53.000000000 +0200
+***************
+*** 5743,5748 ****
+--- 5743,5755 ----
+ int fillchar;
+ int attr;
+ int this_ru_col;
++ static int busy = FALSE;
++
++ /* It's possible to get here recursively when 'statusline' (indirectly)
++ * invokes ":redrawstatus". Simply ignore the call then. */
++ if (busy)
++ return;
++ busy = TRUE;
+
+ wp->w_redr_status = FALSE;
+ if (wp->w_status_height == 0)
+***************
+*** 5881,5886 ****
+--- 5888,5894 ----
+ attr);
+ }
+ #endif
++ busy = FALSE;
+ }
+
+ #ifdef FEAT_STL_OPT
+*** ../vim-7.2.206/src/version.c 2009-06-16 16:57:53.000000000 +0200
+--- src/version.c 2009-06-16 17:21:56.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 207,
+ /**/
+
+--
+In many of the more relaxed civilizations on the Outer Eastern Rim of the
+Galaxy, "The Hitchhiker's Guide to the Galaxy" has already supplanted the
+great "Encyclopedia Galactica" as the standard repository of all knowledge
+and wisdom, for though it has many omissions and contains much that is
+apocryphal, or at least wildly inaccurate, it scores over the older, more
+pedestrian work in two important respects.
+First, it is slightly cheaper; and second, it has the words "DON'T PANIC"
+inscribed in large friendly letters on its cover.
+ -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/gvim/vim-7.2/7.2.208 b/gvim/vim-7.2/7.2.208
new file mode 100644
index 0000000..930770d
--- /dev/null
+++ b/gvim/vim-7.2/7.2.208
@@ -0,0 +1,82 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.208
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.208
+Problem: "set novice" gives an error message, it should be ignored.
+Solution: Don't see "no" in "novice" as unsetting an option. (Patrick
+ Texier)
+Files: src/option.c
+
+
+*** ../vim-7.2.207/src/option.c 2009-06-16 15:23:07.000000000 +0200
+--- src/option.c 2009-06-16 17:35:08.000000000 +0200
+***************
+*** 4006,4012 ****
+ else
+ {
+ prefix = 1;
+! if (STRNCMP(arg, "no", 2) == 0)
+ {
+ prefix = 0;
+ arg += 2;
+--- 4006,4012 ----
+ else
+ {
+ prefix = 1;
+! if (STRNCMP(arg, "no", 2) == 0 && STRNCMP(arg, "novice", 6) != 0)
+ {
+ prefix = 0;
+ arg += 2;
+***************
+*** 9757,9763 ****
+ }
+ --p;
+ }
+! if (STRNCMP(p, "no", 2) == 0)
+ {
+ xp->xp_context = EXPAND_BOOL_SETTINGS;
+ p += 2;
+--- 9757,9763 ----
+ }
+ --p;
+ }
+! if (STRNCMP(p, "no", 2) == 0 && STRNCMP(p, "novice", 6) != 0)
+ {
+ xp->xp_context = EXPAND_BOOL_SETTINGS;
+ p += 2;
+*** ../vim-7.2.207/src/version.c 2009-06-16 17:22:38.000000000 +0200
+--- src/version.c 2009-06-16 17:50:33.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 208,
+ /**/
+
+--
+Now it is such a bizarrely improbable coincidence that anything as
+mind-bogglingly useful as the Babel fish could have evolved purely by chance
+that some thinkers have chosen to see it as a final and clinching proof of the
+NON-existence of God.
+The argument goes something like this: 'I refuse to prove that I exist,' says
+God, 'for proof denies faith, and without faith I am nothing.'
+'But,' says Man, 'the Babel fish is a dead giveaway, isn't it? It could not
+have evolved by chance. It proves you exist, and so therefore, by your own
+arguments, you don't. QED.'
+'Oh dear,' says God, 'I hadn't thought of that,' and promptly vanishes in a
+puff of logic.
+'Oh, that was easy,' says Man, and for an encore goes on to prove that black
+is white and gets himself killed on the next pedestrian crossing.
+ -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/gvim/vim-7.2/7.2.209 b/gvim/vim-7.2/7.2.209
new file mode 100644
index 0000000..1cc3393
--- /dev/null
+++ b/gvim/vim-7.2/7.2.209
@@ -0,0 +1,82 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.209
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.209
+Problem: For xxd setmode() is undefined on Cygwin.
+Solution: Include io.h. (Dominique Pelle)
+Files: src/xxd/xxd.c
+
+
+*** ../vim-7.2.208/src/xxd/xxd.c 2007-12-03 21:32:21.000000000 +0100
+--- src/xxd/xxd.c 2009-06-16 18:03:14.000000000 +0200
+***************
+*** 64,69 ****
+--- 64,72 ----
+ # define _CRT_SECURE_NO_DEPRECATE
+ # define _CRT_NONSTDC_NO_DEPRECATE
+ #endif
++ #if !defined(CYGWIN) && (defined(CYGWIN32) || defined(__CYGWIN__) || defined(__CYGWIN32__))
++ # define CYGWIN
++ #endif
+
+ #include <stdio.h>
+ #ifdef VAXC
+***************
+*** 77,83 ****
+ #if !defined(OS2) && defined(__EMX__)
+ # define OS2
+ #endif
+! #if defined(MSDOS) || defined(WIN32) || defined(OS2) || defined(__BORLANDC__)
+ # include <io.h> /* for setmode() */
+ #else
+ # ifdef UNIX
+--- 80,87 ----
+ #if !defined(OS2) && defined(__EMX__)
+ # define OS2
+ #endif
+! #if defined(MSDOS) || defined(WIN32) || defined(OS2) || defined(__BORLANDC__) \
+! || defined(CYGWIN)
+ # include <io.h> /* for setmode() */
+ #else
+ # ifdef UNIX
+***************
+*** 150,158 ****
+ # endif
+ #endif
+
+- #if !defined(CYGWIN) && (defined(CYGWIN32) || defined(__CYGWIN__) || defined(__CYGWIN32__))
+- # define CYGWIN
+- #endif
+ #if defined(MSDOS) || defined(WIN32) || defined(OS2)
+ # define BIN_READ(yes) ((yes) ? "rb" : "rt")
+ # define BIN_WRITE(yes) ((yes) ? "wb" : "wt")
+--- 154,159 ----
+*** ../vim-7.2.208/src/version.c 2009-06-16 17:50:56.000000000 +0200
+--- src/version.c 2009-06-16 18:16:08.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 209,
+ /**/
+
+--
+"So this is it," said Arthur, "we are going to die."
+"Yes," said Ford, "except...no! Wait a minute!" He suddenly lunged across
+the chamber at something behind Arthur's line of vision. "What's this
+switch?" he cried.
+"What? Where?" cried Arthur, twisting around.
+"No, I was only fooling," said Ford, "we are going to die after all."
+ -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/gvim/vim-7.2/7.2.210 b/gvim/vim-7.2/7.2.210
new file mode 100644
index 0000000..9c51a13
--- /dev/null
+++ b/gvim/vim-7.2/7.2.210
@@ -0,0 +1,58 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.210
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.210
+Problem: When a file that is being edited has its timestamp updated outside
+ of Vim and ":checktime" is used still get a warning when writing
+ the file. (Matt Mueller)
+Solution: Store the timestamp in b_mtime_read when the timestamp is the only
+ thing that changed.
+Files: src/fileio.c
+
+
+*** ../vim-7.2.209/src/fileio.c 2009-06-16 16:01:34.000000000 +0200
+--- src/fileio.c 2009-06-20 13:29:41.000000000 +0200
+***************
+*** 6627,6633 ****
+ mesg = _("W16: Warning: Mode of file \"%s\" has changed since editing started");
+ mesg2 = _("See \":help W16\" for more info.");
+ }
+! /* Else: only timestamp changed, ignored */
+ }
+ }
+ }
+--- 6627,6636 ----
+ mesg = _("W16: Warning: Mode of file \"%s\" has changed since editing started");
+ mesg2 = _("See \":help W16\" for more info.");
+ }
+! else
+! /* Only timestamp changed, store it to avoid a warning
+! * in check_mtime() later. */
+! buf->b_mtime_read = buf->b_mtime;
+ }
+ }
+ }
+*** ../vim-7.2.209/src/version.c 2009-06-16 18:29:37.000000000 +0200
+--- src/version.c 2009-06-24 11:57:08.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 210,
+ /**/
+
+--
+Have you heard about the new Beowulf cluster? It's so fast, it executes
+an infinite loop in 6 seconds.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/gvim/vim-7.2/7.2.211 b/gvim/vim-7.2/7.2.211
new file mode 100644
index 0000000..0510198
--- /dev/null
+++ b/gvim/vim-7.2/7.2.211
@@ -0,0 +1,52 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.211
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.211
+Problem: Memory leak when expanding a series of file names.
+Solution: Use ga_clear_strings() instead of ga_clear().
+Files: src/misc1.c
+
+
+*** ../vim-7.2.210/src/misc1.c 2009-05-17 13:30:58.000000000 +0200
+--- src/misc1.c 2009-06-24 16:16:17.000000000 +0200
+***************
+*** 9193,9199 ****
+ else if (vim_strpbrk(p, (char_u *)"$~") != NULL)
+ {
+ vim_free(p);
+! ga_clear(&ga);
+ i = mch_expand_wildcards(num_pat, pat, num_file, file,
+ flags);
+ recursive = FALSE;
+--- 9193,9199 ----
+ else if (vim_strpbrk(p, (char_u *)"$~") != NULL)
+ {
+ vim_free(p);
+! ga_clear_strings(&ga);
+ i = mch_expand_wildcards(num_pat, pat, num_file, file,
+ flags);
+ recursive = FALSE;
+*** ../vim-7.2.210/src/version.c 2009-06-24 11:57:53.000000000 +0200
+--- src/version.c 2009-06-24 16:24:32.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 211,
+ /**/
+
+--
+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 ///
diff --git a/gvim/vim-7.2/7.2.212 b/gvim/vim-7.2/7.2.212
new file mode 100644
index 0000000..33fcb5c
--- /dev/null
+++ b/gvim/vim-7.2/7.2.212
@@ -0,0 +1,62 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.212 (extra)
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.212 (extra)
+Problem: Warnings for redefining SIG macros.
+Solution: Don't define them if already defined. (Bjorn Winckler)
+Files: src/os_mac.h
+
+
+*** ../vim-7.2.211/src/os_mac.h 2008-06-24 22:27:34.000000000 +0200
+--- src/os_mac.h 2009-06-19 21:21:57.000000000 +0200
+***************
+*** 268,276 ****
+ */
+
+ #ifdef MACOS_X_UNIX
+! # define SIGPROTOARG (int)
+! # define SIGDEFARG(s) (s) int s;
+! # define SIGDUMMYARG 0
+ # undef HAVE_AVAIL_MEM
+ # ifndef HAVE_CONFIG_H
+ # define RETSIGTYPE void
+--- 268,282 ----
+ */
+
+ #ifdef MACOS_X_UNIX
+! # ifndef SIGPROTOARG
+! # define SIGPROTOARG (int)
+! # endif
+! # ifndef SIGDEFARG
+! # define SIGDEFARG(s) (s) int s UNUSED;
+! # endif
+! # ifndef SIGDUMMYARG
+! # define SIGDUMMYARG 0
+! # endif
+ # undef HAVE_AVAIL_MEM
+ # ifndef HAVE_CONFIG_H
+ # define RETSIGTYPE void
+*** ../vim-7.2.211/src/version.c 2009-06-24 16:25:23.000000000 +0200
+--- src/version.c 2009-06-24 16:40:18.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 212,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+37. You start looking for hot HTML addresses in public restrooms.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/gvim/vim-7.2/7.2.213 b/gvim/vim-7.2/7.2.213
new file mode 100644
index 0000000..74a0e16
--- /dev/null
+++ b/gvim/vim-7.2/7.2.213
@@ -0,0 +1,53 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.213
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.213
+Problem: Warning for using vsprintf().
+Solution: Use vim_vsnprintf().
+Files: src/netbeans.c
+
+
+*** ../vim-7.2.212/src/netbeans.c 2009-06-16 16:57:53.000000000 +0200
+--- src/netbeans.c 2009-06-24 11:26:43.000000000 +0200
+***************
+*** 2586,2592 ****
+ va_list ap;
+
+ va_start(ap, cmd);
+! vsprintf(buf, cmd, ap);
+ va_end(ap);
+
+ nbdebug((" COLONCMD %s\n", buf));
+--- 2586,2592 ----
+ va_list ap;
+
+ va_start(ap, cmd);
+! vim_vsnprintf(buf, sizeof(buf), cmd, ap, NULL);
+ va_end(ap);
+
+ nbdebug((" COLONCMD %s\n", buf));
+*** ../vim-7.2.212/src/version.c 2009-06-24 16:41:01.000000000 +0200
+--- src/version.c 2009-06-24 16:49:06.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 213,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+38. You wake up at 3 a.m. to go to the bathroom and stop and check your e-mail
+ on the way back to bed.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/gvim/vim-7.2/7.2.214 b/gvim/vim-7.2/7.2.214
new file mode 100644
index 0000000..17cb156
--- /dev/null
+++ b/gvim/vim-7.2/7.2.214
@@ -0,0 +1,65 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.214
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.214
+Problem: Crash with complete function for user command. (Andy Wokula)
+Solution: Avoid using a NULL pointer (Dominique Pelle)
+Files: src/ex_getln.c
+
+
+*** ../vim-7.2.213/src/ex_getln.c 2009-05-16 17:29:37.000000000 +0200
+--- src/ex_getln.c 2009-06-24 16:57:28.000000000 +0200
+***************
+*** 4874,4887 ****
+ /* Loop over the items in the list. */
+ for (li = retlist->lv_first; li != NULL; li = li->li_next)
+ {
+! if (li->li_tv.v_type != VAR_STRING)
+! continue; /* Skip non-string items */
+
+ if (ga_grow(&ga, 1) == FAIL)
+ break;
+
+ ((char_u **)ga.ga_data)[ga.ga_len] =
+! vim_strsave(li->li_tv.vval.v_string);
+ ++ga.ga_len;
+ }
+ list_unref(retlist);
+--- 4874,4887 ----
+ /* Loop over the items in the list. */
+ for (li = retlist->lv_first; li != NULL; li = li->li_next)
+ {
+! if (li->li_tv.v_type != VAR_STRING || li->li_tv.vval.v_string == NULL)
+! continue; /* Skip non-string items and empty strings */
+
+ if (ga_grow(&ga, 1) == FAIL)
+ break;
+
+ ((char_u **)ga.ga_data)[ga.ga_len] =
+! vim_strsave(li->li_tv.vval.v_string);
+ ++ga.ga_len;
+ }
+ list_unref(retlist);
+*** ../vim-7.2.213/src/version.c 2009-06-24 16:49:50.000000000 +0200
+--- src/version.c 2009-06-24 17:03:58.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 214,
+ /**/
+
+--
+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 ///
diff --git a/gvim/vim-7.2/7.2.215 b/gvim/vim-7.2/7.2.215
new file mode 100644
index 0000000..90e746c
--- /dev/null
+++ b/gvim/vim-7.2/7.2.215
@@ -0,0 +1,310 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.215
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.215
+Problem: ml_get error when using ":vimgrep".
+Solution: Load the memfile for the hidden buffer before putting it in a
+ window. Correct the order of splitting the window and filling
+ the window and buffer with data.
+Files: src/fileio.c, src/proto/window.pro, src/quickfix.c, src/window.c
+
+
+*** ../vim-7.2.214/src/fileio.c 2009-06-24 11:57:53.000000000 +0200
+--- src/fileio.c 2009-06-24 12:53:19.000000000 +0200
+***************
+*** 710,716 ****
+ #endif
+ #ifdef UNIX
+ /* Set swap file protection bits after creating it. */
+! if (swap_mode > 0 && curbuf->b_ml.ml_mfp->mf_fname != NULL)
+ (void)mch_setperm(curbuf->b_ml.ml_mfp->mf_fname, (long)swap_mode);
+ #endif
+ }
+--- 710,717 ----
+ #endif
+ #ifdef UNIX
+ /* Set swap file protection bits after creating it. */
+! if (swap_mode > 0 && curbuf->b_ml.ml_mfp != NULL
+! && curbuf->b_ml.ml_mfp->mf_fname != NULL)
+ (void)mch_setperm(curbuf->b_ml.ml_mfp->mf_fname, (long)swap_mode);
+ #endif
+ }
+***************
+*** 8435,8443 ****
+ * effects, insert it in a the current tab page.
+ * Anything related to a window (e.g., setting folds) may have
+ * unexpected results. */
+! curwin = aucmd_win;
+! curwin->w_buffer = buf;
+ ++buf->b_nwindows;
+
+ #ifdef FEAT_WINDOWS
+ /* Split the current window, put the aucmd_win in the upper half. */
+--- 8436,8444 ----
+ * effects, insert it in a the current tab page.
+ * Anything related to a window (e.g., setting folds) may have
+ * unexpected results. */
+! aucmd_win->w_buffer = buf;
+ ++buf->b_nwindows;
++ win_init_empty(aucmd_win); /* set cursor and topline to safe values */
+
+ #ifdef FEAT_WINDOWS
+ /* Split the current window, put the aucmd_win in the upper half. */
+***************
+*** 8448,8459 ****
+ (void)win_comp_pos(); /* recompute window positions */
+ p_ea = save_ea;
+ #endif
+! /* set cursor and topline to safe values */
+! curwin_init();
+! #ifdef FEAT_VERTSPLIT
+! curwin->w_wincol = 0;
+! curwin->w_width = Columns;
+! #endif
+ }
+ curbuf = buf;
+ aco->new_curwin = curwin;
+--- 8449,8455 ----
+ (void)win_comp_pos(); /* recompute window positions */
+ p_ea = save_ea;
+ #endif
+! curwin = aucmd_win;
+ }
+ curbuf = buf;
+ aco->new_curwin = curwin;
+*** ../vim-7.2.214/src/proto/window.pro 2009-06-16 16:01:34.000000000 +0200
+--- src/proto/window.pro 2009-06-24 12:53:13.000000000 +0200
+***************
+*** 14,19 ****
+--- 14,20 ----
+ win_T *winframe_remove __ARGS((win_T *win, int *dirp, tabpage_T *tp));
+ void close_others __ARGS((int message, int forceit));
+ void curwin_init __ARGS((void));
++ void win_init_empty __ARGS((win_T *wp));
+ int win_alloc_first __ARGS((void));
+ void win_alloc_aucmd_win __ARGS((void));
+ void win_init_size __ARGS((void));
+*** ../vim-7.2.214/src/quickfix.c 2009-05-17 13:30:58.000000000 +0200
+--- src/quickfix.c 2009-06-24 15:30:06.000000000 +0200
+***************
+*** 3411,3424 ****
+ /* Init the options. */
+ buf_copy_options(newbuf, BCO_ENTER | BCO_NOHELP);
+
+! /* set curwin/curbuf to buf and save a few things */
+! aucmd_prepbuf(&aco, newbuf);
+
+! /* Need to set the filename for autocommands. */
+! (void)setfname(curbuf, fname, NULL, FALSE);
+
+- if (ml_open(curbuf) == OK)
+- {
+ /* Create swap file now to avoid the ATTENTION message. */
+ check_need_swap(TRUE);
+
+--- 3411,3425 ----
+ /* Init the options. */
+ buf_copy_options(newbuf, BCO_ENTER | BCO_NOHELP);
+
+! /* need to open the memfile before putting the buffer in a window */
+! if (ml_open(newbuf) == OK)
+! {
+! /* set curwin/curbuf to buf and save a few things */
+! aucmd_prepbuf(&aco, newbuf);
+
+! /* Need to set the filename for autocommands. */
+! (void)setfname(curbuf, fname, NULL, FALSE);
+
+ /* Create swap file now to avoid the ATTENTION message. */
+ check_need_swap(TRUE);
+
+***************
+*** 3441,3450 ****
+ newbuf = curbuf;
+ }
+ }
+- }
+
+! /* restore curwin/curbuf and a few other things */
+! aucmd_restbuf(&aco);
+
+ if (!buf_valid(newbuf))
+ return NULL;
+--- 3442,3451 ----
+ newbuf = curbuf;
+ }
+ }
+
+! /* restore curwin/curbuf and a few other things */
+! aucmd_restbuf(&aco);
+! }
+
+ if (!buf_valid(newbuf))
+ return NULL;
+*** ../vim-7.2.214/src/window.c 2009-06-16 16:01:34.000000000 +0200
+--- src/window.c 2009-06-24 14:35:16.000000000 +0200
+***************
+*** 2354,2366 ****
+ frame_T *frp;
+ win_T *wp;
+
+- #ifdef FEAT_FOLDING
+- clearFolding(win);
+- #endif
+-
+- /* reduce the reference count to the argument list. */
+- alist_unlink(win->w_alist);
+-
+ /* Remove the window and its frame from the tree of frames. */
+ frp = win->w_frame;
+ wp = winframe_remove(win, dirp, tp);
+--- 2354,2359 ----
+***************
+*** 2386,2394 ****
+ tabpage_close(TRUE);
+ # endif
+
+- while (firstwin != NULL)
+- (void)win_free_mem(firstwin, &dummy, NULL);
+-
+ # ifdef FEAT_AUTOCMD
+ if (aucmd_win != NULL)
+ {
+--- 2379,2384 ----
+***************
+*** 2396,2401 ****
+--- 2386,2394 ----
+ aucmd_win = NULL;
+ }
+ # endif
++
++ while (firstwin != NULL)
++ (void)win_free_mem(firstwin, &dummy, NULL);
+ }
+ #endif
+
+***************
+*** 3204,3230 ****
+ void
+ curwin_init()
+ {
+! redraw_win_later(curwin, NOT_VALID);
+! curwin->w_lines_valid = 0;
+! curwin->w_cursor.lnum = 1;
+! curwin->w_curswant = curwin->w_cursor.col = 0;
+ #ifdef FEAT_VIRTUALEDIT
+! curwin->w_cursor.coladd = 0;
+ #endif
+! curwin->w_pcmark.lnum = 1; /* pcmark not cleared but set to line 1 */
+! curwin->w_pcmark.col = 0;
+! curwin->w_prev_pcmark.lnum = 0;
+! curwin->w_prev_pcmark.col = 0;
+! curwin->w_topline = 1;
+ #ifdef FEAT_DIFF
+! curwin->w_topfill = 0;
+ #endif
+! curwin->w_botline = 2;
+ #ifdef FEAT_FKMAP
+! if (curwin->w_p_rl)
+! curwin->w_farsi = W_CONV + W_R_L;
+ else
+! curwin->w_farsi = W_CONV;
+ #endif
+ }
+
+--- 3197,3230 ----
+ void
+ curwin_init()
+ {
+! win_init_empty(curwin);
+! }
+!
+! void
+! win_init_empty(wp)
+! win_T *wp;
+! {
+! redraw_win_later(wp, NOT_VALID);
+! wp->w_lines_valid = 0;
+! wp->w_cursor.lnum = 1;
+! wp->w_curswant = wp->w_cursor.col = 0;
+ #ifdef FEAT_VIRTUALEDIT
+! wp->w_cursor.coladd = 0;
+ #endif
+! wp->w_pcmark.lnum = 1; /* pcmark not cleared but set to line 1 */
+! wp->w_pcmark.col = 0;
+! wp->w_prev_pcmark.lnum = 0;
+! wp->w_prev_pcmark.col = 0;
+! wp->w_topline = 1;
+ #ifdef FEAT_DIFF
+! wp->w_topfill = 0;
+ #endif
+! wp->w_botline = 2;
+ #ifdef FEAT_FKMAP
+! if (wp->w_p_rl)
+! wp->w_farsi = W_CONV + W_R_L;
+ else
+! wp->w_farsi = W_CONV;
+ #endif
+ }
+
+***************
+*** 4325,4330 ****
+--- 4325,4337 ----
+ {
+ int i;
+
++ #ifdef FEAT_FOLDING
++ clearFolding(wp);
++ #endif
++
++ /* reduce the reference count to the argument list. */
++ alist_unlink(wp->w_alist);
++
+ #ifdef FEAT_AUTOCMD
+ /* Don't execute autocommands while the window is halfway being deleted.
+ * gui_mch_destroy_scrollbar() may trigger a FocusGained event. */
+***************
+*** 4387,4393 ****
+ }
+ #endif /* FEAT_GUI */
+
+! win_remove(wp, tp);
+ vim_free(wp);
+
+ #ifdef FEAT_AUTOCMD
+--- 4394,4403 ----
+ }
+ #endif /* FEAT_GUI */
+
+! #ifdef FEAT_AUTOCMD
+! if (wp != aucmd_win)
+! #endif
+! win_remove(wp, tp);
+ vim_free(wp);
+
+ #ifdef FEAT_AUTOCMD
+*** ../vim-7.2.214/src/version.c 2009-06-24 17:04:40.000000000 +0200
+--- src/version.c 2009-06-24 17:27:38.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 215,
+ /**/
+
+--
+Micro$oft: where do you want to go today?
+ Linux: where do you want to go tomorrow?
+ FreeBSD: are you guys coming, or what?
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/gvim/vim-7.2/7.2.216 b/gvim/vim-7.2/7.2.216
new file mode 100644
index 0000000..5a7afdf
--- /dev/null
+++ b/gvim/vim-7.2/7.2.216
@@ -0,0 +1,137 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.216
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.216
+Problem: Two error messages have the same number E812.
+Solution: Give one message a different number.
+Files: runtime/doc/autocmd.txt, runtime/doc/if_mzsch.txt, src/if_mzsch.c
+
+
+*** ../vim-7.2.215/runtime/doc/autocmd.txt 2008-08-09 19:36:46.000000000 +0200
+--- runtime/doc/autocmd.txt 2009-06-24 17:49:04.000000000 +0200
+***************
+*** 335,340 ****
+--- 335,342 ----
+ NOTE: When this autocommand is executed, the
+ current buffer "%" may be different from the
+ buffer being deleted "<afile>" and "<abuf>".
++ Don't change to another buffer, it will cause
++ problems.
+ *BufEnter*
+ BufEnter After entering a buffer. Useful for setting
+ options for a file type. Also executed when
+***************
+*** 397,402 ****
+--- 399,406 ----
+ NOTE: When this autocommand is executed, the
+ current buffer "%" may be different from the
+ buffer being unloaded "<afile>".
++ Don't change to another buffer, it will cause
++ problems.
+ *BufWinEnter*
+ BufWinEnter After a buffer is displayed in a window. This
+ can be when the buffer is loaded (after
+***************
+*** 428,433 ****
+--- 432,439 ----
+ NOTE: When this autocommand is executed, the
+ current buffer "%" may be different from the
+ buffer being deleted "<afile>".
++ Don't change to another buffer, it will cause
++ problems.
+ *BufWrite* *BufWritePre*
+ BufWrite or BufWritePre Before writing the whole buffer to a file.
+ *BufWriteCmd*
+***************
+*** 748,755 ****
+ 'a' abort, like hitting CTRL-C
+ When set to an empty string the user will be
+ asked, as if there was no SwapExists autocmd.
+! Note: Do not try to change the buffer, the
+! results are unpredictable.
+ *Syntax*
+ Syntax When the 'syntax' option has been set. The
+ pattern is matched against the syntax name.
+--- 754,763 ----
+ 'a' abort, like hitting CTRL-C
+ When set to an empty string the user will be
+ asked, as if there was no SwapExists autocmd.
+! *E812*
+! It is not allowed to change to another buffer,
+! change a buffer name or change directory
+! here.
+ *Syntax*
+ Syntax When the 'syntax' option has been set. The
+ pattern is matched against the syntax name.
+*** ../vim-7.2.215/runtime/doc/if_mzsch.txt 2009-05-26 22:58:43.000000000 +0200
+--- runtime/doc/if_mzsch.txt 2009-06-24 12:08:20.000000000 +0200
+***************
+*** 1,4 ****
+! *if_mzsch.txt* For Vim version 7.2. Last change: 2009 May 26
+
+
+ VIM REFERENCE MANUAL by Sergey Khorev
+--- 1,4 ----
+! *if_mzsch.txt* For Vim version 7.2. Last change: 2009 Jun 24
+
+
+ VIM REFERENCE MANUAL by Sergey Khorev
+***************
+*** 231,237 ****
+ (set-cursor (line . col) [window]) Set cursor position.
+
+ ==============================================================================
+! 5. Dynamic loading *mzscheme-dynamic* *E812*
+
+ On MS-Windows the MzScheme libraries can be loaded dynamically. The |:version|
+ output then includes |+mzscheme/dyn|.
+--- 231,237 ----
+ (set-cursor (line . col) [window]) Set cursor position.
+
+ ==============================================================================
+! 5. Dynamic loading *mzscheme-dynamic* *E815*
+
+ On MS-Windows the MzScheme libraries can be loaded dynamically. The |:version|
+ output then includes |+mzscheme/dyn|.
+*** ../vim-7.2.215/src/if_mzsch.c 2009-05-26 22:58:43.000000000 +0200
+--- src/if_mzsch.c 2009-06-24 12:08:23.000000000 +0200
+***************
+*** 1040,1046 ****
+ #ifdef DYNAMIC_MZSCHEME
+ if (!mzscheme_enabled(TRUE))
+ {
+! EMSG(_("E812: Sorry, this command is disabled, the MzScheme libraries could not be loaded."));
+ return -1;
+ }
+ #endif
+--- 1040,1046 ----
+ #ifdef DYNAMIC_MZSCHEME
+ if (!mzscheme_enabled(TRUE))
+ {
+! EMSG(_("E815: Sorry, this command is disabled, the MzScheme libraries could not be loaded."));
+ return -1;
+ }
+ #endif
+*** ../vim-7.2.215/src/version.c 2009-06-24 17:31:27.000000000 +0200
+--- src/version.c 2009-06-24 17:46:56.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 216,
+ /**/
+
+--
+Everyone has a photographic memory. Some don't have film.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/gvim/vim-7.2/7.2.217 b/gvim/vim-7.2/7.2.217
new file mode 100644
index 0000000..30d8aa6
--- /dev/null
+++ b/gvim/vim-7.2/7.2.217
@@ -0,0 +1,57 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.217
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.217
+Problem: Running tests with valgrind doesn't work as advertised.
+Solution: Fix the line in the Makefile.
+Files: src/testdir/Makefile
+
+
+*** ../vim-7.2.216/src/testdir/Makefile 2009-03-11 16:26:01.000000000 +0100
+--- src/testdir/Makefile 2009-06-24 14:59:42.000000000 +0200
+***************
+*** 4,12 ****
+
+ VIMPROG = ../vim
+
+! # Uncomment this line for using valgrind.
+! # The output goes into a file "valgrind.$PID" (sorry, no test number).
+! # VALGRIND = valgrind --tool=memcheck --leak-check=yes --num-callers=15 --logfile=valgrind
+
+ SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \
+ test7.out test8.out test9.out test10.out test11.out \
+--- 4,14 ----
+
+ VIMPROG = ../vim
+
+! # Uncomment this line to use valgrind for memory leaks and extra warnings.
+! # The output goes into a file "valgrind.testN"
+! # Vim should be compiled with EXITFREE to avoid false warnings.
+! # This will make testing about 10 times as slow.
+! # VALGRIND = valgrind --tool=memcheck --leak-check=yes --num-callers=15 --log-file=valgrind.$*
+
+ SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \
+ test7.out test8.out test9.out test10.out test11.out \
+*** ../vim-7.2.216/src/version.c 2009-06-24 17:51:01.000000000 +0200
+--- src/version.c 2009-06-24 18:07:07.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 217,
+ /**/
+
+--
+A day without sunshine is like, well, night.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/gvim/vim-7.2/7.2.218 b/gvim/vim-7.2/7.2.218
new file mode 100644
index 0000000..b48d718
--- /dev/null
+++ b/gvim/vim-7.2/7.2.218
@@ -0,0 +1,52 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.218
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.218
+Problem: Cannot build GTK with hangul_input feature. (Dominique Pelle)
+Solution: Adjuste #ifdef. (SungHyun Nam)
+Files: src/gui.c
+
+
+*** ../vim-7.2.217/src/gui.c 2009-06-16 16:01:34.000000000 +0200
+--- src/gui.c 2009-06-24 17:45:01.000000000 +0200
+***************
+*** 959,965 ****
+ guicolor_T fg, bg;
+
+ if (
+! # ifdef HAVE_GTK2
+ preedit_get_status()
+ # else
+ im_get_status()
+--- 959,965 ----
+ guicolor_T fg, bg;
+
+ if (
+! # if defined(HAVE_GTK2) && !defined(FEAT_HANGULIN)
+ preedit_get_status()
+ # else
+ im_get_status()
+*** ../vim-7.2.217/src/version.c 2009-06-24 18:07:55.000000000 +0200
+--- src/version.c 2009-06-24 18:31:06.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 218,
+ /**/
+
+--
+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 ///
diff --git a/initscripts-git/PKGBUILD b/initscripts-git/PKGBUILD
index c881476..da6c056 100644
--- a/initscripts-git/PKGBUILD
+++ b/initscripts-git/PKGBUILD
@@ -2,7 +2,7 @@
# Maintainer: Aaron Griffin <aaron@archlinux.org>
pkgname=initscripts-git
-pkgver=20090719
+pkgver=20090720
pkgrel=1
pkgdesc="System initialization/bootup scripts - GIT version"
arch=('i686' 'x86_64')
diff --git a/mp4tools/PKGBUILD b/mp4tools/PKGBUILD
new file mode 100644
index 0000000..fa0797f
--- /dev/null
+++ b/mp4tools/PKGBUILD
@@ -0,0 +1,16 @@
+# Contributor: Lukas Jirkovsky <l.jirkovsky@gmail.com>
+pkgname=mp4tools
+pkgver=0.6.7
+pkgrel=1
+pkgdesc="Set of scripts to encode audio and video do MP4"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/~teknoraver/+archive/ppa"
+license=('GPL')
+depends=('bash' 'gpac' 'mplayer' 'faac' 'aacplusenc' 'amrenc')
+source=(https://launchpad.net/~teknoraver/+archive/ppa/+files/mp4tools_$pkgver.tar.gz)
+md5sums=('22070faa3dff5f55e85e0882331c7bf7')
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+ make INSTDIR="$pkgdir"/usr install
+}
diff --git a/mpd-git/PKGBUILD b/mpd-git/PKGBUILD
index 0364c8b..6644414 100644
--- a/mpd-git/PKGBUILD
+++ b/mpd-git/PKGBUILD
@@ -1,7 +1,7 @@
# Contributor: Slash <demodevil5[at]yahoo[dot]com>
pkgname=mpd-git
-pkgver=20090425
+pkgver=20090714
pkgrel=1
pkgdesc="music daemon that plays mp3, flac, aac, mod, wav, mpc and ogg files"
url="http://musicpd.org"
diff --git a/mplayer-vdpau-nogui/PKGBUILD b/mplayer-vdpau-nogui/PKGBUILD
new file mode 100644
index 0000000..985a5b8
--- /dev/null
+++ b/mplayer-vdpau-nogui/PKGBUILD
@@ -0,0 +1,44 @@
+#Contributor: Reiser <metal@pop3.ru>
+
+pkgname=mplayer-vdpau-nogui
+pkgver=29542
+pkgrel=1
+pkgdesc="Famous multimedia player, dev. version, without its GUI and support for nvidia VDPAU"
+arch=('i686' 'x86_64')
+url="http://www.mplayerhq.hu/"
+license=('GPL')
+depends=('ttf-dejavu' 'nvidia' 'opencore-amr' 'libdvdnav>=4.1.3' 'lame' 'xvidcore')
+makedepends=('subversion')
+conflicts=('mplayer')
+provides=(mplayer=$pkgver)
+source=('no_segfault_configure.diff')
+md5sums=(ed962f7642ffcf2411ec6465fdc8c132)
+
+_svntrunk=svn://svn.mplayerhq.hu/mplayer/trunk
+_svnmod=mplayer-vdpau
+
+build() {
+ cd $srcdir
+ svn co $_svntrunk $_svnmod
+ cp -R $_svnmod $_svnmod-build
+ cd $_svnmod-build
+ patch -p1 < ../no_segfault_configure.diff
+
+ ./configure --prefix=/usr --confdir=/etc/mplayer --disable-gui \
+ --disable-runtime-cpudetection --enable-largefiles --enable-menu \
+ --disable-libdv --disable-aa --disable-liblzo --disable-speex \
+ --disable-fribidi --disable-arts --disable-esd --disable-smb --enable-dvdnav \
+ --disable-openal --disable-faad-internal --disable-jack --disable-directfb \
+ --disable-musepack --enable-libopencore_amrnb --enable-libopencore_amrwb \
+ --enable-vdpau --disable-libbs2b
+
+ make || return 1
+ make DESTDIR=$pkgdir install || return 1
+
+ install -m0644 etc/{codecs.conf,input.conf,example.conf} $pkgdir/etc/mplayer
+ install -d $pkgdir/usr/share/mplayer/
+ ln -s /usr/share/fonts/TTF/DejaVuSans.ttf $pkgdir/usr/share/mplayer/subfont.ttf
+
+ cd ../
+ rm -rf ./$_svnmod-build
+}
diff --git a/mplayer-vdpau-nogui/no_segfault_configure.diff b/mplayer-vdpau-nogui/no_segfault_configure.diff
new file mode 100644
index 0000000..2dd5fe4
--- /dev/null
+++ b/mplayer-vdpau-nogui/no_segfault_configure.diff
@@ -0,0 +1,11 @@
+--- a/configure.old 2008-11-15 23:27:59.000000000 +0100
++++ b/configure 2008-11-15 23:28:26.000000000 +0100
+@@ -79,7 +79,7 @@
+ }
+
+ tmp_run() {
+- "$TMPEXE" >> "$TMPLOG" 2>&1
++ :
+ }
+
+ # Display error message, flushes tempfile, exit
diff --git a/opencore-amr/PKGBUILD b/opencore-amr/PKGBUILD
new file mode 100644
index 0000000..da36ced
--- /dev/null
+++ b/opencore-amr/PKGBUILD
@@ -0,0 +1,37 @@
+# Contributor: WAntilles <wantilles@adslgr.com>
+# Many thanks to the Gentoo guys.
+
+pkgname=opencore-amr
+pkgver=0.1.1
+pkgrel=2
+pkgdesc="Open source implementation of the Adaptive Multi Rate (AMR) speech codec"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://opencore-amr.sourceforge.net/"
+depends=('glibc')
+source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz
+ opencore-amr-0.1.1-gentoo-pic.patch
+ opencore-amr-0.1.1-arch-paths.patch)
+md5sums=('d2e18436202fc14e03e5a254f8eb1df4'
+ '8bf96678aaec5a6173185dd9608799d1'
+ 'd253da6c39b3c7455ed01afa1e1d300a')
+
+build() {
+ cd ${srcdir}/${pkgname}
+
+ #Patch for -fPIC problem (graciously taken from Gentoo's e-build)
+ patch -Np2 -i "${srcdir}/opencore-amr-0.1.1-gentoo-pic.patch" || return 1
+
+ #Patch for correct Arch paths
+ patch -Np1 -i "${srcdir}/opencore-amr-0.1.1-arch-paths.patch" || return 1
+
+ make || return 1
+ make DESTDIR=${pkgdir}/ install || return 1
+}
+
+md5sums=('dcdc1b3a7f32668b196e861b0fa0e602'
+ '8bf96678aaec5a6173185dd9608799d1'
+ 'd253da6c39b3c7455ed01afa1e1d300a')
+sha256sums=('eb17e4b99a37b66b85798551fb2036664e34f61fa06b2a9b5516d6216f5f007d'
+ '83cce71c7bac50781cca800fbd0a81f7fd1f52714b9bd7cad46b242cc79000fa'
+ '25f30aa53d3cc6a4fef2b3695c89cd399586eb5c741174bb371cb2084bfe55b5')
diff --git a/opencore-amr/opencore-amr-0.1.1-arch-paths.patch b/opencore-amr/opencore-amr-0.1.1-arch-paths.patch
new file mode 100644
index 0000000..36a4cfe
--- /dev/null
+++ b/opencore-amr/opencore-amr-0.1.1-arch-paths.patch
@@ -0,0 +1,28 @@
+Index: opencore-amr/amrnb/Makefile
+===================================================================
+--- opencore-amr.orig/amrnb/Makefile
++++ opencore-amr/amrnb/Makefile
+@@ -10,7 +10,7 @@
+ endif
+
+ ifeq (, $(PREFIX))
+- PREFIX = /usr/local
++ PREFIX = /usr
+ endif
+
+ DEC_DIR = $(AMR_BASE)/amr_nb/dec
+
+Index: opencore-amr/amrwb/Makefile
+===================================================================
+--- opencore-amr.orig/amrwb/Makefile
++++ opencore-amr/amrwb/Makefile
+@@ -10,7 +10,7 @@
+ endif
+
+ ifeq (, $(PREFIX))
+- PREFIX = /usr/local
++ PREFIX = /usr
+ endif
+
+ DEC_DIR = $(AMR_BASE)/amr_wb/dec
+
diff --git a/opencore-amr/opencore-amr-0.1.1-gentoo-pic.patch b/opencore-amr/opencore-amr-0.1.1-gentoo-pic.patch
new file mode 100644
index 0000000..1664ac4
--- /dev/null
+++ b/opencore-amr/opencore-amr-0.1.1-gentoo-pic.patch
@@ -0,0 +1,66 @@
+Index: opencore-amr/amrnb/Makefile
+===================================================================
+--- opencore-amr.orig/amrnb/Makefile
++++ opencore-amr/amrnb/Makefile
+@@ -41,6 +41,7 @@ COMMON_OBJS := $(COMMON_SRC:.cpp=.o)
+ COMMON_OBJS := $(patsubst %,$(COMMON_SRC_DIR)/%, $(COMMON_OBJS))
+
+ OBJS = wrapper.o $(DEC_OBJS) $(ENC_OBJS) $(COMMON_OBJS)
++SOBJS = $(OBJS:%.o=%.lo)
+
+ #Versioning
+ MAJOR = 0
+@@ -59,13 +60,19 @@ SHLIB = libopencore-amrnb.$(SHLIB_EXT)
+
+ all: libopencore-amrnb.a $(SHLIB)
+
+-$(SHLIB): $(OBJS)
++$(SHLIB): $(SOBJS)
+ ifeq ($(shell uname), Darwin)
+ $(CXX) $(SHLIB_FLAGS) -o $@ $+ $(LDFLAGS)
+ else
+ $(CXX) $(SHLIB_FLAGS) -o $@ $+ -Wl,-soname,$(SONAME) $(LDFLAGS)
+ endif
+
++%.lo: %.c
++ $(CC) $(CPPFLAGS) $(CFLAGS) -fPIC -DPIC -c $< -o $@
++
++%.lo: %.cpp
++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -fPIC -DPIC -c $< -o $@
++
+ libopencore-amrnb.a: $(OBJS)
+ ar rcs $@ $+
+
+Index: opencore-amr/amrwb/Makefile
+===================================================================
+--- opencore-amr.orig/amrwb/Makefile
++++ opencore-amr/amrwb/Makefile
+@@ -27,6 +27,7 @@ DEC_OBJS := $(DEC_SRC:.cpp=.o)
+ DEC_OBJS := $(patsubst %,$(DEC_SRC_DIR)/%, $(DEC_OBJS))
+
+ OBJS = wrapper.o $(DEC_OBJS)
++SOBJS = $(OBJS:%.o=%.lo)
+
+ #Versioning
+ MAJOR = 0
+@@ -45,13 +46,19 @@ SHLIB = libopencore-amrwb.$(SHLIB_EXT)
+
+ all: libopencore-amrwb.a $(SHLIB)
+
+-$(SHLIB): $(OBJS)
++$(SHLIB): $(SOBJS)
+ ifeq ($(shell uname), Darwin)
+ $(CXX) $(SHLIB_FLAGS) -o $@ $+ $(LDFLAGS)
+ else
+ $(CXX) $(SHLIB_FLAGS) -o $@ $+ -Wl,-soname,$(SONAME) $(LDFLAGS)
+ endif
+
++%.lo: %.c
++ $(CC) $(CPPFLAGS) $(CFLAGS) -fPIC -DPIC -c $< -o $@
++
++%.lo: %.cpp
++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -fPIC -DPIC -c $< -o $@
++
+ libopencore-amrwb.a: $(OBJS)
+ ar rcs $@ $+
+
diff --git a/oss-mercurial/PKGBUILD b/oss-mercurial/PKGBUILD
index ff4a285..c455701 100644
--- a/oss-mercurial/PKGBUILD
+++ b/oss-mercurial/PKGBUILD
@@ -1,7 +1,7 @@
# This is a modified version of the oss pkg in community
pkgname="oss-mercurial"
-pkgver="4.2"
-pkgrel=1
+pkgver="4.1"
+pkgrel=3
pkgdesc="Open Sound System UNIX audio architecture"
arch=('i686' 'x86_64')
url="http://developer.opensound.com/"
@@ -17,7 +17,10 @@ md5sums=('b9a380a0ac8896390d71ac13676f27e1'
'1494a2304a1eb7a1979e7e83d894c67a')
optdepends=('gtk2: for graphical mixer (ossxmix)'
- 'hal: for automatic USB audio configuration')
+ 'hal: for automatic USB audio configuration'
+ 'libflashsupport-oss: for Flash plugin support')
+
+[ "$CARCH" = "x86_64" ] && optdepends[2]='lib32-libflashsupport-oss: for Flash plugin support'
build() {
#_dir="oss-v4.1-buildrc2-src-gpl"
@@ -31,7 +34,11 @@ build() {
unset OSFLAGS
unset LIBRARIES
+ # Remove libflashsupport, as it belongs to a separate package.
+ rm -f "$srcdir/$_dir/oss/lib/flashsupport.c" &> /dev/null
+
msg "Preparing the build environment."
+ zsh
if [ ! -d build ]; then
# Create build directory and configure
diff --git a/pacgraph/PKGBUILD b/pacgraph/PKGBUILD
index f41ce3a..351b674 100644
--- a/pacgraph/PKGBUILD
+++ b/pacgraph/PKGBUILD
@@ -1,6 +1,6 @@
# Contributor: Kyle Keen <keenerd@gmail.com>
pkgname=pacgraph
-pkgver=20090614
+pkgver=20090810
pkgrel=2
pkgdesc="Draws a graph of installed packages to PNG, SVG, console or GUI. Good for finding bloat."
arch=('i686' 'x86_64')
@@ -8,9 +8,9 @@ url="http://kmkeen.com/pacgraph/"
license=('GPL')
depends=('python')
makedepends=()
-optdepends=('inkscape' 'imagemagick' 'svg2png', 'tk')
+optdepends=('inkscape' 'imagemagick' 'svg2png' 'tk')
source=(http://kmkeen.com/pacgraph/$pkgname-$pkgver.tar.gz)
-md5sums=('f91d930b22a75c8900c7539d09e0fa7e')
+md5sums=('346d3588b44c89275d123750a85cdd7c')
build() {
cd $startdir/src/$pkgname
diff --git a/smplayer-svn/PKGBUILD b/smplayer-svn/PKGBUILD
new file mode 100644
index 0000000..a67f38f
--- /dev/null
+++ b/smplayer-svn/PKGBUILD
@@ -0,0 +1,47 @@
+# Creator: Flamelab <panosfilip@gmail.com>
+# Parts have been adopted by the previous contributor, AddictedToChaos and by the user "urandom"
+# Fixes by: WAntilles <wantilles@adslgr.com>
+
+pkgname=smplayer-svn
+pkgver=3238
+pkgrel=1
+_latestver=0.6.8
+pkgdesc="A complete front-end for MPlayer"
+arch=('i686' 'x86_64')
+url="http://smplayer.sourceforge.net/"
+license=('GPL')
+depends=('qt>=4.5.2' 'mplayer>=29411')
+makedepends=('subversion')
+conflicts=('smplayer')
+provides=("smplayer=${_latestver}")
+source=()
+md5sums=()
+
+_svnmod="smplayer"
+_svntrunk=https://smplayer.svn.sourceforge.net/svnroot/smplayer/smplayer/trunk/
+
+
+build()
+
+{
+ cd "${srcdir}"
+
+ if [ -d $_svnmod/.svn ]; then
+ (cd $_svnmod && svn up -r $pkgver)
+ else
+ svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
+ fi
+
+ msg "SVN checkout done or server timeout"
+ msg "Starting make..."
+
+ if [ -d $_svnmod-build ];then
+ rm -r $_svnmod-build
+ fi
+ cp -r $_svnmod $_svnmod-build
+ cd $_svnmod-build
+
+ sed -i 's/PREFIX=.*/PREFIX=\/usr/' Makefile || return 1
+ make || return 1
+ make PREFIX=/usr DESTDIR="${pkgdir}/" install
+} \ No newline at end of file
diff --git a/smplayer-svn/smplayer-svn.install b/smplayer-svn/smplayer-svn.install
new file mode 100644
index 0000000..25ab05f
--- /dev/null
+++ b/smplayer-svn/smplayer-svn.install
@@ -0,0 +1,12 @@
+post_install() {
+ cat <<-EndOfMessage
+ >>> If you want dvdvav support, check here:
+ >>> http://smplayer.berlios.de/forums/viewtopic.php?pid=4124
+ EndOfMessage
+ /bin/true
+}
+
+post_upgrade() {
+ post_install
+}
+
diff --git a/tcc-git/PKGBUILD b/tcc-git/PKGBUILD
index a788d96..c6527ca 100644
--- a/tcc-git/PKGBUILD
+++ b/tcc-git/PKGBUILD
@@ -1,5 +1,5 @@
pkgname=tcc-git
-pkgver=20090508
+pkgver=20090807
pkgrel=1
pkgdesc="Tiny C Compiler - small, simple, and fast single-pass C compiler"
arch=('i686' 'x86_64')
diff --git a/thunar-notrash/PKGBUILD b/thunar-notrash/PKGBUILD
index a5b0d1e..ac83f3d 100644
--- a/thunar-notrash/PKGBUILD
+++ b/thunar-notrash/PKGBUILD
@@ -11,7 +11,7 @@ license=('GPL2' 'LGPL2')
url="http://thunar.xfce.org"
groups=('xfce4')
conflicts=(thunar)
-provides=(thunar)
+provides=("thunar=$pkgver")
depends=('desktop-file-utils' 'libexif>=0.6.17' 'xfce4-panel>=4.6.1' 'hicolor-icon-theme' 'fam')
makedepends=('intltool' 'pkgconfig')
optdepends=('gamin: a fam replacement to make thunar monitor changes to files on the fly')
@@ -25,7 +25,8 @@ build() {
patch -p2 < $srcdir/Ability_to_disable_trash_on_Thunar.patch
./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \
--localstatedir=/var --disable-static \
- --disable-gnome-thumbnailers --enable-exif --enable-pcre
+ --disable-gnome-thumbnailers --enable-exif --enable-pcre \
+ --disable-wallpaper-plugin
make || return 1
make DESTDIR=${pkgdir} install || return 1
sed -i 's:x-directory/gnome-default-handler;::' \
diff --git a/vim-nerdtree/PKGBUILD b/vim-nerdtree/PKGBUILD
index 46b9b1f..0e3dc57 100644
--- a/vim-nerdtree/PKGBUILD
+++ b/vim-nerdtree/PKGBUILD
@@ -1,18 +1,24 @@
+# Maintainer: Laszlo Papp <djszapi @ gmail at com>
pkgname=vim-nerdtree
-pkgver=3.1.0
-_scriptid=9870
+pkgver=3.1.1
+_scriptid=10767
pkgrel=2
-pkgdesc='A Vim plugin allows you to explore your filesystem and to open files and directories'
-arch=('i686' 'x86_64')
-url='http://www.vim.org/scripts/script.php?script_id=1658'
-license=('wtfpl')
-depends=('vim')
-source=("http://www.vim.org/scripts/download_script.php?src_id=$_scriptid")
-md5sums=('266be763b2d9e6b8e0e36a3fa810ea3a')
+pkgdesc="A tree explorer plugin for navigating the filesystem"
+arch=(i686 x86_64)
+url="http://www.vim.org/scripts/script.php?script_id=1658"
+license=('custom')
+depends=(vim)
+groups=('vim-plugins')
+install=vimdoc.install
+source=(${pkgname}.zip::http://www.vim.org/scripts/download_script.php?src_id=${_scriptid}
+ license.txt)
+md5sums=('985c217d687eceeb3146145a8bbe6cd9'
+ 'efbd5986e691ce8c876fb86e8f5961ea')
build() {
- cd $srcdir
- installpath="$pkgdir/usr/share/vim"
- install -D -m644 plugin/NERD_tree.vim $installpath/plugin/NERD_tree.vim
- install -D -m644 doc/NERD_tree.txt $installpath/doc/NERD_tree.txt
+ install -d ${pkgdir}/usr/share/vim/{doc,plugin}
+ install -Dm755 ${srcdir}/doc/* ${pkgdir}/usr/share/vim/doc/ || return 1
+ install -Dm755 ${srcdir}/plugin/* ${pkgdir}/usr/share/vim/plugin/ || return 1
+ install -Dm755 ${srcdir}/license.txt ${pkgdir}/usr/share/licenses/${pkgname}/license.txt
}
+
diff --git a/vim-nerdtree/license.txt b/vim-nerdtree/license.txt
new file mode 100644
index 0000000..226f27b
--- /dev/null
+++ b/vim-nerdtree/license.txt
@@ -0,0 +1,8 @@
+Copyright (C) 2002-2007 Yegappan Lakshmanan
+Permission is hereby granted to use and distribute this code,
+with or without modifications, provided that this copyright
+notice is copied with it. Like anything else that's free,
+taglist.vim is provided *as is* and comes with no warranty of any
+kind, either expressed or implied. In no event will the copyright
+holder be liable for any damamges resulting from the use of this
+software.
diff --git a/vim-nerdtree/vimdoc.install b/vim-nerdtree/vimdoc.install
new file mode 100644
index 0000000..5246e5c
--- /dev/null
+++ b/vim-nerdtree/vimdoc.install
@@ -0,0 +1,19 @@
+post_install() {
+ echo -n "Updating vim help tags..."
+ /usr/bin/vim --noplugins -u NONE -U NONE \
+ --cmd ":helptags /usr/share/vim/doc" --cmd ":q" > /dev/null 2>&1
+ echo "done."
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install
+}
+
+op=$1
+shift
+
+$op $*
diff --git a/vim/PKGBUILD b/vim/PKGBUILD
index e0605a0..c3faac6 100644
--- a/vim/PKGBUILD
+++ b/vim/PKGBUILD
@@ -3,14 +3,13 @@
pkgname=vim
_srcver=7.2
-_patchlevel=218
+_patchlevel=234
pkgver=${_srcver}.${_patchlevel}
pkgrel=1
pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor'
arch=(i686 x86_64)
license=('custom:vim')
url="http://www.vim.org"
-groups=('base')
depends=('gpm' 'coreutils')
makedepends=('wget' 'sed' 'grep' 'gettext' 'perl')
optdepends=('perl: the runtime provides a view useful perl scripts')
@@ -20,7 +19,7 @@ install=${pkgname}.install
source=(ftp://ftp.vim.org/pub/vim/unix/vim-${_srcver}.tar.bz2 \
ftp://ftp.vim.org/pub/vim/extra/vim-${_srcver}-extra.tar.gz \
ftp://ftp.vim.org/pub/vim/extra/vim-${_srcver}-lang.tar.gz \
- fetch_patches.sh fetch_runtime.sh)
+ fetch_patches.sh fetch_runtime.sh vimrc archlinux.vim)
build()
{
@@ -37,7 +36,7 @@ build()
--with-compiledby=ArchLinux --with-features=big \
--enable-gpm --enable-acl --with-x=no --disable-gui \
--enable-multibyte --enable-cscope \
- --enable-perlinterp --enable-pythoninterp
+ --enable-perlinterp
#--with-global-runtime=/usr/share/vim --with-vim-name=vim \
make || return 1
make VIMRCLOC=/etc DESTDIR=${pkgdir} install
@@ -60,8 +59,10 @@ build()
_runtimedir="${pkgdir}/usr/share/vim/${_versiondir}/"
update_runtime
- install -Dm644 ${_runtimedir}/vimrc_example.vim \
- ${pkgdir}/etc/vimrc
+ cd ${srcdir}/${_versiondir}
+ install -Dm644 ${srcdir}/vimrc ${pkgdir}/etc/vimrc
+ install -Dm644 ${srcdir}/archlinux.vim \
+ ${pkgdir}/usr/share/vim/vimfiles/archlinux.vim
install -dm755 ${pkgdir}/usr/share/licenses/vim
cd ${pkgdir}/usr/share/licenses/vim
ln -s ../../vim/${_versiondir}/doc/uganda.txt license.txt
diff --git a/vim/archlinux.vim b/vim/archlinux.vim
new file mode 100644
index 0000000..af7645f
--- /dev/null
+++ b/vim/archlinux.vim
@@ -0,0 +1,28 @@
+" The ArchLinux global vimrc - setting only a few sane defaults
+"
+" Maintainer: Tobias Kieslich [tobias funnychar archlinux dot org]
+"
+" NEVER EDIT THIS FILE, IT'S OVERWRITTEN UPON UPGRADES, GLOBAL CONFIGURATION
+" SHALL BE DONE IN /etc/vimrc, USER SPECIFIC CONFIGURATION IN ~/.vimrc
+
+set runtimepath=~/.vim,/usr/share/vim,/usr/share/vim/vimcurrent
+
+" Normally we use vim-extensions. If you want true vi-compatibility
+" remove change the following statements
+set nocompatible " Use Vim defaults instead of 100% vi compatibility
+set backspace=indent,eol,start " more powerful backspacing
+
+" Now we set some defaults for the editor
+set history=50 " keep 50 lines of command line history
+set ruler " show the cursor position all the time
+
+" Suffixes that get lower priority when doing tab completion for filenames.
+" These are files we are not likely to want to edit or read.
+set suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc
+
+
+if has('gui_running')
+ " Make shift-insert work like in Xterm
+ map <S-Insert> <MiddleMouse>
+ map! <S-Insert> <MiddleMouse>
+endif
diff --git a/vim/vim-7.2/7.2.219 b/vim/vim-7.2/7.2.219
new file mode 100644
index 0000000..f9bbec0
--- /dev/null
+++ b/vim/vim-7.2/7.2.219
@@ -0,0 +1,71 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.219 (extra)
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.219 (extra)
+Problem: Photon GUI is outdated.
+Solution: Updates for QNX 6.4.0. (Sean Boudreau)
+Files: src/gui_photon.c
+
+
+*** ../vim-7.2.218/src/gui_photon.c 2007-05-10 20:23:35.000000000 +0200
+--- src/gui_photon.c 2009-07-01 16:08:36.000000000 +0200
+***************
+*** 838,844 ****
+--- 838,849 ----
+ static void
+ gui_ph_draw_start( void )
+ {
++ PhGC_t *gc;
++
++ gc = PgGetGC();
+ PgSetRegion( PtWidgetRid( PtFindDisjoint( gui.vimTextArea ) ) );
++ PgClearClippingsCx( gc );
++ PgClearTranslationCx( gc );
+
+ PtWidgetOffset( gui.vimTextArea, &gui_ph_raw_offset );
+ PhTranslatePoint( &gui_ph_raw_offset, PtWidgetPos( gui.vimTextArea, NULL ) );
+***************
+*** 2970,2976 ****
+ if( vim_font_name == NULL )
+ {
+ /* Default font */
+! vim_font_name = "PC Term";
+ }
+
+ if( STRCMP( vim_font_name, "*" ) == 0 )
+--- 2975,2981 ----
+ if( vim_font_name == NULL )
+ {
+ /* Default font */
+! vim_font_name = "PC Terminal";
+ }
+
+ if( STRCMP( vim_font_name, "*" ) == 0 )
+*** ../vim-7.2.218/src/version.c 2009-06-24 18:31:36.000000000 +0200
+--- src/version.c 2009-07-01 16:11:34.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 219,
+ /**/
+
+--
+"Oh, no! NOT the Spanish Inquisition!"
+"NOBODY expects the Spanish Inquisition!!!"
+ -- Monty Python sketch --
+"Oh, no! NOT another option!"
+"EVERYBODY expects another option!!!"
+ -- Discussion in vim-dev mailing list --
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/vim/vim-7.2/7.2.220 b/vim/vim-7.2/7.2.220
new file mode 100644
index 0000000..b3d63f3
--- /dev/null
+++ b/vim/vim-7.2/7.2.220
@@ -0,0 +1,95 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.220
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.220 (after 7.2.215)
+Problem: a BufEnter autocommand that changes directory causes problems.
+ (Ajit Thakkar)
+Solution: Disable autocommands when opening a hidden buffer in a window.
+Files: src/fileio.c
+
+
+*** ../vim-7.2.219/src/fileio.c 2009-06-24 17:31:27.000000000 +0200
+--- src/fileio.c 2009-07-01 17:02:46.000000000 +0200
+***************
+*** 8441,8453 ****
+ win_init_empty(aucmd_win); /* set cursor and topline to safe values */
+
+ #ifdef FEAT_WINDOWS
+! /* Split the current window, put the aucmd_win in the upper half. */
+ make_snapshot(SNAP_AUCMD_IDX);
+ save_ea = p_ea;
+ p_ea = FALSE;
+ (void)win_split_ins(0, WSP_TOP, aucmd_win, 0);
+ (void)win_comp_pos(); /* recompute window positions */
+ p_ea = save_ea;
+ #endif
+ curwin = aucmd_win;
+ }
+--- 8441,8456 ----
+ win_init_empty(aucmd_win); /* set cursor and topline to safe values */
+
+ #ifdef FEAT_WINDOWS
+! /* Split the current window, put the aucmd_win in the upper half.
+! * We don't want the BufEnter or WinEnter autocommands. */
+! block_autocmds();
+ make_snapshot(SNAP_AUCMD_IDX);
+ save_ea = p_ea;
+ p_ea = FALSE;
+ (void)win_split_ins(0, WSP_TOP, aucmd_win, 0);
+ (void)win_comp_pos(); /* recompute window positions */
+ p_ea = save_ea;
++ unblock_autocmds();
+ #endif
+ curwin = aucmd_win;
+ }
+***************
+*** 8474,8480 ****
+ --curbuf->b_nwindows;
+ #ifdef FEAT_WINDOWS
+ /* Find "aucmd_win", it can't be closed, but it may be in another tab
+! * page. */
+ if (curwin != aucmd_win)
+ {
+ tabpage_T *tp;
+--- 8477,8484 ----
+ --curbuf->b_nwindows;
+ #ifdef FEAT_WINDOWS
+ /* Find "aucmd_win", it can't be closed, but it may be in another tab
+! * page. Do not trigger autocommands here. */
+! block_autocmds();
+ if (curwin != aucmd_win)
+ {
+ tabpage_T *tp;
+***************
+*** 8498,8503 ****
+--- 8502,8508 ----
+ last_status(FALSE); /* may need to remove last status line */
+ restore_snapshot(SNAP_AUCMD_IDX, FALSE);
+ (void)win_comp_pos(); /* recompute window positions */
++ unblock_autocmds();
+
+ if (win_valid(aco->save_curwin))
+ curwin = aco->save_curwin;
+*** ../vim-7.2.219/src/version.c 2009-07-01 16:12:54.000000000 +0200
+--- src/version.c 2009-07-01 17:10:22.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 220,
+ /**/
+
+--
+Microsoft is to software what McDonalds is to gourmet cooking
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/vim/vim-7.2/7.2.221 b/vim/vim-7.2/7.2.221
new file mode 100644
index 0000000..3c6180e
--- /dev/null
+++ b/vim/vim-7.2/7.2.221
@@ -0,0 +1,247 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.221
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.221
+Problem: X cut_buffer0 text is used as-is, it may be in the wrong encoding.
+Solution: Convert between 'enc' and latin1. (James Vega)
+Files: src/gui_gtk_x11.c, src/message.c, src/ops.c, src/proto/ui.pro,
+ src/ui.c
+
+
+*** ../vim-7.2.220/src/gui_gtk_x11.c 2009-06-16 15:23:07.000000000 +0200
+--- src/gui_gtk_x11.c 2009-07-01 11:55:34.000000000 +0200
+***************
+*** 6717,6724 ****
+ {
+ GdkAtom target;
+ unsigned i;
+- int nbytes;
+- char_u *buffer;
+ time_t start;
+
+ for (i = 0; i < N_SELECTION_TARGETS; ++i)
+--- 6717,6722 ----
+***************
+*** 6746,6767 ****
+ }
+
+ /* Final fallback position - use the X CUT_BUFFER0 store */
+! nbytes = 0;
+! buffer = (char_u *)XFetchBuffer(GDK_WINDOW_XDISPLAY(gui.mainwin->window),
+! &nbytes, 0);
+! if (nbytes > 0)
+! {
+! /* Got something */
+! clip_yank_selection(MCHAR, buffer, (long)nbytes, cbd);
+! if (p_verbose > 0)
+! {
+! verbose_enter();
+! smsg((char_u *)_("Used CUT_BUFFER0 instead of empty selection"));
+! verbose_leave();
+! }
+! }
+! if (buffer != NULL)
+! XFree(buffer);
+ }
+
+ /*
+--- 6744,6750 ----
+ }
+
+ /* Final fallback position - use the X CUT_BUFFER0 store */
+! yank_cut_buffer0(GDK_WINDOW_XDISPLAY(gui.mainwin->window), cbd);
+ }
+
+ /*
+*** ../vim-7.2.220/src/message.c 2009-05-17 13:30:58.000000000 +0200
+--- src/message.c 2009-07-01 16:43:08.000000000 +0200
+***************
+*** 107,113 ****
+ }
+
+ #if defined(FEAT_EVAL) || defined(FEAT_X11) || defined(USE_XSMP) \
+! || defined(PROTO)
+ /*
+ * Like msg() but keep it silent when 'verbosefile' is set.
+ */
+--- 107,113 ----
+ }
+
+ #if defined(FEAT_EVAL) || defined(FEAT_X11) || defined(USE_XSMP) \
+! || defined(FEAT_GUI_GTK) || defined(PROTO)
+ /*
+ * Like msg() but keep it silent when 'verbosefile' is set.
+ */
+*** ../vim-7.2.220/src/ops.c 2009-05-26 18:12:13.000000000 +0200
+--- src/ops.c 2009-07-01 12:15:31.000000000 +0200
+***************
+*** 5591,5596 ****
+--- 5591,5619 ----
+ if (dpy != NULL && str != NULL && motion_type >= 0
+ && len < 1024*1024 && len > 0)
+ {
++ #ifdef FEAT_MBYTE
++ /* The CUT_BUFFER0 is supposed to always contain latin1. Convert from
++ * 'enc' when it is a multi-byte encoding. When 'enc' is an 8-bit
++ * encoding conversion usually doesn't work, so keep the text as-is.
++ */
++ if (has_mbyte)
++ {
++ char_u *conv_str = str;
++ vimconv_T vc;
++
++ vc.vc_type = CONV_NONE;
++ if (convert_setup(&vc, p_enc, (char_u *)"latin1") == OK)
++ {
++ conv_str = string_convert(&vc, str, (int*)&len);
++ if (conv_str != NULL)
++ {
++ vim_free(str);
++ str = conv_str;
++ }
++ convert_setup(&vc, NULL, NULL);
++ }
++ }
++ #endif
+ XStoreBuffer(dpy, (char *)str, (int)len, 0);
+ XFlush(dpy);
+ }
+*** ../vim-7.2.220/src/proto/ui.pro 2007-05-05 19:58:49.000000000 +0200
+--- src/proto/ui.pro 2009-07-01 11:48:11.000000000 +0200
+***************
+*** 48,53 ****
+--- 48,54 ----
+ void open_app_context __ARGS((void));
+ void x11_setup_atoms __ARGS((Display *dpy));
+ void clip_x11_request_selection __ARGS((Widget myShell, Display *dpy, VimClipboard *cbd));
++ void yank_cut_buffer0 __ARGS((Display *dpy, VimClipboard *cbd));
+ void clip_x11_lose_selection __ARGS((Widget myShell, VimClipboard *cbd));
+ int clip_x11_own_selection __ARGS((Widget myShell, VimClipboard *cbd));
+ void clip_x11_set_selection __ARGS((VimClipboard *cbd));
+*** ../vim-7.2.220/src/ui.c 2009-05-17 13:30:58.000000000 +0200
+--- src/ui.c 2009-07-01 15:44:07.000000000 +0200
+***************
+*** 2104,2111 ****
+ Atom type;
+ static int success;
+ int i;
+- int nbytes = 0;
+- char_u *buffer;
+ time_t start_time;
+ int timed_out = FALSE;
+
+--- 2104,2109 ----
+***************
+*** 2185,2199 ****
+ }
+
+ /* Final fallback position - use the X CUT_BUFFER0 store */
+! buffer = (char_u *)XFetchBuffer(dpy, &nbytes, 0);
+! if (nbytes > 0)
+! {
+! /* Got something */
+! clip_yank_selection(MCHAR, buffer, (long)nbytes, cbd);
+! XFree((void *)buffer);
+! if (p_verbose > 0)
+! verb_msg((char_u *)_("Used CUT_BUFFER0 instead of empty selection"));
+! }
+ }
+
+ static Boolean clip_x11_convert_selection_cb __ARGS((Widget, Atom *, Atom *, Atom *, XtPointer *, long_u *, int *));
+--- 2183,2189 ----
+ }
+
+ /* Final fallback position - use the X CUT_BUFFER0 store */
+! yank_cut_buffer0(dpy, cbd);
+ }
+
+ static Boolean clip_x11_convert_selection_cb __ARGS((Widget, Atom *, Atom *, Atom *, XtPointer *, long_u *, int *));
+***************
+*** 2369,2374 ****
+--- 2359,2418 ----
+ }
+ #endif
+
++ #if defined(FEAT_XCLIPBOARD) || defined(FEAT_GUI_X11) \
++ || defined(FEAT_GUI_GTK) || defined(PROTO)
++ /*
++ * Get the contents of the X CUT_BUFFER0 and put it in "cbd".
++ */
++ void
++ yank_cut_buffer0(dpy, cbd)
++ Display *dpy;
++ VimClipboard *cbd;
++ {
++ int nbytes = 0;
++ char_u *buffer = (char_u *)XFetchBuffer(dpy, &nbytes, 0);
++
++ if (nbytes > 0)
++ {
++ #ifdef FEAT_MBYTE
++ int done = FALSE;
++
++ /* CUT_BUFFER0 is supposed to be always latin1. Convert to 'enc' when
++ * using a multi-byte encoding. Conversion between two 8-bit
++ * character sets usually fails and the text might actually be in
++ * 'enc' anyway. */
++ if (has_mbyte)
++ {
++ char_u *conv_buf = buffer;
++ vimconv_T vc;
++
++ vc.vc_type = CONV_NONE;
++ if (convert_setup(&vc, (char_u *)"latin1", p_enc) == OK)
++ {
++ conv_buf = string_convert(&vc, buffer, &nbytes);
++ if (conv_buf != NULL)
++ {
++ clip_yank_selection(MCHAR, conv_buf, (long)nbytes, cbd);
++ vim_free(conv_buf);
++ done = TRUE;
++ }
++ convert_setup(&vc, NULL, NULL);
++ }
++ }
++ if (!done) /* use the text without conversion */
++ #endif
++ clip_yank_selection(MCHAR, buffer, (long)nbytes, cbd);
++ XFree((void *)buffer);
++ if (p_verbose > 0)
++ {
++ verbose_enter();
++ verb_msg((char_u *)_("Used CUT_BUFFER0 instead of empty selection"));
++ verbose_leave();
++ }
++ }
++ }
++ #endif
++
+ #if defined(FEAT_MOUSE) || defined(PROTO)
+
+ /*
+*** ../vim-7.2.220/src/version.c 2009-07-01 17:11:40.000000000 +0200
+--- src/version.c 2009-07-01 17:56:02.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 221,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+40. You tell the cab driver you live at
+ http://123.elm.street/house/bluetrim.html
+41. You actually try that 123.elm.street address.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/vim/vim-7.2/7.2.222 b/vim/vim-7.2/7.2.222
new file mode 100644
index 0000000..dcf0b36
--- /dev/null
+++ b/vim/vim-7.2/7.2.222
@@ -0,0 +1,59 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.222
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.222
+Problem: ":mksession" doesn't work properly with 'acd' set.
+Solution: Make it work. (Yakov Lerner)
+Files: src/ex_docmd.c
+
+
+*** ../vim-7.2.221/src/ex_docmd.c 2009-05-16 17:29:37.000000000 +0200
+--- src/ex_docmd.c 2009-07-01 20:18:22.000000000 +0200
+***************
+*** 8686,8691 ****
+--- 8693,8700 ----
+ }
+
+ #ifdef FEAT_SESSION
++ /* Use the short file name until ":lcd" is used. We also don't use the
++ * short file name when 'acd' is set, that is checked later. */
+ did_lcd = FALSE;
+
+ /* ":mkview" or ":mkview 9": generate file name with 'viewdir' */
+***************
+*** 10573,10578 ****
+--- 10582,10590 ----
+ if (buf->b_sfname != NULL
+ && flagp == &ssop_flags
+ && (ssop_flags & (SSOP_CURDIR | SSOP_SESDIR))
++ #ifdef FEAT_AUTOCHDIR
++ && !p_acd
++ #endif
+ && !did_lcd)
+ name = buf->b_sfname;
+ else
+*** ../vim-7.2.221/src/version.c 2009-07-01 18:04:30.000000000 +0200
+--- src/version.c 2009-07-01 20:16:19.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 222,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+43. You tell the kids they can't use the computer because "Daddy's got work to
+ do" and you don't even have a job.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/vim/vim-7.2/7.2.223 b/vim/vim-7.2/7.2.223
new file mode 100644
index 0000000..cac2126
--- /dev/null
+++ b/vim/vim-7.2/7.2.223
@@ -0,0 +1,165 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.223
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.223
+Problem: When a script is run with ":silent" it is not able to give warning
+ messages.
+Solution: Add the ":unsilent" command.
+Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c
+
+
+*** ../vim-7.2.222/runtime/doc/various.txt 2008-08-09 19:36:54.000000000 +0200
+--- runtime/doc/various.txt 2009-07-09 15:52:54.000000000 +0200
+***************
+*** 508,513 ****
+--- 508,524 ----
+ messages though. Use ":silent" in the command itself
+ to avoid that: ":silent menu .... :silent command".
+
++ *:uns* *:unsilent*
++ :uns[ilent] {command} Execute {command} not silently. Only makes a
++ difference when |:silent| was used to get to this
++ command.
++ Use this for giving a message even when |:silent| was
++ used. In this example |:silent| is used to avoid the
++ message about reading the file and |:unsilent| to be
++ able to list the first line of each file. >
++ :silent argdo unsilent echo expand('%') . ": " . getline(1)
++ <
++
+ *:verb* *:verbose*
+ :[count]verb[ose] {command}
+ Execute {command} with 'verbose' set to [count]. If
+*** ../vim-7.2.222/src/ex_cmds.h 2008-11-09 13:43:25.000000000 +0100
+--- src/ex_cmds.h 2009-07-01 18:12:55.000000000 +0200
+***************
+*** 991,996 ****
+--- 991,998 ----
+ BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+ EX(CMD_unmenu, "unmenu", ex_menu,
+ BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
++ EX(CMD_unsilent, "unsilent", ex_wrongmodifier,
++ NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
+ EX(CMD_update, "update", ex_update,
+ RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR),
+ EX(CMD_vglobal, "vglobal", ex_global,
+*** ../vim-7.2.222/src/ex_docmd.c 2009-07-01 20:18:43.000000000 +0200
+--- src/ex_docmd.c 2009-07-09 15:24:03.000000000 +0200
+***************
+*** 1677,1684 ****
+ char_u *errormsg = NULL; /* error message */
+ exarg_T ea; /* Ex command arguments */
+ long verbose_save = -1;
+! int save_msg_scroll = 0;
+! int did_silent = 0;
+ int did_esilent = 0;
+ #ifdef HAVE_SANDBOX
+ int did_sandbox = FALSE;
+--- 1677,1684 ----
+ char_u *errormsg = NULL; /* error message */
+ exarg_T ea; /* Ex command arguments */
+ long verbose_save = -1;
+! int save_msg_scroll = msg_scroll;
+! int save_msg_silent = -1;
+ int did_esilent = 0;
+ #ifdef HAVE_SANDBOX
+ int did_sandbox = FALSE;
+***************
+*** 1856,1864 ****
+ }
+ if (!checkforcmd(&ea.cmd, "silent", 3))
+ break;
+! ++did_silent;
+ ++msg_silent;
+- save_msg_scroll = msg_scroll;
+ if (*ea.cmd == '!' && !vim_iswhite(ea.cmd[-1]))
+ {
+ /* ":silent!", but not "silent !cmd" */
+--- 1856,1864 ----
+ }
+ if (!checkforcmd(&ea.cmd, "silent", 3))
+ break;
+! if (save_msg_silent == -1)
+! save_msg_silent = msg_silent;
+ ++msg_silent;
+ if (*ea.cmd == '!' && !vim_iswhite(ea.cmd[-1]))
+ {
+ /* ":silent!", but not "silent !cmd" */
+***************
+*** 1886,1891 ****
+--- 1886,1898 ----
+ #endif
+ continue;
+
++ case 'u': if (!checkforcmd(&ea.cmd, "unsilent", 3))
++ break;
++ if (save_msg_silent == -1)
++ save_msg_silent = msg_silent;
++ msg_silent = 0;
++ continue;
++
+ case 'v': if (checkforcmd(&ea.cmd, "vertical", 4))
+ {
+ #ifdef FEAT_VERTSPLIT
+***************
+*** 2684,2696 ****
+
+ cmdmod = save_cmdmod;
+
+! if (did_silent > 0)
+ {
+ /* messages could be enabled for a serious error, need to check if the
+ * counters don't become negative */
+! msg_silent -= did_silent;
+! if (msg_silent < 0)
+! msg_silent = 0;
+ emsg_silent -= did_esilent;
+ if (emsg_silent < 0)
+ emsg_silent = 0;
+--- 2691,2702 ----
+
+ cmdmod = save_cmdmod;
+
+! if (save_msg_silent != -1)
+ {
+ /* messages could be enabled for a serious error, need to check if the
+ * counters don't become negative */
+! if (!did_emsg)
+! msg_silent = save_msg_silent;
+ emsg_silent -= did_esilent;
+ if (emsg_silent < 0)
+ emsg_silent = 0;
+***************
+*** 2987,2992 ****
+--- 2993,2999 ----
+ {"silent", 3, FALSE},
+ {"tab", 3, TRUE},
+ {"topleft", 2, FALSE},
++ {"unsilent", 3, FALSE},
+ {"verbose", 4, TRUE},
+ {"vertical", 4, FALSE},
+ };
+*** ../vim-7.2.222/src/version.c 2009-07-01 20:18:43.000000000 +0200
+--- src/version.c 2009-07-09 15:53:05.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 223,
+ /**/
+
+--
+Q: How many legs does a giraffe have?
+A: Eight: two in front, two behind, two on the left and two on the right
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/vim/vim-7.2/7.2.224 b/vim/vim-7.2/7.2.224
new file mode 100644
index 0000000..d988eed
--- /dev/null
+++ b/vim/vim-7.2/7.2.224
@@ -0,0 +1,88 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.224
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.224
+Problem: Crash when using 'completefunc'. (Ingo Karkat)
+Solution: Disallow entering edit() recursively when doing completion.
+Files: src/edit.c
+
+
+*** ../vim-7.2.223/src/edit.c 2009-05-26 11:01:43.000000000 +0200
+--- src/edit.c 2009-07-09 18:01:49.000000000 +0200
+***************
+*** 114,119 ****
+--- 114,123 ----
+ * FALSE the word to be completed must be located. */
+ static int compl_started = FALSE;
+
++ /* Set when doing something for completion that may call edit() recursively,
++ * which is not allowed. */
++ static int compl_busy = FALSE;
++
+ static int compl_matches = 0;
+ static char_u *compl_pattern = NULL;
+ static int compl_direction = FORWARD;
+***************
+*** 346,352 ****
+
+ #ifdef FEAT_INS_EXPAND
+ /* Don't allow recursive insert mode when busy with completion. */
+! if (compl_started || pum_visible())
+ {
+ EMSG(_(e_secure));
+ return FALSE;
+--- 350,356 ----
+
+ #ifdef FEAT_INS_EXPAND
+ /* Don't allow recursive insert mode when busy with completion. */
+! if (compl_started || compl_busy || pum_visible())
+ {
+ EMSG(_(e_secure));
+ return FALSE;
+***************
+*** 1340,1347 ****
+--- 1344,1353 ----
+ goto normalchar;
+
+ docomplete:
++ compl_busy = TRUE;
+ if (ins_complete(c) == FAIL)
+ compl_cont_status = 0;
++ compl_busy = FALSE;
+ break;
+ #endif /* FEAT_INS_EXPAND */
+
+***************
+*** 3172,3177 ****
+--- 3178,3184 ----
+ vim_free(match);
+ } while (compl_curr_match != NULL && compl_curr_match != compl_first_match);
+ compl_first_match = compl_curr_match = NULL;
++ compl_shown_match = NULL;
+ }
+
+ static void
+*** ../vim-7.2.223/src/version.c 2009-07-09 15:55:34.000000000 +0200
+--- src/version.c 2009-07-09 18:14:16.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 224,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+77. The phone company asks you to test drive their new PBX system
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/vim/vim-7.2/7.2.225 b/vim/vim-7.2/7.2.225
new file mode 100644
index 0000000..32a4d35
--- /dev/null
+++ b/vim/vim-7.2/7.2.225
@@ -0,0 +1,97 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.225
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.225
+Problem: When using ":normal" a saved character may be executed.
+Solution: Also store old_char when saving typeahead.
+Files: src/getchar.c, src/structs.h
+
+
+*** ../vim-7.2.224/src/getchar.c 2009-02-22 23:42:08.000000000 +0100
+--- src/getchar.c 2009-07-09 18:09:13.000000000 +0200
+***************
+*** 1309,1314 ****
+--- 1309,1317 ----
+ return OK;
+ }
+
++ static int old_char = -1; /* character put back by vungetc() */
++ static int old_mod_mask; /* mod_mask for ungotten character */
++
+ #if defined(FEAT_EVAL) || defined(FEAT_EX_EXTRA) || defined(PROTO)
+
+ /*
+***************
+*** 1323,1328 ****
+--- 1326,1335 ----
+ if (!tp->typebuf_valid)
+ typebuf = tp->save_typebuf;
+
++ tp->old_char = old_char;
++ tp->old_mod_mask = old_mod_mask;
++ old_char = -1;
++
+ tp->save_stuffbuff = stuffbuff;
+ stuffbuff.bh_first.b_next = NULL;
+ # ifdef USE_INPUT_BUF
+***************
+*** 1344,1349 ****
+--- 1351,1359 ----
+ typebuf = tp->save_typebuf;
+ }
+
++ old_char = tp->old_char;
++ old_mod_mask = tp->old_mod_mask;
++
+ free_buff(&stuffbuff);
+ stuffbuff = tp->save_stuffbuff;
+ # ifdef USE_INPUT_BUF
+***************
+*** 1499,1507 ****
+ #define KL_PART_KEY -1 /* keylen value for incomplete key-code */
+ #define KL_PART_MAP -2 /* keylen value for incomplete mapping */
+
+- static int old_char = -1; /* character put back by vungetc() */
+- static int old_mod_mask; /* mod_mask for ungotten character */
+-
+ /*
+ * Get the next input character.
+ * Can return a special key or a multi-byte character.
+--- 1509,1514 ----
+*** ../vim-7.2.224/src/structs.h 2009-06-16 16:01:34.000000000 +0200
+--- src/structs.h 2009-07-09 18:09:20.000000000 +0200
+***************
+*** 882,887 ****
+--- 882,889 ----
+ {
+ typebuf_T save_typebuf;
+ int typebuf_valid; /* TRUE when save_typebuf valid */
++ int old_char;
++ int old_mod_mask;
+ struct buffheader save_stuffbuff;
+ #ifdef USE_INPUT_BUF
+ char_u *save_inputbuf;
+*** ../vim-7.2.224/src/version.c 2009-07-09 18:15:19.000000000 +0200
+--- src/version.c 2009-07-09 18:21:56.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 225,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+78. You find yourself dialing IP numbers on the phone.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/vim/vim-7.2/7.2.226 b/vim/vim-7.2/7.2.226
new file mode 100644
index 0000000..d922a08
--- /dev/null
+++ b/vim/vim-7.2/7.2.226
@@ -0,0 +1,268 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.226
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.226
+Problem: ml_get error after deleting the last line. (Xavier de Gaye)
+Solution: When adjusting marks a callback may be invoked. Adjust the cursor
+ position before invoking deleted_lines_mark().
+Files: src/ex_cmds.c, src/ex_docmd.c, src/if_mzsch.c, src/if_python.c,
+ src/if_perl.xs, src/misc1.c
+
+
+*** ../vim-7.2.225/src/ex_cmds.c 2009-05-17 13:30:58.000000000 +0200
+--- src/ex_cmds.c 2009-07-09 12:56:51.000000000 +0200
+***************
+*** 4013,4018 ****
+--- 4013,4021 ----
+ break;
+ ml_delete(eap->line1, FALSE);
+ }
++
++ /* make sure the cursor is not beyond the end of the file now */
++ check_cursor_lnum();
+ deleted_lines_mark(eap->line1, (long)(eap->line2 - lnum));
+
+ /* ":append" on the line above the deleted lines. */
+*** ../vim-7.2.225/src/ex_docmd.c 2009-07-09 15:55:34.000000000 +0200
+--- src/ex_docmd.c 2009-07-09 15:24:03.000000000 +0200
+***************
+*** 7845,7854 ****
+ if (*ml_get(lnum) == NUL && u_savedel(lnum, 1L) == OK)
+ {
+ ml_delete(lnum, FALSE);
+- deleted_lines_mark(lnum, 1L);
+ if (curwin->w_cursor.lnum > 1
+ && curwin->w_cursor.lnum >= lnum)
+ --curwin->w_cursor.lnum;
+ }
+ }
+ redraw_curbuf_later(VALID);
+--- 7845,7854 ----
+ if (*ml_get(lnum) == NUL && u_savedel(lnum, 1L) == OK)
+ {
+ ml_delete(lnum, FALSE);
+ if (curwin->w_cursor.lnum > 1
+ && curwin->w_cursor.lnum >= lnum)
+ --curwin->w_cursor.lnum;
++ deleted_lines_mark(lnum, 1L);
+ }
+ }
+ redraw_curbuf_later(VALID);
+*** ../vim-7.2.225/src/if_mzsch.c 2009-06-24 17:51:01.000000000 +0200
+--- src/if_mzsch.c 2009-07-09 12:59:17.000000000 +0200
+***************
+*** 2169,2177 ****
+ curbuf = savebuf;
+ raise_vim_exn(_("cannot delete line"));
+ }
+- deleted_lines_mark((linenr_T)n, 1L);
+ if (buf->buf == curwin->w_buffer)
+ mz_fix_cursor(n, n + 1, -1);
+
+ curbuf = savebuf;
+
+--- 2169,2177 ----
+ curbuf = savebuf;
+ raise_vim_exn(_("cannot delete line"));
+ }
+ if (buf->buf == curwin->w_buffer)
+ mz_fix_cursor(n, n + 1, -1);
++ deleted_lines_mark((linenr_T)n, 1L);
+
+ curbuf = savebuf;
+
+***************
+*** 2299,2307 ****
+ curbuf = savebuf;
+ raise_vim_exn(_("cannot delete line"));
+ }
+- deleted_lines_mark((linenr_T)lo, (long)old_len);
+ if (buf->buf == curwin->w_buffer)
+ mz_fix_cursor(lo, hi, -old_len);
+ }
+
+ curbuf = savebuf;
+--- 2299,2307 ----
+ curbuf = savebuf;
+ raise_vim_exn(_("cannot delete line"));
+ }
+ if (buf->buf == curwin->w_buffer)
+ mz_fix_cursor(lo, hi, -old_len);
++ deleted_lines_mark((linenr_T)lo, (long)old_len);
+ }
+
+ curbuf = savebuf;
+*** ../vim-7.2.225/src/if_python.c 2009-05-21 23:25:38.000000000 +0200
+--- src/if_python.c 2009-07-09 12:59:45.000000000 +0200
+***************
+*** 2497,2505 ****
+ PyErr_SetVim(_("cannot delete line"));
+ else
+ {
+- deleted_lines_mark((linenr_T)n, 1L);
+ if (buf == curwin->w_buffer)
+ py_fix_cursor((linenr_T)n, (linenr_T)n + 1, (linenr_T)-1);
+ }
+
+ curbuf = savebuf;
+--- 2497,2505 ----
+ PyErr_SetVim(_("cannot delete line"));
+ else
+ {
+ if (buf == curwin->w_buffer)
+ py_fix_cursor((linenr_T)n, (linenr_T)n + 1, (linenr_T)-1);
++ deleted_lines_mark((linenr_T)n, 1L);
+ }
+
+ curbuf = savebuf;
+***************
+*** 2596,2605 ****
+ break;
+ }
+ }
+- deleted_lines_mark((linenr_T)lo, (long)i);
+-
+ if (buf == curwin->w_buffer)
+ py_fix_cursor((linenr_T)lo, (linenr_T)hi, (linenr_T)-n);
+ }
+
+ curbuf = savebuf;
+--- 2596,2604 ----
+ break;
+ }
+ }
+ if (buf == curwin->w_buffer)
+ py_fix_cursor((linenr_T)lo, (linenr_T)hi, (linenr_T)-n);
++ deleted_lines_mark((linenr_T)lo, (long)i);
+ }
+
+ curbuf = savebuf;
+*** ../vim-7.2.225/src/if_perl.xs 2009-06-16 16:01:34.000000000 +0200
+--- src/if_perl.xs 2009-07-09 13:02:16.000000000 +0200
+***************
+*** 1233,1241 ****
+ if (u_savedel(lnum, 1) == OK)
+ {
+ ml_delete(lnum, 0);
+ deleted_lines_mark(lnum, 1L);
+- if (aco.save_curbuf == curbuf)
+- check_cursor();
+ }
+
+ /* restore curwin/curbuf and a few other things */
+--- 1235,1242 ----
+ if (u_savedel(lnum, 1) == OK)
+ {
+ ml_delete(lnum, 0);
++ check_cursor();
+ deleted_lines_mark(lnum, 1L);
+ }
+
+ /* restore curwin/curbuf and a few other things */
+*** ../vim-7.2.225/src/misc1.c 2009-06-24 16:25:23.000000000 +0200
+--- src/misc1.c 2009-07-09 13:00:59.000000000 +0200
+***************
+*** 2345,2356 ****
+ int undo; /* if TRUE, prepare for undo */
+ {
+ long n;
+
+ if (nlines <= 0)
+ return;
+
+ /* save the deleted lines for undo */
+! if (undo && u_savedel(curwin->w_cursor.lnum, nlines) == FAIL)
+ return;
+
+ for (n = 0; n < nlines; )
+--- 2345,2357 ----
+ int undo; /* if TRUE, prepare for undo */
+ {
+ long n;
++ linenr_T first = curwin->w_cursor.lnum;
+
+ if (nlines <= 0)
+ return;
+
+ /* save the deleted lines for undo */
+! if (undo && u_savedel(first, nlines) == FAIL)
+ return;
+
+ for (n = 0; n < nlines; )
+***************
+*** 2358,2375 ****
+ if (curbuf->b_ml.ml_flags & ML_EMPTY) /* nothing to delete */
+ break;
+
+! ml_delete(curwin->w_cursor.lnum, TRUE);
+ ++n;
+
+ /* If we delete the last line in the file, stop */
+! if (curwin->w_cursor.lnum > curbuf->b_ml.ml_line_count)
+ break;
+ }
+- /* adjust marks, mark the buffer as changed and prepare for displaying */
+- deleted_lines_mark(curwin->w_cursor.lnum, n);
+
+ curwin->w_cursor.col = 0;
+ check_cursor_lnum();
+ }
+
+ int
+--- 2359,2379 ----
+ if (curbuf->b_ml.ml_flags & ML_EMPTY) /* nothing to delete */
+ break;
+
+! ml_delete(first, TRUE);
+ ++n;
+
+ /* If we delete the last line in the file, stop */
+! if (first > curbuf->b_ml.ml_line_count)
+ break;
+ }
+
++ /* Correct the cursor position before calling deleted_lines_mark(), it may
++ * trigger a callback to display the cursor. */
+ curwin->w_cursor.col = 0;
+ check_cursor_lnum();
++
++ /* adjust marks, mark the buffer as changed and prepare for displaying */
++ deleted_lines_mark(first, n);
+ }
+
+ int
+***************
+*** 2621,2626 ****
+--- 2625,2632 ----
+
+ /*
+ * Like deleted_lines(), but adjust marks first.
++ * Make sure the cursor is on a valid line before calling, a GUI callback may
++ * be triggered to display the cursor.
+ */
+ void
+ deleted_lines_mark(lnum, count)
+*** ../vim-7.2.225/src/version.c 2009-07-09 18:24:24.000000000 +0200
+--- src/version.c 2009-07-09 20:01:16.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 226,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+80. At parties, you introduce your spouse as your "service provider."
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/vim/vim-7.2/7.2.227 b/vim/vim-7.2/7.2.227
new file mode 100644
index 0000000..8499212
--- /dev/null
+++ b/vim/vim-7.2/7.2.227
@@ -0,0 +1,52 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.227
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.227
+Problem: When using ":cd" in a script there is no way to track this.
+Solution: Display the directory when 'verbose' is 5 or higher.
+Files: src/ex_docmd.c
+
+
+*** ../vim-7.2.226/src/ex_docmd.c 2009-07-09 20:06:30.000000000 +0200
+--- src/ex_docmd.c 2009-07-09 15:24:03.000000000 +0200
+***************
+*** 7964,7970 ****
+ shorten_fnames(TRUE);
+
+ /* Echo the new current directory if the command was typed. */
+! if (KeyTyped)
+ ex_pwd(eap);
+ }
+ vim_free(tofree);
+--- 7964,7970 ----
+ shorten_fnames(TRUE);
+
+ /* Echo the new current directory if the command was typed. */
+! if (KeyTyped || p_verbose >= 5)
+ ex_pwd(eap);
+ }
+ vim_free(tofree);
+*** ../vim-7.2.226/src/version.c 2009-07-09 20:06:30.000000000 +0200
+--- src/version.c 2009-07-09 20:13:13.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 227,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+83. Batteries in the TV remote now last for months.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/vim/vim-7.2/7.2.228 b/vim/vim-7.2/7.2.228
new file mode 100644
index 0000000..a906bef
--- /dev/null
+++ b/vim/vim-7.2/7.2.228
@@ -0,0 +1,573 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.228
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.228
+Problem: Cscope is limited to 8 connections.
+Solution: Allocated the connection array to handle any number of
+ connections. (Dominique Pelle)
+Files: runtime/doc/if_cscop.txt, src/if_cscope.h, src/if_cscope.c
+
+
+*** ../vim-7.2.227/runtime/doc/if_cscop.txt 2009-03-18 14:30:46.000000000 +0100
+--- runtime/doc/if_cscop.txt 2009-07-09 15:40:48.000000000 +0200
+***************
+*** 355,367 ****
+ The DJGPP-built version from http://cscope.sourceforge.net is known to not
+ work with Vim.
+
+! There are a couple of hard-coded limitations:
+!
+! 1. The maximum number of cscope connections allowed is 8. Do you
+! really need more?
+!
+! 2. Doing a |:tjump| when |:cstag| searches the tag files is not
+! configurable (e.g., you can't do a tselect instead).
+
+ ==============================================================================
+ 6. Suggested usage *cscope-suggestions*
+--- 355,362 ----
+ The DJGPP-built version from http://cscope.sourceforge.net is known to not
+ work with Vim.
+
+! Hard-coded limitation: doing a |:tjump| when |:cstag| searches the tag files
+! is not configurable (e.g., you can't do a tselect instead).
+
+ ==============================================================================
+ 6. Suggested usage *cscope-suggestions*
+*** ../vim-7.2.227/src/if_cscope.h 2008-08-25 04:35:13.000000000 +0200
+--- src/if_cscope.h 2009-07-09 15:39:32.000000000 +0200
+***************
+*** 25,31 ****
+
+ #define CSCOPE_SUCCESS 0
+ #define CSCOPE_FAILURE -1
+- #define CSCOPE_MAX_CONNECTIONS 8 /* you actually need more? */
+
+ #define CSCOPE_DBFILE "cscope.out"
+ #define CSCOPE_PROMPT ">> "
+--- 25,30 ----
+*** ../vim-7.2.227/src/if_cscope.c 2009-05-16 17:29:37.000000000 +0200
+--- src/if_cscope.c 2009-07-09 15:39:32.000000000 +0200
+***************
+*** 46,52 ****
+ static int cs_find __ARGS((exarg_T *eap));
+ static int cs_find_common __ARGS((char *opt, char *pat, int, int, int));
+ static int cs_help __ARGS((exarg_T *eap));
+- static void cs_init __ARGS((void));
+ static void clear_csinfo __ARGS((int i));
+ static int cs_insert_filelist __ARGS((char *, char *, char *,
+ struct stat *));
+--- 46,51 ----
+***************
+*** 66,72 ****
+ static int cs_show __ARGS((exarg_T *eap));
+
+
+! static csinfo_T csinfo[CSCOPE_MAX_CONNECTIONS];
+ static int eap_arg_len; /* length of eap->arg, set in
+ cs_lookup_cmd() */
+ static cscmd_T cs_cmds[] =
+--- 65,74 ----
+ static int cs_show __ARGS((exarg_T *eap));
+
+
+! static csinfo_T * csinfo = NULL;
+! static int csinfo_size = 0; /* number of items allocated in
+! csinfo[] */
+!
+ static int eap_arg_len; /* length of eap->arg, set in
+ cs_lookup_cmd() */
+ static cscmd_T cs_cmds[] =
+***************
+*** 144,166 ****
+ }
+ case EXP_CSCOPE_KILL:
+ {
+! static char_u connection[2];
+
+ /* ":cscope kill" accepts connection numbers or partial names of
+ * the pathname of the cscope database as argument. Only complete
+ * with connection numbers. -1 can also be used to kill all
+ * connections. */
+! for (i = 0, current_idx = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
+ {
+ if (csinfo[i].fname == NULL)
+ continue;
+ if (current_idx++ == idx)
+ {
+! /* Connection number fits in one character since
+! * CSCOPE_MAX_CONNECTIONS is < 10 */
+! connection[0] = i + '0';
+! connection[1] = NUL;
+! return connection;
+ }
+ }
+ return (current_idx == idx && idx > 0) ? (char_u *)"-1" : NULL;
+--- 146,165 ----
+ }
+ case EXP_CSCOPE_KILL:
+ {
+! static char connection[5];
+
+ /* ":cscope kill" accepts connection numbers or partial names of
+ * the pathname of the cscope database as argument. Only complete
+ * with connection numbers. -1 can also be used to kill all
+ * connections. */
+! for (i = 0, current_idx = 0; i < csinfo_size; i++)
+ {
+ if (csinfo[i].fname == NULL)
+ continue;
+ if (current_idx++ == idx)
+ {
+! vim_snprintf(connection, sizeof(connection), "%d", i);
+! return (char_u *)connection;
+ }
+ }
+ return (current_idx == idx && idx > 0) ? (char_u *)"-1" : NULL;
+***************
+*** 223,229 ****
+ {
+ cscmd_T *cmdp;
+
+- cs_init();
+ if ((cmdp = cs_lookup_cmd(eap)) == NULL)
+ {
+ cs_help(eap);
+--- 222,227 ----
+***************
+*** 284,291 ****
+ {
+ int ret = FALSE;
+
+- cs_init();
+-
+ if (*eap->arg == NUL)
+ {
+ (void)EMSG(_("E562: Usage: cstag <ident>"));
+--- 282,287 ----
+***************
+*** 441,447 ****
+ if (num < 0 || num > 4 || (num > 0 && !dbpath))
+ return FALSE;
+
+! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
+ {
+ if (!csinfo[i].fname)
+ continue;
+--- 437,443 ----
+ if (num < 0 || num > 4 || (num > 0 && !dbpath))
+ return FALSE;
+
+! for (i = 0; i < csinfo_size; i++)
+ {
+ if (!csinfo[i].fname)
+ continue;
+***************
+*** 684,690 ****
+ short i;
+ short cnt = 0;
+
+! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
+ {
+ if (csinfo[i].fname != NULL)
+ cnt++;
+--- 680,686 ----
+ short i;
+ short cnt = 0;
+
+! for (i = 0; i < csinfo_size; i++)
+ {
+ if (csinfo[i].fname != NULL)
+ cnt++;
+***************
+*** 1112,1118 ****
+ {
+ int i;
+ char *cmd;
+! int nummatches[CSCOPE_MAX_CONNECTIONS], totmatches;
+ #ifdef FEAT_QUICKFIX
+ char cmdletter;
+ char *qfpos;
+--- 1108,1115 ----
+ {
+ int i;
+ char *cmd;
+! int *nummatches;
+! int totmatches;
+ #ifdef FEAT_QUICKFIX
+ char cmdletter;
+ char *qfpos;
+***************
+*** 1123,1135 ****
+ if (cmd == NULL)
+ return FALSE;
+
+ /* send query to all open connections, then count the total number
+ * of matches so we can alloc matchesp all in one swell foop
+ */
+! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
+ nummatches[i] = 0;
+ totmatches = 0;
+! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
+ {
+ if (csinfo[i].fname == NULL || csinfo[i].to_fp == NULL)
+ continue;
+--- 1120,1136 ----
+ if (cmd == NULL)
+ return FALSE;
+
++ nummatches = (int *)alloc(sizeof(int)*csinfo_size);
++ if (nummatches == NULL)
++ return FALSE;
++
+ /* send query to all open connections, then count the total number
+ * of matches so we can alloc matchesp all in one swell foop
+ */
+! for (i = 0; i < csinfo_size; i++)
+ nummatches[i] = 0;
+ totmatches = 0;
+! for (i = 0; i < csinfo_size; i++)
+ {
+ if (csinfo[i].fname == NULL || csinfo[i].to_fp == NULL)
+ continue;
+***************
+*** 1154,1160 ****
+--- 1155,1164 ----
+ char *buf;
+
+ if (!verbose)
++ {
++ vim_free(nummatches);
+ return FALSE;
++ }
+
+ buf = (char *)alloc((unsigned)(strlen(opt) + strlen(pat) + strlen(nf)));
+ if (buf == NULL)
+***************
+*** 1165,1170 ****
+--- 1169,1175 ----
+ (void)EMSG(buf);
+ vim_free(buf);
+ }
++ vim_free(nummatches);
+ return FALSE;
+ }
+
+***************
+*** 1217,1222 ****
+--- 1222,1228 ----
+ (void)EMSG(buf);
+ vim_free(buf);
+ }
++ vim_free(nummatches);
+ return FALSE;
+ }
+ }
+***************
+*** 1264,1269 ****
+--- 1270,1276 ----
+ }
+ mch_remove(tmp);
+ vim_free(tmp);
++ vim_free(nummatches);
+ return TRUE;
+ }
+ else
+***************
+*** 1275,1280 ****
+--- 1282,1288 ----
+ /* read output */
+ cs_fill_results((char *)pat, totmatches, nummatches, &matches,
+ &contexts, &matched);
++ vim_free(nummatches);
+ if (matches == NULL)
+ return FALSE;
+
+***************
+*** 1328,1353 ****
+ } /* cs_help */
+
+
+- /*
+- * PRIVATE: cs_init
+- *
+- * initialize cscope structure if not already
+- */
+- static void
+- cs_init()
+- {
+- short i;
+- static int init_already = FALSE;
+-
+- if (init_already)
+- return;
+-
+- for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
+- clear_csinfo(i);
+-
+- init_already = TRUE;
+- } /* cs_init */
+-
+ static void
+ clear_csinfo(i)
+ int i;
+--- 1336,1341 ----
+***************
+*** 1444,1450 ****
+ #endif
+
+ i = -1; /* can be set to the index of an empty item in csinfo */
+! for (j = 0; j < CSCOPE_MAX_CONNECTIONS; j++)
+ {
+ if (csinfo[j].fname != NULL
+ #if defined(UNIX)
+--- 1432,1438 ----
+ #endif
+
+ i = -1; /* can be set to the index of an empty item in csinfo */
+! for (j = 0; j < csinfo_size; j++)
+ {
+ if (csinfo[j].fname != NULL
+ #if defined(UNIX)
+***************
+*** 1471,1479 ****
+
+ if (i == -1)
+ {
+! if (p_csverbose)
+! (void)EMSG(_("E569: maximum number of cscope connections reached"));
+! return -1;
+ }
+
+ if ((csinfo[i].fname = (char *)alloc((unsigned)strlen(fname)+1)) == NULL)
+--- 1459,1483 ----
+
+ if (i == -1)
+ {
+! i = csinfo_size;
+! if (csinfo_size == 0)
+! {
+! /* First time allocation: allocate only 1 connection. It should
+! * be enough for most users. If more is needed, csinfo will be
+! * reallocated. */
+! csinfo_size = 1;
+! csinfo = (csinfo_T *)alloc_clear(sizeof(csinfo_T));
+! }
+! else
+! {
+! /* Reallocate space for more connections. */
+! csinfo_size *= 2;
+! csinfo = vim_realloc(csinfo, sizeof(csinfo_T)*csinfo_size);
+! }
+! if (csinfo == NULL)
+! return -1;
+! for (j = csinfo_size/2; j < csinfo_size; j++)
+! clear_csinfo(j);
+ }
+
+ if ((csinfo[i].fname = (char *)alloc((unsigned)strlen(fname)+1)) == NULL)
+***************
+*** 1580,1594 ****
+ /* It must be part of a name. We will try to find a match
+ * within all the names in the csinfo data structure
+ */
+! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
+ {
+ if (csinfo[i].fname != NULL && strstr(csinfo[i].fname, stok))
+ break;
+ }
+ }
+
+! if ((i >= CSCOPE_MAX_CONNECTIONS || i < -1 || csinfo[i].fname == NULL)
+! && i != -1)
+ {
+ if (p_csverbose)
+ (void)EMSG2(_("E261: cscope connection %s not found"), stok);
+--- 1584,1597 ----
+ /* It must be part of a name. We will try to find a match
+ * within all the names in the csinfo data structure
+ */
+! for (i = 0; i < csinfo_size; i++)
+ {
+ if (csinfo[i].fname != NULL && strstr(csinfo[i].fname, stok))
+ break;
+ }
+ }
+
+! if ((i != -1) && (i >= csinfo_size || i < -1 || csinfo[i].fname == NULL))
+ {
+ if (p_csverbose)
+ (void)EMSG2(_("E261: cscope connection %s not found"), stok);
+***************
+*** 1597,1603 ****
+ {
+ if (i == -1)
+ {
+! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
+ {
+ if (csinfo[i].fname)
+ cs_kill_execute(i, csinfo[i].fname);
+--- 1600,1606 ----
+ {
+ if (i == -1)
+ {
+! for (i = 0; i < csinfo_size; i++)
+ {
+ if (csinfo[i].fname)
+ cs_kill_execute(i, csinfo[i].fname);
+***************
+*** 1857,1863 ****
+ if (buf == NULL)
+ return;
+
+! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
+ {
+ if (nummatches_a[i] < 1)
+ continue;
+--- 1860,1866 ----
+ if (buf == NULL)
+ return;
+
+! for (i = 0; i < csinfo_size; i++)
+ {
+ if (nummatches_a[i] < 1)
+ continue;
+***************
+*** 1929,1935 ****
+ if ((cntxts = (char **)alloc(sizeof(char *) * totmatches)) == NULL)
+ goto parse_out;
+
+! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
+ {
+ if (nummatches_a[i] < 1)
+ continue;
+--- 1932,1938 ----
+ if ((cntxts = (char **)alloc(sizeof(char *) * totmatches)) == NULL)
+ goto parse_out;
+
+! for (i = 0; i < csinfo_size; i++)
+ {
+ if (nummatches_a[i] < 1)
+ continue;
+***************
+*** 2383,2392 ****
+ int i;
+ char buf[20]; /* for sprintf " (#%d)" */
+
+ /* malloc our db and ppath list */
+! dblist = (char **)alloc(CSCOPE_MAX_CONNECTIONS * sizeof(char *));
+! pplist = (char **)alloc(CSCOPE_MAX_CONNECTIONS * sizeof(char *));
+! fllist = (char **)alloc(CSCOPE_MAX_CONNECTIONS * sizeof(char *));
+ if (dblist == NULL || pplist == NULL || fllist == NULL)
+ {
+ vim_free(dblist);
+--- 2386,2398 ----
+ int i;
+ char buf[20]; /* for sprintf " (#%d)" */
+
++ if (csinfo_size == 0)
++ return CSCOPE_SUCCESS;
++
+ /* malloc our db and ppath list */
+! dblist = (char **)alloc(csinfo_size * sizeof(char *));
+! pplist = (char **)alloc(csinfo_size * sizeof(char *));
+! fllist = (char **)alloc(csinfo_size * sizeof(char *));
+ if (dblist == NULL || pplist == NULL || fllist == NULL)
+ {
+ vim_free(dblist);
+***************
+*** 2395,2401 ****
+ return CSCOPE_FAILURE;
+ }
+
+! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
+ {
+ dblist[i] = csinfo[i].fname;
+ pplist[i] = csinfo[i].ppath;
+--- 2401,2407 ----
+ return CSCOPE_FAILURE;
+ }
+
+! for (i = 0; i < csinfo_size; i++)
+ {
+ dblist[i] = csinfo[i].fname;
+ pplist[i] = csinfo[i].ppath;
+***************
+*** 2405,2411 ****
+ }
+
+ /* rebuild the cscope connection list */
+! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
+ {
+ if (dblist[i] != NULL)
+ {
+--- 2411,2417 ----
+ }
+
+ /* rebuild the cscope connection list */
+! for (i = 0; i < csinfo_size; i++)
+ {
+ if (dblist[i] != NULL)
+ {
+***************
+*** 2502,2508 ****
+ MSG_PUTS_ATTR(
+ _(" # pid database name prepend path\n"),
+ hl_attr(HLF_T));
+! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
+ {
+ if (csinfo[i].fname == NULL)
+ continue;
+--- 2508,2514 ----
+ MSG_PUTS_ATTR(
+ _(" # pid database name prepend path\n"),
+ hl_attr(HLF_T));
+! for (i = 0; i < csinfo_size; i++)
+ {
+ if (csinfo[i].fname == NULL)
+ continue;
+***************
+*** 2531,2538 ****
+ {
+ int i;
+
+! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
+ cs_release_csp(i, TRUE);
+ }
+
+ #endif /* FEAT_CSCOPE */
+--- 2537,2546 ----
+ {
+ int i;
+
+! for (i = 0; i < csinfo_size; i++)
+ cs_release_csp(i, TRUE);
++ vim_free(csinfo);
++ csinfo_size = 0;
+ }
+
+ #endif /* FEAT_CSCOPE */
+*** ../vim-7.2.227/src/version.c 2009-07-09 20:13:59.000000000 +0200
+--- src/version.c 2009-07-09 21:21:48.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 228,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+84. Books in your bookcase bear the names Bongo, WinSock and Inside OLE
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/vim/vim-7.2/7.2.229 b/vim/vim-7.2/7.2.229
new file mode 100644
index 0000000..bafaef0
--- /dev/null
+++ b/vim/vim-7.2/7.2.229
@@ -0,0 +1,60 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.229
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.229
+Problem: Warning for shadowed variable.
+Solution: Rename "wait" to "wait_time".
+Files: src/os_unix.c
+
+
+*** ../vim-7.2.228/src/os_unix.c 2009-06-16 15:12:11.000000000 +0200
+--- src/os_unix.c 2009-07-09 16:24:14.000000000 +0200
+***************
+*** 1138,1147 ****
+ * to happen).
+ */
+ {
+! long wait;
+! for (wait = 0; !sigcont_received && wait <= 3L; wait++)
+ /* Loop is not entered most of the time */
+! mch_delay(wait, FALSE);
+ }
+ # endif
+
+--- 1138,1147 ----
+ * to happen).
+ */
+ {
+! long wait_time;
+! for (wait_time = 0; !sigcont_received && wait_time <= 3L; wait_time++)
+ /* Loop is not entered most of the time */
+! mch_delay(wait_time, FALSE);
+ }
+ # endif
+
+*** ../vim-7.2.228/src/version.c 2009-07-09 21:22:36.000000000 +0200
+--- src/version.c 2009-07-14 12:18:21.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 229,
+ /**/
+
+--
+From "know your smileys":
+ :-) Funny
+ |-) Funny Oriental
+ (-: Funny Australian
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/vim/vim-7.2/7.2.230 b/vim/vim-7.2/7.2.230
new file mode 100644
index 0000000..32379d2
--- /dev/null
+++ b/vim/vim-7.2/7.2.230
@@ -0,0 +1,87 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.230
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.230
+Problem: A few old lint-style ARGUSED comments.
+Solution: Change to the new UNUSED style.
+Files: src/getchar.c
+
+
+*** ../vim-7.2.229/src/getchar.c 2009-07-09 18:24:24.000000000 +0200
+--- src/getchar.c 2009-07-09 18:09:13.000000000 +0200
+***************
+*** 3708,3718 ****
+ * Clear all mappings or abbreviations.
+ * 'abbr' should be FALSE for mappings, TRUE for abbreviations.
+ */
+- /*ARGSUSED*/
+ void
+ map_clear(cmdp, arg, forceit, abbr)
+ char_u *cmdp;
+! char_u *arg;
+ int forceit;
+ int abbr;
+ {
+--- 3708,3717 ----
+ * Clear all mappings or abbreviations.
+ * 'abbr' should be FALSE for mappings, TRUE for abbreviations.
+ */
+ void
+ map_clear(cmdp, arg, forceit, abbr)
+ char_u *cmdp;
+! char_u *arg UNUSED;
+ int forceit;
+ int abbr;
+ {
+***************
+*** 3741,3753 ****
+ /*
+ * Clear all mappings in "mode".
+ */
+- /*ARGSUSED*/
+ void
+ map_clear_int(buf, mode, local, abbr)
+! buf_T *buf; /* buffer for local mappings */
+! int mode; /* mode in which to delete */
+! int local; /* TRUE for buffer-local mappings */
+! int abbr; /* TRUE for abbreviations */
+ {
+ mapblock_T *mp, **mpp;
+ int hash;
+--- 3740,3751 ----
+ /*
+ * Clear all mappings in "mode".
+ */
+ void
+ map_clear_int(buf, mode, local, abbr)
+! buf_T *buf UNUSED; /* buffer for local mappings */
+! int mode; /* mode in which to delete */
+! int local UNUSED; /* TRUE for buffer-local mappings */
+! int abbr; /* TRUE for abbreviations */
+ {
+ mapblock_T *mp, **mpp;
+ int hash;
+*** ../vim-7.2.229/src/version.c 2009-07-14 12:20:28.000000000 +0200
+--- src/version.c 2009-07-14 13:44:05.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 230,
+ /**/
+
+--
+From "know your smileys":
+ :~) A man with a tape recorder up his nose
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/vim/vim-7.2/7.2.231 b/vim/vim-7.2/7.2.231
new file mode 100644
index 0000000..0f9a6d1
--- /dev/null
+++ b/vim/vim-7.2/7.2.231
@@ -0,0 +1,49 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.231
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.231
+Problem: Warning for unreacheable code.
+Solution: Add #ifdef.
+Files: src/if_perl.xs
+
+
+*** ../vim-7.2.230/src/if_perl.xs 2009-07-09 20:06:30.000000000 +0200
+--- src/if_perl.xs 2009-07-09 13:02:16.000000000 +0200
+***************
+*** 720,728 ****
+--- 720,730 ----
+ #ifdef HAVE_SANDBOX
+ if (sandbox)
+ {
++ # ifndef MAKE_TEST /* avoid a warning for unreachable code */
+ if ((safe = perl_get_sv( "VIM::safe", FALSE )) == NULL || !SvTRUE(safe))
+ EMSG(_("E299: Perl evaluation forbidden in sandbox without the Safe module"));
+ else
++ # endif
+ {
+ PUSHMARK(SP);
+ XPUSHs(safe);
+*** ../vim-7.2.230/src/version.c 2009-07-14 13:44:43.000000000 +0200
+--- src/version.c 2009-07-14 16:04:07.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 231,
+ /**/
+
+--
+From "know your smileys":
+ ~#:-( I just washed my hair, and I can't do nuthin' with it.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/vim/vim-7.2/7.2.232 b/vim/vim-7.2/7.2.232
new file mode 100644
index 0000000..02727c7
--- /dev/null
+++ b/vim/vim-7.2/7.2.232
@@ -0,0 +1,102 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.232
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.232
+Problem: Cannot debug problems with being in a wrong directory.
+Solution: When 'verbose' is 5 or higher report directory changes.
+Files: src/os_unix.c, src/os_unix.h, src/proto/os_unix.pro
+
+
+*** ../vim-7.2.231/src/os_unix.c 2009-07-14 12:20:28.000000000 +0200
+--- src/os_unix.c 2009-07-14 17:13:15.000000000 +0200
+***************
+*** 319,324 ****
+--- 319,341 ----
+ {-1, "Unknown!", FALSE}
+ };
+
++ int
++ mch_chdir(path)
++ char *path;
++ {
++ if (p_verbose >= 5)
++ {
++ verbose_enter();
++ smsg((char_u *)"chdir(%s)", path);
++ verbose_leave();
++ }
++ # ifdef VMS
++ return chdir(vms_fixfilename(path));
++ # else
++ return chdir(path);
++ # endif
++ }
++
+ /*
+ * Write s[len] to the screen.
+ */
+***************
+*** 2424,2429 ****
+--- 2441,2452 ----
+ #ifdef HAVE_FCHDIR
+ if (fd >= 0)
+ {
++ if (p_verbose >= 5)
++ {
++ verbose_enter();
++ MSG("fchdir() to previous dir");
++ verbose_leave();
++ }
+ l = fchdir(fd);
+ close(fd);
+ }
+*** ../vim-7.2.231/src/os_unix.h 2009-05-16 16:36:25.000000000 +0200
+--- src/os_unix.h 2009-07-14 16:55:05.000000000 +0200
+***************
+*** 482,492 ****
+ # else
+ int mch_rename __ARGS((const char *src, const char *dest));
+ # endif
+- # ifdef VMS
+- # define mch_chdir(s) chdir(vms_fixfilename(s))
+- # else
+- # define mch_chdir(s) chdir(s)
+- # endif
+ # ifndef VMS
+ # ifdef __MVS__
+ /* on OS390 Unix getenv() doesn't return a pointer to persistent
+--- 482,487 ----
+*** ../vim-7.2.231/src/proto/os_unix.pro 2008-06-24 23:58:57.000000000 +0200
+--- src/proto/os_unix.pro 2009-07-14 16:58:08.000000000 +0200
+***************
+*** 1,4 ****
+--- 1,5 ----
+ /* os_unix.c */
++ int mch_chdir __ARGS((char *path));
+ void mch_write __ARGS((char_u *s, int len));
+ int mch_inchar __ARGS((char_u *buf, int maxlen, long wtime, int tb_change_cnt));
+ int mch_char_avail __ARGS((void));
+*** ../vim-7.2.231/src/version.c 2009-07-14 16:05:14.000000000 +0200
+--- src/version.c 2009-07-14 17:37:15.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 232,
+ /**/
+
+--
+From "know your smileys":
+ O:-) Saint
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/vim/vim-7.2/7.2.233 b/vim/vim-7.2/7.2.233
new file mode 100644
index 0000000..f9fbd84
--- /dev/null
+++ b/vim/vim-7.2/7.2.233
@@ -0,0 +1,96 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.233 (extra)
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.233 (extra part of 7.2.232)
+Problem: Cannot debug problems with being in a wrong directory.
+Solution: When 'verbose' is 5 or higher report directory changes.
+Files: src/os_msdos.c, src/os_mswin.c, src/os_riscos.c, src/os_mac.h
+
+
+*** ../vim-7.2.232/src/os_msdos.c 2008-06-24 23:30:18.000000000 +0200
+--- src/os_msdos.c 2009-07-14 16:50:57.000000000 +0200
+***************
+*** 2039,2044 ****
+--- 2039,2050 ----
+ {
+ if (path[0] == NUL) /* just checking... */
+ return 0;
++ if (p_verbose >= 5)
++ {
++ verbose_enter();
++ smsg((char_u *)"chdir(%s)", path);
++ verbose_leave();
++ }
+ if (path[1] == ':') /* has a drive name */
+ {
+ if (change_drive(TOLOWER_ASC(path[0]) - 'a' + 1))
+*** ../vim-7.2.232/src/os_mswin.c 2009-05-14 22:00:37.000000000 +0200
+--- src/os_mswin.c 2009-07-14 16:53:03.000000000 +0200
+***************
+*** 653,658 ****
+--- 653,664 ----
+ if (path[0] == NUL) /* just checking... */
+ return -1;
+
++ if (p_verbose >= 5)
++ {
++ verbose_enter();
++ smsg((char_u *)"chdir(%s)", path);
++ verbose_leave();
++ }
+ if (isalpha(path[0]) && path[1] == ':') /* has a drive name */
+ {
+ /* If we can change to the drive, skip that part of the path. If we
+*** ../vim-7.2.232/src/os_riscos.c 2006-03-07 23:25:50.000000000 +0100
+--- src/os_riscos.c 2009-07-14 16:53:35.000000000 +0200
+***************
+*** 1203,1208 ****
+--- 1203,1214 ----
+ int retval;
+ char_u *new_dir;
+
++ if (p_verbose >= 5)
++ {
++ verbose_enter();
++ smsg((char_u *)"chdir(%s)", dir);
++ verbose_leave();
++ }
+ length = strlen(dir);
+ if (dir[length - 1] != '.')
+ return chdir(dir); /* No trailing dots - nothing to do. */
+*** ../vim-7.2.232/src/os_mac.h 2009-06-24 16:41:01.000000000 +0200
+--- src/os_mac.h 2009-07-14 16:54:33.000000000 +0200
+***************
+*** 291,297 ****
+ # define HAVE_SETENV
+ # define HAVE_RENAME
+ # endif
+- # define mch_chdir(s) chdir(s)
+ #endif
+
+ #if defined(MACOS_X) && !defined(HAVE_CONFIG_H)
+--- 291,296 ----
+*** ../vim-7.2.232/src/version.c 2009-07-14 17:38:51.000000000 +0200
+--- src/version.c 2009-07-14 18:35:30.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 233,
+ /**/
+
+--
+From "know your smileys":
+ :-O>-o Smiley American tourist (note big mouth and camera)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/vim/vim-7.2/7.2.234 b/vim/vim-7.2/7.2.234
new file mode 100644
index 0000000..dd44d5d
--- /dev/null
+++ b/vim/vim-7.2/7.2.234
@@ -0,0 +1,111 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.234
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.234
+Problem: It is not possible to ignore file names without a suffix.
+Solution: Use an empty entry in 'suffixes' for file names without a dot.
+Files: runtime/doc/cmdline.txt, src/misc1.c
+
+
+*** ../vim-7.2.233/runtime/doc/cmdline.txt 2008-11-09 13:43:25.000000000 +0100
+--- runtime/doc/cmdline.txt 2009-07-14 13:35:56.000000000 +0200
+***************
+*** 441,453 ****
+ those files with an extension that is in the 'suffixes' option are ignored.
+ The default is ".bak,~,.o,.h,.info,.swp,.obj", which means that files ending
+ in ".bak", "~", ".o", ".h", ".info", ".swp" and ".obj" are sometimes ignored.
+! It is impossible to ignore suffixes with two dots. Examples:
+
+ pattern: files: match: ~
+ test* test.c test.h test.o test.c
+ test* test.h test.o test.h and test.o
+ test* test.i test.h test.c test.i and test.c
+
+ If there is more than one matching file (after ignoring the ones matching
+ the 'suffixes' option) the first file name is inserted. You can see that
+ there is only one match when you type 'wildchar' twice and the completed
+--- 439,458 ----
+ those files with an extension that is in the 'suffixes' option are ignored.
+ The default is ".bak,~,.o,.h,.info,.swp,.obj", which means that files ending
+ in ".bak", "~", ".o", ".h", ".info", ".swp" and ".obj" are sometimes ignored.
+!
+! An empty entry, two consecutive commas, match a file name that does not
+! contain a ".", thus has no suffix. This is useful to ignore "prog" and prefer
+! "prog.c".
+!
+! Examples:
+
+ pattern: files: match: ~
+ test* test.c test.h test.o test.c
+ test* test.h test.o test.h and test.o
+ test* test.i test.h test.c test.i and test.c
+
++ It is impossible to ignore suffixes with two dots.
++
+ If there is more than one matching file (after ignoring the ones matching
+ the 'suffixes' option) the first file name is inserted. You can see that
+ there is only one match when you type 'wildchar' twice and the completed
+*** ../vim-7.2.233/src/misc1.c 2009-07-09 20:06:30.000000000 +0200
+--- src/misc1.c 2009-07-14 15:51:55.000000000 +0200
+***************
+*** 8533,8543 ****
+ for (setsuf = p_su; *setsuf; )
+ {
+ setsuflen = copy_option_part(&setsuf, suf_buf, MAXSUFLEN, ".,");
+! if (fnamelen >= setsuflen
+! && fnamencmp(suf_buf, fname + fnamelen - setsuflen,
+! (size_t)setsuflen) == 0)
+! break;
+! setsuflen = 0;
+ }
+ return (setsuflen != 0);
+ }
+--- 8534,8558 ----
+ for (setsuf = p_su; *setsuf; )
+ {
+ setsuflen = copy_option_part(&setsuf, suf_buf, MAXSUFLEN, ".,");
+! if (setsuflen == 0)
+! {
+! char_u *tail = gettail(fname);
+!
+! /* empty entry: match name without a '.' */
+! if (vim_strchr(tail, '.') == NULL)
+! {
+! setsuflen = 1;
+! break;
+! }
+! }
+! else
+! {
+! if (fnamelen >= setsuflen
+! && fnamencmp(suf_buf, fname + fnamelen - setsuflen,
+! (size_t)setsuflen) == 0)
+! break;
+! setsuflen = 0;
+! }
+ }
+ return (setsuflen != 0);
+ }
+*** ../vim-7.2.233/src/version.c 2009-07-14 18:38:09.000000000 +0200
+--- src/version.c 2009-07-14 21:38:30.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 234,
+ /**/
+
+--
+How many light bulbs does it take to change a person?
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/vim/vimrc b/vim/vimrc
new file mode 100644
index 0000000..55fbc38
--- /dev/null
+++ b/vim/vimrc
@@ -0,0 +1,16 @@
+" All system-wide defaults are set in $VIMRUNTIME/archlinux.vim (usually just
+" /usr/share/vim/vimcurrent/archlinux.vim) and sourced by the call to :runtime
+" you can find below. If you wish to change any of those settings, you should
+" do it in this file (/etc/vimrc), since archlinux.vim will be overwritten
+" everytime an upgrade of the vim packages is performed. It is recommended to
+" make changes after sourcing archlinux.vim since it alters the value of the
+" 'compatible' option.
+
+" This line should not be removed as it ensures that various options are
+" properly set to work with the Vim-related packages available in Debian.
+runtime! archlinux.vim
+
+
+" For more option refer to /usr/share/vim/vimcurrent/vimrc_example.vim or the
+" vim manual
+
diff --git a/vlc-git/PKGBUILD b/vlc-git/PKGBUILD
index 35e57df..15610fc 100644
--- a/vlc-git/PKGBUILD
+++ b/vlc-git/PKGBUILD
@@ -1,23 +1,24 @@
-#Contributor: MacWolf <macwolf@archlinux.de>
+# Maintainer: Arkham <arkham at archlinux dot us>
+# Contributor: MacWolf <macwolf@archlinux.de>
pkgname=vlc-git
-pkgver=20090518
+pkgver=20090820
pkgrel=1
pkgdesc="VideoLAN Client is a multi-platform MPEG, VCD/DVD, and DivX player.Development GIT Version."
+arch=('i686' 'x86_64')
+url="http://www.videolan.org/vlc/"
+license=('GPL')
depends=('libmad' 'libmpeg2' 'ffmpeg' \
- 'hal' 'fluidsynth' 'zvbi' 'lua'\
+ 'hal' 'fluidsynth' 'lua' 'libass' \
'libdvbpsi' 'fribidi' 'sysfsutils' \
'libdvdnav' 'libnotify' 'libdvdread' \
'libmatroska' 'libcddb' 'libmpcdec'\
'faad2' 'qt' 'libmodplug' 'speex' 'sdl_image' \
- 'libxml2' 'libdca' 'libxv' 'avahi' 'taglib')
-arch=(i686 x86_64)
+ 'libxml2' 'libdca' 'libxv' 'avahi' 'taglib')
makedepends=('a52dec' 'make' 'm4' 'pkgconfig' 'automake' 'autoconf' 'git' 'live-media>=2008.09.02')
-install=vlc.install
-url="http://www.videolan.org/vlc/"
-license=(GPL)
conflicts=('vlc' 'vlc-svn' 'vlc-nightly')
provides=('vlc' 'vlc-svn' 'vlc-nightly')
+install=vlc.install
source=()
md5sums=()
@@ -25,68 +26,68 @@ _gitroot=git://git.videolan.org/vlc.git
_gitname=vlc
build() {
-cd $startdir/src
+ cd $startdir/src
-if [ -d $_gitname ]; then
- cd $_gitname && git pull origin
- cd ..
-else
- git clone $_gitroot
-fi
+ if [ -d $_gitname ]; then
+ cd $_gitname && git pull origin
+ cd ..
+ else
+ git clone $_gitroot
+ fi
-rm -rf $_gitname-build
-#cp -r $_gitname $_gitname-build
-git clone $_gitname $_gitname-build
+ rm -rf $_gitname-build
+ git clone $_gitname $_gitname-build
-msg "GIT checkout done or server timeout"
+ msg "GIT checkout done or server timeout"
-cd $_gitname-build
+ cd $_gitname-build
-msg "Generating necessary files"
+ msg "Generating necessary files"
-./bootstrap
+ ./bootstrap
-msg "Generating done."
+ msg "Generating done."
-msg "Starting make..."
+ msg "Starting make..."
- [ "${CARCH}" = "i686" ] && EXTRAFEATURES="--enable-loader --disable-live555 --with-live555-tree=/usr/lib/live-media"
- [ "${CARCH}" = "x86_64" ] && EXTRAFEATURES="--enable-fast-install --enable-live555 --with-live555-tree=/usr/lib/live-media"
+ [ "${CARCH}" = "i686" ] && EXTRAFEATURES="--enable-loader --disable-live555 --with-live555-tree=/usr/lib/live-media"
+ [ "${CARCH}" = "x86_64" ] && EXTRAFEATURES="--enable-fast-install --enable-live555 --with-live555-tree=/usr/lib/live-media"
-./configure --prefix=/usr --prefix=/usr \
- --enable-dvdread \
- --enable-dvdnav \
- --disable-rpath \
- --enable-qt4 \
- --enable-faad \
- --enable-alsa \
- --enable-skins2 \
- --enable-dvb \
- --enable-v4l \
- --enable-theora \
- --enable-flac \
- --enable-snapshot \
- --enable-hal \
- --enable-dbus \
- --enable-ogg \
- --enable-dbus-control \
- --enable-shared \
- --enable-nls \
- --enable-lirc \
- --enable-shout \
- --enable-pvr \
- --enable-release \
- --disable-zvbi \
- --program-suffix= \
- --with-dv-raw1394=/usr/include/libraw1394 ${EXTRAFEATURES} || return 1
+ ./configure --prefix=/usr --prefix=/usr \
+ --enable-dvdread \
+ --enable-dvdnav \
+ --disable-rpath \
+ --enable-qt4 \
+ --enable-faad \
+ --enable-alsa \
+ --enable-skins2 \
+ --enable-dvb \
+ --enable-v4l \
+ --enable-theora \
+ --enable-flac \
+ --enable-snapshot \
+ --enable-hal \
+ --enable-dbus \
+ --enable-ogg \
+ --enable-dbus-control \
+ --enable-shared \
+ --enable-nls \
+ --enable-lirc \
+ --enable-shout \
+ --enable-pvr \
+ --enable-release \
+ --enable-libass \
+ --disable-zvbi \
+ --program-suffix= \
+ --with-dv-raw1394=/usr/include/libraw1394 ${EXTRAFEATURES} || return 1
- CFLAGS="-fPIC"
- make || return 1
- make DESTDIR=$startdir/pkg install || return 1
+ CFLAGS="$CFLAGS -fPIC"
+ make || return 1
+ make DESTDIR=$startdir/pkg install || return 1
- for res in 16 32 48; do
- install -D -m644 share/vlc${res}x${res}.png \
- $startdir/pkg/usr/share/icons/hicolor/${res}x${res}/apps/vlc.png || return 1
- done
- rm -rf ${startdir}/pkg/usr/lib/mozilla
+ for res in 16 32 48; do
+ install -D -m644 share/vlc${res}x${res}.png \
+ $startdir/pkg/usr/share/icons/hicolor/${res}x${res}/apps/vlc.png || return 1
+ done
+ rm -rf ${startdir}/pkg/usr/lib/mozilla
}
diff --git a/warzone-svn/PKGBUILD b/warzone-svn/PKGBUILD
index c8334ce..ba41f7a 100644
--- a/warzone-svn/PKGBUILD
+++ b/warzone-svn/PKGBUILD
@@ -1,8 +1,8 @@
-# Maintainer: Ju Liu <liuju86 at gmail dot com>
+# Maintainer: Arkham <arkham at archlinux dot us>
# Contributor: Markus Pargmann <scosu@gmx.de>
pkgname=warzone-svn
-pkgver=7703
+pkgver=7830
pkgrel=1
pkgdesc="3D realtime strategy game on a future Earth (svn version)"
arch=('i686' 'x86_64')
diff --git a/wireshark/PKGBUILD b/wireshark/PKGBUILD
new file mode 100644
index 0000000..56ac8b7
--- /dev/null
+++ b/wireshark/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id$
+# Maintainer: Hugo Doria <hugo@archlinux.org>
+
+pkgname=wireshark
+pkgver=1.2.1
+pkgrel=1
+pkgdesc="A free network protocol analyzer for Unix/Linux and Windows"
+arch=('i686' 'x86_64')
+license=('GPL2')
+depends=('gtk2>=2.14.5' 'heimdal>=1.2.1' 'libpcap>=1.0.0' 'bash' 'gnutls>=2.4.1' 'libcap>=2.16')
+makedepends=('bison' 'flex')
+url="http://www.wireshark.org/"
+replaces=('ethereal')
+options=(!libtool)
+source=(http://www.wireshark.org/download/src/${pkgname}-${pkgver}.tar.gz wireshark.desktop wireshark.png)
+md5sums=('56d760eeec0001b9a0b816ace3e99e44'
+ '504ede44c02b2a52f6cbd3bffdf93b8d'
+ 'e771800a8c977fe223583a453bc27397')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ export CFLAGS="-fno-unit-at-a-time ${CFLAGS}"
+ ./configure --prefix=/usr --with-ssl || return 1
+ make all || return 1
+ make DESTDIR=${pkgdir} install || return 1
+
+ install -Dm644 ${srcdir}/wireshark.png ${pkgdir}/usr/share/icons/wireshark.png
+ install -Dm644 ${srcdir}/wireshark.desktop ${pkgdir}/usr/share/applications/wireshark.desktop
+}
diff --git a/wireshark/wireshark.desktop b/wireshark/wireshark.desktop
new file mode 100644
index 0000000..f4317f6
--- /dev/null
+++ b/wireshark/wireshark.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Encoding=UTF-8
+GenericName=Wireshark
+Comment=Network protocol analyzer
+Name=wireshark
+Exec=wireshark
+Icon=/usr/share/icons/wireshark.png
+Type=Application
+Terminal=false
+Categories=Application;Network;
diff --git a/wireshark/wireshark.png b/wireshark/wireshark.png
new file mode 100644
index 0000000..4e40263
--- /dev/null
+++ b/wireshark/wireshark.png
Binary files differ