diff options
author | Florian Pritz <bluewind@xssn.at> | 2009-08-20 00:51:51 +0200 |
---|---|---|
committer | Florian Pritz <bluewind@xssn.at> | 2009-08-20 00:51:51 +0200 |
commit | 168118db7c4b1fd03547440cc5359a6d1a2f4fd4 (patch) | |
tree | 6f2521b0d50d70a396dc969e803d0d11f8d33eeb | |
parent | 702a3d5b092feb07625958a31dc225863319a10e (diff) | |
download | aur-packages-168118db7c4b1fd03547440cc5359a6d1a2f4fd4.tar.gz aur-packages-168118db7c4b1fd03547440cc5359a6d1a2f4fd4.tar.xz |
mass update
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 Binary files differnew file mode 100644 index 0000000..4e40263 --- /dev/null +++ b/wireshark/wireshark.png |